Repository URL to install this package:
Version:
1.16.0 ▾
|
mirrorsu (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_state_symbol"); var l=b.ImportNow("promise_result_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, Eval:7, }; 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(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(); }; FunctionMirror.prototype.context=function(){ if(this.resolved()){ if(!this._context) this._context=new ContextMirror(%FunctionGetContextData(this.value_)); return this._context; } }; 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<-1)return"running"; if(aj==-1)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.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.toText=function(){ if((typeof(this.name_)==='symbol'))return %SymbolDescriptiveString(this.name_); 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.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_; }; 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.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 aJ=this.receiver(); if(this.isConstructCall()){ S+='new '; S+=aF.name()?aF.name():'[anonymous]'; }else if(this.isDebuggerFrame()){ S+='[debugger]'; }else{ var aK= !aJ.className||(aJ.className()!='global'); if(aK){ S+=aJ.toText(); } var Q=GetUndefinedMirror(); if(aJ.isObject()){ for(var aL=aJ; !aL.isNull()&&Q.isUndefined(); aL=aL.protoObject()){ Q=aL.lookupProperty(aF); } } if(!Q.isUndefined()){ if(!Q.isIndexed()){ if(aK){ S+='.'; } S+=Q.toText(); }else{ S+='['; S+=Q.toText(); S+=']'; } if(aF.name()&&aF.name()!=Q.name()){ S+='(aka '+aF.name()+')'; } }else{ if(aK){ 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 aM=this.localCount(); if(aM>0){ for(var N=0;N<aM;++N){ S+=' var '; S+=this.localName(N); S+=' = '; S+=this.localValue(N).toText(); if(N<aM-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(aN){ var S=''; S+='#'+(this.index()<=9?'0':'')+this.index(); S+=' '; S+=this.invocationText(); S+=' '; S+=this.sourceAndPositionText(); if(aN){ S+='\n'; S+=this.localsText(); } return S; }; var aO=0; var aP=1; var aQ=2; var aR=3; var aS=4; var aT=5; function ScopeDetails(aU,aV,V,aW){ if(aU){ this.break_id_=aU.break_id_; this.details_=aW|| %GetScopeDetails(aU.break_id_, aU.details_.frameId(), aU.details_.inlinedFrameIndex(), V); this.frame_id_=aU.details_.frameId(); this.inlined_frame_id_=aU.details_.inlinedFrameIndex(); }else{ this.details_=aW||%GetFunctionScopeDetails(aV.value(),V); this.fun_value_=aV.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_[aO]; }; ScopeDetails.prototype.object=function(){ if(!(this.break_id_===(void 0))){ %CheckExecutionState(this.break_id_); } return this.details_[aP]; }; ScopeDetails.prototype.name=function(){ if(!(this.break_id_===(void 0))){ %CheckExecutionState(this.break_id_); } return this.details_[aQ]; }; ScopeDetails.prototype.startPosition=function(){ if(!(this.break_id_===(void 0))){ %CheckExecutionState(this.break_id_); } return this.details_[aR]; } ScopeDetails.prototype.endPosition=function(){ if(!(this.break_id_===(void 0))){ %CheckExecutionState(this.break_id_); } return this.details_[aS]; } ScopeDetails.prototype.func=function(){ if(!(this.break_id_===(void 0))){ %CheckExecutionState(this.break_id_); } return this.details_[aT]; } ScopeDetails.prototype.setVariableValueImpl=function(O,aX){ var aY; if(!(this.break_id_===(void 0))){ %CheckExecutionState(this.break_id_); aY=%SetScopeVariableValue(this.break_id_,this.frame_id_, this.inlined_frame_id_,this.index_,O,aX); }else{ aY=%SetScopeVariableValue(this.fun_value_,null,null,this.index_, O,aX); } if(!aY)throw g(2,"Failed to set variable value"); }; function ScopeMirror(aU,aV,V,aW){ %_Call(Mirror,this,q.SCOPE_TYPE); if(aU){ this.frame_index_=aU.index_; }else{ this.frame_index_=(void 0); } this.scope_index_=V; this.details_=new ScopeDetails(aU,aV,V,aW); } 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,aX){ this.details_.setVariableValueImpl(O,aX); }; 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(aZ){ %DebugSetScriptSource(this.script_,aZ); }; 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(ba,bb){ return this.script_.sourceSlice(ba,bb); }; 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 bc=this.evalFromScript(); if(!bc.isUndefined()){ var bd=this.script_.eval_from_script_position; return bc.locationFromPosition(bd,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(be){ %_Call(Mirror,this,q.CONTEXT_TYPE); this.data_=be; this.allocateHandle_(); } inherits(ContextMirror,Mirror); ContextMirror.prototype.data=function(){ return this.data_; }; function MakeMirrorSerializer(P,bf){ return new JSONProtocolSerializer(P,bf); } function JSONProtocolSerializer(P,bf){ this.details_=P; this.options_=bf; this.mirrors_=[]; } JSONProtocolSerializer.prototype.serializeReference=function(x){ return this.serialize_(x,true,true); }; JSONProtocolSerializer.prototype.serializeValue=function(x){ var bg=this.serialize_(x,false,true); return bg; }; JSONProtocolSerializer.prototype.serializeReferencedObjects=function(){ var bh=[]; var bi=this.mirrors_.length; for(var N=0;N<bi;N++){ bh.push(this.serialize_(this.mirrors_[N],false,false)); } return bh; }; 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 bj={}; bj.ref=x.handle(); bj.type=x.type(); switch(x.type()){ case q.UNDEFINED_TYPE: case q.NULL_TYPE: case q.BOOLEAN_TYPE: case q.NUMBER_TYPE: bj.value=x.value(); break; case q.STRING_TYPE: bj.value=x.getTruncatedValue(this.maxStringLength_()); break; case q.SYMBOL_TYPE: bj.description=x.description(); break; case q.FUNCTION_TYPE: bj.name=x.name(); bj.inferredName=x.inferredName(); if(x.script()){ bj.scriptId=x.script().id(); } break; case q.ERROR_TYPE: case q.REGEXP_TYPE: bj.value=x.toText(); break; case q.OBJECT_TYPE: bj.className=x.className(); break; } return bj; }; 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 bh={}; if(x.isValue()||x.isScript()||x.isContext()){ bh.handle=x.handle(); } bh.type=x.type(); switch(x.type()){ case q.UNDEFINED_TYPE: case q.NULL_TYPE: break; case q.BOOLEAN_TYPE: bh.value=x.value(); break; case q.NUMBER_TYPE: bh.value=NumberToJSON_(x.value()); break; case q.STRING_TYPE: if(this.maxStringLength_()!=-1&& x.length()>this.maxStringLength_()){ var bk=x.getTruncatedValue(this.maxStringLength_()); bh.value=bk; bh.fromIndex=0; bh.toIndex=this.maxStringLength_(); }else{ bh.value=x.value(); } bh.length=x.length(); break; case q.SYMBOL_TYPE: bh.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,bh,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,bh); break; case q.SCOPE_TYPE: this.serializeScope_(x,bh); break; case q.SCRIPT_TYPE: if(x.name()){ bh.name=x.name(); } bh.id=x.id(); bh.lineOffset=x.lineOffset(); bh.columnOffset=x.columnOffset(); bh.lineCount=x.lineCount(); if(x.data()){ bh.data=x.data(); } if(this.includeSource_()){ bh.source=x.source(); }else{ var bl=x.source().substring(0,80); bh.sourceStart=bl; } bh.sourceLength=x.source().length; bh.scriptType=x.scriptType(); bh.compilationType=x.compilationType(); if(x.compilationType()==1&& x.evalFromScript()){ bh.evalFromScript= this.serializeReference(x.evalFromScript()); var bm=x.evalFromLocation(); if(bm){ bh.evalFromLocation={line:bm.line, column:bm.column}; } if(x.evalFromFunctionName()){ bh.evalFromFunctionName=x.evalFromFunctionName(); } } if(x.context()){ bh.context=this.serializeReference(x.context()); } break; case q.CONTEXT_TYPE: bh.data=x.data(); break; } bh.text=x.toText(); return bh; }; JSONProtocolSerializer.prototype.serializeObject_=function(x,bh, P){ bh.className=x.className(); bh.constructorFunction= this.serializeReference(x.constructorFunction()); bh.protoObject=this.serializeReference(x.protoObject()); bh.prototypeObject=this.serializeReference(x.prototypeObject()); if(x.hasNamedInterceptor()){ bh.namedInterceptor=true; } if(x.hasIndexedInterceptor()){ bh.indexedInterceptor=true; } if(x.isFunction()){ bh.name=x.name(); if(!(x.inferredName()===(void 0))){ bh.inferredName=x.inferredName(); } bh.resolved=x.resolved(); if(x.resolved()){ bh.source=x.source(); } if(x.script()){ bh.script=this.serializeReference(x.script()); bh.scriptId=x.script().id(); serializeLocationFields(x.sourceLocation(),bh); } bh.scopes=[]; for(var N=0;N<x.scopeCount();N++){ var bn=x.scope(N); bh.scopes.push({ type:bn.scopeType(), index:N }); } } if(x.isGenerator()){ bh.status=x.status(); bh.func=this.serializeReference(x.func()) bh.receiver=this.serializeReference(x.receiver()) serializeLocationFields(x.sourceLocation(),bh); } if(x.isDate()){ bh.value=x.value(); } if(x.isPromise()){ bh.status=x.status(); bh.promiseValue=this.serializeReference(x.promiseValue()); } var M=x.propertyNames(); for(var N=0;N<M.length;N++){ var bo=x.property(M[N]); M[N]=this.serializeProperty_(bo); if(P){ this.add_(bo.value()); } } bh.properties=M; var bp=x.internalProperties(); if(bp.length>0){ var bq=[]; for(var N=0;N<bp.length;N++){ bq.push(this.serializeInternalProperty_(bp[N])); } bh.internalProperties=bq; } }; function serializeLocationFields(aG,bh){ if(!aG){ return; } bh.position=aG.position; var br=aG.line; if(!(br===(void 0))){ bh.line=br; } var bs=aG.column; if(!(bs===(void 0))){ bh.column=bs; } } JSONProtocolSerializer.prototype.serializeProperty_=function(bo){ var S={}; S.name=bo.name(); var bt=bo.value(); if(this.inlineRefs_()&&bt.isValue()){ S.value=this.serializeReferenceWithDisplayData_(bt); }else{ if(bo.attributes()!=F.None){ S.attributes=bo.attributes(); } S.propertyType=bo.propertyType(); S.ref=bt.handle(); } return S; }; JSONProtocolSerializer.prototype.serializeInternalProperty_= function(bo){ var S={}; S.name=bo.name(); var bt=bo.value(); if(this.inlineRefs_()&&bt.isValue()){ S.value=this.serializeReferenceWithDisplayData_(bt); }else{ S.ref=bt.handle(); } return S; }; JSONProtocolSerializer.prototype.serializeFrame_=function(x,bh){ bh.index=x.index(); bh.receiver=this.serializeReference(x.receiver()); var aF=x.func(); bh.func=this.serializeReference(aF); var T=aF.script(); if(T){ bh.script=this.serializeReference(T); } bh.constructCall=x.isConstructCall(); bh.atReturn=x.isAtReturn(); if(x.isAtReturn()){ bh.returnValue=this.serializeReference(x.returnValue()); } bh.debuggerFrame=x.isDebuggerFrame(); var K=new d(x.argumentCount()); for(var N=0;N<x.argumentCount();N++){ var bu={}; var bv=x.argumentName(N); if(bv){ bu.name=bv; } bu.value=this.serializeReference(x.argumentValue(N)); K[N]=bu; } bh.arguments=K; var K=new d(x.localCount()); for(var N=0;N<x.localCount();N++){ var bw={}; bw.name=x.localName(N); bw.value=this.serializeReference(x.localValue(N)); K[N]=bw; } bh.locals=K; serializeLocationFields(x.sourceLocation(),bh); var bx=x.sourceLineText(); if(!(bx===(void 0))){ bh.sourceLineText=bx; } bh.scopes=[]; for(var N=0;N<x.scopeCount();N++){ var bn=x.scope(N); bh.scopes.push({ type:bn.scopeType(), index:N }); } }; JSONProtocolSerializer.prototype.serializeScope_=function(x,bh){ bh.index=x.scopeIndex(); bh.frameIndex=x.frameIndex(); bh.type=x.scopeType(); bh.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(by){ by.MirrorType=q; }); }) debugò] (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, AsyncTaskEvent:7}; 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.active_=true; this.condition_=null; } 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.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.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.isTriggered=function(H){ if(!this.active())return false; if(this.condition()){ try{ var I=H.frame(0).evaluate(this.condition()); if(!(I instanceof r)||!I.value_){ return false; } }catch(e){ return false; } } return true; }; function IsBreakPointTriggered(J,F){ return F.isTriggered(MakeExecutionState(J)); } 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.active_=true; this.condition_=null; this.break_points_=[]; } ScriptBreakPoint.prototype.cloneForOtherScript=function(K){ var L=new ScriptBreakPoint(u.ScriptBreakPointType.ScriptId, K.id,this.line_,this.column_,this.groupId_, this.position_alignment_); L.number_=y++; A.push(L); L.active_=this.active_; L.condition_=this.condition_; return L; }; 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 M=[]; for(var N=0;N<this.break_points_.length;N++){ M.push(this.break_points_[N].actual_location); } return M; }; ScriptBreakPoint.prototype.update_positions=function(O,P){ this.line_=O; this.column_=P; }; ScriptBreakPoint.prototype.active=function(){ return this.active_; }; ScriptBreakPoint.prototype.condition=function(){ return this.condition_; }; ScriptBreakPoint.prototype.enable=function(){ this.active_=true; }; ScriptBreakPoint.prototype.disable=function(){ this.active_=false; }; ScriptBreakPoint.prototype.setCondition=function(G){ this.condition_=G; }; ScriptBreakPoint.prototype.matchesScript=function(Q){ if(this.type_==u.ScriptBreakPointType.ScriptId){ return this.script_id_==Q.id; }else{ if(!(Q.line_offset<=this.line_&& this.line_<Q.line_offset+Q.lineCount())){ return false; } if(this.type_==u.ScriptBreakPointType.ScriptName){ return this.script_name_==Q.nameOrSourceURL(); }else if(this.type_==u.ScriptBreakPointType.ScriptRegExp){ return this.script_regexp_object_.test(Q.nameOrSourceURL()); }else{ throw j(2,"Unexpected breakpoint type "+this.type_); } } }; ScriptBreakPoint.prototype.set=function(Q){ var P=this.column(); var O=this.line(); if((P===(void 0))){ var R=Q.sourceLine(this.line()); if(!Q.sourceColumnStart_){ Q.sourceColumnStart_=new d(Q.lineCount()); } if((Q.sourceColumnStart_[O]===(void 0))){ Q.sourceColumnStart_[O]= R.match(v)[0].length; } P=Q.sourceColumnStart_[O]; } var S=u.findScriptSourcePosition(Q,this.line(),P); if((S===null))return; var F=MakeBreakPoint(S,this); var T=%SetScriptBreakPoint(Q,S, this.position_alignment_, F); if((T===(void 0))){ T=S; } var U=Q.locationFromPosition(T,true); F.actual_location={line:U.line, column:U.column, script_id:Q.id}; this.break_points_.push(F); return F; }; ScriptBreakPoint.prototype.clear=function(){ var V=[]; for(var N=0;N<z.length;N++){ if(z[N].script_break_point()&& z[N].script_break_point()===this){ %ClearBreakPoint(z[N]); }else{ V.push(z[N]); } } z=V; this.break_points_=[]; }; function UpdateScriptBreakPoints(Q){ for(var N=0;N<A.length;N++){ var F=A[N]; if((F.type()==u.ScriptBreakPointType.ScriptName|| F.type()==u.ScriptBreakPointType.ScriptRegExp)&& F.matchesScript(Q)){ F.set(Q); } } } function GetScriptBreakPoints(Q){ var W=[]; for(var N=0;N<A.length;N++){ if(A[N].matchesScript(Q)){ W.push(A[N]); } } return W; } u.setListener=function(X,Y){ if(!(%IsFunction(X))&&!(X===(void 0))&&!(X===null)){ throw k(33); } %SetDebugEventListener(X,Y); }; u.breakLocations=function(Z,aa){ if(!(%IsFunction(Z)))throw k(33); var ab=(aa===(void 0)) ?u.BreakPositionAlignment.Statement:aa; return %GetBreakLocations(Z,ab); }; u.findScript=function(ac){ if((%IsFunction(ac))){ return %FunctionGetScript(ac); }else if((%_IsRegExp(ac))){ var ad=u.scripts(); var ae=null; var af=0; for(var N in ad){ var Q=ad[N]; if(ac.test(Q.name)){ ae=Q; af++; } } if(af==1){ return ae; }else{ return(void 0); } }else{ return %GetScript(ac); } }; u.scriptSource=function(ac){ return this.findScript(ac).source; }; u.source=function(Z){ if(!(%IsFunction(Z)))throw k(33); return %FunctionGetSourceCode(Z); }; u.sourcePosition=function(Z){ if(!(%IsFunction(Z)))throw k(33); return %FunctionGetScriptSourcePosition(Z); }; u.findFunctionSourceLocation=function(ag,ah,ai){ var Q=%FunctionGetScript(ag); var aj=%FunctionGetScriptSourcePosition(ag); return Q.locationFromLine(ah,ai,aj); }; u.findScriptSourcePosition=function(Q,ah,ai){ var ak=Q.locationFromLine(ah,ai); return ak?ak.position:null; }; u.findBreakPoint=function(al,am){ var F; for(var N=0;N<z.length;N++){ if(z[N].number()==al){ F=z[N]; if(am){ z.splice(N,1); } break; } } if(F){ return F; }else{ return this.findScriptBreakPoint(al,am); } }; u.findBreakPointActualLocations=function(al){ for(var N=0;N<A.length;N++){ if(A[N].number()==al){ return A[N].actual_locations(); } } for(var N=0;N<z.length;N++){ if(z[N].number()==al){ return[z[N].actual_location]; } } return[]; }; u.setBreakPoint=function(ag,ah,ai,an){ if(!(%IsFunction(ag)))throw k(33); if(%FunctionIsAPIFunction(ag)){ throw j(2,'Cannot set break point in native code.'); } var ao= this.findFunctionSourceLocation(ag,ah,ai).position; var D=ao-this.sourcePosition(ag); var Q=%FunctionGetScript(ag); if(Q.type==u.ScriptType.Native){ throw j(2,'Cannot set break point in native code.'); } if(Q&&Q.id){ D+=%FunctionGetScriptSourcePosition(ag); var ak=Q.locationFromPosition(D,false); return this.setScriptBreakPointById(Q.id, ak.line,ak.column, an); }else{ var F=MakeBreakPoint(D); var T= %SetFunctionBreakPoint(ag,D,F); T+=this.sourcePosition(ag); var U=Q.locationFromPosition(T,true); F.actual_location={line:U.line, column:U.column, script_id:Q.id}; F.setCondition(an); return F.number(); } }; u.setBreakPointByScriptIdAndPosition=function(script_id,S, G,enabled, opt_position_alignment) { var F=MakeBreakPoint(S); F.setCondition(G); if(!enabled){ F.disable(); } var ad=this.scripts(); var ap=(opt_position_alignment===(void 0)) ?u.BreakPositionAlignment.Statement:opt_position_alignment; for(var N=0;N<ad.length;N++){ if(script_id==ad[N].id){ F.actual_position=%SetScriptBreakPoint(ad[N],S, ap,F); break; } } return F; }; u.enableBreakPoint=function(al){ var F=this.findBreakPoint(al,false); if(F){ F.enable(); } }; u.disableBreakPoint=function(al){ var F=this.findBreakPoint(al,false); if(F){ F.disable(); } }; u.changeBreakPointCondition=function(al,G){ var F=this.findBreakPoint(al,false); F.setCondition(G); }; u.clearBreakPoint=function(al){ var F=this.findBreakPoint(al,true); if(F){ return %ClearBreakPoint(F); }else{ F=this.findScriptBreakPoint(al,true); if(!F)throw j(2,'Invalid breakpoint'); } }; u.clearAllBreakPoints=function(){ for(var N=0;N<z.length;N++){ var F=z[N]; %ClearBreakPoint(F); } z=[]; }; u.disableAllBreakPoints=function(){ for(var N=1;N<y;N++){ u.disableBreakPoint(N); } %ChangeBreakOnException(u.ExceptionBreak.Caught,false); %ChangeBreakOnException(u.ExceptionBreak.Uncaught,false); }; u.findScriptBreakPoint=function(al,am){ var aq; for(var N=0;N<A.length;N++){ if(A[N].number()==al){ aq=A[N]; if(am){ aq.clear(); A.splice(N,1); } break; } } return aq; }; u.setScriptBreakPoint=function(w,script_id_or_name, ah,ai,an, opt_groupId,opt_position_alignment){ var aq= new ScriptBreakPoint(w,script_id_or_name,ah,ai, opt_groupId,opt_position_alignment); aq.number_=y++; aq.setCondition(an); A.push(aq); var ad=this.scripts(); for(var N=0;N<ad.length;N++){ if(aq.matchesScript(ad[N])){ aq.set(ad[N]); } } return aq.number(); }; u.setScriptBreakPointById=function(script_id, ah,ai, an,opt_groupId, opt_position_alignment){ return this.setScriptBreakPoint(u.ScriptBreakPointType.ScriptId, script_id,ah,ai, an,opt_groupId, opt_position_alignment); }; u.setScriptBreakPointByName=function(script_name, ah,ai, an,opt_groupId){ return this.setScriptBreakPoint(u.ScriptBreakPointType.ScriptName, script_name,ah,ai, an,opt_groupId); }; u.setScriptBreakPointByRegExp=function(script_regexp, ah,ai, an,opt_groupId){ return this.setScriptBreakPoint(u.ScriptBreakPointType.ScriptRegExp, script_regexp,ah,ai, an,opt_groupId); }; u.enableScriptBreakPoint=function(al){ var aq=this.findScriptBreakPoint(al,false); aq.enable(); }; u.disableScriptBreakPoint=function(al){ var aq=this.findScriptBreakPoint(al,false); aq.disable(); }; u.changeScriptBreakPointCondition=function( al,G){ var aq=this.findScriptBreakPoint(al,false); aq.setCondition(G); }; 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(Z,ar,as){ if(!(%IsFunction(Z)))throw j(33); var at=ar?this.scriptSource(Z):this.source(Z); var au=ar?this.sourcePosition(Z):0; var M=this.breakLocations(Z,as); if(!M)return at; M.sort(function(av,aw){return av-aw;}); var W=""; var ax=0; var ay; for(var N=0;N<M.length;N++){ ay=M[N]-au; W+=at.slice(ax,ay); W+="[B"+N+"]"; ax=ay; } ay=at.length; W+=at.substring(ax,ay); return W; }; u.scripts=function(){ return %DebugGetLoadedScripts(); }; u.debuggerFlags=function(){ return B; }; u.MakeMirror=l; function MakeExecutionState(J){ return new ExecutionState(J); } function ExecutionState(J){ this.break_id=J; this.selected_frame=0; } ExecutionState.prototype.prepareStep=function(az){ if(az===u.StepAction.StepIn|| az===u.StepAction.StepOut|| az===u.StepAction.StepNext|| az===u.StepAction.StepFrame){ return %PrepareStep(this.break_id,az); } throw k(33); }; ExecutionState.prototype.evaluateGlobal=function(at,disable_break, opt_additional_context){ return l(%DebugEvaluateGlobal(this.break_id,at, (!!(disable_break)), opt_additional_context)); }; ExecutionState.prototype.frameCount=function(){ return %GetFrameCount(this.break_id); }; ExecutionState.prototype.frame=function(aA){ if(aA==null)aA=this.selected_frame; if(aA<0||aA>=this.frameCount()){ throw k(32); } return new c(this.break_id,aA); }; ExecutionState.prototype.setSelectedFrame=function(aB){ var N=(%_ToNumber(aB)); if(N<0||N>=this.frameCount()){ throw k(32); } this.selected_frame=N; }; ExecutionState.prototype.selectedFrame=function(){ return this.selected_frame; }; ExecutionState.prototype.debugCommandProcessor=function(aC){ return new DebugCommandProcessor(this,aC); }; function MakeBreakEvent(J,aD){ return new BreakEvent(J,aD); } function BreakEvent(J,aD){ this.frame_=new c(J,0); this.break_points_hit_=aD; } 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 aE={seq:x++, type:"event", event:"break", body:{invocationText:this.frame_.invocationText()} }; var Q=this.func().script(); if(Q){ aE.body.sourceLine=this.sourceLine(), aE.body.sourceColumn=this.sourceColumn(), aE.body.sourceLineText=this.sourceLineText(), aE.body.script=MakeScriptObject_(Q,false); } if(this.breakPointsHit()){ aE.body.breakpoints=[]; for(var N=0;N<this.breakPointsHit().length;N++){ var aF=this.breakPointsHit()[N]; var aq=aF.script_break_point(); var aG; if(aq){ aG=aq.number(); }else{ aG=aF.number(); } aE.body.breakpoints.push(aG); } } return h(ObjectToProtocolObject_(aE)); }; function MakeExceptionEvent(J,aH,aI,aJ){ return new ExceptionEvent(J,aH,aI,aJ); } function ExceptionEvent(J,aH,aI,aJ){ this.exec_state_=new ExecutionState(J); this.exception_=aH; this.uncaught_=aI; this.promise_=aJ; } 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 aE=new ProtocolMessage(); aE.event="exception"; aE.body={uncaught:this.uncaught_, exception:l(this.exception_) }; if(this.exec_state_.frameCount()>0){ aE.body.sourceLine=this.sourceLine(); aE.body.sourceColumn=this.sourceColumn(); aE.body.sourceLineText=this.sourceLineText(); var Q=this.func().script(); if(Q){ aE.body.script=MakeScriptObject_(Q,false); } }else{ aE.body.sourceLine=-1; } return aE.toJSONProtocol(); }; function MakeCompileEvent(Q,w){ return new CompileEvent(Q,w); } function CompileEvent(Q,w){ this.script_=l(Q); this.type_=w; } CompileEvent.prototype.eventType=function(){ return this.type_; }; CompileEvent.prototype.script=function(){ return this.script_; }; CompileEvent.prototype.toJSONProtocol=function(){ var aE=new ProtocolMessage(); aE.running=true; switch(this.type_){ case u.DebugEvent.BeforeCompile: aE.event="beforeCompile"; break; case u.DebugEvent.AfterCompile: aE.event="afterCompile"; break; case u.DebugEvent.CompileError: aE.event="compileError"; break; } aE.body={}; aE.body.script=this.script_; return aE.toJSONProtocol(); }; function MakeScriptObject_(Q,aK){ var aE={id:Q.id(), name:Q.name(), lineOffset:Q.lineOffset(), columnOffset:Q.columnOffset(), lineCount:Q.lineCount(), }; if(!(Q.data()===(void 0))){ aE.data=Q.data(); } if(aK){ aE.source=Q.source(); } return aE; } function MakeAsyncTaskEvent(aL){ return new AsyncTaskEvent(aL); } function AsyncTaskEvent(aL){ this.type_=aL.type; this.name_=aL.name; this.id_=aL.id; } AsyncTaskEvent.prototype.type=function(){ return this.type_; } AsyncTaskEvent.prototype.name=function(){ return this.name_; } AsyncTaskEvent.prototype.id=function(){ return this.id_; } function DebugCommandProcessor(H,aC){ this.exec_state_=H; this.running_=aC||false; } DebugCommandProcessor.prototype.processDebugRequest=function(aM){ return this.processDebugJSONRequest(aM); }; function ProtocolMessage(aM){ this.seq=x++; if(aM){ this.type='response'; this.request_seq=aM.seq; this.command=aM.command; }else{ this.type='event'; } this.success=true; this.running=(void 0); } ProtocolMessage.prototype.setOption=function(aN,C){ if(!this.options_){ this.options_={}; } this.options_[aN]=C; }; ProtocolMessage.prototype.failed=function(aO,aP){ this.success=false; this.message=aO; if((typeof(aP)==='object')){ this.error_details=aP; } }; ProtocolMessage.prototype.toJSONProtocol=function(){ var aQ={}; aQ.seq=this.seq; if(this.request_seq){ aQ.request_seq=this.request_seq; } aQ.type=this.type; if(this.event){ aQ.event=this.event; } if(this.command){ aQ.command=this.command; } if(this.success){ aQ.success=this.success; }else{ aQ.success=false; } if(this.body){ var aR; var aS=m(true,this.options_); if(this.body instanceof o){ aR=aS.serializeValue(this.body); }else if(this.body instanceof d){ aR=[]; for(var N=0;N<this.body.length;N++){ if(this.body[N]instanceof o){ aR.push(aS.serializeValue(this.body[N])); }else{ aR.push(ObjectToProtocolObject_(this.body[N],aS)); } } }else{ aR=ObjectToProtocolObject_(this.body,aS); } aQ.body=aR; aQ.refs=aS.serializeReferencedObjects(); } if(this.message){ aQ.message=this.message; } if(this.error_details){ aQ.error_details=this.error_details; } aQ.running=this.running; return h(aQ); }; DebugCommandProcessor.prototype.createResponse=function(aM){ return new ProtocolMessage(aM); }; DebugCommandProcessor.prototype.processDebugJSONRequest=function( json_request){ var aM; var aT; try{ try{ aM=g(json_request); aT=this.createResponse(aM); if(!aM.type){ throw j(2,'Type not specified'); } if(aM.type!='request'){ throw j(2, "Illegal type '"+aM.type+"' in request"); } if(!aM.command){ throw j(2,'Command not specified'); } if(aM.arguments){ var aU=aM.arguments; if(aU.inlineRefs||aU.compactFormat){ aT.setOption('inlineRefs',true); } if(!(aU.maxStringLength===(void 0))){ aT.setOption('maxStringLength',aU.maxStringLength); } } var aV=aM.command.toLowerCase(); var aW=DebugCommandProcessor.prototype.dispatch_[aV]; if((%IsFunction(aW))){ %_Call(aW,this,aM,aT); }else{ throw j(2, 'Unknown command "'+aM.command+'" in request'); } }catch(e){ if(!aT){ aT=this.createResponse(); } aT.success=false; aT.message=(%_ToString(e)); } try{ if(!(aT.running===(void 0))){ this.running_=aT.running; } aT.running=this.running_; return aT.toJSONProtocol(); }catch(e){ return'{"seq":'+aT.seq+','+ '"request_seq":'+aM.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(aM,aT){ if(aM.arguments){ var az=u.StepAction.StepIn; var aX=aM.arguments.stepaction; if(aX){ if(aX=='in'){ az=u.StepAction.StepIn; }else if(aX=='next'){ az=u.StepAction.StepNext; }else if(aX=='out'){ az=u.StepAction.StepOut; }else{ throw j(2, 'Invalid stepaction argument "'+aX+'".'); } } this.exec_state_.prepareStep(az); } aT.running=true; }; DebugCommandProcessor.prototype.breakRequest_=function(aM,aT){ }; DebugCommandProcessor.prototype.setBreakPointRequest_= function(aM,aT){ if(!aM.arguments){ aT.failed('Missing arguments'); return; } var w=aM.arguments.type; var aY=aM.arguments.target; var O=aM.arguments.line; var P=aM.arguments.column; var aZ=(aM.arguments.enabled===(void 0))? true:aM.arguments.enabled; var G=aM.arguments.condition; var ba=aM.arguments.groupId; if(!w||(aY===(void 0))){ aT.failed('Missing argument "type" or "target"'); return; } var al; if(w=='function'){ if(!(typeof(aY)==='string')){ aT.failed('Argument "target" is not a string value'); return; } var Z; try{ Z=this.exec_state_.evaluateGlobal(aY).value(); }catch(e){ aT.failed('Error: "'+(%_ToString(e))+ '" evaluating "'+aY+'"'); return; } if(!(%IsFunction(Z))){ aT.failed('"'+aY+'" does not evaluate to a function'); return; } al=u.setBreakPoint(Z,O,P,G); }else if(w=='handle'){ var bb=q(aY,10); var I=i(bb); if(!I){ return aT.failed('Object #'+bb+'# not found'); } if(!I.isFunction()){ return aT.failed('Object #'+bb+'# is not a function'); } al=u.setBreakPoint(I.value(), O,P,G); }else if(w=='script'){ al= u.setScriptBreakPointByName(aY,O,P,G, ba); }else if(w=='scriptId'){ al= u.setScriptBreakPointById(aY,O,P,G,ba); }else if(w=='scriptRegExp'){ al= u.setScriptBreakPointByRegExp(aY,O,P,G, ba); }else{ aT.failed('Illegal type "'+w+'"'); return; } var F=u.findBreakPoint(al); if(!aZ){ u.disableBreakPoint(al); } aT.body={type:w, breakpoint:al}; if(F instanceof ScriptBreakPoint){ if(F.type()==u.ScriptBreakPointType.ScriptId){ aT.body.type='scriptId'; aT.body.script_id=F.script_id(); }else if(F.type()==u.ScriptBreakPointType.ScriptName){ aT.body.type='scriptName'; aT.body.script_name=F.script_name(); }else if(F.type()==u.ScriptBreakPointType.ScriptRegExp){ aT.body.type='scriptRegExp'; aT.body.script_regexp=F.script_regexp_object().source; }else{ throw j(2, "Unexpected breakpoint type: "+F.type()); } aT.body.line=F.line(); aT.body.column=F.column(); aT.body.actual_locations=F.actual_locations(); }else{ aT.body.type='function'; aT.body.actual_locations=[F.actual_location]; } }; DebugCommandProcessor.prototype.changeBreakPointRequest_=function( aM,aT){ if(!aM.arguments){ aT.failed('Missing arguments'); return; } var F=(%_ToNumber(aM.arguments.breakpoint)); var aZ=aM.arguments.enabled; var G=aM.arguments.condition; if(!F){ aT.failed('Missing argument "breakpoint"'); return; } if(!(aZ===(void 0))){ if(aZ){ u.enableBreakPoint(F); }else{ u.disableBreakPoint(F); } } if(!(G===(void 0))){ u.changeBreakPointCondition(F,G); } }; DebugCommandProcessor.prototype.clearBreakPointGroupRequest_=function( aM,aT){ if(!aM.arguments){ aT.failed('Missing arguments'); return; } var bc=aM.arguments.groupId; if(!bc){ aT.failed('Missing argument "groupId"'); return; } var bd=[]; var be=[]; for(var N=0;N<A.length;N++){ var bf=A[N]; if(bf.groupId()==bc){ bd.push(bf.number()); bf.clear(); }else{ be.push(bf); } } A=be; aT.body={breakpoints:bd}; }; DebugCommandProcessor.prototype.clearBreakPointRequest_=function( aM,aT){ if(!aM.arguments){ aT.failed('Missing arguments'); return; } var F=(%_ToNumber(aM.arguments.breakpoint)); if(!F){ aT.failed('Missing argument "breakpoint"'); return; } u.clearBreakPoint(F); aT.body={breakpoint:F}; }; DebugCommandProcessor.prototype.listBreakpointsRequest_=function( aM,aT){ var bg=[]; for(var N=0;N<A.length;N++){ var F=A[N]; var bh={ number:F.number(), line:F.line(), column:F.column(), groupId:F.groupId(), active:F.active(), condition:F.condition(), actual_locations:F.actual_locations() }; if(F.type()==u.ScriptBreakPointType.ScriptId){ bh.type='scriptId'; bh.script_id=F.script_id(); }else if(F.type()==u.ScriptBreakPointType.ScriptName){ bh.type='scriptName'; bh.script_name=F.script_name(); }else if(F.type()==u.ScriptBreakPointType.ScriptRegExp){ bh.type='scriptRegExp'; bh.script_regexp=F.script_regexp_object().source; }else{ throw j(2, "Unexpected breakpoint type: "+F.type()); } bg.push(bh); } aT.body={ breakpoints:bg, breakOnExceptions:u.isBreakOnException(), breakOnUncaughtExceptions:u.isBreakOnUncaughtException() }; }; DebugCommandProcessor.prototype.disconnectRequest_= function(aM,aT){ u.disableAllBreakPoints(); this.continueRequest_(aM,aT); }; DebugCommandProcessor.prototype.setExceptionBreakRequest_= function(aM,aT){ if(!aM.arguments){ aT.failed('Missing arguments'); return; } var w=aM.arguments.type; if(!w){ aT.failed('Missing argument "type"'); return; } var aZ; if(w=='all'){ aZ=!u.isBreakOnException(); }else if(w=='uncaught'){ aZ=!u.isBreakOnUncaughtException(); } if(!(aM.arguments.enabled===(void 0))){ aZ=aM.arguments.enabled; if((aZ!=true)&&(aZ!=false)){ aT.failed('Illegal value for "enabled":"'+aZ+'"'); } } if(w=='all'){ %ChangeBreakOnException(u.ExceptionBreak.Caught,aZ); }else if(w=='uncaught'){ %ChangeBreakOnException(u.ExceptionBreak.Uncaught,aZ); }else{ aT.failed('Unknown "type":"'+w+'"'); } aT.body={'type':w,'enabled':aZ}; }; DebugCommandProcessor.prototype.backtraceRequest_=function( aM,aT){ var bi=this.exec_state_.frameCount(); if(bi==0){ aT.body={ totalFrames:bi }; return; } var bj=0; var bk=t; if(aM.arguments){ if(aM.arguments.fromFrame){ bj=aM.arguments.fromFrame; } if(aM.arguments.toFrame){ bk=aM.arguments.toFrame; } if(aM.arguments.bottom){ var bl=bi-bj; bj=bi-bk; bk=bl; } if(bj<0||bk<0){ return aT.failed('Invalid frame number'); } } bk=n(bi,bk); if(bk<=bj){ var bm='Invalid frame range'; return aT.failed(bm); } var bn=[]; for(var N=bj;N<bk;N++){ bn.push(this.exec_state_.frame(N)); } aT.body={ fromFrame:bj, toFrame:bk, totalFrames:bi, frames:bn }; }; DebugCommandProcessor.prototype.frameRequest_=function(aM,aT){ if(this.exec_state_.frameCount()==0){ return aT.failed('No frames'); } if(aM.arguments){ var aB=aM.arguments.number; if(aB<0||this.exec_state_.frameCount()<=aB){ return aT.failed('Invalid frame number'); } this.exec_state_.setSelectedFrame(aM.arguments.number); } aT.body=this.exec_state_.frame(); }; DebugCommandProcessor.prototype.resolveFrameFromScopeDescription_= function(bo){ if(bo&&!(bo.frameNumber===(void 0))){ var bp=bo.frameNumber; if(bp<0||this.exec_state_.frameCount()<=bp){ throw k(32); } return this.exec_state_.frame(bp); }else{ return this.exec_state_.frame(); } }; DebugCommandProcessor.prototype.resolveScopeHolder_= function(bo){ if(bo&&"functionHandle"in bo){ if(!(typeof(bo.functionHandle)==='number')){ throw j(2,'Function handle must be a number'); } var bq=i(bo.functionHandle); if(!bq){ throw j(2,'Failed to find function object by handle'); } if(!bq.isFunction()){ throw j(2, 'Value of non-function type is found by handle'); } return bq; }else{ if(this.exec_state_.frameCount()==0){ throw j(2,'No scopes'); } var br=this.resolveFrameFromScopeDescription_(bo); return br; } } DebugCommandProcessor.prototype.scopesRequest_=function(aM,aT){ var bs=this.resolveScopeHolder_(aM.arguments); var bt=bs.scopeCount(); var bu=[]; for(var N=0;N<bt;N++){ bu.push(bs.scope(N)); } aT.body={ fromScope:0, toScope:bt, totalScopes:bt, scopes:bu }; }; DebugCommandProcessor.prototype.scopeRequest_=function(aM,aT){ var bs=this.resolveScopeHolder_(aM.arguments); var bv=0; if(aM.arguments&&!(aM.arguments.number===(void 0))){ bv=(%_ToNumber(aM.arguments.number)); if(bv<0||bs.scopeCount()<=bv){ return aT.failed('Invalid scope number'); } } aT.body=bs.scope(bv); }; DebugCommandProcessor.resolveValue_=function(bw){ if("handle"in bw){ var bx=i(bw.handle); if(!bx){ throw j(2,"Failed to resolve value by handle, ' #"+ bw.handle+"# not found"); } return bx.value(); }else if("stringDescription"in bw){ if(bw.type==p.BOOLEAN_TYPE){ return(!!(bw.stringDescription)); }else if(bw.type==p.NUMBER_TYPE){ return(%_ToNumber(bw.stringDescription)); }if(bw.type==p.STRING_TYPE){ return(%_ToString(bw.stringDescription)); }else{ throw j(2,"Unknown type"); } }else if("value"in bw){ return bw.value; }else if(bw.type==p.UNDEFINED_TYPE){ return(void 0); }else if(bw.type==p.NULL_TYPE){ return null; }else{ throw j(2,"Failed to parse value description"); } }; DebugCommandProcessor.prototype.setVariableValueRequest_= function(aM,aT){ if(!aM.arguments){ aT.failed('Missing arguments'); return; } if((aM.arguments.name===(void 0))){ aT.failed('Missing variable name'); } var by=aM.arguments.name; var bo=aM.arguments.scope; var bs=this.resolveScopeHolder_(bo); if((bo.number===(void 0))){ aT.failed('Missing scope number'); } var bv=(%_ToNumber(bo.number)); var bz=bs.scope(bv); var bA= DebugCommandProcessor.resolveValue_(aM.arguments.newValue); bz.setVariableValue(by,bA); var bB=l(bA); aT.body={ newValue:bB }; }; DebugCommandProcessor.prototype.evaluateRequest_=function(aM,aT){ if(!aM.arguments){ return aT.failed('Missing arguments'); } var bC=aM.arguments.expression; var br=aM.arguments.frame; var a=aM.arguments.global; var bD=aM.arguments.disable_break; var bE=aM.arguments.additional_context; try{ bC=(%_ToString(bC)); }catch(e){ return aT.failed('Failed to convert expression argument to string'); } if(!(br===(void 0))&&a){ return aT.failed('Arguments "frame" and "global" are exclusive'); } var bF; if(bE){ bF={}; for(var N=0;N<bE.length;N++){ var bG=bE[N]; if(!(typeof(bG.name)==='string')){ return aT.failed("Context element #"+N+ " doesn't contain name:string property"); } var bH=DebugCommandProcessor.resolveValue_(bG); bF[bG.name]=bH; } } if(a){ aT.body=this.exec_state_.evaluateGlobal( bC,(!!(bD)),bF); return; } if((bD===(void 0))){ bD=true; } if(this.exec_state_.frameCount()==0){ return aT.failed('No frames'); } if(!(br===(void 0))){ var bI=(%_ToNumber(br)); if(bI<0||bI>=this.exec_state_.frameCount()){ return aT.failed('Invalid frame "'+br+'"'); } aT.body=this.exec_state_.frame(bI).evaluate( bC,(!!(bD)),bF); return; }else{ aT.body=this.exec_state_.frame().evaluate( bC,(!!(bD)),bF); return; } }; DebugCommandProcessor.prototype.lookupRequest_=function(aM,aT){ if(!aM.arguments){ return aT.failed('Missing arguments'); } var bJ=aM.arguments.handles; if((bJ===(void 0))){ return aT.failed('Argument "handles" missing'); } if(!(aM.arguments.includeSource===(void 0))){ var bK=(!!(aM.arguments.includeSource)); aT.setOption('includeSource',bK); } var bL={}; for(var N=0;N<bJ.length;N++){ var bb=bJ[N]; var I=i(bb); if(!I){ return aT.failed('Object #'+bb+'# not found'); } bL[bb]=I; } aT.body=bL; }; DebugCommandProcessor.prototype.referencesRequest_= function(aM,aT){ if(!aM.arguments){ return aT.failed('Missing arguments'); } var w=aM.arguments.type; var bb=aM.arguments.handle; if((w===(void 0))){ return aT.failed('Argument "type" missing'); } if((bb===(void 0))){ return aT.failed('Argument "handle" missing'); } if(w!='referencedBy'&&w!='constructedBy'){ return aT.failed('Invalid type "'+w+'"'); } var I=i(bb); if(I){ if(w=='referencedBy'){ aT.body=I.referencedBy(); }else{ aT.body=I.constructedBy(); } }else{ return aT.failed('Object #'+bb+'# not found'); } }; DebugCommandProcessor.prototype.sourceRequest_=function(aM,aT){ if(this.exec_state_.frameCount()==0){ return aT.failed('No source'); } var bM; var bN; var br=this.exec_state_.frame(); if(aM.arguments){ bM=aM.arguments.fromLine; bN=aM.arguments.toLine; if(!(aM.arguments.frame===(void 0))){ var bI=(%_ToNumber(aM.arguments.frame)); if(bI<0||bI>=this.exec_state_.frameCount()){ return aT.failed('Invalid frame "'+br+'"'); } br=this.exec_state_.frame(bI); } } var Q=br.func().script(); if(!Q){ return aT.failed('No source'); } var bO=Q.sourceSlice(bM,bN); if(!bO){ return aT.failed('Invalid line interval'); } aT.body={}; aT.body.source=bO.sourceText(); aT.body.fromLine=bO.from_line; aT.body.toLine=bO.to_line; aT.body.fromPosition=bO.from_position; aT.body.toPosition=bO.to_position; aT.body.totalLines=Q.lineCount(); }; DebugCommandProcessor.prototype.scriptsRequest_=function(aM,aT){ var bP=ScriptTypeFlag(u.ScriptType.Normal); var bK=false; var bQ=null; if(aM.arguments){ if(!(aM.arguments.types===(void 0))){ bP=(%_ToNumber(aM.arguments.types)); if(f(bP)||bP<0){ return aT.failed('Invalid types "'+ aM.arguments.types+'"'); } } if(!(aM.arguments.includeSource===(void 0))){ bK=(!!(aM.arguments.includeSource)); aT.setOption('includeSource',bK); } if((%_IsArray(aM.arguments.ids))){ bQ={}; var bR=aM.arguments.ids; for(var N=0;N<bR.length;N++){ bQ[bR[N]]=true; } } var bS=null; var bT=null; if(!(aM.arguments.filter===(void 0))){ var bU=(%_ToNumber(aM.arguments.filter)); if(!f(bU)){ bT=bU; } bS=aM.arguments.filter; } } var ad=%DebugGetLoadedScripts(); aT.body=[]; for(var N=0;N<ad.length;N++){ if(bQ&&!bQ[ad[N].id]){ continue; } if(bS||bT){ var Q=ad[N]; var bV=false; if(bT&&!bV){ if(Q.id&&Q.id===bT){ bV=true; } } if(bS&&!bV){ if(Q.name&&Q.name.indexOf(bS)>=0){ bV=true; } } if(!bV)continue; } if(bP&ScriptTypeFlag(ad[N].type)){ aT.body.push(l(ad[N])); } } }; DebugCommandProcessor.prototype.suspendRequest_=function(aM,aT){ aT.running=false; }; DebugCommandProcessor.prototype.versionRequest_=function(aM,aT){ aT.body={ V8Version:%GetV8Version() }; }; DebugCommandProcessor.prototype.changeLiveRequest_=function( aM,aT){ if(!aM.arguments){ return aT.failed('Missing arguments'); } var bW=aM.arguments.script_id; var bX=!!aM.arguments.preview_only; var ad=%DebugGetLoadedScripts(); var bY=null; for(var N=0;N<ad.length;N++){ if(ad[N].id==bW){ bY=ad[N]; } } if(!bY){ aT.failed('Script not found'); return; } var bZ=new d(); if(!(typeof(aM.arguments.new_source)==='string')){ throw"new_source argument expected"; } var ca=aM.arguments.new_source; var cb; try{ cb=u.LiveEdit.SetScriptSource(bY, ca,bX,bZ); }catch(e){ if(e instanceof u.LiveEdit.Failure&&"details"in e){ aT.failed(e.message,e.details); return; } throw e; } aT.body={change_log:bZ,result:cb}; if(!bX&&!this.running_&&cb.stack_modified){ aT.body.stepin_recommended=true; } }; DebugCommandProcessor.prototype.restartFrameRequest_=function( aM,aT){ if(!aM.arguments){ return aT.failed('Missing arguments'); } var br=aM.arguments.frame; if(this.exec_state_.frameCount()==0){ return aT.failed('No frames'); } var cc; if(!(br===(void 0))){ var bI=(%_ToNumber(br)); if(bI<0||bI>=this.exec_state_.frameCount()){ return aT.failed('Invalid frame "'+br+'"'); } cc=this.exec_state_.frame(bI); }else{ cc=this.exec_state_.frame(); } var cb=cc.restart(); aT.body={result:cb}; }; DebugCommandProcessor.prototype.debuggerFlagsRequest_=function(aM, aT){ if(!aM.arguments){ aT.failed('Missing arguments'); return; } var cd=aM.arguments.flags; aT.body={flags:[]}; if(!(cd===(void 0))){ for(var N=0;N<cd.length;N++){ var aN=cd[N].name; var ce=B[aN]; if(!ce){ continue; } if('value'in cd[N]){ ce.setValue(cd[N].value); } aT.body.flags.push({name:aN,value:ce.getValue()}); } }else{ for(var aN in B){ var C=B[aN].getValue(); aT.body.flags.push({name:aN,value:C}); } } }; DebugCommandProcessor.prototype.v8FlagsRequest_=function(aM,aT){ var cd=aM.arguments.flags; if(!cd)cd=''; %SetFlags(cd); }; DebugCommandProcessor.prototype.gcRequest_=function(aM,aT){ var w=aM.arguments.type; if(!w)w='all'; var cf=%GetHeapUsage(); %CollectGarbage(w); var cg=%GetHeapUsage(); aT.body={"before":cf,"after":cg}; }; DebugCommandProcessor.prototype.dispatch_=(function(){ var ch=DebugCommandProcessor.prototype; return{ "continue":ch.continueRequest_, "break":ch.breakRequest_, "setbreakpoint":ch.setBreakPointRequest_, "changebreakpoint":ch.changeBreakPointRequest_, "clearbreakpoint":ch.clearBreakPointRequest_, "clearbreakpointgroup":ch.clearBreakPointGroupRequest_, "disconnect":ch.disconnectRequest_, "setexceptionbreak":ch.setExceptionBreakRequest_, "listbreakpoints":ch.listBreakpointsRequest_, "backtrace":ch.backtraceRequest_, "frame":ch.frameRequest_, "scopes":ch.scopesRequest_, "scope":ch.scopeRequest_, "setvariablevalue":ch.setVariableValueRequest_, "evaluate":ch.evaluateRequest_, "lookup":ch.lookupRequest_, "references":ch.referencesRequest_, "source":ch.sourceRequest_, "scripts":ch.scriptsRequest_, "suspend":ch.suspendRequest_, "version":ch.versionRequest_, "changelive":ch.changeLiveRequest_, "restartframe":ch.restartFrameRequest_, "flags":ch.debuggerFlagsRequest_, "v8flag":ch.v8FlagsRequest_, "gc":ch.gcRequest_, }; })(); DebugCommandProcessor.prototype.isRunning=function(){ return this.running_; }; DebugCommandProcessor.prototype.systemBreak=function(ci,aU){ return %SystemBreak(); }; function ObjectToProtocolObject_(cj,ck){ var cl={}; for(var aV in cj){ if(typeof aV=='string'){ var cm=ValueToProtocolValue_(cj[aV], ck); if(!(cm===(void 0))){ cl[aV]=cm; } } } return cl; } function ArrayToProtocolArray_(bg,ck){ var aQ=[]; for(var N=0;N<bg.length;N++){ aQ.push(ValueToProtocolValue_(bg[N],ck)); } return aQ; } function ValueToProtocolValue_(C,ck){ var aQ; switch(typeof C){ case'object': if(C instanceof o){ aQ=ck.serializeValue(C); }else if((%_IsArray(C))){ aQ=ArrayToProtocolArray_(C,ck); }else{ aQ=ObjectToProtocolObject_(C,ck); } break; case'boolean': case'string': case'number': aQ=C; break; default: aQ=null; } return aQ; } 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, "MakeAsyncTaskEvent",MakeAsyncTaskEvent, "IsBreakPointTriggered",IsBreakPointTriggered, "UpdateScriptBreakPoints",UpdateScriptBreakPoints, ]); b.Export(function(cn){ cn.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; }) d prologueÝT (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 OverrideFunction(k,i,h,t){ %CheckIsBootstrapping(); %object_define_property(k,i,{value:h, writeable:true, configurable:true, enumerable:false}); SetFunctionName(h,i); if(!t)%FunctionRemovePrototype(h); %SetNativeFlag(h); } function SetUpLockedPrototype( constructor,fields,methods){ %CheckIsBootstrapping(); var u=constructor.prototype; var v=(methods.length>>1)+(fields?fields.length:0); if(v>=4){ %OptimizeObjectForAddingMultipleProperties(u,v); } if(fields){ for(var n=0;n<fields.length;n++){ %AddNamedProperty(u,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(u,q,h,2|4|1); %SetNativeFlag(h); } %InternalSetPrototype(u,null); %ToFastProperties(u); } function PostNatives(b){ %CheckIsBootstrapping(); for(;!(d===(void 0));d=d.next){ d(f); } var w=[ "AddBoundMethod", "ArrayToString", "AsyncFunctionNext", "AsyncFunctionThrow", "ErrorToString", "GetIterator", "GetMethod", "IntlParseDate", "IntlParseNumber", "IsNaN", "MakeError", "MakeRangeError", "MakeTypeError", "MapEntries", "MapIterator", "MapIteratorNext", "MaxSimple", "MinSimple", "NumberIsInteger", "PromiseChain", "PromiseDefer", "PromiseAccept", "PromiseCreateRejected", "PromiseCreateResolved", "PromiseThen", "RegExpSubclassExecJS", "RegExpSubclassMatch", "RegExpSubclassReplace", "RegExpSubclassSearch", "RegExpSubclassSplit", "RegExpSubclassTest", "SetIterator", "SetIteratorNext", "SetValues", "SymbolToString", "ToLocaleLowerCaseI18N", "ToLocaleUpperCaseI18N", "ToLowerCaseI18N", "ToPositiveInteger", "ToUpperCaseI18N", "is_concat_spreadable_symbol", "iterator_symbol", "promise_result_symbol", "promise_state_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", "match_symbol", "replace_symbol", "search_symbol", "split_symbol", ]; var x={}; %OptimizeObjectForAddingMultipleProperties( x,w.length); for(var q of w){ x[q]=f[q]; } %ToFastProperties(x); f=x; 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,y,z){ var A=g; for(;!(A===(void 0));A=A.next){ A(y,z); } } %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.OverrideFunction=OverrideFunction; 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(B,C){ return function(...args){ return %reflect_apply(B,C,args); }; }; c.uncurryThis=function uncurryThis(B){ return function(C,...args){ return %reflect_apply(B,C,args); }; }; %ToFastProperties(c); }) runtime¥ (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 ToPositiveInteger(k,l){ var m=(%_IsSmi(%IS_VAR(k))?k:%NumberToIntegerMapMinusZero(k)); if(m<0)throw g(l); return m; } function MaxSimple(n,o){ return n>o?n:o; } function MinSimple(n,o){ return n>o?o:n; } %SetForceInlineFlag(MaxSimple); %SetForceInlineFlag(MinSimple); function SpeciesConstructor(p,q,r){ if(c){ var s=p.constructor; if((s===(void 0))){ return q; } if(!(%_IsJSReceiver(s))){ throw h(28); } var t=s[i]; if((t==null)){ return q; } if(%IsConstructor(t)){ return t; } throw h(233); }else{ return r?q:p.constructor; } } %FunctionSetPrototype(d,new d(0)); b.Export(function(u){ u.MaxSimple=MaxSimple; u.MinSimple=MinSimple; u.ToPositiveInteger=ToPositiveInteger; u.SpeciesConstructor=SpeciesConstructor; }); }) $v8natives%g (function(a,b){ %CheckIsBootstrapping(); var c=a.Array; var d=a.Number; var e=a.Object; var f=b.InternalArray; var g=b.ImportNow("iterator_symbol"); var h; var i; var j; var k; var l=%GetRootNaN(); var m=b.ImportNow("object_to_string"); var n=b.ImportNow("to_string_tag_symbol"); b.Import(function(o){ h=o.MakeRangeError; i=o.MakeSyntaxError; j=o.MakeTypeError; k=o.MathAbs; }); function GlobalIsNaN(p){ p=(%_ToNumber(p)); return(!%_IsSmi(%IS_VAR(p))&&!(p==p)); } function GlobalIsFinite(p){ p=(%_ToNumber(p)); return(%_IsSmi(%IS_VAR(p))||((p==p)&&(p!=1/0)&&(p!=-1/0))); } function GlobalParseInt(q,r){ if((r===(void 0))||r===10||r===0){ if(%_IsSmi(q))return q; if((typeof(q)==='number')&& ((0.01<q&&q<1e9)|| (-1e9<q&&q<-0.01))){ return q|0; } q=(%_ToString(q)); r=r|0; }else{ q=(%_ToString(q)); r=((r)|0); if(!(r==0||(2<=r&&r<=36))){ return l; } } if(%_HasCachedArrayIndex(q)&& (r==0||r==10)){ return %_GetCachedArrayIndex(q); } return %StringParseInt(q,r); } function GlobalParseFloat(q){ q=(%_ToString(q)); if(%_HasCachedArrayIndex(q))return %_GetCachedArrayIndex(q); return %StringParseFloat(q); } var s=2|4|1; b.InstallConstants(a,[ "Infinity",(1/0), "NaN",l, "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 j(17,"Object.prototype.toLocaleString"); return this.toString(); } function ObjectValueOf(){ return(%_ToObject(this)); } function ObjectIsPrototypeOf(t){ if(!(%_IsJSReceiver(t)))return false; var u=(%_ToObject(this)); return %HasInPrototypeChain(t,u); } function ObjectPropertyIsEnumerable(t){ var v=(%_ToName(t)); return %PropertyIsEnumerable((%_ToObject(this)),v); } function GetMethod(w,x){ var y=w[x]; if((y==null))return(void 0); if((typeof(y)==='function'))return y; throw j(15,typeof y); } function ObjectSetPrototypeOf(w,z){ if((%IS_VAR(w)===null)||(w===(void 0)))throw j(17,"Object.setPrototypeOf"); if(z!==null&&!(%_IsJSReceiver(z))){ throw j(87,z); } if((%_IsJSReceiver(w))){ %SetPrototype(w,z); } return w; } function ObjectGetProto(){ return %object_get_prototype_of(this); } function ObjectSetProto(z){ if((%IS_VAR(this)===null)||(this===(void 0)))throw j(17,"Object.prototype.__proto__"); if(((%_IsJSReceiver(z))||(z===null))&&(%_IsJSReceiver(this))){ %SetPrototype(this,z); } } function ObjectConstructor(A){ if(e!=new.target&&!(new.target===(void 0))){ return this; } if((A===null)||(A===(void 0)))return{}; return(%_ToObject(A)); } %SetNativeFlag(e); %SetCode(e,ObjectConstructor); %AddNamedProperty(e.prototype,"constructor",e, 2); b.InstallFunctions(e.prototype,2,[ "toString",m, "toLocaleString",ObjectToLocaleString, "valueOf",ObjectValueOf, "isPrototypeOf",ObjectIsPrototypeOf, "propertyIsEnumerable",ObjectPropertyIsEnumerable, ]); b.InstallGetterSetter( e.prototype,"__proto__",ObjectGetProto,ObjectSetProto); b.InstallFunctions(e,2,[ "setPrototypeOf",ObjectSetPrototypeOf, ]); function NumberToStringJS(r){ var p=this; if(!(typeof(this)==='number')){ if(!(%_ClassOf(this)==='Number')){ throw j(69,'Number.prototype.toString'); } p=%_ValueOf(this); } if((r===(void 0))||r===10){ return %_NumberToString(p); } r=(%_ToInteger(r)); if(r<2||r>36)throw h(178); return %NumberToRadixString(p,r); } function NumberToLocaleString(){ return %_Call(NumberToStringJS,this); } function NumberValueOf(){ if(!(typeof(this)==='number')&&!(%_ClassOf(this)==='Number')){ throw j(69,'Number.prototype.valueOf'); } return %_ValueOf(this); } function NumberToFixedJS(B){ var A=this; if(!(typeof(this)==='number')){ if(!(%_ClassOf(this)==='Number')){ throw j(44, "Number.prototype.toFixed",this); } A=%_ValueOf(this); } var C=(%_ToInteger(B)); if(C<0||C>20){ throw h(174,"toFixed() digits"); } if((!%_IsSmi(%IS_VAR(A))&&!(A==A)))return"NaN"; if(A==(1/0))return"Infinity"; if(A==-(1/0))return"-Infinity"; return %NumberToFixed(A,C); } function NumberToExponentialJS(B){ var A=this; if(!(typeof(this)==='number')){ if(!(%_ClassOf(this)==='Number')){ throw j(44, "Number.prototype.toExponential",this); } A=%_ValueOf(this); } var C=(B===(void 0))?(void 0):(%_ToInteger(B)); if((!%_IsSmi(%IS_VAR(A))&&!(A==A)))return"NaN"; if(A==(1/0))return"Infinity"; if(A==-(1/0))return"-Infinity"; if((C===(void 0))){ C=-1; }else if(C<0||C>20){ throw h(174,"toExponential()"); } return %NumberToExponential(A,C); } function NumberToPrecisionJS(D){ var A=this; if(!(typeof(this)==='number')){ if(!(%_ClassOf(this)==='Number')){ throw j(44, "Number.prototype.toPrecision",this); } A=%_ValueOf(this); } if((D===(void 0)))return(%_ToString(A)); var x=(%_ToInteger(D)); if((!%_IsSmi(%IS_VAR(A))&&!(A==A)))return"NaN"; if(A==(1/0))return"Infinity"; if(A==-(1/0))return"-Infinity"; if(x<1||x>21){ throw h(177); } return %NumberToPrecision(A,x); } function NumberIsFinite(p){ return(typeof(p)==='number')&&(%_IsSmi(%IS_VAR(p))||((p==p)&&(p!=1/0)&&(p!=-1/0))); } function NumberIsInteger(p){ return NumberIsFinite(p)&&(%_ToInteger(p))==p; } function NumberIsNaN(p){ return(typeof(p)==='number')&&(!%_IsSmi(%IS_VAR(p))&&!(p==p)); } function NumberIsSafeInteger(p){ if(NumberIsFinite(p)){ var E=(%_ToInteger(p)); if(E==p){ return k(E)<=9007199254740991; } } return false; } %FunctionSetPrototype(d,new d(0)); %OptimizeObjectForAddingMultipleProperties(d.prototype,8); %AddNamedProperty(d.prototype,"constructor",d, 2); b.InstallConstants(d,[ "MAX_VALUE",1.7976931348623157e+308, "MIN_VALUE",5e-324, "NaN",l, "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(d.prototype,2,[ "toString",NumberToStringJS, "toLocaleString",NumberToLocaleString, "valueOf",NumberValueOf, "toFixed",NumberToFixedJS, "toExponential",NumberToExponentialJS, "toPrecision",NumberToPrecisionJS ]); b.InstallFunctions(d,2,[ "isFinite",NumberIsFinite, "isInteger",NumberIsInteger, "isNaN",NumberIsNaN, "isSafeInteger",NumberIsSafeInteger, "parseInt",GlobalParseInt, "parseFloat",GlobalParseFloat ]); %SetForceInlineFlag(NumberIsNaN); function GetIterator(w,F){ if((F===(void 0))){ F=w[g]; } if(!(typeof(F)==='function')){ throw j(70,w); } var G=%_Call(F,w); if(!(%_IsJSReceiver(G))){ throw j(64,G); } return G; } b.Export(function(H){ H.GetIterator=GetIterator; H.GetMethod=GetMethod; H.IsFinite=GlobalIsFinite; H.IsNaN=GlobalIsNaN; H.NumberIsNaN=NumberIsNaN; H.NumberIsInteger=NumberIsInteger; H.ObjectHasOwnProperty=e.prototype.hasOwnProperty; }); %InstallToContext([ "object_value_of",ObjectValueOf, ]); }) symbolÍ (function(a,b){ "use strict"; %CheckIsBootstrapping(); var c=a.Symbol; var d=b.ImportNow("has_instance_symbol"); var e= b.ImportNow("is_concat_spreadable_symbol"); var f=b.ImportNow("iterator_symbol"); var g; var h=b.ImportNow("to_primitive_symbol"); var i=b.ImportNow("to_string_tag_symbol"); var j=b.ImportNow("unscopables_symbol"); b.Import(function(k){ g=k.MakeTypeError; }); function SymbolToPrimitive(l){ if(!((typeof(this)==='symbol')||(%_ClassOf(this)==='Symbol'))){ throw g(44, "Symbol.prototype [ @@toPrimitive ]",this); } return %_ValueOf(this); } function SymbolToString(){ if(!((typeof(this)==='symbol')||(%_ClassOf(this)==='Symbol'))){ throw g(44, "Symbol.prototype.toString",this); } return %SymbolDescriptiveString(%_ValueOf(this)); } function SymbolValueOf(){ if(!((typeof(this)==='symbol')||(%_ClassOf(this)==='Symbol'))){ throw g(44, "Symbol.prototype.valueOf",this); } return %_ValueOf(this); } function SymbolFor(m){ m=(%_ToString(m)); var n=%SymbolRegistry(); if((n.for[m]===(void 0))){ var o=%CreateSymbol(m); n.for[m]=o; n.keyFor[o]=m; } return n.for[m]; } function SymbolKeyFor(o){ if(!(typeof(o)==='symbol'))throw g(137,o); return %SymbolRegistry().keyFor[o]; } b.InstallConstants(c,[ "hasInstance",d, "isConcatSpreadable",e, "iterator",f, "toPrimitive",h, "toStringTag",i, "unscopables",j, ]); b.InstallFunctions(c,2,[ "for",SymbolFor, "keyFor",SymbolKeyFor ]); %AddNamedProperty( c.prototype,i,"Symbol",2|1); b.InstallFunctions(c.prototype,2|1,[ h,SymbolToPrimitive ]); b.InstallFunctions(c.prototype,2,[ "toString",SymbolToString, "valueOf",SymbolValueOf ]); b.Export(function(p){ p.SymbolToString=SymbolToString; }) }) array҆ (function(a,b,c){ "use strict"; %CheckIsBootstrapping(); var d; var e; var f; var g=a.Array; var h=b.InternalArray; var i=b.InternalPackedArray; var j; var k; var l; var m; var n=b.ImportNow("object_to_string"); var o=b.ImportNow("iterator_symbol"); var p=b.ImportNow("unscopables_symbol"); b.Import(function(q){ e=q.GetIterator; f=q.GetMethod; j=q.MakeTypeError; k=q.MaxSimple; l=q.MinSimple; m=q.ObjectHasOwnProperty; }); b.ImportFromExperimental(function(q){ d=q.FLAG_harmony_species; }); function ArraySpeciesCreate(r,s){ var t; s=((s)+0); if(d){ t=%ArraySpeciesConstructor(r); }else{ t=g; } return new t(s); } function KeySortCompare(u,v){ return u-v; } function GetSortedArrayKeys(r,w){ if((typeof(w)==='number')){ var x=new h(); var y=w; for(var z=0;z<y;++z){ var A=r[z]; if(!(A===(void 0))||z in r){ x.push(z); } } return x; } return InnerArraySort(w,w.length,KeySortCompare); } function SparseJoinWithSeparatorJS(r,x,s,B,C){ var D=x.length; var E=new h(D*2); for(var z=0;z<D;z++){ var F=x[z]; var A=r[F]; E[z*2]=F; E[z*2+1]=(typeof(A)==='string')?A:B(A); } return %SparseJoinWithSeparator(E,s,C); } function SparseJoin(r,x,B){ var D=x.length; var E=new h(D); for(var z=0;z<D;z++){ var A=r[x[z]]; E[z]=(typeof(A)==='string')?A:B(A); } return %StringBuilderConcat(E,D,''); } function UseSparseVariant(r,s,G,H){ if(!G||s<1000||%HasComplexElements(r)){ return false; } if(!%_IsSmi(s)){ return true; } var I=s>>2; var J=%EstimateNumberOfElements(r); return(J<I)&& (H>J*4); } function Stack(){ this.length=0; this.values=new h(); } Stack.prototype.length=null; Stack.prototype.values=null; function StackPush(K,L){ K.values[K.length++]=L; } function StackPop(K){ K.values[--K.length]=null } function StackHas(K,M){ var s=K.length; var N=K.values; for(var z=0;z<s;z++){ if(N[z]===M)return true; } return false; } var O=new Stack(); function DoJoin(r,s,G,C,B){ if(UseSparseVariant(r,s,G,s)){ %NormalizeElements(r); var x=GetSortedArrayKeys(r,%GetArrayKeys(r,s)); if(C===''){ if(x.length===0)return''; return SparseJoin(r,x,B); }else{ return SparseJoinWithSeparatorJS(r,x,s,B,C); } } if(s===1){ var A=r[0]; return(typeof(A)==='string')?A:B(A); } var E=new h(s); if(C===''){ for(var z=0;z<s;z++){ var A=r[z]; E[z]=(typeof(A)==='string')?A:B(A); } return %StringBuilderConcat(E,s,''); } var A=r[0]; if((typeof(A)==='number')){ E[0]=%_NumberToString(A); for(var z=1;z<s;z++){ A=r[z]; if((typeof(A)==='number')){ E[z]=%_NumberToString(A); }else{ E[z]=(typeof(A)==='string')?A:B(A); } } }else{ E[0]=(typeof(A)==='string')?A:B(A); for(var z=1;z<s;z++){ A=r[z]; E[z]=(typeof(A)==='string')?A:B(A); } } return %StringBuilderJoin(E,s,C); } function Join(r,s,C,B){ if(s===0)return''; var G=(%_IsArray(r)); if(G){ if(StackHas(O,r))return''; StackPush(O,r); } try{ return DoJoin(r,s,G,C,B); }finally{ if(G)StackPop(O); } } function ConvertToString(P){ if((P==null))return''; return(%_ToString(P)); } function ConvertToLocaleString(A){ if((A==null))return''; return(%_ToString(A.toLocaleString())); } function SparseSlice(r,Q,R,S,T){ var w=%GetArrayKeys(r,Q+R); if((typeof(w)==='number')){ var y=w; for(var z=Q;z<y;++z){ var U=r[z]; if(!(U===(void 0))||z in r){ %CreateDataProperty(T,z-Q,U); } } }else{ var s=w.length; for(var V=0;V<s;++V){ var F=w[V]; if(F>=Q){ var U=r[F]; if(!(U===(void 0))||F in r){ %CreateDataProperty(T,F-Q,U); } } } } } function SparseMove(r,Q,R,S,W){ if(W===R)return; var X=new h( l(S-R+W,0xffffffff)); var Y; var w=%GetArrayKeys(r,S); if((typeof(w)==='number')){ var y=w; for(var z=0;z<Q&&z<y;++z){ var U=r[z]; if(!(U===(void 0))||z in r){ X[z]=U; } } for(var z=Q+R;z<y;++z){ var U=r[z]; if(!(U===(void 0))||z in r){ X[z-R+W]=U; } } }else{ var s=w.length; for(var V=0;V<s;++V){ var F=w[V]; if(F<Q){ var U=r[F]; if(!(U===(void 0))||F in r){ X[F]=U; } }else if(F>=Q+R){ var U=r[F]; if(!(U===(void 0))||F in r){ var Z=F-R+W; X[Z]=U; if(Z>0xfffffffe){ Y=Y||new h(); Y.push(Z); } } } } } %MoveArrayContents(X,r); if(!(Y===(void 0))){ var s=Y.length; for(var z=0;z<s;++z){ var F=Y[z]; r[F]=X[F]; } } } function SimpleSlice(r,Q,R,S,T){ var G=(%_IsArray(r)); for(var z=0;z<R;z++){ var aa=Q+z; if(((G&&%_HasFastPackedElements(%IS_VAR(r))&&(aa<r.length))||(aa in r))){ var U=r[aa]; %CreateDataProperty(T,z,U); } } } function SimpleMove(r,Q,R,S,W){ var G=(%_IsArray(r)); if(W!==R){ if(W>R){ for(var z=S-R;z>Q;z--){ var ab=z+R-1; var ac=z+W-1; if(((G&&%_HasFastPackedElements(%IS_VAR(r))&&(ab<r.length))||(ab in r))){ r[ac]=r[ab]; }else{ delete r[ac]; } } }else{ for(var z=Q;z<S-R;z++){ var ab=z+R; var ac=z+W; if(((G&&%_HasFastPackedElements(%IS_VAR(r))&&(ab<r.length))||(ab in r))){ r[ac]=r[ab]; }else{ delete r[ac]; } } for(var z=S;z>S-R+W;z--){ delete r[z-1]; } } } } function ArrayToString(){ var r; var ad; if((%_IsArray(this))){ ad=this.join; if(ad===ArrayJoin){ return Join(this,this.length,',',ConvertToString); } r=this; }else{ r=(%_ToObject(this)); ad=r.join; } if(!(typeof(ad)==='function')){ return %_Call(n,r); } return %_Call(ad,r); } function InnerArrayToLocaleString(r,s){ var S=(%_ToLength(s)); if(S===0)return""; return Join(r,S,',',ConvertToLocaleString); } function ArrayToLocaleString(){ var r=(%_ToObject(this)); var ae=r.length; return InnerArrayToLocaleString(r,ae); } function InnerArrayJoin(C,r,s){ if((C===(void 0))){ C=','; }else{ C=(%_ToString(C)); } if(s===1){ var A=r[0]; if((A==null))return''; return(%_ToString(A)); } return Join(r,s,C,ConvertToString); } function ArrayJoin(C){ if((%IS_VAR(this)===null)||(this===(void 0)))throw j(17,"Array.prototype.join"); var r=(%_ToObject(this)); var s=(%_ToLength(r.length)); return InnerArrayJoin(C,r,s); } function ArrayPop(){ if((%IS_VAR(this)===null)||(this===(void 0)))throw j(17,"Array.prototype.pop"); var r=(%_ToObject(this)); var af=(%_ToLength(r.length)); if(af==0){ r.length=af; return; } af--; var L=r[af]; %DeleteProperty_Strict(r,af); r.length=af; return L; } function ArrayPush(){ if((%IS_VAR(this)===null)||(this===(void 0)))throw j(17,"Array.prototype.push"); var r=(%_ToObject(this)); var af=(%_ToLength(r.length)); var ag=arguments.length; if(ag>9007199254740991-af)throw j(225,ag,af); for(var z=0;z<ag;z++){ r[z+af]=arguments[z]; } var ah=af+ag; r.length=ah; return ah; } function SparseReverse(r,S){ var x=GetSortedArrayKeys(r,%GetArrayKeys(r,S)); var ai=x.length-1; var aj=0; while(aj<=ai){ var z=x[aj]; var ak=x[ai]; var al=S-ak-1; var am,an; if(al<=z){ an=ak; while(x[--ai]==ak){} am=al; } if(al>=z){ am=z; while(x[++aj]==z){} an=S-z-1; } var ao=r[am]; if(!(ao===(void 0))||am in r){ var ap=r[an]; if(!(ap===(void 0))||an in r){ r[am]=ap; r[an]=ao; }else{ r[an]=ao; delete r[am]; } }else{ var ap=r[an]; if(!(ap===(void 0))||an in r){ r[am]=ap; delete r[an]; } } } } function PackedArrayReverse(r,S){ var ak=S-1; for(var z=0;z<ak;z++,ak--){ var ao=r[z]; var ap=r[ak]; r[z]=ap; r[ak]=ao; } return r; } function GenericArrayReverse(r,S){ var ak=S-1; for(var z=0;z<ak;z++,ak--){ if(z in r){ var ao=r[z]; if(ak in r){ var ap=r[ak]; r[z]=ap; r[ak]=ao; }else{ r[ak]=ao; delete r[z]; } }else{ if(ak in r){ var ap=r[ak]; r[z]=ap; delete r[ak]; } } } return r; } function ArrayReverse(){ if((%IS_VAR(this)===null)||(this===(void 0)))throw j(17,"Array.prototype.reverse"); var r=(%_ToObject(this)); var S=(%_ToLength(r.length)); var aq=(%_IsArray(r)); if(UseSparseVariant(r,S,aq,S)){ %NormalizeElements(r); SparseReverse(r,S); return r; }else if(aq&&%_HasFastPackedElements(r)){ return PackedArrayReverse(r,S); }else{ return GenericArrayReverse(r,S); } } function ArrayShift(){ if((%IS_VAR(this)===null)||(this===(void 0)))throw j(17,"Array.prototype.shift"); var r=(%_ToObject(this)); var S=(%_ToLength(r.length)); if(S===0){ r.length=0; return; } if(%object_is_sealed(r))throw j(13); var ar=r[0]; if(UseSparseVariant(r,S,(%_IsArray(r)),S)){ SparseMove(r,0,1,S,0); }else{ SimpleMove(r,0,1,S,0); } r.length=S-1; return ar; } function ArrayUnshift(as){ if((%IS_VAR(this)===null)||(this===(void 0)))throw j(17,"Array.prototype.unshift"); var r=(%_ToObject(this)); var S=(%_ToLength(r.length)); var at=arguments.length; if(S>0&&UseSparseVariant(r,S,(%_IsArray(r)),S)&& !%object_is_sealed(r)){ SparseMove(r,0,0,S,at); }else{ SimpleMove(r,0,0,S,at); } for(var z=0;z<at;z++){ r[z]=arguments[z]; } var ah=S+at; r.length=ah; return ah; } function ArraySlice(au,av){ if((%IS_VAR(this)===null)||(this===(void 0)))throw j(17,"Array.prototype.slice"); var r=(%_ToObject(this)); var S=(%_ToLength(r.length)); var Q=(%_ToInteger(au)); var aw=S; if(!(av===(void 0)))aw=(%_ToInteger(av)); if(Q<0){ Q+=S; if(Q<0)Q=0; }else{ if(Q>S)Q=S; } if(aw<0){ aw+=S; if(aw<0)aw=0; }else{ if(aw>S)aw=S; } var ax=ArraySpeciesCreate(r,k(aw-Q,0)); if(aw<Q)return ax; if(UseSparseVariant(r,S,(%_IsArray(r)),aw-Q)){ %NormalizeElements(r); %NormalizeElements(ax); SparseSlice(r,Q,aw-Q,S,ax); }else{ SimpleSlice(r,Q,aw-Q,S,ax); } ax.length=aw-Q; return ax; } function ComputeSpliceStartIndex(Q,S){ if(Q<0){ Q+=S; return Q<0?0:Q; } return Q>S?S:Q; } function ComputeSpliceDeleteCount(ay,at,S,Q){ var R=0; if(at==1) return S-Q; R=(%_ToInteger(ay)); if(R<0) return 0; if(R>S-Q) return S-Q; return R; } function ArraySplice(au,ay){ if((%IS_VAR(this)===null)||(this===(void 0)))throw j(17,"Array.prototype.splice"); var at=arguments.length; var r=(%_ToObject(this)); var S=(%_ToLength(r.length)); var Q=ComputeSpliceStartIndex((%_ToInteger(au)),S); var R=ComputeSpliceDeleteCount(ay,at,S, Q); var T=ArraySpeciesCreate(r,R); T.length=R; var az=at>2?at-2:0; if(R!=az&&%object_is_sealed(r)){ throw j(13); }else if(R>0&&%object_is_frozen(r)){ throw j(12); } var aA=R; if(az!=R){ aA+=S-Q-R; } if(UseSparseVariant(r,S,(%_IsArray(r)),aA)){ %NormalizeElements(r); %NormalizeElements(T); SparseSlice(r,Q,R,S,T); SparseMove(r,Q,R,S,az); }else{ SimpleSlice(r,Q,R,S,T); SimpleMove(r,Q,R,S,az); } var z=Q; var aB=2; var aC=arguments.length; while(aB<aC){ r[z++]=arguments[aB++]; } r.length=S-R+az; return T; } function InnerArraySort(r,s,aD){ if(!(typeof(aD)==='function')){ aD=function(P,aE){ if(P===aE)return 0; if(%_IsSmi(P)&&%_IsSmi(aE)){ return %SmiLexicographicCompare(P,aE); } P=(%_ToString(P)); aE=(%_ToString(aE)); if(P==aE)return 0; else return P<aE?-1:1; }; } var aF=function InsertionSort(u,q,aG){ for(var z=q+1;z<aG;z++){ var aH=u[z]; for(var ak=z-1;ak>=q;ak--){ var aI=u[ak]; var aJ=aD(aI,aH); if(aJ>0){ u[ak+1]=aI; }else{ break; } } u[ak+1]=aH; } }; var aK=function(u,q,aG){ var aL=new h(); var aM=200+((aG-q)&15); var ak=0; q+=1; aG-=1; for(var z=q;z<aG;z+=aM){ aL[ak]=[z,u[z]]; ak++; } aL.sort(function(u,v){ return aD(u[1],v[1]); }); var aN=aL[aL.length>>1][0]; return aN; } var aO=function QuickSort(u,q,aG){ var aN=0; while(true){ if(aG-q<=10){ aF(u,q,aG); return; } if(aG-q>1000){ aN=aK(u,q,aG); }else{ aN=q+((aG-q)>>1); } var aP=u[q]; var aQ=u[aG-1]; var aR=u[aN]; var aS=aD(aP,aQ); if(aS>0){ var aI=aP; aP=aQ; aQ=aI; } var aT=aD(aP,aR); if(aT>=0){ var aI=aP; aP=aR; aR=aQ; aQ=aI; }else{ var aU=aD(aQ,aR); if(aU>0){ var aI=aQ; aQ=aR; aR=aI; } } u[q]=aP; u[aG-1]=aR; var aV=aQ; var aW=q+1; var aX=aG-1; u[aN]=u[aW]; u[aW]=aV; partition:for(var z=aW+1;z<aX;z++){ var aH=u[z]; var aJ=aD(aH,aV); if(aJ<0){ u[z]=u[aW]; u[aW]=aH; aW++; }else if(aJ>0){ do{ aX--; if(aX==z)break partition; var aY=u[aX]; aJ=aD(aY,aV); }while(aJ>0); u[z]=u[aX]; u[aX]=aH; if(aJ<0){ aH=u[z]; u[z]=u[aW]; u[aW]=aH; aW++; } } } if(aG-aX<aW-q){ aO(u,aX,aG); aG=aW; }else{ aO(u,q,aW); q=aX; } } }; var aZ=function CopyFromPrototype(ba,s){ var bb=0; for(var bc=%object_get_prototype_of(ba);bc; bc=%object_get_prototype_of(bc)){ var w=(%_IsJSProxy(bc))?s:%GetArrayKeys(bc,s); if((typeof(w)==='number')){ var bd=w; for(var z=0;z<bd;z++){ if(!(%_Call(m,ba,z))&&(%_Call(m,bc,z))){ ba[z]=bc[z]; if(z>=bb){bb=z+1;} } } }else{ for(var z=0;z<w.length;z++){ var aa=w[z]; if(!(%_Call(m,ba,aa))&&(%_Call(m,bc,aa))){ ba[aa]=bc[aa]; if(aa>=bb){bb=aa+1;} } } } } return bb; }; var be=function(ba,q,aG){ for(var bc=%object_get_prototype_of(ba);bc; bc=%object_get_prototype_of(bc)){ var w=(%_IsJSProxy(bc))?aG:%GetArrayKeys(bc,aG); if((typeof(w)==='number')){ var bd=w; for(var z=q;z<bd;z++){ if((%_Call(m,bc,z))){ ba[z]=(void 0); } } }else{ for(var z=0;z<w.length;z++){ var aa=w[z]; if(q<=aa&&(%_Call(m,bc,aa))){ ba[aa]=(void 0); } } } } }; var bf=function SafeRemoveArrayHoles(ba){ var bg=0; var bh=s-1; var bi=0; while(bg<bh){ while(bg<bh&& !(ba[bg]===(void 0))){ bg++; } if(!(%_Call(m,ba,bg))){ bi++; } while(bg<bh&& (ba[bh]===(void 0))){ if(!(%_Call(m,ba,bh))){ bi++; } bh--; } if(bg<bh){ ba[bg]=ba[bh]; ba[bh]=(void 0); } } if(!(ba[bg]===(void 0)))bg++; var z; for(z=bg;z<s-bi;z++){ ba[z]=(void 0); } for(z=s-bi;z<s;z++){ if(z in %object_get_prototype_of(ba)){ ba[z]=(void 0); }else{ delete ba[z]; } } return bg; }; if(s<2)return r; var G=(%_IsArray(r)); var bj; if(!G){ bj=aZ(r,s); } var bk=%RemoveArrayHoles(r,s); if(bk==-1){ bk=bf(r); } aO(r,0,bk); if(!G&&(bk+1<bj)){ be(r,bk,bj); } return r; } function ArraySort(aD){ if((%IS_VAR(this)===null)||(this===(void 0)))throw j(17,"Array.prototype.sort"); var r=(%_ToObject(this)); var s=(%_ToLength(r.length)); return InnerArraySort(r,s,aD); } function InnerArrayFilter(bl,bm,r,s,ax){ var bn=0; var G=(%_IsArray(r)); for(var z=0;z<s;z++){ if(((G&&%_HasFastPackedElements(%IS_VAR(r))&&(z<r.length))||(z in r))){ var aH=r[z]; if(%_Call(bl,bm,aH,z,r)){ %CreateDataProperty(ax,bn,aH); bn++; } } } return ax; } function ArrayFilter(bl,bm){ if((%IS_VAR(this)===null)||(this===(void 0)))throw j(17,"Array.prototype.filter"); var r=(%_ToObject(this)); var s=(%_ToLength(r.length)); if(!(typeof(bl)==='function'))throw j(15,bl); var ax=ArraySpeciesCreate(r,0); return InnerArrayFilter(bl,bm,r,s,ax); } function InnerArrayForEach(bl,bm,r,s){ if(!(typeof(bl)==='function'))throw j(15,bl); var G=(%_IsArray(r)); if((bm===(void 0))){ for(var z=0;z<s;z++){ if(((G&&%_HasFastPackedElements(%IS_VAR(r))&&(z<r.length))||(z in r))){ var aH=r[z]; bl(aH,z,r); } } }else{ for(var z=0;z<s;z++){ if(((G&&%_HasFastPackedElements(%IS_VAR(r))&&(z<r.length))||(z in r))){ var aH=r[z]; %_Call(bl,bm,aH,z,r); } } } } function ArrayForEach(bl,bm){ if((%IS_VAR(this)===null)||(this===(void 0)))throw j(17,"Array.prototype.forEach"); var r=(%_ToObject(this)); var s=(%_ToLength(r.length)); InnerArrayForEach(bl,bm,r,s); } function InnerArraySome(bl,bm,r,s){ if(!(typeof(bl)==='function'))throw j(15,bl); var G=(%_IsArray(r)); for(var z=0;z<s;z++){ if(((G&&%_HasFastPackedElements(%IS_VAR(r))&&(z<r.length))||(z in r))){ var aH=r[z]; if(%_Call(bl,bm,aH,z,r))return true; } } return false; } function ArraySome(bl,bm){ if((%IS_VAR(this)===null)||(this===(void 0)))throw j(17,"Array.prototype.some"); var r=(%_ToObject(this)); var s=(%_ToLength(r.length)); return InnerArraySome(bl,bm,r,s); } function InnerArrayEvery(bl,bm,r,s){ if(!(typeof(bl)==='function'))throw j(15,bl); var G=(%_IsArray(r)); for(var z=0;z<s;z++){ if(((G&&%_HasFastPackedElements(%IS_VAR(r))&&(z<r.length))||(z in r))){ var aH=r[z]; if(!%_Call(bl,bm,aH,z,r))return false; } } return true; } function ArrayEvery(bl,bm){ if((%IS_VAR(this)===null)||(this===(void 0)))throw j(17,"Array.prototype.every"); var r=(%_ToObject(this)); var s=(%_ToLength(r.length)); return InnerArrayEvery(bl,bm,r,s); } function ArrayMap(bl,bm){ if((%IS_VAR(this)===null)||(this===(void 0)))throw j(17,"Array.prototype.map"); var r=(%_ToObject(this)); var s=(%_ToLength(r.length)); if(!(typeof(bl)==='function'))throw j(15,bl); var ax=ArraySpeciesCreate(r,s); var G=(%_IsArray(r)); for(var z=0;z<s;z++){ if(((G&&%_HasFastPackedElements(%IS_VAR(r))&&(z<r.length))||(z in r))){ var aH=r[z]; %CreateDataProperty(ax,z,%_Call(bl,bm,aH,z,r)); } } return ax; } function InnerArrayIndexOf(r,aH,aa,s){ if(s==0)return-1; if((aa===(void 0))){ aa=0; }else{ aa=(((%_ToInteger(aa)))+0); if(aa<0){ aa=s+aa; if(aa<0)aa=0; } } var bo=aa; var bb=s; if(UseSparseVariant(r,s,(%_IsArray(r)),bb-bo)){ %NormalizeElements(r); var w=%GetArrayKeys(r,s); if((typeof(w)==='number')){ bb=w; }else{ if(w.length==0)return-1; var bp=GetSortedArrayKeys(r,w); var af=bp.length; var z=0; while(z<af&&bp[z]<aa)z++; while(z<af){ var F=bp[z]; if(r[F]===aH)return F; z++; } return-1; } } if(!(aH===(void 0))){ for(var z=bo;z<bb;z++){ if(r[z]===aH)return z; } return-1; } for(var z=bo;z<bb;z++){ if((r[z]===(void 0))&&z in r){ return z; } } return-1; } function ArrayIndexOf(aH,aa){ if((%IS_VAR(this)===null)||(this===(void 0)))throw j(17,"Array.prototype.indexOf"); var s=(%_ToLength(this.length)); return InnerArrayIndexOf(this,aH,aa,s); } function InnerArrayLastIndexOf(r,aH,aa,s,bq){ if(s==0)return-1; if(bq<2){ aa=s-1; }else{ aa=(((%_ToInteger(aa)))+0); if(aa<0)aa+=s; if(aa<0)return-1; else if(aa>=s)aa=s-1; } var bo=0; var bb=aa; if(UseSparseVariant(r,s,(%_IsArray(r)),aa)){ %NormalizeElements(r); var w=%GetArrayKeys(r,aa+1); if((typeof(w)==='number')){ bb=w; }else{ if(w.length==0)return-1; var bp=GetSortedArrayKeys(r,w); var z=bp.length-1; while(z>=0){ var F=bp[z]; if(r[F]===aH)return F; z--; } return-1; } } if(!(aH===(void 0))){ for(var z=bb;z>=bo;z--){ if(r[z]===aH)return z; } return-1; } for(var z=bb;z>=bo;z--){ if((r[z]===(void 0))&&z in r){ return z; } } return-1; } function ArrayLastIndexOf(aH,aa){ if((%IS_VAR(this)===null)||(this===(void 0)))throw j(17,"Array.prototype.lastIndexOf"); var s=(%_ToLength(this.length)); return InnerArrayLastIndexOf(this,aH,aa,s, arguments.length); } function InnerArrayReduce(br,U,r,s,bq){ if(!(typeof(br)==='function')){ throw j(15,br); } var G=(%_IsArray(r)); var z=0; find_initial:if(bq<2){ for(;z<s;z++){ if(((G&&%_HasFastPackedElements(%IS_VAR(r))&&(z<r.length))||(z in r))){ U=r[z++]; break find_initial; } } throw j(121); } for(;z<s;z++){ if(((G&&%_HasFastPackedElements(%IS_VAR(r))&&(z<r.length))||(z in r))){ var aH=r[z]; U=br(U,aH,z,r); } } return U; } function ArrayReduce(br,U){ if((%IS_VAR(this)===null)||(this===(void 0)))throw j(17,"Array.prototype.reduce"); var r=(%_ToObject(this)); var s=(%_ToLength(r.length)); return InnerArrayReduce(br,U,r,s, arguments.length); } function InnerArrayReduceRight(br,U,r,s, bq){ if(!(typeof(br)==='function')){ throw j(15,br); } var G=(%_IsArray(r)); var z=s-1; find_initial:if(bq<2){ for(;z>=0;z--){ if(((G&&%_HasFastPackedElements(%IS_VAR(r))&&(z<r.length))||(z in r))){ U=r[z--]; break find_initial; } } throw j(121); } for(;z>=0;z--){ if(((G&&%_HasFastPackedElements(%IS_VAR(r))&&(z<r.length))||(z in r))){ var aH=r[z]; U=br(U,aH,z,r); } } return U; } function ArrayReduceRight(br,U){ if((%IS_VAR(this)===null)||(this===(void 0)))throw j(17,"Array.prototype.reduceRight"); var r=(%_ToObject(this)); var s=(%_ToLength(r.length)); return InnerArrayReduceRight(br,U,r,s, arguments.length); } function InnerArrayCopyWithin(bs,au,av,r,s){ bs=(%_ToInteger(bs)); var aG; if(bs<0){ aG=k(s+bs,0); }else{ aG=l(bs,s); } au=(%_ToInteger(au)); var q; if(au<0){ q=k(s+au,0); }else{ q=l(au,s); } av=(av===(void 0))?s:(%_ToInteger(av)); var bt; if(av<0){ bt=k(s+av,0); }else{ bt=l(av,s); } var bu=l(bt-q,s-aG); var bv=1; if(q<aG&&aG<(q+bu)){ bv=-1; q=q+bu-1; aG=aG+bu-1; } while(bu>0){ if(q in r){ r[aG]=r[q]; }else{ delete r[aG]; } q=q+bv; aG=aG+bv; bu--; } return r; } function ArrayCopyWithin(bs,au,av){ if((%IS_VAR(this)===null)||(this===(void 0)))throw j(17,"Array.prototype.copyWithin"); var r=(%_ToObject(this)); var s=(%_ToLength(r.length)); return InnerArrayCopyWithin(bs,au,av,r,s); } function InnerArrayFind(bw,bx,r,s){ if(!(typeof(bw)==='function')){ throw j(15,bw); } for(var z=0;z<s;z++){ var aH=r[z]; if(%_Call(bw,bx,aH,z,r)){ return aH; } } return; } function ArrayFind(bw,bx){ if((%IS_VAR(this)===null)||(this===(void 0)))throw j(17,"Array.prototype.find"); var r=(%_ToObject(this)); var s=(%_ToInteger(r.length)); return InnerArrayFind(bw,bx,r,s); } function InnerArrayFindIndex(bw,bx,r,s){ if(!(typeof(bw)==='function')){ throw j(15,bw); } for(var z=0;z<s;z++){ var aH=r[z]; if(%_Call(bw,bx,aH,z,r)){ return z; } } return-1; } function ArrayFindIndex(bw,bx){ if((%IS_VAR(this)===null)||(this===(void 0)))throw j(17,"Array.prototype.findIndex"); var r=(%_ToObject(this)); var s=(%_ToInteger(r.length)); return InnerArrayFindIndex(bw,bx,r,s); } function InnerArrayFill(L,au,av,r,s){ var z=(au===(void 0))?0:(%_ToInteger(au)); var av=(av===(void 0))?s:(%_ToInteger(av)); if(z<0){ z+=s; if(z<0)z=0; }else{ if(z>s)z=s; } if(av<0){ av+=s; if(av<0)av=0; }else{ if(av>s)av=s; } if((av-z)>0&&%object_is_frozen(r)){ throw j(12); } for(;z<av;z++) r[z]=L; return r; } function ArrayFill(L,au,av){ if((%IS_VAR(this)===null)||(this===(void 0)))throw j(17,"Array.prototype.fill"); var r=(%_ToObject(this)); var s=(%_ToLength(r.length)); return InnerArrayFill(L,au,av,r,s); } function InnerArrayIncludes(by,bz,r,s){ if(s===0){ return false; } var af=(%_ToInteger(bz)); var V; if(af>=0){ V=af; }else{ V=s+af; if(V<0){ V=0; } } while(V<s){ var bA=r[V]; if(%SameValueZero(by,bA)){ return true; } ++V; } return false; } function ArrayIncludes(by,bz){ if((%IS_VAR(this)===null)||(this===(void 0)))throw j(17,"Array.prototype.includes"); var r=(%_ToObject(this)); var s=(%_ToLength(r.length)); return InnerArrayIncludes(by,bz,r,s); } function ArrayFrom(bB,bC,bm){ var bD=(%_ToObject(bB)); var bE=!(bC===(void 0)); if(bE){ if(!(typeof(bC)==='function')){ throw j(15,bC); } } var bF=f(bD,o); var V; var ax; var bG; var bH; if(!(bF===(void 0))){ ax=%IsConstructor(this)?new this():[]; V=0; for(bH of {[o](){return e(bD,bF)}}){ if(bE){ bG=%_Call(bC,bm,bH,V); }else{ bG=bH; } %CreateDataProperty(ax,V,bG); V++; } ax.length=V; return ax; }else{ var S=(%_ToLength(bD.length)); ax=%IsConstructor(this)?new this(S):new g(S); for(V=0;V<S;++V){ bH=bD[V]; if(bE){ bG=%_Call(bC,bm,bH,V); }else{ bG=bH; } %CreateDataProperty(ax,V,bG); } ax.length=V; return ax; } } function ArrayOf(...args){ var s=args.length; var t=this; var r=%IsConstructor(t)?new t(s):[]; for(var z=0;z<s;z++){ %CreateDataProperty(r,z,args[z]); } r.length=s; return r; } %AddNamedProperty(g.prototype,"constructor",g, 2); var bI={ __proto__:null, copyWithin:true, entries:true, fill:true, find:true, findIndex:true, keys:true, }; %AddNamedProperty(g.prototype,p,bI, 2|1); %FunctionSetLength(ArrayFrom,1); b.InstallFunctions(g,2,[ "from",ArrayFrom, "of",ArrayOf ]); var bJ=%SpecialArrayFunctions(); var bK=function(bL,bM,S){ var bl=bM; if(bJ.hasOwnProperty(bL)){ bl=bJ[bL]; } if(!(S===(void 0))){ %FunctionSetLength(bl,S); } return bl; }; b.InstallFunctions(g.prototype,2,[ "toString",bK("toString",ArrayToString), "toLocaleString",bK("toLocaleString",ArrayToLocaleString), "join",bK("join",ArrayJoin), "pop",bK("pop",ArrayPop), "push",bK("push",ArrayPush,1), "reverse",bK("reverse",ArrayReverse), "shift",bK("shift",ArrayShift), "unshift",bK("unshift",ArrayUnshift,1), "slice",bK("slice",ArraySlice,2), "splice",bK("splice",ArraySplice,2), "sort",bK("sort",ArraySort), "filter",bK("filter",ArrayFilter,1), "forEach",bK("forEach",ArrayForEach,1), "some",bK("some",ArraySome,1), "every",bK("every",ArrayEvery,1), "map",bK("map",ArrayMap,1), "indexOf",bK("indexOf",ArrayIndexOf,1), "lastIndexOf",bK("lastIndexOf",ArrayLastIndexOf,1), "reduce",bK("reduce",ArrayReduce,1), "reduceRight",bK("reduceRight",ArrayReduceRight,1), "copyWithin",bK("copyWithin",ArrayCopyWithin,2), "find",bK("find",ArrayFind,1), "findIndex",bK("findIndex",ArrayFindIndex,1), "fill",bK("fill",ArrayFill,1), "includes",bK("includes",ArrayIncludes,1), ]); %FinishArrayPrototypeSetup(g.prototype); b.SetUpLockedPrototype(h,g(),[ "indexOf",bK("indexOf",ArrayIndexOf), "join",bK("join",ArrayJoin), "pop",bK("pop",ArrayPop), "push",bK("push",ArrayPush), "shift",bK("shift",ArrayShift), "sort",bK("sort",ArraySort), "splice",bK("splice",ArraySplice) ]); b.SetUpLockedPrototype(i,g(),[ "join",bK("join",ArrayJoin), "pop",bK("pop",ArrayPop), "push",bK("push",ArrayPush), "shift",bK("shift",ArrayShift) ]); b.SetUpLockedPrototype(c.InternalPackedArray,g(),[ "push",bK("push",ArrayPush), "pop",bK("pop",ArrayPop), "shift",bK("shift",ArrayShift), "unshift",bK("unshift",ArrayUnshift), "splice",bK("splice",ArraySplice), "slice",bK("slice",ArraySlice) ]); b.Export(function(aG){ aG.ArrayFrom=ArrayFrom; aG.ArrayIndexOf=ArrayIndexOf; aG.ArrayJoin=ArrayJoin; aG.ArrayPush=ArrayPush; aG.ArrayToString=ArrayToString; aG.InnerArrayCopyWithin=InnerArrayCopyWithin; aG.InnerArrayEvery=InnerArrayEvery; aG.InnerArrayFill=InnerArrayFill; aG.InnerArrayFilter=InnerArrayFilter; aG.InnerArrayFind=InnerArrayFind; aG.InnerArrayFindIndex=InnerArrayFindIndex; aG.InnerArrayForEach=InnerArrayForEach; aG.InnerArrayIncludes=InnerArrayIncludes; aG.InnerArrayIndexOf=InnerArrayIndexOf; aG.InnerArrayJoin=InnerArrayJoin; aG.InnerArrayLastIndexOf=InnerArrayLastIndexOf; aG.InnerArrayReduce=InnerArrayReduce; aG.InnerArrayReduceRight=InnerArrayReduceRight; aG.InnerArraySome=InnerArraySome; aG.InnerArraySort=InnerArraySort; aG.InnerArrayToLocaleString=InnerArrayToLocaleString; aG.PackedArrayReverse=PackedArrayReverse; aG.Stack=Stack; aG.StackHas=StackHas; aG.StackPush=StackPush; aG.StackPop=StackPop; }); %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; var n; var o=b.ImportNow("match_symbol"); var p=b.ImportNow("replace_symbol"); var q=b.ImportNow("search_symbol"); var r=b.ImportNow("split_symbol"); b.Import(function(s){ c=s.ArrayIndexOf; d=s.ArrayJoin; i=s.IsRegExp; j=s.MakeRangeError; k=s.MakeTypeError; l=s.MaxSimple; m=s.MinSimple; n=s.RegExpInitialize; }); function StringToString(){ if(!(typeof(this)==='string')&&!(%_ClassOf(this)==='String')){ throw k(69,'String.prototype.toString'); } return %_ValueOf(this); } function StringValueOf(){ if(!(typeof(this)==='string')&&!(%_ClassOf(this)==='String')){ throw k(69,'String.prototype.valueOf'); } return %_ValueOf(this); } function StringConcat(t){ "use strict"; if((%IS_VAR(this)===null)||(this===(void 0)))throw k(17,"String.prototype.concat"); var u=(%_ToString(this)); var v=arguments.length; for(var w=0;w<v;++w){ u=u+(%_ToString(arguments[w])); } return u; } function StringIndexOf(x,y){ if((%IS_VAR(this)===null)||(this===(void 0)))throw k(17,"String.prototype.indexOf"); var z=(%_ToString(this)); x=(%_ToString(x)); var A=(%_ToInteger(y)); if(A<0)A=0; if(A>z.length)A=z.length; return %StringIndexOf(z,x,A); } %FunctionSetLength(StringIndexOf,1); function StringLastIndexOf(B,C){ if((%IS_VAR(this)===null)||(this===(void 0)))throw k(17,"String.prototype.lastIndexOf"); var D=(%_ToString(this)); var E=D.length; var B=(%_ToString(B)); var F=B.length; var A=E-F; var y=(%_ToNumber(C)); if(!(!%_IsSmi(%IS_VAR(y))&&!(y==y))){ y=(%_ToInteger(y)); if(y<0){ y=0; } if(y+F<E){ A=y; } } if(A<0){ return-1; } return %StringLastIndexOf(D,B,A); } %FunctionSetLength(StringLastIndexOf,1); function StringLocaleCompareJS(t){ if((%IS_VAR(this)===null)||(this===(void 0)))throw k(17,"String.prototype.localeCompare"); return %StringLocaleCompare((%_ToString(this)),(%_ToString(t))); } function StringMatchJS(x){ if((%IS_VAR(this)===null)||(this===(void 0)))throw k(17,"String.prototype.match"); if(!(x==null)){ var G=x[o]; if(!(G===(void 0))){ return %_Call(G,x,this); } } var z=(%_ToString(this)); var H=%_NewObject(e,e); n(H,x); return H[o](z); } function StringNormalize(I){ if((%IS_VAR(this)===null)||(this===(void 0)))throw k(17,"String.prototype.normalize"); var u=(%_ToString(this)); var J=(I===(void 0))?'NFC':(%_ToString(I)); var K=['NFC','NFD','NFKC','NFKD']; var L=%_Call(c,K,J); if(L===-1){ throw j(173, %_Call(d,K,', ')); } return u; } %FunctionSetLength(StringNormalize,0); var M=[2,"","",-1,-1]; function StringReplace(N,O){ if((%IS_VAR(this)===null)||(this===(void 0)))throw k(17,"String.prototype.replace"); if(!(N==null)){ var P=N[p]; if(!(P===(void 0))){ return %_Call(P,N,this,O); } } var z=(%_ToString(this)); N=(%_ToString(N)); if(N.length==1&& z.length>0xFF&& (typeof(O)==='string')&& %StringIndexOf(O,'$',0)<0){ return %StringReplaceOneCharWithString(z,N,O); } var Q=%StringIndexOf(z,N,0); if(Q<0)return z; var R=Q+N.length; var S=%_SubString(z,0,Q); if((typeof(O)==='function')){ S+=O(N,Q,z); }else{ M[3]=Q; M[4]=R; S=ExpandReplacement((%_ToString(O)), z, M, S); } return S+%_SubString(z,R,z.length); } function ExpandReplacement(T,z,U,S){ var V=T.length; var W=%StringIndexOf(T,'$',0); if(W<0){ if(V>0)S+=T; return S; } if(W>0)S+=%_SubString(T,0,W); while(true){ var X='$'; var y=W+1; if(y<V){ var Y=%_StringCharCodeAt(T,y); if(Y==36){ ++y; S+='$'; }else if(Y==38){ ++y; S+= %_SubString(z,U[3],U[4]); }else if(Y==96){ ++y; S+=%_SubString(z,0,U[3]); }else if(Y==39){ ++y; S+=%_SubString(z,U[4],z.length); }else if(Y>=48&&Y<=57){ var Z=(Y-48)<<1; var aa=1; var ab=((U)[0]); if(y+1<T.length){ var W=%_StringCharCodeAt(T,y+1); if(W>=48&&W<=57){ var ac=Z*10+((W-48)<<1); if(ac<ab){ Z=ac; aa=2; } } } if(Z!=0&&Z<ab){ var Q=U[(3+(Z))]; if(Q>=0){ S+= %_SubString(z,Q,U[(3+(Z+1))]); } y+=aa; }else{ S+='$'; } }else{ S+='$'; } }else{ S+='$'; } W=%StringIndexOf(T,'$',y); if(W<0){ if(y<V){ S+=%_SubString(T,y,V); } return S; } if(W>y){ S+=%_SubString(T,y,W); } } return S; } function StringSearch(x){ if((%IS_VAR(this)===null)||(this===(void 0)))throw k(17,"String.prototype.search"); if(!(x==null)){ var ad=x[q]; if(!(ad===(void 0))){ return %_Call(ad,x,this); } } var z=(%_ToString(this)); var H=%_NewObject(e,e); n(H,x); return %_Call(H[q],H,z); } function StringSlice(Q,R){ if((%IS_VAR(this)===null)||(this===(void 0)))throw k(17,"String.prototype.slice"); var u=(%_ToString(this)); var ae=u.length; var af=(%_ToInteger(Q)); var ag=ae; if(!(R===(void 0))){ ag=(%_ToInteger(R)); } if(af<0){ af+=ae; if(af<0){ af=0; } }else{ if(af>ae){ return''; } } if(ag<0){ ag+=ae; if(ag<0){ return''; } }else{ if(ag>ae){ ag=ae; } } if(ag<=af){ return''; } return %_SubString(u,af,ag); } function StringSplitJS(ah,ai){ if((%IS_VAR(this)===null)||(this===(void 0)))throw k(17,"String.prototype.split"); if(!(ah==null)){ var aj=ah[r]; if(!(aj===(void 0))){ return %_Call(aj,ah,this,ai); } } var z=(%_ToString(this)); ai=((ai===(void 0)))?4294967295:((ai)>>>0); var V=z.length; var ak=(%_ToString(ah)); if(ai===0)return[]; if((ah===(void 0)))return[z]; var al=ak.length; if(al===0)return %StringToArray(z,ai); return %StringSplit(z,ak,ai); } function StringSubstring(Q,R){ if((%IS_VAR(this)===null)||(this===(void 0)))throw k(17,"String.prototype.subString"); var u=(%_ToString(this)); var ae=u.length; var af=(%_ToInteger(Q)); if(af<0){ af=0; }else if(af>ae){ af=ae; } var ag=ae; if(!(R===(void 0))){ ag=(%_ToInteger(R)); if(ag>ae){ ag=ae; }else{ if(ag<0)ag=0; if(af>ag){ var am=ag; ag=af; af=am; } } } return %_SubString(u,af,ag); } function StringSubstr(Q,an){ if((%IS_VAR(this)===null)||(this===(void 0)))throw k(17,"String.prototype.substr"); var u=(%_ToString(this)); var v; if((an===(void 0))){ v=u.length; }else{ v=(%_ToInteger(an)); if(v<=0)return''; } if((Q===(void 0))){ Q=0; }else{ Q=(%_ToInteger(Q)); if(Q>=u.length)return''; if(Q<0){ Q+=u.length; if(Q<0)Q=0; } } var R=Q+v; if(R>u.length)R=u.length; return %_SubString(u,Q,R); } function StringToLowerCaseJS(){ if((%IS_VAR(this)===null)||(this===(void 0)))throw k(17,"String.prototype.toLowerCase"); return %StringToLowerCase((%_ToString(this))); } function StringToLocaleLowerCase(){ if((%IS_VAR(this)===null)||(this===(void 0)))throw k(17,"String.prototype.toLocaleLowerCase"); return %StringToLowerCase((%_ToString(this))); } function StringToUpperCaseJS(){ if((%IS_VAR(this)===null)||(this===(void 0)))throw k(17,"String.prototype.toUpperCase"); return %StringToUpperCase((%_ToString(this))); } function StringToLocaleUpperCase(){ if((%IS_VAR(this)===null)||(this===(void 0)))throw k(17,"String.prototype.toLocaleUpperCase"); return %StringToUpperCase((%_ToString(this))); } function StringTrimJS(){ if((%IS_VAR(this)===null)||(this===(void 0)))throw k(17,"String.prototype.trim"); return %StringTrim((%_ToString(this)),true,true); } function StringTrimLeft(){ if((%IS_VAR(this)===null)||(this===(void 0)))throw k(17,"String.prototype.trimLeft"); return %StringTrim((%_ToString(this)),true,false); } function StringTrimRight(){ if((%IS_VAR(this)===null)||(this===(void 0)))throw k(17,"String.prototype.trimRight"); return %StringTrim((%_ToString(this)),false,true); } function HtmlEscape(ao){ return %_Call(StringReplace,(%_ToString(ao)),/"/g,"""); } function StringAnchor(ap){ if((%IS_VAR(this)===null)||(this===(void 0)))throw k(17,"String.prototype.anchor"); return"<a name=\""+HtmlEscape(ap)+"\">"+(%_ToString(this))+ "</a>"; } function StringBig(){ if((%IS_VAR(this)===null)||(this===(void 0)))throw k(17,"String.prototype.big"); return"<big>"+(%_ToString(this))+"</big>"; } function StringBlink(){ if((%IS_VAR(this)===null)||(this===(void 0)))throw k(17,"String.prototype.blink"); return"<blink>"+(%_ToString(this))+"</blink>"; } function StringBold(){ if((%IS_VAR(this)===null)||(this===(void 0)))throw k(17,"String.prototype.bold"); return"<b>"+(%_ToString(this))+"</b>"; } function StringFixed(){ if((%IS_VAR(this)===null)||(this===(void 0)))throw k(17,"String.prototype.fixed"); return"<tt>"+(%_ToString(this))+"</tt>"; } function StringFontcolor(aq){ if((%IS_VAR(this)===null)||(this===(void 0)))throw k(17,"String.prototype.fontcolor"); return"<font color=\""+HtmlEscape(aq)+"\">"+(%_ToString(this))+ "</font>"; } function StringFontsize(ar){ if((%IS_VAR(this)===null)||(this===(void 0)))throw k(17,"String.prototype.fontsize"); return"<font size=\""+HtmlEscape(ar)+"\">"+(%_ToString(this))+ "</font>"; } function StringItalics(){ if((%IS_VAR(this)===null)||(this===(void 0)))throw k(17,"String.prototype.italics"); return"<i>"+(%_ToString(this))+"</i>"; } function StringLink(u){ if((%IS_VAR(this)===null)||(this===(void 0)))throw k(17,"String.prototype.link"); return"<a href=\""+HtmlEscape(u)+"\">"+(%_ToString(this))+"</a>"; } function StringSmall(){ if((%IS_VAR(this)===null)||(this===(void 0)))throw k(17,"String.prototype.small"); return"<small>"+(%_ToString(this))+"</small>"; } function StringStrike(){ if((%IS_VAR(this)===null)||(this===(void 0)))throw k(17,"String.prototype.strike"); return"<strike>"+(%_ToString(this))+"</strike>"; } function StringSub(){ if((%IS_VAR(this)===null)||(this===(void 0)))throw k(17,"String.prototype.sub"); return"<sub>"+(%_ToString(this))+"</sub>"; } function StringSup(){ if((%IS_VAR(this)===null)||(this===(void 0)))throw k(17,"String.prototype.sup"); return"<sup>"+(%_ToString(this))+"</sup>"; } function StringRepeat(as){ if((%IS_VAR(this)===null)||(this===(void 0)))throw k(17,"String.prototype.repeat"); var u=(%_ToString(this)); var an=(%_ToInteger(as)); if(an<0||an===(1/0))throw j(157); if(u.length===0)return""; if(an>%_MaxSmi())throw j(157); var at=""; while(true){ if(an&1)at+=u; an>>=1; if(an===0)return at; u+=u; } } function StringStartsWith(au,y){ if((%IS_VAR(this)===null)||(this===(void 0)))throw k(17,"String.prototype.startsWith"); var u=(%_ToString(this)); if(i(au)){ throw k(40,"String.prototype.startsWith"); } var av=(%_ToString(au)); var C=(%_ToInteger(y)); var ae=u.length; var Q=m(l(C,0),ae); var aw=av.length; if(aw+Q>ae){ return false; } return %_SubString(u,Q,Q+aw)===av; } %FunctionSetLength(StringStartsWith,1); function StringEndsWith(au,y){ if((%IS_VAR(this)===null)||(this===(void 0)))throw k(17,"String.prototype.endsWith"); var u=(%_ToString(this)); if(i(au)){ throw k(40,"String.prototype.endsWith"); } var av=(%_ToString(au)); var ae=u.length; var C=!(y===(void 0))?(%_ToInteger(y)):ae var R=m(l(C,0),ae); var aw=av.length; var Q=R-aw; if(Q<0){ return false; } return %_SubString(u,Q,Q+aw)===av; } %FunctionSetLength(StringEndsWith,1); function StringIncludes(au,y){ if((%IS_VAR(this)===null)||(this===(void 0)))throw k(17,"String.prototype.includes"); var T=(%_ToString(this)); if(i(au)){ throw k(40,"String.prototype.includes"); } au=(%_ToString(au)); var C=(%_ToInteger(y)); var ax=T.length; if(C<0)C=0; if(C>ax)C=ax; var ay=au.length; if(ay+C>ax){ return false; } return %StringIndexOf(T,au,C)!==-1; } %FunctionSetLength(StringIncludes,1); function StringCodePointAt(C){ if((%IS_VAR(this)===null)||(this===(void 0)))throw k(17,"String.prototype.codePointAt"); var T=(%_ToString(this)); var ar=T.length; C=(%_ToInteger(C)); if(C<0||C>=ar){ return(void 0); } var az=%_StringCharCodeAt(T,C); if(az<0xD800||az>0xDBFF||C+1==ar){ return az; } var aA=%_StringCharCodeAt(T,C+1); if(aA<0xDC00||aA>0xDFFF){ return az; } return(az-0xD800)*0x400+aA+0x2400; } function StringFromCodePoint(aB){ "use strict"; var aC; var V=arguments.length; var A; var S=""; for(A=0;A<V;A++){ aC=arguments[A]; if(!%_IsSmi(aC)){ aC=(%_ToNumber(aC)); } if(aC<0||aC>0x10FFFF||aC!==(%_ToInteger(aC))){ throw j(156,aC); } if(aC<=0xFFFF){ S+=%_StringCharFromCode(aC); }else{ aC-=0x10000; S+=%_StringCharFromCode((aC>>>10)&0x3FF|0xD800); S+=%_StringCharFromCode(aC&0x3FF|0xDC00); } } return S; } function StringRaw(aD){ "use strict"; var aE=arguments.length; var aF=(%_ToObject(aD)); var aG=(%_ToObject(aF.raw)); var aH=(%_ToLength(aG.length)); if(aH<=0)return""; var S=(%_ToString(aG[0])); for(var w=1;w<aH;++w){ if(w<aE){ S+=(%_ToString(arguments[w])); } S+=(%_ToString(aG[w])); } return S; } b.InstallFunctions(f,2,[ "fromCodePoint",StringFromCodePoint, "raw",StringRaw ]); b.InstallFunctions(f.prototype,2,[ "valueOf",StringValueOf, "toString",StringToString, "codePointAt",StringCodePointAt, "concat",StringConcat, "endsWith",StringEndsWith, "includes",StringIncludes, "indexOf",StringIndexOf, "lastIndexOf",StringLastIndexOf, "localeCompare",StringLocaleCompareJS, "match",StringMatchJS, "normalize",StringNormalize, "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(aI){ aI.ExpandReplacement=ExpandReplacement; aI.StringIndexOf=StringIndexOf; aI.StringLastIndexOf=StringLastIndexOf; aI.StringMatch=StringMatchJS; aI.StringReplace=StringReplace; aI.StringSlice=StringSlice; aI.StringSplit=StringSplitJS; aI.StringSubstr=StringSubstr; aI.StringSubstring=StringSubstring; }); }) uri3 (function(a,b){ "use strict"; %CheckIsBootstrapping(); var c=a.Object; var d=b.InternalArray; var e; b.Import(function(f){ e=f.MakeURIError; }); function HexValueOf(g){ if(g>=48&&g<=57)return g-48; if(g>=65&&g<=70)return g-55; if(g>=97&&g<=102)return g-87; return-1; } function URIHexCharsToCharCode(h,i){ var j=HexValueOf(h); var k=HexValueOf(i); if(j==-1||k==-1)throw e(); return(j<<4)|k; } function URIDecodeOctets(l,m,n){ var o; var p=l[0]; if(p<0x80){ o=p; }else if(p<0xc2){ throw e(); }else{ var q=l[1]; if(p<0xe0){ var r=p&0x1f; if((q<0x80)||(q>0xbf))throw e(); var s=q&0x3f; o=(r<<6)+s; if(o<0x80||o>0x7ff)throw e(); }else{ var t=l[2]; if(p<0xf0){ var r=p&0x0f; if((q<0x80)||(q>0xbf))throw e(); var s=q&0x3f; if((t<0x80)||(t>0xbf))throw e(); var u=t&0x3f; o=(r<<12)+(s<<6)+u; if((o<0x800)||(o>0xffff))throw e(); }else{ var v=l[3]; if(p<0xf8){ var r=(p&0x07); if((q<0x80)||(q>0xbf))throw e(); var s=(q&0x3f); if((t<0x80)||(t>0xbf)){ throw e(); } var u=(t&0x3f); if((v<0x80)||(v>0xbf))throw e(); var w=(v&0x3f); o=(r<<18)+(s<<12)+(u<<6)+w; if((o<0x10000)||(o>0x10ffff))throw e(); }else{ throw e(); } } } } if(0xD800<=o&&o<=0xDFFF)throw e(); if(o<0x10000){ %_TwoByteSeqStringSetChar(n++,o,m); }else{ %_TwoByteSeqStringSetChar(n++,(o>>10)+0xd7c0,m); %_TwoByteSeqStringSetChar(n++,(o&0x3ff)+0xdc00,m); } return n; } function Decode(x,y){ x=(%_ToString(x)); var z=x.length; var A=%NewString(z,true); var n=0; var B=0; for(;B<z;B++){ var g=%_StringCharCodeAt(x,B); if(g==37){ if(B+2>=z)throw e(); var C=URIHexCharsToCharCode(%_StringCharCodeAt(x,B+1), %_StringCharCodeAt(x,B+2)); if(C>>7)break; if(y(C)){ %_OneByteSeqStringSetChar(n++,37,A); %_OneByteSeqStringSetChar(n++,%_StringCharCodeAt(x,B+1), A); %_OneByteSeqStringSetChar(n++,%_StringCharCodeAt(x,B+2), A); }else{ %_OneByteSeqStringSetChar(n++,C,A); } B+=2; }else{ if(g>0x7f)break; %_OneByteSeqStringSetChar(n++,g,A); } } A=%TruncateString(A,n); if(B==z)return A; var D=%NewString(z-B,false); n=0; for(;B<z;B++){ var g=%_StringCharCodeAt(x,B); if(g==37){ if(B+2>=z)throw e(); var C=URIHexCharsToCharCode(%_StringCharCodeAt(x,++B), %_StringCharCodeAt(x,++B)); if(C>>7){ var E=0; while(((C<<++E)&0x80)!=0){} if(E==1||E>4)throw e(); var l=new d(E); l[0]=C; if(B+3*(E-1)>=z)throw e(); for(var F=1;F<E;F++){ if(x[++B]!='%')throw e(); l[F]=URIHexCharsToCharCode(%_StringCharCodeAt(x,++B), %_StringCharCodeAt(x,++B)); } n=URIDecodeOctets(l,D,n); }else if(y(C)){ %_TwoByteSeqStringSetChar(n++,37,D); %_TwoByteSeqStringSetChar(n++,%_StringCharCodeAt(x,B-1), D); %_TwoByteSeqStringSetChar(n++,%_StringCharCodeAt(x,B), D); }else{ %_TwoByteSeqStringSetChar(n++,C,D); } }else{ %_TwoByteSeqStringSetChar(n++,g,D); } } D=%TruncateString(D,n); return A+D; } function URIEscapeJS(G){ return %URIEscape(G); } function URIUnescapeJS(G){ return %URIUnescape(G); } function URIDecode(x){ var H=function(C){ if(35<=C&&C<=36)return true; if(C==38)return true; if(43<=C&&C<=44)return true; if(C==47)return true; if(58<=C&&C<=59)return true; if(C==61)return true; if(63<=C&&C<=64)return true; return false; }; return Decode(x,H); } function URIDecodeComponent(I){ var H=function(C){return false;}; return Decode(I,H); } b.InstallFunctions(a,2,[ "escape",URIEscapeJS, "unescape",URIUnescapeJS, "decodeURI",URIDecode, "decodeURIComponent",URIDecodeComponent ]); }) mathQ, (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=0; var i=(void 0); var j=b.ImportNow("to_string_tag_symbol"); function MathAbs(k){ k=+k; return(k>0)?k:0-k; } function MathAtan2JS(l,k){ l=+l; k=+k; return %MathAtan2(l,k); } function MathExp(k){ return %MathExpRT((%_ToNumber(k))); } function MathLog(k){ return %_MathLogRT((%_ToNumber(k))); } function MathPowJS(k,l){ return %_MathPow((%_ToNumber(k)),(%_ToNumber(l))); } function MathRandom(){ if(h<=2){ i=%GenerateRandomNumbers(i); h=i.length; } return i[--h]; } function MathRandomRaw(){ if(h<=2){ i=%GenerateRandomNumbers(i); h=i.length; } return %_DoubleLo(i[--h])&0x3FFFFFFF; } function MathSign(k){ k=+k; if(k>0)return 1; if(k<0)return-1; 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+%math_sqrt(k*k+1)); return-MathLog(-k+%math_sqrt(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+%math_sqrt(k+1)*%math_sqrt(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 m=arguments.length; var n=0; for(var o=0;o<m;o++){ var p=MathAbs(arguments[o]); if(p>n)n=p; arguments[o]=p; } if(n===(1/0))return(1/0); if(n===0)n=1; var q=0; var r=0; for(var o=0;o<m;o++){ var p=arguments[o]/n; var s=p*p-r; var t=q+s; r=(t-q)-s; q=t; } return %math_sqrt(q)*n; } 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 u=%math_floor(%_DoubleHi(k)/3)+0x2A9F7893; var v=%_ConstructDouble(u|0,0); v=(1.0/3.0)*(k/(v*v)+2*v); ; v=(1.0/3.0)*(k/(v*v)+2*v); ; v=(1.0/3.0)*(k/(v*v)+2*v); ; return(1.0/3.0)*(k/(v*v)+2*v); ; } %InstallToContext([ "math_pow",MathPowJS, ]); %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, "exp",MathExp, "log",MathLog, "atan2",MathAtan2JS, "pow",MathPowJS, "sign",MathSign, "asinh",MathAsinh, "acosh",MathAcosh, "atanh",MathAtanh, "hypot",MathHypot, "cbrt",MathCbrt ]); %SetForceInlineFlag(MathAbs); %SetForceInlineFlag(MathAtan2JS); %SetForceInlineFlag(MathRandom); %SetForceInlineFlag(MathSign); b.Export(function(w){ w.MathAbs=MathAbs; w.MathExp=MathExp; w.IntRandom=MathRandomRaw; }); }) 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.Array; var e=a.Object; var f=a.RegExp; var g; var h=b.InternalArray; var i=b.InternalPackedArray; var j; var k; var l; var m=b.ImportNow("match_symbol"); var n=b.ImportNow("replace_symbol"); var o=b.ImportNow("search_symbol"); var p=b.ImportNow("split_symbol"); var q; b.Import(function(r){ c=r.ExpandReplacement; j=r.MakeTypeError; k=r.MaxSimple; l=r.MinSimple; q=r.SpeciesConstructor; }); var s=new i( 2, "", (void 0), 0, 0 ); function IsRegExp(t){ if(!(%_IsJSReceiver(t)))return false; var u=t[m]; if(!(u===(void 0)))return(!!(u)); return(%_IsRegExp(t)); } function RegExpInitialize(v,w,x){ w=(w===(void 0))?'':(%_ToString(w)); x=(x===(void 0))?'':(%_ToString(x)); %RegExpInitializeAndCompile(v,w,x); return v; } function PatternFlags(w){ return((%_RegExpFlags(w)&1)?'g':'')+ ((%_RegExpFlags(w)&2)?'i':'')+ ((%_RegExpFlags(w)&4)?'m':'')+ ((%_RegExpFlags(w)&16)?'u':'')+ ((%_RegExpFlags(w)&8)?'y':''); } function RegExpConstructor(w,x){ var y=new.target; var z=IsRegExp(w); if((y===(void 0))){ y=f; if(z&&(x===(void 0))&& w.constructor===y){ return w; } } if((%_IsRegExp(w))){ if((x===(void 0)))x=PatternFlags(w); w=(%_RegExpSource(w)); }else if(z){ var A=w; w=w.source; if((x===(void 0)))x=A.flags; } var v=%_NewObject(f,y); return RegExpInitialize(v,w,x); } function RegExpCompileJS(w,x){ if(!(%_IsRegExp(this))){ throw j(44, "RegExp.prototype.compile",this); } if((%_IsRegExp(w))){ if(!(x===(void 0)))throw j(122); x=PatternFlags(w); w=(%_RegExpSource(w)); } RegExpInitialize(this,w,x); } function DoRegExpExec(B,C,D){ return %_RegExpExec(B,C,D,s); } function RegExpExecNoTests(B,C,E){ var F=%_RegExpExec(B,C,E,s); if(F!==null){ if((%_RegExpFlags(B)&8))B.lastIndex=F[4]; var G=((F)[0])>>1; var E=F[3]; var H=F[4]; var I=%_SubString(C,E,H); var J=%_RegExpConstructResult(G,E,C); J[0]=I; if(G==1)return J; var K=3+2; for(var L=1;L<G;L++){ E=F[K++]; if(E!=-1){ H=F[K]; J[L]=%_SubString(C,E,H); } K++; } return J; ; } B.lastIndex=0; return null; } function RegExpSubclassExecJS(C){ if(!(%_IsRegExp(this))){ throw j(44, 'RegExp.prototype.exec',this); } C=(%_ToString(C)); var M=this.lastIndex; var L=(%_ToLength(M)); var a=(!!((%_RegExpFlags(this)&1))); var N=(!!((%_RegExpFlags(this)&8))); var O=a||N; if(O){ if(L>C.length){ this.lastIndex=0; return null; } }else{ L=0; } var P=%_RegExpExec(this,C,L,s); if((P===null)){ this.lastIndex=0; return null; } if(O){ this.lastIndex=s[4]; } var G=((P)[0])>>1; var E=P[3]; var H=P[4]; var I=%_SubString(C,E,H); var J=%_RegExpConstructResult(G,E,C); J[0]=I; if(G==1)return J; var K=3+2; for(var L=1;L<G;L++){ E=P[K++]; if(E!=-1){ H=P[K]; J[L]=%_SubString(C,E,H); } K++; } return J; ; } %FunctionRemovePrototype(RegExpSubclassExecJS); function RegExpExecJS(C){ if(!(%_IsRegExp(this))){ throw j(44, 'RegExp.prototype.exec',this); } C=(%_ToString(C)); var M=this.lastIndex; var L=(%_ToLength(M)); var O=(%_RegExpFlags(this)&1)||(%_RegExpFlags(this)&8); if(O){ if(L<0||L>C.length){ this.lastIndex=0; return null; } }else{ L=0; } var P=%_RegExpExec(this,C,L,s); if((P===null)){ this.lastIndex=0; return null; } if(O){ this.lastIndex=s[4]; } var G=((P)[0])>>1; var E=P[3]; var H=P[4]; var I=%_SubString(C,E,H); var J=%_RegExpConstructResult(G,E,C); J[0]=I; if(G==1)return J; var K=3+2; for(var L=1;L<G;L++){ E=P[K++]; if(E!=-1){ H=P[K]; J[L]=%_SubString(C,E,H); } K++; } return J; ; } function RegExpSubclassExec(B,C,Q){ if((Q===(void 0))){ Q=B.exec; } if((typeof(Q)==='function')){ var J=%_Call(Q,B,C); if(!(%_IsJSReceiver(J))&&!(J===null)){ throw j(48); } return J; } return %_Call(RegExpExecJS,B,C); } %SetForceInlineFlag(RegExpSubclassExec); var R; var S; function RegExpTest(C){ if(!(%_IsRegExp(this))){ throw j(44, 'RegExp.prototype.test',this); } C=(%_ToString(C)); var M=this.lastIndex; var L=(%_ToLength(M)); if((%_RegExpFlags(this)&1)||(%_RegExpFlags(this)&8)){ if(L<0||L>C.length){ this.lastIndex=0; return false; } var P=%_RegExpExec(this,C,L,s); if((P===null)){ this.lastIndex=0; return false; } this.lastIndex=s[4]; return true; }else{ var B=this; var T=(%_RegExpSource(B)); if(B.length>=3&& %_StringCharCodeAt(B,0)==46&& %_StringCharCodeAt(B,1)==42&& %_StringCharCodeAt(B,2)!=63){ B=TrimRegExp(B); } var P=%_RegExpExec(B,C,0,s); if((P===null)){ this.lastIndex=0; return false; } return true; } } function RegExpSubclassTest(C){ if(!(%_IsJSReceiver(this))){ throw j(44, 'RegExp.prototype.test',this); } C=(%_ToString(C)); var U=RegExpSubclassExec(this,C); return!(U===null); } %FunctionRemovePrototype(RegExpSubclassTest); function TrimRegExp(B){ if(R!==B){ R=B; S= new f( %_SubString((%_RegExpSource(B)),2,(%_RegExpSource(B)).length), ((%_RegExpFlags(B)&2)?(%_RegExpFlags(B)&4)?"im":"i" :(%_RegExpFlags(B)&4)?"m":"")); } return S; } function RegExpToString(){ if(!(%_IsJSReceiver(this))){ throw j( 44,'RegExp.prototype.toString',this); } if(this===g){ %IncrementUseCounter(12); } return'/'+(%_ToString(this.source))+'/'+(%_ToString(this.flags)); } function AtSurrogatePair(V,D){ if(D+1>=V.length)return false; var I=%_StringCharCodeAt(V,D); if(I<0xD800||I>0xDBFF)return false; var W=%_StringCharCodeAt(V,D+1); return W>=0xDC00||W<=0xDFFF; } function RegExpSplit(C,X){ if(!(%_IsRegExp(this))){ throw j(44, "RegExp.prototype.@@split",this); } var Y=this; var V=(%_ToString(C)); X=((X===(void 0)))?4294967295:((X)>>>0); var Z=V.length; if(X===0)return[]; if(Z===0){ if(DoRegExpExec(Y,V,0,0)!==null)return[]; return[V]; } var aa=0; var ab=0; var ac=0; var J=new h(); outer_loop: while(true){ if(ab===Z){ J[J.length]=%_SubString(V,aa,Z); break; } var F=DoRegExpExec(Y,V,ab); if(F===null||Z===(ac=F[3])){ J[J.length]=%_SubString(V,aa,Z); break; } var ad=F[4]; if(ab===ad&&ad===aa){ if((%_RegExpFlags(this)&16)&&AtSurrogatePair(V,ab)){ ab+=2; }else{ ab++; } continue; } J[J.length]=%_SubString(V,aa,ac); if(J.length===X)break; var ae=((F)[0])+3; for(var L=3+2;L<ae;){ var E=F[L++]; var H=F[L++]; if(H!=-1){ J[J.length]=%_SubString(V,E,H); }else{ J[J.length]=(void 0); } if(J.length===X)break outer_loop; } ab=aa=ad; } var af=[]; %MoveArrayContents(J,af); return af; } function RegExpSubclassSplit(C,X){ if(!(%_IsJSReceiver(this))){ throw j(44, "RegExp.prototype.@@split",this); } C=(%_ToString(C)); var ag=q(this,f); var x=(%_ToString(this.flags)); var Q; if((%_IsRegExp(this))&&ag===f){ Q=this.exec; if(Q===RegExpSubclassExecJS){ return %_Call(RegExpSplit,this,C,X); } } var ah=%StringIndexOf(x,'u',0)>=0; var N=%StringIndexOf(x,'y',0)>=0; var ai=N?x:x+"y"; var aj=new ag(this,ai); var ak=new d(); var al=0; var am=((X===(void 0)))?4294967295:((X)>>>0); var an=C.length; var ao=0; if(am===0)return ak; var J; if(an===0){ J=RegExpSubclassExec(aj,C); if((J===null))%AddElement(ak,0,C); return ak; } var ap=ao; while(ap<an){ aj.lastIndex=ap; J=RegExpSubclassExec(aj,C,Q); Q=(void 0); if((J===null)){ ap+=AdvanceStringIndex(C,ap,ah); }else{ var H=l((%_ToLength(aj.lastIndex)),an); if(H===ao){ ap+=AdvanceStringIndex(C,ap,ah); }else{ %AddElement( ak,al, %_SubString(C,ao,ap)); al++; if(al===am)return ak; ao=H; var aq=k((%_ToLength(J.length)),0); for(var L=1;L<aq;L++){ %AddElement(ak,al,J[L]); al++; if(al===am)return ak; } ap=ao; } } } %AddElement(ak,al, %_SubString(C,ao,an)); return ak; } %FunctionRemovePrototype(RegExpSubclassSplit); function RegExpMatch(C){ if(!(%_IsRegExp(this))){ throw j(44, "RegExp.prototype.@@match",this); } var V=(%_ToString(C)); if(!(%_RegExpFlags(this)&1))return RegExpExecNoTests(this,V,0); this.lastIndex=0; var J=%StringMatch(V,this,s); return J; } function RegExpSubclassMatch(C){ if(!(%_IsJSReceiver(this))){ throw j(44, "RegExp.prototype.@@match",this); } C=(%_ToString(C)); var a=this.global; if(!a)return RegExpSubclassExec(this,C); var ah=this.unicode; this.lastIndex=0; var ak=new h(); var ar=0; var J; while(true){ J=RegExpSubclassExec(this,C); if((J===null)){ if(ar===0)return null; break; } var as=(%_ToString(J[0])); ak[ar]=as; if(as==="")SetAdvancedStringIndex(this,C,ah); ar++; } var at=[]; %MoveArrayContents(ak,at); return at; } %FunctionRemovePrototype(RegExpSubclassMatch); var au=new h(4); function StringReplaceGlobalRegExpWithFunction(V,B,av){ var at=au; if(at){ au=null; }else{ at=new h(16); } var aw=%RegExpExecMultiple(B, V, s, at); B.lastIndex=0; if((aw===null)){ au=at; return V; } var ax=aw.length; if(((s)[0])==2){ var ay=0; for(var L=0;L<ax;L++){ var az=aw[L]; if(%_IsSmi(az)){ if(az>0){ ay=(az>>11)+(az&0x7ff); }else{ ay=aw[++L]-az; } }else{ var aA=av(az,ay,V); aw[L]=(%_ToString(aA)); ay+=az.length; } } }else{ for(var L=0;L<ax;L++){ var az=aw[L]; if(!%_IsSmi(az)){ var aA=%reflect_apply(av,(void 0),az); aw[L]=(%_ToString(aA)); } } } var J=%StringBuilderConcat(aw,ax,V); at.length=0; au=at; return J; } function CaptureString(C,aB,D){ var aC=D<<1; var E=aB[(3+(aC))]; if(E<0)return; var H=aB[(3+(aC+1))]; return %_SubString(C,E,H); } function StringReplaceNonGlobalRegExpWithFunction(V,B,av){ var F=DoRegExpExec(B,V,0); if((F===null)){ B.lastIndex=0; return V; } var D=F[3]; var J=%_SubString(V,0,D); var aD=F[4]; var aE=((F)[0])>>1; var aF; if(aE==1){ var aG=%_SubString(V,D,aD); aF=av(aG,D,V); }else{ var aH=new h(aE+2); for(var K=0;K<aE;K++){ aH[K]=CaptureString(V,F,K); } aH[K]=D; aH[K+1]=V; aF=%reflect_apply(av,(void 0),aH); } J+=aF; return J+%_SubString(V,aD,V.length); } function RegExpReplace(C,av){ if(!(%_IsRegExp(this))){ throw j(44, "RegExp.prototype.@@replace",this); } var V=(%_ToString(C)); var aI=this; if(!(typeof(av)==='function')){ av=(%_ToString(av)); if(!(%_RegExpFlags(aI)&1)){ var U=DoRegExpExec(aI,V,0); if(U==null){ aI.lastIndex=0 return V; } if(av.length==0){ return %_SubString(V,0,U[3])+ %_SubString(V,U[4],V.length) } return c(av,V,s, %_SubString(V,0,U[3]))+ %_SubString(V,U[4],V.length); } aI.lastIndex=0; return %StringReplaceGlobalRegExpWithString( V,aI,av,s); } if((%_RegExpFlags(aI)&1)){ return StringReplaceGlobalRegExpWithFunction(V,aI,av); } return StringReplaceNonGlobalRegExpWithFunction(V,aI,av); } function GetSubstitution(aJ,C,aK,aL,aF){ var aM=aJ.length; var aN=C.length; var aO=aL.length; var aP=aK+aM; var J=""; var aQ,aR,aS,aT,aU,aV,aW; var aT=%StringIndexOf(aF,'$',0); if(aT<0){ J+=aF; return J; } if(aT>0)J+=%_SubString(aF,0,aT); while(true){ aR='$'; aQ=aT+1; if(aQ<aF.length){ aS=%_StringCharCodeAt(aF,aQ); if(aS==36){ ++aQ; J+='$'; }else if(aS==38){ ++aQ; J+=aJ; }else if(aS==96){ ++aQ; J+=%_SubString(C,0,aK); }else if(aS==39){ ++aQ; J+=%_SubString(C,aP,aN); }else if(aS>=48&&aS<=57){ aU=(aS-48); aV=1; if(aQ+1<aF.length){ aT=%_StringCharCodeAt(aF,aQ+1); if(aT>=48&&aT<=57){ aW=aU*10+((aT-48)); if(aW<aO){ aU=aW; aV=2; } } } if(aU!=0&&aU<aO){ var aX=aL[aU]; if(!(aX===(void 0)))J+=aX; aQ+=aV; }else{ J+='$'; } }else{ J+='$'; } }else{ J+='$'; } aT=%StringIndexOf(aF,'$',aQ); if(aT<0){ if(aQ<aF.length){ J+=%_SubString(aF,aQ,aF.length); } return J; } if(aT>aQ){ J+=%_SubString(aF,aQ,aT); } } return J; } function AdvanceStringIndex(C,D,ah){ var aY=1; if(ah){ var I=%_StringCharCodeAt(C,D); if(I>=0xD800&&I<=0xDBFF&&C.length>D+1){ var W=%_StringCharCodeAt(C,D+1); if(W>=0xDC00&&W<=0xDFFF){ aY=2; } } } return aY; } function SetAdvancedStringIndex(B,C,ah){ var M=B.lastIndex; B.lastIndex=M+ AdvanceStringIndex(C,M,ah); } function RegExpSubclassReplace(C,av){ if(!(%_IsJSReceiver(this))){ throw j(44, "RegExp.prototype.@@replace",this); } C=(%_ToString(C)); var Z=C.length; var aZ=(typeof(av)==='function'); if(!aZ)av=(%_ToString(av)); var a=(!!(this.global)); if(a){ var ah=(!!(this.unicode)); this.lastIndex=0; } var Q; if((%_IsRegExp(this))){ Q=this.exec; if(Q===RegExpSubclassExecJS){ return %_Call(RegExpReplace,this,C,av); } } var ba=new h(); var J,aF; while(true){ J=RegExpSubclassExec(this,C,Q); Q=(void 0); if((J===null)){ break; }else{ ba.push(J); if(!a)break; var as=(%_ToString(J[0])); if(as==="")SetAdvancedStringIndex(this,C,ah); } } var bb=""; var bc=0; for(var L=0;L<ba.length;L++){ J=ba[L]; var aO=k((%_ToLength(J.length)),0); var aJ=(%_ToString(J[0])); var bd=aJ.length; var aK=k(l((%_ToInteger(J.index)),Z),0); var aL=new h(); for(var ar=0;ar<aO;ar++){ var aX=J[ar]; if(!(aX===(void 0)))aX=(%_ToString(aX)); aL[ar]=aX; } if(aZ){ var aH=new h(aO+2); for(var K=0;K<aO;K++){ aH[K]=aL[K]; } aH[K]=aK; aH[K+1]=C; aF=%reflect_apply(av,(void 0),aH,0, aH.length); }else{ aF=GetSubstitution(aJ,C,aK,aL, av); } if(aK>=bc){ bb+= %_SubString(C,bc,aK)+aF; bc=aK+bd; } } if(bc>=Z)return bb; return bb+%_SubString(C,bc,Z); } %FunctionRemovePrototype(RegExpSubclassReplace); function RegExpSearch(C){ if(!(%_IsRegExp(this))){ throw j(44, "RegExp.prototype.@@search",this); } var U=DoRegExpExec(this,(%_ToString(C)),0); if(U)return U[3]; return-1; } function RegExpSubclassSearch(C){ if(!(%_IsJSReceiver(this))){ throw j(44, "RegExp.prototype.@@search",this); } C=(%_ToString(C)); var be=this.lastIndex; this.lastIndex=0; var J=RegExpSubclassExec(this,C); this.lastIndex=be; if((J===null))return-1; return J.index; } %FunctionRemovePrototype(RegExpSubclassSearch); function RegExpGetLastMatch(){ var bf=((s)[1]); return %_SubString(bf, s[3], s[4]); } function RegExpGetLastParen(){ var Z=((s)[0]); if(Z<=2)return''; var bf=((s)[1]); var E=s[(3+(Z-2))]; var H=s[(3+(Z-1))]; if(E!=-1&&H!=-1){ return %_SubString(bf,E,H); } return""; } function RegExpGetLeftContext(){ var bg; var V; bg=s[3]; V=((s)[1]); return %_SubString(V,0,bg); } function RegExpGetRightContext(){ var bg; var V; bg=s[4]; V=((s)[1]); return %_SubString(V,bg,V.length); } function RegExpMakeCaptureGetter(ar){ return function foo(){ var D=ar*2; if(D>=((s)[0]))return''; var bh=s[(3+(D))]; var bi=s[(3+(D+1))]; if(bh==-1||bi==-1)return''; return %_SubString(((s)[1]),bh,bi); }; } function RegExpGetFlags(){ if(!(%_IsJSReceiver(this))){ throw j( 123,"RegExp.prototype.flags",(%_ToString(this))); } var J=''; if(this.global)J+='g'; if(this.ignoreCase)J+='i'; if(this.multiline)J+='m'; if(this.unicode)J+='u'; if(this.sticky)J+='y'; return J; } function RegExpGetGlobal(){ if(!(%_IsRegExp(this))){ if(this===g){ %IncrementUseCounter(31); return(void 0); } throw j(124,"RegExp.prototype.global"); } return(!!((%_RegExpFlags(this)&1))); } %SetForceInlineFlag(RegExpGetGlobal); function RegExpGetIgnoreCase(){ if(!(%_IsRegExp(this))){ if(this===g){ %IncrementUseCounter(31); return(void 0); } throw j(124,"RegExp.prototype.ignoreCase"); } return(!!((%_RegExpFlags(this)&2))); } function RegExpGetMultiline(){ if(!(%_IsRegExp(this))){ if(this===g){ %IncrementUseCounter(31); return(void 0); } throw j(124,"RegExp.prototype.multiline"); } return(!!((%_RegExpFlags(this)&4))); } function RegExpGetSource(){ if(!(%_IsRegExp(this))){ if(this===g){ %IncrementUseCounter(30); return"(?:)"; } throw j(124,"RegExp.prototype.source"); } return(%_RegExpSource(this)); } function RegExpGetSticky(){ if(!(%_IsRegExp(this))){ if(this===g){ %IncrementUseCounter(11); return(void 0); } throw j(124,"RegExp.prototype.sticky"); } return(!!((%_RegExpFlags(this)&8))); } %SetForceInlineFlag(RegExpGetSticky); %FunctionSetInstanceClassName(f,'RegExp'); g=new e(); %FunctionSetPrototype(f,g); %AddNamedProperty( f.prototype,'constructor',f,2); %SetCode(f,RegExpConstructor); b.InstallFunctions(f.prototype,2,[ "exec",RegExpExecJS, "test",RegExpTest, "toString",RegExpToString, "compile",RegExpCompileJS, m,RegExpMatch, n,RegExpReplace, o,RegExpSearch, p,RegExpSplit, ]); b.InstallGetter(f.prototype,'flags',RegExpGetFlags); b.InstallGetter(f.prototype,'global',RegExpGetGlobal); b.InstallGetter(f.prototype,'ignoreCase',RegExpGetIgnoreCase); b.InstallGetter(f.prototype,'multiline',RegExpGetMultiline); b.InstallGetter(f.prototype,'source',RegExpGetSource); b.InstallGetter(f.prototype,'sticky',RegExpGetSticky); var bj=function(){ var bk=((s)[2]); return(bk===(void 0))?"":bk; }; var bl=function(C){ ((s)[2])=(%_ToString(C)); }; %OptimizeObjectForAddingMultipleProperties(f,22); b.InstallGetterSetter(f,'input',bj,bl, 4); b.InstallGetterSetter(f,'$_',bj,bl, 2|4); var bm=function(bn){}; b.InstallGetterSetter(f,'lastMatch',RegExpGetLastMatch, bm,4); b.InstallGetterSetter(f,'$&',RegExpGetLastMatch,bm, 2|4); b.InstallGetterSetter(f,'lastParen',RegExpGetLastParen, bm,4); b.InstallGetterSetter(f,'$+',RegExpGetLastParen,bm, 2|4); b.InstallGetterSetter(f,'leftContext',RegExpGetLeftContext, bm,4); b.InstallGetterSetter(f,'$`',RegExpGetLeftContext,bm, 2|4); b.InstallGetterSetter(f,'rightContext',RegExpGetRightContext, bm,4); b.InstallGetterSetter(f,"$'",RegExpGetRightContext,bm, 2|4); for(var L=1;L<10;++L){ b.InstallGetterSetter(f,'$'+L,RegExpMakeCaptureGetter(L), bm,4); } %ToFastProperties(f); var bo=new i(2,"",(void 0),0,0); function InternalRegExpMatch(B,V){ var F=%_RegExpExec(B,V,0,bo); if(!(F===null)){ var G=((F)[0])>>1; var E=F[3]; var H=F[4]; var I=%_SubString(V,E,H); var J=%_RegExpConstructResult(G,E,V); J[0]=I; if(G==1)return J; var K=3+2; for(var L=1;L<G;L++){ E=F[K++]; if(E!=-1){ H=F[K]; J[L]=%_SubString(V,E,H); } K++; } return J; ; } return null; } function InternalRegExpReplace(B,V,aF){ return %StringReplaceGlobalRegExpWithString( V,B,aF,bo); } b.Export(function(bp){ bp.InternalRegExpMatch=InternalRegExpMatch; bp.InternalRegExpReplace=InternalRegExpReplace; bp.IsRegExp=IsRegExp; bp.RegExpExec=DoRegExpExec; bp.RegExpInitialize=RegExpInitialize; bp.RegExpLastMatchInfo=s; bp.RegExpSubclassExecJS=RegExpSubclassExecJS; bp.RegExpSubclassMatch=RegExpSubclassMatch; bp.RegExpSubclassReplace=RegExpSubclassReplace; bp.RegExpSubclassSearch=RegExpSubclassSearch; bp.RegExpSubclassSplit=RegExpSubclassSplit; bp.RegExpSubclassTest=RegExpSubclassTest; bp.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(44, 'ArrayBuffer.prototype.byteLength',this); } return %_ArrayBufferGetByteLength(this); } function ArrayBufferSlice(i,j){ if(!(%_ClassOf(this)==='ArrayBuffer')){ throw d(44, '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(44, '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 ]); }) (typedarray^¿ (function(a,b){ "use strict"; %CheckIsBootstrapping(); var c=b.ImportNow("ArrayToString"); var d; var e; var f; var g=a.Array; var h=a.ArrayBuffer; var i=h.prototype; var j=a.DataView; var k=a.Object; 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 A; var B=b.InternalArray; var C; var D; var E; var F; var G; var H; var I; var J; var K=b.ImportNow("iterator_symbol"); var L=b.ImportNow("to_string_tag_symbol"); var M=a.Uint8Array; var N=a.Int8Array; var O=a.Uint16Array; var P=a.Int16Array; var Q=a.Uint32Array; var R=a.Int32Array; var S=a.Float32Array; var T=a.Float64Array; var U=a.Uint8ClampedArray; b.Import(function(V){ d=V.ArrayValues; e=V.GetIterator; f=V.GetMethod; l=V.InnerArrayCopyWithin; m=V.InnerArrayEvery; n=V.InnerArrayFill; o=V.InnerArrayFilter; p=V.InnerArrayFind; q=V.InnerArrayFindIndex; r=V.InnerArrayForEach; s=V.InnerArrayIncludes; t=V.InnerArrayIndexOf; u=V.InnerArrayJoin; v=V.InnerArrayLastIndexOf; w=V.InnerArrayReduce; x=V.InnerArrayReduceRight; y=V.InnerArraySome; z=V.InnerArraySort; A=V.InnerArrayToLocaleString; C=V.IsNaN; D=V.MakeRangeError; E=V.MakeTypeError; F=V.MaxSimple; G=V.MinSimple; H=V.PackedArrayReverse; I=V.SpeciesConstructor; J=V.ToPositiveInteger; }); function TypedArrayDefaultConstructor(W){ switch(%_ClassOf(W)){ case"Uint8Array": return M; case"Int8Array": return N; case"Uint16Array": return O; case"Int16Array": return P; case"Uint32Array": return Q; case"Int32Array": return R; case"Float32Array": return S; case"Float64Array": return T; case"Uint8ClampedArray": return U; } throw E(44, "TypedArrayDefaultConstructor",this); } function TypedArrayCreate(X,Y,Z,aa){ if((Z===(void 0))){ var ab=new X(Y); }else{ var ab=new X(Y,Z,aa); } if(!(%_IsTypedArray(ab)))throw E(72); if((typeof(Y)==='number')&&%_TypedArrayGetLength(ab)<Y){ throw E(246); } return ab; } function TypedArraySpeciesCreate(ac,Y,Z,aa,ad){ var ae=TypedArrayDefaultConstructor(ac); var X=I(ac,ae, ad); return TypedArrayCreate(X,Y,Z,aa); } function Uint8ArrayConstructByArrayBuffer(af,ag,ah,ai){ if(!(ah===(void 0))){ ah=J(ah,169); } if(!(ai===(void 0))){ ai=J(ai,169); } var aj=%_ArrayBufferGetByteLength(ag); var ak; if((ah===(void 0))){ ak=0; }else{ ak=ah; if(ak % 1!==0){ throw D(168, "start offset","Uint8Array",1); } if(ak>aj){ throw D(170); } } var al; var am; if((ai===(void 0))){ if(aj % 1!==0){ throw D(168, "byte length","Uint8Array",1); } al=aj-ak; am=al/1; }else{ var am=ai; al=am*1; } if((ak+al>aj) ||(am>%_MaxSmi())){ throw D(169); } %_TypedArrayInitialize(af,1,ag,ak,al,true); } function Uint8ArrayConstructByLength(af,ai){ var an=(ai===(void 0))? 0:J(ai,169); if(an>%_MaxSmi()){ throw D(169); } var ao=an*1; if(ao>%_TypedArrayMaxSizeInHeap()){ var ag=new h(ao); %_TypedArrayInitialize(af,1,ag,0,ao,true); }else{ %_TypedArrayInitialize(af,1,null,0,ao,true); } } function Uint8ArrayConstructByArrayLike(af,ap,ai){ var an=J(ai,169); if(an>%_MaxSmi()){ throw D(169); } var aq=false; var ao=an*1; if(ao<=%_TypedArrayMaxSizeInHeap()){ %_TypedArrayInitialize(af,1,null,0,ao,false); }else{ aq= %TypedArrayInitializeFromArrayLike(af,1,ap,an); } if(!aq){ for(var ar=0;ar<an;ar++){ af[ar]=ap[ar]; } } } function Uint8ArrayConstructByIterable(af,as,at){ var au=new B(); var av=%_Call(at,as); var aw={ __proto__:null }; aw[K]=function(){return av;} for(var ax of aw){ au.push(ax); } Uint8ArrayConstructByArrayLike(af,au,au.length); } function Uint8ArrayConstructByTypedArray(af,W){ var ay=%TypedArrayGetBuffer(W); var ai=%_TypedArrayGetLength(W); var ao=%_ArrayBufferViewGetByteLength(W); var al=ai*1; Uint8ArrayConstructByArrayLike(af,W,ai); var az=I(ay,h); var aA=az.prototype; if((%_IsJSReceiver(aA))&&aA!==i){ %InternalSetPrototype(%TypedArrayGetBuffer(af),aA); } } function Uint8ArrayConstructor(Z,aa,aB){ if(!(new.target===(void 0))){ if((%_ClassOf(Z)==='ArrayBuffer')||(%_ClassOf(Z)==='SharedArrayBuffer')){ Uint8ArrayConstructByArrayBuffer(this,Z,aa,aB); }else if((typeof(Z)==='number')||(typeof(Z)==='string')|| (typeof(Z)==='boolean')||(Z===(void 0))){ Uint8ArrayConstructByLength(this,Z); }else if((%_IsTypedArray(Z))){ Uint8ArrayConstructByTypedArray(this,Z); }else{ var at=Z[K]; if((at===(void 0))||at===d){ Uint8ArrayConstructByArrayLike(this,Z,Z.length); }else{ Uint8ArrayConstructByIterable(this,Z,at); } } }else{ throw E(27,"Uint8Array") } } function Uint8ArraySubArray(aC,aD){ var aE=(%_ToInteger(aC)); if(!(aD===(void 0))){ var aF=(%_ToInteger(aD)); var aG=%_TypedArrayGetLength(this); }else{ var aG=%_TypedArrayGetLength(this); var aF=aG; } if(aE<0){ aE=F(0,aG+aE); }else{ aE=G(aE,aG); } if(aF<0){ aF=F(0,aG+aF); }else{ aF=G(aF,aG); } if(aF<aE){ aF=aE; } var am=aF-aE; var aH= %_ArrayBufferViewGetByteOffset(this)+aE*1; return new M(%TypedArrayGetBuffer(this),aH,am); } function Int8ArrayConstructByArrayBuffer(af,ag,ah,ai){ if(!(ah===(void 0))){ ah=J(ah,169); } if(!(ai===(void 0))){ ai=J(ai,169); } var aj=%_ArrayBufferGetByteLength(ag); var ak; if((ah===(void 0))){ ak=0; }else{ ak=ah; if(ak % 1!==0){ throw D(168, "start offset","Int8Array",1); } if(ak>aj){ throw D(170); } } var al; var am; if((ai===(void 0))){ if(aj % 1!==0){ throw D(168, "byte length","Int8Array",1); } al=aj-ak; am=al/1; }else{ var am=ai; al=am*1; } if((ak+al>aj) ||(am>%_MaxSmi())){ throw D(169); } %_TypedArrayInitialize(af,2,ag,ak,al,true); } function Int8ArrayConstructByLength(af,ai){ var an=(ai===(void 0))? 0:J(ai,169); if(an>%_MaxSmi()){ throw D(169); } var ao=an*1; if(ao>%_TypedArrayMaxSizeInHeap()){ var ag=new h(ao); %_TypedArrayInitialize(af,2,ag,0,ao,true); }else{ %_TypedArrayInitialize(af,2,null,0,ao,true); } } function Int8ArrayConstructByArrayLike(af,ap,ai){ var an=J(ai,169); if(an>%_MaxSmi()){ throw D(169); } var aq=false; var ao=an*1; if(ao<=%_TypedArrayMaxSizeInHeap()){ %_TypedArrayInitialize(af,2,null,0,ao,false); }else{ aq= %TypedArrayInitializeFromArrayLike(af,2,ap,an); } if(!aq){ for(var ar=0;ar<an;ar++){ af[ar]=ap[ar]; } } } function Int8ArrayConstructByIterable(af,as,at){ var au=new B(); var av=%_Call(at,as); var aw={ __proto__:null }; aw[K]=function(){return av;} for(var ax of aw){ au.push(ax); } Int8ArrayConstructByArrayLike(af,au,au.length); } function Int8ArrayConstructByTypedArray(af,W){ var ay=%TypedArrayGetBuffer(W); var ai=%_TypedArrayGetLength(W); var ao=%_ArrayBufferViewGetByteLength(W); var al=ai*1; Int8ArrayConstructByArrayLike(af,W,ai); var az=I(ay,h); var aA=az.prototype; if((%_IsJSReceiver(aA))&&aA!==i){ %InternalSetPrototype(%TypedArrayGetBuffer(af),aA); } } function Int8ArrayConstructor(Z,aa,aB){ if(!(new.target===(void 0))){ if((%_ClassOf(Z)==='ArrayBuffer')||(%_ClassOf(Z)==='SharedArrayBuffer')){ Int8ArrayConstructByArrayBuffer(this,Z,aa,aB); }else if((typeof(Z)==='number')||(typeof(Z)==='string')|| (typeof(Z)==='boolean')||(Z===(void 0))){ Int8ArrayConstructByLength(this,Z); }else if((%_IsTypedArray(Z))){ Int8ArrayConstructByTypedArray(this,Z); }else{ var at=Z[K]; if((at===(void 0))||at===d){ Int8ArrayConstructByArrayLike(this,Z,Z.length); }else{ Int8ArrayConstructByIterable(this,Z,at); } } }else{ throw E(27,"Int8Array") } } function Int8ArraySubArray(aC,aD){ var aE=(%_ToInteger(aC)); if(!(aD===(void 0))){ var aF=(%_ToInteger(aD)); var aG=%_TypedArrayGetLength(this); }else{ var aG=%_TypedArrayGetLength(this); var aF=aG; } if(aE<0){ aE=F(0,aG+aE); }else{ aE=G(aE,aG); } if(aF<0){ aF=F(0,aG+aF); }else{ aF=G(aF,aG); } if(aF<aE){ aF=aE; } var am=aF-aE; var aH= %_ArrayBufferViewGetByteOffset(this)+aE*1; return new N(%TypedArrayGetBuffer(this),aH,am); } function Uint16ArrayConstructByArrayBuffer(af,ag,ah,ai){ if(!(ah===(void 0))){ ah=J(ah,169); } if(!(ai===(void 0))){ ai=J(ai,169); } var aj=%_ArrayBufferGetByteLength(ag); var ak; if((ah===(void 0))){ ak=0; }else{ ak=ah; if(ak % 2!==0){ throw D(168, "start offset","Uint16Array",2); } if(ak>aj){ throw D(170); } } var al; var am; if((ai===(void 0))){ if(aj % 2!==0){ throw D(168, "byte length","Uint16Array",2); } al=aj-ak; am=al/2; }else{ var am=ai; al=am*2; } if((ak+al>aj) ||(am>%_MaxSmi())){ throw D(169); } %_TypedArrayInitialize(af,3,ag,ak,al,true); } function Uint16ArrayConstructByLength(af,ai){ var an=(ai===(void 0))? 0:J(ai,169); if(an>%_MaxSmi()){ throw D(169); } var ao=an*2; if(ao>%_TypedArrayMaxSizeInHeap()){ var ag=new h(ao); %_TypedArrayInitialize(af,3,ag,0,ao,true); }else{ %_TypedArrayInitialize(af,3,null,0,ao,true); } } function Uint16ArrayConstructByArrayLike(af,ap,ai){ var an=J(ai,169); if(an>%_MaxSmi()){ throw D(169); } var aq=false; var ao=an*2; if(ao<=%_TypedArrayMaxSizeInHeap()){ %_TypedArrayInitialize(af,3,null,0,ao,false); }else{ aq= %TypedArrayInitializeFromArrayLike(af,3,ap,an); } if(!aq){ for(var ar=0;ar<an;ar++){ af[ar]=ap[ar]; } } } function Uint16ArrayConstructByIterable(af,as,at){ var au=new B(); var av=%_Call(at,as); var aw={ __proto__:null }; aw[K]=function(){return av;} for(var ax of aw){ au.push(ax); } Uint16ArrayConstructByArrayLike(af,au,au.length); } function Uint16ArrayConstructByTypedArray(af,W){ var ay=%TypedArrayGetBuffer(W); var ai=%_TypedArrayGetLength(W); var ao=%_ArrayBufferViewGetByteLength(W); var al=ai*2; Uint16ArrayConstructByArrayLike(af,W,ai); var az=I(ay,h); var aA=az.prototype; if((%_IsJSReceiver(aA))&&aA!==i){ %InternalSetPrototype(%TypedArrayGetBuffer(af),aA); } } function Uint16ArrayConstructor(Z,aa,aB){ if(!(new.target===(void 0))){ if((%_ClassOf(Z)==='ArrayBuffer')||(%_ClassOf(Z)==='SharedArrayBuffer')){ Uint16ArrayConstructByArrayBuffer(this,Z,aa,aB); }else if((typeof(Z)==='number')||(typeof(Z)==='string')|| (typeof(Z)==='boolean')||(Z===(void 0))){ Uint16ArrayConstructByLength(this,Z); }else if((%_IsTypedArray(Z))){ Uint16ArrayConstructByTypedArray(this,Z); }else{ var at=Z[K]; if((at===(void 0))||at===d){ Uint16ArrayConstructByArrayLike(this,Z,Z.length); }else{ Uint16ArrayConstructByIterable(this,Z,at); } } }else{ throw E(27,"Uint16Array") } } function Uint16ArraySubArray(aC,aD){ var aE=(%_ToInteger(aC)); if(!(aD===(void 0))){ var aF=(%_ToInteger(aD)); var aG=%_TypedArrayGetLength(this); }else{ var aG=%_TypedArrayGetLength(this); var aF=aG; } if(aE<0){ aE=F(0,aG+aE); }else{ aE=G(aE,aG); } if(aF<0){ aF=F(0,aG+aF); }else{ aF=G(aF,aG); } if(aF<aE){ aF=aE; } var am=aF-aE; var aH= %_ArrayBufferViewGetByteOffset(this)+aE*2; return new O(%TypedArrayGetBuffer(this),aH,am); } function Int16ArrayConstructByArrayBuffer(af,ag,ah,ai){ if(!(ah===(void 0))){ ah=J(ah,169); } if(!(ai===(void 0))){ ai=J(ai,169); } var aj=%_ArrayBufferGetByteLength(ag); var ak; if((ah===(void 0))){ ak=0; }else{ ak=ah; if(ak % 2!==0){ throw D(168, "start offset","Int16Array",2); } if(ak>aj){ throw D(170); } } var al; var am; if((ai===(void 0))){ if(aj % 2!==0){ throw D(168, "byte length","Int16Array",2); } al=aj-ak; am=al/2; }else{ var am=ai; al=am*2; } if((ak+al>aj) ||(am>%_MaxSmi())){ throw D(169); } %_TypedArrayInitialize(af,4,ag,ak,al,true); } function Int16ArrayConstructByLength(af,ai){ var an=(ai===(void 0))? 0:J(ai,169); if(an>%_MaxSmi()){ throw D(169); } var ao=an*2; if(ao>%_TypedArrayMaxSizeInHeap()){ var ag=new h(ao); %_TypedArrayInitialize(af,4,ag,0,ao,true); }else{ %_TypedArrayInitialize(af,4,null,0,ao,true); } } function Int16ArrayConstructByArrayLike(af,ap,ai){ var an=J(ai,169); if(an>%_MaxSmi()){ throw D(169); } var aq=false; var ao=an*2; if(ao<=%_TypedArrayMaxSizeInHeap()){ %_TypedArrayInitialize(af,4,null,0,ao,false); }else{ aq= %TypedArrayInitializeFromArrayLike(af,4,ap,an); } if(!aq){ for(var ar=0;ar<an;ar++){ af[ar]=ap[ar]; } } } function Int16ArrayConstructByIterable(af,as,at){ var au=new B(); var av=%_Call(at,as); var aw={ __proto__:null }; aw[K]=function(){return av;} for(var ax of aw){ au.push(ax); } Int16ArrayConstructByArrayLike(af,au,au.length); } function Int16ArrayConstructByTypedArray(af,W){ var ay=%TypedArrayGetBuffer(W); var ai=%_TypedArrayGetLength(W); var ao=%_ArrayBufferViewGetByteLength(W); var al=ai*2; Int16ArrayConstructByArrayLike(af,W,ai); var az=I(ay,h); var aA=az.prototype; if((%_IsJSReceiver(aA))&&aA!==i){ %InternalSetPrototype(%TypedArrayGetBuffer(af),aA); } } function Int16ArrayConstructor(Z,aa,aB){ if(!(new.target===(void 0))){ if((%_ClassOf(Z)==='ArrayBuffer')||(%_ClassOf(Z)==='SharedArrayBuffer')){ Int16ArrayConstructByArrayBuffer(this,Z,aa,aB); }else if((typeof(Z)==='number')||(typeof(Z)==='string')|| (typeof(Z)==='boolean')||(Z===(void 0))){ Int16ArrayConstructByLength(this,Z); }else if((%_IsTypedArray(Z))){ Int16ArrayConstructByTypedArray(this,Z); }else{ var at=Z[K]; if((at===(void 0))||at===d){ Int16ArrayConstructByArrayLike(this,Z,Z.length); }else{ Int16ArrayConstructByIterable(this,Z,at); } } }else{ throw E(27,"Int16Array") } } function Int16ArraySubArray(aC,aD){ var aE=(%_ToInteger(aC)); if(!(aD===(void 0))){ var aF=(%_ToInteger(aD)); var aG=%_TypedArrayGetLength(this); }else{ var aG=%_TypedArrayGetLength(this); var aF=aG; } if(aE<0){ aE=F(0,aG+aE); }else{ aE=G(aE,aG); } if(aF<0){ aF=F(0,aG+aF); }else{ aF=G(aF,aG); } if(aF<aE){ aF=aE; } var am=aF-aE; var aH= %_ArrayBufferViewGetByteOffset(this)+aE*2; return new P(%TypedArrayGetBuffer(this),aH,am); } function Uint32ArrayConstructByArrayBuffer(af,ag,ah,ai){ if(!(ah===(void 0))){ ah=J(ah,169); } if(!(ai===(void 0))){ ai=J(ai,169); } var aj=%_ArrayBufferGetByteLength(ag); var ak; if((ah===(void 0))){ ak=0; }else{ ak=ah; if(ak % 4!==0){ throw D(168, "start offset","Uint32Array",4); } if(ak>aj){ throw D(170); } } var al; var am; if((ai===(void 0))){ if(aj % 4!==0){ throw D(168, "byte length","Uint32Array",4); } al=aj-ak; am=al/4; }else{ var am=ai; al=am*4; } if((ak+al>aj) ||(am>%_MaxSmi())){ throw D(169); } %_TypedArrayInitialize(af,5,ag,ak,al,true); } function Uint32ArrayConstructByLength(af,ai){ var an=(ai===(void 0))? 0:J(ai,169); if(an>%_MaxSmi()){ throw D(169); } var ao=an*4; if(ao>%_TypedArrayMaxSizeInHeap()){ var ag=new h(ao); %_TypedArrayInitialize(af,5,ag,0,ao,true); }else{ %_TypedArrayInitialize(af,5,null,0,ao,true); } } function Uint32ArrayConstructByArrayLike(af,ap,ai){ var an=J(ai,169); if(an>%_MaxSmi()){ throw D(169); } var aq=false; var ao=an*4; if(ao<=%_TypedArrayMaxSizeInHeap()){ %_TypedArrayInitialize(af,5,null,0,ao,false); }else{ aq= %TypedArrayInitializeFromArrayLike(af,5,ap,an); } if(!aq){ for(var ar=0;ar<an;ar++){ af[ar]=ap[ar]; } } } function Uint32ArrayConstructByIterable(af,as,at){ var au=new B(); var av=%_Call(at,as); var aw={ __proto__:null }; aw[K]=function(){return av;} for(var ax of aw){ au.push(ax); } Uint32ArrayConstructByArrayLike(af,au,au.length); } function Uint32ArrayConstructByTypedArray(af,W){ var ay=%TypedArrayGetBuffer(W); var ai=%_TypedArrayGetLength(W); var ao=%_ArrayBufferViewGetByteLength(W); var al=ai*4; Uint32ArrayConstructByArrayLike(af,W,ai); var az=I(ay,h); var aA=az.prototype; if((%_IsJSReceiver(aA))&&aA!==i){ %InternalSetPrototype(%TypedArrayGetBuffer(af),aA); } } function Uint32ArrayConstructor(Z,aa,aB){ if(!(new.target===(void 0))){ if((%_ClassOf(Z)==='ArrayBuffer')||(%_ClassOf(Z)==='SharedArrayBuffer')){ Uint32ArrayConstructByArrayBuffer(this,Z,aa,aB); }else if((typeof(Z)==='number')||(typeof(Z)==='string')|| (typeof(Z)==='boolean')||(Z===(void 0))){ Uint32ArrayConstructByLength(this,Z); }else if((%_IsTypedArray(Z))){ Uint32ArrayConstructByTypedArray(this,Z); }else{ var at=Z[K]; if((at===(void 0))||at===d){ Uint32ArrayConstructByArrayLike(this,Z,Z.length); }else{ Uint32ArrayConstructByIterable(this,Z,at); } } }else{ throw E(27,"Uint32Array") } } function Uint32ArraySubArray(aC,aD){ var aE=(%_ToInteger(aC)); if(!(aD===(void 0))){ var aF=(%_ToInteger(aD)); var aG=%_TypedArrayGetLength(this); }else{ var aG=%_TypedArrayGetLength(this); var aF=aG; } if(aE<0){ aE=F(0,aG+aE); }else{ aE=G(aE,aG); } if(aF<0){ aF=F(0,aG+aF); }else{ aF=G(aF,aG); } if(aF<aE){ aF=aE; } var am=aF-aE; var aH= %_ArrayBufferViewGetByteOffset(this)+aE*4; return new Q(%TypedArrayGetBuffer(this),aH,am); } function Int32ArrayConstructByArrayBuffer(af,ag,ah,ai){ if(!(ah===(void 0))){ ah=J(ah,169); } if(!(ai===(void 0))){ ai=J(ai,169); } var aj=%_ArrayBufferGetByteLength(ag); var ak; if((ah===(void 0))){ ak=0; }else{ ak=ah; if(ak % 4!==0){ throw D(168, "start offset","Int32Array",4); } if(ak>aj){ throw D(170); } } var al; var am; if((ai===(void 0))){ if(aj % 4!==0){ throw D(168, "byte length","Int32Array",4); } al=aj-ak; am=al/4; }else{ var am=ai; al=am*4; } if((ak+al>aj) ||(am>%_MaxSmi())){ throw D(169); } %_TypedArrayInitialize(af,6,ag,ak,al,true); } function Int32ArrayConstructByLength(af,ai){ var an=(ai===(void 0))? 0:J(ai,169); if(an>%_MaxSmi()){ throw D(169); } var ao=an*4; if(ao>%_TypedArrayMaxSizeInHeap()){ var ag=new h(ao); %_TypedArrayInitialize(af,6,ag,0,ao,true); }else{ %_TypedArrayInitialize(af,6,null,0,ao,true); } } function Int32ArrayConstructByArrayLike(af,ap,ai){ var an=J(ai,169); if(an>%_MaxSmi()){ throw D(169); } var aq=false; var ao=an*4; if(ao<=%_TypedArrayMaxSizeInHeap()){ %_TypedArrayInitialize(af,6,null,0,ao,false); }else{ aq= %TypedArrayInitializeFromArrayLike(af,6,ap,an); } if(!aq){ for(var ar=0;ar<an;ar++){ af[ar]=ap[ar]; } } } function Int32ArrayConstructByIterable(af,as,at){ var au=new B(); var av=%_Call(at,as); var aw={ __proto__:null }; aw[K]=function(){return av;} for(var ax of aw){ au.push(ax); } Int32ArrayConstructByArrayLike(af,au,au.length); } function Int32ArrayConstructByTypedArray(af,W){ var ay=%TypedArrayGetBuffer(W); var ai=%_TypedArrayGetLength(W); var ao=%_ArrayBufferViewGetByteLength(W); var al=ai*4; Int32ArrayConstructByArrayLike(af,W,ai); var az=I(ay,h); var aA=az.prototype; if((%_IsJSReceiver(aA))&&aA!==i){ %InternalSetPrototype(%TypedArrayGetBuffer(af),aA); } } function Int32ArrayConstructor(Z,aa,aB){ if(!(new.target===(void 0))){ if((%_ClassOf(Z)==='ArrayBuffer')||(%_ClassOf(Z)==='SharedArrayBuffer')){ Int32ArrayConstructByArrayBuffer(this,Z,aa,aB); }else if((typeof(Z)==='number')||(typeof(Z)==='string')|| (typeof(Z)==='boolean')||(Z===(void 0))){ Int32ArrayConstructByLength(this,Z); }else if((%_IsTypedArray(Z))){ Int32ArrayConstructByTypedArray(this,Z); }else{ var at=Z[K]; if((at===(void 0))||at===d){ Int32ArrayConstructByArrayLike(this,Z,Z.length); }else{ Int32ArrayConstructByIterable(this,Z,at); } } }else{ throw E(27,"Int32Array") } } function Int32ArraySubArray(aC,aD){ var aE=(%_ToInteger(aC)); if(!(aD===(void 0))){ var aF=(%_ToInteger(aD)); var aG=%_TypedArrayGetLength(this); }else{ var aG=%_TypedArrayGetLength(this); var aF=aG; } if(aE<0){ aE=F(0,aG+aE); }else{ aE=G(aE,aG); } if(aF<0){ aF=F(0,aG+aF); }else{ aF=G(aF,aG); } if(aF<aE){ aF=aE; } var am=aF-aE; var aH= %_ArrayBufferViewGetByteOffset(this)+aE*4; return new R(%TypedArrayGetBuffer(this),aH,am); } function Float32ArrayConstructByArrayBuffer(af,ag,ah,ai){ if(!(ah===(void 0))){ ah=J(ah,169); } if(!(ai===(void 0))){ ai=J(ai,169); } var aj=%_ArrayBufferGetByteLength(ag); var ak; if((ah===(void 0))){ ak=0; }else{ ak=ah; if(ak % 4!==0){ throw D(168, "start offset","Float32Array",4); } if(ak>aj){ throw D(170); } } var al; var am; if((ai===(void 0))){ if(aj % 4!==0){ throw D(168, "byte length","Float32Array",4); } al=aj-ak; am=al/4; }else{ var am=ai; al=am*4; } if((ak+al>aj) ||(am>%_MaxSmi())){ throw D(169); } %_TypedArrayInitialize(af,7,ag,ak,al,true); } function Float32ArrayConstructByLength(af,ai){ var an=(ai===(void 0))? 0:J(ai,169); if(an>%_MaxSmi()){ throw D(169); } var ao=an*4; if(ao>%_TypedArrayMaxSizeInHeap()){ var ag=new h(ao); %_TypedArrayInitialize(af,7,ag,0,ao,true); }else{ %_TypedArrayInitialize(af,7,null,0,ao,true); } } function Float32ArrayConstructByArrayLike(af,ap,ai){ var an=J(ai,169); if(an>%_MaxSmi()){ throw D(169); } var aq=false; var ao=an*4; if(ao<=%_TypedArrayMaxSizeInHeap()){ %_TypedArrayInitialize(af,7,null,0,ao,false); }else{ aq= %TypedArrayInitializeFromArrayLike(af,7,ap,an); } if(!aq){ for(var ar=0;ar<an;ar++){ af[ar]=ap[ar]; } } } function Float32ArrayConstructByIterable(af,as,at){ var au=new B(); var av=%_Call(at,as); var aw={ __proto__:null }; aw[K]=function(){return av;} for(var ax of aw){ au.push(ax); } Float32ArrayConstructByArrayLike(af,au,au.length); } function Float32ArrayConstructByTypedArray(af,W){ var ay=%TypedArrayGetBuffer(W); var ai=%_TypedArrayGetLength(W); var ao=%_ArrayBufferViewGetByteLength(W); var al=ai*4; Float32ArrayConstructByArrayLike(af,W,ai); var az=I(ay,h); var aA=az.prototype; if((%_IsJSReceiver(aA))&&aA!==i){ %InternalSetPrototype(%TypedArrayGetBuffer(af),aA); } } function Float32ArrayConstructor(Z,aa,aB){ if(!(new.target===(void 0))){ if((%_ClassOf(Z)==='ArrayBuffer')||(%_ClassOf(Z)==='SharedArrayBuffer')){ Float32ArrayConstructByArrayBuffer(this,Z,aa,aB); }else if((typeof(Z)==='number')||(typeof(Z)==='string')|| (typeof(Z)==='boolean')||(Z===(void 0))){ Float32ArrayConstructByLength(this,Z); }else if((%_IsTypedArray(Z))){ Float32ArrayConstructByTypedArray(this,Z); }else{ var at=Z[K]; if((at===(void 0))||at===d){ Float32ArrayConstructByArrayLike(this,Z,Z.length); }else{ Float32ArrayConstructByIterable(this,Z,at); } } }else{ throw E(27,"Float32Array") } } function Float32ArraySubArray(aC,aD){ var aE=(%_ToInteger(aC)); if(!(aD===(void 0))){ var aF=(%_ToInteger(aD)); var aG=%_TypedArrayGetLength(this); }else{ var aG=%_TypedArrayGetLength(this); var aF=aG; } if(aE<0){ aE=F(0,aG+aE); }else{ aE=G(aE,aG); } if(aF<0){ aF=F(0,aG+aF); }else{ aF=G(aF,aG); } if(aF<aE){ aF=aE; } var am=aF-aE; var aH= %_ArrayBufferViewGetByteOffset(this)+aE*4; return new S(%TypedArrayGetBuffer(this),aH,am); } function Float64ArrayConstructByArrayBuffer(af,ag,ah,ai){ if(!(ah===(void 0))){ ah=J(ah,169); } if(!(ai===(void 0))){ ai=J(ai,169); } var aj=%_ArrayBufferGetByteLength(ag); var ak; if((ah===(void 0))){ ak=0; }else{ ak=ah; if(ak % 8!==0){ throw D(168, "start offset","Float64Array",8); } if(ak>aj){ throw D(170); } } var al; var am; if((ai===(void 0))){ if(aj % 8!==0){ throw D(168, "byte length","Float64Array",8); } al=aj-ak; am=al/8; }else{ var am=ai; al=am*8; } if((ak+al>aj) ||(am>%_MaxSmi())){ throw D(169); } %_TypedArrayInitialize(af,8,ag,ak,al,true); } function Float64ArrayConstructByLength(af,ai){ var an=(ai===(void 0))? 0:J(ai,169); if(an>%_MaxSmi()){ throw D(169); } var ao=an*8; if(ao>%_TypedArrayMaxSizeInHeap()){ var ag=new h(ao); %_TypedArrayInitialize(af,8,ag,0,ao,true); }else{ %_TypedArrayInitialize(af,8,null,0,ao,true); } } function Float64ArrayConstructByArrayLike(af,ap,ai){ var an=J(ai,169); if(an>%_MaxSmi()){ throw D(169); } var aq=false; var ao=an*8; if(ao<=%_TypedArrayMaxSizeInHeap()){ %_TypedArrayInitialize(af,8,null,0,ao,false); }else{ aq= %TypedArrayInitializeFromArrayLike(af,8,ap,an); } if(!aq){ for(var ar=0;ar<an;ar++){ af[ar]=ap[ar]; } } } function Float64ArrayConstructByIterable(af,as,at){ var au=new B(); var av=%_Call(at,as); var aw={ __proto__:null }; aw[K]=function(){return av;} for(var ax of aw){ au.push(ax); } Float64ArrayConstructByArrayLike(af,au,au.length); } function Float64ArrayConstructByTypedArray(af,W){ var ay=%TypedArrayGetBuffer(W); var ai=%_TypedArrayGetLength(W); var ao=%_ArrayBufferViewGetByteLength(W); var al=ai*8; Float64ArrayConstructByArrayLike(af,W,ai); var az=I(ay,h); var aA=az.prototype; if((%_IsJSReceiver(aA))&&aA!==i){ %InternalSetPrototype(%TypedArrayGetBuffer(af),aA); } } function Float64ArrayConstructor(Z,aa,aB){ if(!(new.target===(void 0))){ if((%_ClassOf(Z)==='ArrayBuffer')||(%_ClassOf(Z)==='SharedArrayBuffer')){ Float64ArrayConstructByArrayBuffer(this,Z,aa,aB); }else if((typeof(Z)==='number')||(typeof(Z)==='string')|| (typeof(Z)==='boolean')||(Z===(void 0))){ Float64ArrayConstructByLength(this,Z); }else if((%_IsTypedArray(Z))){ Float64ArrayConstructByTypedArray(this,Z); }else{ var at=Z[K]; if((at===(void 0))||at===d){ Float64ArrayConstructByArrayLike(this,Z,Z.length); }else{ Float64ArrayConstructByIterable(this,Z,at); } } }else{ throw E(27,"Float64Array") } } function Float64ArraySubArray(aC,aD){ var aE=(%_ToInteger(aC)); if(!(aD===(void 0))){ var aF=(%_ToInteger(aD)); var aG=%_TypedArrayGetLength(this); }else{ var aG=%_TypedArrayGetLength(this); var aF=aG; } if(aE<0){ aE=F(0,aG+aE); }else{ aE=G(aE,aG); } if(aF<0){ aF=F(0,aG+aF); }else{ aF=G(aF,aG); } if(aF<aE){ aF=aE; } var am=aF-aE; var aH= %_ArrayBufferViewGetByteOffset(this)+aE*8; return new T(%TypedArrayGetBuffer(this),aH,am); } function Uint8ClampedArrayConstructByArrayBuffer(af,ag,ah,ai){ if(!(ah===(void 0))){ ah=J(ah,169); } if(!(ai===(void 0))){ ai=J(ai,169); } var aj=%_ArrayBufferGetByteLength(ag); var ak; if((ah===(void 0))){ ak=0; }else{ ak=ah; if(ak % 1!==0){ throw D(168, "start offset","Uint8ClampedArray",1); } if(ak>aj){ throw D(170); } } var al; var am; if((ai===(void 0))){ if(aj % 1!==0){ throw D(168, "byte length","Uint8ClampedArray",1); } al=aj-ak; am=al/1; }else{ var am=ai; al=am*1; } if((ak+al>aj) ||(am>%_MaxSmi())){ throw D(169); } %_TypedArrayInitialize(af,9,ag,ak,al,true); } function Uint8ClampedArrayConstructByLength(af,ai){ var an=(ai===(void 0))? 0:J(ai,169); if(an>%_MaxSmi()){ throw D(169); } var ao=an*1; if(ao>%_TypedArrayMaxSizeInHeap()){ var ag=new h(ao); %_TypedArrayInitialize(af,9,ag,0,ao,true); }else{ %_TypedArrayInitialize(af,9,null,0,ao,true); } } function Uint8ClampedArrayConstructByArrayLike(af,ap,ai){ var an=J(ai,169); if(an>%_MaxSmi()){ throw D(169); } var aq=false; var ao=an*1; if(ao<=%_TypedArrayMaxSizeInHeap()){ %_TypedArrayInitialize(af,9,null,0,ao,false); }else{ aq= %TypedArrayInitializeFromArrayLike(af,9,ap,an); } if(!aq){ for(var ar=0;ar<an;ar++){ af[ar]=ap[ar]; } } } function Uint8ClampedArrayConstructByIterable(af,as,at){ var au=new B(); var av=%_Call(at,as); var aw={ __proto__:null }; aw[K]=function(){return av;} for(var ax of aw){ au.push(ax); } Uint8ClampedArrayConstructByArrayLike(af,au,au.length); } function Uint8ClampedArrayConstructByTypedArray(af,W){ var ay=%TypedArrayGetBuffer(W); var ai=%_TypedArrayGetLength(W); var ao=%_ArrayBufferViewGetByteLength(W); var al=ai*1; Uint8ClampedArrayConstructByArrayLike(af,W,ai); var az=I(ay,h); var aA=az.prototype; if((%_IsJSReceiver(aA))&&aA!==i){ %InternalSetPrototype(%TypedArrayGetBuffer(af),aA); } } function Uint8ClampedArrayConstructor(Z,aa,aB){ if(!(new.target===(void 0))){ if((%_ClassOf(Z)==='ArrayBuffer')||(%_ClassOf(Z)==='SharedArrayBuffer')){ Uint8ClampedArrayConstructByArrayBuffer(this,Z,aa,aB); }else if((typeof(Z)==='number')||(typeof(Z)==='string')|| (typeof(Z)==='boolean')||(Z===(void 0))){ Uint8ClampedArrayConstructByLength(this,Z); }else if((%_IsTypedArray(Z))){ Uint8ClampedArrayConstructByTypedArray(this,Z); }else{ var at=Z[K]; if((at===(void 0))||at===d){ Uint8ClampedArrayConstructByArrayLike(this,Z,Z.length); }else{ Uint8ClampedArrayConstructByIterable(this,Z,at); } } }else{ throw E(27,"Uint8ClampedArray") } } function Uint8ClampedArraySubArray(aC,aD){ var aE=(%_ToInteger(aC)); if(!(aD===(void 0))){ var aF=(%_ToInteger(aD)); var aG=%_TypedArrayGetLength(this); }else{ var aG=%_TypedArrayGetLength(this); var aF=aG; } if(aE<0){ aE=F(0,aG+aE); }else{ aE=G(aE,aG); } if(aF<0){ aF=F(0,aG+aF); }else{ aF=G(aF,aG); } if(aF<aE){ aF=aE; } var am=aF-aE; var aH= %_ArrayBufferViewGetByteOffset(this)+aE*1; return new U(%TypedArrayGetBuffer(this),aH,am); } function TypedArraySubArray(aC,aD){ switch(%_ClassOf(this)){ case"Uint8Array": return %_Call(Uint8ArraySubArray,this,aC,aD); case"Int8Array": return %_Call(Int8ArraySubArray,this,aC,aD); case"Uint16Array": return %_Call(Uint16ArraySubArray,this,aC,aD); case"Int16Array": return %_Call(Int16ArraySubArray,this,aC,aD); case"Uint32Array": return %_Call(Uint32ArraySubArray,this,aC,aD); case"Int32Array": return %_Call(Int32ArraySubArray,this,aC,aD); case"Float32Array": return %_Call(Float32ArraySubArray,this,aC,aD); case"Float64Array": return %_Call(Float64ArraySubArray,this,aC,aD); case"Uint8ClampedArray": return %_Call(Uint8ClampedArraySubArray,this,aC,aD); } throw E(44, "get TypedArray.prototype.subarray",this); } %SetForceInlineFlag(TypedArraySubArray); function TypedArrayGetBuffer(){ if(!(%_IsTypedArray(this))){ throw E(44, "get TypedArray.prototype.buffer",this); } return %TypedArrayGetBuffer(this); } %SetForceInlineFlag(TypedArrayGetBuffer); function TypedArrayGetByteLength(){ if(!(%_IsTypedArray(this))){ throw E(44, "get TypedArray.prototype.byteLength",this); } return %_ArrayBufferViewGetByteLength(this); } %SetForceInlineFlag(TypedArrayGetByteLength); function TypedArrayGetByteOffset(){ if(!(%_IsTypedArray(this))){ throw E(44, "get TypedArray.prototype.byteOffset",this); } return %_ArrayBufferViewGetByteOffset(this); } %SetForceInlineFlag(TypedArrayGetByteOffset); function TypedArrayGetLength(){ if(!(%_IsTypedArray(this))){ throw E(44, "get TypedArray.prototype.length",this); } return %_TypedArrayGetLength(this); } %SetForceInlineFlag(TypedArrayGetLength); function TypedArraySetFromArrayLike(aI,aJ,aK,ak){ if(ak>0){ for(var ar=0;ar<aK;ar++){ aI[ak+ar]=aJ[ar]; } } else{ for(var ar=0;ar<aK;ar++){ aI[ar]=aJ[ar]; } } } function TypedArraySetFromOverlappingTypedArray(aI,aJ,ak){ var aL=aJ.BYTES_PER_ELEMENT; var aM=aI.BYTES_PER_ELEMENT; var aK=aJ.length; function CopyLeftPart(){ var aN=aI.byteOffset+(ak+1)*aM; var aO=aJ.byteOffset; for(var aP=0; aP<aK&&aN<=aO; aP++){ aI[ak+aP]=aJ[aP]; aN+=aM; aO+=aL; } return aP; } var aP=CopyLeftPart(); function CopyRightPart(){ var aN= aI.byteOffset+(ak+aK-1)*aM; var aO= aJ.byteOffset+aK*aL; for(var aQ=aK-1; aQ>=aP&&aN>=aO; aQ--){ aI[ak+aQ]=aJ[aQ]; aN-=aM; aO-=aL; } return aQ; } var aQ=CopyRightPart(); var aR=new g(aQ+1-aP); for(var ar=aP;ar<=aQ;ar++){ aR[ar-aP]=aJ[ar]; } for(ar=aP;ar<=aQ;ar++){ aI[ak+ar]=aR[ar-aP]; } } function TypedArraySet(af,ak){ var aS=(ak===(void 0))?0:(%_ToInteger(ak)); if(aS<0)throw E(179); if(aS>%_MaxSmi()){ throw D(180); } switch(%TypedArraySetFastCases(this,af,aS)){ case 0: return; case 1: TypedArraySetFromOverlappingTypedArray(this,af,aS); return; case 2: TypedArraySetFromArrayLike(this,af,af.length,aS); return; case 3: var an=af.length; if((an===(void 0))){ if((typeof(af)==='number')){ throw E(46); } return; } an=(%_ToLength(an)); if(aS+an>this.length){ throw D(180); } TypedArraySetFromArrayLike(this,af,an,aS); return; } } %FunctionSetLength(TypedArraySet,1); function TypedArrayGetToStringTag(){ if(!(%_IsTypedArray(this)))return; var aT=%_ClassOf(this); if((aT===(void 0)))return; return aT; } function TypedArrayCopyWithin(aI,aU,aD){ if(!(%_IsTypedArray(this)))throw E(72); var ai=%_TypedArrayGetLength(this); return l(aI,aU,aD,this,ai); } %FunctionSetLength(TypedArrayCopyWithin,2); function TypedArrayEvery(aV,aW){ if(!(%_IsTypedArray(this)))throw E(72); var ai=%_TypedArrayGetLength(this); return m(aV,aW,this,ai); } %FunctionSetLength(TypedArrayEvery,1); function TypedArrayForEach(aV,aW){ if(!(%_IsTypedArray(this)))throw E(72); var ai=%_TypedArrayGetLength(this); r(aV,aW,this,ai); } %FunctionSetLength(TypedArrayForEach,1); function TypedArrayFill(ax,aU,aD){ if(!(%_IsTypedArray(this)))throw E(72); var ai=%_TypedArrayGetLength(this); return n(ax,aU,aD,this,ai); } %FunctionSetLength(TypedArrayFill,1); function TypedArrayFilter(aV,aX){ if(!(%_IsTypedArray(this)))throw E(72); var ai=%_TypedArrayGetLength(this); if(!(typeof(aV)==='function'))throw E(15,aV); var aY=new B(); o(aV,aX,this,ai,aY); var aZ=aY.length; var ba=TypedArraySpeciesCreate(this,aZ); for(var ar=0;ar<aZ;ar++){ ba[ar]=aY[ar]; } return ba; } %FunctionSetLength(TypedArrayFilter,1); function TypedArrayFind(bb,aX){ if(!(%_IsTypedArray(this)))throw E(72); var ai=%_TypedArrayGetLength(this); return p(bb,aX,this,ai); } %FunctionSetLength(TypedArrayFind,1); function TypedArrayFindIndex(bb,aX){ if(!(%_IsTypedArray(this)))throw E(72); var ai=%_TypedArrayGetLength(this); return q(bb,aX,this,ai); } %FunctionSetLength(TypedArrayFindIndex,1); function TypedArrayReverse(){ if(!(%_IsTypedArray(this)))throw E(72); var ai=%_TypedArrayGetLength(this); return H(this,ai); } function TypedArrayComparefn(bc,bd){ if(bc===0&&bc===bd){ bc=1/bc; bd=1/bd; } if(bc<bd){ return-1; }else if(bc>bd){ return 1; }else if(C(bc)&&C(bd)){ return C(bd)?0:1; }else if(C(bc)){ return 1; } return 0; } function TypedArraySort(be){ if(!(%_IsTypedArray(this)))throw E(72); var ai=%_TypedArrayGetLength(this); if((be===(void 0))){ be=TypedArrayComparefn; } return z(this,ai,be); } function TypedArrayIndexOf(bf,bg){ if(!(%_IsTypedArray(this)))throw E(72); var ai=%_TypedArrayGetLength(this); return t(this,bf,bg,ai); } %FunctionSetLength(TypedArrayIndexOf,1); function TypedArrayLastIndexOf(bf,bg){ if(!(%_IsTypedArray(this)))throw E(72); var ai=%_TypedArrayGetLength(this); return v(this,bf,bg,ai, arguments.length); } %FunctionSetLength(TypedArrayLastIndexOf,1); function TypedArrayMap(aV,aX){ if(!(%_IsTypedArray(this)))throw E(72); var ai=%_TypedArrayGetLength(this); var aY=TypedArraySpeciesCreate(this,ai); if(!(typeof(aV)==='function'))throw E(15,aV); for(var ar=0;ar<ai;ar++){ var bf=this[ar]; aY[ar]=%_Call(aV,aX,bf,ar,this); } return aY; } %FunctionSetLength(TypedArrayMap,1); function TypedArraySome(aV,aW){ if(!(%_IsTypedArray(this)))throw E(72); var ai=%_TypedArrayGetLength(this); return y(aV,aW,this,ai); } %FunctionSetLength(TypedArraySome,1); function TypedArrayToLocaleString(){ if(!(%_IsTypedArray(this)))throw E(72); var ai=%_TypedArrayGetLength(this); return A(this,ai); } function TypedArrayJoin(bh){ if(!(%_IsTypedArray(this)))throw E(72); var ai=%_TypedArrayGetLength(this); return u(bh,this,ai); } function TypedArrayReduce(bi,bj){ if(!(%_IsTypedArray(this)))throw E(72); var ai=%_TypedArrayGetLength(this); return w(bi,bj,this,ai, arguments.length); } %FunctionSetLength(TypedArrayReduce,1); function TypedArrayReduceRight(bi,bj){ if(!(%_IsTypedArray(this)))throw E(72); var ai=%_TypedArrayGetLength(this); return x(bi,bj,this,ai, arguments.length); } %FunctionSetLength(TypedArrayReduceRight,1); function TypedArraySlice(aU,aD){ if(!(%_IsTypedArray(this)))throw E(72); var bk=%_TypedArrayGetLength(this); var bl=(%_ToInteger(aU)); var bm; if(bl<0){ bm=F(bk+bl,0); }else{ bm=G(bl,bk); } var bn; if((aD===(void 0))){ bn=bk; }else{ bn=(%_ToInteger(aD)); } var bo; if(bn<0){ bo=F(bk+bn,0); }else{ bo=G(bn,bk); } var bp=F(bo-bm,0); var bq=TypedArraySpeciesCreate(this,bp); var br=0; while(bm<bo){ var bs=this[bm]; bq[br]=bs; bm++; br++; } return bq; } function TypedArrayIncludes(bt,bu){ if(!(%_IsTypedArray(this)))throw E(72); var ai=%_TypedArrayGetLength(this); return s(bt,bu,this,ai); } %FunctionSetLength(TypedArrayIncludes,1); function TypedArrayOf(){ var ai=arguments.length; var bq=TypedArrayCreate(this,ai); for(var ar=0;ar<ai;ar++){ bq[ar]=arguments[ar]; } return bq; } function IterableToArrayLike(bv){ var as=f(bv,K); if(!(as===(void 0))){ var bw=new B(); var ar=0; for(var ax of {[K](){return e(bv,as)}}){ bw[ar]=ax; ar++; } var bq=[]; %MoveArrayContents(bw,bq); return bq; } return(%_ToObject(bv)); } function TypedArrayFrom(aJ,bx,aX){ if(!%IsConstructor(this))throw E(66,this); var by; if(!(bx===(void 0))){ if(!(typeof(bx)==='function'))throw E(15,this); by=true; }else{ by=false; } var ap=IterableToArrayLike(aJ); var ai=(%_ToLength(ap.length)); var bz=TypedArrayCreate(this,ai); var ax,bA; for(var ar=0;ar<ai;ar++){ ax=ap[ar]; if(by){ bA=%_Call(bx,aX,ax,ar); }else{ bA=ax; } bz[ar]=bA; } return bz; } %FunctionSetLength(TypedArrayFrom,1); function TypedArray(){ if((new.target===(void 0))){ throw E(26,"TypedArray"); } if(new.target===TypedArray){ throw E(24,"TypedArray"); } } %FunctionSetPrototype(TypedArray,new k()); %AddNamedProperty(TypedArray.prototype, "constructor",TypedArray,2); b.InstallFunctions(TypedArray,2,[ "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,L, 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, "toLocaleString",TypedArrayToLocaleString ]); %AddNamedProperty(TypedArray.prototype,"toString",c, 2); %SetCode(M,Uint8ArrayConstructor); %FunctionSetPrototype(M,new k()); %InternalSetPrototype(M,TypedArray); %InternalSetPrototype(M.prototype,TypedArray.prototype); %AddNamedProperty(M,"BYTES_PER_ELEMENT",1, 1|2|4); %AddNamedProperty(M.prototype, "constructor",a.Uint8Array,2); %AddNamedProperty(M.prototype, "BYTES_PER_ELEMENT",1, 1|2|4); %SetCode(N,Int8ArrayConstructor); %FunctionSetPrototype(N,new k()); %InternalSetPrototype(N,TypedArray); %InternalSetPrototype(N.prototype,TypedArray.prototype); %AddNamedProperty(N,"BYTES_PER_ELEMENT",1, 1|2|4); %AddNamedProperty(N.prototype, "constructor",a.Int8Array,2); %AddNamedProperty(N.prototype, "BYTES_PER_ELEMENT",1, 1|2|4); %SetCode(O,Uint16ArrayConstructor); %FunctionSetPrototype(O,new k()); %InternalSetPrototype(O,TypedArray); %InternalSetPrototype(O.prototype,TypedArray.prototype); %AddNamedProperty(O,"BYTES_PER_ELEMENT",2, 1|2|4); %AddNamedProperty(O.prototype, "constructor",a.Uint16Array,2); %AddNamedProperty(O.prototype, "BYTES_PER_ELEMENT",2, 1|2|4); %SetCode(P,Int16ArrayConstructor); %FunctionSetPrototype(P,new k()); %InternalSetPrototype(P,TypedArray); %InternalSetPrototype(P.prototype,TypedArray.prototype); %AddNamedProperty(P,"BYTES_PER_ELEMENT",2, 1|2|4); %AddNamedProperty(P.prototype, "constructor",a.Int16Array,2); %AddNamedProperty(P.prototype, "BYTES_PER_ELEMENT",2, 1|2|4); %SetCode(Q,Uint32ArrayConstructor); %FunctionSetPrototype(Q,new k()); %InternalSetPrototype(Q,TypedArray); %InternalSetPrototype(Q.prototype,TypedArray.prototype); %AddNamedProperty(Q,"BYTES_PER_ELEMENT",4, 1|2|4); %AddNamedProperty(Q.prototype, "constructor",a.Uint32Array,2); %AddNamedProperty(Q.prototype, "BYTES_PER_ELEMENT",4, 1|2|4); %SetCode(R,Int32ArrayConstructor); %FunctionSetPrototype(R,new k()); %InternalSetPrototype(R,TypedArray); %InternalSetPrototype(R.prototype,TypedArray.prototype); %AddNamedProperty(R,"BYTES_PER_ELEMENT",4, 1|2|4); %AddNamedProperty(R.prototype, "constructor",a.Int32Array,2); %AddNamedProperty(R.prototype, "BYTES_PER_ELEMENT",4, 1|2|4); %SetCode(S,Float32ArrayConstructor); %FunctionSetPrototype(S,new k()); %InternalSetPrototype(S,TypedArray); %InternalSetPrototype(S.prototype,TypedArray.prototype); %AddNamedProperty(S,"BYTES_PER_ELEMENT",4, 1|2|4); %AddNamedProperty(S.prototype, "constructor",a.Float32Array,2); %AddNamedProperty(S.prototype, "BYTES_PER_ELEMENT",4, 1|2|4); %SetCode(T,Float64ArrayConstructor); %FunctionSetPrototype(T,new k()); %InternalSetPrototype(T,TypedArray); %InternalSetPrototype(T.prototype,TypedArray.prototype); %AddNamedProperty(T,"BYTES_PER_ELEMENT",8, 1|2|4); %AddNamedProperty(T.prototype, "constructor",a.Float64Array,2); %AddNamedProperty(T.prototype, "BYTES_PER_ELEMENT",8, 1|2|4); %SetCode(U,Uint8ClampedArrayConstructor); %FunctionSetPrototype(U,new k()); %InternalSetPrototype(U,TypedArray); %InternalSetPrototype(U.prototype,TypedArray.prototype); %AddNamedProperty(U,"BYTES_PER_ELEMENT",1, 1|2|4); %AddNamedProperty(U.prototype, "constructor",a.Uint8ClampedArray,2); %AddNamedProperty(U.prototype, "BYTES_PER_ELEMENT",1, 1|2|4); function DataViewGetBufferJS(){ if(!(%_ClassOf(this)==='DataView')){ throw E(44,'DataView.buffer',this); } return %DataViewGetBuffer(this); } function DataViewGetByteOffset(){ if(!(%_ClassOf(this)==='DataView')){ throw E(44, 'DataView.byteOffset',this); } return %_ArrayBufferViewGetByteOffset(this); } function DataViewGetByteLength(){ if(!(%_ClassOf(this)==='DataView')){ throw E(44, 'DataView.byteLength',this); } return %_ArrayBufferViewGetByteLength(this); } function DataViewGetInt8JS(ak,bB){ if(!(%_ClassOf(this)==='DataView')){ throw E(44, 'DataView.getInt8',this); } if(arguments.length<1)throw E(46); ak=J(ak,159); return %DataViewGetInt8(this,ak,!!bB); } %FunctionSetLength(DataViewGetInt8JS,1); function DataViewSetInt8JS(ak,ax,bB){ if(!(%_ClassOf(this)==='DataView')){ throw E(44, 'DataView.setInt8',this); } if(arguments.length<2)throw E(46); ak=J(ak,159); %DataViewSetInt8(this,ak,(%_ToNumber(ax)),!!bB); } %FunctionSetLength(DataViewSetInt8JS,2); function DataViewGetUint8JS(ak,bB){ if(!(%_ClassOf(this)==='DataView')){ throw E(44, 'DataView.getUint8',this); } if(arguments.length<1)throw E(46); ak=J(ak,159); return %DataViewGetUint8(this,ak,!!bB); } %FunctionSetLength(DataViewGetUint8JS,1); function DataViewSetUint8JS(ak,ax,bB){ if(!(%_ClassOf(this)==='DataView')){ throw E(44, 'DataView.setUint8',this); } if(arguments.length<2)throw E(46); ak=J(ak,159); %DataViewSetUint8(this,ak,(%_ToNumber(ax)),!!bB); } %FunctionSetLength(DataViewSetUint8JS,2); function DataViewGetInt16JS(ak,bB){ if(!(%_ClassOf(this)==='DataView')){ throw E(44, 'DataView.getInt16',this); } if(arguments.length<1)throw E(46); ak=J(ak,159); return %DataViewGetInt16(this,ak,!!bB); } %FunctionSetLength(DataViewGetInt16JS,1); function DataViewSetInt16JS(ak,ax,bB){ if(!(%_ClassOf(this)==='DataView')){ throw E(44, 'DataView.setInt16',this); } if(arguments.length<2)throw E(46); ak=J(ak,159); %DataViewSetInt16(this,ak,(%_ToNumber(ax)),!!bB); } %FunctionSetLength(DataViewSetInt16JS,2); function DataViewGetUint16JS(ak,bB){ if(!(%_ClassOf(this)==='DataView')){ throw E(44, 'DataView.getUint16',this); } if(arguments.length<1)throw E(46); ak=J(ak,159); return %DataViewGetUint16(this,ak,!!bB); } %FunctionSetLength(DataViewGetUint16JS,1); function DataViewSetUint16JS(ak,ax,bB){ if(!(%_ClassOf(this)==='DataView')){ throw E(44, 'DataView.setUint16',this); } if(arguments.length<2)throw E(46); ak=J(ak,159); %DataViewSetUint16(this,ak,(%_ToNumber(ax)),!!bB); } %FunctionSetLength(DataViewSetUint16JS,2); function DataViewGetInt32JS(ak,bB){ if(!(%_ClassOf(this)==='DataView')){ throw E(44, 'DataView.getInt32',this); } if(arguments.length<1)throw E(46); ak=J(ak,159); return %DataViewGetInt32(this,ak,!!bB); } %FunctionSetLength(DataViewGetInt32JS,1); function DataViewSetInt32JS(ak,ax,bB){ if(!(%_ClassOf(this)==='DataView')){ throw E(44, 'DataView.setInt32',this); } if(arguments.length<2)throw E(46); ak=J(ak,159); %DataViewSetInt32(this,ak,(%_ToNumber(ax)),!!bB); } %FunctionSetLength(DataViewSetInt32JS,2); function DataViewGetUint32JS(ak,bB){ if(!(%_ClassOf(this)==='DataView')){ throw E(44, 'DataView.getUint32',this); } if(arguments.length<1)throw E(46); ak=J(ak,159); return %DataViewGetUint32(this,ak,!!bB); } %FunctionSetLength(DataViewGetUint32JS,1); function DataViewSetUint32JS(ak,ax,bB){ if(!(%_ClassOf(this)==='DataView')){ throw E(44, 'DataView.setUint32',this); } if(arguments.length<2)throw E(46); ak=J(ak,159); %DataViewSetUint32(this,ak,(%_ToNumber(ax)),!!bB); } %FunctionSetLength(DataViewSetUint32JS,2); function DataViewGetFloat32JS(ak,bB){ if(!(%_ClassOf(this)==='DataView')){ throw E(44, 'DataView.getFloat32',this); } if(arguments.length<1)throw E(46); ak=J(ak,159); return %DataViewGetFloat32(this,ak,!!bB); } %FunctionSetLength(DataViewGetFloat32JS,1); function DataViewSetFloat32JS(ak,ax,bB){ if(!(%_ClassOf(this)==='DataView')){ throw E(44, 'DataView.setFloat32',this); } if(arguments.length<2)throw E(46); ak=J(ak,159); %DataViewSetFloat32(this,ak,(%_ToNumber(ax)),!!bB); } %FunctionSetLength(DataViewSetFloat32JS,2); function DataViewGetFloat64JS(ak,bB){ if(!(%_ClassOf(this)==='DataView')){ throw E(44, 'DataView.getFloat64',this); } if(arguments.length<1)throw E(46); ak=J(ak,159); return %DataViewGetFloat64(this,ak,!!bB); } %FunctionSetLength(DataViewGetFloat64JS,1); function DataViewSetFloat64JS(ak,ax,bB){ if(!(%_ClassOf(this)==='DataView')){ throw E(44, 'DataView.setFloat64',this); } if(arguments.length<2)throw E(46); ak=J(ak,159); %DataViewSetFloat64(this,ak,(%_ToNumber(ax)),!!bB); } %FunctionSetLength(DataViewSetFloat64JS,2); %FunctionSetPrototype(j,new k); %AddNamedProperty(j.prototype,"constructor",j, 2); %AddNamedProperty(j.prototype,L,"DataView", 1|2); b.InstallGetter(j.prototype,"buffer",DataViewGetBufferJS); b.InstallGetter(j.prototype,"byteOffset", DataViewGetByteOffset); b.InstallGetter(j.prototype,"byteLength", DataViewGetByteLength); b.InstallFunctions(j.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); }) (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(27,"Set"); } %_SetInitialize(this); if(!(x==null)){ var y=this.add; if(!(typeof(y)==='function')){ throw h(86,y,'add',this); } for(var z of x){ %_Call(y,this,z); } } } function SetAdd(r){ if(!(%_ClassOf(this)==='Set')){ throw h(44,'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(44,'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(44, '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(44, 'Set.prototype.size',this); } var n=%_JSCollectionGetTable(this); return((%_FixedArrayGet(n,(1)|0))); } function SetClearJS(){ if(!(%_ClassOf(this)==='Set')){ throw h(44, 'Set.prototype.clear',this); } %_SetClear(this); } function SetForEach(F,G){ if(!(%_ClassOf(this)==='Set')){ throw h(44, '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(27,"Map"); } %_MapInitialize(this); if(!(x==null)){ var y=this.set; if(!(typeof(y)==='function')){ throw h(86,y,'set',this); } for(var J of x){ if(!(%_IsJSReceiver(J))){ throw h(51,J); } %_Call(y,this,J[0],J[1]); } } } function MapGet(r){ if(!(%_ClassOf(this)==='Map')){ throw h(44, '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(44, '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(44, '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(44, '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(44, 'Map.prototype.size',this); } var n=%_JSCollectionGetTable(this); return((%_FixedArrayGet(n,(1)|0))); } function MapClearJS(){ if(!(%_ClassOf(this)==='Map')){ throw h(44, 'Map.prototype.clear',this); } %_MapClear(this); } function MapForEach(F,G){ if(!(%_ClassOf(this)==='Map')){ throw h(44, '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(27,"WeakMap"); } %WeakCollectionInitialize(this); if(!(k==null)){ var l=this.set; if(!(typeof(l)==='function')){ throw h(86,l,'set',this); } for(var m of k){ if(!(%_IsJSReceiver(m))){ throw h(51,m); } %_Call(l,this,m[0],m[1]); } } } function WeakMapGet(n){ if(!(%_ClassOf(this)==='WeakMap')){ throw h(44, '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(44, 'WeakMap.prototype.set',this); } if(!(%_IsJSReceiver(n)))throw h(164); return %WeakCollectionSet(this,n,p,d(n)); } function WeakMapHas(n){ if(!(%_ClassOf(this)==='WeakMap')){ throw h(44, '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(44, '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(27,"WeakSet"); } %WeakCollectionInitialize(this); if(!(k==null)){ var l=this.add; if(!(typeof(l)==='function')){ throw h(86,l,'add',this); } for(var p of k){ %_Call(l,this,p); } } } function WeakSetAdd(p){ if(!(%_ClassOf(this)==='WeakSet')){ throw h(44, 'WeakSet.prototype.add',this); } if(!(%_IsJSReceiver(p)))throw h(165); return %WeakCollectionSet(this,p,true,d(p)); } function WeakSetHas(p){ if(!(%_ClassOf(this)==='WeakSet')){ throw h(44, '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(44, '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(44, '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(44, 'Set.prototype.entries',this); } return new i(this,3); } function SetValues(){ if(!(%_ClassOf(this)==='Set')){ throw f(44, '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(44, '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(44, 'Map.prototype.entries',this); } return new g(this,3); } function MapKeys(){ if(!(%_ClassOf(this)==='Map')){ throw f(44, 'Map.prototype.keys',this); } return new g(this,1); } function MapValues(){ if(!(%_ClassOf(this)==='Map')){ throw f(44, '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; }); }) promiseMz (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_reject_reactions_symbol"); var i= b.ImportNow("promise_fulfill_reactions_symbol"); var j=b.ImportNow("promise_raw_symbol"); var k=b.ImportNow("promise_state_symbol"); var l=b.ImportNow("promise_result_symbol"); var m; var n=b.ImportNow("to_string_tag_symbol"); b.Import(function(o){ e=o.MakeTypeError; m=o.SpeciesConstructor; }); const kPending=0; const kFulfilled=+1; const kRejected=-1; var p=0; function CreateResolvingFunctions(q){ var r=false; var s=value=>{ if(r===true)return; r=true; FulfillPromise(q,value); }; var t=reason=>{ if(r===true)return; r=true; RejectPromise(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(65,this); if(!(typeof(v)==='function')){ throw e(127,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); return q; } function PromiseCreateAndSet(x,y){ var q=new u(j); if((%_DebugIsActive()!=0))PromiseSet(q,kPending,(void 0)); return PromiseSet(q,x,y); } function PromiseInit(q){ return PromiseSet( q,kPending,(void 0),new d,new d) } function PromiseDone(q,x,y,B){ if((q[k])===kPending){ 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===kFulfilled?"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 FulfillPromise(q,K){ if(K===q){ return RejectPromise(q,e(82,K)); } if((%_IsJSReceiver(K))){ try{ var M=K.then; }catch(e){ return RejectPromise(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,kFulfilled,K,i); } function RejectPromise(q,L){ if((q[k])===kPending){ var N=(%_DebugIsActive()!=0); if(N|| !(!(q[g]===(void 0)))){ %PromiseRejectEvent(q,L,N); } } PromiseDone(q,kRejected,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(83); F.resolve=s; F.reject=t; }); if(!(typeof(F.resolve)==='function')||!(typeof(F.reject)==='function')) throw e(84); return F; } function PromiseDefer(){ %IncrementUseCounter(19); return NewPromiseCapability(this); } function PromiseAccept(K){ %IncrementUseCounter(18); return %_Call(PromiseResolve,this,K); } function PromiseReject(L){ if(!(%_IsJSReceiver(this))){ throw e(16,PromiseResolve); } if(this===u){ var q=PromiseCreateAndSet(kRejected,L); %PromiseRejectEvent(q,L,false); return q; }else{ var P=NewPromiseCapability(this); %_Call(P.reject,(void 0),L); return P.promise; } } function PromiseCreateRejected(L){ return %_Call(PromiseReject,u,L); } function PromiseCreateResolved(K){ return %_Call(PromiseResolve,u,K); } function PromiseThen(z,A){ var x=(this[k]); if((x===(void 0))){ throw e(65,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 kPending: (this[i]).push(z, E); (this[h]).push(A,E); break; case kFulfilled: PromiseEnqueue((this[l]), [z,E], kFulfilled); break; case kRejected: if(!(!(this[g]===(void 0)))){ %PromiseRevokeReject(this); } PromiseEnqueue((this[l]), [A,E], kRejected); break; } (this[g]=true); 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 PromiseResolve(K){ if(!(%_IsJSReceiver(this))){ throw e(16,PromiseResolve); } 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",PromiseReject, "all",PromiseAll, "race",PromiseRace, "resolve",PromiseResolve ]); 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",RejectPromise, "promise_resolve",FulfillPromise, "promise_then",PromiseThen, "promise_create_rejected",PromiseCreateRejected, "promise_create_resolved",PromiseCreateResolved ]); b.InstallFunctions(c,0,[ "createPromise",PromiseCreate, "resolvePromise",FulfillPromise, "rejectPromise",RejectPromise ]); [PromiseChain,PromiseDefer,PromiseAccept].forEach( fn=>%FunctionRemovePrototype(fn)); b.Export(function(ab){ ab.PromiseChain=PromiseChain; ab.PromiseDefer=PromiseDefer; ab.PromiseAccept=PromiseAccept; ab.PromiseCreateRejected=PromiseCreateRejected; ab.PromiseCreateResolved=PromiseCreateResolved; ab.PromiseThen=PromiseThen; }); }) 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= b.ImportNow("call_site_wasm_obj_symbol"); var l= b.ImportNow("call_site_wasm_func_index_symbol"); var m; var n= b.ImportNow("formatted_stack_trace_symbol"); var o=a.Object; var p; var q; var r; var s=b.InternalArray; var t=b.ImportNow("internal_error_symbol"); var u; var v=b.ImportNow("object_to_string"); var w=b.ImportNow("Script"); var x=b.ImportNow("stack_trace_symbol"); 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; m=F.Float32x4ToString; p=F.Int16x8ToString; q=F.Int32x4ToString; r=F.Int8x16ToString; u=F.ObjectHasOwnProperty; y=F.StringIndexOf; z=F.StringSubstring; A=F.SymbolToString; C=F.Uint16x8ToString; D=F.Uint32x4ToString; E=F.Uint8x16ToString; }); 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=%GetDataProperty(N,B); if(!(typeof(P)==='string')){ P=O; } return`[object ${P}]`; } function IsErrorObject(Q){ return(%_Call(u,Q,x)); } 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(m,Q); case'int32x4':return %_Call(q,Q); case'int16x8':return %_Call(p,Q); case'int8x16':return %_Call(r,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")===v){ 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[t]=true; return aa; } %FunctionSetInstanceClassName(w,'Script'); %AddNamedProperty(w.prototype,'constructor',w, 2|4|1); %SetCode(w,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&&%_StringCharAt(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(w,[ "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))&&!(typeof(aB)==='number')){ throw MakeTypeError(18,typeof aB); } if((new.target===(void 0))){ return new CallSite(aE,aB,aC,aF); } if((%IsFunction(aB))){ (this[g]=aE); (this[h]=aB); }else{ (this[k]=aE); (this[l]=((aB)>>>0)); } (this[i]=((aC)|0)); (this[j]=(!!(aF))); } function CheckCallSite(Q,R){ if(!(%_IsJSReceiver(Q))||!(%_Call(u,Q,i))){ throw MakeTypeError(19,R); } } function CallSiteGetThis(){ CheckCallSite(this,"getThis"); return(this[j]) ?(void 0):(this[g]); } function CallSiteGetFunction(){ CheckCallSite(this,"getFunction"); return(this[j]) ?(void 0):(this[h]); } function CallSiteGetPosition(){ CheckCallSite(this,"getPosition"); return(this[i]); } function CallSiteGetTypeName(){ CheckCallSite(this,"getTypeName"); return GetTypeName((this[g]),false); } function CallSiteIsToplevel(){ CheckCallSite(this,"isTopLevel"); return %CallSiteIsToplevelRT(this); } function CallSiteIsEval(){ CheckCallSite(this,"isEval"); return %CallSiteIsEvalRT(this); } function CallSiteGetEvalOrigin(){ CheckCallSite(this,"getEvalOrigin"); var ad=%FunctionGetScript((this[h])); return FormatEvalOrigin(ad); } function CallSiteGetScriptNameOrSourceURL(){ CheckCallSite(this,"getScriptNameOrSourceURL"); return %CallSiteGetScriptNameOrSourceUrlRT(this); } function CallSiteGetFunctionName(){ CheckCallSite(this,"getFunctionName"); if((%_Call(u,this,k))){ var aG=(this[k]); var aH=(this[l]); if((aG===(void 0)))return"<WASM>"; return %WasmGetFunctionName(aG,aH); } return %CallSiteGetFunctionNameRT(this); } function CallSiteGetMethodName(){ CheckCallSite(this,"getMethodName"); return %CallSiteGetMethodNameRT(this); } function CallSiteGetFileName(){ CheckCallSite(this,"getFileName"); return %CallSiteGetFileNameRT(this); } function CallSiteGetLineNumber(){ if((%_Call(u,this,k))){ return(this[l]); } CheckCallSite(this,"getLineNumber"); return %CallSiteGetLineNumberRT(this); } function CallSiteGetColumnNumber(){ CheckCallSite(this,"getColumnNumber"); return %CallSiteGetColumnNumberRT(this); } function CallSiteIsNative(){ CheckCallSite(this,"isNative"); return %CallSiteIsNativeRT(this); } function CallSiteIsConstructor(){ CheckCallSite(this,"isConstructor"); return %CallSiteIsConstructorRT(this); } function CallSiteToString(){ if((%_Call(u,this,k))){ var aI=this.getFunctionName(); var aJ=(this[l]); var aC=this.getPosition(); return aI+" (<WASM>:"+aJ+":"+aC+")"; } var aK; var aL=""; if(this.isNative()){ aL="native"; }else{ aK=this.getScriptNameOrSourceURL(); if(!aK&&this.isEval()){ aL=this.getEvalOrigin(); aL+=", "; } if(aK){ aL+=aK; }else{ aL+="<anonymous>"; } var aM=this.getLineNumber(); if(aM!=null){ aL+=":"+aM; var aN=this.getColumnNumber(); if(aN){ aL+=":"+aN; } } } var ak=""; var aO=this.getFunctionName(); var aP=true; var aQ=this.isConstructor(); var aR=!(this.isToplevel()||aQ); if(aR){ var aS=GetTypeName((this[g]),true); var aT=this.getMethodName(); if(aO){ if(aS&&%_Call(y,aO,aS)!=0){ ak+=aS+"."; } ak+=aO; if(aT&& (%_Call(y,aO,"."+aT)!= aO.length-aT.length-1)){ ak+=" [as "+aT+"]"; } }else{ ak+=aS+"."+(aT||"<anonymous>"); } }else if(aQ){ ak+="new "+(aO||"<anonymous>"); }else if(aO){ ak+=aO; }else{ ak+=aL; aP=false; } if(aP){ ak+=" ("+aL+")"; } 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 aU=ad.nameOrSourceURL(); if(aU){ return aU; } var aV="eval at "; if(ad.eval_from_function_name){ aV+=ad.eval_from_function_name; }else{ aV+="<anonymous>"; } var aW=ad.eval_from_script; if(aW){ if(aW.compilation_type==1){ aV+=" ("+FormatEvalOrigin(aW)+")"; }else{ if(aW.name){ aV+=" ("+aW.name; var ae=aW.locationFromPosition( ad.eval_from_script_position,true); if(ae){ aV+=":"+(ae.line+1); aV+=":"+(ae.column+1); } aV+=")"; }else{ aV+=" (unknown source)"; } } } return aV; } function FormatErrorString(aa){ try{ return %_Call(ErrorToString,aa); }catch(e){ try{ return"<error: "+e+">"; }catch(ee){ return"<error>"; } } } function GetStackFrames(aX){ var aY=new s(); %MoveArrayContents(aX,aY); var aZ=new s(); var ba=aY[0]; for(var aj=1;aj<aY.length;aj+=4){ var aA=aY[aj]; var aB=aY[aj+1]; var bb=aY[aj+2]; var bc=aY[aj+3]; var aC=(typeof(aB)==='number')&&bc<0?(-1-bc): %FunctionGetPositionForOffset(bb,bc); ba--; aZ.push(new CallSite(aA,aB,aC,(ba<0))); } return aZ; } var bd=false; function FormatStackTrace(Q,aX){ var aZ=GetStackFrames(aX); if((%IsFunction(G.prepareStackTrace))&& !bd){ var be=[]; %MoveArrayContents(aZ,be); bd=true; var bf=(void 0); try{ bf=G.prepareStackTrace(Q,be); }catch(e){ throw e; }finally{ bd=false; } return bf; } var bg=new s(); bg.push(FormatErrorString(Q)); for(var aj=0;aj<aZ.length;aj++){ var bh=aZ[aj]; var ak; try{ ak=bh.toString(); }catch(e){ try{ ak="<error: "+e+">"; }catch(ee){ ak="<error>"; } } bg.push(" at "+ak); } return %_Call(c,bg,"\n"); } function GetTypeName(aE,bi){ if((aE==null))return null; if((%_IsJSProxy(aE)))return"Proxy"; var U=%GetDataProperty((%_ToObject(aE)),"constructor"); if(!(%IsFunction(U))){ return bi?null:%_Call(NoSideEffectsToString,aE); } return %FunctionGetName(U); } var bj=function(){ var bk=(void 0); var bl=this; while(bl){ var bk= (bl[n]); if((bk===(void 0))){ var bf=(bl[x]); if((bf===(void 0))){ bl=%object_get_prototype_of(bl); continue; } bk=FormatStackTrace(bl,bf); (bl[x]=(void 0)); (bl[n]=bk); } return bk; } return(void 0); }; var bm=function(bn){ if(IsErrorObject(this)){ (this[x]=(void 0)); (this[n]=bn); } }; var bo=function(){}; function SetUpError(bp){ %FunctionSetInstanceClassName(bp,'Error'); var R=bp.name; var bq=new o(); if(R!=='Error'){ %InternalSetPrototype(bp,G); %InternalSetPrototype(bq,G.prototype); } %FunctionSetPrototype(bp,bq); %AddNamedProperty(bp.prototype,'name',R,2); %AddNamedProperty(bp.prototype,'message','',2); %AddNamedProperty( bp.prototype,'constructor',bp,2); %SetCode(bp,function(br){ if((new.target===(void 0)))return new bp(br); try{bo(this,bp);}catch(e){} if(!(br===(void 0))){ %AddNamedProperty(this,'message',(%_ToString(br)),2); } }); %SetNativeFlag(bp); return bp; }; 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,277); } var bs=MakeRangeError(176); b.InstallGetterSetter(bs,'stack', bj,bm) bo=function captureStackTrace(Q,bt){ %object_define_property(Q,'stack',{get:bj, set:bm, configurable:true}); %CollectStackTrace(Q,bt?bt:bo); }; G.captureStackTrace=bo; %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",bs, ]); b.Export(function(bu){ bu.ErrorToString=ErrorToString; bu.MakeError=MakeError; bu.MakeRangeError=MakeRangeError; bu.MakeSyntaxError=MakeSyntaxError; bu.MakeTypeError=MakeTypeError; bu.MakeURIError=MakeURIError; }); }); jsonH (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; var l; var m; var n; var o=b.ImportNow("to_string_tag_symbol"); b.Import(function(p){ g=p.MakeTypeError; h=p.MaxSimple; i=p.MinSimple; j=p.ObjectHasOwnProperty; k=p.Stack; l=p.StackHas; m=p.StackPop; n=p.StackPush; }); function CreateDataProperty(q,r,s){ var t={value:s,enumerable:true,writable:true,configurable:true}; return %reflect_define_property(q,r,t); } function InternalizeJSONProperty(u,v,w){ var x=u[v]; if((%_IsJSReceiver(x))){ if(%is_arraylike(x)){ var y=(%_ToLength(x.length)); for(var z=0;z<y;z++){ var A= InternalizeJSONProperty(x,%_NumberToString(z),w); if((A===(void 0))){ %reflect_delete_property(x,z); }else{ CreateDataProperty(x,z,A); } } }else{ var B=%object_keys(x); for(var z=0;z<B.length;z++){ var r=B[z]; var A=InternalizeJSONProperty(x,r,w); if((A===(void 0))){ %reflect_delete_property(x,r); }else{ CreateDataProperty(x,r,A); } } } } return %_Call(w,u,v,x); } function JSONParse(C,w){ var D=%ParseJson(C); if((typeof(w)==='function')){ return InternalizeJSONProperty({'':D},'',w); }else{ return D; } } function SerializeArray(E,F,G,H,I){ if(l(G,E))throw g(23); n(G,E); var J=H; H+=I; var K=new f(); var L=(%_ToLength(E.length)); for(var z=0;z<L;z++){ var M=JSONSerialize(%_NumberToString(z),E,F,G, H,I); if((M===(void 0))){ M="null"; } K.push(M); } var N; if(I==""){ N="["+K.join(",")+"]"; }else if(K.length>0){ var O=",\n"+H; N="[\n"+H+K.join(O)+"\n"+ J+"]"; }else{ N="[]"; } m(G); return N; } function SerializeObject(E,F,G,H,I){ if(l(G,E))throw g(23); n(G,E); var J=H; H+=I; var K=new f(); if((%_IsArray(F))){ var y=F.length; for(var z=0;z<y;z++){ var r=F[z]; var M=JSONSerialize(r,E,F,G,H,I); if(!(M===(void 0))){ var P=%QuoteJSONString(r)+":"; if(I!="")P+=" "; P+=M; K.push(P); } } }else{ var B=%object_keys(E); for(var z=0;z<B.length;z++){ var r=B[z]; var M=JSONSerialize(r,E,F,G,H,I); if(!(M===(void 0))){ var P=%QuoteJSONString(r)+":"; if(I!="")P+=" "; P+=M; K.push(P); } } } var N; if(I==""){ N="{"+K.join(",")+"}"; }else if(K.length>0){ var O=",\n"+H; N="{\n"+H+K.join(O)+"\n"+ J+"}"; }else{ N="{}"; } m(G); return N; } function JSONSerialize(Q,u,F,G,H,I){ var E=u[Q]; if((%_IsJSReceiver(E))){ var R=E.toJSON; if((typeof(R)==='function')){ E=%_Call(R,E,Q); } } if((typeof(F)==='function')){ E=%_Call(F,u,Q,E); } if((typeof(E)==='string')){ return %QuoteJSONString(E); }else if((typeof(E)==='number')){ return((%_IsSmi(%IS_VAR(E))||E-E==0)?%_NumberToString(E):"null"); }else if((typeof(E)==='boolean')){ return E?"true":"false"; }else if((E===null)){ return"null"; }else if((%_IsJSReceiver(E))&&!(typeof(E)==='function')){ if(%is_arraylike(E)){ return SerializeArray(E,F,G,H,I); }else if((%_ClassOf(E)==='Number')){ E=(%_ToNumber(E)); return((%_IsSmi(%IS_VAR(E))||E-E==0)?%_NumberToString(E):"null"); }else if((%_ClassOf(E)==='String')){ return %QuoteJSONString((%_ToString(E))); }else if((%_ClassOf(E)==='Boolean')){ return %_ValueOf(E)?"true":"false"; }else{ return SerializeObject(E,F,G,H,I); } } return(void 0); } function JSONStringify(E,F,S){ if(arguments.length===1&&!(%_IsJSProxy(E))){ return %BasicJSONStringify(E); } if(!(typeof(F)==='function')&&%is_arraylike(F)){ var T=new f(); var U=new e(); var y=(%_ToLength(F.length)); for(var z=0;z<y;z++){ var s=F[z]; var V; if((typeof(s)==='string')){ V=s; }else if((typeof(s)==='number')){ V=%_NumberToString(s); }else if((%_ClassOf(s)==='String')||(%_ClassOf(s)==='Number')){ V=(%_ToString(s)); }else{ continue; } if(!U.has(V)){ T.push(V); U.add(V); } } F=T; } if((typeof(S)==='object')){ if((%_ClassOf(S)==='Number')){ S=(%_ToNumber(S)); }else if((%_ClassOf(S)==='String')){ S=(%_ToString(S)); } } var I; if((typeof(S)==='number')){ S=h(0,i((%_ToInteger(S)),10)); I=%_SubString(" ",0,S); }else if((typeof(S)==='string')){ if(S.length>10){ I=%_SubString(S,0,10); }else{ I=S; } }else{ I=""; } if(!(typeof(F)==='function')&&!T&&!I&&!(%_IsJSProxy(E))){ return %BasicJSONStringify(E); } return JSONSerialize('',{'':E},F,new k(),"",I); } %AddNamedProperty(d,o,"JSON",1|2); b.InstallFunctions(d,2,[ "parse",JSONParse, "stringify",JSONStringify ]); function DateToJSON(Q){ var q=(%_ToObject(this)); var W=(%_ToPrimitive_Number(q)); if((typeof(W)==='number')&&!(%_IsSmi(%IS_VAR(W))||((W==W)&&(W!=1/0)&&(W!=-1/0)))){ return null; } return q.toISOString(); } b.InstallFunctions(c.prototype,2,[ "toJSON",DateToJSON ]); function JsonSerializeAdapter(Q,X){ var u={}; u[Q]=X; return JSONSerialize(Q,u,(void 0),new k(),"",""); } %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(44, '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); } function TypedArrayEntries(){ if(!(%_IsTypedArray(this)))throw i(72); return %_Call(ArrayEntries,this); } function TypedArrayValues(){ if(!(%_IsTypedArray(this)))throw i(72); return %_Call(ArrayValues,this); } function TypedArrayKeys(){ if(!(%_IsTypedArray(this)))throw i(72); return %_Call(ArrayKeys,this); } %FunctionSetPrototype(ArrayIterator,{__proto__:g}); %FunctionSetInstanceClassName(ArrayIterator,'Array Iterator'); b.InstallFunctions(ArrayIterator.prototype,2,[ 'next',ArrayIteratorNext ]); b.SetFunctionName(ArrayIteratorIterator,h); %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); b.InstallFunctions(k.prototype,2,[ 'entries',TypedArrayEntries, 'keys',TypedArrayKeys, 'values',TypedArrayValues ]); %AddNamedProperty(k.prototype, h,TypedArrayValues,2); b.Export(function(v){ v.ArrayValues=ArrayValues; }); %InstallToContext(["array_values_iterator",ArrayValues]); }) <string-iterator (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){ if((%IS_VAR(k)===null)||(k===(void 0)))throw f(17,'String.prototype[Symbol.iterator]'); 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(44, '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=arguments.length; 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(70,l); } var g=new c(); for(var m of l){ g.push(m); } return g; } %InstallToContext([ "spread_arguments",SpreadArguments, "spread_iterable",SpreadIterable, ]); }) proxy½ (function(a,b){ "use strict"; %CheckIsBootstrapping(); var c=a.Proxy; function ProxyCreateRevocable(d,e){ var f=new c(d,e); return{proxy:f,revoke:()=>%JSProxyRevoke(f)}; } b.InstallFunctions(c,2,[ "revocable",ProxyCreateRevocable ]); }) i18nÖñ (function(a,b){ "use strict"; %CheckIsBootstrapping(); var c; var d; var e; var f; var g=a.Boolean; var h=a.Date; var i=a.Number; var j=a.RegExp; var k=a.String; var l=b.InstallFunctions; var m=b.InstallGetter; var n=b.InternalArray; var o; var p var q; var r; var s; var t; var u; var v=b.ImportNow("ObjectHasOwnProperty"); var w=b.OverrideFunction; var x=b.ImportNow("intl_pattern_symbol"); var y=b.ImportNow("intl_resolved_symbol"); var z=b.SetFunctionName; var A; var B; var C; var D; var E; b.Import(function(F){ c=F.ArrayIndexOf; d=F.ArrayJoin; e=F.ArrayPush; q=F.IsFinite; r=F.IsNaN; s=F.MakeError; t=F.MakeRangeError; u=F.MakeTypeError; o=F.InternalRegExpMatch; p=F.InternalRegExpReplace; A=F.StringIndexOf; B=F.StringLastIndexOf; C=F.StringSplit; D=F.StringSubstr; E=F.StringSubstring; }); b.ImportFromExperimental(function(F){ f=F.FLAG_intl_extra; }); function InstallFunction(G,H,I){ l(G,2,[H,I]); } function InstallConstructor(G,H,I){ %CheckIsBootstrapping(); z(I,H); %AddNamedProperty(G,H,I,2); %SetNativeFlag(I); %ToFastProperties(G); } function AddBoundMethod(J,K,L,M,N){ %CheckIsBootstrapping(); var O=%CreatePrivateSymbol(K); var P=function(){ if(!%IsInitializedIntlObjectOfType(this,N)){ throw u(53,K); } if((this[O]===(void 0))){ var Q; if((M===(void 0))||M===2){ Q=(x,y)=>L(this,x,y); }else if(M===1){ Q=x=>L(this,x); }else{ Q=(...args)=>{ if(args.length>0){ return L(this,args[0]); }else{ return L(this); } } } %FunctionSetName(Q,'__bound'+K+'__'); %FunctionRemovePrototype(Q); %SetNativeFlag(Q); this[O]=Q; } return this[O]; }; m(J.prototype,K,P,2); } var R={}; %AddNamedProperty(a,"Intl",R,2); var S={ 'collator':(void 0), 'numberformat':(void 0), 'dateformat':(void 0), 'breakiterator':(void 0) }; var T=(void 0); function GetDefaultICULocaleJS(){ if((T===(void 0))){ T=%GetDefaultICULocale(); } return T; } var U=(void 0); function GetUnicodeExtensionRE(){ if(((void 0)===(void 0))){ U=new j('-u(-[a-z0-9]{2,8})+','g'); } return U; } var V=(void 0); function GetAnyExtensionRE(){ if((V===(void 0))){ V=new j('-[a-z0-9]{1}-.*','g'); } return V; } var W=(void 0); function GetQuotedStringRE(){ if((W===(void 0))){ W=new j("'[^']+'",'g'); } return W; } var X=(void 0); function GetServiceRE(){ if((X===(void 0))){ X= new j('^(collator|numberformat|dateformat|breakiterator)$'); } return X; } var Y=(void 0); function GetLanguageTagRE(){ if((Y===(void 0))){ BuildLanguageTagREs(); } return Y; } var Z=(void 0); function GetLanguageVariantRE(){ if((Z===(void 0))){ BuildLanguageTagREs(); } return Z; } var aa=(void 0); function GetLanguageSingletonRE(){ if((aa===(void 0))){ BuildLanguageTagREs(); } return aa; } var ab=(void 0); function GetTimezoneNameCheckRE(){ if((ab===(void 0))){ ab=new j( '^([A-Za-z]+)/([A-Za-z_-]+)((?:\/[A-Za-z_-]+)+)*$'); } return ab; } var ac=(void 0); function GetTimezoneNameLocationPartRE(){ if((ac===(void 0))){ ac= new j('^([A-Za-z]+)((?:[_-][A-Za-z]+)+)*$'); } return ac; } function supportedLocalesOf(ad,ae,af){ if((o(GetServiceRE(),ad)===null)){ throw s(7,ad); } if((af===(void 0))){ af={}; }else{ af=(%_ToObject(af)); } var ag=af.localeMatcher; if(!(ag===(void 0))){ ag=k(ag); if(ag!=='lookup'&&ag!=='best fit'){ throw t(172,ag); } }else{ ag='best fit'; } var ah=initializeLocaleList(ae); if((S[ad]===(void 0))){ S[ad]=getAvailableLocalesOf(ad); } if(ag==='best fit'){ return initializeLocaleList(bestFitSupportedLocalesOf( ah,S[ad])); } return initializeLocaleList(lookupSupportedLocalesOf( ah,S[ad])); } function lookupSupportedLocalesOf(ah,ai){ var aj=new n(); for(var ak=0;ak<ah.length;++ak){ var al=p( GetUnicodeExtensionRE(),ah[ak],''); do{ if(!(ai[al]===(void 0))){ %_Call(e,aj,ah[ak]); break; } var am=%_Call(B,al,'-'); if(am===-1){ break; } al=%_Call(E,al,0,am); }while(true); } return aj; } function bestFitSupportedLocalesOf(ah,ai){ return lookupSupportedLocalesOf(ah,ai); } function getGetOption(af,an){ if((af===(void 0)))throw s(4,an); var ao=function getOption(ap,N,aq,ar){ if(!(af[ap]===(void 0))){ var as=af[ap]; switch(N){ case'boolean': as=g(as); break; case'string': as=k(as); break; case'number': as=i(as); break; default: throw s(8); } if(!(aq===(void 0))&&%_Call(c,aq,as)===-1){ throw t(182,as,an,ap); } return as; } return ar; } return ao; } function resolveLocale(ad,ah,af){ ah=initializeLocaleList(ah); var ao=getGetOption(af,ad); var ag=ao('localeMatcher','string', ['lookup','best fit'],'best fit'); var at; if(ag==='lookup'){ at=lookupMatcher(ad,ah); }else{ at=bestFitMatcher(ad,ah); } return at; } function lookupMatcher(ad,ah){ if((o(GetServiceRE(),ad)===null)){ throw s(7,ad); } if((S[ad]===(void 0))){ S[ad]=getAvailableLocalesOf(ad); } for(var ak=0;ak<ah.length;++ak){ var al=p( GetAnyExtensionRE(),ah[ak],''); do{ if(!(S[ad][al]===(void 0))){ var au=o( GetUnicodeExtensionRE(),ah[ak]); var av=(au===null)?'':au[0]; return{'locale':al,'extension':av,'position':ak}; } var am=%_Call(B,al,'-'); if(am===-1){ break; } al=%_Call(E,al,0,am); }while(true); } return{'locale':GetDefaultICULocaleJS(),'extension':'','position':-1}; } function bestFitMatcher(ad,ah){ return lookupMatcher(ad,ah); } function parseExtension(av){ var aw=%_Call(C,av,'-'); if(aw.length<=2|| (aw[0]!==''&&aw[1]!=='u')){ return{}; } var ax={}; var ay=(void 0); for(var ak=2;ak<aw.length;++ak){ var M=aw[ak].length; var az=aw[ak]; if(M===2){ ax[az]=(void 0); ay=az; }else if(M>=3&&M<=8&&!(ay===(void 0))){ ax[ay]=az; ay=(void 0); }else{ return{}; } } return ax; } function setOptions(aA,ax,aB,ao,aC){ var av=''; var aD=function updateExtension(aE,as){ return'-'+aE+'-'+k(as); } var aF=function updateProperty(ap,N,as){ if(N==='boolean'&&(typeof as==='string')){ as=(as==='true')?true:false; } if(!(ap===(void 0))){ defineWEProperty(aC,ap,as); } } for(var aE in aB){ if((%_Call(v,aB,aE))){ var as=(void 0); var aG=aB[aE]; if(!(aG.property===(void 0))){ as=ao(aG.property,aG.type,aG.values); } if(!(as===(void 0))){ aF(aG.property,aG.type,as); av+=aD(aE,as); continue; } if((%_Call(v,ax,aE))){ as=ax[aE]; if(!(as===(void 0))){ aF(aG.property,aG.type,as); av+=aD(aE,as); }else if(aG.type==='boolean'){ aF(aG.property,aG.type,true); av+=aD(aE,true); } } } } return av===''?'':'-u'+av; } function freezeArray(aH){ var aI=[]; var aJ=aH.length; for(var ak=0;ak<aJ;ak++){ if(ak in aH){ %object_define_property(aI,ak,{value:aH[ak], configurable:false, writable:false, enumerable:true}); } } %object_define_property(aI,'length',{value:aJ,writable:false}); return aI; } function getOptimalLanguageTag(aK,at){ if(aK===at){ return aK; } var ae=%GetLanguageTagVariants([aK,at]); if(ae[0].maximized!==ae[1].maximized){ return at; } var aL=new j('^'+ae[1].base,'g'); return p(aL,at,ae[0].base); } function getAvailableLocalesOf(ad){ var aM=%AvailableLocalesOf(ad); for(var ak in aM){ if((%_Call(v,aM,ak))){ var aN=o( /^([a-z]{2,3})-([A-Z][a-z]{3})-([A-Z]{2})$/,ak); if(!(aN===null)){ aM[aN[1]+'-'+aN[3]]=null; } } } return aM; } function defineWEProperty(G,ap,as){ %object_define_property(G,ap, {value:as,writable:true,enumerable:true}); } function addWEPropertyIfDefined(G,ap,as){ if(!(as===(void 0))){ defineWEProperty(G,ap,as); } } function defineWECProperty(G,ap,as){ %object_define_property(G,ap,{value:as, writable:true, enumerable:true, configurable:true}); } function addWECPropertyIfDefined(G,ap,as){ if(!(as===(void 0))){ defineWECProperty(G,ap,as); } } function toTitleCaseWord(aO){ return %StringToUpperCase(%_Call(D,aO,0,1))+ %StringToLowerCase(%_Call(D,aO,1)); } function toTitleCaseTimezoneLocation(aP){ var aQ=o(GetTimezoneNameLocationPartRE(),aP) if((aQ===null))throw t(151,aP); var aR=toTitleCaseWord(aQ[1]); if(!(aQ[2]===(void 0))&&2<aQ.length){ var aS=%_Call(E,aQ[2],0,1); var aN=%_Call(C,aQ[2],aS); for(var ak=1;ak<aN.length;ak++){ var aT=aN[ak] var aU=%StringToLowerCase(aT); aR=aR+aS+ ((aU!=='es'&& aU!=='of'&&aU!=='au')? toTitleCaseWord(aT):aU); } } return aR; } function canonicalizeLanguageTag(aV){ if((!(typeof(aV)==='string')&&!(%_IsJSReceiver(aV)))|| (aV===null)){ throw u(52); } if((typeof(aV)==='string')&& !(o(/^[a-z]{2,3}$/,aV)===null)){ return aV; } var aW=k(aV); if(isValidLanguageTag(aW)===false){ throw t(163,aW); } var aX=%CanonicalizeLanguageTag(aW); if(aX==='invalid-tag'){ throw t(163,aW); } return aX; } function initializeLocaleList(ae){ var aY=new n(); if(!(ae===(void 0))){ if(typeof ae==='string'){ %_Call(e,aY,canonicalizeLanguageTag(ae)); return freezeArray(aY); } var aZ=(%_ToObject(ae)); var ba=((aZ.length)>>>0); for(var bb=0;bb<ba;bb++){ if(bb in aZ){ var as=aZ[bb]; var aX=canonicalizeLanguageTag(as); if(%_Call(c,aY,aX)===-1){ %_Call(e,aY,aX); } } } } return freezeArray(aY); } function isValidLanguageTag(al){ if((o(GetLanguageTagRE(),al)===null)){ return false; } if(%_Call(A,al,'x-')===0){ return true; } al=%_Call(C,al,'-x-')[0]; var bc=new n(); var bd=new n(); var aN=%_Call(C,al,'-'); for(var ak=1;ak<aN.length;ak++){ var as=aN[ak]; if(!(o(GetLanguageVariantRE(),as)===null)&& bd.length===0){ if(%_Call(c,bc,as)===-1){ %_Call(e,bc,as); }else{ return false; } } if(!(o(GetLanguageSingletonRE(),as)===null)){ if(%_Call(c,bd,as)===-1){ %_Call(e,bd,as); }else{ return false; } } } return true; } function BuildLanguageTagREs(){ var be='[a-zA-Z]'; var bf='[0-9]'; var bg='('+be+'|'+bf+')'; var bh='(art-lojban|cel-gaulish|no-bok|no-nyn|zh-guoyu|zh-hakka|'+ 'zh-min|zh-min-nan|zh-xiang)'; var bi='(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 bj='('+bi+'|'+bh+')'; var bk='(x(-'+bg+'{1,8})+)'; var bl='('+bf+'|[A-WY-Za-wy-z])'; aa=new j('^'+bl+'$','i'); var av='('+bl+'(-'+bg+'{2,8})+)'; var bm='('+bg+'{5,8}|('+bf+bg+'{3}))'; Z=new j('^'+bm+'$','i'); var bn='('+be+'{2}|'+bf+'{3})'; var bo='('+be+'{4})'; var bp='('+be+'{3}(-'+be+'{3}){0,2})'; var bq='('+be+'{2,3}(-'+bp+')?|'+be+'{4}|'+ be+'{5,8})'; var br=bq+'(-'+bo+')?(-'+bn+')?(-'+ bm+')*(-'+av+')*(-'+bk+')?'; var bs= '^('+br+'|'+bk+'|'+bj+')$'; Y=new j(bs,'i'); } var bt={ get(){ %IncrementUseCounter(16); return this[y]; }, set(as){ this[y]=as; } }; function initializeCollator(bu,ae,af){ if(%IsInitializedIntlObject(bu)){ throw u(125,"Collator"); } if((af===(void 0))){ af={}; } var ao=getGetOption(af,'collator'); var bv={}; defineWEProperty(bv,'usage',ao( 'usage','string',['sort','search'],'sort')); var bw=ao('sensitivity','string', ['base','accent','case','variant']); if((bw===(void 0))&&bv.usage==='sort'){ bw='variant'; } defineWEProperty(bv,'sensitivity',bw); defineWEProperty(bv,'ignorePunctuation',ao( 'ignorePunctuation','boolean',(void 0),false)); var al=resolveLocale('collator',ae,af); var ax=parseExtension(al.extension); var bx={ 'kn':{'property':'numeric','type':'boolean'}, 'kf':{'property':'caseFirst','type':'string', 'values':['false','lower','upper']} }; setOptions( af,ax,bx,ao,bv); var by='default'; var av=''; if((%_Call(v,ax,'co'))&&bv.usage==='sort'){ var bz=[ 'big5han','dict','direct','ducet','gb2312','phonebk','phonetic', 'pinyin','reformed','searchjl','stroke','trad','unihan','zhuyin' ]; if(%_Call(c,bz,ax.co)!==-1){ av='-u-co-'+ax.co; by=ax.co; } }else if(bv.usage==='search'){ av='-u-co-search'; } defineWEProperty(bv,'collation',by); var bA=al.locale+av; var at=%object_define_properties({},{ caseFirst:{writable:true}, collation:{value:bv.collation,writable:true}, ignorePunctuation:{writable:true}, locale:{writable:true}, numeric:{writable:true}, requestedLocale:{value:bA,writable:true}, sensitivity:{writable:true}, strength:{writable:true}, usage:{value:bv.usage,writable:true} }); var bB=%CreateCollator(bA, bv, at); %MarkAsInitializedIntlObjectOfType(bu,'collator',bB); bu[y]=at; if(f){ %object_define_property(bu,'resolved',bt); } return bu; } InstallConstructor(R,'Collator',function(){ var ae=arguments[0]; var af=arguments[1]; if(!this||this===R){ return new R.Collator(ae,af); } return initializeCollator((%_ToObject(this)),ae,af); } ); InstallFunction(R.Collator.prototype,'resolvedOptions',function(){ if(!(new.target===(void 0))){ throw u(81); } if(!%IsInitializedIntlObjectOfType(this,'collator')){ throw u(126,"Collator"); } var bC=this; var al=getOptimalLanguageTag(bC[y].requestedLocale, bC[y].locale); return{ locale:al, usage:bC[y].usage, sensitivity:bC[y].sensitivity, ignorePunctuation:bC[y].ignorePunctuation, numeric:bC[y].numeric, caseFirst:bC[y].caseFirst, collation:bC[y].collation }; } ); InstallFunction(R.Collator,'supportedLocalesOf',function(ae){ if(!(new.target===(void 0))){ throw u(81); } return supportedLocalesOf('collator',ae,arguments[1]); } ); function compare(bu,bD,bE){ return %InternalCompare(%GetImplFromInitializedIntlObject(bu), k(bD),k(bE)); }; AddBoundMethod(R.Collator,'compare',compare,2,'collator'); function isWellFormedCurrencyCode(bF){ return typeof bF=="string"&&bF.length==3&& (o(/[^A-Za-z]/,bF)===null); } function getNumberOption(af,ap,bG,bH,bI){ var as=af[ap]; if(!(as===(void 0))){ as=i(as); if(r(as)||as<bG||as>bH){ throw t(175,ap); } return %math_floor(as); } return bI; } var bJ={ get(){ %IncrementUseCounter(15); return this[x]; }, set(as){ this[x]=as; } }; function initializeNumberFormat(bK,ae,af){ if(%IsInitializedIntlObject(bK)){ throw u(125,"NumberFormat"); } if((af===(void 0))){ af={}; } var ao=getGetOption(af,'numberformat'); var al=resolveLocale('numberformat',ae,af); var bv={}; defineWEProperty(bv,'style',ao( 'style','string',['decimal','percent','currency'],'decimal')); var bF=ao('currency','string'); if(!(bF===(void 0))&&!isWellFormedCurrencyCode(bF)){ throw t(158,bF); } if(bv.style==='currency'&&(bF===(void 0))){ throw u(29); } var bL=ao( 'currencyDisplay','string',['code','symbol','name'],'symbol'); if(bv.style==='currency'){ defineWEProperty(bv,'currency',%StringToUpperCase(bF)); defineWEProperty(bv,'currencyDisplay',bL); } var bM=getNumberOption(af,'minimumIntegerDigits',1,21,1); defineWEProperty(bv,'minimumIntegerDigits',bM); var bN=af['minimumFractionDigits']; var bO=af['maximumFractionDigits']; if(!(bN===(void 0))||bv.style!=='currency'){ bN=getNumberOption(af,'minimumFractionDigits',0,20,0); defineWEProperty(bv,'minimumFractionDigits',bN); } if(!(bO===(void 0))||bv.style!=='currency'){ var bP=bv.style==='percent'?0:3; bN=(bN===(void 0))?0:bN; var bQ=(bN>bP)?bN:bP; bO=getNumberOption(af,'maximumFractionDigits',bN,20,bQ); defineWEProperty(bv,'maximumFractionDigits',bO); } var bR=af['minimumSignificantDigits']; var bS=af['maximumSignificantDigits']; if(!(bR===(void 0))||!(bS===(void 0))){ bR=getNumberOption(af,'minimumSignificantDigits',1,21,0); defineWEProperty(bv,'minimumSignificantDigits',bR); bS=getNumberOption(af,'maximumSignificantDigits',bR,21,21); defineWEProperty(bv,'maximumSignificantDigits',bS); } defineWEProperty(bv,'useGrouping',ao( 'useGrouping','boolean',(void 0),true)); var ax=parseExtension(al.extension); var bT={ 'nu':{'property':(void 0),'type':'string'} }; var av=setOptions(af,ax,bT, ao,bv); var bA=al.locale+av; var at=%object_define_properties({},{ currency:{writable:true}, currencyDisplay:{writable:true}, locale:{writable:true}, maximumFractionDigits:{writable:true}, minimumFractionDigits:{writable:true}, minimumIntegerDigits:{writable:true}, numberingSystem:{writable:true}, requestedLocale:{value:bA,writable:true}, style:{value:bv.style,writable:true}, useGrouping:{writable:true} }); if((%_Call(v,bv,'minimumSignificantDigits'))){ defineWEProperty(at,'minimumSignificantDigits',(void 0)); } if((%_Call(v,bv,'maximumSignificantDigits'))){ defineWEProperty(at,'maximumSignificantDigits',(void 0)); } var bU=%CreateNumberFormat(bA, bv, at); if(bv.style==='currency'){ %object_define_property(at,'currencyDisplay', {value:bL,writable:true}); } %MarkAsInitializedIntlObjectOfType(bK,'numberformat',bU); bK[y]=at; if(f){ %object_define_property(at,'pattern',bJ); %object_define_property(bK,'resolved',bt); } return bK; } InstallConstructor(R,'NumberFormat',function(){ var ae=arguments[0]; var af=arguments[1]; if(!this||this===R){ return new R.NumberFormat(ae,af); } return initializeNumberFormat((%_ToObject(this)),ae,af); } ); InstallFunction(R.NumberFormat.prototype,'resolvedOptions',function(){ if(!(new.target===(void 0))){ throw u(81); } if(!%IsInitializedIntlObjectOfType(this,'numberformat')){ throw u(126,"NumberFormat"); } var bV=this; var al=getOptimalLanguageTag(bV[y].requestedLocale, bV[y].locale); var aR={ locale:al, numberingSystem:bV[y].numberingSystem, style:bV[y].style, useGrouping:bV[y].useGrouping, minimumIntegerDigits:bV[y].minimumIntegerDigits, minimumFractionDigits:bV[y].minimumFractionDigits, maximumFractionDigits:bV[y].maximumFractionDigits, }; if(aR.style==='currency'){ defineWECProperty(aR,'currency',bV[y].currency); defineWECProperty(aR,'currencyDisplay', bV[y].currencyDisplay); } if((%_Call(v,bV[y],'minimumSignificantDigits'))){ defineWECProperty(aR,'minimumSignificantDigits', bV[y].minimumSignificantDigits); } if((%_Call(v,bV[y],'maximumSignificantDigits'))){ defineWECProperty(aR,'maximumSignificantDigits', bV[y].maximumSignificantDigits); } return aR; } ); InstallFunction(R.NumberFormat,'supportedLocalesOf',function(ae){ if(!(new.target===(void 0))){ throw u(81); } return supportedLocalesOf('numberformat',ae,arguments[1]); } ); function formatNumber(bU,as){ var bW=(%_ToNumber(as))+0; return %InternalNumberFormat(%GetImplFromInitializedIntlObject(bU), bW); } function IntlParseNumber(bU,as){ return %InternalNumberParse(%GetImplFromInitializedIntlObject(bU), k(as)); } AddBoundMethod(R.NumberFormat,'format',formatNumber,1,'numberformat'); function toLDMLString(af){ var ao=getGetOption(af,'dateformat'); var bX=''; var bY=ao('weekday','string',['narrow','short','long']); bX+=appendToLDMLString( bY,{narrow:'EEEEE',short:'EEE',long:'EEEE'}); bY=ao('era','string',['narrow','short','long']); bX+=appendToLDMLString( bY,{narrow:'GGGGG',short:'GGG',long:'GGGG'}); bY=ao('year','string',['2-digit','numeric']); bX+=appendToLDMLString(bY,{'2-digit':'yy','numeric':'y'}); bY=ao('month','string', ['2-digit','numeric','narrow','short','long']); bX+=appendToLDMLString(bY,{'2-digit':'MM','numeric':'M', 'narrow':'MMMMM','short':'MMM','long':'MMMM'}); bY=ao('day','string',['2-digit','numeric']); bX+=appendToLDMLString( bY,{'2-digit':'dd','numeric':'d'}); var bZ=ao('hour12','boolean'); bY=ao('hour','string',['2-digit','numeric']); if((bZ===(void 0))){ bX+=appendToLDMLString(bY,{'2-digit':'jj','numeric':'j'}); }else if(bZ===true){ bX+=appendToLDMLString(bY,{'2-digit':'hh','numeric':'h'}); }else{ bX+=appendToLDMLString(bY,{'2-digit':'HH','numeric':'H'}); } bY=ao('minute','string',['2-digit','numeric']); bX+=appendToLDMLString(bY,{'2-digit':'mm','numeric':'m'}); bY=ao('second','string',['2-digit','numeric']); bX+=appendToLDMLString(bY,{'2-digit':'ss','numeric':'s'}); bY=ao('timeZoneName','string',['short','long']); bX+=appendToLDMLString(bY,{short:'z',long:'zzzz'}); return bX; } function appendToLDMLString(bY,ca){ if(!(bY===(void 0))){ return ca[bY]; }else{ return''; } } function fromLDMLString(bX){ bX=p(GetQuotedStringRE(),bX,''); var af={}; var aQ=o(/E{3,5}/,bX); af=appendToDateTimeObject( af,'weekday',aQ,{EEEEE:'narrow',EEE:'short',EEEE:'long'}); aQ=o(/G{3,5}/,bX); af=appendToDateTimeObject( af,'era',aQ,{GGGGG:'narrow',GGG:'short',GGGG:'long'}); aQ=o(/y{1,2}/,bX); af=appendToDateTimeObject( af,'year',aQ,{y:'numeric',yy:'2-digit'}); aQ=o(/M{1,5}/,bX); af=appendToDateTimeObject(af,'month',aQ,{MM:'2-digit', M:'numeric',MMMMM:'narrow',MMM:'short',MMMM:'long'}); aQ=o(/L{1,5}/,bX); af=appendToDateTimeObject(af,'month',aQ,{LL:'2-digit', L:'numeric',LLLLL:'narrow',LLL:'short',LLLL:'long'}); aQ=o(/d{1,2}/,bX); af=appendToDateTimeObject( af,'day',aQ,{d:'numeric',dd:'2-digit'}); aQ=o(/h{1,2}/,bX); if(aQ!==null){ af['hour12']=true; } af=appendToDateTimeObject( af,'hour',aQ,{h:'numeric',hh:'2-digit'}); aQ=o(/H{1,2}/,bX); if(aQ!==null){ af['hour12']=false; } af=appendToDateTimeObject( af,'hour',aQ,{H:'numeric',HH:'2-digit'}); aQ=o(/m{1,2}/,bX); af=appendToDateTimeObject( af,'minute',aQ,{m:'numeric',mm:'2-digit'}); aQ=o(/s{1,2}/,bX); af=appendToDateTimeObject( af,'second',aQ,{s:'numeric',ss:'2-digit'}); aQ=o(/z|zzzz/,bX); af=appendToDateTimeObject( af,'timeZoneName',aQ,{z:'short',zzzz:'long'}); return af; } function appendToDateTimeObject(af,bY,aQ,ca){ if((aQ===null)){ if(!(%_Call(v,af,bY))){ defineWEProperty(af,bY,(void 0)); } return af; } var ap=aQ[0]; defineWEProperty(af,bY,ca[ap]); return af; } function toDateTimeOptions(af,cb,cc){ if((af===(void 0))){ af={}; }else{ af=(%_ToObject(af)); } var cd=true; if((cb==='date'||cb==='any')&& (!(af.weekday===(void 0))||!(af.year===(void 0))|| !(af.month===(void 0))||!(af.day===(void 0)))){ cd=false; } if((cb==='time'||cb==='any')&& (!(af.hour===(void 0))||!(af.minute===(void 0))|| !(af.second===(void 0)))){ cd=false; } if(cd&&(cc==='date'||cc==='all')){ %object_define_property(af,'year',{value:'numeric', writable:true, enumerable:true, configurable:true}); %object_define_property(af,'month',{value:'numeric', writable:true, enumerable:true, configurable:true}); %object_define_property(af,'day',{value:'numeric', writable:true, enumerable:true, configurable:true}); } if(cd&&(cc==='time'||cc==='all')){ %object_define_property(af,'hour',{value:'numeric', writable:true, enumerable:true, configurable:true}); %object_define_property(af,'minute',{value:'numeric', writable:true, enumerable:true, configurable:true}); %object_define_property(af,'second',{value:'numeric', writable:true, enumerable:true, configurable:true}); } return af; } function initializeDateTimeFormat(ce,ae,af){ if(%IsInitializedIntlObject(ce)){ throw u(125,"DateTimeFormat"); } if((af===(void 0))){ af={}; } var al=resolveLocale('dateformat',ae,af); af=toDateTimeOptions(af,'any','date'); var ao=getGetOption(af,'dateformat'); var ag=ao('formatMatcher','string', ['basic','best fit'],'best fit'); var bX=toLDMLString(af); var cf=canonicalizeTimeZoneID(af.timeZone); var bv={}; var ax=parseExtension(al.extension); var cg={ 'ca':{'property':(void 0),'type':'string'}, 'nu':{'property':(void 0),'type':'string'} }; var av=setOptions(af,ax,cg, ao,bv); var bA=al.locale+av; var at=%object_define_properties({},{ 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}, [x]:{writable:true}, requestedLocale:{value:bA,writable:true}, second:{writable:true}, timeZone:{writable:true}, timeZoneName:{writable:true}, tz:{value:cf,writable:true}, weekday:{writable:true}, year:{writable:true} }); var bU=%CreateDateTimeFormat( bA,{skeleton:bX,timeZone:cf},at); if(at.timeZone==="Etc/Unknown"){ throw t(181,cf); } %MarkAsInitializedIntlObjectOfType(ce,'dateformat',bU); ce[y]=at; if(f){ %object_define_property(at,'pattern',bJ); %object_define_property(ce,'resolved',bt); } return ce; } InstallConstructor(R,'DateTimeFormat',function(){ var ae=arguments[0]; var af=arguments[1]; if(!this||this===R){ return new R.DateTimeFormat(ae,af); } return initializeDateTimeFormat((%_ToObject(this)),ae,af); } ); InstallFunction(R.DateTimeFormat.prototype,'resolvedOptions',function(){ if(!(new.target===(void 0))){ throw u(81); } if(!%IsInitializedIntlObjectOfType(this,'dateformat')){ throw u(126,"DateTimeFormat"); } var ch={ '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 bV=this; var ci=fromLDMLString(bV[y][x]); var cj=ch[bV[y].calendar]; if((cj===(void 0))){ cj=bV[y].calendar; } var al=getOptimalLanguageTag(bV[y].requestedLocale, bV[y].locale); var aR={ locale:al, numberingSystem:bV[y].numberingSystem, calendar:cj, timeZone:bV[y].timeZone }; addWECPropertyIfDefined(aR,'timeZoneName',ci.timeZoneName); addWECPropertyIfDefined(aR,'era',ci.era); addWECPropertyIfDefined(aR,'year',ci.year); addWECPropertyIfDefined(aR,'month',ci.month); addWECPropertyIfDefined(aR,'day',ci.day); addWECPropertyIfDefined(aR,'weekday',ci.weekday); addWECPropertyIfDefined(aR,'hour12',ci.hour12); addWECPropertyIfDefined(aR,'hour',ci.hour); addWECPropertyIfDefined(aR,'minute',ci.minute); addWECPropertyIfDefined(aR,'second',ci.second); return aR; } ); InstallFunction(R.DateTimeFormat,'supportedLocalesOf',function(ae){ if(!(new.target===(void 0))){ throw u(81); } return supportedLocalesOf('dateformat',ae,arguments[1]); } ); function formatDate(bU,ck){ var cl; if((ck===(void 0))){ cl=%DateCurrentTime(); }else{ cl=(%_ToNumber(ck)); } if(!q(cl))throw t(149); return %InternalDateFormat(%GetImplFromInitializedIntlObject(bU), new h(cl)); } function IntlParseDate(bU,as){ return %InternalDateParse(%GetImplFromInitializedIntlObject(bU), k(as)); } AddBoundMethod(R.DateTimeFormat,'format',formatDate,0,'dateformat'); function canonicalizeTimeZoneID(cm){ if((cm===(void 0))){ return cm; } var cn=%StringToUpperCase(cm); if(cn==='UTC'||cn==='GMT'|| cn==='ETC/UTC'||cn==='ETC/GMT'){ return'UTC'; } var aQ=o(GetTimezoneNameCheckRE(),cm); if((aQ===null))throw t(150,cm); var aR=toTitleCaseTimezoneLocation(aQ[1])+'/'+ toTitleCaseTimezoneLocation(aQ[2]); if(!(aQ[3]===(void 0))&&3<aQ.length){ var co=%_Call(C,aQ[3],'/'); for(var ak=1;ak<co.length;ak++){ aR=aR+'/'+toTitleCaseTimezoneLocation(co[ak]); } } return aR; } function initializeBreakIterator(cp,ae,af){ if(%IsInitializedIntlObject(cp)){ throw u(125,"v8BreakIterator"); } if((af===(void 0))){ af={}; } var ao=getGetOption(af,'breakiterator'); var bv={}; defineWEProperty(bv,'type',ao( 'type','string',['character','word','sentence','line'],'word')); var al=resolveLocale('breakiterator',ae,af); var at=%object_define_properties({},{ requestedLocale:{value:al.locale,writable:true}, type:{value:bv.type,writable:true}, locale:{writable:true} }); var cq=%CreateBreakIterator(al.locale, bv, at); %MarkAsInitializedIntlObjectOfType(cp,'breakiterator', cq); cp[y]=at; if(f){ %object_define_property(cp,'resolved',bt); } return cp; } InstallConstructor(R,'v8BreakIterator',function(){ var ae=arguments[0]; var af=arguments[1]; if(!this||this===R){ return new R.v8BreakIterator(ae,af); } return initializeBreakIterator((%_ToObject(this)),ae,af); } ); InstallFunction(R.v8BreakIterator.prototype,'resolvedOptions', function(){ if(!(new.target===(void 0))){ throw u(81); } if(!%IsInitializedIntlObjectOfType(this,'breakiterator')){ throw u(126,"v8BreakIterator"); } var cr=this; var al= getOptimalLanguageTag(cr[y].requestedLocale, cr[y].locale); return{ locale:al, type:cr[y].type }; } ); InstallFunction(R.v8BreakIterator,'supportedLocalesOf', function(ae){ if(!(new.target===(void 0))){ throw u(81); } return supportedLocalesOf('breakiterator',ae,arguments[1]); } ); function adoptText(cp,cs){ %BreakIteratorAdoptText(%GetImplFromInitializedIntlObject(cp), k(cs)); } function first(cp){ return %BreakIteratorFirst(%GetImplFromInitializedIntlObject(cp)); } function next(cp){ return %BreakIteratorNext(%GetImplFromInitializedIntlObject(cp)); } function current(cp){ return %BreakIteratorCurrent(%GetImplFromInitializedIntlObject(cp)); } function breakType(cp){ return %BreakIteratorBreakType(%GetImplFromInitializedIntlObject(cp)); } AddBoundMethod(R.v8BreakIterator,'adoptText',adoptText,1, 'breakiterator'); AddBoundMethod(R.v8BreakIterator,'first',first,0,'breakiterator'); AddBoundMethod(R.v8BreakIterator,'next',next,0,'breakiterator'); AddBoundMethod(R.v8BreakIterator,'current',current,0,'breakiterator'); AddBoundMethod(R.v8BreakIterator,'breakType',breakType,0, 'breakiterator'); var ct={ 'collator':R.Collator, 'numberformat':R.NumberFormat, 'dateformatall':R.DateTimeFormat, 'dateformatdate':R.DateTimeFormat, 'dateformattime':R.DateTimeFormat }; var cu={ 'collator':(void 0), 'numberformat':(void 0), 'dateformatall':(void 0), 'dateformatdate':(void 0), 'dateformattime':(void 0), }; function cachedOrNewService(ad,ae,af,cc){ var cv=((cc===(void 0)))?af:cc; if((ae===(void 0))&&(af===(void 0))){ if((cu[ad]===(void 0))){ cu[ad]=new ct[ad](ae,cv); } return cu[ad]; } return new ct[ad](ae,cv); } function LocaleConvertCase(cw,ae,cx){ var bq; if((ae===(void 0))){ bq=GetDefaultICULocaleJS(); }else if((typeof(ae)==='string')){ bq=canonicalizeLanguageTag(ae); }else{ var ae=initializeLocaleList(ae); bq=ae.length>0?ae[0]:GetDefaultICULocaleJS(); } var am=%_Call(A,bq,'-'); if(am!=-1){ bq=%_Call(E,bq,0,am); } var cy=['az','el','lt','tr']; var cz=%_Call(c,cy,bq); if(cz==-1){ return cx?%StringToUpperCaseI18N(cw):%StringToLowerCaseI18N(cw); } return %StringLocaleConvertCase(cw,cx, cy[cz]); } w(k.prototype,'localeCompare',function(cA){ if(!(new.target===(void 0))){ throw u(81); } if((this==null)){ throw u(54); } var ae=arguments[1]; var af=arguments[2]; var bu=cachedOrNewService('collator',ae,af); return compare(bu,this,cA); } ); w(k.prototype,'normalize',function(){ if(!(new.target===(void 0))){ throw u(81); } if((%IS_VAR(this)===null)||(this===(void 0)))throw u(17,"String.prototype.normalize"); var cw=(%_ToString(this)); var cB=arguments[0]; var cC=(cB===(void 0))?'NFC':(%_ToString(cB)); var cD=['NFC','NFD','NFKC','NFKD']; var cE=%_Call(c,cD,cC); if(cE===-1){ throw t(173, %_Call(d,cD,', ')); } return %StringNormalize(cw,cE); } ); function ToLowerCaseI18N(){ if(!(new.target===(void 0))){ throw u(81); } if((%IS_VAR(this)===null)||(this===(void 0)))throw u(17,"String.prototype.toLowerCase"); var cw=(%_ToString(this)); return %StringToLowerCaseI18N(cw); } function ToUpperCaseI18N(){ if(!(new.target===(void 0))){ throw u(81); } if((%IS_VAR(this)===null)||(this===(void 0)))throw u(17,"String.prototype.toUpperCase"); var cw=(%_ToString(this)); return %StringToUpperCaseI18N(cw); } function ToLocaleLowerCaseI18N(ae){ if(!(new.target===(void 0))){ throw u(81); } if((%IS_VAR(this)===null)||(this===(void 0)))throw u(17,"String.prototype.toLocaleLowerCase"); return LocaleConvertCase((%_ToString(this)),ae,false); } %FunctionSetLength(ToLocaleLowerCaseI18N,0); function ToLocaleUpperCaseI18N(ae){ if(!(new.target===(void 0))){ throw u(81); } if((%IS_VAR(this)===null)||(this===(void 0)))throw u(17,"String.prototype.toLocaleUpperCase"); return LocaleConvertCase((%_ToString(this)),ae,true); } %FunctionSetLength(ToLocaleUpperCaseI18N,0); %FunctionRemovePrototype(ToLowerCaseI18N); %FunctionRemovePrototype(ToUpperCaseI18N); %FunctionRemovePrototype(ToLocaleLowerCaseI18N); %FunctionRemovePrototype(ToLocaleUpperCaseI18N); b.Export(function(cF){ cF.ToLowerCaseI18N=ToLowerCaseI18N; cF.ToUpperCaseI18N=ToUpperCaseI18N; cF.ToLocaleLowerCaseI18N=ToLocaleLowerCaseI18N; cF.ToLocaleUpperCaseI18N=ToLocaleUpperCaseI18N; }); w(i.prototype,'toLocaleString',function(){ if(!(new.target===(void 0))){ throw u(81); } if(!(this instanceof i)&&typeof(this)!=='number'){ throw u(55,"Number"); } var ae=arguments[0]; var af=arguments[1]; var bK=cachedOrNewService('numberformat',ae,af); return formatNumber(bK,this); } ); function toLocaleDateTime(cG,ae,af,cb,cc,ad){ if(!(cG instanceof h)){ throw u(55,"Date"); } if(r(cG))return'Invalid Date'; var bv=toDateTimeOptions(af,cb,cc); var ce= cachedOrNewService(ad,ae,af,bv); return formatDate(ce,cG); } w(h.prototype,'toLocaleString',function(){ if(!(new.target===(void 0))){ throw u(81); } var ae=arguments[0]; var af=arguments[1]; return toLocaleDateTime( this,ae,af,'any','all','dateformatall'); } ); w(h.prototype,'toLocaleDateString',function(){ if(!(new.target===(void 0))){ throw u(81); } var ae=arguments[0]; var af=arguments[1]; return toLocaleDateTime( this,ae,af,'date','date','dateformatdate'); } ); w(h.prototype,'toLocaleTimeString',function(){ if(!(new.target===(void 0))){ throw u(81); } var ae=arguments[0]; var af=arguments[1]; return toLocaleDateTime( this,ae,af,'time','time','dateformattime'); } ); b.Export(function(cF){ cF.AddBoundMethod=AddBoundMethod; cF.IntlParseDate=IntlParseDate; cF.IntlParseNumber=IntlParseNumber; }); }) ,<harmony-atomicsA0 (function(a,b){ "use strict"; %CheckIsBootstrapping(); var c=a.Object; var d; var e; var f; var g=b.ImportNow("to_string_tag_symbol"); b.Import(function(h){ e=h.MakeTypeError; d=h.MakeRangeError; f=h.MaxSimple; }); function CheckSharedIntegerTypedArray(i){ if(!%IsSharedIntegerTypedArray(i)){ throw e(74,i); } } function CheckSharedInteger32TypedArray(i){ CheckSharedIntegerTypedArray(i); if(!%IsSharedInteger32TypedArray(i)){ throw e(75,i); } } function ValidateIndex(j,k){ var l=(%_ToNumber(j)); var m=(%_ToInteger(l)); if(l!==m){ throw d(155); } if(m<0||m>=k){ throw d(155); } return m; } function AtomicsCompareExchangeJS(n,j,o,p){ CheckSharedIntegerTypedArray(n); j=ValidateIndex(j,%_TypedArrayGetLength(n)); o=(%_ToNumber(o)); p=(%_ToNumber(p)); return %_AtomicsCompareExchange(n,j,o,p); } function AtomicsAddJS(i,j,q){ CheckSharedIntegerTypedArray(i); j=ValidateIndex(j,%_TypedArrayGetLength(i)); q=(%_ToNumber(q)); return %_AtomicsAdd(i,j,q); } function AtomicsSubJS(i,j,q){ CheckSharedIntegerTypedArray(i); j=ValidateIndex(j,%_TypedArrayGetLength(i)); q=(%_ToNumber(q)); return %_AtomicsSub(i,j,q); } function AtomicsAndJS(i,j,q){ CheckSharedIntegerTypedArray(i); j=ValidateIndex(j,%_TypedArrayGetLength(i)); q=(%_ToNumber(q)); return %_AtomicsAnd(i,j,q); } function AtomicsOrJS(i,j,q){ CheckSharedIntegerTypedArray(i); j=ValidateIndex(j,%_TypedArrayGetLength(i)); q=(%_ToNumber(q)); return %_AtomicsOr(i,j,q); } function AtomicsXorJS(i,j,q){ CheckSharedIntegerTypedArray(i); j=ValidateIndex(j,%_TypedArrayGetLength(i)); q=(%_ToNumber(q)); return %_AtomicsXor(i,j,q); } function AtomicsExchangeJS(i,j,q){ CheckSharedIntegerTypedArray(i); j=ValidateIndex(j,%_TypedArrayGetLength(i)); q=(%_ToNumber(q)); return %_AtomicsExchange(i,j,q); } function AtomicsIsLockFreeJS(r){ return %_AtomicsIsLockFree(r); } function AtomicsFutexWaitJS(i,j,q,s){ CheckSharedInteger32TypedArray(i); j=ValidateIndex(j,%_TypedArrayGetLength(i)); if((s===(void 0))){ s=(1/0); }else{ s=(%_ToNumber(s)); if((!%_IsSmi(%IS_VAR(s))&&!(s==s))){ s=(1/0); }else{ s=f(0,s); } } return %AtomicsFutexWait(i,j,q,s); } function AtomicsFutexWakeJS(i,j,t){ CheckSharedInteger32TypedArray(i); j=ValidateIndex(j,%_TypedArrayGetLength(i)); t=f(0,(%_ToInteger(t))); return %AtomicsFutexWake(i,j,t); } function AtomicsFutexWakeOrRequeueJS(i,u,t,q,v){ CheckSharedInteger32TypedArray(i); u=ValidateIndex(u,%_TypedArrayGetLength(i)); t=f(0,(%_ToInteger(t))); q=((q)|0); v=ValidateIndex(v,%_TypedArrayGetLength(i)); if(u<0||u>=%_TypedArrayGetLength(i)|| v<0||v>=%_TypedArrayGetLength(i)){ return(void 0); } return %AtomicsFutexWakeOrRequeue(i,u,t,q,v); } var w=a.Atomics; %AddNamedProperty(w,g,"Atomics",1|2); b.InstallConstants(w,[ "OK",0, "NOTEQUAL",-1, "TIMEDOUT",-2, ]); b.InstallFunctions(w,2,[ "compareExchange",AtomicsCompareExchangeJS, "add",AtomicsAddJS, "sub",AtomicsSubJS, "and",AtomicsAndJS, "or",AtomicsOrJS, "xor",AtomicsXorJS, "exchange",AtomicsExchangeJS, "isLockFree",AtomicsIsLockFreeJS, "futexWait",AtomicsFutexWaitJS, "futexWake",AtomicsFutexWakeJS, "futexWakeOrRequeue",AtomicsFutexWakeOrRequeueJS, ]); }) Lharmony-regexp-execa (function(a,b){ %CheckIsBootstrapping(); var c=a.RegExp; var d=b.ImportNow("RegExpSubclassExecJS"); var e=b.ImportNow("RegExpSubclassMatch"); var f=b.ImportNow("RegExpSubclassReplace"); var g=b.ImportNow("RegExpSubclassSearch"); var h=b.ImportNow("RegExpSubclassSplit"); var i=b.ImportNow("RegExpSubclassTest"); var j=b.ImportNow("match_symbol"); var k=b.ImportNow("replace_symbol"); var l=b.ImportNow("search_symbol"); var m=b.ImportNow("split_symbol"); b.OverrideFunction(c.prototype,"exec", d,true); b.OverrideFunction(c.prototype,j, e,true); b.OverrideFunction(c.prototype,k, f,true); b.OverrideFunction(c.prototype,l, g,true); b.OverrideFunction(c.prototype,m, h,true); b.OverrideFunction(c.prototype,"test", i,true); }) 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(44, '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(44, "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(44, "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(44, "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(44, "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(44, "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(44, "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(44, "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(44, "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(44, "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(44, "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(44, "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(44, "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(44, "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(44, "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(44, "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(44, "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(44, "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(44, "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(44, "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(44, "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(44, "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(44, "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(44, "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(44, "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(44, "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(44, "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(44, "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(44, "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(44, "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(44, "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(66,"Float32x4"); } return %CreateFloat32x4((%_ToNumber(C)),(%_ToNumber(D)), (%_ToNumber(E)),(%_ToNumber(F))); } function Int32x4Constructor(C,D,E,F){ if(!(new.target===(void 0))){ throw d(66,"Int32x4"); } return %CreateInt32x4((%_ToNumber(C)),(%_ToNumber(D)), (%_ToNumber(E)),(%_ToNumber(F))); } function Uint32x4Constructor(C,D,E,F){ if(!(new.target===(void 0))){ throw d(66,"Uint32x4"); } return %CreateUint32x4((%_ToNumber(C)),(%_ToNumber(D)), (%_ToNumber(E)),(%_ToNumber(F))); } function Bool32x4Constructor(C,D,E,F){ if(!(new.target===(void 0))){ throw d(66,"Bool32x4"); } return %CreateBool32x4(C,D,E,F); } function Int16x8Constructor(C,D,E,F,G,H,I,J){ if(!(new.target===(void 0))){ throw d(66,"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(66,"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(66,"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(66,"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(66,"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(66,"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(124,"RegExp.prototype.unicode"); } return(!!((%_RegExpFlags(this)&16))); } %SetForceInlineFlag(RegExpGetUnicode); b.InstallGetter(c.prototype,'unicode',RegExpGetUnicode); }) Xharmony-string-padding± (function(a,b){ %CheckIsBootstrapping(); var c=a.String; var d; b.Import(function(e){ d=e.MakeTypeError; }); function StringPad(f,g,h){ g=(%_ToLength(g)); var i=f.length; if(g<=i)return""; if((h===(void 0))){ h=" "; }else{ h=(%_ToString(h)); if(h===""){ return""; } } var j=g-i; var k=(j/h.length)|0; var l=(j-h.length*k)|0; var m=""; while(true){ if(k&1)m+=h; k>>=1; if(k===0)break; h+=h; } if(l){ m+=%_SubString(h,0,l); } return m; } function StringPadStart(g,h){ if((%IS_VAR(this)===null)||(this===(void 0)))throw d(17,"String.prototype.padStart") var f=(%_ToString(this)); return StringPad(f,g,h)+f; } %FunctionSetLength(StringPadStart,1); function StringPadEnd(g,h){ if((%IS_VAR(this)===null)||(this===(void 0)))throw d(17,"String.prototype.padEnd") var f=(%_ToString(this)); return f+StringPad(f,g,h); } %FunctionSetLength(StringPadEnd,1); b.InstallFunctions(c.prototype,2,[ "padStart",StringPadStart, "padEnd",StringPadEnd ]); }); 4promise-extrau (function(a,b){ "use strict"; %CheckIsBootstrapping(); var c=a.Promise; var d=b.ImportNow("PromiseChain"); var e=b.ImportNow("PromiseDefer"); var f=b.ImportNow("PromiseAccept"); b.InstallFunctions(c.prototype,2,[ "chain",d, ]); b.InstallFunctions(c,2,[ "defer",e, "accept",f, ]); }) Lharmony-async-awaitå (function(a,b,c){ "use strict"; %CheckIsBootstrapping(); var d; var e; var f; var g; var h; b.Import(function(i){ d=i.AsyncFunctionNext; e=i.AsyncFunctionThrow; f=i.PromiseCreateRejected; g=i.PromiseCreateResolved; h=i.PromiseThen; }); function AsyncFunctionAwait(j,k){ return %_Call( h,g(k), function(l){ return %_Call(d,j,l); }, function(m){ return %_Call(e,j,m); }); } %InstallToContext(["async_function_await",AsyncFunctionAwait]); }) @icu-case-mapping± (function(a,b){ "use strict"; %CheckIsBootstrapping(); var c=a.String; var d=b.OverrideFunction; var e=b.ImportNow("ToLowerCaseI18N"); var f=b.ImportNow("ToUpperCaseI18N"); var g=b.ImportNow("ToLocaleLowerCaseI18N"); var h=b.ImportNow("ToLocaleUpperCaseI18N"); d(c.prototype,'toLowerCase',e,true); d(c.prototype,'toUpperCase',f,true); d(c.prototype,'toLocaleLowerCase', g,true); d(c.prototype,'toLocaleUpperCase', h,true); }) (intl-extram (function(a,b){ "use strict"; %CheckIsBootstrapping(); var c=a.Intl; var d=b.ImportNow("AddBoundMethod"); var e=b.ImportNow("IntlParseDate"); var f=b.ImportNow("IntlParseNumber"); d(c.DateTimeFormat,'v8Parse',e,1, 'dateformat'); d(c.NumberFormat,'v8Parse',f,1, 'numberformat'); }) 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 }); }); PCountQueuingStrategyý (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 }); class BuiltInCountQueuingStrategy { constructor(highWaterMark) { defineProperty(this, 'highWaterMark', {value: highWaterMark}); } size(chunk) { return 1; } } binding.createBuiltInCountQueuingStrategy = highWaterMark => new BuiltInCountQueuingStrategy(highWaterMark); }); 8ReadableStream6Ý (function(global, binding, v8) { 'use strict'; const readableStreamReader = v8.createPrivateSymbol('[[reader]]'); const readableStreamStoredError = v8.createPrivateSymbol('[[storedError]]'); const readableStreamController = v8.createPrivateSymbol('[[controller]]'); const readableStreamReaderClosedPromise = v8.createPrivateSymbol('[[closedPromise]]'); const readableStreamReaderOwnerReadableStream = v8.createPrivateSymbol('[[ownerReadableStream]]'); const readableStreamDefaultReaderReadRequests = v8.createPrivateSymbol('[[readRequests]]'); const createWithExternalControllerSentinel = v8.createPrivateSymbol('flag for UA-created ReadableStream to pass'); const readableStreamBits = v8.createPrivateSymbol('bit field for [[state]] and [[disturbed]]'); const DISTURBED = 0b1; const STATE_MASK = 0b110; const STATE_BITS_OFFSET = 1; const STATE_READABLE = 0; const STATE_CLOSED = 1; const STATE_ERRORED = 2; const readableStreamDefaultControllerUnderlyingSource = v8.createPrivateSymbol('[[underlyingSource]]'); const readableStreamDefaultControllerControlledReadableStream = v8.createPrivateSymbol('[[controlledReadableStream]]'); const readableStreamDefaultControllerQueue = v8.createPrivateSymbol('[[queue]]'); const readableStreamDefaultControllerQueueSize = v8.createPrivateSymbol('[[queue]] total size'); const readableStreamDefaultControllerStrategySize = v8.createPrivateSymbol('[[strategySize]]'); const readableStreamDefaultControllerStrategyHWM = v8.createPrivateSymbol('[[strategyHWM]]'); const readableStreamDefaultControllerBits = v8.createPrivateSymbol( 'bit field for [[started]], [[closeRequested]], [[pulling]], [[pullAgain]]'); const STARTED = 0b1; const CLOSE_REQUESTED = 0b10; const PULLING = 0b100; const PULL_AGAIN = 0b1000; const EXTERNALLY_CONTROLLED = 0b10000; const readableStreamControllerCancel = v8.createPrivateSymbol('[[InternalCancel]]'); const readableStreamControllerPull = v8.createPrivateSymbol('[[InternalPull]]'); 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 errEnqueueCloseRequestedStream = '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 errEnqueueClosedStream = 'Cannot enqueue a chunk into a closed readable stream'; const errEnqueueErroredStream = 'Cannot enqueue a chunk into an errored readable stream'; const errCloseClosedStream = 'Cannot close a closed readable stream'; 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 errGetReaderNotByteStream = 'This readable stream does not support BYOB readers'; const errGetReaderBadMode = 'Invalid reader mode given: expected undefined or "byob"'; 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; } this[readableStreamBits] = 0b0; ReadableStreamSetState(this, STATE_READABLE); this[readableStreamReader] = undefined; this[readableStreamStoredError] = undefined; this[readableStreamController] = undefined; const type = underlyingSource.type; const typeString = String(type); if (typeString === 'bytes') { throw new RangeError('bytes type is not yet implemented'); } else if (type !== undefined) { throw new RangeError('Invalid type is specified'); } this[readableStreamController] = new ReadableStreamDefaultController(this, underlyingSource, size, highWaterMark, arguments[2] === createWithExternalControllerSentinel); } 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 ReadableStreamCancel(this, reason); } getReader({ mode } = {}) { if (IsReadableStream(this) === false) { throw new TypeError(errIllegalInvocation); } if (mode === 'byob') { if (IsReadableByteStreamDefaultController(this[readableStreamController]) === false) { throw new TypeError(errGetReaderNotByteStream); } return AcquireReadableStreamBYOBReader(this); } if (mode === undefined) { return AcquireReadableStreamDefaultReader(this); } throw new RangeError(errGetReaderBadMode); } tee() { if (IsReadableStream(this) === false) { throw new TypeError(errIllegalInvocation); } return ReadableStreamTee(this); } } class ReadableStreamDefaultController { constructor(stream, underlyingSource, size, highWaterMark, isExternallyControlled) { if (IsReadableStream(stream) === false) { throw new TypeError(errIllegalConstructor); } if (stream[readableStreamController] !== undefined) { throw new TypeError(errIllegalConstructor); } this[readableStreamDefaultControllerControlledReadableStream] = stream; this[readableStreamDefaultControllerUnderlyingSource] = underlyingSource; this[readableStreamDefaultControllerQueue] = new v8.InternalPackedArray(); this[readableStreamDefaultControllerQueueSize] = 0; this[readableStreamDefaultControllerBits] = 0b0; if (isExternallyControlled === true) { this[readableStreamDefaultControllerBits] |= EXTERNALLY_CONTROLLED; } const normalizedStrategy = ValidateAndNormalizeQueuingStrategy(size, highWaterMark); this[readableStreamDefaultControllerStrategySize] = normalizedStrategy.size; this[readableStreamDefaultControllerStrategyHWM] = normalizedStrategy.highWaterMark; const controller = this; const startResult = CallOrNoop( underlyingSource, 'start', this, 'underlyingSource.start'); thenPromise(Promise_resolve(startResult), () => { controller[readableStreamDefaultControllerBits] |= STARTED; ReadableStreamDefaultControllerCallPullIfNeeded(controller); }, r => { if (ReadableStreamGetState(stream) === STATE_READABLE) { ReadableStreamDefaultControllerError(controller, r); } }); } get desiredSize() { if (IsReadableStreamDefaultController(this) === false) { throw new TypeError(errIllegalInvocation); } return ReadableStreamDefaultControllerGetDesiredSize(this); } close() { if (IsReadableStreamDefaultController(this) === false) { throw new TypeError(errIllegalInvocation); } const stream = this[readableStreamDefaultControllerControlledReadableStream]; if (this[readableStreamDefaultControllerBits] & CLOSE_REQUESTED) { throw new TypeError(errCloseCloseRequestedStream); } const state = ReadableStreamGetState(stream); if (state === STATE_ERRORED) { throw new TypeError(errCloseErroredStream); } if (state === STATE_CLOSED) { throw new TypeError(errCloseClosedStream); } return ReadableStreamDefaultControllerClose(this); } enqueue(chunk) { if (IsReadableStreamDefaultController(this) === false) { throw new TypeError(errIllegalInvocation); } const stream = this[readableStreamDefaultControllerControlledReadableStream]; if (this[readableStreamDefaultControllerBits] & CLOSE_REQUESTED) { throw new TypeError(errEnqueueCloseRequestedStream); } const state = ReadableStreamGetState(stream); if (state === STATE_ERRORED) { throw new TypeError(errEnqueueErroredStream); } if (state === STATE_CLOSED) { throw new TypeError(errEnqueueClosedStream); } return ReadableStreamDefaultControllerEnqueue(this, chunk); } error(e) { if (IsReadableStreamDefaultController(this) === false) { throw new TypeError(errIllegalInvocation); } const stream = this[readableStreamDefaultControllerControlledReadableStream]; const state = ReadableStreamGetState(stream); if (state === STATE_ERRORED) { throw new TypeError(errErrorErroredStream); } if (state === STATE_CLOSED) { throw new TypeError(errErrorClosedStream); } return ReadableStreamDefaultControllerError(this, e); } } function ReadableStreamDefaultControllerCancel(controller, reason) { controller[readableStreamDefaultControllerQueue] = new v8.InternalPackedArray(); const underlyingSource = controller[readableStreamDefaultControllerUnderlyingSource]; return PromiseCallOrNoop(underlyingSource, 'cancel', reason, 'underlyingSource.cancel'); } function ReadableStreamDefaultControllerPull(controller) { const stream = controller[readableStreamDefaultControllerControlledReadableStream]; if (controller[readableStreamDefaultControllerQueue].length > 0) { const chunk = DequeueValue(controller); if ((controller[readableStreamDefaultControllerBits] & CLOSE_REQUESTED) && controller[readableStreamDefaultControllerQueue].length === 0) { ReadableStreamClose(stream); } else { ReadableStreamDefaultControllerCallPullIfNeeded(controller); } return Promise_resolve(CreateIterResultObject(chunk, false)); } const pendingPromise = ReadableStreamAddReadRequest(stream); ReadableStreamDefaultControllerCallPullIfNeeded(controller); return pendingPromise; } function ReadableStreamAddReadRequest(stream) { const promise = v8.createPromise(); stream[readableStreamReader][readableStreamDefaultReaderReadRequests].push(promise); return promise; } class ReadableStreamDefaultReader { constructor(stream) { if (IsReadableStream(stream) === false) { throw new TypeError(errReaderConstructorBadArgument); } if (IsReadableStreamLocked(stream) === true) { throw new TypeError(errReaderConstructorStreamAlreadyLocked); } ReadableStreamReaderGenericInitialize(this, stream); this[readableStreamDefaultReaderReadRequests] = new v8.InternalPackedArray(); } get closed() { if (IsReadableStreamDefaultReader(this) === false) { return Promise_reject(new TypeError(errIllegalInvocation)); } return this[readableStreamReaderClosedPromise]; } cancel(reason) { if (IsReadableStreamDefaultReader(this) === false) { return Promise_reject(new TypeError(errIllegalInvocation)); } const stream = this[readableStreamReaderOwnerReadableStream]; if (stream === undefined) { return Promise_reject(new TypeError(errCancelReleasedReader)); } return ReadableStreamReaderGenericCancel(this, reason); } read() { if (IsReadableStreamDefaultReader(this) === false) { return Promise_reject(new TypeError(errIllegalInvocation)); } if (this[readableStreamReaderOwnerReadableStream] === undefined) { return Promise_reject(new TypeError(errReadReleasedReader)); } return ReadableStreamDefaultReaderRead(this); } releaseLock() { if (IsReadableStreamDefaultReader(this) === false) { throw new TypeError(errIllegalInvocation); } const stream = this[readableStreamReaderOwnerReadableStream]; if (stream === undefined) { return undefined; } if (this[readableStreamDefaultReaderReadRequests].length > 0) { throw new TypeError(errReleaseReaderWithPendingRead); } ReadableStreamReaderGenericRelease(this); } } function ReadableStreamReaderGenericCancel(reader, reason) { return ReadableStreamCancel(reader[readableStreamReaderOwnerReadableStream], reason); } function AcquireReadableStreamDefaultReader(stream) { return new ReadableStreamDefaultReader(stream); } function ReadableStreamCancel(stream, reason) { stream[readableStreamBits] |= DISTURBED; const state = ReadableStreamGetState(stream); if (state === STATE_CLOSED) { return Promise_resolve(undefined); } if (state === STATE_ERRORED) { return Promise_reject(stream[readableStreamStoredError]); } ReadableStreamClose(stream); const sourceCancelPromise = ReadableStreamDefaultControllerCancel(stream[readableStreamController], reason); return thenPromise(sourceCancelPromise, () => undefined); } function ReadableStreamDefaultControllerClose(controller) { const stream = controller[readableStreamDefaultControllerControlledReadableStream]; controller[readableStreamDefaultControllerBits] |= CLOSE_REQUESTED; if (controller[readableStreamDefaultControllerQueue].length === 0) { ReadableStreamClose(stream); } } function ReadableStreamFulfillReadRequest(stream, chunk, done) { const reader = stream[readableStreamReader]; const readRequest = stream[readableStreamReader][readableStreamDefaultReaderReadRequests] .shift(); v8.resolvePromise(readRequest, CreateIterResultObject(chunk, done)); } function ReadableStreamDefaultControllerEnqueue(controller, chunk) { const stream = controller[readableStreamDefaultControllerControlledReadableStream]; if (IsReadableStreamLocked(stream) === true && ReadableStreamGetNumReadRequests(stream) > 0) { ReadableStreamFulfillReadRequest(stream, chunk, false); } else { let chunkSize = 1; const strategySize = controller[readableStreamDefaultControllerStrategySize]; if (strategySize !== undefined) { try { chunkSize = strategySize(chunk); } catch (chunkSizeE) { if (ReadableStreamGetState(stream) === STATE_READABLE) { ReadableStreamDefaultControllerError(controller, chunkSizeE); } throw chunkSizeE; } } try { EnqueueValueWithSize(controller, chunk, chunkSize); } catch (enqueueE) { if (ReadableStreamGetState(stream) === STATE_READABLE) { ReadableStreamDefaultControllerError(controller, enqueueE); } throw enqueueE; } } ReadableStreamDefaultControllerCallPullIfNeeded(controller); } function ReadableStreamGetState(stream) { return (stream[readableStreamBits] & STATE_MASK) >> STATE_BITS_OFFSET; } function ReadableStreamSetState(stream, state) { stream[readableStreamBits] = (stream[readableStreamBits] & ~STATE_MASK) | (state << STATE_BITS_OFFSET); } function ReadableStreamDefaultControllerError(controller, e) { controller[readableStreamDefaultControllerQueue] = new v8.InternalPackedArray(); const stream = controller[readableStreamDefaultControllerControlledReadableStream]; ReadableStreamError(stream, e); } function ReadableStreamError(stream, e) { stream[readableStreamStoredError] = e; ReadableStreamSetState(stream, STATE_ERRORED); const reader = stream[readableStreamReader]; if (reader === undefined) { return undefined; } if (IsReadableStreamDefaultReader(reader) === true) { const readRequests = reader[readableStreamDefaultReaderReadRequests]; for (let i = 0; i < readRequests.length; i++) { v8.rejectPromise(readRequests[i], e); } reader[readableStreamDefaultReaderReadRequests] = new v8.InternalPackedArray(); } v8.rejectPromise(reader[readableStreamReaderClosedPromise], e); } function ReadableStreamClose(stream) { ReadableStreamSetState(stream, STATE_CLOSED); const reader = stream[readableStreamReader]; if (reader === undefined) { return undefined; } if (IsReadableStreamDefaultReader(reader) === true) { const readRequests = reader[readableStreamDefaultReaderReadRequests]; for (let i = 0; i < readRequests.length; i++) { v8.resolvePromise( readRequests[i], CreateIterResultObject(undefined, true)); } reader[readableStreamDefaultReaderReadRequests] = new v8.InternalPackedArray(); } v8.resolvePromise(reader[readableStreamReaderClosedPromise], undefined); } function ReadableStreamDefaultControllerGetDesiredSize(controller) { const queueSize = GetTotalQueueSize(controller); return controller[readableStreamDefaultControllerStrategyHWM] - queueSize; } function IsReadableStream(x) { return hasOwnProperty(x, readableStreamController); } function IsReadableStreamDisturbed(stream) { return stream[readableStreamBits] & DISTURBED; } function IsReadableStreamLocked(stream) { return stream[readableStreamReader] !== undefined; } function IsReadableStreamDefaultController(x) { return hasOwnProperty(x, readableStreamDefaultControllerControlledReadableStream); } function IsReadableStreamDefaultReader(x) { return hasOwnProperty(x, readableStreamDefaultReaderReadRequests); } function IsReadableStreamReadable(stream) { return ReadableStreamGetState(stream) === STATE_READABLE; } function IsReadableStreamClosed(stream) { return ReadableStreamGetState(stream) === STATE_CLOSED; } function IsReadableStreamErrored(stream) { return ReadableStreamGetState(stream) === STATE_ERRORED; } function ReadableStreamReaderGenericInitialize(reader, stream) { const controller = stream[readableStreamController]; if (controller[readableStreamDefaultControllerBits] & EXTERNALLY_CONTROLLED) { const underlyingSource = controller[readableStreamDefaultControllerUnderlyingSource]; callFunction(underlyingSource.notifyLockAcquired, underlyingSource); } reader[readableStreamReaderOwnerReadableStream] = stream; stream[readableStreamReader] = reader; switch (ReadableStreamGetState(stream)) { case STATE_READABLE: reader[readableStreamReaderClosedPromise] = v8.createPromise(); break; case STATE_CLOSED: reader[readableStreamReaderClosedPromise] = Promise_resolve(undefined); break; case STATE_ERRORED: reader[readableStreamReaderClosedPromise] = Promise_reject(stream[readableStreamStoredError]); break; } } function ReadableStreamReaderGenericRelease(reader) { const controller = reader[readableStreamReaderOwnerReadableStream][readableStreamController]; if (controller[readableStreamDefaultControllerBits] & EXTERNALLY_CONTROLLED) { const underlyingSource = controller[readableStreamDefaultControllerUnderlyingSource]; callFunction(underlyingSource.notifyLockReleased, underlyingSource); } if (ReadableStreamGetState(reader[readableStreamReaderOwnerReadableStream]) === STATE_READABLE) { v8.rejectPromise(reader[readableStreamReaderClosedPromise], new TypeError(errReleasedReaderClosedPromise)); } else { reader[readableStreamReaderClosedPromise] = Promise_reject(new TypeError(errReleasedReaderClosedPromise)); } reader[readableStreamReaderOwnerReadableStream][readableStreamReader] = undefined; reader[readableStreamReaderOwnerReadableStream] = undefined; } function ReadableStreamDefaultReaderRead(reader) { const stream = reader[readableStreamReaderOwnerReadableStream]; stream[readableStreamBits] |= DISTURBED; if (ReadableStreamGetState(stream) === STATE_CLOSED) { return Promise_resolve(CreateIterResultObject(undefined, true)); } if (ReadableStreamGetState(stream) === STATE_ERRORED) { return Promise_reject(stream[readableStreamStoredError]); } return ReadableStreamDefaultControllerPull(stream[readableStreamController]); } function ReadableStreamDefaultControllerCallPullIfNeeded(controller) { const shouldPull = ReadableStreamDefaultControllerShouldCallPull(controller); if (shouldPull === false) { return undefined; } if (controller[readableStreamDefaultControllerBits] & PULLING) { controller[readableStreamDefaultControllerBits] |= PULL_AGAIN; return undefined; } controller[readableStreamDefaultControllerBits] |= PULLING; const underlyingSource = controller[readableStreamDefaultControllerUnderlyingSource]; const pullPromise = PromiseCallOrNoop( underlyingSource, 'pull', controller, 'underlyingSource.pull'); thenPromise(pullPromise, () => { controller[readableStreamDefaultControllerBits] &= ~PULLING; if (controller[readableStreamDefaultControllerBits] & PULL_AGAIN) { controller[readableStreamDefaultControllerBits] &= ~PULL_AGAIN; ReadableStreamDefaultControllerCallPullIfNeeded(controller); } }, e => { if (ReadableStreamGetState(controller[readableStreamDefaultControllerControlledReadableStream]) === STATE_READABLE) { ReadableStreamDefaultControllerError(controller, e); } }); } function ReadableStreamDefaultControllerShouldCallPull(controller) { const stream = controller[readableStreamDefaultControllerControlledReadableStream]; const state = ReadableStreamGetState(stream); if (state === STATE_CLOSED || state === STATE_ERRORED) { return false; } if (controller[readableStreamDefaultControllerBits] & CLOSE_REQUESTED) { return false; } if (!(controller[readableStreamDefaultControllerBits] & STARTED)) { return false; } if (IsReadableStreamLocked(stream) === true && ReadableStreamGetNumReadRequests(stream) > 0) { return true; } const desiredSize = ReadableStreamDefaultControllerGetDesiredSize(controller); if (desiredSize > 0) { return true; } return false; } function ReadableStreamGetNumReadRequests(stream) { const reader = stream[readableStreamReader]; const readRequests = reader[readableStreamDefaultReaderReadRequests]; return readRequests.length; } function ReadableStreamTee(stream) { const reader = AcquireReadableStreamDefaultReader(stream); let closedOrErrored = false; let canceled1 = false; let canceled2 = false; let reason1; let reason2; let promise = v8.createPromise(); const branch1Stream = new ReadableStream({pull, cancel: cancel1}); const branch2Stream = new ReadableStream({pull, cancel: cancel2}); const branch1 = branch1Stream[readableStreamController]; const branch2 = branch2Stream[readableStreamController]; thenPromise( reader[readableStreamReaderClosedPromise], undefined, function(r) { if (closedOrErrored === true) { return; } ReadableStreamDefaultControllerError(branch1, r); ReadableStreamDefaultControllerError(branch2, r); closedOrErrored = true; }); return [branch1Stream, branch2Stream]; function pull() { return thenPromise( ReadableStreamDefaultReaderRead(reader), function(result) { const value = result.value; const done = result.done; if (done === true && closedOrErrored === false) { if (canceled1 === false) { ReadableStreamDefaultControllerClose(branch1); } if (canceled2 === false) { ReadableStreamDefaultControllerClose(branch2); } closedOrErrored = true; } if (closedOrErrored === true) { return; } if (canceled1 === false) { ReadableStreamDefaultControllerEnqueue(branch1, value); } if (canceled2 === false) { ReadableStreamDefaultControllerEnqueue(branch2, value); } }); } function cancel1(reason) { canceled1 = true; reason1 = reason; if (canceled2 === true) { const compositeReason = [reason1, reason2]; const cancelResult = ReadableStreamCancel(stream, compositeReason); v8.resolvePromise(promise, cancelResult); } return promise; } function cancel2(reason) { canceled2 = true; reason2 = reason; if (canceled1 === true) { const compositeReason = [reason1, reason2]; const cancelResult = ReadableStreamCancel(stream, compositeReason); v8.resolvePromise(promise, cancelResult); } return promise; } } function DequeueValue(controller) { const result = controller[readableStreamDefaultControllerQueue].shift(); controller[readableStreamDefaultControllerQueueSize] -= result.size; return result.value; } function EnqueueValueWithSize(controller, value, size) { size = Number(size); if (Number_isNaN(size) || size === +Infinity || size < 0) { throw new RangeError(errInvalidSize); } controller[readableStreamDefaultControllerQueueSize] += size; controller[readableStreamDefaultControllerQueue].push({value, size}); } function GetTotalQueueSize(controller) { return controller[readableStreamDefaultControllerQueueSize]; } 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(new TypeError(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.AcquireReadableStreamDefaultReader = AcquireReadableStreamDefaultReader; binding.IsReadableStream = IsReadableStream; binding.IsReadableStreamDisturbed = IsReadableStreamDisturbed; binding.IsReadableStreamLocked = IsReadableStreamLocked; binding.IsReadableStreamReadable = IsReadableStreamReadable; binding.IsReadableStreamClosed = IsReadableStreamClosed; binding.IsReadableStreamErrored = IsReadableStreamErrored; binding.IsReadableStreamDefaultReader = IsReadableStreamDefaultReader; binding.ReadableStreamDefaultReaderRead = ReadableStreamDefaultReaderRead; binding.ReadableStreamTee = ReadableStreamTee; binding.ReadableStreamDefaultControllerClose = ReadableStreamDefaultControllerClose; binding.ReadableStreamDefaultControllerGetDesiredSize = ReadableStreamDefaultControllerGetDesiredSize; binding.ReadableStreamDefaultControllerEnqueue = ReadableStreamDefaultControllerEnqueue; binding.ReadableStreamDefaultControllerError = ReadableStreamDefaultControllerError; binding.createReadableStreamWithExternalController = (underlyingSource, strategy) => { return new ReadableStream( underlyingSource, strategy, createWithExternalControllerSentinel); }; }); dummy<(function() {})