Why Gemfury? Push, build, and install  RubyGems npm packages Python packages Maven artifacts PHP packages Go Modules Debian packages RPM packages NuGet packages

Repository URL to install this package:

Details    
code / usr / share / code / natives_blob.bin
Size: Mime:
mirrors–t
(function(a,b){
"use strict";
var c;
var d=a.Array;
var e=a.isNaN;
var f=a.JSON.stringify;
var g;
var h;
var i;
var j=a.Math.min;
var k=b.ImportNow("promise_status_symbol");
var l=b.ImportNow("promise_value_symbol");
var m;
var n;
var o;
b.Import(function(p){
c=p.ErrorToString;
g=p.MakeError;
h=p.MapEntries;
i=p.MapIteratorNext;
m=p.SetIteratorNext;
n=p.SetValues;
o=p.SymbolToString;
});
var q={
UNDEFINED_TYPE:'undefined',
NULL_TYPE:'null',
BOOLEAN_TYPE:'boolean',
NUMBER_TYPE:'number',
STRING_TYPE:'string',
SYMBOL_TYPE:'symbol',
OBJECT_TYPE:'object',
FUNCTION_TYPE:'function',
REGEXP_TYPE:'regexp',
ERROR_TYPE:'error',
PROPERTY_TYPE:'property',
INTERNAL_PROPERTY_TYPE:'internalProperty',
FRAME_TYPE:'frame',
SCRIPT_TYPE:'script',
CONTEXT_TYPE:'context',
SCOPE_TYPE:'scope',
PROMISE_TYPE:'promise',
MAP_TYPE:'map',
SET_TYPE:'set',
ITERATOR_TYPE:'iterator',
GENERATOR_TYPE:'generator',
}
var r=0;
var s=-1;
var t=[];
var u=true;
function MirrorCacheIsEmpty(){
return r==0&&t.length==0;
}
function ToggleMirrorCache(v){
u=v;
ClearMirrorCache();
}
function ClearMirrorCache(v){
r=0;
t=[];
}
function ObjectIsPromise(v){
return(%_IsJSReceiver(v))&&
!(%DebugGetProperty(v,k)===(void 0));
}
function MakeMirror(v,w){
var x;
if(!w&&u){
for(var y in t){
x=t[y];
if(x.value()===v){
return x;
}
if(x.isNumber()&&e(x.value())&&
typeof v=='number'&&e(v)){
return x;
}
}
}
if((v===(void 0))){
x=new UndefinedMirror();
}else if((v===null)){
x=new NullMirror();
}else if((typeof(v)==='boolean')){
x=new BooleanMirror(v);
}else if((typeof(v)==='number')){
x=new NumberMirror(v);
}else if((typeof(v)==='string')){
x=new StringMirror(v);
}else if((typeof(v)==='symbol')){
x=new SymbolMirror(v);
}else if((%_IsArray(v))){
x=new ArrayMirror(v);
}else if((%_IsDate(v))){
x=new DateMirror(v);
}else if((%_IsFunction(v))){
x=new FunctionMirror(v);
}else if((%_IsRegExp(v))){
x=new RegExpMirror(v);
}else if((%_ClassOf(v)==='Error')){
x=new ErrorMirror(v);
}else if((%_ClassOf(v)==='Script')){
x=new ScriptMirror(v);
}else if((%_ClassOf(v)==='Map')||(%_ClassOf(v)==='WeakMap')){
x=new MapMirror(v);
}else if((%_ClassOf(v)==='Set')||(%_ClassOf(v)==='WeakSet')){
x=new SetMirror(v);
}else if((%_ClassOf(v)==='Map Iterator')||(%_ClassOf(v)==='Set Iterator')){
x=new IteratorMirror(v);
}else if(ObjectIsPromise(v)){
x=new PromiseMirror(v);
}else if((%_ClassOf(v)==='Generator')){
x=new GeneratorMirror(v);
}else{
x=new ObjectMirror(v,q.OBJECT_TYPE,w);
}
if(u)t[x.handle()]=x;
return x;
}
function LookupMirror(z){
if(!u){
throw g(2,"Mirror cache is disabled");
}
return t[z];
}
function GetUndefinedMirror(){
return MakeMirror((void 0));
}
function inherits(A,B){
var C=function(){};
C.prototype=B.prototype;
A.super_=B.prototype;
A.prototype=new C();
A.prototype.constructor=A;
}
var D=80;
var E={};
E.Data=0;
E.DataConstant=2;
E.AccessorConstant=3;
var F={};
F.None=0;
F.ReadOnly=1;
F.DontEnum=2;
F.DontDelete=4;
var G={Global:0,
Local:1,
With:2,
Closure:3,
Catch:4,
Block:5,
Script:6};
function Mirror(H){
this.type_=H;
}
Mirror.prototype.type=function(){
return this.type_;
};
Mirror.prototype.isValue=function(){
return this instanceof ValueMirror;
};
Mirror.prototype.isUndefined=function(){
return this instanceof UndefinedMirror;
};
Mirror.prototype.isNull=function(){
return this instanceof NullMirror;
};
Mirror.prototype.isBoolean=function(){
return this instanceof BooleanMirror;
};
Mirror.prototype.isNumber=function(){
return this instanceof NumberMirror;
};
Mirror.prototype.isString=function(){
return this instanceof StringMirror;
};
Mirror.prototype.isSymbol=function(){
return this instanceof SymbolMirror;
};
Mirror.prototype.isObject=function(){
return this instanceof ObjectMirror;
};
Mirror.prototype.isFunction=function(){
return this instanceof FunctionMirror;
};
Mirror.prototype.isUnresolvedFunction=function(){
return this instanceof UnresolvedFunctionMirror;
};
Mirror.prototype.isArray=function(){
return this instanceof ArrayMirror;
};
Mirror.prototype.isDate=function(){
return this instanceof DateMirror;
};
Mirror.prototype.isRegExp=function(){
return this instanceof RegExpMirror;
};
Mirror.prototype.isError=function(){
return this instanceof ErrorMirror;
};
Mirror.prototype.isPromise=function(){
return this instanceof PromiseMirror;
};
Mirror.prototype.isGenerator=function(){
return this instanceof GeneratorMirror;
};
Mirror.prototype.isProperty=function(){
return this instanceof PropertyMirror;
};
Mirror.prototype.isInternalProperty=function(){
return this instanceof InternalPropertyMirror;
};
Mirror.prototype.isFrame=function(){
return this instanceof FrameMirror;
};
Mirror.prototype.isScript=function(){
return this instanceof ScriptMirror;
};
Mirror.prototype.isContext=function(){
return this instanceof ContextMirror;
};
Mirror.prototype.isScope=function(){
return this instanceof ScopeMirror;
};
Mirror.prototype.isMap=function(){
return this instanceof MapMirror;
};
Mirror.prototype.isSet=function(){
return this instanceof SetMirror;
};
Mirror.prototype.isIterator=function(){
return this instanceof IteratorMirror;
};
Mirror.prototype.allocateHandle_=function(){
if(u)this.handle_=r++;
};
Mirror.prototype.allocateTransientHandle_=function(){
this.handle_=s--;
};
Mirror.prototype.toText=function(){
return"#<"+this.constructor.name+">";
};
function ValueMirror(H,v,I){
%_Call(Mirror,this,H);
this.value_=v;
if(!I){
this.allocateHandle_();
}else{
this.allocateTransientHandle_();
}
}
inherits(ValueMirror,Mirror);
Mirror.prototype.handle=function(){
return this.handle_;
};
ValueMirror.prototype.isPrimitive=function(){
var H=this.type();
return H==='undefined'||
H==='null'||
H==='boolean'||
H==='number'||
H==='string'||
H==='symbol';
};
ValueMirror.prototype.value=function(){
return this.value_;
};
function UndefinedMirror(){
%_Call(ValueMirror,this,q.UNDEFINED_TYPE,(void 0));
}
inherits(UndefinedMirror,ValueMirror);
UndefinedMirror.prototype.toText=function(){
return'undefined';
};
function NullMirror(){
%_Call(ValueMirror,this,q.NULL_TYPE,null);
}
inherits(NullMirror,ValueMirror);
NullMirror.prototype.toText=function(){
return'null';
};
function BooleanMirror(v){
%_Call(ValueMirror,this,q.BOOLEAN_TYPE,v);
}
inherits(BooleanMirror,ValueMirror);
BooleanMirror.prototype.toText=function(){
return this.value_?'true':'false';
};
function NumberMirror(v){
%_Call(ValueMirror,this,q.NUMBER_TYPE,v);
}
inherits(NumberMirror,ValueMirror);
NumberMirror.prototype.toText=function(){
return %_NumberToString(this.value_);
};
function StringMirror(v){
%_Call(ValueMirror,this,q.STRING_TYPE,v);
}
inherits(StringMirror,ValueMirror);
StringMirror.prototype.length=function(){
return this.value_.length;
};
StringMirror.prototype.getTruncatedValue=function(J){
if(J!=-1&&this.length()>J){
return this.value_.substring(0,J)+
'... (length: '+this.length()+')';
}
return this.value_;
};
StringMirror.prototype.toText=function(){
return this.getTruncatedValue(D);
};
function SymbolMirror(v){
%_Call(ValueMirror,this,q.SYMBOL_TYPE,v);
}
inherits(SymbolMirror,ValueMirror);
SymbolMirror.prototype.description=function(){
return %SymbolDescription(%_ValueOf(this.value_));
}
SymbolMirror.prototype.toText=function(){
return %_Call(o,this.value_);
}
function ObjectMirror(v,H,I){
H=H||q.OBJECT_TYPE;
%_Call(ValueMirror,this,H,v,I);
}
inherits(ObjectMirror,ValueMirror);
ObjectMirror.prototype.className=function(){
return %_ClassOf(this.value_);
};
ObjectMirror.prototype.constructorFunction=function(){
return MakeMirror(%DebugGetProperty(this.value_,'constructor'));
};
ObjectMirror.prototype.prototypeObject=function(){
return MakeMirror(%DebugGetProperty(this.value_,'prototype'));
};
ObjectMirror.prototype.protoObject=function(){
return MakeMirror(%DebugGetPrototype(this.value_));
};
ObjectMirror.prototype.hasNamedInterceptor=function(){
var K=%GetInterceptorInfo(this.value_);
return(K&2)!=0;
};
ObjectMirror.prototype.hasIndexedInterceptor=function(){
var K=%GetInterceptorInfo(this.value_);
return(K&1)!=0;
};
ObjectMirror.prototype.propertyNames=function(){
return %GetOwnPropertyKeys(this.value_,0);
};
ObjectMirror.prototype.properties=function(){
var L=this.propertyNames();
var M=new d(L.length);
for(var N=0;N<L.length;N++){
M[N]=this.property(L[N]);
}
return M;
};
ObjectMirror.prototype.internalProperties=function(){
return ObjectMirror.GetInternalProperties(this.value_);
}
ObjectMirror.prototype.property=function(O){
var P=%DebugGetPropertyDetails(this.value_,(%_ToName(O)));
if(P){
return new PropertyMirror(this,O,P);
}
return GetUndefinedMirror();
};
ObjectMirror.prototype.lookupProperty=function(v){
var M=this.properties();
for(var N=0;N<M.length;N++){
var Q=M[N];
if(Q.propertyType()!=E.AccessorConstant){
if(%_ObjectEquals(Q.value_,v.value_)){
return Q;
}
}
}
return GetUndefinedMirror();
};
ObjectMirror.prototype.referencedBy=function(R){
var S=%DebugReferencedBy(this.value_,
Mirror.prototype,R||0);
for(var N=0;N<S.length;N++){
S[N]=MakeMirror(S[N]);
}
return S;
};
ObjectMirror.prototype.toText=function(){
var O;
var A=this.constructorFunction();
if(!A.isFunction()){
O=this.className();
}else{
O=A.name();
if(!O){
O=this.className();
}
}
return'#<'+O+'>';
};
ObjectMirror.GetInternalProperties=function(v){
var M=%DebugGetInternalProperties(v);
var S=[];
for(var N=0;N<M.length;N+=2){
S.push(new InternalPropertyMirror(M[N],M[N+1]));
}
return S;
}
function FunctionMirror(v){
%_Call(ObjectMirror,this,v,q.FUNCTION_TYPE);
this.resolved_=true;
}
inherits(FunctionMirror,ObjectMirror);
FunctionMirror.prototype.resolved=function(){
return this.resolved_;
};
FunctionMirror.prototype.name=function(){
return %FunctionGetName(this.value_);
};
FunctionMirror.prototype.debugName=function(){
return %FunctionGetDebugName(this.value_);
}
FunctionMirror.prototype.inferredName=function(){
return %FunctionGetInferredName(this.value_);
};
FunctionMirror.prototype.source=function(){
if(this.resolved()){
return %FunctionToString(this.value_);
}
};
FunctionMirror.prototype.script=function(){
if(this.resolved()){
if(this.script_){
return this.script_;
}
var T=%FunctionGetScript(this.value_);
if(T){
return this.script_=MakeMirror(T);
}
}
};
FunctionMirror.prototype.sourcePosition_=function(){
if(this.resolved()){
return %FunctionGetScriptSourcePosition(this.value_);
}
};
FunctionMirror.prototype.sourceLocation=function(){
if(this.resolved()){
var T=this.script();
if(T){
return T.locationFromPosition(this.sourcePosition_(),true);
}
}
};
FunctionMirror.prototype.constructedBy=function(U){
if(this.resolved()){
var S=%DebugConstructedBy(this.value_,U||0);
for(var N=0;N<S.length;N++){
S[N]=MakeMirror(S[N]);
}
return S;
}else{
return[];
}
};
FunctionMirror.prototype.scopeCount=function(){
if(this.resolved()){
if((this.scopeCount_===(void 0))){
this.scopeCount_=%GetFunctionScopeCount(this.value());
}
return this.scopeCount_;
}else{
return 0;
}
};
FunctionMirror.prototype.scope=function(V){
if(this.resolved()){
return new ScopeMirror((void 0),this,V);
}
};
FunctionMirror.prototype.toText=function(){
return this.source();
};
function UnresolvedFunctionMirror(v){
%_Call(ValueMirror,this,q.FUNCTION_TYPE,v);
this.propertyCount_=0;
this.elementCount_=0;
this.resolved_=false;
}
inherits(UnresolvedFunctionMirror,FunctionMirror);
UnresolvedFunctionMirror.prototype.className=function(){
return'Function';
};
UnresolvedFunctionMirror.prototype.constructorFunction=function(){
return GetUndefinedMirror();
};
UnresolvedFunctionMirror.prototype.prototypeObject=function(){
return GetUndefinedMirror();
};
UnresolvedFunctionMirror.prototype.protoObject=function(){
return GetUndefinedMirror();
};
UnresolvedFunctionMirror.prototype.name=function(){
return this.value_;
};
UnresolvedFunctionMirror.prototype.inferredName=function(){
return(void 0);
};
UnresolvedFunctionMirror.prototype.propertyNames=function(W,X){
return[];
};
function ArrayMirror(v){
%_Call(ObjectMirror,this,v);
}
inherits(ArrayMirror,ObjectMirror);
ArrayMirror.prototype.length=function(){
return this.value_.length;
};
ArrayMirror.prototype.indexedPropertiesFromRange=function(opt_from_index,
opt_to_index){
var Y=opt_from_index||0;
var Z=opt_to_index||this.length()-1;
if(Y>Z)return new d();
var aa=new d(Z-Y+1);
for(var N=Y;N<=Z;N++){
var P=%DebugGetPropertyDetails(this.value_,(%_ToString(N)));
var v;
if(P){
v=new PropertyMirror(this,N,P);
}else{
v=GetUndefinedMirror();
}
aa[N-Y]=v;
}
return aa;
};
function DateMirror(v){
%_Call(ObjectMirror,this,v);
}
inherits(DateMirror,ObjectMirror);
DateMirror.prototype.toText=function(){
var ab=f(this.value_);
return ab.substring(1,ab.length-1);
};
function RegExpMirror(v){
%_Call(ObjectMirror,this,v,q.REGEXP_TYPE);
}
inherits(RegExpMirror,ObjectMirror);
RegExpMirror.prototype.source=function(){
return this.value_.source;
};
RegExpMirror.prototype.global=function(){
return this.value_.global;
};
RegExpMirror.prototype.ignoreCase=function(){
return this.value_.ignoreCase;
};
RegExpMirror.prototype.multiline=function(){
return this.value_.multiline;
};
RegExpMirror.prototype.sticky=function(){
return this.value_.sticky;
};
RegExpMirror.prototype.unicode=function(){
return this.value_.unicode;
};
RegExpMirror.prototype.toText=function(){
return"/"+this.source()+"/";
};
function ErrorMirror(v){
%_Call(ObjectMirror,this,v,q.ERROR_TYPE);
}
inherits(ErrorMirror,ObjectMirror);
ErrorMirror.prototype.message=function(){
return this.value_.message;
};
ErrorMirror.prototype.toText=function(){
var ac;
try{
ac=%_Call(c,this.value_);
}catch(e){
ac='#<Error>';
}
return ac;
};
function PromiseMirror(v){
%_Call(ObjectMirror,this,v,q.PROMISE_TYPE);
}
inherits(PromiseMirror,ObjectMirror);
function PromiseGetStatus_(v){
var ad=%DebugGetProperty(v,k);
if(ad==0)return"pending";
if(ad==1)return"resolved";
return"rejected";
}
function PromiseGetValue_(v){
return %DebugGetProperty(v,l);
}
PromiseMirror.prototype.status=function(){
return PromiseGetStatus_(this.value_);
};
PromiseMirror.prototype.promiseValue=function(){
return MakeMirror(PromiseGetValue_(this.value_));
};
function MapMirror(v){
%_Call(ObjectMirror,this,v,q.MAP_TYPE);
}
inherits(MapMirror,ObjectMirror);
MapMirror.prototype.entries=function(ae){
var S=[];
if((%_ClassOf(this.value_)==='WeakMap')){
var af=%GetWeakMapEntries(this.value_,ae||0);
for(var N=0;N<af.length;N+=2){
S.push({
key:af[N],
value:af[N+1]
});
}
return S;
}
var ag=%_Call(h,this.value_);
var ah;
while((!ae||S.length<ae)&&
!(ah=ag.next()).done){
S.push({
key:ah.value[0],
value:ah.value[1]
});
}
return S;
};
function SetMirror(v){
%_Call(ObjectMirror,this,v,q.SET_TYPE);
}
inherits(SetMirror,ObjectMirror);
function IteratorGetValues_(ag,ai,ae){
var S=[];
var ah;
while((!ae||S.length<ae)&&
!(ah=%_Call(ai,ag)).done){
S.push(ah.value);
}
return S;
}
SetMirror.prototype.values=function(ae){
if((%_ClassOf(this.value_)==='WeakSet')){
return %GetWeakSetValues(this.value_,ae||0);
}
var ag=%_Call(n,this.value_);
return IteratorGetValues_(ag,m,ae);
};
function IteratorMirror(v){
%_Call(ObjectMirror,this,v,q.ITERATOR_TYPE);
}
inherits(IteratorMirror,ObjectMirror);
IteratorMirror.prototype.preview=function(ae){
if((%_ClassOf(this.value_)==='Map Iterator')){
return IteratorGetValues_(%MapIteratorClone(this.value_),
i,
ae);
}else if((%_ClassOf(this.value_)==='Set Iterator')){
return IteratorGetValues_(%SetIteratorClone(this.value_),
m,
ae);
}
};
function GeneratorMirror(v){
%_Call(ObjectMirror,this,v,q.GENERATOR_TYPE);
}
inherits(GeneratorMirror,ObjectMirror);
function GeneratorGetStatus_(v){
var aj=%GeneratorGetContinuation(v);
if(aj<0)return"running";
if(aj==0)return"closed";
return"suspended";
}
GeneratorMirror.prototype.status=function(){
return GeneratorGetStatus_(this.value_);
};
GeneratorMirror.prototype.sourcePosition_=function(){
return %GeneratorGetSourcePosition(this.value_);
};
GeneratorMirror.prototype.sourceLocation=function(){
var ak=this.sourcePosition_();
if(!(ak===(void 0))){
var T=this.func().script();
if(T){
return T.locationFromPosition(ak,true);
}
}
};
GeneratorMirror.prototype.func=function(){
if(!this.func_){
this.func_=MakeMirror(%GeneratorGetFunction(this.value_));
}
return this.func_;
};
GeneratorMirror.prototype.context=function(){
if(!this.context_){
this.context_=new ContextMirror(%GeneratorGetContext(this.value_));
}
return this.context_;
};
GeneratorMirror.prototype.receiver=function(){
if(!this.receiver_){
this.receiver_=MakeMirror(%GeneratorGetReceiver(this.value_));
}
return this.receiver_;
};
function PropertyMirror(x,O,P){
%_Call(Mirror,this,q.PROPERTY_TYPE);
this.mirror_=x;
this.name_=O;
this.value_=P[0];
this.details_=P[1];
this.is_interceptor_=P[2];
if(P.length>3){
this.exception_=P[3];
this.getter_=P[4];
this.setter_=P[5];
}
}
inherits(PropertyMirror,Mirror);
PropertyMirror.prototype.isReadOnly=function(){
return(this.attributes()&F.ReadOnly)!=0;
};
PropertyMirror.prototype.isEnum=function(){
return(this.attributes()&F.DontEnum)==0;
};
PropertyMirror.prototype.canDelete=function(){
return(this.attributes()&F.DontDelete)==0;
};
PropertyMirror.prototype.name=function(){
return this.name_;
};
PropertyMirror.prototype.isIndexed=function(){
for(var N=0;N<this.name_.length;N++){
if(this.name_[N]<'0'||'9'<this.name_[N]){
return false;
}
}
return true;
};
PropertyMirror.prototype.value=function(){
return MakeMirror(this.value_,false);
};
PropertyMirror.prototype.isException=function(){
return this.exception_?true:false;
};
PropertyMirror.prototype.attributes=function(){
return %DebugPropertyAttributesFromDetails(this.details_);
};
PropertyMirror.prototype.propertyType=function(){
return %DebugPropertyTypeFromDetails(this.details_);
};
PropertyMirror.prototype.insertionIndex=function(){
return %DebugPropertyIndexFromDetails(this.details_);
};
PropertyMirror.prototype.hasGetter=function(){
return this.getter_?true:false;
};
PropertyMirror.prototype.hasSetter=function(){
return this.setter_?true:false;
};
PropertyMirror.prototype.getter=function(){
if(this.hasGetter()){
return MakeMirror(this.getter_);
}else{
return GetUndefinedMirror();
}
};
PropertyMirror.prototype.setter=function(){
if(this.hasSetter()){
return MakeMirror(this.setter_);
}else{
return GetUndefinedMirror();
}
};
PropertyMirror.prototype.isNative=function(){
return this.is_interceptor_||
((this.propertyType()==E.AccessorConstant)&&
!this.hasGetter()&&!this.hasSetter());
};
function InternalPropertyMirror(O,v){
%_Call(Mirror,this,q.INTERNAL_PROPERTY_TYPE);
this.name_=O;
this.value_=v;
}
inherits(InternalPropertyMirror,Mirror);
InternalPropertyMirror.prototype.name=function(){
return this.name_;
};
InternalPropertyMirror.prototype.value=function(){
return MakeMirror(this.value_,false);
};
var al=0;
var am=1;
var an=2;
var ao=3;
var ap=4;
var aq=5;
var ar=6;
var as=7;
var at=8;
var au=9;
var av=0;
var aw=1;
var ax=2;
var ay=1<<0;
var az=1<<1;
var aA=7<<2;
function FrameDetails(aB,V){
this.break_id_=aB;
this.details_=%GetFrameDetails(aB,V);
}
FrameDetails.prototype.frameId=function(){
%CheckExecutionState(this.break_id_);
return this.details_[al];
};
FrameDetails.prototype.receiver=function(){
%CheckExecutionState(this.break_id_);
return this.details_[am];
};
FrameDetails.prototype.func=function(){
%CheckExecutionState(this.break_id_);
return this.details_[an];
};
FrameDetails.prototype.isConstructCall=function(){
%CheckExecutionState(this.break_id_);
return this.details_[ar];
};
FrameDetails.prototype.isAtReturn=function(){
%CheckExecutionState(this.break_id_);
return this.details_[as];
};
FrameDetails.prototype.isDebuggerFrame=function(){
%CheckExecutionState(this.break_id_);
var aC=ay;
return(this.details_[at]&aC)==aC;
};
FrameDetails.prototype.isOptimizedFrame=function(){
%CheckExecutionState(this.break_id_);
var aC=az;
return(this.details_[at]&aC)==aC;
};
FrameDetails.prototype.isInlinedFrame=function(){
return this.inlinedFrameIndex()>0;
};
FrameDetails.prototype.inlinedFrameIndex=function(){
%CheckExecutionState(this.break_id_);
var aC=aA;
return(this.details_[at]&aC)>>2;
};
FrameDetails.prototype.argumentCount=function(){
%CheckExecutionState(this.break_id_);
return this.details_[ao];
};
FrameDetails.prototype.argumentName=function(V){
%CheckExecutionState(this.break_id_);
if(V>=0&&V<this.argumentCount()){
return this.details_[au+
V*ax+
av];
}
};
FrameDetails.prototype.argumentValue=function(V){
%CheckExecutionState(this.break_id_);
if(V>=0&&V<this.argumentCount()){
return this.details_[au+
V*ax+
aw];
}
};
FrameDetails.prototype.localCount=function(){
%CheckExecutionState(this.break_id_);
return this.details_[ap];
};
FrameDetails.prototype.sourcePosition=function(){
%CheckExecutionState(this.break_id_);
return this.details_[aq];
};
FrameDetails.prototype.localName=function(V){
%CheckExecutionState(this.break_id_);
if(V>=0&&V<this.localCount()){
var aD=au+
this.argumentCount()*ax;
return this.details_[aD+
V*ax+
av];
}
};
FrameDetails.prototype.localValue=function(V){
%CheckExecutionState(this.break_id_);
if(V>=0&&V<this.localCount()){
var aD=au+
this.argumentCount()*ax;
return this.details_[aD+
V*ax+
aw];
}
};
FrameDetails.prototype.returnValue=function(){
%CheckExecutionState(this.break_id_);
var aE=
au+
(this.argumentCount()+this.localCount())*ax;
if(this.details_[as]){
return this.details_[aE];
}
};
FrameDetails.prototype.scopeCount=function(){
if((this.scopeCount_===(void 0))){
this.scopeCount_=%GetScopeCount(this.break_id_,this.frameId());
}
return this.scopeCount_;
};
FrameDetails.prototype.stepInPositionsImpl=function(){
return %GetStepInPositions(this.break_id_,this.frameId());
};
function FrameMirror(aB,V){
%_Call(Mirror,this,q.FRAME_TYPE);
this.break_id_=aB;
this.index_=V;
this.details_=new FrameDetails(aB,V);
}
inherits(FrameMirror,Mirror);
FrameMirror.prototype.details=function(){
return this.details_;
};
FrameMirror.prototype.index=function(){
return this.index_;
};
FrameMirror.prototype.func=function(){
if(this.func_){
return this.func_;
}
var aC=this.details_.func();
if((%_IsFunction(aC))){
return this.func_=MakeMirror(aC);
}else{
return new UnresolvedFunctionMirror(aC);
}
};
FrameMirror.prototype.receiver=function(){
return MakeMirror(this.details_.receiver());
};
FrameMirror.prototype.isConstructCall=function(){
return this.details_.isConstructCall();
};
FrameMirror.prototype.isAtReturn=function(){
return this.details_.isAtReturn();
};
FrameMirror.prototype.isDebuggerFrame=function(){
return this.details_.isDebuggerFrame();
};
FrameMirror.prototype.isOptimizedFrame=function(){
return this.details_.isOptimizedFrame();
};
FrameMirror.prototype.isInlinedFrame=function(){
return this.details_.isInlinedFrame();
};
FrameMirror.prototype.inlinedFrameIndex=function(){
return this.details_.inlinedFrameIndex();
};
FrameMirror.prototype.argumentCount=function(){
return this.details_.argumentCount();
};
FrameMirror.prototype.argumentName=function(V){
return this.details_.argumentName(V);
};
FrameMirror.prototype.argumentValue=function(V){
return MakeMirror(this.details_.argumentValue(V));
};
FrameMirror.prototype.localCount=function(){
return this.details_.localCount();
};
FrameMirror.prototype.localName=function(V){
return this.details_.localName(V);
};
FrameMirror.prototype.localValue=function(V){
return MakeMirror(this.details_.localValue(V));
};
FrameMirror.prototype.returnValue=function(){
return MakeMirror(this.details_.returnValue());
};
FrameMirror.prototype.sourcePosition=function(){
return this.details_.sourcePosition();
};
FrameMirror.prototype.sourceLocation=function(){
var aF=this.func();
if(aF.resolved()){
var T=aF.script();
if(T){
return T.locationFromPosition(this.sourcePosition(),true);
}
}
};
FrameMirror.prototype.sourceLine=function(){
var aG=this.sourceLocation();
if(aG){
return aG.line;
}
};
FrameMirror.prototype.sourceColumn=function(){
var aG=this.sourceLocation();
if(aG){
return aG.column;
}
};
FrameMirror.prototype.sourceLineText=function(){
var aG=this.sourceLocation();
if(aG){
return aG.sourceText();
}
};
FrameMirror.prototype.scopeCount=function(){
return this.details_.scopeCount();
};
FrameMirror.prototype.scope=function(V){
return new ScopeMirror(this,(void 0),V);
};
FrameMirror.prototype.allScopes=function(aH){
var aI=%GetAllScopesDetails(this.break_id_,
this.details_.frameId(),
this.details_.inlinedFrameIndex(),
!!aH);
var S=[];
for(var N=0;N<aI.length;++N){
S.push(new ScopeMirror(this,(void 0),N,aI[N]));
}
return S;
};
FrameMirror.prototype.stepInPositions=function(){
var T=this.func().script();
var aJ=this.func().sourcePosition_();
var aK=this.details_.stepInPositionsImpl();
var S=[];
if(aK){
for(var N=0;N<aK.length;N++){
var aL={};
var aM=T.locationFromPosition(aJ+aK[N],
true);
serializeLocationFields(aM,aL);
var aN={
position:aL
};
S.push(aN);
}
}
return S;
};
FrameMirror.prototype.evaluate=function(source,disable_break,
opt_context_object){
return MakeMirror(%DebugEvaluate(this.break_id_,
this.details_.frameId(),
this.details_.inlinedFrameIndex(),
source,
(!!(disable_break)),
opt_context_object));
};
FrameMirror.prototype.invocationText=function(){
var S='';
var aF=this.func();
var aO=this.receiver();
if(this.isConstructCall()){
S+='new ';
S+=aF.name()?aF.name():'[anonymous]';
}else if(this.isDebuggerFrame()){
S+='[debugger]';
}else{
var aP=
!aO.className||(aO.className()!='global');
if(aP){
S+=aO.toText();
}
var Q=GetUndefinedMirror();
if(aO.isObject()){
for(var aQ=aO;
!aQ.isNull()&&Q.isUndefined();
aQ=aQ.protoObject()){
Q=aQ.lookupProperty(aF);
}
}
if(!Q.isUndefined()){
if(!Q.isIndexed()){
if(aP){
S+='.';
}
S+=Q.name();
}else{
S+='[';
S+=Q.name();
S+=']';
}
if(aF.name()&&aF.name()!=Q.name()){
S+='(aka '+aF.name()+')';
}
}else{
if(aP){
S+='.';
}
S+=aF.name()?aF.name():'[anonymous]';
}
}
if(!this.isDebuggerFrame()){
S+='(';
for(var N=0;N<this.argumentCount();N++){
if(N!=0)S+=', ';
if(this.argumentName(N)){
S+=this.argumentName(N);
S+='=';
}
S+=this.argumentValue(N).toText();
}
S+=')';
}
if(this.isAtReturn()){
S+=' returning ';
S+=this.returnValue().toText();
}
return S;
};
FrameMirror.prototype.sourceAndPositionText=function(){
var S='';
var aF=this.func();
if(aF.resolved()){
var T=aF.script();
if(T){
if(T.name()){
S+=T.name();
}else{
S+='[unnamed]';
}
if(!this.isDebuggerFrame()){
var aG=this.sourceLocation();
S+=' line ';
S+=!(aG===(void 0))?(aG.line+1):'?';
S+=' column ';
S+=!(aG===(void 0))?(aG.column+1):'?';
if(!(this.sourcePosition()===(void 0))){
S+=' (position '+(this.sourcePosition()+1)+')';
}
}
}else{
S+='[no source]';
}
}else{
S+='[unresolved]';
}
return S;
};
FrameMirror.prototype.localsText=function(){
var S='';
var aR=this.localCount();
if(aR>0){
for(var N=0;N<aR;++N){
S+='      var ';
S+=this.localName(N);
S+=' = ';
S+=this.localValue(N).toText();
if(N<aR-1)S+='\n';
}
}
return S;
};
FrameMirror.prototype.restart=function(){
var S=%LiveEditRestartFrame(this.break_id_,this.index_);
if((S===(void 0))){
S="Failed to find requested frame";
}
return S;
};
FrameMirror.prototype.toText=function(aS){
var S='';
S+='#'+(this.index()<=9?'0':'')+this.index();
S+=' ';
S+=this.invocationText();
S+=' ';
S+=this.sourceAndPositionText();
if(aS){
S+='\n';
S+=this.localsText();
}
return S;
};
var aT=0;
var aU=1;
var aV=2;
function ScopeDetails(aW,aX,V,aY){
if(aW){
this.break_id_=aW.break_id_;
this.details_=aY||
%GetScopeDetails(aW.break_id_,
aW.details_.frameId(),
aW.details_.inlinedFrameIndex(),
V);
this.frame_id_=aW.details_.frameId();
this.inlined_frame_id_=aW.details_.inlinedFrameIndex();
}else{
this.details_=aY||%GetFunctionScopeDetails(aX.value(),V);
this.fun_value_=aX.value();
this.break_id_=(void 0);
}
this.index_=V;
}
ScopeDetails.prototype.type=function(){
if(!(this.break_id_===(void 0))){
%CheckExecutionState(this.break_id_);
}
return this.details_[aT];
};
ScopeDetails.prototype.object=function(){
if(!(this.break_id_===(void 0))){
%CheckExecutionState(this.break_id_);
}
return this.details_[aU];
};
ScopeDetails.prototype.name=function(){
if(!(this.break_id_===(void 0))){
%CheckExecutionState(this.break_id_);
}
return this.details_[aV];
};
ScopeDetails.prototype.setVariableValueImpl=function(O,aZ){
var ba;
if(!(this.break_id_===(void 0))){
%CheckExecutionState(this.break_id_);
ba=%SetScopeVariableValue(this.break_id_,this.frame_id_,
this.inlined_frame_id_,this.index_,O,aZ);
}else{
ba=%SetScopeVariableValue(this.fun_value_,null,null,this.index_,
O,aZ);
}
if(!ba)throw g(2,"Failed to set variable value");
};
function ScopeMirror(aW,aX,V,aY){
%_Call(Mirror,this,q.SCOPE_TYPE);
if(aW){
this.frame_index_=aW.index_;
}else{
this.frame_index_=(void 0);
}
this.scope_index_=V;
this.details_=new ScopeDetails(aW,aX,V,aY);
}
inherits(ScopeMirror,Mirror);
ScopeMirror.prototype.details=function(){
return this.details_;
};
ScopeMirror.prototype.frameIndex=function(){
return this.frame_index_;
};
ScopeMirror.prototype.scopeIndex=function(){
return this.scope_index_;
};
ScopeMirror.prototype.scopeType=function(){
return this.details_.type();
};
ScopeMirror.prototype.scopeObject=function(){
var I=this.scopeType()==G.Local||
this.scopeType()==G.Closure||
this.scopeType()==G.Script;
return MakeMirror(this.details_.object(),I);
};
ScopeMirror.prototype.setVariableValue=function(O,aZ){
this.details_.setVariableValueImpl(O,aZ);
};
function ScriptMirror(T){
%_Call(Mirror,this,q.SCRIPT_TYPE);
this.script_=T;
this.context_=new ContextMirror(T.context_data);
this.allocateHandle_();
}
inherits(ScriptMirror,Mirror);
ScriptMirror.prototype.value=function(){
return this.script_;
};
ScriptMirror.prototype.name=function(){
return this.script_.name||this.script_.nameOrSourceURL();
};
ScriptMirror.prototype.id=function(){
return this.script_.id;
};
ScriptMirror.prototype.source=function(){
return this.script_.source;
};
ScriptMirror.prototype.setSource=function(bb){
%DebugSetScriptSource(this.script_,bb);
};
ScriptMirror.prototype.lineOffset=function(){
return this.script_.line_offset;
};
ScriptMirror.prototype.columnOffset=function(){
return this.script_.column_offset;
};
ScriptMirror.prototype.data=function(){
return this.script_.data;
};
ScriptMirror.prototype.scriptType=function(){
return this.script_.type;
};
ScriptMirror.prototype.compilationType=function(){
return this.script_.compilation_type;
};
ScriptMirror.prototype.lineCount=function(){
return this.script_.lineCount();
};
ScriptMirror.prototype.locationFromPosition=function(
position,include_resource_offset){
return this.script_.locationFromPosition(position,include_resource_offset);
};
ScriptMirror.prototype.sourceSlice=function(bc,bd){
return this.script_.sourceSlice(bc,bd);
};
ScriptMirror.prototype.context=function(){
return this.context_;
};
ScriptMirror.prototype.evalFromScript=function(){
return MakeMirror(this.script_.eval_from_script);
};
ScriptMirror.prototype.evalFromFunctionName=function(){
return MakeMirror(this.script_.eval_from_function_name);
};
ScriptMirror.prototype.evalFromLocation=function(){
var be=this.evalFromScript();
if(!be.isUndefined()){
var bf=this.script_.eval_from_script_position;
return be.locationFromPosition(bf,true);
}
};
ScriptMirror.prototype.toText=function(){
var S='';
S+=this.name();
S+=' (lines: ';
if(this.lineOffset()>0){
S+=this.lineOffset();
S+='-';
S+=this.lineOffset()+this.lineCount()-1;
}else{
S+=this.lineCount();
}
S+=')';
return S;
};
function ContextMirror(bg){
%_Call(Mirror,this,q.CONTEXT_TYPE);
this.data_=bg;
this.allocateHandle_();
}
inherits(ContextMirror,Mirror);
ContextMirror.prototype.data=function(){
return this.data_;
};
function MakeMirrorSerializer(P,bh){
return new JSONProtocolSerializer(P,bh);
}
function JSONProtocolSerializer(P,bh){
this.details_=P;
this.options_=bh;
this.mirrors_=[];
}
JSONProtocolSerializer.prototype.serializeReference=function(x){
return this.serialize_(x,true,true);
};
JSONProtocolSerializer.prototype.serializeValue=function(x){
var bi=this.serialize_(x,false,true);
return bi;
};
JSONProtocolSerializer.prototype.serializeReferencedObjects=function(){
var bj=[];
var bk=this.mirrors_.length;
for(var N=0;N<bk;N++){
bj.push(this.serialize_(this.mirrors_[N],false,false));
}
return bj;
};
JSONProtocolSerializer.prototype.includeSource_=function(){
return this.options_&&this.options_.includeSource;
};
JSONProtocolSerializer.prototype.inlineRefs_=function(){
return this.options_&&this.options_.inlineRefs;
};
JSONProtocolSerializer.prototype.maxStringLength_=function(){
if((this.options_===(void 0))||
(this.options_.maxStringLength===(void 0))){
return D;
}
return this.options_.maxStringLength;
};
JSONProtocolSerializer.prototype.add_=function(x){
for(var N=0;N<this.mirrors_.length;N++){
if(this.mirrors_[N]===x){
return;
}
}
this.mirrors_.push(x);
};
JSONProtocolSerializer.prototype.serializeReferenceWithDisplayData_=
function(x){
var bl={};
bl.ref=x.handle();
bl.type=x.type();
switch(x.type()){
case q.UNDEFINED_TYPE:
case q.NULL_TYPE:
case q.BOOLEAN_TYPE:
case q.NUMBER_TYPE:
bl.value=x.value();
break;
case q.STRING_TYPE:
bl.value=x.getTruncatedValue(this.maxStringLength_());
break;
case q.SYMBOL_TYPE:
bl.description=x.description();
break;
case q.FUNCTION_TYPE:
bl.name=x.name();
bl.inferredName=x.inferredName();
if(x.script()){
bl.scriptId=x.script().id();
}
break;
case q.ERROR_TYPE:
case q.REGEXP_TYPE:
bl.value=x.toText();
break;
case q.OBJECT_TYPE:
bl.className=x.className();
break;
}
return bl;
};
JSONProtocolSerializer.prototype.serialize_=function(x,reference,
P){
if(reference&&
(x.isValue()||x.isScript()||x.isContext())){
if(this.inlineRefs_()&&x.isValue()){
return this.serializeReferenceWithDisplayData_(x);
}else{
this.add_(x);
return{'ref':x.handle()};
}
}
var bj={};
if(x.isValue()||x.isScript()||x.isContext()){
bj.handle=x.handle();
}
bj.type=x.type();
switch(x.type()){
case q.UNDEFINED_TYPE:
case q.NULL_TYPE:
break;
case q.BOOLEAN_TYPE:
bj.value=x.value();
break;
case q.NUMBER_TYPE:
bj.value=NumberToJSON_(x.value());
break;
case q.STRING_TYPE:
if(this.maxStringLength_()!=-1&&
x.length()>this.maxStringLength_()){
var bm=x.getTruncatedValue(this.maxStringLength_());
bj.value=bm;
bj.fromIndex=0;
bj.toIndex=this.maxStringLength_();
}else{
bj.value=x.value();
}
bj.length=x.length();
break;
case q.SYMBOL_TYPE:
bj.description=x.description();
break;
case q.OBJECT_TYPE:
case q.FUNCTION_TYPE:
case q.ERROR_TYPE:
case q.REGEXP_TYPE:
case q.PROMISE_TYPE:
case q.GENERATOR_TYPE:
this.serializeObject_(x,bj,P);
break;
case q.PROPERTY_TYPE:
case q.INTERNAL_PROPERTY_TYPE:
throw g(2,
'PropertyMirror cannot be serialized independently');
break;
case q.FRAME_TYPE:
this.serializeFrame_(x,bj);
break;
case q.SCOPE_TYPE:
this.serializeScope_(x,bj);
break;
case q.SCRIPT_TYPE:
if(x.name()){
bj.name=x.name();
}
bj.id=x.id();
bj.lineOffset=x.lineOffset();
bj.columnOffset=x.columnOffset();
bj.lineCount=x.lineCount();
if(x.data()){
bj.data=x.data();
}
if(this.includeSource_()){
bj.source=x.source();
}else{
var bn=x.source().substring(0,80);
bj.sourceStart=bn;
}
bj.sourceLength=x.source().length;
bj.scriptType=x.scriptType();
bj.compilationType=x.compilationType();
if(x.compilationType()==1&&
x.evalFromScript()){
bj.evalFromScript=
this.serializeReference(x.evalFromScript());
var bo=x.evalFromLocation();
if(bo){
bj.evalFromLocation={line:bo.line,
column:bo.column};
}
if(x.evalFromFunctionName()){
bj.evalFromFunctionName=x.evalFromFunctionName();
}
}
if(x.context()){
bj.context=this.serializeReference(x.context());
}
break;
case q.CONTEXT_TYPE:
bj.data=x.data();
break;
}
bj.text=x.toText();
return bj;
};
JSONProtocolSerializer.prototype.serializeObject_=function(x,bj,
P){
bj.className=x.className();
bj.constructorFunction=
this.serializeReference(x.constructorFunction());
bj.protoObject=this.serializeReference(x.protoObject());
bj.prototypeObject=this.serializeReference(x.prototypeObject());
if(x.hasNamedInterceptor()){
bj.namedInterceptor=true;
}
if(x.hasIndexedInterceptor()){
bj.indexedInterceptor=true;
}
if(x.isFunction()){
bj.name=x.name();
if(!(x.inferredName()===(void 0))){
bj.inferredName=x.inferredName();
}
bj.resolved=x.resolved();
if(x.resolved()){
bj.source=x.source();
}
if(x.script()){
bj.script=this.serializeReference(x.script());
bj.scriptId=x.script().id();
serializeLocationFields(x.sourceLocation(),bj);
}
bj.scopes=[];
for(var N=0;N<x.scopeCount();N++){
var bp=x.scope(N);
bj.scopes.push({
type:bp.scopeType(),
index:N
});
}
}
if(x.isGenerator()){
bj.status=x.status();
bj.func=this.serializeReference(x.func())
bj.receiver=this.serializeReference(x.receiver())
serializeLocationFields(x.sourceLocation(),bj);
}
if(x.isDate()){
bj.value=x.value();
}
if(x.isPromise()){
bj.status=x.status();
bj.promiseValue=this.serializeReference(x.promiseValue());
}
var M=x.propertyNames();
for(var N=0;N<M.length;N++){
var bq=x.property(M[N]);
M[N]=this.serializeProperty_(bq);
if(P){
this.add_(bq.value());
}
}
bj.properties=M;
var br=x.internalProperties();
if(br.length>0){
var bs=[];
for(var N=0;N<br.length;N++){
bs.push(this.serializeInternalProperty_(br[N]));
}
bj.internalProperties=bs;
}
};
function serializeLocationFields(aG,bj){
if(!aG){
return;
}
bj.position=aG.position;
var bt=aG.line;
if(!(bt===(void 0))){
bj.line=bt;
}
var bu=aG.column;
if(!(bu===(void 0))){
bj.column=bu;
}
}
JSONProtocolSerializer.prototype.serializeProperty_=function(bq){
var S={};
S.name=bq.name();
var bv=bq.value();
if(this.inlineRefs_()&&bv.isValue()){
S.value=this.serializeReferenceWithDisplayData_(bv);
}else{
if(bq.attributes()!=F.None){
S.attributes=bq.attributes();
}
S.propertyType=bq.propertyType();
S.ref=bv.handle();
}
return S;
};
JSONProtocolSerializer.prototype.serializeInternalProperty_=
function(bq){
var S={};
S.name=bq.name();
var bv=bq.value();
if(this.inlineRefs_()&&bv.isValue()){
S.value=this.serializeReferenceWithDisplayData_(bv);
}else{
S.ref=bv.handle();
}
return S;
};
JSONProtocolSerializer.prototype.serializeFrame_=function(x,bj){
bj.index=x.index();
bj.receiver=this.serializeReference(x.receiver());
var aF=x.func();
bj.func=this.serializeReference(aF);
var T=aF.script();
if(T){
bj.script=this.serializeReference(T);
}
bj.constructCall=x.isConstructCall();
bj.atReturn=x.isAtReturn();
if(x.isAtReturn()){
bj.returnValue=this.serializeReference(x.returnValue());
}
bj.debuggerFrame=x.isDebuggerFrame();
var K=new d(x.argumentCount());
for(var N=0;N<x.argumentCount();N++){
var bw={};
var bx=x.argumentName(N);
if(bx){
bw.name=bx;
}
bw.value=this.serializeReference(x.argumentValue(N));
K[N]=bw;
}
bj.arguments=K;
var K=new d(x.localCount());
for(var N=0;N<x.localCount();N++){
var by={};
by.name=x.localName(N);
by.value=this.serializeReference(x.localValue(N));
K[N]=by;
}
bj.locals=K;
serializeLocationFields(x.sourceLocation(),bj);
var bz=x.sourceLineText();
if(!(bz===(void 0))){
bj.sourceLineText=bz;
}
bj.scopes=[];
for(var N=0;N<x.scopeCount();N++){
var bp=x.scope(N);
bj.scopes.push({
type:bp.scopeType(),
index:N
});
}
};
JSONProtocolSerializer.prototype.serializeScope_=function(x,bj){
bj.index=x.scopeIndex();
bj.frameIndex=x.frameIndex();
bj.type=x.scopeType();
bj.object=this.inlineRefs_()?
this.serializeValue(x.scopeObject()):
this.serializeReference(x.scopeObject());
};
function NumberToJSON_(v){
if(e(v)){
return'NaN';
}
if(!(%_IsSmi(%IS_VAR(v))||((v==v)&&(v!=1/0)&&(v!=-1/0)))){
if(v>0){
return'Infinity';
}else{
return'-Infinity';
}
}
return v;
}
b.InstallFunctions(a,2,[
"MakeMirror",MakeMirror,
"MakeMirrorSerializer",MakeMirrorSerializer,
"LookupMirror",LookupMirror,
"ToggleMirrorCache",ToggleMirrorCache,
"MirrorCacheIsEmpty",MirrorCacheIsEmpty,
]);
b.InstallConstants(a,[
"ScopeType",G,
"PropertyType",E,
"PropertyAttribute",F,
"Mirror",Mirror,
"ValueMirror",ValueMirror,
"UndefinedMirror",UndefinedMirror,
"NullMirror",NullMirror,
"BooleanMirror",BooleanMirror,
"NumberMirror",NumberMirror,
"StringMirror",StringMirror,
"SymbolMirror",SymbolMirror,
"ObjectMirror",ObjectMirror,
"FunctionMirror",FunctionMirror,
"UnresolvedFunctionMirror",UnresolvedFunctionMirror,
"ArrayMirror",ArrayMirror,
"DateMirror",DateMirror,
"RegExpMirror",RegExpMirror,
"ErrorMirror",ErrorMirror,
"PromiseMirror",PromiseMirror,
"MapMirror",MapMirror,
"SetMirror",SetMirror,
"IteratorMirror",IteratorMirror,
"GeneratorMirror",GeneratorMirror,
"PropertyMirror",PropertyMirror,
"InternalPropertyMirror",InternalPropertyMirror,
"FrameMirror",FrameMirror,
"ScriptMirror",ScriptMirror,
"ScopeMirror",ScopeMirror,
"FrameDetails",FrameDetails,
]);
b.InstallFunctions(b,2,[
"ClearMirrorCache",ClearMirrorCache
]);
b.Export(function(bA){
bA.MirrorType=q;
});
})

debugNƒ
(function(a,b){
"use strict";
var c=a.FrameMirror;
var d=a.Array;
var e=a.RegExp;
var f=a.isNaN;
var g=a.JSON.parse;
var h=a.JSON.stringify;
var i=a.LookupMirror;
var j;
var k;
var l=a.MakeMirror;
var m=a.MakeMirrorSerializer;
var n=a.Math.min;
var o=a.Mirror;
var p;
var q=a.parseInt;
var r=a.ValueMirror;
b.Import(function(s){
j=s.MakeError;
k=s.MakeTypeError;
p=s.MirrorType;
});
var t=10;
var u={};
var v=/^(?:\s*(?:\/\*.*?\*\/)*)*/;
u.DebugEvent={Break:1,
Exception:2,
NewFunction:3,
BeforeCompile:4,
AfterCompile:5,
CompileError:6,
PromiseEvent:7,
AsyncTaskEvent:8};
u.ExceptionBreak={Caught:0,
Uncaught:1};
u.StepAction={StepOut:0,
StepNext:1,
StepIn:2,
StepFrame:3};
u.ScriptType={Native:0,
Extension:1,
Normal:2};
u.ScriptCompilationType={Host:0,
Eval:1,
JSON:2};
u.ScriptBreakPointType={ScriptId:0,
ScriptName:1,
ScriptRegExp:2};
u.BreakPositionAlignment={
Statement:0,
BreakPosition:1
};
function ScriptTypeFlag(w){
return(1<<w);
}
var x=0;
var y=1;
var z=[];
var A=[];
var B={
breakPointsActive:{
value:true,
getValue:function(){return this.value;},
setValue:function(C){
this.value=!!C;
%SetBreakPointsActive(this.value);
}
},
breakOnCaughtException:{
getValue:function(){return u.isBreakOnException();},
setValue:function(C){
if(C){
u.setBreakOnException();
}else{
u.clearBreakOnException();
}
}
},
breakOnUncaughtException:{
getValue:function(){return u.isBreakOnUncaughtException();},
setValue:function(C){
if(C){
u.setBreakOnUncaughtException();
}else{
u.clearBreakOnUncaughtException();
}
}
},
};
function MakeBreakPoint(D,E){
var F=new BreakPoint(D,E);
z.push(F);
return F;
}
function BreakPoint(D,E){
this.source_position_=D;
if(E){
this.script_break_point_=E;
}else{
this.number_=y++;
}
this.hit_count_=0;
this.active_=true;
this.condition_=null;
this.ignoreCount_=0;
}
BreakPoint.prototype.number=function(){
return this.number_;
};
BreakPoint.prototype.func=function(){
return this.func_;
};
BreakPoint.prototype.source_position=function(){
return this.source_position_;
};
BreakPoint.prototype.hit_count=function(){
return this.hit_count_;
};
BreakPoint.prototype.active=function(){
if(this.script_break_point()){
return this.script_break_point().active();
}
return this.active_;
};
BreakPoint.prototype.condition=function(){
if(this.script_break_point()&&this.script_break_point().condition()){
return this.script_break_point().condition();
}
return this.condition_;
};
BreakPoint.prototype.ignoreCount=function(){
return this.ignoreCount_;
};
BreakPoint.prototype.script_break_point=function(){
return this.script_break_point_;
};
BreakPoint.prototype.enable=function(){
this.active_=true;
};
BreakPoint.prototype.disable=function(){
this.active_=false;
};
BreakPoint.prototype.setCondition=function(G){
this.condition_=G;
};
BreakPoint.prototype.setIgnoreCount=function(H){
this.ignoreCount_=H;
};
BreakPoint.prototype.isTriggered=function(I){
if(!this.active())return false;
if(this.condition()){
try{
var J=I.frame(0).evaluate(this.condition());
if(!(J instanceof r)||!J.value_){
return false;
}
}catch(e){
return false;
}
}
this.hit_count_++;
if(this.script_break_point_){
this.script_break_point_.hit_count_++;
}
if(this.ignoreCount_>0){
this.ignoreCount_--;
return false;
}
return true;
};
function IsBreakPointTriggered(K,F){
return F.isTriggered(MakeExecutionState(K));
}
function ScriptBreakPoint(w,script_id_or_name,opt_line,opt_column,
opt_groupId,opt_position_alignment){
this.type_=w;
if(w==u.ScriptBreakPointType.ScriptId){
this.script_id_=script_id_or_name;
}else if(w==u.ScriptBreakPointType.ScriptName){
this.script_name_=script_id_or_name;
}else if(w==u.ScriptBreakPointType.ScriptRegExp){
this.script_regexp_object_=new e(script_id_or_name);
}else{
throw j(2,"Unexpected breakpoint type "+w);
}
this.line_=opt_line||0;
this.column_=opt_column;
this.groupId_=opt_groupId;
this.position_alignment_=(opt_position_alignment===(void 0))
?u.BreakPositionAlignment.Statement:opt_position_alignment;
this.hit_count_=0;
this.active_=true;
this.condition_=null;
this.ignoreCount_=0;
this.break_points_=[];
}
ScriptBreakPoint.prototype.cloneForOtherScript=function(L){
var M=new ScriptBreakPoint(u.ScriptBreakPointType.ScriptId,
L.id,this.line_,this.column_,this.groupId_,
this.position_alignment_);
M.number_=y++;
A.push(M);
M.hit_count_=this.hit_count_;
M.active_=this.active_;
M.condition_=this.condition_;
M.ignoreCount_=this.ignoreCount_;
return M;
};
ScriptBreakPoint.prototype.number=function(){
return this.number_;
};
ScriptBreakPoint.prototype.groupId=function(){
return this.groupId_;
};
ScriptBreakPoint.prototype.type=function(){
return this.type_;
};
ScriptBreakPoint.prototype.script_id=function(){
return this.script_id_;
};
ScriptBreakPoint.prototype.script_name=function(){
return this.script_name_;
};
ScriptBreakPoint.prototype.script_regexp_object=function(){
return this.script_regexp_object_;
};
ScriptBreakPoint.prototype.line=function(){
return this.line_;
};
ScriptBreakPoint.prototype.column=function(){
return this.column_;
};
ScriptBreakPoint.prototype.actual_locations=function(){
var N=[];
for(var O=0;O<this.break_points_.length;O++){
N.push(this.break_points_[O].actual_location);
}
return N;
};
ScriptBreakPoint.prototype.update_positions=function(P,Q){
this.line_=P;
this.column_=Q;
};
ScriptBreakPoint.prototype.hit_count=function(){
return this.hit_count_;
};
ScriptBreakPoint.prototype.active=function(){
return this.active_;
};
ScriptBreakPoint.prototype.condition=function(){
return this.condition_;
};
ScriptBreakPoint.prototype.ignoreCount=function(){
return this.ignoreCount_;
};
ScriptBreakPoint.prototype.enable=function(){
this.active_=true;
};
ScriptBreakPoint.prototype.disable=function(){
this.active_=false;
};
ScriptBreakPoint.prototype.setCondition=function(G){
this.condition_=G;
};
ScriptBreakPoint.prototype.setIgnoreCount=function(H){
this.ignoreCount_=H;
for(var O=0;O<this.break_points_.length;O++){
this.break_points_[O].setIgnoreCount(H);
}
};
ScriptBreakPoint.prototype.matchesScript=function(R){
if(this.type_==u.ScriptBreakPointType.ScriptId){
return this.script_id_==R.id;
}else{
if(!(R.line_offset<=this.line_&&
this.line_<R.line_offset+R.lineCount())){
return false;
}
if(this.type_==u.ScriptBreakPointType.ScriptName){
return this.script_name_==R.nameOrSourceURL();
}else if(this.type_==u.ScriptBreakPointType.ScriptRegExp){
return this.script_regexp_object_.test(R.nameOrSourceURL());
}else{
throw j(2,"Unexpected breakpoint type "+this.type_);
}
}
};
ScriptBreakPoint.prototype.set=function(R){
var Q=this.column();
var P=this.line();
if((Q===(void 0))){
var S=R.sourceLine(this.line());
if(!R.sourceColumnStart_){
R.sourceColumnStart_=new d(R.lineCount());
}
if((R.sourceColumnStart_[P]===(void 0))){
R.sourceColumnStart_[P]=
S.match(v)[0].length;
}
Q=R.sourceColumnStart_[P];
}
var T=u.findScriptSourcePosition(R,this.line(),Q);
if((T===null))return;
var F=MakeBreakPoint(T,this);
F.setIgnoreCount(this.ignoreCount());
var U=%SetScriptBreakPoint(R,T,
this.position_alignment_,
F);
if((U===(void 0))){
U=T;
}
var V=R.locationFromPosition(U,true);
F.actual_location={line:V.line,
column:V.column,
script_id:R.id};
this.break_points_.push(F);
return F;
};
ScriptBreakPoint.prototype.clear=function(){
var W=[];
for(var O=0;O<z.length;O++){
if(z[O].script_break_point()&&
z[O].script_break_point()===this){
%ClearBreakPoint(z[O]);
}else{
W.push(z[O]);
}
}
z=W;
this.break_points_=[];
};
function UpdateScriptBreakPoints(R){
for(var O=0;O<A.length;O++){
var F=A[O];
if((F.type()==u.ScriptBreakPointType.ScriptName||
F.type()==u.ScriptBreakPointType.ScriptRegExp)&&
F.matchesScript(R)){
F.set(R);
}
}
}
function GetScriptBreakPoints(R){
var X=[];
for(var O=0;O<A.length;O++){
if(A[O].matchesScript(R)){
X.push(A[O]);
}
}
return X;
}
u.setListener=function(Y,Z){
if(!(%_IsFunction(Y))&&!(Y===(void 0))&&!(Y===null)){
throw k(32);
}
%SetDebugEventListener(Y,Z);
};
u.breakLocations=function(aa,ab){
if(!(%_IsFunction(aa)))throw k(32);
var ac=(ab===(void 0))
?u.BreakPositionAlignment.Statement:ab;
return %GetBreakLocations(aa,ac);
};
u.findScript=function(ad){
if((%_IsFunction(ad))){
return %FunctionGetScript(ad);
}else if((%_IsRegExp(ad))){
var ae=u.scripts();
var af=null;
var ag=0;
for(var O in ae){
var R=ae[O];
if(ad.test(R.name)){
af=R;
ag++;
}
}
if(ag==1){
return af;
}else{
return(void 0);
}
}else{
return %GetScript(ad);
}
};
u.scriptSource=function(ad){
return this.findScript(ad).source;
};
u.source=function(aa){
if(!(%_IsFunction(aa)))throw k(32);
return %FunctionGetSourceCode(aa);
};
u.sourcePosition=function(aa){
if(!(%_IsFunction(aa)))throw k(32);
return %FunctionGetScriptSourcePosition(aa);
};
u.findFunctionSourceLocation=function(ah,ai,aj){
var R=%FunctionGetScript(ah);
var ak=%FunctionGetScriptSourcePosition(ah);
return R.locationFromLine(ai,aj,ak);
};
u.findScriptSourcePosition=function(R,ai,aj){
var al=R.locationFromLine(ai,aj);
return al?al.position:null;
};
u.findBreakPoint=function(am,an){
var F;
for(var O=0;O<z.length;O++){
if(z[O].number()==am){
F=z[O];
if(an){
z.splice(O,1);
}
break;
}
}
if(F){
return F;
}else{
return this.findScriptBreakPoint(am,an);
}
};
u.findBreakPointActualLocations=function(am){
for(var O=0;O<A.length;O++){
if(A[O].number()==am){
return A[O].actual_locations();
}
}
for(var O=0;O<z.length;O++){
if(z[O].number()==am){
return[z[O].actual_location];
}
}
return[];
};
u.setBreakPoint=function(ah,ai,aj,ao){
if(!(%_IsFunction(ah)))throw k(32);
if(%FunctionIsAPIFunction(ah)){
throw j(2,'Cannot set break point in native code.');
}
var ap=
this.findFunctionSourceLocation(ah,ai,aj).position;
var D=ap-this.sourcePosition(ah);
var R=%FunctionGetScript(ah);
if(R.type==u.ScriptType.Native){
throw j(2,'Cannot set break point in native code.');
}
if(R&&R.id){
D+=%FunctionGetScriptSourcePosition(ah);
var al=R.locationFromPosition(D,false);
return this.setScriptBreakPointById(R.id,
al.line,al.column,
ao);
}else{
var F=MakeBreakPoint(D);
var U=
%SetFunctionBreakPoint(ah,D,F);
U+=this.sourcePosition(ah);
var V=R.locationFromPosition(U,true);
F.actual_location={line:V.line,
column:V.column,
script_id:R.id};
F.setCondition(ao);
return F.number();
}
};
u.setBreakPointByScriptIdAndPosition=function(script_id,T,
G,enabled,
opt_position_alignment)
{
var F=MakeBreakPoint(T);
F.setCondition(G);
if(!enabled){
F.disable();
}
var ae=this.scripts();
var aq=(opt_position_alignment===(void 0))
?u.BreakPositionAlignment.Statement:opt_position_alignment;
for(var O=0;O<ae.length;O++){
if(script_id==ae[O].id){
F.actual_position=%SetScriptBreakPoint(ae[O],T,
aq,F);
break;
}
}
return F;
};
u.enableBreakPoint=function(am){
var F=this.findBreakPoint(am,false);
if(F){
F.enable();
}
};
u.disableBreakPoint=function(am){
var F=this.findBreakPoint(am,false);
if(F){
F.disable();
}
};
u.changeBreakPointCondition=function(am,G){
var F=this.findBreakPoint(am,false);
F.setCondition(G);
};
u.changeBreakPointIgnoreCount=function(am,H){
if(H<0)throw j(2,'Invalid argument');
var F=this.findBreakPoint(am,false);
F.setIgnoreCount(H);
};
u.clearBreakPoint=function(am){
var F=this.findBreakPoint(am,true);
if(F){
return %ClearBreakPoint(F);
}else{
F=this.findScriptBreakPoint(am,true);
if(!F)throw j(2,'Invalid breakpoint');
}
};
u.clearAllBreakPoints=function(){
for(var O=0;O<z.length;O++){
var F=z[O];
%ClearBreakPoint(F);
}
z=[];
};
u.disableAllBreakPoints=function(){
for(var O=1;O<y;O++){
u.disableBreakPoint(O);
}
%ChangeBreakOnException(u.ExceptionBreak.Caught,false);
%ChangeBreakOnException(u.ExceptionBreak.Uncaught,false);
};
u.findScriptBreakPoint=function(am,an){
var ar;
for(var O=0;O<A.length;O++){
if(A[O].number()==am){
ar=A[O];
if(an){
ar.clear();
A.splice(O,1);
}
break;
}
}
return ar;
};
u.setScriptBreakPoint=function(w,script_id_or_name,
ai,aj,ao,
opt_groupId,opt_position_alignment){
var ar=
new ScriptBreakPoint(w,script_id_or_name,ai,aj,
opt_groupId,opt_position_alignment);
ar.number_=y++;
ar.setCondition(ao);
A.push(ar);
var ae=this.scripts();
for(var O=0;O<ae.length;O++){
if(ar.matchesScript(ae[O])){
ar.set(ae[O]);
}
}
return ar.number();
};
u.setScriptBreakPointById=function(script_id,
ai,aj,
ao,opt_groupId,
opt_position_alignment){
return this.setScriptBreakPoint(u.ScriptBreakPointType.ScriptId,
script_id,ai,aj,
ao,opt_groupId,
opt_position_alignment);
};
u.setScriptBreakPointByName=function(script_name,
ai,aj,
ao,opt_groupId){
return this.setScriptBreakPoint(u.ScriptBreakPointType.ScriptName,
script_name,ai,aj,
ao,opt_groupId);
};
u.setScriptBreakPointByRegExp=function(script_regexp,
ai,aj,
ao,opt_groupId){
return this.setScriptBreakPoint(u.ScriptBreakPointType.ScriptRegExp,
script_regexp,ai,aj,
ao,opt_groupId);
};
u.enableScriptBreakPoint=function(am){
var ar=this.findScriptBreakPoint(am,false);
ar.enable();
};
u.disableScriptBreakPoint=function(am){
var ar=this.findScriptBreakPoint(am,false);
ar.disable();
};
u.changeScriptBreakPointCondition=function(
am,G){
var ar=this.findScriptBreakPoint(am,false);
ar.setCondition(G);
};
u.changeScriptBreakPointIgnoreCount=function(
am,H){
if(H<0)throw j(2,'Invalid argument');
var ar=this.findScriptBreakPoint(am,false);
ar.setIgnoreCount(H);
};
u.scriptBreakPoints=function(){
return A;
};
u.clearStepping=function(){
%ClearStepping();
};
u.setBreakOnException=function(){
return %ChangeBreakOnException(u.ExceptionBreak.Caught,true);
};
u.clearBreakOnException=function(){
return %ChangeBreakOnException(u.ExceptionBreak.Caught,false);
};
u.isBreakOnException=function(){
return!!%IsBreakOnException(u.ExceptionBreak.Caught);
};
u.setBreakOnUncaughtException=function(){
return %ChangeBreakOnException(u.ExceptionBreak.Uncaught,true);
};
u.clearBreakOnUncaughtException=function(){
return %ChangeBreakOnException(u.ExceptionBreak.Uncaught,false);
};
u.isBreakOnUncaughtException=function(){
return!!%IsBreakOnException(u.ExceptionBreak.Uncaught);
};
u.showBreakPoints=function(aa,as,at){
if(!(%_IsFunction(aa)))throw j(32);
var au=as?this.scriptSource(aa):this.source(aa);
var av=as?this.sourcePosition(aa):0;
var N=this.breakLocations(aa,at);
if(!N)return au;
N.sort(function(aw,ax){return aw-ax;});
var X="";
var ay=0;
var az;
for(var O=0;O<N.length;O++){
az=N[O]-av;
X+=au.slice(ay,az);
X+="[B"+O+"]";
ay=az;
}
az=au.length;
X+=au.substring(ay,az);
return X;
};
u.scripts=function(){
return %DebugGetLoadedScripts();
};
u.debuggerFlags=function(){
return B;
};
u.MakeMirror=l;
function MakeExecutionState(K){
return new ExecutionState(K);
}
function ExecutionState(K){
this.break_id=K;
this.selected_frame=0;
}
ExecutionState.prototype.prepareStep=function(aA){
if(aA===u.StepAction.StepIn||
aA===u.StepAction.StepOut||
aA===u.StepAction.StepNext||
aA===u.StepAction.StepFrame){
return %PrepareStep(this.break_id,aA);
}
throw k(32);
};
ExecutionState.prototype.evaluateGlobal=function(au,disable_break,
opt_additional_context){
return l(%DebugEvaluateGlobal(this.break_id,au,
(!!(disable_break)),
opt_additional_context));
};
ExecutionState.prototype.frameCount=function(){
return %GetFrameCount(this.break_id);
};
ExecutionState.prototype.threadCount=function(){
return %GetThreadCount(this.break_id);
};
ExecutionState.prototype.frame=function(aB){
if(aB==null)aB=this.selected_frame;
if(aB<0||aB>=this.frameCount()){
throw k(31);
}
return new c(this.break_id,aB);
};
ExecutionState.prototype.setSelectedFrame=function(aC){
var O=(%_ToNumber(aC));
if(O<0||O>=this.frameCount()){
throw k(31);
}
this.selected_frame=O;
};
ExecutionState.prototype.selectedFrame=function(){
return this.selected_frame;
};
ExecutionState.prototype.debugCommandProcessor=function(aD){
return new DebugCommandProcessor(this,aD);
};
function MakeBreakEvent(K,aE){
return new BreakEvent(K,aE);
}
function BreakEvent(K,aE){
this.frame_=new c(K,0);
this.break_points_hit_=aE;
}
BreakEvent.prototype.eventType=function(){
return u.DebugEvent.Break;
};
BreakEvent.prototype.func=function(){
return this.frame_.func();
};
BreakEvent.prototype.sourceLine=function(){
return this.frame_.sourceLine();
};
BreakEvent.prototype.sourceColumn=function(){
return this.frame_.sourceColumn();
};
BreakEvent.prototype.sourceLineText=function(){
return this.frame_.sourceLineText();
};
BreakEvent.prototype.breakPointsHit=function(){
return this.break_points_hit_;
};
BreakEvent.prototype.toJSONProtocol=function(){
var aF={seq:x++,
type:"event",
event:"break",
body:{invocationText:this.frame_.invocationText()}
};
var R=this.func().script();
if(R){
aF.body.sourceLine=this.sourceLine(),
aF.body.sourceColumn=this.sourceColumn(),
aF.body.sourceLineText=this.sourceLineText(),
aF.body.script=MakeScriptObject_(R,false);
}
if(this.breakPointsHit()){
aF.body.breakpoints=[];
for(var O=0;O<this.breakPointsHit().length;O++){
var aG=this.breakPointsHit()[O];
var ar=aG.script_break_point();
var aH;
if(ar){
aH=ar.number();
}else{
aH=aG.number();
}
aF.body.breakpoints.push(aH);
}
}
return h(ObjectToProtocolObject_(aF));
};
function MakeExceptionEvent(K,aI,aJ,aK){
return new ExceptionEvent(K,aI,aJ,aK);
}
function ExceptionEvent(K,aI,aJ,aK){
this.exec_state_=new ExecutionState(K);
this.exception_=aI;
this.uncaught_=aJ;
this.promise_=aK;
}
ExceptionEvent.prototype.eventType=function(){
return u.DebugEvent.Exception;
};
ExceptionEvent.prototype.exception=function(){
return this.exception_;
};
ExceptionEvent.prototype.uncaught=function(){
return this.uncaught_;
};
ExceptionEvent.prototype.promise=function(){
return this.promise_;
};
ExceptionEvent.prototype.func=function(){
return this.exec_state_.frame(0).func();
};
ExceptionEvent.prototype.sourceLine=function(){
return this.exec_state_.frame(0).sourceLine();
};
ExceptionEvent.prototype.sourceColumn=function(){
return this.exec_state_.frame(0).sourceColumn();
};
ExceptionEvent.prototype.sourceLineText=function(){
return this.exec_state_.frame(0).sourceLineText();
};
ExceptionEvent.prototype.toJSONProtocol=function(){
var aF=new ProtocolMessage();
aF.event="exception";
aF.body={uncaught:this.uncaught_,
exception:l(this.exception_)
};
if(this.exec_state_.frameCount()>0){
aF.body.sourceLine=this.sourceLine();
aF.body.sourceColumn=this.sourceColumn();
aF.body.sourceLineText=this.sourceLineText();
var R=this.func().script();
if(R){
aF.body.script=MakeScriptObject_(R,false);
}
}else{
aF.body.sourceLine=-1;
}
return aF.toJSONProtocol();
};
function MakeCompileEvent(R,w){
return new CompileEvent(R,w);
}
function CompileEvent(R,w){
this.script_=l(R);
this.type_=w;
}
CompileEvent.prototype.eventType=function(){
return this.type_;
};
CompileEvent.prototype.script=function(){
return this.script_;
};
CompileEvent.prototype.toJSONProtocol=function(){
var aF=new ProtocolMessage();
aF.running=true;
switch(this.type_){
case u.DebugEvent.BeforeCompile:
aF.event="beforeCompile";
break;
case u.DebugEvent.AfterCompile:
aF.event="afterCompile";
break;
case u.DebugEvent.CompileError:
aF.event="compileError";
break;
}
aF.body={};
aF.body.script=this.script_;
return aF.toJSONProtocol();
};
function MakeScriptObject_(R,aL){
var aF={id:R.id(),
name:R.name(),
lineOffset:R.lineOffset(),
columnOffset:R.columnOffset(),
lineCount:R.lineCount(),
};
if(!(R.data()===(void 0))){
aF.data=R.data();
}
if(aL){
aF.source=R.source();
}
return aF;
}
function MakePromiseEvent(aM){
return new PromiseEvent(aM);
}
function PromiseEvent(aM){
this.promise_=aM.promise;
this.parentPromise_=aM.parentPromise;
this.status_=aM.status;
this.value_=aM.value;
}
PromiseEvent.prototype.promise=function(){
return l(this.promise_);
}
PromiseEvent.prototype.parentPromise=function(){
return l(this.parentPromise_);
}
PromiseEvent.prototype.status=function(){
return this.status_;
}
PromiseEvent.prototype.value=function(){
return l(this.value_);
}
function MakeAsyncTaskEvent(aM){
return new AsyncTaskEvent(aM);
}
function AsyncTaskEvent(aM){
this.type_=aM.type;
this.name_=aM.name;
this.id_=aM.id;
}
AsyncTaskEvent.prototype.type=function(){
return this.type_;
}
AsyncTaskEvent.prototype.name=function(){
return this.name_;
}
AsyncTaskEvent.prototype.id=function(){
return this.id_;
}
function DebugCommandProcessor(I,aD){
this.exec_state_=I;
this.running_=aD||false;
}
DebugCommandProcessor.prototype.processDebugRequest=function(aN){
return this.processDebugJSONRequest(aN);
};
function ProtocolMessage(aN){
this.seq=x++;
if(aN){
this.type='response';
this.request_seq=aN.seq;
this.command=aN.command;
}else{
this.type='event';
}
this.success=true;
this.running=(void 0);
}
ProtocolMessage.prototype.setOption=function(aO,C){
if(!this.options_){
this.options_={};
}
this.options_[aO]=C;
};
ProtocolMessage.prototype.failed=function(aP,aQ){
this.success=false;
this.message=aP;
if((typeof(aQ)==='object')){
this.error_details=aQ;
}
};
ProtocolMessage.prototype.toJSONProtocol=function(){
var aR={};
aR.seq=this.seq;
if(this.request_seq){
aR.request_seq=this.request_seq;
}
aR.type=this.type;
if(this.event){
aR.event=this.event;
}
if(this.command){
aR.command=this.command;
}
if(this.success){
aR.success=this.success;
}else{
aR.success=false;
}
if(this.body){
var aS;
var aT=m(true,this.options_);
if(this.body instanceof o){
aS=aT.serializeValue(this.body);
}else if(this.body instanceof d){
aS=[];
for(var O=0;O<this.body.length;O++){
if(this.body[O]instanceof o){
aS.push(aT.serializeValue(this.body[O]));
}else{
aS.push(ObjectToProtocolObject_(this.body[O],aT));
}
}
}else{
aS=ObjectToProtocolObject_(this.body,aT);
}
aR.body=aS;
aR.refs=aT.serializeReferencedObjects();
}
if(this.message){
aR.message=this.message;
}
if(this.error_details){
aR.error_details=this.error_details;
}
aR.running=this.running;
return h(aR);
};
DebugCommandProcessor.prototype.createResponse=function(aN){
return new ProtocolMessage(aN);
};
DebugCommandProcessor.prototype.processDebugJSONRequest=function(
json_request){
var aN;
var aU;
try{
try{
aN=g(json_request);
aU=this.createResponse(aN);
if(!aN.type){
throw j(2,'Type not specified');
}
if(aN.type!='request'){
throw j(2,
"Illegal type '"+aN.type+"' in request");
}
if(!aN.command){
throw j(2,'Command not specified');
}
if(aN.arguments){
var aV=aN.arguments;
if(aV.inlineRefs||aV.compactFormat){
aU.setOption('inlineRefs',true);
}
if(!(aV.maxStringLength===(void 0))){
aU.setOption('maxStringLength',aV.maxStringLength);
}
}
var aW=aN.command.toLowerCase();
var aX=DebugCommandProcessor.prototype.dispatch_[aW];
if((%_IsFunction(aX))){
%_Call(aX,this,aN,aU);
}else{
throw j(2,
'Unknown command "'+aN.command+'" in request');
}
}catch(e){
if(!aU){
aU=this.createResponse();
}
aU.success=false;
aU.message=(%_ToString(e));
}
try{
if(!(aU.running===(void 0))){
this.running_=aU.running;
}
aU.running=this.running_;
return aU.toJSONProtocol();
}catch(e){
return'{"seq":'+aU.seq+','+
'"request_seq":'+aN.seq+','+
'"type":"response",'+
'"success":false,'+
'"message":"Internal error: '+(%_ToString(e))+'"}';
}
}catch(e){
return'{"seq":0,"type":"response","success":false,"message":"Internal error"}';
}
};
DebugCommandProcessor.prototype.continueRequest_=function(aN,aU){
if(aN.arguments){
var aA=u.StepAction.StepIn;
var aY=aN.arguments.stepaction;
if(aY){
if(aY=='in'){
aA=u.StepAction.StepIn;
}else if(aY=='next'){
aA=u.StepAction.StepNext;
}else if(aY=='out'){
aA=u.StepAction.StepOut;
}else{
throw j(2,
'Invalid stepaction argument "'+aY+'".');
}
}
this.exec_state_.prepareStep(aA);
}
aU.running=true;
};
DebugCommandProcessor.prototype.breakRequest_=function(aN,aU){
};
DebugCommandProcessor.prototype.setBreakPointRequest_=
function(aN,aU){
if(!aN.arguments){
aU.failed('Missing arguments');
return;
}
var w=aN.arguments.type;
var aZ=aN.arguments.target;
var P=aN.arguments.line;
var Q=aN.arguments.column;
var ba=(aN.arguments.enabled===(void 0))?
true:aN.arguments.enabled;
var G=aN.arguments.condition;
var H=aN.arguments.ignoreCount;
var bb=aN.arguments.groupId;
if(!w||(aZ===(void 0))){
aU.failed('Missing argument "type" or "target"');
return;
}
var am;
if(w=='function'){
if(!(typeof(aZ)==='string')){
aU.failed('Argument "target" is not a string value');
return;
}
var aa;
try{
aa=this.exec_state_.evaluateGlobal(aZ).value();
}catch(e){
aU.failed('Error: "'+(%_ToString(e))+
'" evaluating "'+aZ+'"');
return;
}
if(!(%_IsFunction(aa))){
aU.failed('"'+aZ+'" does not evaluate to a function');
return;
}
am=u.setBreakPoint(aa,P,Q,G);
}else if(w=='handle'){
var bc=q(aZ,10);
var J=i(bc);
if(!J){
return aU.failed('Object #'+bc+'# not found');
}
if(!J.isFunction()){
return aU.failed('Object #'+bc+'# is not a function');
}
am=u.setBreakPoint(J.value(),
P,Q,G);
}else if(w=='script'){
am=
u.setScriptBreakPointByName(aZ,P,Q,G,
bb);
}else if(w=='scriptId'){
am=
u.setScriptBreakPointById(aZ,P,Q,G,bb);
}else if(w=='scriptRegExp'){
am=
u.setScriptBreakPointByRegExp(aZ,P,Q,G,
bb);
}else{
aU.failed('Illegal type "'+w+'"');
return;
}
var F=u.findBreakPoint(am);
if(H){
u.changeBreakPointIgnoreCount(am,H);
}
if(!ba){
u.disableBreakPoint(am);
}
aU.body={type:w,
breakpoint:am};
if(F instanceof ScriptBreakPoint){
if(F.type()==u.ScriptBreakPointType.ScriptId){
aU.body.type='scriptId';
aU.body.script_id=F.script_id();
}else if(F.type()==u.ScriptBreakPointType.ScriptName){
aU.body.type='scriptName';
aU.body.script_name=F.script_name();
}else if(F.type()==u.ScriptBreakPointType.ScriptRegExp){
aU.body.type='scriptRegExp';
aU.body.script_regexp=F.script_regexp_object().source;
}else{
throw j(2,
"Unexpected breakpoint type: "+F.type());
}
aU.body.line=F.line();
aU.body.column=F.column();
aU.body.actual_locations=F.actual_locations();
}else{
aU.body.type='function';
aU.body.actual_locations=[F.actual_location];
}
};
DebugCommandProcessor.prototype.changeBreakPointRequest_=function(
aN,aU){
if(!aN.arguments){
aU.failed('Missing arguments');
return;
}
var F=(%_ToNumber(aN.arguments.breakpoint));
var ba=aN.arguments.enabled;
var G=aN.arguments.condition;
var H=aN.arguments.ignoreCount;
if(!F){
aU.failed('Missing argument "breakpoint"');
return;
}
if(!(ba===(void 0))){
if(ba){
u.enableBreakPoint(F);
}else{
u.disableBreakPoint(F);
}
}
if(!(G===(void 0))){
u.changeBreakPointCondition(F,G);
}
if(!(H===(void 0))){
u.changeBreakPointIgnoreCount(F,H);
}
};
DebugCommandProcessor.prototype.clearBreakPointGroupRequest_=function(
aN,aU){
if(!aN.arguments){
aU.failed('Missing arguments');
return;
}
var bd=aN.arguments.groupId;
if(!bd){
aU.failed('Missing argument "groupId"');
return;
}
var be=[];
var bf=[];
for(var O=0;O<A.length;O++){
var bg=A[O];
if(bg.groupId()==bd){
be.push(bg.number());
bg.clear();
}else{
bf.push(bg);
}
}
A=bf;
aU.body={breakpoints:be};
};
DebugCommandProcessor.prototype.clearBreakPointRequest_=function(
aN,aU){
if(!aN.arguments){
aU.failed('Missing arguments');
return;
}
var F=(%_ToNumber(aN.arguments.breakpoint));
if(!F){
aU.failed('Missing argument "breakpoint"');
return;
}
u.clearBreakPoint(F);
aU.body={breakpoint:F};
};
DebugCommandProcessor.prototype.listBreakpointsRequest_=function(
aN,aU){
var bh=[];
for(var O=0;O<A.length;O++){
var F=A[O];
var bi={
number:F.number(),
line:F.line(),
column:F.column(),
groupId:F.groupId(),
hit_count:F.hit_count(),
active:F.active(),
condition:F.condition(),
ignoreCount:F.ignoreCount(),
actual_locations:F.actual_locations()
};
if(F.type()==u.ScriptBreakPointType.ScriptId){
bi.type='scriptId';
bi.script_id=F.script_id();
}else if(F.type()==u.ScriptBreakPointType.ScriptName){
bi.type='scriptName';
bi.script_name=F.script_name();
}else if(F.type()==u.ScriptBreakPointType.ScriptRegExp){
bi.type='scriptRegExp';
bi.script_regexp=F.script_regexp_object().source;
}else{
throw j(2,
"Unexpected breakpoint type: "+F.type());
}
bh.push(bi);
}
aU.body={
breakpoints:bh,
breakOnExceptions:u.isBreakOnException(),
breakOnUncaughtExceptions:u.isBreakOnUncaughtException()
};
};
DebugCommandProcessor.prototype.disconnectRequest_=
function(aN,aU){
u.disableAllBreakPoints();
this.continueRequest_(aN,aU);
};
DebugCommandProcessor.prototype.setExceptionBreakRequest_=
function(aN,aU){
if(!aN.arguments){
aU.failed('Missing arguments');
return;
}
var w=aN.arguments.type;
if(!w){
aU.failed('Missing argument "type"');
return;
}
var ba;
if(w=='all'){
ba=!u.isBreakOnException();
}else if(w=='uncaught'){
ba=!u.isBreakOnUncaughtException();
}
if(!(aN.arguments.enabled===(void 0))){
ba=aN.arguments.enabled;
if((ba!=true)&&(ba!=false)){
aU.failed('Illegal value for "enabled":"'+ba+'"');
}
}
if(w=='all'){
%ChangeBreakOnException(u.ExceptionBreak.Caught,ba);
}else if(w=='uncaught'){
%ChangeBreakOnException(u.ExceptionBreak.Uncaught,ba);
}else{
aU.failed('Unknown "type":"'+w+'"');
}
aU.body={'type':w,'enabled':ba};
};
DebugCommandProcessor.prototype.backtraceRequest_=function(
aN,aU){
var bj=this.exec_state_.frameCount();
if(bj==0){
aU.body={
totalFrames:bj
};
return;
}
var bk=0;
var bl=t;
if(aN.arguments){
if(aN.arguments.fromFrame){
bk=aN.arguments.fromFrame;
}
if(aN.arguments.toFrame){
bl=aN.arguments.toFrame;
}
if(aN.arguments.bottom){
var bm=bj-bk;
bk=bj-bl;
bl=bm;
}
if(bk<0||bl<0){
return aU.failed('Invalid frame number');
}
}
bl=n(bj,bl);
if(bl<=bk){
var bn='Invalid frame range';
return aU.failed(bn);
}
var bo=[];
for(var O=bk;O<bl;O++){
bo.push(this.exec_state_.frame(O));
}
aU.body={
fromFrame:bk,
toFrame:bl,
totalFrames:bj,
frames:bo
};
};
DebugCommandProcessor.prototype.frameRequest_=function(aN,aU){
if(this.exec_state_.frameCount()==0){
return aU.failed('No frames');
}
if(aN.arguments){
var aC=aN.arguments.number;
if(aC<0||this.exec_state_.frameCount()<=aC){
return aU.failed('Invalid frame number');
}
this.exec_state_.setSelectedFrame(aN.arguments.number);
}
aU.body=this.exec_state_.frame();
};
DebugCommandProcessor.prototype.resolveFrameFromScopeDescription_=
function(bp){
if(bp&&!(bp.frameNumber===(void 0))){
var bq=bp.frameNumber;
if(bq<0||this.exec_state_.frameCount()<=bq){
throw k(31);
}
return this.exec_state_.frame(bq);
}else{
return this.exec_state_.frame();
}
};
DebugCommandProcessor.prototype.resolveScopeHolder_=
function(bp){
if(bp&&"functionHandle"in bp){
if(!(typeof(bp.functionHandle)==='number')){
throw j(2,'Function handle must be a number');
}
var br=i(bp.functionHandle);
if(!br){
throw j(2,'Failed to find function object by handle');
}
if(!br.isFunction()){
throw j(2,
'Value of non-function type is found by handle');
}
return br;
}else{
if(this.exec_state_.frameCount()==0){
throw j(2,'No scopes');
}
var bs=this.resolveFrameFromScopeDescription_(bp);
return bs;
}
}
DebugCommandProcessor.prototype.scopesRequest_=function(aN,aU){
var bt=this.resolveScopeHolder_(aN.arguments);
var bu=bt.scopeCount();
var bv=[];
for(var O=0;O<bu;O++){
bv.push(bt.scope(O));
}
aU.body={
fromScope:0,
toScope:bu,
totalScopes:bu,
scopes:bv
};
};
DebugCommandProcessor.prototype.scopeRequest_=function(aN,aU){
var bt=this.resolveScopeHolder_(aN.arguments);
var bw=0;
if(aN.arguments&&!(aN.arguments.number===(void 0))){
bw=(%_ToNumber(aN.arguments.number));
if(bw<0||bt.scopeCount()<=bw){
return aU.failed('Invalid scope number');
}
}
aU.body=bt.scope(bw);
};
DebugCommandProcessor.resolveValue_=function(bx){
if("handle"in bx){
var by=i(bx.handle);
if(!by){
throw j(2,"Failed to resolve value by handle, ' #"+
bx.handle+"# not found");
}
return by.value();
}else if("stringDescription"in bx){
if(bx.type==p.BOOLEAN_TYPE){
return(!!(bx.stringDescription));
}else if(bx.type==p.NUMBER_TYPE){
return(%_ToNumber(bx.stringDescription));
}if(bx.type==p.STRING_TYPE){
return(%_ToString(bx.stringDescription));
}else{
throw j(2,"Unknown type");
}
}else if("value"in bx){
return bx.value;
}else if(bx.type==p.UNDEFINED_TYPE){
return(void 0);
}else if(bx.type==p.NULL_TYPE){
return null;
}else{
throw j(2,"Failed to parse value description");
}
};
DebugCommandProcessor.prototype.setVariableValueRequest_=
function(aN,aU){
if(!aN.arguments){
aU.failed('Missing arguments');
return;
}
if((aN.arguments.name===(void 0))){
aU.failed('Missing variable name');
}
var bz=aN.arguments.name;
var bp=aN.arguments.scope;
var bt=this.resolveScopeHolder_(bp);
if((bp.number===(void 0))){
aU.failed('Missing scope number');
}
var bw=(%_ToNumber(bp.number));
var bA=bt.scope(bw);
var bB=
DebugCommandProcessor.resolveValue_(aN.arguments.newValue);
bA.setVariableValue(bz,bB);
var bC=l(bB);
aU.body={
newValue:bC
};
};
DebugCommandProcessor.prototype.evaluateRequest_=function(aN,aU){
if(!aN.arguments){
return aU.failed('Missing arguments');
}
var bD=aN.arguments.expression;
var bs=aN.arguments.frame;
var a=aN.arguments.global;
var bE=aN.arguments.disable_break;
var bF=aN.arguments.additional_context;
try{
bD=(%_ToString(bD));
}catch(e){
return aU.failed('Failed to convert expression argument to string');
}
if(!(bs===(void 0))&&a){
return aU.failed('Arguments "frame" and "global" are exclusive');
}
var bG;
if(bF){
bG={};
for(var O=0;O<bF.length;O++){
var bH=bF[O];
if(!(typeof(bH.name)==='string')){
return aU.failed("Context element #"+O+
" doesn't contain name:string property");
}
var bI=DebugCommandProcessor.resolveValue_(bH);
bG[bH.name]=bI;
}
}
if(a){
aU.body=this.exec_state_.evaluateGlobal(
bD,(!!(bE)),bG);
return;
}
if((bE===(void 0))){
bE=true;
}
if(this.exec_state_.frameCount()==0){
return aU.failed('No frames');
}
if(!(bs===(void 0))){
var bJ=(%_ToNumber(bs));
if(bJ<0||bJ>=this.exec_state_.frameCount()){
return aU.failed('Invalid frame "'+bs+'"');
}
aU.body=this.exec_state_.frame(bJ).evaluate(
bD,(!!(bE)),bG);
return;
}else{
aU.body=this.exec_state_.frame().evaluate(
bD,(!!(bE)),bG);
return;
}
};
DebugCommandProcessor.prototype.lookupRequest_=function(aN,aU){
if(!aN.arguments){
return aU.failed('Missing arguments');
}
var bK=aN.arguments.handles;
if((bK===(void 0))){
return aU.failed('Argument "handles" missing');
}
if(!(aN.arguments.includeSource===(void 0))){
var bL=(!!(aN.arguments.includeSource));
aU.setOption('includeSource',bL);
}
var bM={};
for(var O=0;O<bK.length;O++){
var bc=bK[O];
var J=i(bc);
if(!J){
return aU.failed('Object #'+bc+'# not found');
}
bM[bc]=J;
}
aU.body=bM;
};
DebugCommandProcessor.prototype.referencesRequest_=
function(aN,aU){
if(!aN.arguments){
return aU.failed('Missing arguments');
}
var w=aN.arguments.type;
var bc=aN.arguments.handle;
if((w===(void 0))){
return aU.failed('Argument "type" missing');
}
if((bc===(void 0))){
return aU.failed('Argument "handle" missing');
}
if(w!='referencedBy'&&w!='constructedBy'){
return aU.failed('Invalid type "'+w+'"');
}
var J=i(bc);
if(J){
if(w=='referencedBy'){
aU.body=J.referencedBy();
}else{
aU.body=J.constructedBy();
}
}else{
return aU.failed('Object #'+bc+'# not found');
}
};
DebugCommandProcessor.prototype.sourceRequest_=function(aN,aU){
if(this.exec_state_.frameCount()==0){
return aU.failed('No source');
}
var bN;
var bO;
var bs=this.exec_state_.frame();
if(aN.arguments){
bN=aN.arguments.fromLine;
bO=aN.arguments.toLine;
if(!(aN.arguments.frame===(void 0))){
var bJ=(%_ToNumber(aN.arguments.frame));
if(bJ<0||bJ>=this.exec_state_.frameCount()){
return aU.failed('Invalid frame "'+bs+'"');
}
bs=this.exec_state_.frame(bJ);
}
}
var R=bs.func().script();
if(!R){
return aU.failed('No source');
}
var bP=R.sourceSlice(bN,bO);
if(!bP){
return aU.failed('Invalid line interval');
}
aU.body={};
aU.body.source=bP.sourceText();
aU.body.fromLine=bP.from_line;
aU.body.toLine=bP.to_line;
aU.body.fromPosition=bP.from_position;
aU.body.toPosition=bP.to_position;
aU.body.totalLines=R.lineCount();
};
DebugCommandProcessor.prototype.scriptsRequest_=function(aN,aU){
var bQ=ScriptTypeFlag(u.ScriptType.Normal);
var bL=false;
var bR=null;
if(aN.arguments){
if(!(aN.arguments.types===(void 0))){
bQ=(%_ToNumber(aN.arguments.types));
if(f(bQ)||bQ<0){
return aU.failed('Invalid types "'+
aN.arguments.types+'"');
}
}
if(!(aN.arguments.includeSource===(void 0))){
bL=(!!(aN.arguments.includeSource));
aU.setOption('includeSource',bL);
}
if((%_IsArray(aN.arguments.ids))){
bR={};
var bS=aN.arguments.ids;
for(var O=0;O<bS.length;O++){
bR[bS[O]]=true;
}
}
var bT=null;
var bU=null;
if(!(aN.arguments.filter===(void 0))){
var bV=(%_ToNumber(aN.arguments.filter));
if(!f(bV)){
bU=bV;
}
bT=aN.arguments.filter;
}
}
var ae=%DebugGetLoadedScripts();
aU.body=[];
for(var O=0;O<ae.length;O++){
if(bR&&!bR[ae[O].id]){
continue;
}
if(bT||bU){
var R=ae[O];
var bW=false;
if(bU&&!bW){
if(R.id&&R.id===bU){
bW=true;
}
}
if(bT&&!bW){
if(R.name&&R.name.indexOf(bT)>=0){
bW=true;
}
}
if(!bW)continue;
}
if(bQ&ScriptTypeFlag(ae[O].type)){
aU.body.push(l(ae[O]));
}
}
};
DebugCommandProcessor.prototype.threadsRequest_=function(aN,aU){
var bX=this.exec_state_.threadCount();
var bY=[];
for(var O=0;O<bX;O++){
var bZ=%GetThreadDetails(this.exec_state_.break_id,O);
var ca={current:bZ[0],
id:bZ[1]
};
bY.push(ca);
}
aU.body={
totalThreads:bX,
threads:bY
};
};
DebugCommandProcessor.prototype.suspendRequest_=function(aN,aU){
aU.running=false;
};
DebugCommandProcessor.prototype.versionRequest_=function(aN,aU){
aU.body={
V8Version:%GetV8Version()
};
};
DebugCommandProcessor.prototype.changeLiveRequest_=function(
aN,aU){
if(!aN.arguments){
return aU.failed('Missing arguments');
}
var cb=aN.arguments.script_id;
var cc=!!aN.arguments.preview_only;
var ae=%DebugGetLoadedScripts();
var cd=null;
for(var O=0;O<ae.length;O++){
if(ae[O].id==cb){
cd=ae[O];
}
}
if(!cd){
aU.failed('Script not found');
return;
}
var ce=new d();
if(!(typeof(aN.arguments.new_source)==='string')){
throw"new_source argument expected";
}
var cf=aN.arguments.new_source;
var cg;
try{
cg=u.LiveEdit.SetScriptSource(cd,
cf,cc,ce);
}catch(e){
if(e instanceof u.LiveEdit.Failure&&"details"in e){
aU.failed(e.message,e.details);
return;
}
throw e;
}
aU.body={change_log:ce,result:cg};
if(!cc&&!this.running_&&cg.stack_modified){
aU.body.stepin_recommended=true;
}
};
DebugCommandProcessor.prototype.restartFrameRequest_=function(
aN,aU){
if(!aN.arguments){
return aU.failed('Missing arguments');
}
var bs=aN.arguments.frame;
if(this.exec_state_.frameCount()==0){
return aU.failed('No frames');
}
var ch;
if(!(bs===(void 0))){
var bJ=(%_ToNumber(bs));
if(bJ<0||bJ>=this.exec_state_.frameCount()){
return aU.failed('Invalid frame "'+bs+'"');
}
ch=this.exec_state_.frame(bJ);
}else{
ch=this.exec_state_.frame();
}
var cg=u.LiveEdit.RestartFrame(ch);
aU.body={result:cg};
};
DebugCommandProcessor.prototype.debuggerFlagsRequest_=function(aN,
aU){
if(!aN.arguments){
aU.failed('Missing arguments');
return;
}
var ci=aN.arguments.flags;
aU.body={flags:[]};
if(!(ci===(void 0))){
for(var O=0;O<ci.length;O++){
var aO=ci[O].name;
var cj=B[aO];
if(!cj){
continue;
}
if('value'in ci[O]){
cj.setValue(ci[O].value);
}
aU.body.flags.push({name:aO,value:cj.getValue()});
}
}else{
for(var aO in B){
var C=B[aO].getValue();
aU.body.flags.push({name:aO,value:C});
}
}
};
DebugCommandProcessor.prototype.v8FlagsRequest_=function(aN,aU){
var ci=aN.arguments.flags;
if(!ci)ci='';
%SetFlags(ci);
};
DebugCommandProcessor.prototype.gcRequest_=function(aN,aU){
var w=aN.arguments.type;
if(!w)w='all';
var ck=%GetHeapUsage();
%CollectGarbage(w);
var cl=%GetHeapUsage();
aU.body={"before":ck,"after":cl};
};
DebugCommandProcessor.prototype.dispatch_=(function(){
var cm=DebugCommandProcessor.prototype;
return{
"continue":cm.continueRequest_,
"break":cm.breakRequest_,
"setbreakpoint":cm.setBreakPointRequest_,
"changebreakpoint":cm.changeBreakPointRequest_,
"clearbreakpoint":cm.clearBreakPointRequest_,
"clearbreakpointgroup":cm.clearBreakPointGroupRequest_,
"disconnect":cm.disconnectRequest_,
"setexceptionbreak":cm.setExceptionBreakRequest_,
"listbreakpoints":cm.listBreakpointsRequest_,
"backtrace":cm.backtraceRequest_,
"frame":cm.frameRequest_,
"scopes":cm.scopesRequest_,
"scope":cm.scopeRequest_,
"setvariablevalue":cm.setVariableValueRequest_,
"evaluate":cm.evaluateRequest_,
"lookup":cm.lookupRequest_,
"references":cm.referencesRequest_,
"source":cm.sourceRequest_,
"scripts":cm.scriptsRequest_,
"threads":cm.threadsRequest_,
"suspend":cm.suspendRequest_,
"version":cm.versionRequest_,
"changelive":cm.changeLiveRequest_,
"restartframe":cm.restartFrameRequest_,
"flags":cm.debuggerFlagsRequest_,
"v8flag":cm.v8FlagsRequest_,
"gc":cm.gcRequest_,
};
})();
DebugCommandProcessor.prototype.isRunning=function(){
return this.running_;
};
DebugCommandProcessor.prototype.systemBreak=function(cn,aV){
return %SystemBreak();
};
function ObjectToProtocolObject_(co,cp){
var cq={};
for(var aW in co){
if(typeof aW=='string'){
var cr=ValueToProtocolValue_(co[aW],
cp);
if(!(cr===(void 0))){
cq[aW]=cr;
}
}
}
return cq;
}
function ArrayToProtocolArray_(bh,cp){
var aR=[];
for(var O=0;O<bh.length;O++){
aR.push(ValueToProtocolValue_(bh[O],cp));
}
return aR;
}
function ValueToProtocolValue_(C,cp){
var aR;
switch(typeof C){
case'object':
if(C instanceof o){
aR=cp.serializeValue(C);
}else if((%_IsArray(C))){
aR=ArrayToProtocolArray_(C,cp);
}else{
aR=ObjectToProtocolObject_(C,cp);
}
break;
case'boolean':
case'string':
case'number':
aR=C;
break;
default:
aR=null;
}
return aR;
}
b.InstallConstants(a,[
"Debug",u,
"DebugCommandProcessor",DebugCommandProcessor,
"BreakEvent",BreakEvent,
"CompileEvent",CompileEvent,
"BreakPoint",BreakPoint,
]);
b.InstallFunctions(b,2,[
"MakeExecutionState",MakeExecutionState,
"MakeExceptionEvent",MakeExceptionEvent,
"MakeBreakEvent",MakeBreakEvent,
"MakeCompileEvent",MakeCompileEvent,
"MakePromiseEvent",MakePromiseEvent,
"MakeAsyncTaskEvent",MakeAsyncTaskEvent,
"IsBreakPointTriggered",IsBreakPointTriggered,
"UpdateScriptBreakPoints",UpdateScriptBreakPoints,
]);
b.Export(function(cs){
cs.GetScriptBreakPoints=GetScriptBreakPoints;
});
})

 liveedit%ú
(function(a,b){
"use strict";
var c=a.Debug.findScriptSourcePosition;
var d;
var e=a.Array;
var f=a.Math.floor;
var g=a.SyntaxError;
b.Import(function(h){
d=h.GetScriptBreakPoints;
});
var i;
function ApplyPatchMultiChunk(script,diff_array,new_source,preview_only,
change_log){
var j=script.source;
var k=GatherCompileInfo(j,script);
var l=BuildCodeInfoTree(k);
var m=new PosTranslator(diff_array);
MarkChangedFunctions(l,m.GetChunks());
FindLiveSharedInfos(l,script);
var n;
try{
n=GatherCompileInfo(new_source,script);
}catch(e){
var o=
new Failure("Failed to compile new version of script: "+e);
if(e instanceof g){
var p={
type:"liveedit_compile_error",
syntaxErrorMessage:e.message
};
CopyErrorPositionToDetails(e,p);
o.details=p;
}
throw o;
}
var q=BuildCodeInfoTree(n);
FindCorrespondingFunctions(l,q);
var r=new e();
var s=new e();
var t=new e();
var u=new e();
function HarvestTodo(v){
function CollectDamaged(w){
s.push(w);
for(var x=0;x<w.children.length;x++){
CollectDamaged(w.children[x]);
}
}
function CollectNew(y){
for(var x=0;x<y.length;x++){
t.push(y[x]);
CollectNew(y[x].children);
}
}
if(v.status==i.DAMAGED){
CollectDamaged(v);
return;
}
if(v.status==i.UNCHANGED){
u.push(v);
}else if(v.status==i.SOURCE_CHANGED){
u.push(v);
}else if(v.status==i.CHANGED){
r.push(v);
CollectNew(v.unmatched_new_nodes);
}
for(var x=0;x<v.children.length;x++){
HarvestTodo(v.children[x]);
}
}
var z={
change_tree:DescribeChangeTree(l),
textual_diff:{
old_len:j.length,
new_len:new_source.length,
chunks:diff_array
},
updated:false
};
if(preview_only){
return z;
}
HarvestTodo(l);
var A=new e();
var B=new e();
for(var x=0;x<r.length;x++){
var C=r[x].live_shared_function_infos;
var D=
r[x].corresponding_node.info.shared_function_info;
if(C){
for(var E=0;E<C.length;E++){
A.push(C[E]);
B.push(D);
}
}
}
var F=
CheckStackActivations(A,
B,
change_log);
z.stack_modified=F!=0;
var G=TemporaryRemoveBreakPoints(script,change_log);
var H;
if(s.length==0){
%LiveEditReplaceScript(script,new_source,null);
H=(void 0);
}else{
var I=CreateNameForOldScript(script);
H=%LiveEditReplaceScript(script,new_source,
I);
var J=new e();
change_log.push({linked_to_old_script:J});
for(var x=0;x<s.length;x++){
LinkToOldScript(s[x],H,
J);
}
z.created_script_name=I;
}
for(var x=0;x<t.length;x++){
%LiveEditFunctionSetScript(
t[x].info.shared_function_info,script);
}
for(var x=0;x<r.length;x++){
PatchFunctionCode(r[x],change_log);
}
var K=new e();
change_log.push({position_patched:K});
for(var x=0;x<u.length;x++){
PatchPositions(u[x],diff_array,
K);
if(u[x].live_shared_function_infos){
u[x].live_shared_function_infos.
forEach(function(L){
%LiveEditFunctionSourceUpdated(L.raw_array);
});
}
}
G(m,H);
z.updated=true;
return z;
}
function GatherCompileInfo(M,N){
var O=%LiveEditGatherCompileInfo(N,M);
var P=new e();
var Q=new e();
for(var x=0;x<O.length;x++){
var L=new FunctionCompileInfo(O[x]);
%LiveEditFunctionSetScript(L.shared_function_info,(void 0));
P.push(L);
Q.push(x);
}
for(var x=0;x<P.length;x++){
var R=x;
for(var E=x+1;E<P.length;E++){
if(P[R].start_position>P[E].start_position){
R=E;
}
}
if(R!=x){
var S=P[R];
var T=Q[R];
P[R]=P[x];
Q[R]=Q[x];
P[x]=S;
Q[x]=T;
}
}
var U=0;
function ResetIndexes(V,W){
var X=-1;
while(U<P.length&&
P[U].outer_index==W){
var Y=U;
P[Y].outer_index=V;
if(X!=-1){
P[X].next_sibling_index=Y;
}
X=Y;
U++;
ResetIndexes(Y,Q[Y]);
}
if(X!=-1){
P[X].next_sibling_index=-1;
}
}
ResetIndexes(-1,-1);
Assert(U==P.length);
return P;
}
function PatchFunctionCode(v,Z){
var D=v.corresponding_node.info;
if(v.live_shared_function_infos){
v.live_shared_function_infos.forEach(function(aa){
%LiveEditReplaceFunctionCode(D.raw_array,
aa.raw_array);
for(var x=0;x<v.children.length;x++){
if(v.children[x].corresponding_node){
var ab=
v.children[x].corresponding_node.info.
shared_function_info;
if(v.children[x].live_shared_function_infos){
v.children[x].live_shared_function_infos.
forEach(function(ac){
%LiveEditReplaceRefToNestedFunction(
aa.info,
ab,
ac.info);
});
}
}
}
});
Z.push({function_patched:D.function_name});
}else{
Z.push({function_patched:D.function_name,
function_info_not_found:true});
}
}
function LinkToOldScript(ad,H,ae){
if(ad.live_shared_function_infos){
ad.live_shared_function_infos.
forEach(function(L){
%LiveEditFunctionSetScript(L.info,H);
});
ae.push({name:ad.info.function_name});
}else{
ae.push(
{name:ad.info.function_name,not_found:true});
}
}
function TemporaryRemoveBreakPoints(af,Z){
var ag=d(af);
var ah=[];
Z.push({break_points_update:ah});
var ai=[];
for(var x=0;x<ag.length;x++){
var aj=ag[x];
aj.clear();
var ak=c(af,
aj.line(),aj.column());
var al={
position:ak,
line:aj.line(),
column:aj.column()
};
ai.push(al);
}
return function(m,am){
for(var x=0;x<ag.length;x++){
var aj=ag[x];
if(am){
var an=aj.cloneForOtherScript(am);
an.set(am);
ah.push({
type:"copied_to_old",
id:aj.number(),
new_id:an.number(),
positions:ai[x]
});
}
var ao=m.Translate(
ai[x].position,
PosTranslator.ShiftWithTopInsideChunkHandler);
var ap=
af.locationFromPosition(ao,false);
aj.update_positions(ap.line,ap.column);
var aq={
position:ao,
line:ap.line,
column:ap.column
};
aj.set(af);
ah.push({type:"position_changed",
id:aj.number(),
old_positions:ai[x],
new_positions:aq
});
}
};
}
function Assert(ar,as){
if(!ar){
if(as){
throw"Assert "+as;
}else{
throw"Assert";
}
}
}
function DiffChunk(at,au,av,aw){
this.pos1=at;
this.pos2=au;
this.len1=av;
this.len2=aw;
}
function PosTranslator(ax){
var ay=new e();
var az=0;
for(var x=0;x<ax.length;x+=3){
var aA=ax[x];
var aB=aA+az;
var aC=ax[x+1];
var aD=ax[x+2];
ay.push(new DiffChunk(aA,aB,aC-aA,
aD-aB));
az=aD-aC;
}
this.chunks=ay;
}
PosTranslator.prototype.GetChunks=function(){
return this.chunks;
};
PosTranslator.prototype.Translate=function(aE,aF){
var aG=this.chunks;
if(aG.length==0||aE<aG[0].pos1){
return aE;
}
var aH=0;
var aI=aG.length-1;
while(aH<aI){
var aJ=f((aH+aI)/2);
if(aE<aG[aJ+1].pos1){
aI=aJ;
}else{
aH=aJ+1;
}
}
var aK=aG[aH];
if(aE>=aK.pos1+aK.len1){
return aE+aK.pos2+aK.len2-aK.pos1-aK.len1;
}
if(!aF){
aF=PosTranslator.DefaultInsideChunkHandler;
}
return aF(aE,aK);
};
PosTranslator.DefaultInsideChunkHandler=function(aE,aL){
Assert(false,"Cannot translate position in changed area");
};
PosTranslator.ShiftWithTopInsideChunkHandler=
function(aE,aL){
return aE-aL.pos1+aL.pos2;
};
var i={
UNCHANGED:"unchanged",
SOURCE_CHANGED:"source changed",
CHANGED:"changed",
DAMAGED:"damaged"
};
function CodeInfoTreeNode(aM,aN,aO){
this.info=aM;
this.children=aN;
this.array_index=aO;
this.parent=(void 0);
this.status=i.UNCHANGED;
this.status_explanation=(void 0);
this.new_start_pos=(void 0);
this.new_end_pos=(void 0);
this.corresponding_node=(void 0);
this.unmatched_new_nodes=(void 0);
this.textual_corresponding_node=(void 0);
this.textually_unmatched_new_nodes=(void 0);
this.live_shared_function_infos=(void 0);
}
function BuildCodeInfoTree(aP){
var aQ=0;
function BuildNode(){
var aR=aQ;
aQ++;
var aS=new e();
while(aQ<aP.length&&
aP[aQ].outer_index==aR){
aS.push(BuildNode());
}
var w=new CodeInfoTreeNode(aP[aR],aS,
aR);
for(var x=0;x<aS.length;x++){
aS[x].parent=w;
}
return w;
}
var aT=BuildNode();
Assert(aQ==aP.length);
return aT;
}
function MarkChangedFunctions(aU,ay){
var aV=new function(){
var aW=0;
var aX=0;
this.current=function(){return ay[aW];};
this.next=function(){
var aK=ay[aW];
aX=aK.pos2+aK.len2-(aK.pos1+aK.len1);
aW++;
};
this.done=function(){return aW>=ay.length;};
this.TranslatePos=function(aE){return aE+aX;};
};
function ProcessInternals(aY){
aY.new_start_pos=aV.TranslatePos(
aY.info.start_position);
var aZ=0;
var ba=false;
var bb=false;
while(!aV.done()&&
aV.current().pos1<aY.info.end_position){
if(aZ<aY.children.length){
var bc=aY.children[aZ];
if(bc.info.end_position<=aV.current().pos1){
ProcessUnchangedChild(bc);
aZ++;
continue;
}else if(bc.info.start_position>=
aV.current().pos1+aV.current().len1){
ba=true;
aV.next();
continue;
}else if(bc.info.start_position<=aV.current().pos1&&
bc.info.end_position>=aV.current().pos1+
aV.current().len1){
ProcessInternals(bc);
bb=bb||
(bc.status!=i.UNCHANGED);
ba=ba||
(bc.status==i.DAMAGED);
aZ++;
continue;
}else{
ba=true;
bc.status=i.DAMAGED;
bc.status_explanation=
"Text diff overlaps with function boundary";
aZ++;
continue;
}
}else{
if(aV.current().pos1+aV.current().len1<=
aY.info.end_position){
aY.status=i.CHANGED;
aV.next();
continue;
}else{
aY.status=i.DAMAGED;
aY.status_explanation=
"Text diff overlaps with function boundary";
return;
}
}
Assert("Unreachable",false);
}
while(aZ<aY.children.length){
var bc=aY.children[aZ];
ProcessUnchangedChild(bc);
aZ++;
}
if(ba){
aY.status=i.CHANGED;
}else if(bb){
aY.status=i.SOURCE_CHANGED;
}
aY.new_end_pos=
aV.TranslatePos(aY.info.end_position);
}
function ProcessUnchangedChild(w){
w.new_start_pos=aV.TranslatePos(w.info.start_position);
w.new_end_pos=aV.TranslatePos(w.info.end_position);
}
ProcessInternals(aU);
}
function FindCorrespondingFunctions(bd,be){
function ProcessNode(v,bf){
var bg=
IsFunctionContextLocalsChanged(v.info,bf.info);
if(bg){
v.status=i.CHANGED;
}
var bh=v.children;
var bi=bf.children;
var bj=[];
var bk=[];
var bl=0;
var bm=0;
while(bl<bh.length){
if(bh[bl].status==i.DAMAGED){
bl++;
}else if(bm<bi.length){
if(bi[bm].info.start_position<
bh[bl].new_start_pos){
bj.push(bi[bm]);
bk.push(bi[bm]);
bm++;
}else if(bi[bm].info.start_position==
bh[bl].new_start_pos){
if(bi[bm].info.end_position==
bh[bl].new_end_pos){
bh[bl].corresponding_node=
bi[bm];
bh[bl].textual_corresponding_node=
bi[bm];
if(bg){
bh[bl].status=i.DAMAGED;
bh[bl].status_explanation=
"Enclosing function is now incompatible. "+
bg;
bh[bl].corresponding_node=(void 0);
}else if(bh[bl].status!=
i.UNCHANGED){
ProcessNode(bh[bl],
bi[bm]);
if(bh[bl].status==i.DAMAGED){
bj.push(
bh[bl].corresponding_node);
bh[bl].corresponding_node=(void 0);
v.status=i.CHANGED;
}
}
}else{
bh[bl].status=i.DAMAGED;
bh[bl].status_explanation=
"No corresponding function in new script found";
v.status=i.CHANGED;
bj.push(bi[bm]);
bk.push(bi[bm]);
}
bm++;
bl++;
}else{
bh[bl].status=i.DAMAGED;
bh[bl].status_explanation=
"No corresponding function in new script found";
v.status=i.CHANGED;
bl++;
}
}else{
bh[bl].status=i.DAMAGED;
bh[bl].status_explanation=
"No corresponding function in new script found";
v.status=i.CHANGED;
bl++;
}
}
while(bm<bi.length){
bj.push(bi[bm]);
bk.push(bi[bm]);
bm++;
}
if(v.status==i.CHANGED){
if(v.info.param_num!=bf.info.param_num){
v.status=i.DAMAGED;
v.status_explanation="Changed parameter number: "+
v.info.param_num+" and "+bf.info.param_num;
}
}
v.unmatched_new_nodes=bj;
v.textually_unmatched_new_nodes=
bk;
}
ProcessNode(bd,be);
bd.corresponding_node=be;
bd.textual_corresponding_node=be;
Assert(bd.status!=i.DAMAGED,
"Script became damaged");
}
function FindLiveSharedInfos(bd,N){
var bn=%LiveEditFindSharedFunctionInfosForScript(N);
var bo=new e();
for(var x=0;x<bn.length;x++){
bo.push(new SharedInfoWrapper(bn[x]));
}
function FindFunctionInfos(P){
var bp=[];
for(var x=0;x<bo.length;x++){
var bq=bo[x];
if(bq.start_position==P.start_position&&
bq.end_position==P.end_position){
bp.push(bq);
}
}
if(bp.length>0){
return bp;
}
}
function TraverseTree(w){
w.live_shared_function_infos=FindFunctionInfos(w.info);
for(var x=0;x<w.children.length;x++){
TraverseTree(w.children[x]);
}
}
TraverseTree(bd);
}
function FunctionCompileInfo(br){
this.function_name=br[0];
this.start_position=br[1];
this.end_position=br[2];
this.param_num=br[3];
this.code=br[4];
this.code_scope_info=br[5];
this.scope_info=br[6];
this.outer_index=br[7];
this.shared_function_info=br[8];
this.next_sibling_index=null;
this.raw_array=br;
}
function SharedInfoWrapper(br){
this.function_name=br[0];
this.start_position=br[1];
this.end_position=br[2];
this.info=br[3];
this.raw_array=br;
}
function PatchPositions(ad,ax,ae){
if(ad.live_shared_function_infos){
ad.live_shared_function_infos.forEach(function(L){
%LiveEditPatchFunctionPositions(L.raw_array,
ax);
});
ae.push({name:ad.info.function_name});
}else{
ae.push(
{name:ad.info.function_name,info_not_found:true});
}
}
function CreateNameForOldScript(N){
return N.name+" (old)";
}
function IsFunctionContextLocalsChanged(bs,bt){
var bu=bs.scope_info;
var bv=bt.scope_info;
var bw;
var bx;
if(bu){
bw=bu.toString();
}else{
bw="";
}
if(bv){
bx=bv.toString();
}else{
bx="";
}
if(bw!=bx){
return"Variable map changed: ["+bw+
"] => ["+bx+"]";
}
return;
}
var by;
function CheckStackActivations(old_shared_wrapper_list,
new_shared_list,
Z){
var bz=new e();
for(var x=0;x<old_shared_wrapper_list.length;x++){
bz[x]=old_shared_wrapper_list[x].info;
}
var bA=%LiveEditCheckAndDropActivations(
bz,new_shared_list,true);
if(bA[old_shared_wrapper_list.length]){
throw new Failure(bA[old_shared_wrapper_list.length]);
}
var bB=new e();
var bC=new e();
for(var x=0;x<bz.length;x++){
var bD=old_shared_wrapper_list[x];
if(bA[x]==by.REPLACED_ON_ACTIVE_STACK){
bC.push({name:bD.function_name});
}else if(bA[x]!=by.AVAILABLE_FOR_PATCH){
var bE={
name:bD.function_name,
start_pos:bD.start_position,
end_pos:bD.end_position,
replace_problem:
by.SymbolName(bA[x])
};
bB.push(bE);
}
}
if(bC.length>0){
Z.push({dropped_from_stack:bC});
}
if(bB.length>0){
Z.push({functions_on_stack:bB});
throw new Failure("Blocked by functions on stack");
}
return bC.length;
}
var by={
AVAILABLE_FOR_PATCH:1,
BLOCKED_ON_ACTIVE_STACK:2,
BLOCKED_ON_OTHER_STACK:3,
BLOCKED_UNDER_NATIVE_CODE:4,
REPLACED_ON_ACTIVE_STACK:5,
BLOCKED_UNDER_GENERATOR:6,
BLOCKED_ACTIVE_GENERATOR:7,
BLOCKED_NO_NEW_TARGET_ON_RESTART:8
};
by.SymbolName=function(bF){
var bG=by;
for(var bH in bG){
if(bG[bH]==bF){
return bH;
}
}
};
function Failure(as){
this.message=as;
}
Failure.prototype.toString=function(){
return"LiveEdit Failure: "+this.message;
};
function CopyErrorPositionToDetails(bI,p){
function createPositionStruct(N,bJ){
if(bJ==-1)return;
var bK=N.locationFromPosition(bJ,true);
if(bK==null)return;
return{
line:bK.line+1,
column:bK.column+1,
position:bJ
};
}
if(!("scriptObject"in bI)||!("startPosition"in bI)){
return;
}
var N=bI.scriptObject;
var bL={
start:createPositionStruct(N,bI.startPosition),
end:createPositionStruct(N,bI.endPosition)
};
p.position=bL;
}
function GetPcFromSourcePos(bM,bN){
return %GetFunctionCodePositionFromSource(bM,bN);
}
function SetScriptSource(N,bO,bP,Z){
var j=N.source;
var bQ=CompareStrings(j,bO);
return ApplyPatchMultiChunk(N,bQ,bO,bP,
Z);
}
function CompareStrings(bR,bS){
return %LiveEditCompareStrings(bR,bS);
}
function ApplySingleChunkPatch(N,change_pos,change_len,new_str,
Z){
var j=N.source;
var bO=j.substring(0,change_pos)+
new_str+j.substring(change_pos+change_len);
return ApplyPatchMultiChunk(N,
[change_pos,change_pos+change_len,change_pos+new_str.length],
bO,false,Z);
}
function DescribeChangeTree(bd){
function ProcessOldNode(w){
var bT=[];
for(var x=0;x<w.children.length;x++){
var bc=w.children[x];
if(bc.status!=i.UNCHANGED){
bT.push(ProcessOldNode(bc));
}
}
var bU=[];
if(w.textually_unmatched_new_nodes){
for(var x=0;x<w.textually_unmatched_new_nodes.length;x++){
var bc=w.textually_unmatched_new_nodes[x];
bU.push(ProcessNewNode(bc));
}
}
var bV={
name:w.info.function_name,
positions:DescribePositions(w),
status:w.status,
children:bT,
new_children:bU
};
if(w.status_explanation){
bV.status_explanation=w.status_explanation;
}
if(w.textual_corresponding_node){
bV.new_positions=DescribePositions(w.textual_corresponding_node);
}
return bV;
}
function ProcessNewNode(w){
var bT=[];
if(false){
for(var x=0;x<w.children.length;x++){
bT.push(ProcessNewNode(w.children[x]));
}
}
var bV={
name:w.info.function_name,
positions:DescribePositions(w),
children:bT,
};
return bV;
}
function DescribePositions(w){
return{
start_position:w.info.start_position,
end_position:w.info.end_position
};
}
return ProcessOldNode(bd);
}
var bW={};
bW.SetScriptSource=SetScriptSource;
bW.ApplyPatchMultiChunk=ApplyPatchMultiChunk;
bW.Failure=Failure;
bW.GetPcFromSourcePos=GetPcFromSourcePos;
bW.TestApi={
PosTranslator:PosTranslator,
CompareStrings:CompareStrings,
ApplySingleChunkPatch:ApplySingleChunkPatch
};
a.Debug.LiveEdit=bW;
})

h prologueK
(function(a,b,c){
"use strict";
%CheckIsBootstrapping();
var d=(void 0);
var e=(void 0);
var f=%ExportFromRuntime({});
var g=(void 0);
function SetupTypedArray(h){
h.next=g;
g=h;
}
function Export(h){
h(f);
}
function Import(h){
h.next=d;
d=h;
}
function ImportNow(i){
return f[i];
}
function ImportFromExperimental(h){
h.next=e;
e=h;
}
function SetFunctionName(h,i,j){
if((typeof(i)==='symbol')){
i="["+%SymbolDescription(i)+"]";
}
if((j===(void 0))){
%FunctionSetName(h,i);
}else{
%FunctionSetName(h,j+" "+i);
}
}
function InstallConstants(k,l){
%CheckIsBootstrapping();
%OptimizeObjectForAddingMultipleProperties(k,l.length>>1);
var m=2|4|1;
for(var n=0;n<l.length;n+=2){
var i=l[n];
var o=l[n+1];
%AddNamedProperty(k,i,o,m);
}
%ToFastProperties(k);
}
function InstallFunctions(k,m,p){
%CheckIsBootstrapping();
%OptimizeObjectForAddingMultipleProperties(k,p.length>>1);
for(var n=0;n<p.length;n+=2){
var q=p[n];
var h=p[n+1];
SetFunctionName(h,q);
%FunctionRemovePrototype(h);
%AddNamedProperty(k,q,h,m);
%SetNativeFlag(h);
}
%ToFastProperties(k);
}
function InstallGetter(k,i,r,m,j){
%CheckIsBootstrapping();
if((m===(void 0)))m=2;
SetFunctionName(r,i,(j===(void 0))?"get":j);
%FunctionRemovePrototype(r);
%DefineGetterPropertyUnchecked(k,i,r,m);
%SetNativeFlag(r);
}
function InstallGetterSetter(k,i,r,s,m){
%CheckIsBootstrapping();
if((m===(void 0)))m=2;
SetFunctionName(r,i,"get");
SetFunctionName(s,i,"set");
%FunctionRemovePrototype(r);
%FunctionRemovePrototype(s);
%DefineAccessorPropertyUnchecked(k,i,r,s,2);
%SetNativeFlag(r);
%SetNativeFlag(s);
}
function SetUpLockedPrototype(
constructor,fields,methods){
%CheckIsBootstrapping();
var t=constructor.prototype;
var u=(methods.length>>1)+(fields?fields.length:0);
if(u>=4){
%OptimizeObjectForAddingMultipleProperties(t,u);
}
if(fields){
for(var n=0;n<fields.length;n++){
%AddNamedProperty(t,fields[n],
(void 0),2|4);
}
}
for(var n=0;n<methods.length;n+=2){
var q=methods[n];
var h=methods[n+1];
%AddNamedProperty(t,q,h,2|4|1);
%SetNativeFlag(h);
}
%InternalSetPrototype(t,null);
%ToFastProperties(t);
}
function PostNatives(b){
%CheckIsBootstrapping();
for(;!(d===(void 0));d=d.next){
d(f);
}
var v=[
"ArrayToString",
"ErrorToString",
"GetIterator",
"GetMethod",
"IsNaN",
"MakeError",
"MakeTypeError",
"MapEntries",
"MapIterator",
"MapIteratorNext",
"MathMax",
"MathMin",
"MaxSimple",
"MinSimple",
"ObjectDefineProperty",
"ObserveArrayMethods",
"ObserveObjectMethods",
"PromiseChain",
"PromiseDeferred",
"PromiseResolved",
"SameValueZero",
"SetIterator",
"SetIteratorNext",
"SetValues",
"SymbolToString",
"ToPositiveInteger",
"is_concat_spreadable_symbol",
"iterator_symbol",
"promise_status_symbol",
"promise_value_symbol",
"object_freeze",
"object_is_frozen",
"object_is_sealed",
"reflect_apply",
"reflect_construct",
"regexp_flags_symbol",
"to_string_tag_symbol",
"object_to_string",
"species_symbol",
];
var w={};
%OptimizeObjectForAddingMultipleProperties(
w,v.length);
for(var q of v){
w[q]=f[q];
}
%ToFastProperties(w);
f=w;
b.PostNatives=(void 0);
b.ImportFromExperimental=(void 0);
}
function PostExperimentals(b){
%CheckIsBootstrapping();
%ExportExperimentalFromRuntime(f);
for(;!(d===(void 0));d=d.next){
d(f);
}
for(;!(e===(void 0));
e=e.next){
e(f);
}
b.CreateDoubleResultArray();
b.CreateDoubleResultArray=(void 0);
b.Export=(void 0);
b.PostDebug=(void 0);
b.PostExperimentals=(void 0);
g=(void 0);
}
function PostDebug(b){
for(;!(d===(void 0));d=d.next){
d(f);
}
b.CreateDoubleResultArray();
b.CreateDoubleResultArray=(void 0);
f=(void 0);
b.Export=(void 0);
b.Import=(void 0);
b.ImportNow=(void 0);
b.PostDebug=(void 0);
b.PostExperimentals=(void 0);
g=(void 0);
}
function InitializeBuiltinTypedArrays(b,x,y){
var z=g;
for(;!(z===(void 0));z=z.next){
z(x,y);
}
}
%OptimizeObjectForAddingMultipleProperties(b,14);
b.Import=Import;
b.ImportNow=ImportNow;
b.Export=Export;
b.ImportFromExperimental=ImportFromExperimental;
b.SetFunctionName=SetFunctionName;
b.InstallConstants=InstallConstants;
b.InstallFunctions=InstallFunctions;
b.InstallGetter=InstallGetter;
b.InstallGetterSetter=InstallGetterSetter;
b.SetUpLockedPrototype=SetUpLockedPrototype;
b.PostNatives=PostNatives;
b.PostExperimentals=PostExperimentals;
b.PostDebug=PostDebug;
%ToFastProperties(b);
%OptimizeObjectForAddingMultipleProperties(c,5);
c.logStackTrace=function logStackTrace(){
%DebugTrace();
};
c.log=function log(){
let message='';
for(const arg of arguments){
message+=arg;
}
%GlobalPrint(message);
};
c.createPrivateSymbol=function createPrivateSymbol(i){
return %CreatePrivateSymbol(i);
};
c.simpleBind=function simpleBind(A,B){
return function(){
return %Apply(A,B,arguments,0,arguments.length);
};
};
c.uncurryThis=function uncurryThis(A){
return function(B){
return %Apply(A,B,arguments,1,arguments.length-1);
};
};
%ToFastProperties(c);
})

runtime9"
(function(a,b){
%CheckIsBootstrapping();
var c;
var d=a.Array;
var e=a.Boolean;
var f=a.String;
var g;
var h;
var i;
b.Import(function(j){
g=j.MakeRangeError;
h=j.MakeTypeError;
i=j.species_symbol;
});
b.ImportFromExperimental(function(j){
c=j.FLAG_harmony_species;
});
function CONCAT_ITERABLE_TO_ARRAY(k){
return %concat_iterable_to_array(this,k);
};
function SameValue(l,m){
if(typeof l!=typeof m)return false;
if((typeof(l)==='number')){
if((!%_IsSmi(%IS_VAR(l))&&!(l==l))&&(!%_IsSmi(%IS_VAR(m))&&!(m==m)))return true;
if(l===0&&m===0&&%_IsMinusZero(l)!=%_IsMinusZero(m)){
return false;
}
}
if((%_IsSimdValue(l)))return %SimdSameValue(l,m);
return l===m;
}
function SameValueZero(l,m){
if(typeof l!=typeof m)return false;
if((typeof(l)==='number')){
if((!%_IsSmi(%IS_VAR(l))&&!(l==l))&&(!%_IsSmi(%IS_VAR(m))&&!(m==m)))return true;
}
if((%_IsSimdValue(l)))return %SimdSameValueZero(l,m);
return l===m;
}
function ConcatIterableToArray(n,k){
var o=n.length;
for(var p of k){
AddIndexedProperty(n,o++,p);
}
return n;
}
function AddIndexedProperty(q,o,r){
if(o===((o)>>>0)&&o!==4294967295){
%AddElement(q,o,r);
}else{
%AddNamedProperty(q,(%_ToString(o)),r,0);
}
}
%SetForceInlineFlag(AddIndexedProperty);
function ToPositiveInteger(l,s){
var t=(%_IsSmi(%IS_VAR(l))?l:%NumberToIntegerMapMinusZero(l));
if(t<0)throw g(s);
return t;
}
function MaxSimple(u,v){
return u>v?u:v;
}
function MinSimple(u,v){
return u>v?v:u;
}
%SetForceInlineFlag(MaxSimple);
%SetForceInlineFlag(MinSimple);
function SpeciesConstructor(w,x,y){
if(c){
var z=w.constructor;
if((z===(void 0))){
return x;
}
if(!(%_IsJSReceiver(z))){
throw h(27);
}
var A=z[i];
if((A==null)){
return x;
}
if(%IsConstructor(A)){
return A;
}
throw h(235);
}else{
return y?x:w.constructor;
}
}
%FunctionSetPrototype(d,new d(0));
b.Export(function(B){
B.AddIndexedProperty=AddIndexedProperty;
B.MaxSimple=MaxSimple;
B.MinSimple=MinSimple;
B.SameValue=SameValue;
B.SameValueZero=SameValueZero;
B.ToPositiveInteger=ToPositiveInteger;
B.SpeciesConstructor=SpeciesConstructor;
});
%InstallToContext([
"concat_iterable_to_array_builtin",CONCAT_ITERABLE_TO_ARRAY,
]);
%InstallToContext([
"concat_iterable_to_array",ConcatIterableToArray,
]);
})

$v8nativesÚ#
(function(a,b){
%CheckIsBootstrapping();
var c=a.Array;
var d=a.Boolean;
var e=a.Number;
var f=a.Object;
var g=b.InternalArray;
var h=b.ImportNow("iterator_symbol");
var i;
var j;
var k;
var l;
var m=%GetRootNaN();
var n=b.ImportNow("object_to_string");
var o;
var p;
var q;
var r=b.ImportNow("SameValue");
var s=b.ImportNow("to_string_tag_symbol");
b.Import(function(t){
i=t.MakeRangeError;
j=t.MakeSyntaxError;
k=t.MakeTypeError;
l=t.MathAbs;
o=t.ObserveBeginPerformSplice;
p=t.ObserveEndPerformSplice;
q=t.ObserveEnqueueSpliceRecord;
});
function GlobalIsNaN(u){
u=(%_ToNumber(u));
return(!%_IsSmi(%IS_VAR(u))&&!(u==u));
}
function GlobalIsFinite(u){
u=(%_ToNumber(u));
return(%_IsSmi(%IS_VAR(u))||((u==u)&&(u!=1/0)&&(u!=-1/0)));
}
function GlobalParseInt(v,w){
if((w===(void 0))||w===10||w===0){
if(%_IsSmi(v))return v;
if((typeof(v)==='number')&&
((0.01<v&&v<1e9)||
(-1e9<v&&v<-0.01))){
return v|0;
}
v=(%_ToString(v));
w=w|0;
}else{
v=(%_ToString(v));
w=((w)|0);
if(!(w==0||(2<=w&&w<=36))){
return m;
}
}
if(%_HasCachedArrayIndex(v)&&
(w==0||w==10)){
return %_GetCachedArrayIndex(v);
}
return %StringParseInt(v,w);
}
function GlobalParseFloat(v){
v=(%_ToString(v));
if(%_HasCachedArrayIndex(v))return %_GetCachedArrayIndex(v);
return %StringParseFloat(v);
}
var x=2|4|1;
b.InstallConstants(a,[
"Infinity",(1/0),
"NaN",m,
"undefined",(void 0),
]);
b.InstallFunctions(a,2,[
"isNaN",GlobalIsNaN,
"isFinite",GlobalIsFinite,
"parseInt",GlobalParseInt,
"parseFloat",GlobalParseFloat,
]);
function ObjectToLocaleString(){
if((%IS_VAR(this)===null)||(this===(void 0)))throw k(17,"Object.prototype.toLocaleString");
return this.toString();
}
function ObjectValueOf(){
return(%_ToObject(this));
}
function ObjectHasOwnProperty(y){
var z=(%_ToName(y));
var A=(%_ToObject(this));
return %HasOwnProperty(A,z);
}
function ObjectIsPrototypeOf(B){
if(!(%_IsJSReceiver(B)))return false;
var C=(%_ToObject(this));
return %HasInPrototypeChain(B,C);
}
function ObjectPropertyIsEnumerable(B){
var D=(%_ToName(B));
return %PropertyIsEnumerable((%_ToObject(this)),D);
}
function ObjectDefineGetter(z,E){
var F=this;
if((F===null)||(F===(void 0))){
F=%GlobalProxy(ObjectDefineGetter);
}
if(!(typeof(E)==='function')){
throw k(72);
}
var G=new PropertyDescriptor();
G.setGet(E);
G.setEnumerable(true);
G.setConfigurable(true);
DefineOwnProperty((%_ToObject(F)),(%_ToName(z)),G,false);
}
function ObjectLookupGetter(z){
var F=this;
if((F===null)||(F===(void 0))){
F=%GlobalProxy(ObjectLookupGetter);
}
return %LookupAccessor((%_ToObject(F)),(%_ToName(z)),0);
}
function ObjectDefineSetter(z,E){
var F=this;
if((F===null)||(F===(void 0))){
F=%GlobalProxy(ObjectDefineSetter);
}
if(!(typeof(E)==='function')){
throw k(75);
}
var G=new PropertyDescriptor();
G.setSet(E);
G.setEnumerable(true);
G.setConfigurable(true);
DefineOwnProperty((%_ToObject(F)),(%_ToName(z)),G,false);
}
function ObjectLookupSetter(z){
var F=this;
if((F===null)||(F===(void 0))){
F=%GlobalProxy(ObjectLookupSetter);
}
return %LookupAccessor((%_ToObject(F)),(%_ToName(z)),1);
}
function IsAccessorDescriptor(G){
if((G===(void 0)))return false;
return G.hasGetter()||G.hasSetter();
}
function IsDataDescriptor(G){
if((G===(void 0)))return false;
return G.hasValue()||G.hasWritable();
}
function IsGenericDescriptor(G){
if((G===(void 0)))return false;
return!(IsAccessorDescriptor(G)||IsDataDescriptor(G));
}
function IsInconsistentDescriptor(G){
return IsAccessorDescriptor(G)&&IsDataDescriptor(G);
}
function FromGenericPropertyDescriptor(G){
if((G===(void 0)))return G;
var H=new f();
if(G.hasValue()){
%AddNamedProperty(H,"value",G.getValue(),0);
}
if(G.hasWritable()){
%AddNamedProperty(H,"writable",G.isWritable(),0);
}
if(G.hasGetter()){
%AddNamedProperty(H,"get",G.getGet(),0);
}
if(G.hasSetter()){
%AddNamedProperty(H,"set",G.getSet(),0);
}
if(G.hasEnumerable()){
%AddNamedProperty(H,"enumerable",G.isEnumerable(),0);
}
if(G.hasConfigurable()){
%AddNamedProperty(H,"configurable",G.isConfigurable(),0);
}
return H;
}
function ToPropertyDescriptor(H){
if(!(%_IsJSReceiver(H)))throw k(90,H);
var G=new PropertyDescriptor();
if("enumerable"in H){
G.setEnumerable((!!(H.enumerable)));
}
if("configurable"in H){
G.setConfigurable((!!(H.configurable)));
}
if("value"in H){
G.setValue(H.value);
}
if("writable"in H){
G.setWritable((!!(H.writable)));
}
if("get"in H){
var I=H.get;
if(!(I===(void 0))&&!(typeof(I)==='function')){
throw k(73,I);
}
G.setGet(I);
}
if("set"in H){
var J=H.set;
if(!(J===(void 0))&&!(typeof(J)==='function')){
throw k(76,J);
}
G.setSet(J);
}
if(IsInconsistentDescriptor(G)){
throw k(153,H);
}
return G;
}
function ToCompletePropertyDescriptor(H){
var G=ToPropertyDescriptor(H);
if(IsGenericDescriptor(G)||IsDataDescriptor(G)){
if(!G.hasValue())G.setValue((void 0));
if(!G.hasWritable())G.setWritable(false);
}else{
if(!G.hasGetter())G.setGet((void 0));
if(!G.hasSetter())G.setSet((void 0));
}
if(!G.hasEnumerable())G.setEnumerable(false);
if(!G.hasConfigurable())G.setConfigurable(false);
return G;
}
function PropertyDescriptor(){
this.value_=(void 0);
this.hasValue_=false;
this.writable_=false;
this.hasWritable_=false;
this.enumerable_=false;
this.hasEnumerable_=false;
this.configurable_=false;
this.hasConfigurable_=false;
this.get_=(void 0);
this.hasGetter_=false;
this.set_=(void 0);
this.hasSetter_=false;
}
b.SetUpLockedPrototype(PropertyDescriptor,[
"value_",
"hasValue_",
"writable_",
"hasWritable_",
"enumerable_",
"hasEnumerable_",
"configurable_",
"hasConfigurable_",
"get_",
"hasGetter_",
"set_",
"hasSetter_"
],[
"toString",function PropertyDescriptor_ToString(){
return"[object PropertyDescriptor]";
},
"setValue",function PropertyDescriptor_SetValue(y){
this.value_=y;
this.hasValue_=true;
},
"getValue",function PropertyDescriptor_GetValue(){
return this.value_;
},
"hasValue",function PropertyDescriptor_HasValue(){
return this.hasValue_;
},
"setEnumerable",function PropertyDescriptor_SetEnumerable(K){
this.enumerable_=K;
this.hasEnumerable_=true;
},
"isEnumerable",function PropertyDescriptor_IsEnumerable(){
return this.enumerable_;
},
"hasEnumerable",function PropertyDescriptor_HasEnumerable(){
return this.hasEnumerable_;
},
"setWritable",function PropertyDescriptor_SetWritable(L){
this.writable_=L;
this.hasWritable_=true;
},
"isWritable",function PropertyDescriptor_IsWritable(){
return this.writable_;
},
"hasWritable",function PropertyDescriptor_HasWritable(){
return this.hasWritable_;
},
"setConfigurable",
function PropertyDescriptor_SetConfigurable(M){
this.configurable_=M;
this.hasConfigurable_=true;
},
"hasConfigurable",function PropertyDescriptor_HasConfigurable(){
return this.hasConfigurable_;
},
"isConfigurable",function PropertyDescriptor_IsConfigurable(){
return this.configurable_;
},
"setGet",function PropertyDescriptor_SetGetter(I){
this.get_=I;
this.hasGetter_=true;
},
"getGet",function PropertyDescriptor_GetGetter(){
return this.get_;
},
"hasGetter",function PropertyDescriptor_HasGetter(){
return this.hasGetter_;
},
"setSet",function PropertyDescriptor_SetSetter(J){
this.set_=J;
this.hasSetter_=true;
},
"getSet",function PropertyDescriptor_GetSetter(){
return this.set_;
},
"hasSetter",function PropertyDescriptor_HasSetter(){
return this.hasSetter_;
}
]);
function ConvertDescriptorArrayToDescriptor(N){
if((N===(void 0))){
return(void 0);
}
var G=new PropertyDescriptor();
if(N[0]){
G.setGet(N[2]);
G.setSet(N[3]);
}else{
G.setValue(N[1]);
G.setWritable(N[4]);
}
G.setEnumerable(N[5]);
G.setConfigurable(N[6]);
return G;
}
function GetTrap(O,z,P){
var Q=O[z];
if((Q===(void 0))){
if((P===(void 0))){
throw k(41);
}
Q=P;
}else if(!(typeof(Q)==='function')){
throw k(41);
}
return Q;
}
function CallTrap1(O,z,P,R){
return %_Call(GetTrap(O,z,P),O,R);
}
function CallTrap2(O,z,P,R,S){
return %_Call(GetTrap(O,z,P),O,R,S);
}
function GetOwnPropertyJS(H,T){
var U=(%_ToName(T));
if((%_IsJSProxy(H))){
if((typeof(T)==='symbol'))return(void 0);
var O=%JSProxyGetHandler(H);
var V=CallTrap1(
O,"getOwnPropertyDescriptor",(void 0),U);
if((V===(void 0)))return V;
var G=ToCompletePropertyDescriptor(V);
if(!G.isConfigurable()){
throw k(41);
}
return G;
}
var W=%GetOwnProperty_Legacy((%_ToObject(H)),U);
return ConvertDescriptorArrayToDescriptor(W);
}
function GetMethod(H,U){
var X=H[U];
if((X==null))return(void 0);
if((typeof(X)==='function'))return X;
throw k(15,typeof X);
}
function DefineProxyProperty(H,U,x,Y){
if((typeof(U)==='symbol'))return false;
var O=%JSProxyGetHandler(H);
var Z=CallTrap2(O,"defineProperty",(void 0),U,x);
if(!Z){
if(Y){
throw k(41);
}else{
return false;
}
}
return true;
}
function DefineObjectProperty(H,U,G,Y){
var aa=%GetOwnProperty_Legacy(H,(%_ToName(U)));
var ab=ConvertDescriptorArrayToDescriptor(aa);
var ac=%object_is_extensible(H);
if((ab===(void 0))&&!ac){
if(Y){
throw k(34,U);
}else{
return false;
}
}
if(!(ab===(void 0))){
if((IsGenericDescriptor(G)||
IsDataDescriptor(G)==IsDataDescriptor(ab))&&
(!G.hasEnumerable()||
r(G.isEnumerable(),ab.isEnumerable()))&&
(!G.hasConfigurable()||
r(G.isConfigurable(),ab.isConfigurable()))&&
(!G.hasWritable()||
r(G.isWritable(),ab.isWritable()))&&
(!G.hasValue()||
r(G.getValue(),ab.getValue()))&&
(!G.hasGetter()||
r(G.getGet(),ab.getGet()))&&
(!G.hasSetter()||
r(G.getSet(),ab.getSet()))){
return true;
}
if(!ab.isConfigurable()){
if(G.isConfigurable()||
(G.hasEnumerable()&&
G.isEnumerable()!=ab.isEnumerable())){
if(Y){
throw k(126,U);
}else{
return false;
}
}
if(!IsGenericDescriptor(G)){
if(IsDataDescriptor(ab)!=IsDataDescriptor(G)){
if(Y){
throw k(126,U);
}else{
return false;
}
}
if(IsDataDescriptor(ab)&&IsDataDescriptor(G)){
var ad=ab.isWritable();
if(ad!=G.isWritable()){
if(!ad||(%IsStrong(H))){
if(Y){
throw ad
?k(146,H,U)
:k(126,U);
}else{
return false;
}
}
}
if(!ad&&G.hasValue()&&
!r(G.getValue(),ab.getValue())){
if(Y){
throw k(126,U);
}else{
return false;
}
}
}
if(IsAccessorDescriptor(G)&&IsAccessorDescriptor(ab)){
if(G.hasSetter()&&
!r(G.getSet(),ab.getSet())){
if(Y){
throw k(126,U);
}else{
return false;
}
}
if(G.hasGetter()&&!r(G.getGet(),ab.getGet())){
if(Y){
throw k(126,U);
}else{
return false;
}
}
}
}
}
}
var ae=0;
if(G.hasEnumerable()){
ae|=G.isEnumerable()?0:2;
}else if(!(ab===(void 0))){
ae|=ab.isEnumerable()?0:2;
}else{
ae|=2;
}
if(G.hasConfigurable()){
ae|=G.isConfigurable()?0:4;
}else if(!(ab===(void 0))){
ae|=ab.isConfigurable()?0:4;
}else
ae|=4;
if(IsDataDescriptor(G)||
(IsGenericDescriptor(G)&&
((ab===(void 0))||IsDataDescriptor(ab)))){
if(G.hasWritable()){
ae|=G.isWritable()?0:1;
}else if(!(ab===(void 0))){
ae|=ab.isWritable()?0:1;
}else{
ae|=1;
}
var y=(void 0);
if(G.hasValue()){
y=G.getValue();
}else if(!(ab===(void 0))&&IsDataDescriptor(ab)){
y=ab.getValue();
}
%DefineDataPropertyUnchecked(H,U,y,ae);
}else{
var af=null;
if(G.hasGetter()){
af=G.getGet();
}else if(IsAccessorDescriptor(ab)&&ab.hasGetter()){
af=ab.getGet();
}
var ag=null;
if(G.hasSetter()){
ag=G.getSet();
}else if(IsAccessorDescriptor(ab)&&ab.hasSetter()){
ag=ab.getSet();
}
%DefineAccessorPropertyUnchecked(H,U,af,ag,ae);
}
return true;
}
function DefineArrayProperty(H,U,G,Y){
if(!(typeof(U)==='symbol')){
var ah=((U)>>>0);
var ai=false;
if((%_ToString(ah))==U&&ah!=4294967295){
var aj=H.length;
if(ah>=aj&&%IsObserved(H)){
ai=true;
o(H);
}
var ak=GetOwnPropertyJS(H,"length");
if((ah>=aj&&!ak.isWritable())||
!DefineObjectProperty(H,U,G,true)){
if(ai)
p(H);
if(Y){
throw k(34,U);
}else{
return false;
}
}
if(ah>=aj){
H.length=ah+1;
}
if(ai){
p(H);
q(H,aj,[],ah+1-aj);
}
return true;
}
}
return DefineObjectProperty(H,U,G,Y);
}
function DefineOwnProperty(H,U,G,Y){
if((%_IsJSProxy(H))){
if((typeof(U)==='symbol'))return false;
var x=FromGenericPropertyDescriptor(G);
return DefineProxyProperty(H,U,x,Y);
}else if((%_IsArray(H))){
return DefineArrayProperty(H,U,G,Y);
}else{
return DefineObjectProperty(H,U,G,Y);
}
}
function ObjectGetPrototypeOf(H){
return %_GetPrototype((%_ToObject(H)));
}
function ObjectSetPrototypeOf(H,al){
if((%IS_VAR(H)===null)||(H===(void 0)))throw k(17,"Object.setPrototypeOf");
if(al!==null&&!(%_IsJSReceiver(al))){
throw k(92,al);
}
if((%_IsJSReceiver(H))){
%SetPrototype(H,al);
}
return H;
}
function ObjectGetOwnPropertyDescriptor(H,U){
return %GetOwnProperty(H,U);
}
function ObjectGetOwnPropertyNames(H){
H=(%_ToObject(H));
return %GetOwnPropertyKeys(H,16);
}
function ObjectDefineProperty(H,U,x){
if(%IsObserved(H)){
if(!(%_IsJSReceiver(H))){
throw k(16,"Object.defineProperty");
}
var z=(%_ToName(U));
var G=ToPropertyDescriptor(x);
DefineOwnProperty(H,z,G,true);
return H;
}
return %ObjectDefineProperty(H,U,x);
}
function GetOwnEnumerablePropertyNames(A){
return %GetOwnPropertyKeys(A,2);
}
function ObjectDefineProperties(H,am){
if(%IsObserved(H)){
if(!(%_IsJSReceiver(H))){
throw k(16,"Object.defineProperties");
}
var W=(%_ToObject(am));
var an=GetOwnEnumerablePropertyNames(W);
var ao=new g();
for(var ap=0;ap<an.length;ap++){
ao.push(ToPropertyDescriptor(W[an[ap]]));
}
for(var ap=0;ap<an.length;ap++){
DefineOwnProperty(H,an[ap],ao[ap],true);
}
return H;
}
return %ObjectDefineProperties(H,am);
}
function ObjectGetProto(){
return %_GetPrototype((%_ToObject(this)));
}
function ObjectSetProto(al){
if((%IS_VAR(this)===null)||(this===(void 0)))throw k(17,"Object.prototype.__proto__");
if(((%_IsJSReceiver(al))||(al===null))&&(%_IsJSReceiver(this))){
%SetPrototype(this,al);
}
}
function ObjectConstructor(R){
if(f!=new.target&&!(new.target===(void 0))){
return this;
}
if((R===null)||(R===(void 0)))return{};
return(%_ToObject(R));
}
%SetNativeFlag(f);
%SetCode(f,ObjectConstructor);
%AddNamedProperty(f.prototype,"constructor",f,
2);
b.InstallFunctions(f.prototype,2,[
"toString",n,
"toLocaleString",ObjectToLocaleString,
"valueOf",ObjectValueOf,
"hasOwnProperty",ObjectHasOwnProperty,
"isPrototypeOf",ObjectIsPrototypeOf,
"propertyIsEnumerable",ObjectPropertyIsEnumerable,
"__defineGetter__",ObjectDefineGetter,
"__lookupGetter__",ObjectLookupGetter,
"__defineSetter__",ObjectDefineSetter,
"__lookupSetter__",ObjectLookupSetter
]);
b.InstallGetterSetter(f.prototype,"__proto__",ObjectGetProto,
ObjectSetProto);
b.InstallFunctions(f,2,[
"defineProperty",ObjectDefineProperty,
"defineProperties",ObjectDefineProperties,
"getPrototypeOf",ObjectGetPrototypeOf,
"setPrototypeOf",ObjectSetPrototypeOf,
"getOwnPropertyDescriptor",ObjectGetOwnPropertyDescriptor,
"getOwnPropertyNames",ObjectGetOwnPropertyNames,
"is",r,
]);
function BooleanConstructor(R){
"use strict";
if(!(new.target===(void 0))){
%_SetValueOf(this,(!!(R)));
}else{
return(!!(R));
}
}
function BooleanToString(){
var aq=this;
if(!(typeof(aq)==='boolean')){
if(!(%_ClassOf(aq)==='Boolean')){
throw k(65,'Boolean.prototype.toString');
}
aq=%_ValueOf(aq);
}
return aq?'true':'false';
}
function BooleanValueOf(){
if(!(typeof(this)==='boolean')&&!(%_ClassOf(this)==='Boolean')){
throw k(65,'Boolean.prototype.valueOf');
}
return %_ValueOf(this);
}
%SetCode(d,BooleanConstructor);
%FunctionSetPrototype(d,new d(false));
%AddNamedProperty(d.prototype,"constructor",d,
2);
b.InstallFunctions(d.prototype,2,[
"toString",BooleanToString,
"valueOf",BooleanValueOf
]);
function NumberToStringJS(w){
var u=this;
if(!(typeof(this)==='number')){
if(!(%_ClassOf(this)==='Number')){
throw k(65,'Number.prototype.toString');
}
u=%_ValueOf(this);
}
if((w===(void 0))||w===10){
return %_NumberToString(u);
}
w=(%_ToInteger(w));
if(w<2||w>36)throw i(189);
return %NumberToRadixString(u,w);
}
function NumberToLocaleString(){
return %_Call(NumberToStringJS,this);
}
function NumberValueOf(){
if(!(typeof(this)==='number')&&!(%_ClassOf(this)==='Number')){
throw k(65,'Number.prototype.valueOf');
}
return %_ValueOf(this);
}
function NumberToFixedJS(ar){
var R=this;
if(!(typeof(this)==='number')){
if(!(%_ClassOf(this)==='Number')){
throw k(42,
"Number.prototype.toFixed",this);
}
R=%_ValueOf(this);
}
var as=(%_ToInteger(ar));
if(as<0||as>20){
throw i(185,"toFixed() digits");
}
if((!%_IsSmi(%IS_VAR(R))&&!(R==R)))return"NaN";
if(R==(1/0))return"Infinity";
if(R==-(1/0))return"-Infinity";
return %NumberToFixed(R,as);
}
function NumberToExponentialJS(ar){
var R=this;
if(!(typeof(this)==='number')){
if(!(%_ClassOf(this)==='Number')){
throw k(42,
"Number.prototype.toExponential",this);
}
R=%_ValueOf(this);
}
var as=(ar===(void 0))?(void 0):(%_ToInteger(ar));
if((!%_IsSmi(%IS_VAR(R))&&!(R==R)))return"NaN";
if(R==(1/0))return"Infinity";
if(R==-(1/0))return"-Infinity";
if((as===(void 0))){
as=-1;
}else if(as<0||as>20){
throw i(185,"toExponential()");
}
return %NumberToExponential(R,as);
}
function NumberToPrecisionJS(at){
var R=this;
if(!(typeof(this)==='number')){
if(!(%_ClassOf(this)==='Number')){
throw k(42,
"Number.prototype.toPrecision",this);
}
R=%_ValueOf(this);
}
if((at===(void 0)))return(%_ToString(R));
var U=(%_ToInteger(at));
if((!%_IsSmi(%IS_VAR(R))&&!(R==R)))return"NaN";
if(R==(1/0))return"Infinity";
if(R==-(1/0))return"-Infinity";
if(U<1||U>21){
throw i(188);
}
return %NumberToPrecision(R,U);
}
function NumberIsFinite(u){
return(typeof(u)==='number')&&(%_IsSmi(%IS_VAR(u))||((u==u)&&(u!=1/0)&&(u!=-1/0)));
}
function NumberIsInteger(u){
return NumberIsFinite(u)&&(%_ToInteger(u))==u;
}
function NumberIsNaN(u){
return(typeof(u)==='number')&&(!%_IsSmi(%IS_VAR(u))&&!(u==u));
}
function NumberIsSafeInteger(u){
if(NumberIsFinite(u)){
var au=(%_ToInteger(u));
if(au==u){
return l(au)<=9007199254740991;
}
}
return false;
}
%FunctionSetPrototype(e,new e(0));
%OptimizeObjectForAddingMultipleProperties(e.prototype,8);
%AddNamedProperty(e.prototype,"constructor",e,
2);
b.InstallConstants(e,[
"MAX_VALUE",1.7976931348623157e+308,
"MIN_VALUE",5e-324,
"NaN",m,
"NEGATIVE_INFINITY",-(1/0),
"POSITIVE_INFINITY",(1/0),
"MAX_SAFE_INTEGER",%_MathPow(2,53)-1,
"MIN_SAFE_INTEGER",-%_MathPow(2,53)+1,
"EPSILON",%_MathPow(2,-52)
]);
b.InstallFunctions(e.prototype,2,[
"toString",NumberToStringJS,
"toLocaleString",NumberToLocaleString,
"valueOf",NumberValueOf,
"toFixed",NumberToFixedJS,
"toExponential",NumberToExponentialJS,
"toPrecision",NumberToPrecisionJS
]);
b.InstallFunctions(e,2,[
"isFinite",NumberIsFinite,
"isInteger",NumberIsInteger,
"isNaN",NumberIsNaN,
"isSafeInteger",NumberIsSafeInteger,
"parseInt",GlobalParseInt,
"parseFloat",GlobalParseFloat
]);
%SetForceInlineFlag(NumberIsNaN);
function GetIterator(H,av){
if((av===(void 0))){
av=H[h];
}
if(!(typeof(av)==='function')){
throw k(66,H);
}
var aw=%_Call(av,H);
if(!(%_IsJSReceiver(aw))){
throw k(60,aw);
}
return aw;
}
b.Export(function(ax){
ax.GetIterator=GetIterator;
ax.GetMethod=GetMethod;
ax.IsFinite=GlobalIsFinite;
ax.IsNaN=GlobalIsNaN;
ax.NumberIsNaN=NumberIsNaN;
ax.ObjectDefineProperties=ObjectDefineProperties;
ax.ObjectDefineProperty=ObjectDefineProperty;
ax.ObjectHasOwnProperty=ObjectHasOwnProperty;
});
%InstallToContext([
"object_value_of",ObjectValueOf,
]);
})

symbol9
(function(a,b){
"use strict";
%CheckIsBootstrapping();
var c=a.Object;
var d=a.Symbol;
var e=b.ImportNow("has_instance_symbol");
var f=
b.ImportNow("is_concat_spreadable_symbol");
var g=b.ImportNow("iterator_symbol");
var h;
var i=b.ImportNow("to_primitive_symbol");
var j=b.ImportNow("to_string_tag_symbol");
var k=b.ImportNow("unscopables_symbol");
b.Import(function(l){
h=l.MakeTypeError;
});
function SymbolToPrimitive(m){
if(!((typeof(this)==='symbol')||(%_ClassOf(this)==='Symbol'))){
throw h(42,
"Symbol.prototype [ @@toPrimitive ]",this);
}
return %_ValueOf(this);
}
function SymbolToString(){
if(!((typeof(this)==='symbol')||(%_ClassOf(this)==='Symbol'))){
throw h(42,
"Symbol.prototype.toString",this);
}
return %SymbolDescriptiveString(%_ValueOf(this));
}
function SymbolValueOf(){
if(!((typeof(this)==='symbol')||(%_ClassOf(this)==='Symbol'))){
throw h(42,
"Symbol.prototype.valueOf",this);
}
return %_ValueOf(this);
}
function SymbolFor(n){
n=(%_ToString(n));
var o=%SymbolRegistry();
if((o.for[n]===(void 0))){
var p=%CreateSymbol(n);
o.for[n]=p;
o.keyFor[p]=n;
}
return o.for[n];
}
function SymbolKeyFor(p){
if(!(typeof(p)==='symbol'))throw h(148,p);
return %SymbolRegistry().keyFor[p];
}
function ObjectGetOwnPropertySymbols(q){
q=(%_ToObject(q));
return %GetOwnPropertyKeys(q,8);
}
%FunctionSetPrototype(d,new c());
b.InstallConstants(d,[
"iterator",g,
"toPrimitive",i,
"unscopables",k,
]);
b.InstallFunctions(d,2,[
"for",SymbolFor,
"keyFor",SymbolKeyFor
]);
%AddNamedProperty(
d.prototype,"constructor",d,2);
%AddNamedProperty(
d.prototype,j,"Symbol",2|1);
b.InstallFunctions(d.prototype,2|1,[
i,SymbolToPrimitive
]);
b.InstallFunctions(d.prototype,2,[
"toString",SymbolToString,
"valueOf",SymbolValueOf
]);
b.InstallFunctions(c,2,[
"getOwnPropertySymbols",ObjectGetOwnPropertySymbols
]);
b.Export(function(r){
r.SymbolToString=SymbolToString;
})
})

array¦±
(function(a,b,c){
"use strict";
%CheckIsBootstrapping();
var d;
var e;
var f;
var g;
var h;
var i=a.Array;
var j=b.InternalArray;
var k=b.InternalPackedArray;
var l;
var m;
var n;
var o;
var p;
var q=b.ImportNow("object_to_string");
var r;
var s;
var t;
var u;
var v=b.ImportNow("iterator_symbol");
var w=b.ImportNow("unscopables_symbol");
b.Import(function(x){
d=x.AddIndexedProperty;
g=x.GetIterator;
h=x.GetMethod;
l=x.MakeTypeError;
m=x.MaxSimple;
n=x.MinSimple;
o=x.ObjectDefineProperty;
p=x.ObjectHasOwnProperty;
r=x.ObserveBeginPerformSplice;
s=x.ObserveEndPerformSplice;
t=x.ObserveEnqueueSpliceRecord;
u=x.SameValueZero;
});
b.ImportFromExperimental(function(x){
e=x.FLAG_harmony_tolength;
f=x.FLAG_harmony_species;
});
function ArraySpeciesCreate(y,z){
var A;
if(f){
A=%ArraySpeciesConstructor(y);
}else{
A=i;
}
return new A(z);
}
function DefineIndexedProperty(y,B,C){
if(f){
var D=o(y,B,{
value:C,writable:true,configurable:true,enumerable:true
});
if(!D)throw l(137,B);
}else{
d(y,B,C);
}
}
var E=new j();
function GetSortedArrayKeys(y,F){
var G=new j();
if((typeof(F)==='number')){
var H=F;
for(var B=0;B<H;++B){
var I=y[B];
if(!(I===(void 0))||B in y){
G.push(B);
}
}
}else{
var z=F.length;
for(var J=0;J<z;++J){
var K=F[J];
if(!(K===(void 0))){
var I=y[K];
if(!(I===(void 0))||K in y){
G.push(K);
}
}
}
G.sort(function(L,M){return L-M;});
}
return G;
}
function SparseJoinWithSeparatorJS(y,N,O,P){
var G=GetSortedArrayKeys(y,%GetArrayKeys(y,N));
var Q=0;
var R=new j(G.length*2);
var S=-1;
for(var B=0;B<G.length;B++){
var K=G[B];
if(K!=S){
var I=y[K];
if(!(typeof(I)==='string'))I=O(I);
R[B*2]=K;
R[B*2+1]=I;
S=K;
}
}
return %SparseJoinWithSeparator(R,N,P);
}
function SparseJoin(y,N,O){
var G=GetSortedArrayKeys(y,%GetArrayKeys(y,N));
var T=-1;
var U=G.length;
var R=new j(U);
var V=0;
for(var B=0;B<U;B++){
var K=G[B];
if(K!=T){
var I=y[K];
if(!(typeof(I)==='string'))I=O(I);
R[V++]=I;
T=K;
}
}
return %StringBuilderConcat(R,V,'');
}
function UseSparseVariant(y,z,W,X){
if(!W||z<1000||%IsObserved(y)||
%HasComplexElements(y)){
return false;
}
if(!%_IsSmi(z)){
return true;
}
var Y=z>>2;
var Z=%EstimateNumberOfElements(y);
return(Z<Y)&&
(X>Z*4);
}
function Join(y,z,P,O){
if(z==0)return'';
var W=(%_IsArray(y));
if(W){
if(!%PushIfAbsent(E,y))return'';
}
try{
if(UseSparseVariant(y,z,W,z)){
%NormalizeElements(y);
if(P.length==0){
return SparseJoin(y,z,O);
}else{
return SparseJoinWithSeparatorJS(y,z,O,P);
}
}
if(z==1){
var I=y[0];
if((typeof(I)==='string'))return I;
return O(I);
}
var R=new j(z);
if(P.length==0){
var V=0;
for(var B=0;B<z;B++){
var I=y[B];
if(!(typeof(I)==='string'))I=O(I);
R[V++]=I;
}
R.length=V;
var D=%_FastOneByteArrayJoin(R,'');
if(!(D===(void 0)))return D;
return %StringBuilderConcat(R,V,'');
}
if(!(typeof(y[0])==='number')){
for(var B=0;B<z;B++){
var I=y[B];
if(!(typeof(I)==='string'))I=O(I);
R[B]=I;
}
}else{
for(var B=0;B<z;B++){
var I=y[B];
if((typeof(I)==='number')){
I=%_NumberToString(I);
}else if(!(typeof(I)==='string')){
I=O(I);
}
R[B]=I;
}
}
var D=%_FastOneByteArrayJoin(R,P);
if(!(D===(void 0)))return D;
return %StringBuilderJoin(R,z,P);
}finally{
if(W)E.length=E.length-1;
}
}
function ConvertToString(aa){
if((aa==null)){
return'';
}else{
return(%_ToString(aa));
}
}
function ConvertToLocaleString(I){
if((I==null)){
return'';
}else{
return(%_ToString(I.toLocaleString()));
}
}
function SparseSlice(y,ab,ac,N,ad){
var F=%GetArrayKeys(y,ab+ac);
if((typeof(F)==='number')){
var H=F;
for(var B=ab;B<H;++B){
var ae=y[B];
if(!(ae===(void 0))||B in y){
DefineIndexedProperty(ad,B-ab,ae);
}
}
}else{
var z=F.length;
for(var J=0;J<z;++J){
var K=F[J];
if(!(K===(void 0))){
if(K>=ab){
var ae=y[K];
if(!(ae===(void 0))||K in y){
DefineIndexedProperty(ad,K-ab,ae);
}
}
}
}
}
}
function SparseMove(y,ab,ac,N,af){
if(af===ac)return;
var ag=new j(
n(N-ac+af,0xffffffff));
var ah;
var F=%GetArrayKeys(y,N);
if((typeof(F)==='number')){
var H=F;
for(var B=0;B<ab&&B<H;++B){
var ae=y[B];
if(!(ae===(void 0))||B in y){
ag[B]=ae;
}
}
for(var B=ab+ac;B<H;++B){
var ae=y[B];
if(!(ae===(void 0))||B in y){
ag[B-ac+af]=ae;
}
}
}else{
var z=F.length;
for(var J=0;J<z;++J){
var K=F[J];
if(!(K===(void 0))){
if(K<ab){
var ae=y[K];
if(!(ae===(void 0))||K in y){
ag[K]=ae;
}
}else if(K>=ab+ac){
var ae=y[K];
if(!(ae===(void 0))||K in y){
var ai=K-ac+af;
ag[ai]=ae;
if(ai>0xfffffffe){
ah=ah||new j();
ah.push(ai);
}
}
}
}
}
}
%MoveArrayContents(ag,y);
if(!(ah===(void 0))){
var z=ah.length;
for(var B=0;B<z;++B){
var K=ah[B];
y[K]=ag[K];
}
}
}
function SimpleSlice(y,ab,ac,N,ad){
var W=(%_IsArray(y));
for(var B=0;B<ac;B++){
var aj=ab+B;
if(((W&&%_HasFastPackedElements(%IS_VAR(y)))?(aj<y.length):(aj in y))){
var ae=y[aj];
DefineIndexedProperty(ad,B,ae);
}
}
}
function SimpleMove(y,ab,ac,N,af){
var W=(%_IsArray(y));
if(af!==ac){
if(af>ac){
for(var B=N-ac;B>ab;B--){
var ak=B+ac-1;
var al=B+af-1;
if(((W&&%_HasFastPackedElements(%IS_VAR(y)))?(ak<y.length):(ak in y))){
y[al]=y[ak];
}else{
delete y[al];
}
}
}else{
for(var B=ab;B<N-ac;B++){
var ak=B+ac;
var al=B+af;
if(((W&&%_HasFastPackedElements(%IS_VAR(y)))?(ak<y.length):(ak in y))){
y[al]=y[ak];
}else{
delete y[al];
}
}
for(var B=N;B>N-ac+af;B--){
delete y[B-1];
}
}
}
}
function ArrayToString(){
var y;
var am;
if((%_IsArray(this))){
am=this.join;
if(am===ArrayJoin){
return Join(this,this.length,',',ConvertToString);
}
y=this;
}else{
y=(%_ToObject(this));
am=y.join;
}
if(!(typeof(am)==='function')){
return %_Call(q,y);
}
return %_Call(am,y);
}
function InnerArrayToLocaleString(y,z){
var N=(e?(%_ToLength(z)):((z)>>>0));
if(N===0)return"";
return Join(y,N,',',ConvertToLocaleString);
}
function ArrayToLocaleString(){
var y=(%_ToObject(this));
var an=y.length;
return InnerArrayToLocaleString(y,an);
}
function InnerArrayJoin(P,y,z){
if((P===(void 0))){
P=',';
}else{
P=(%_ToString(P));
}
var D=%_FastOneByteArrayJoin(y,P);
if(!(D===(void 0)))return D;
if(z===1){
var I=y[0];
if((I==null))return'';
return(%_ToString(I));
}
return Join(y,z,P,ConvertToString);
}
function ArrayJoin(P){
if((%IS_VAR(this)===null)||(this===(void 0)))throw l(17,"Array.prototype.join");
var y=(%_ToObject(this));
var z=(e?(%_ToLength(y.length)):((y.length)>>>0));
return InnerArrayJoin(P,y,z);
}
function ObservedArrayPop(ao){
ao--;
var C=this[ao];
try{
r(this);
delete this[ao];
this.length=ao;
}finally{
s(this);
t(this,ao,[C],0);
}
return C;
}
function ArrayPop(){
if((%IS_VAR(this)===null)||(this===(void 0)))throw l(17,"Array.prototype.pop");
var y=(%_ToObject(this));
var ao=(e?(%_ToLength(y.length)):((y.length)>>>0));
if(ao==0){
y.length=ao;
return;
}
if(%IsObserved(y))
return ObservedArrayPop.call(y,ao);
ao--;
var C=y[ao];
%DeleteProperty_Strict(y,ao);
y.length=ao;
return C;
}
function ObservedArrayPush(){
var ao=(e?(%_ToLength(this.length)):((this.length)>>>0));
var ap=%_ArgumentsLength();
try{
r(this);
for(var B=0;B<ap;B++){
this[B+ao]=%_Arguments(B);
}
var aq=ao+ap;
this.length=aq;
}finally{
s(this);
t(this,ao,[],ap);
}
return aq;
}
function ArrayPush(){
if((%IS_VAR(this)===null)||(this===(void 0)))throw l(17,"Array.prototype.push");
if(%IsObserved(this))
return ObservedArrayPush.apply(this,arguments);
var y=(%_ToObject(this));
var ao=(e?(%_ToLength(y.length)):((y.length)>>>0));
var ap=%_ArgumentsLength();
if(ap>(1<<30)||(ao-(1<<30))+ap>9007199254740991-(1<<30)){
throw l(228,ap,ao);
}
for(var B=0;B<ap;B++){
y[B+ao]=%_Arguments(B);
}
var aq=ao+ap;
y.length=aq;
return aq;
}
function SparseReverse(y,N){
var G=GetSortedArrayKeys(y,%GetArrayKeys(y,N));
var ar=G.length-1;
var as=0;
while(as<=ar){
var B=G[as];
var at=G[ar];
var au=N-at-1;
var av,aw;
if(au<=B){
aw=at;
while(G[--ar]==at){}
av=au;
}
if(au>=B){
av=B;
while(G[++as]==B){}
aw=N-B-1;
}
var ax=y[av];
if(!(ax===(void 0))||av in y){
var ay=y[aw];
if(!(ay===(void 0))||aw in y){
y[av]=ay;
y[aw]=ax;
}else{
y[aw]=ax;
delete y[av];
}
}else{
var ay=y[aw];
if(!(ay===(void 0))||aw in y){
y[av]=ay;
delete y[aw];
}
}
}
}
function PackedArrayReverse(y,N){
var at=N-1;
for(var B=0;B<at;B++,at--){
var ax=y[B];
var ay=y[at];
y[B]=ay;
y[at]=ax;
}
return y;
}
function GenericArrayReverse(y,N){
var at=N-1;
for(var B=0;B<at;B++,at--){
if(B in y){
var ax=y[B];
if(at in y){
var ay=y[at];
y[B]=ay;
y[at]=ax;
}else{
y[at]=ax;
delete y[B];
}
}else{
if(at in y){
var ay=y[at];
y[B]=ay;
delete y[at];
}
}
}
return y;
}
function ArrayReverse(){
if((%IS_VAR(this)===null)||(this===(void 0)))throw l(17,"Array.prototype.reverse");
var y=(%_ToObject(this));
var N=(e?(%_ToLength(y.length)):((y.length)>>>0));
var az=(%_IsArray(y));
if(UseSparseVariant(y,N,az,N)){
%NormalizeElements(y);
SparseReverse(y,N);
return y;
}else if(az&&%_HasFastPackedElements(y)){
return PackedArrayReverse(y,N);
}else{
return GenericArrayReverse(y,N);
}
}
function ObservedArrayShift(N){
var aA=this[0];
try{
r(this);
SimpleMove(this,0,1,N,0);
this.length=N-1;
}finally{
s(this);
t(this,0,[aA],0);
}
return aA;
}
function ArrayShift(){
if((%IS_VAR(this)===null)||(this===(void 0)))throw l(17,"Array.prototype.shift");
var y=(%_ToObject(this));
var N=(e?(%_ToLength(y.length)):((y.length)>>>0));
if(N===0){
y.length=0;
return;
}
if(%object_is_sealed(y))throw l(13);
if(%IsObserved(y))
return ObservedArrayShift.call(y,N);
var aA=y[0];
if(UseSparseVariant(y,N,(%_IsArray(y)),N)){
SparseMove(y,0,1,N,0);
}else{
SimpleMove(y,0,1,N,0);
}
y.length=N-1;
return aA;
}
function ObservedArrayUnshift(){
var N=(e?(%_ToLength(this.length)):((this.length)>>>0));
var aB=%_ArgumentsLength();
try{
r(this);
SimpleMove(this,0,0,N,aB);
for(var B=0;B<aB;B++){
this[B]=%_Arguments(B);
}
var aq=N+aB;
this.length=aq;
}finally{
s(this);
t(this,0,[],aB);
}
return aq;
}
function ArrayUnshift(aC){
if((%IS_VAR(this)===null)||(this===(void 0)))throw l(17,"Array.prototype.unshift");
if(%IsObserved(this))
return ObservedArrayUnshift.apply(this,arguments);
var y=(%_ToObject(this));
var N=(e?(%_ToLength(y.length)):((y.length)>>>0));
var aB=%_ArgumentsLength();
if(N>0&&UseSparseVariant(y,N,(%_IsArray(y)),N)&&
!%object_is_sealed(y)){
SparseMove(y,0,0,N,aB);
}else{
SimpleMove(y,0,0,N,aB);
}
for(var B=0;B<aB;B++){
y[B]=%_Arguments(B);
}
var aq=N+aB;
y.length=aq;
return aq;
}
function ArraySlice(aD,aE){
if((%IS_VAR(this)===null)||(this===(void 0)))throw l(17,"Array.prototype.slice");
var y=(%_ToObject(this));
var N=(e?(%_ToLength(y.length)):((y.length)>>>0));
var ab=(%_ToInteger(aD));
var aF=N;
if(!(aE===(void 0)))aF=(%_ToInteger(aE));
if(ab<0){
ab+=N;
if(ab<0)ab=0;
}else{
if(ab>N)ab=N;
}
if(aF<0){
aF+=N;
if(aF<0)aF=0;
}else{
if(aF>N)aF=N;
}
var D=ArraySpeciesCreate(y,m(aF-ab,0));
if(aF<ab)return D;
if(UseSparseVariant(y,N,(%_IsArray(y)),aF-ab)){
%NormalizeElements(y);
%NormalizeElements(D);
SparseSlice(y,ab,aF-ab,N,D);
}else{
SimpleSlice(y,ab,aF-ab,N,D);
}
D.length=aF-ab;
return D;
}
function ComputeSpliceStartIndex(ab,N){
if(ab<0){
ab+=N;
return ab<0?0:ab;
}
return ab>N?N:ab;
}
function ComputeSpliceDeleteCount(aG,aB,N,ab){
var ac=0;
if(aB==1)
return N-ab;
ac=(%_ToInteger(aG));
if(ac<0)
return 0;
if(ac>N-ab)
return N-ab;
return ac;
}
function ObservedArraySplice(aD,aG){
var aB=%_ArgumentsLength();
var N=(e?(%_ToLength(this.length)):((this.length)>>>0));
var ab=ComputeSpliceStartIndex((%_ToInteger(aD)),N);
var ac=ComputeSpliceDeleteCount(aG,aB,N,
ab);
var ad=[];
ad.length=ac;
var aH=aB>2?aB-2:0;
try{
r(this);
SimpleSlice(this,ab,ac,N,ad);
SimpleMove(this,ab,ac,N,aH);
var B=ab;
var aI=2;
var aJ=%_ArgumentsLength();
while(aI<aJ){
this[B++]=%_Arguments(aI++);
}
this.length=N-ac+aH;
}finally{
s(this);
if(ad.length||aH){
t(this,
ab,
ad.slice(),
aH);
}
}
return ad;
}
function ArraySplice(aD,aG){
if((%IS_VAR(this)===null)||(this===(void 0)))throw l(17,"Array.prototype.splice");
if(%IsObserved(this))
return ObservedArraySplice.apply(this,arguments);
var aB=%_ArgumentsLength();
var y=(%_ToObject(this));
var N=(e?(%_ToLength(y.length)):((y.length)>>>0));
var ab=ComputeSpliceStartIndex((%_ToInteger(aD)),N);
var ac=ComputeSpliceDeleteCount(aG,aB,N,
ab);
var ad=ArraySpeciesCreate(y,ac);
ad.length=ac;
var aH=aB>2?aB-2:0;
if(ac!=aH&&%object_is_sealed(y)){
throw l(13);
}else if(ac>0&&%object_is_frozen(y)){
throw l(12);
}
var aK=ac;
if(aH!=ac){
aK+=N-ab-ac;
}
if(UseSparseVariant(y,N,(%_IsArray(y)),aK)){
%NormalizeElements(y);
%NormalizeElements(ad);
SparseSlice(y,ab,ac,N,ad);
SparseMove(y,ab,ac,N,aH);
}else{
SimpleSlice(y,ab,ac,N,ad);
SimpleMove(y,ab,ac,N,aH);
}
var B=ab;
var aI=2;
var aJ=%_ArgumentsLength();
while(aI<aJ){
y[B++]=%_Arguments(aI++);
}
y.length=N-ac+aH;
return ad;
}
function InnerArraySort(y,z,aL){
if(!(typeof(aL)==='function')){
aL=function(aa,aM){
if(aa===aM)return 0;
if(%_IsSmi(aa)&&%_IsSmi(aM)){
return %SmiLexicographicCompare(aa,aM);
}
aa=(%_ToString(aa));
aM=(%_ToString(aM));
if(aa==aM)return 0;
else return aa<aM?-1:1;
};
}
var aN=function InsertionSort(L,x,aO){
for(var B=x+1;B<aO;B++){
var aP=L[B];
for(var at=B-1;at>=x;at--){
var aQ=L[at];
var aR=aL(aQ,aP);
if(aR>0){
L[at+1]=aQ;
}else{
break;
}
}
L[at+1]=aP;
}
};
var aS=function(L,x,aO){
var aT=new j();
var aU=200+((aO-x)&15);
var at=0;
x+=1;
aO-=1;
for(var B=x;B<aO;B+=aU){
aT[at]=[B,L[B]];
at++;
}
aT.sort(function(L,M){
return aL(L[1],M[1]);
});
var aV=aT[aT.length>>1][0];
return aV;
}
var aW=function QuickSort(L,x,aO){
var aV=0;
while(true){
if(aO-x<=10){
aN(L,x,aO);
return;
}
if(aO-x>1000){
aV=aS(L,x,aO);
}else{
aV=x+((aO-x)>>1);
}
var aX=L[x];
var aY=L[aO-1];
var aZ=L[aV];
var ba=aL(aX,aY);
if(ba>0){
var aQ=aX;
aX=aY;
aY=aQ;
}
var bb=aL(aX,aZ);
if(bb>=0){
var aQ=aX;
aX=aZ;
aZ=aY;
aY=aQ;
}else{
var bc=aL(aY,aZ);
if(bc>0){
var aQ=aY;
aY=aZ;
aZ=aQ;
}
}
L[x]=aX;
L[aO-1]=aZ;
var bd=aY;
var be=x+1;
var bf=aO-1;
L[aV]=L[be];
L[be]=bd;
partition:for(var B=be+1;B<bf;B++){
var aP=L[B];
var aR=aL(aP,bd);
if(aR<0){
L[B]=L[be];
L[be]=aP;
be++;
}else if(aR>0){
do{
bf--;
if(bf==B)break partition;
var bg=L[bf];
aR=aL(bg,bd);
}while(aR>0);
L[B]=L[bf];
L[bf]=aP;
if(aR<0){
aP=L[B];
L[B]=L[be];
L[be]=aP;
be++;
}
}
}
if(aO-bf<be-x){
aW(L,bf,aO);
aO=be;
}else{
aW(L,x,be);
x=bf;
}
}
};
var bh=function CopyFromPrototype(bi,z){
var bj=0;
for(var bk=%_GetPrototype(bi);bk;bk=%_GetPrototype(bk)){
var F=%GetArrayKeys(bk,z);
if((typeof(F)==='number')){
var bl=F;
for(var B=0;B<bl;B++){
if(!(%_Call(p,bi,B))&&(%_Call(p,bk,B))){
bi[B]=bk[B];
if(B>=bj){bj=B+1;}
}
}
}else{
for(var B=0;B<F.length;B++){
var aj=F[B];
if(!(aj===(void 0))&&!(%_Call(p,bi,aj))
&&(%_Call(p,bk,aj))){
bi[aj]=bk[aj];
if(aj>=bj){bj=aj+1;}
}
}
}
}
return bj;
};
var bm=function(bi,x,aO){
for(var bk=%_GetPrototype(bi);bk;bk=%_GetPrototype(bk)){
var F=%GetArrayKeys(bk,aO);
if((typeof(F)==='number')){
var bl=F;
for(var B=x;B<bl;B++){
if((%_Call(p,bk,B))){
bi[B]=(void 0);
}
}
}else{
for(var B=0;B<F.length;B++){
var aj=F[B];
if(!(aj===(void 0))&&x<=aj&&
(%_Call(p,bk,aj))){
bi[aj]=(void 0);
}
}
}
}
};
var bn=function SafeRemoveArrayHoles(bi){
var bo=0;
var bp=z-1;
var bq=0;
while(bo<bp){
while(bo<bp&&
!(bi[bo]===(void 0))){
bo++;
}
if(!(%_Call(p,bi,bo))){
bq++;
}
while(bo<bp&&
(bi[bp]===(void 0))){
if(!(%_Call(p,bi,bp))){
bq++;
}
bp--;
}
if(bo<bp){
bi[bo]=bi[bp];
bi[bp]=(void 0);
}
}
if(!(bi[bo]===(void 0)))bo++;
var B;
for(B=bo;B<z-bq;B++){
bi[B]=(void 0);
}
for(B=z-bq;B<z;B++){
if(B in %_GetPrototype(bi)){
bi[B]=(void 0);
}else{
delete bi[B];
}
}
return bo;
};
if(z<2)return y;
var W=(%_IsArray(y));
var br;
if(!W){
br=bh(y,z);
}
var bs=%RemoveArrayHoles(y,z);
if(bs==-1){
bs=bn(y);
}
aW(y,0,bs);
if(!W&&(bs+1<br)){
bm(y,bs,br);
}
return y;
}
function ArraySort(aL){
if((%IS_VAR(this)===null)||(this===(void 0)))throw l(17,"Array.prototype.sort");
var y=(%_ToObject(this));
var z=(e?(%_ToLength(y.length)):((y.length)>>>0));
return InnerArraySort(y,z,aL);
}
function InnerArrayFilter(bt,bu,y,z,D){
var bv=0;
var W=(%_IsArray(y));
for(var B=0;B<z;B++){
if(((W&&%_HasFastPackedElements(%IS_VAR(y)))?(B<y.length):(B in y))){
var aP=y[B];
if(%_Call(bt,bu,aP,B,y)){
DefineIndexedProperty(D,bv,aP);
bv++;
}
}
}
return D;
}
function ArrayFilter(bt,bu){
if((%IS_VAR(this)===null)||(this===(void 0)))throw l(17,"Array.prototype.filter");
var y=(%_ToObject(this));
var z=(e?(%_ToLength(y.length)):((y.length)>>>0));
if(!(typeof(bt)==='function'))throw l(15,bt);
var D=ArraySpeciesCreate(y,0);
return InnerArrayFilter(bt,bu,y,z,D);
}
function InnerArrayForEach(bt,bu,y,z){
if(!(typeof(bt)==='function'))throw l(15,bt);
var W=(%_IsArray(y));
for(var B=0;B<z;B++){
if(((W&&%_HasFastPackedElements(%IS_VAR(y)))?(B<y.length):(B in y))){
var aP=y[B];
%_Call(bt,bu,aP,B,y);
}
}
}
function ArrayForEach(bt,bu){
if((%IS_VAR(this)===null)||(this===(void 0)))throw l(17,"Array.prototype.forEach");
var y=(%_ToObject(this));
var z=(e?(%_ToLength(y.length)):((y.length)>>>0));
InnerArrayForEach(bt,bu,y,z);
}
function InnerArraySome(bt,bu,y,z){
if(!(typeof(bt)==='function'))throw l(15,bt);
var W=(%_IsArray(y));
for(var B=0;B<z;B++){
if(((W&&%_HasFastPackedElements(%IS_VAR(y)))?(B<y.length):(B in y))){
var aP=y[B];
if(%_Call(bt,bu,aP,B,y))return true;
}
}
return false;
}
function ArraySome(bt,bu){
if((%IS_VAR(this)===null)||(this===(void 0)))throw l(17,"Array.prototype.some");
var y=(%_ToObject(this));
var z=(e?(%_ToLength(y.length)):((y.length)>>>0));
return InnerArraySome(bt,bu,y,z);
}
function InnerArrayEvery(bt,bu,y,z){
if(!(typeof(bt)==='function'))throw l(15,bt);
var W=(%_IsArray(y));
for(var B=0;B<z;B++){
if(((W&&%_HasFastPackedElements(%IS_VAR(y)))?(B<y.length):(B in y))){
var aP=y[B];
if(!%_Call(bt,bu,aP,B,y))return false;
}
}
return true;
}
function ArrayEvery(bt,bu){
if((%IS_VAR(this)===null)||(this===(void 0)))throw l(17,"Array.prototype.every");
var y=(%_ToObject(this));
var z=(e?(%_ToLength(y.length)):((y.length)>>>0));
return InnerArrayEvery(bt,bu,y,z);
}
function ArrayMap(bt,bu){
if((%IS_VAR(this)===null)||(this===(void 0)))throw l(17,"Array.prototype.map");
var y=(%_ToObject(this));
var z=(e?(%_ToLength(y.length)):((y.length)>>>0));
if(!(typeof(bt)==='function'))throw l(15,bt);
var D=ArraySpeciesCreate(y,z);
var W=(%_IsArray(y));
for(var B=0;B<z;B++){
if(((W&&%_HasFastPackedElements(%IS_VAR(y)))?(B<y.length):(B in y))){
var aP=y[B];
DefineIndexedProperty(D,B,%_Call(bt,bu,aP,B,y));
}
}
return D;
}
function InnerArrayIndexOf(y,aP,aj,z){
if(z==0)return-1;
if((aj===(void 0))){
aj=0;
}else{
aj=(%_ToInteger(aj));
if(aj<0){
aj=z+aj;
if(aj<0)aj=0;
}
}
var bw=aj;
var bj=z;
if(UseSparseVariant(y,z,(%_IsArray(y)),bj-bw)){
%NormalizeElements(y);
var F=%GetArrayKeys(y,z);
if((typeof(F)==='number')){
bj=F;
}else{
if(F.length==0)return-1;
var bx=GetSortedArrayKeys(y,F);
var ao=bx.length;
var B=0;
while(B<ao&&bx[B]<aj)B++;
while(B<ao){
var K=bx[B];
if(!(K===(void 0))&&y[K]===aP)return K;
B++;
}
return-1;
}
}
if(!(aP===(void 0))){
for(var B=bw;B<bj;B++){
if(y[B]===aP)return B;
}
return-1;
}
for(var B=bw;B<bj;B++){
if((y[B]===(void 0))&&B in y){
return B;
}
}
return-1;
}
function ArrayIndexOf(aP,aj){
if((%IS_VAR(this)===null)||(this===(void 0)))throw l(17,"Array.prototype.indexOf");
var z=(e?(%_ToLength(this.length)):((this.length)>>>0));
return InnerArrayIndexOf(this,aP,aj,z);
}
function InnerArrayLastIndexOf(y,aP,aj,z,by){
if(z==0)return-1;
if(by<2){
aj=z-1;
}else{
aj=(%_ToInteger(aj));
if(aj<0)aj+=z;
if(aj<0)return-1;
else if(aj>=z)aj=z-1;
}
var bw=0;
var bj=aj;
if(UseSparseVariant(y,z,(%_IsArray(y)),aj)){
%NormalizeElements(y);
var F=%GetArrayKeys(y,aj+1);
if((typeof(F)==='number')){
bj=F;
}else{
if(F.length==0)return-1;
var bx=GetSortedArrayKeys(y,F);
var B=bx.length-1;
while(B>=0){
var K=bx[B];
if(!(K===(void 0))&&y[K]===aP)return K;
B--;
}
return-1;
}
}
if(!(aP===(void 0))){
for(var B=bj;B>=bw;B--){
if(y[B]===aP)return B;
}
return-1;
}
for(var B=bj;B>=bw;B--){
if((y[B]===(void 0))&&B in y){
return B;
}
}
return-1;
}
function ArrayLastIndexOf(aP,aj){
if((%IS_VAR(this)===null)||(this===(void 0)))throw l(17,"Array.prototype.lastIndexOf");
var z=(e?(%_ToLength(this.length)):((this.length)>>>0));
return InnerArrayLastIndexOf(this,aP,aj,z,
%_ArgumentsLength());
}
function InnerArrayReduce(bz,ae,y,z,by){
if(!(typeof(bz)==='function')){
throw l(15,bz);
}
var W=(%_IsArray(y));
var B=0;
find_initial:if(by<2){
for(;B<z;B++){
if(((W&&%_HasFastPackedElements(%IS_VAR(y)))?(B<y.length):(B in y))){
ae=y[B++];
break find_initial;
}
}
throw l(128);
}
for(;B<z;B++){
if(((W&&%_HasFastPackedElements(%IS_VAR(y)))?(B<y.length):(B in y))){
var aP=y[B];
ae=bz(ae,aP,B,y);
}
}
return ae;
}
function ArrayReduce(bz,ae){
if((%IS_VAR(this)===null)||(this===(void 0)))throw l(17,"Array.prototype.reduce");
var y=(%_ToObject(this));
var z=(e?(%_ToLength(y.length)):((y.length)>>>0));
return InnerArrayReduce(bz,ae,y,z,
%_ArgumentsLength());
}
function InnerArrayReduceRight(bz,ae,y,z,
by){
if(!(typeof(bz)==='function')){
throw l(15,bz);
}
var W=(%_IsArray(y));
var B=z-1;
find_initial:if(by<2){
for(;B>=0;B--){
if(((W&&%_HasFastPackedElements(%IS_VAR(y)))?(B<y.length):(B in y))){
ae=y[B--];
break find_initial;
}
}
throw l(128);
}
for(;B>=0;B--){
if(((W&&%_HasFastPackedElements(%IS_VAR(y)))?(B<y.length):(B in y))){
var aP=y[B];
ae=bz(ae,aP,B,y);
}
}
return ae;
}
function ArrayReduceRight(bz,ae){
if((%IS_VAR(this)===null)||(this===(void 0)))throw l(17,"Array.prototype.reduceRight");
var y=(%_ToObject(this));
var z=(e?(%_ToLength(y.length)):((y.length)>>>0));
return InnerArrayReduceRight(bz,ae,y,z,
%_ArgumentsLength());
}
function InnerArrayCopyWithin(bA,aD,aE,y,z){
bA=(%_ToInteger(bA));
var aO;
if(bA<0){
aO=m(z+bA,0);
}else{
aO=n(bA,z);
}
aD=(%_ToInteger(aD));
var x;
if(aD<0){
x=m(z+aD,0);
}else{
x=n(aD,z);
}
aE=(aE===(void 0))?z:(%_ToInteger(aE));
var bB;
if(aE<0){
bB=m(z+aE,0);
}else{
bB=n(aE,z);
}
var bC=n(bB-x,z-aO);
var bD=1;
if(x<aO&&aO<(x+bC)){
bD=-1;
x=x+bC-1;
aO=aO+bC-1;
}
while(bC>0){
if(x in y){
y[aO]=y[x];
}else{
delete y[aO];
}
x=x+bD;
aO=aO+bD;
bC--;
}
return y;
}
function ArrayCopyWithin(bA,aD,aE){
if((%IS_VAR(this)===null)||(this===(void 0)))throw l(17,"Array.prototype.copyWithin");
var y=(%_ToObject(this));
var z=(%_ToLength(y.length));
return InnerArrayCopyWithin(bA,aD,aE,y,z);
}
function InnerArrayFind(bE,bF,y,z){
if(!(typeof(bE)==='function')){
throw l(15,bE);
}
for(var B=0;B<z;B++){
var aP=y[B];
if(%_Call(bE,bF,aP,B,y)){
return aP;
}
}
return;
}
function ArrayFind(bE,bF){
if((%IS_VAR(this)===null)||(this===(void 0)))throw l(17,"Array.prototype.find");
var y=(%_ToObject(this));
var z=(%_ToInteger(y.length));
return InnerArrayFind(bE,bF,y,z);
}
function InnerArrayFindIndex(bE,bF,y,z){
if(!(typeof(bE)==='function')){
throw l(15,bE);
}
for(var B=0;B<z;B++){
var aP=y[B];
if(%_Call(bE,bF,aP,B,y)){
return B;
}
}
return-1;
}
function ArrayFindIndex(bE,bF){
if((%IS_VAR(this)===null)||(this===(void 0)))throw l(17,"Array.prototype.findIndex");
var y=(%_ToObject(this));
var z=(%_ToInteger(y.length));
return InnerArrayFindIndex(bE,bF,y,z);
}
function InnerArrayFill(C,aD,aE,y,z){
var B=(aD===(void 0))?0:(%_ToInteger(aD));
var aE=(aE===(void 0))?z:(%_ToInteger(aE));
if(B<0){
B+=z;
if(B<0)B=0;
}else{
if(B>z)B=z;
}
if(aE<0){
aE+=z;
if(aE<0)aE=0;
}else{
if(aE>z)aE=z;
}
if((aE-B)>0&&%object_is_frozen(y)){
throw l(12);
}
for(;B<aE;B++)
y[B]=C;
return y;
}
function ArrayFill(C,aD,aE){
if((%IS_VAR(this)===null)||(this===(void 0)))throw l(17,"Array.prototype.fill");
var y=(%_ToObject(this));
var z=(e?(%_ToLength(y.length)):((y.length)>>>0));
return InnerArrayFill(C,aD,aE,y,z);
}
function InnerArrayIncludes(bG,bH,y,z){
if(z===0){
return false;
}
var ao=(%_ToInteger(bH));
var J;
if(ao>=0){
J=ao;
}else{
J=z+ao;
if(J<0){
J=0;
}
}
while(J<z){
var bI=y[J];
if(u(bG,bI)){
return true;
}
++J;
}
return false;
}
function ArrayIncludes(bG,bH){
if((%IS_VAR(this)===null)||(this===(void 0)))throw l(17,"Array.prototype.includes");
var y=(%_ToObject(this));
var z=(%_ToLength(y.length));
return InnerArrayIncludes(bG,bH,y,z);
}
function AddArrayElement(A,y,B,C){
if(A===i){
d(y,B,C);
}else{
o(y,B,{
value:C,writable:true,configurable:true,enumerable:true
});
}
}
function ArrayFrom(bJ,bK,bu){
var bL=(%_ToObject(bJ));
var bM=!(bK===(void 0));
if(bM){
if(!(typeof(bK)==='function')){
throw l(15,bK);
}
}
var bN=h(bL,v);
var J;
var D;
var bO;
var bP;
if(!(bN===(void 0))){
D=%IsConstructor(this)?new this():[];
var bQ=g(bL,bN);
J=0;
while(true){
var bR=bQ.next();
if(!(%_IsJSReceiver(bR))){
throw l(48,bR);
}
if(bR.done){
D.length=J;
return D;
}
bP=bR.value;
if(bM){
bO=%_Call(bK,bu,bP,J);
}else{
bO=bP;
}
AddArrayElement(this,D,J,bO);
J++;
}
}else{
var N=(%_ToLength(bL.length));
D=%IsConstructor(this)?new this(N):new i(N);
for(J=0;J<N;++J){
bP=bL[J];
if(bM){
bO=%_Call(bK,bu,bP,J);
}else{
bO=bP;
}
AddArrayElement(this,D,J,bO);
}
D.length=J;
return D;
}
}
function ArrayOf(){
var z=%_ArgumentsLength();
var A=this;
var y=%IsConstructor(A)?new A(z):[];
for(var B=0;B<z;B++){
AddArrayElement(A,y,B,%_Arguments(B));
}
y.length=z;
return y;
}
%AddNamedProperty(i.prototype,"constructor",i,
2);
var bS={
__proto__:null,
copyWithin:true,
entries:true,
fill:true,
find:true,
findIndex:true,
keys:true,
};
%AddNamedProperty(i.prototype,w,bS,
2|1);
%FunctionSetLength(ArrayFrom,1);
b.InstallFunctions(i,2,[
"from",ArrayFrom,
"of",ArrayOf
]);
var bT=%SpecialArrayFunctions();
var bU=function(bV,bW,N){
var bt=bW;
if(bT.hasOwnProperty(bV)){
bt=bT[bV];
}
if(!(N===(void 0))){
%FunctionSetLength(bt,N);
}
return bt;
};
b.InstallFunctions(i.prototype,2,[
"toString",bU("toString",ArrayToString),
"toLocaleString",bU("toLocaleString",ArrayToLocaleString),
"join",bU("join",ArrayJoin),
"pop",bU("pop",ArrayPop),
"push",bU("push",ArrayPush,1),
"reverse",bU("reverse",ArrayReverse),
"shift",bU("shift",ArrayShift),
"unshift",bU("unshift",ArrayUnshift,1),
"slice",bU("slice",ArraySlice,2),
"splice",bU("splice",ArraySplice,2),
"sort",bU("sort",ArraySort),
"filter",bU("filter",ArrayFilter,1),
"forEach",bU("forEach",ArrayForEach,1),
"some",bU("some",ArraySome,1),
"every",bU("every",ArrayEvery,1),
"map",bU("map",ArrayMap,1),
"indexOf",bU("indexOf",ArrayIndexOf,1),
"lastIndexOf",bU("lastIndexOf",ArrayLastIndexOf,1),
"reduce",bU("reduce",ArrayReduce,1),
"reduceRight",bU("reduceRight",ArrayReduceRight,1),
"copyWithin",bU("copyWithin",ArrayCopyWithin,2),
"find",bU("find",ArrayFind,1),
"findIndex",bU("findIndex",ArrayFindIndex,1),
"fill",bU("fill",ArrayFill,1),
"includes",bU("includes",ArrayIncludes,1),
]);
%FinishArrayPrototypeSetup(i.prototype);
b.SetUpLockedPrototype(j,i(),[
"indexOf",bU("indexOf",ArrayIndexOf),
"join",bU("join",ArrayJoin),
"pop",bU("pop",ArrayPop),
"push",bU("push",ArrayPush),
"shift",bU("shift",ArrayShift),
"sort",bU("sort",ArraySort),
"splice",bU("splice",ArraySplice)
]);
b.SetUpLockedPrototype(k,i(),[
"join",bU("join",ArrayJoin),
"pop",bU("pop",ArrayPop),
"push",bU("push",ArrayPush),
"shift",bU("shift",ArrayShift)
]);
b.SetUpLockedPrototype(c.InternalPackedArray,i(),[
"push",bU("push",ArrayPush),
"pop",bU("pop",ArrayPop),
"shift",bU("shift",ArrayShift),
"unshift",bU("unshift",ArrayUnshift),
"splice",bU("splice",ArraySplice),
"slice",bU("slice",ArraySlice)
]);
b.Export(function(aO){
aO.ArrayFrom=ArrayFrom;
aO.ArrayIndexOf=ArrayIndexOf;
aO.ArrayJoin=ArrayJoin;
aO.ArrayPush=ArrayPush;
aO.ArrayToString=ArrayToString;
aO.InnerArrayCopyWithin=InnerArrayCopyWithin;
aO.InnerArrayEvery=InnerArrayEvery;
aO.InnerArrayFill=InnerArrayFill;
aO.InnerArrayFilter=InnerArrayFilter;
aO.InnerArrayFind=InnerArrayFind;
aO.InnerArrayFindIndex=InnerArrayFindIndex;
aO.InnerArrayForEach=InnerArrayForEach;
aO.InnerArrayIncludes=InnerArrayIncludes;
aO.InnerArrayIndexOf=InnerArrayIndexOf;
aO.InnerArrayJoin=InnerArrayJoin;
aO.InnerArrayLastIndexOf=InnerArrayLastIndexOf;
aO.InnerArrayReduce=InnerArrayReduce;
aO.InnerArrayReduceRight=InnerArrayReduceRight;
aO.InnerArraySome=InnerArraySome;
aO.InnerArraySort=InnerArraySort;
aO.InnerArrayToLocaleString=InnerArrayToLocaleString;
aO.PackedArrayReverse=PackedArrayReverse;
});
%InstallToContext([
"array_pop",ArrayPop,
"array_push",ArrayPush,
"array_shift",ArrayShift,
"array_splice",ArraySplice,
"array_slice",ArraySlice,
"array_unshift",ArrayUnshift,
]);
});

string:
(function(a,b){
%CheckIsBootstrapping();
var c;
var d;
var e=a.RegExp;
var f=a.String;
var g=b.InternalArray;
var h=b.InternalPackedArray;
var i;
var j;
var k;
var l;
var m=b.ImportNow("match_symbol");
var n;
var o;
var p;
var q=b.ImportNow("search_symbol");
var r=b.ImportNow("split_symbol");
b.Import(function(s){
c=s.ArrayIndexOf;
d=s.ArrayJoin;
i=s.MakeRangeError;
j=s.MakeTypeError;
k=s.MathMax;
l=s.MathMin;
n=s.RegExpExec;
o=s.RegExpExecNoTests;
p=s.RegExpLastMatchInfo;
});
function StringToString(){
if(!(typeof(this)==='string')&&!(%_ClassOf(this)==='String')){
throw j(65,'String.prototype.toString');
}
return %_ValueOf(this);
}
function StringValueOf(){
if(!(typeof(this)==='string')&&!(%_ClassOf(this)==='String')){
throw j(65,'String.prototype.valueOf');
}
return %_ValueOf(this);
}
function StringCharAtJS(t){
if((%IS_VAR(this)===null)||(this===(void 0)))throw j(17,"String.prototype.charAt");
var u=%_StringCharAt(this,t);
if(%_IsSmi(u)){
u=%_StringCharAt((%_ToString(this)),(%_ToInteger(t)));
}
return u;
}
function StringCharCodeAtJS(t){
if((%IS_VAR(this)===null)||(this===(void 0)))throw j(17,"String.prototype.charCodeAt");
var u=%_StringCharCodeAt(this,t);
if(!%_IsSmi(u)){
u=%_StringCharCodeAt((%_ToString(this)),(%_ToInteger(t)));
}
return u;
}
function StringConcat(v){
if((%IS_VAR(this)===null)||(this===(void 0)))throw j(17,"String.prototype.concat");
var w=%_ArgumentsLength();
var x=(%_ToString(this));
if(w===1){
return x+(%_ToString(v));
}
var y=new g(w+1);
y[0]=x;
for(var z=0;z<w;z++){
var A=%_Arguments(z);
y[z+1]=(%_ToString(A));
}
return %StringBuilderConcat(y,w+1,"");
}
function StringIndexOfJS(B){
if((%IS_VAR(this)===null)||(this===(void 0)))throw j(17,"String.prototype.indexOf");
var C=(%_ToString(this));
B=(%_ToString(B));
var D=0;
if(%_ArgumentsLength()>1){
D=%_Arguments(1);
D=(%_ToInteger(D));
if(D<0)D=0;
if(D>C.length)D=C.length;
}
return %StringIndexOf(C,B,D);
}
function StringLastIndexOfJS(E){
if((%IS_VAR(this)===null)||(this===(void 0)))throw j(17,"String.prototype.lastIndexOf");
var F=(%_ToString(this));
var G=F.length;
var E=(%_ToString(E));
var H=E.length;
var D=G-H;
if(%_ArgumentsLength()>1){
var I=(%_ToNumber(%_Arguments(1)));
if(!(!%_IsSmi(%IS_VAR(I))&&!(I==I))){
I=(%_ToInteger(I));
if(I<0){
I=0;
}
if(I+H<G){
D=I;
}
}
}
if(D<0){
return-1;
}
return %StringLastIndexOf(F,E,D);
}
function StringLocaleCompareJS(v){
if((%IS_VAR(this)===null)||(this===(void 0)))throw j(17,"String.prototype.localeCompare");
return %StringLocaleCompare((%_ToString(this)),(%_ToString(v)));
}
function StringMatchJS(B){
if((%IS_VAR(this)===null)||(this===(void 0)))throw j(17,"String.prototype.match");
if(!(B==null)){
var J=B[m];
if(!(J===(void 0))){
return %_Call(J,B,this);
}
}
var C=(%_ToString(this));
var K=new e(B);
return o(K,C,0);
}
function StringNormalizeJS(){
if((%IS_VAR(this)===null)||(this===(void 0)))throw j(17,"String.prototype.normalize");
var L=(%_ToString(this));
var M=%_Arguments(0);
var N=(M===(void 0))?'NFC':(%_ToString(M));
var O=['NFC','NFD','NFKC','NFKD'];
var P=%_Call(c,O,N);
if(P===-1){
throw i(184,
%_Call(d,O,', '));
}
return L;
}
var Q=[2,"","",-1,-1];
function StringReplace(R,S){
if((%IS_VAR(this)===null)||(this===(void 0)))throw j(17,"String.prototype.replace");
var C=(%_ToString(this));
if((%_IsRegExp(R))){
if(!(typeof(S)==='function')){
S=(%_ToString(S));
if(!(%_RegExpFlags(R)&1)){
var T=n(R,C,0);
if(T==null){
R.lastIndex=0
return C;
}
if(S.length==0){
return %_SubString(C,0,T[3])+
%_SubString(C,T[4],C.length)
}
return ExpandReplacement(S,C,p,
%_SubString(C,0,T[3]))+
%_SubString(C,T[4],C.length);
}
R.lastIndex=0;
return %StringReplaceGlobalRegExpWithString(
C,R,S,p);
}
if((%_RegExpFlags(R)&1)){
return StringReplaceGlobalRegExpWithFunction(C,R,S);
}
return StringReplaceNonGlobalRegExpWithFunction(C,R,S);
}
R=(%_ToString(R));
if(R.length==1&&
C.length>0xFF&&
(typeof(S)==='string')&&
%StringIndexOf(S,'$',0)<0){
return %StringReplaceOneCharWithString(C,R,S);
}
var U=%StringIndexOf(C,R,0);
if(U<0)return C;
var V=U+R.length;
var u=%_SubString(C,0,U);
if((typeof(S)==='function')){
u+=S(R,U,C);
}else{
Q[3]=U;
Q[4]=V;
u=ExpandReplacement((%_ToString(S)),
C,
Q,
u);
}
return u+%_SubString(C,V,C.length);
}
function ExpandReplacement(W,C,X,u){
var Y=W.length;
var Z=%StringIndexOf(W,'$',0);
if(Z<0){
if(Y>0)u+=W;
return u;
}
if(Z>0)u+=%_SubString(W,0,Z);
while(true){
var aa='$';
var I=Z+1;
if(I<Y){
var ab=%_StringCharCodeAt(W,I);
if(ab==36){
++I;
u+='$';
}else if(ab==38){
++I;
u+=
%_SubString(C,X[3],X[4]);
}else if(ab==96){
++I;
u+=%_SubString(C,0,X[3]);
}else if(ab==39){
++I;
u+=%_SubString(C,X[4],C.length);
}else if(ab>=48&&ab<=57){
var ac=(ab-48)<<1;
var ad=1;
var ae=((X)[0]);
if(I+1<W.length){
var Z=%_StringCharCodeAt(W,I+1);
if(Z>=48&&Z<=57){
var af=ac*10+((Z-48)<<1);
if(af<ae){
ac=af;
ad=2;
}
}
}
if(ac!=0&&ac<ae){
var U=X[(3+(ac))];
if(U>=0){
u+=
%_SubString(C,U,X[(3+(ac+1))]);
}
I+=ad;
}else{
u+='$';
}
}else{
u+='$';
}
}else{
u+='$';
}
Z=%StringIndexOf(W,'$',I);
if(Z<0){
if(I<Y){
u+=%_SubString(W,I,Y);
}
return u;
}
if(Z>I){
u+=%_SubString(W,I,Z);
}
}
return u;
}
function CaptureString(W,ag,D){
var ah=D<<1;
var U=ag[(3+(ah))];
if(U<0)return;
var V=ag[(3+(ah+1))];
return %_SubString(W,U,V);
}
var ai=new g(4);
function StringReplaceGlobalRegExpWithFunction(C,K,S){
var aj=ai;
if(aj){
ai=null;
}else{
aj=new g(16);
}
var ak=%RegExpExecMultiple(K,
C,
p,
aj);
K.lastIndex=0;
if((ak===null)){
ai=aj;
return C;
}
var w=ak.length;
if(((p)[0])==2){
var al=0;
for(var z=0;z<w;z++){
var am=ak[z];
if(%_IsSmi(am)){
if(am>0){
al=(am>>11)+(am&0x7ff);
}else{
al=ak[++z]-am;
}
}else{
var an=S(am,al,C);
ak[z]=(%_ToString(an));
al+=am.length;
}
}
}else{
for(var z=0;z<w;z++){
var am=ak[z];
if(!%_IsSmi(am)){
var an=%Apply(S,(void 0),am,0,am.length);
ak[z]=(%_ToString(an));
}
}
}
var u=%StringBuilderConcat(ak,w,C);
aj.length=0;
ai=aj;
return u;
}
function StringReplaceNonGlobalRegExpWithFunction(C,K,S){
var X=n(K,C,0);
if((X===null)){
K.lastIndex=0;
return C;
}
var D=X[3];
var u=%_SubString(C,0,D);
var ao=X[4];
var ap=((X)[0])>>1;
var aq;
if(ap==1){
var L=%_SubString(C,D,ao);
aq=S(L,D,C);
}else{
var ar=new g(ap+2);
for(var as=0;as<ap;as++){
ar[as]=CaptureString(C,X,as);
}
ar[as]=D;
ar[as+1]=C;
aq=%Apply(S,(void 0),ar,0,as+2);
}
u+=aq;
return u+%_SubString(C,ao,C.length);
}
function StringSearch(B){
if((%IS_VAR(this)===null)||(this===(void 0)))throw j(17,"String.prototype.search");
if(!(B==null)){
var at=B[q];
if(!(at===(void 0))){
return %_Call(at,B,this);
}
}
var C=(%_ToString(this));
var K=new e(B);
return %_Call(K[q],K,C);
}
function StringSlice(U,V){
if((%IS_VAR(this)===null)||(this===(void 0)))throw j(17,"String.prototype.slice");
var L=(%_ToString(this));
var au=L.length;
var av=(%_ToInteger(U));
var aw=au;
if(!(V===(void 0))){
aw=(%_ToInteger(V));
}
if(av<0){
av+=au;
if(av<0){
av=0;
}
}else{
if(av>au){
return'';
}
}
if(aw<0){
aw+=au;
if(aw<0){
return'';
}
}else{
if(aw>au){
aw=au;
}
}
if(aw<=av){
return'';
}
return %_SubString(L,av,aw);
}
function StringSplitJS(ax,ay){
if((%IS_VAR(this)===null)||(this===(void 0)))throw j(17,"String.prototype.split");
if(!(ax==null)){
var az=ax[r];
if(!(az===(void 0))){
return %_Call(az,ax,this,ay);
}
}
var C=(%_ToString(this));
ay=((ay===(void 0)))?4294967295:((ay)>>>0);
var Y=C.length;
var aA=(%_ToString(ax));
if(ay===0)return[];
if((ax===(void 0)))return[C];
var aB=aA.length;
if(aB===0)return %StringToArray(C,ay);
return %StringSplit(C,aA,ay);
}
function StringSubstring(U,V){
if((%IS_VAR(this)===null)||(this===(void 0)))throw j(17,"String.prototype.subString");
var L=(%_ToString(this));
var au=L.length;
var av=(%_ToInteger(U));
if(av<0){
av=0;
}else if(av>au){
av=au;
}
var aw=au;
if(!(V===(void 0))){
aw=(%_ToInteger(V));
if(aw>au){
aw=au;
}else{
if(aw<0)aw=0;
if(av>aw){
var aC=aw;
aw=av;
av=aC;
}
}
}
return %_SubString(L,av,aw);
}
function StringSubstr(U,aD){
if((%IS_VAR(this)===null)||(this===(void 0)))throw j(17,"String.prototype.substr");
var L=(%_ToString(this));
var w;
if((aD===(void 0))){
w=L.length;
}else{
w=(%_ToInteger(aD));
if(w<=0)return'';
}
if((U===(void 0))){
U=0;
}else{
U=(%_ToInteger(U));
if(U>=L.length)return'';
if(U<0){
U+=L.length;
if(U<0)U=0;
}
}
var V=U+w;
if(V>L.length)V=L.length;
return %_SubString(L,U,V);
}
function StringToLowerCaseJS(){
if((%IS_VAR(this)===null)||(this===(void 0)))throw j(17,"String.prototype.toLowerCase");
return %StringToLowerCase((%_ToString(this)));
}
function StringToLocaleLowerCase(){
if((%IS_VAR(this)===null)||(this===(void 0)))throw j(17,"String.prototype.toLocaleLowerCase");
return %StringToLowerCase((%_ToString(this)));
}
function StringToUpperCaseJS(){
if((%IS_VAR(this)===null)||(this===(void 0)))throw j(17,"String.prototype.toUpperCase");
return %StringToUpperCase((%_ToString(this)));
}
function StringToLocaleUpperCase(){
if((%IS_VAR(this)===null)||(this===(void 0)))throw j(17,"String.prototype.toLocaleUpperCase");
return %StringToUpperCase((%_ToString(this)));
}
function StringTrimJS(){
if((%IS_VAR(this)===null)||(this===(void 0)))throw j(17,"String.prototype.trim");
return %StringTrim((%_ToString(this)),true,true);
}
function StringTrimLeft(){
if((%IS_VAR(this)===null)||(this===(void 0)))throw j(17,"String.prototype.trimLeft");
return %StringTrim((%_ToString(this)),true,false);
}
function StringTrimRight(){
if((%IS_VAR(this)===null)||(this===(void 0)))throw j(17,"String.prototype.trimRight");
return %StringTrim((%_ToString(this)),false,true);
}
function StringFromCharCode(aE){
var aD=%_ArgumentsLength();
if(aD==1)return %_StringCharFromCode(aE&0xffff);
var aF=%NewString(aD,true);
var z;
for(z=0;z<aD;z++){
aE=%_Arguments(z)&0xffff;
if(aE>0xff)break;
%_OneByteSeqStringSetChar(z,aE,aF);
}
if(z==aD)return aF;
aF=%TruncateString(aF,z);
var aG=%NewString(aD-z,false);
%_TwoByteSeqStringSetChar(0,aE,aG);
z++;
for(var as=1;z<aD;z++,as++){
aE=%_Arguments(z)&0xffff;
%_TwoByteSeqStringSetChar(as,aE,aG);
}
return aF+aG;
}
function HtmlEscape(aH){
return %_Call(StringReplace,(%_ToString(aH)),/"/g,"&quot;");
}
function StringAnchor(aI){
if((%IS_VAR(this)===null)||(this===(void 0)))throw j(17,"String.prototype.anchor");
return"<a name=\""+HtmlEscape(aI)+"\">"+(%_ToString(this))+
"</a>";
}
function StringBig(){
if((%IS_VAR(this)===null)||(this===(void 0)))throw j(17,"String.prototype.big");
return"<big>"+(%_ToString(this))+"</big>";
}
function StringBlink(){
if((%IS_VAR(this)===null)||(this===(void 0)))throw j(17,"String.prototype.blink");
return"<blink>"+(%_ToString(this))+"</blink>";
}
function StringBold(){
if((%IS_VAR(this)===null)||(this===(void 0)))throw j(17,"String.prototype.bold");
return"<b>"+(%_ToString(this))+"</b>";
}
function StringFixed(){
if((%IS_VAR(this)===null)||(this===(void 0)))throw j(17,"String.prototype.fixed");
return"<tt>"+(%_ToString(this))+"</tt>";
}
function StringFontcolor(aJ){
if((%IS_VAR(this)===null)||(this===(void 0)))throw j(17,"String.prototype.fontcolor");
return"<font color=\""+HtmlEscape(aJ)+"\">"+(%_ToString(this))+
"</font>";
}
function StringFontsize(aK){
if((%IS_VAR(this)===null)||(this===(void 0)))throw j(17,"String.prototype.fontsize");
return"<font size=\""+HtmlEscape(aK)+"\">"+(%_ToString(this))+
"</font>";
}
function StringItalics(){
if((%IS_VAR(this)===null)||(this===(void 0)))throw j(17,"String.prototype.italics");
return"<i>"+(%_ToString(this))+"</i>";
}
function StringLink(L){
if((%IS_VAR(this)===null)||(this===(void 0)))throw j(17,"String.prototype.link");
return"<a href=\""+HtmlEscape(L)+"\">"+(%_ToString(this))+"</a>";
}
function StringSmall(){
if((%IS_VAR(this)===null)||(this===(void 0)))throw j(17,"String.prototype.small");
return"<small>"+(%_ToString(this))+"</small>";
}
function StringStrike(){
if((%IS_VAR(this)===null)||(this===(void 0)))throw j(17,"String.prototype.strike");
return"<strike>"+(%_ToString(this))+"</strike>";
}
function StringSub(){
if((%IS_VAR(this)===null)||(this===(void 0)))throw j(17,"String.prototype.sub");
return"<sub>"+(%_ToString(this))+"</sub>";
}
function StringSup(){
if((%IS_VAR(this)===null)||(this===(void 0)))throw j(17,"String.prototype.sup");
return"<sup>"+(%_ToString(this))+"</sup>";
}
function StringRepeat(aL){
if((%IS_VAR(this)===null)||(this===(void 0)))throw j(17,"String.prototype.repeat");
var L=(%_ToString(this));
var aD=(%_ToInteger(aL));
if(aD<0||aD===(1/0))throw i(168);
if(L.length===0)return"";
if(aD>%_MaxSmi())throw i(168);
var aM="";
while(true){
if(aD&1)aM+=L;
aD>>=1;
if(aD===0)return aM;
L+=L;
}
}
function StringStartsWith(aN){
if((%IS_VAR(this)===null)||(this===(void 0)))throw j(17,"String.prototype.startsWith");
var L=(%_ToString(this));
if((%_IsRegExp(aN))){
throw j(38,"String.prototype.startsWith");
}
var aO=(%_ToString(aN));
var t=0;
if(%_ArgumentsLength()>1){
var aP=%_Arguments(1);
if(!(aP===(void 0))){
t=(%_ToInteger(aP));
}
}
var au=L.length;
var U=l(k(t,0),au);
var aQ=aO.length;
if(aQ+U>au){
return false;
}
return %_SubString(L,U,U+aQ)===aO;
}
function StringEndsWith(aN){
if((%IS_VAR(this)===null)||(this===(void 0)))throw j(17,"String.prototype.endsWith");
var L=(%_ToString(this));
if((%_IsRegExp(aN))){
throw j(38,"String.prototype.endsWith");
}
var aO=(%_ToString(aN));
var au=L.length;
var t=au;
if(%_ArgumentsLength()>1){
var aP=%_Arguments(1);
if(!(aP===(void 0))){
t=(%_ToInteger(aP));
}
}
var V=l(k(t,0),au);
var aQ=aO.length;
var U=V-aQ;
if(U<0){
return false;
}
return %_SubString(L,U,U+aQ)===aO;
}
function StringIncludes(aN){
if((%IS_VAR(this)===null)||(this===(void 0)))throw j(17,"String.prototype.includes");
var W=(%_ToString(this));
if((%_IsRegExp(aN))){
throw j(38,"String.prototype.includes");
}
aN=(%_ToString(aN));
var t=0;
if(%_ArgumentsLength()>1){
t=%_Arguments(1);
t=(%_ToInteger(t));
}
var aR=W.length;
if(t<0)t=0;
if(t>aR)t=aR;
var aS=aN.length;
if(aS+t>aR){
return false;
}
return %StringIndexOf(W,aN,t)!==-1;
}
function StringCodePointAt(t){
if((%IS_VAR(this)===null)||(this===(void 0)))throw j(17,"String.prototype.codePointAt");
var W=(%_ToString(this));
var aK=W.length;
t=(%_ToInteger(t));
if(t<0||t>=aK){
return(void 0);
}
var aT=%_StringCharCodeAt(W,t);
if(aT<0xD800||aT>0xDBFF||t+1==aK){
return aT;
}
var aU=%_StringCharCodeAt(W,t+1);
if(aU<0xDC00||aU>0xDFFF){
return aT;
}
return(aT-0xD800)*0x400+aU+0x2400;
}
function StringFromCodePoint(aV){
var aE;
var Y=%_ArgumentsLength();
var D;
var u="";
for(D=0;D<Y;D++){
aE=%_Arguments(D);
if(!%_IsSmi(aE)){
aE=(%_ToNumber(aE));
}
if(aE<0||aE>0x10FFFF||aE!==(%_ToInteger(aE))){
throw i(167,aE);
}
if(aE<=0xFFFF){
u+=%_StringCharFromCode(aE);
}else{
aE-=0x10000;
u+=%_StringCharFromCode((aE>>>10)&0x3FF|0xD800);
u+=%_StringCharFromCode(aE&0x3FF|0xDC00);
}
}
return u;
}
function StringRaw(aW){
var aX=%_ArgumentsLength();
var aY=(%_ToObject(aW));
var aZ=(%_ToObject(aY.raw));
var ba=(%_ToLength(aZ.length));
if(ba<=0)return"";
var u=(%_ToString(aZ[0]));
for(var z=1;z<ba;++z){
if(z<aX){
u+=(%_ToString(%_Arguments(z)));
}
u+=(%_ToString(aZ[z]));
}
return u;
}
%FunctionSetPrototype(f,new f());
%AddNamedProperty(
f.prototype,"constructor",f,2);
b.InstallFunctions(f,2,[
"fromCharCode",StringFromCharCode,
"fromCodePoint",StringFromCodePoint,
"raw",StringRaw
]);
b.InstallFunctions(f.prototype,2,[
"valueOf",StringValueOf,
"toString",StringToString,
"charAt",StringCharAtJS,
"charCodeAt",StringCharCodeAtJS,
"codePointAt",StringCodePointAt,
"concat",StringConcat,
"endsWith",StringEndsWith,
"includes",StringIncludes,
"indexOf",StringIndexOfJS,
"lastIndexOf",StringLastIndexOfJS,
"localeCompare",StringLocaleCompareJS,
"match",StringMatchJS,
"normalize",StringNormalizeJS,
"repeat",StringRepeat,
"replace",StringReplace,
"search",StringSearch,
"slice",StringSlice,
"split",StringSplitJS,
"substring",StringSubstring,
"substr",StringSubstr,
"startsWith",StringStartsWith,
"toLowerCase",StringToLowerCaseJS,
"toLocaleLowerCase",StringToLocaleLowerCase,
"toUpperCase",StringToUpperCaseJS,
"toLocaleUpperCase",StringToLocaleUpperCase,
"trim",StringTrimJS,
"trimLeft",StringTrimLeft,
"trimRight",StringTrimRight,
"link",StringLink,
"anchor",StringAnchor,
"fontcolor",StringFontcolor,
"fontsize",StringFontsize,
"big",StringBig,
"blink",StringBlink,
"bold",StringBold,
"fixed",StringFixed,
"italics",StringItalics,
"small",StringSmall,
"strike",StringStrike,
"sub",StringSub,
"sup",StringSup
]);
b.Export(function(bb){
bb.StringCharAt=StringCharAtJS;
bb.StringIndexOf=StringIndexOfJS;
bb.StringLastIndexOf=StringLastIndexOfJS;
bb.StringMatch=StringMatchJS;
bb.StringReplace=StringReplace;
bb.StringSlice=StringSlice;
bb.StringSplit=StringSplitJS;
bb.StringSubstr=StringSubstr;
bb.StringSubstring=StringSubstring;
});
})

uri1U
(function(a,b){
"use strict";
%CheckIsBootstrapping();
var c=a.Object;
var d=a.Array;
var e=b.InternalArray;
var f;
b.Import(function(g){
f=g.MakeURIError;
});
function HexValueOf(h){
if(h>=48&&h<=57)return h-48;
if(h>=65&&h<=70)return h-55;
if(h>=97&&h<=102)return h-87;
return-1;
}
function isAlphaNumeric(i){
if(97<=i&&i<=122)return true;
if(65<=i&&i<=90)return true;
if(48<=i&&i<=57)return true;
return false;
}
var j=0;
function URIAddEncodedOctetToBuffer(k,l,m){
l[m++]=37;
l[m++]=j[k>>4];
l[m++]=j[k&0x0F];
return m;
}
function URIEncodeOctets(n,l,m){
if(j===0){
j=[48,49,50,51,52,53,54,55,56,57,
65,66,67,68,69,70];
}
m=URIAddEncodedOctetToBuffer(n[0],l,m);
if(n[1])m=URIAddEncodedOctetToBuffer(n[1],l,m);
if(n[2])m=URIAddEncodedOctetToBuffer(n[2],l,m);
if(n[3])m=URIAddEncodedOctetToBuffer(n[3],l,m);
return m;
}
function URIEncodeSingle(i,l,m){
var o=(i>>12)&0xF;
var p=(i>>6)&63;
var q=i&63;
var n=new d(3);
if(i<=0x007F){
n[0]=i;
}else if(i<=0x07FF){
n[0]=p+192;
n[1]=q+128;
}else{
n[0]=o+224;
n[1]=p+128;
n[2]=q+128;
}
return URIEncodeOctets(n,l,m);
}
function URIEncodePair(r,s,l,m){
var t=((r>>6)&0xF)+1;
var u=(r>>2)&0xF;
var o=r&3;
var p=(s>>6)&0xF;
var q=s&63;
var n=new d(4);
n[0]=(t>>2)+240;
n[1]=(((t&3)<<4)|u)+128;
n[2]=((o<<4)|p)+128;
n[3]=q+128;
return URIEncodeOctets(n,l,m);
}
function URIHexCharsToCharCode(v,w){
var x=HexValueOf(v);
var y=HexValueOf(w);
if(x==-1||y==-1)throw f();
return(x<<4)|y;
}
function URIDecodeOctets(n,l,m){
var z;
var A=n[0];
if(A<0x80){
z=A;
}else if(A<0xc2){
throw f();
}else{
var B=n[1];
if(A<0xe0){
var C=A&0x1f;
if((B<0x80)||(B>0xbf))throw f();
var D=B&0x3f;
z=(C<<6)+D;
if(z<0x80||z>0x7ff)throw f();
}else{
var E=n[2];
if(A<0xf0){
var C=A&0x0f;
if((B<0x80)||(B>0xbf))throw f();
var D=B&0x3f;
if((E<0x80)||(E>0xbf))throw f();
var F=E&0x3f;
z=(C<<12)+(D<<6)+F;
if((z<0x800)||(z>0xffff))throw f();
}else{
var G=n[3];
if(A<0xf8){
var C=(A&0x07);
if((B<0x80)||(B>0xbf))throw f();
var D=(B&0x3f);
if((E<0x80)||(E>0xbf)){
throw f();
}
var F=(E&0x3f);
if((G<0x80)||(G>0xbf))throw f();
var H=(G&0x3f);
z=(C<<18)+(D<<12)+(F<<6)+H;
if((z<0x10000)||(z>0x10ffff))throw f();
}else{
throw f();
}
}
}
}
if(0xD800<=z&&z<=0xDFFF)throw f();
if(z<0x10000){
%_TwoByteSeqStringSetChar(m++,z,l);
}else{
%_TwoByteSeqStringSetChar(m++,(z>>10)+0xd7c0,l);
%_TwoByteSeqStringSetChar(m++,(z&0x3ff)+0xdc00,l);
}
return m;
}
function Encode(I,J){
I=(%_ToString(I));
var K=I.length;
var L=new e(K);
var m=0;
for(var M=0;M<K;M++){
var r=%_StringCharCodeAt(I,M);
if(J(r)){
L[m++]=r;
}else{
if(r>=0xDC00&&r<=0xDFFF)throw f();
if(r<0xD800||r>0xDBFF){
m=URIEncodeSingle(r,L,m);
}else{
M++;
if(M==K)throw f();
var s=%_StringCharCodeAt(I,M);
if(s<0xDC00||s>0xDFFF)throw f();
m=URIEncodePair(r,s,L,m);
}
}
}
var l=%NewString(L.length,true);
for(var N=0;N<L.length;N++){
%_OneByteSeqStringSetChar(N,L[N],l);
}
return l;
}
function Decode(I,O){
I=(%_ToString(I));
var K=I.length;
var P=%NewString(K,true);
var m=0;
var M=0;
for(;M<K;M++){
var h=%_StringCharCodeAt(I,M);
if(h==37){
if(M+2>=K)throw f();
var i=URIHexCharsToCharCode(%_StringCharCodeAt(I,M+1),
%_StringCharCodeAt(I,M+2));
if(i>>7)break;
if(O(i)){
%_OneByteSeqStringSetChar(m++,37,P);
%_OneByteSeqStringSetChar(m++,%_StringCharCodeAt(I,M+1),
P);
%_OneByteSeqStringSetChar(m++,%_StringCharCodeAt(I,M+2),
P);
}else{
%_OneByteSeqStringSetChar(m++,i,P);
}
M+=2;
}else{
if(h>0x7f)break;
%_OneByteSeqStringSetChar(m++,h,P);
}
}
P=%TruncateString(P,m);
if(M==K)return P;
var Q=%NewString(K-M,false);
m=0;
for(;M<K;M++){
var h=%_StringCharCodeAt(I,M);
if(h==37){
if(M+2>=K)throw f();
var i=URIHexCharsToCharCode(%_StringCharCodeAt(I,++M),
%_StringCharCodeAt(I,++M));
if(i>>7){
var R=0;
while(((i<<++R)&0x80)!=0){}
if(R==1||R>4)throw f();
var n=new d(R);
n[0]=i;
if(M+3*(R-1)>=K)throw f();
for(var N=1;N<R;N++){
if(I[++M]!='%')throw f();
n[N]=URIHexCharsToCharCode(%_StringCharCodeAt(I,++M),
%_StringCharCodeAt(I,++M));
}
m=URIDecodeOctets(n,Q,m);
}else if(O(i)){
%_TwoByteSeqStringSetChar(m++,37,Q);
%_TwoByteSeqStringSetChar(m++,%_StringCharCodeAt(I,M-1),
Q);
%_TwoByteSeqStringSetChar(m++,%_StringCharCodeAt(I,M),
Q);
}else{
%_TwoByteSeqStringSetChar(m++,i,Q);
}
}else{
%_TwoByteSeqStringSetChar(m++,h,Q);
}
}
Q=%TruncateString(Q,m);
return P+Q;
}
function URIEscapeJS(S){
return %URIEscape(S);
}
function URIUnescapeJS(S){
return %URIUnescape(S);
}
function URIDecode(I){
var T=function(i){
if(35<=i&&i<=36)return true;
if(i==38)return true;
if(43<=i&&i<=44)return true;
if(i==47)return true;
if(58<=i&&i<=59)return true;
if(i==61)return true;
if(63<=i&&i<=64)return true;
return false;
};
return Decode(I,T);
}
function URIDecodeComponent(U){
var T=function(i){return false;};
return Decode(U,T);
}
function URIEncode(I){
var V=function(i){
if(isAlphaNumeric(i))return true;
if(i==33)return true;
if(35<=i&&i<=36)return true;
if(38<=i&&i<=47)return true;
if(58<=i&&i<=59)return true;
if(i==61)return true;
if(63<=i&&i<=64)return true;
if(i==95)return true;
if(i==126)return true;
return false;
};
return Encode(I,V);
}
function URIEncodeComponent(U){
var V=function(i){
if(isAlphaNumeric(i))return true;
if(i==33)return true;
if(39<=i&&i<=42)return true;
if(45<=i&&i<=46)return true;
if(i==95)return true;
if(i==126)return true;
return false;
};
return Encode(U,V);
}
b.InstallFunctions(a,2,[
"escape",URIEscapeJS,
"unescape",URIUnescapeJS,
"decodeURI",URIDecode,
"decodeURIComponent",URIDecodeComponent,
"encodeURI",URIEncode,
"encodeURIComponent",URIEncodeComponent
]);
})

mathµJ
(function(a,b){
"use strict";
%CheckIsBootstrapping();
var c=a.Float64Array;
var d=a.Math;
var e=a.Object;
var f=b.InternalArray;
var g=%GetRootNaN();
var h=64;
var i=(void 0);
var j=b.ImportNow("to_string_tag_symbol");
function MathAbs(k){
k=+k;
return(k>0)?k:0-k;
}
function MathAcosJS(k){
return %_MathAcos(+k);
}
function MathAsinJS(k){
return %_MathAsin(+k);
}
function MathAtanJS(k){
return %_MathAtan(+k);
}
function MathAtan2JS(l,k){
l=+l;
k=+k;
return %_MathAtan2(l,k);
}
function MathCeil(k){
return-%_MathFloor(-k);
}
function MathExp(k){
return %MathExpRT((%_ToNumber(k)));
}
function MathFloorJS(k){
return %_MathFloor(+k);
}
function MathLog(k){
return %_MathLogRT((%_ToNumber(k)));
}
function MathMax(m,n){
var o=%_ArgumentsLength();
if(o==2){
m=(%_ToNumber(m));
n=(%_ToNumber(n));
if(n>m)return n;
if(m>n)return m;
if(m==n){
return(m===0&&%_IsMinusZero(m))?n:m;
}
return g;
}
var p=-(1/0);
for(var q=0;q<o;q++){
var r=%_Arguments(q);
r=(%_ToNumber(r));
if((!%_IsSmi(%IS_VAR(r))&&!(r==r))||r>p||(p===0&&r===0&&%_IsMinusZero(p))){
p=r;
}
}
return p;
}
function MathMin(m,n){
var o=%_ArgumentsLength();
if(o==2){
m=(%_ToNumber(m));
n=(%_ToNumber(n));
if(n>m)return m;
if(m>n)return n;
if(m==n){
return(m===0&&%_IsMinusZero(m))?m:n;
}
return g;
}
var p=(1/0);
for(var q=0;q<o;q++){
var r=%_Arguments(q);
r=(%_ToNumber(r));
if((!%_IsSmi(%IS_VAR(r))&&!(r==r))||r<p||(p===0&&r===0&&%_IsMinusZero(r))){
p=r;
}
}
return p;
}
function MathPowJS(k,l){
return %_MathPow((%_ToNumber(k)),(%_ToNumber(l)));
}
function MathRandom(){
if(h>=64){
i=%GenerateRandomNumbers(i);
h=2;
}
return i[h++];
}
function MathRandomRaw(){
if(h>=64){
i=%GenerateRandomNumbers(i);
h=2;
}
return %_DoubleLo(i[h++])&0x3FFFFFFF;
}
function MathRound(k){
return %RoundNumber((%_ToNumber(k)));
}
function MathSqrtJS(k){
return %_MathSqrt(+k);
}
function MathImul(k,l){
return %NumberImul((%_ToNumber(k)),(%_ToNumber(l)));
}
function MathSign(k){
k=+k;
if(k>0)return 1;
if(k<0)return-1;
return k;
}
function MathTrunc(k){
k=+k;
if(k>0)return %_MathFloor(k);
if(k<0)return-%_MathFloor(-k);
return k;
}
function MathAsinh(k){
k=(%_ToNumber(k));
if(k===0||!(%_IsSmi(%IS_VAR(k))||((k==k)&&(k!=1/0)&&(k!=-1/0))))return k;
if(k>0)return MathLog(k+%_MathSqrt(k*k+1));
return-MathLog(-k+%_MathSqrt(k*k+1));
}
function MathAcosh(k){
k=(%_ToNumber(k));
if(k<1)return g;
if(!(%_IsSmi(%IS_VAR(k))||((k==k)&&(k!=1/0)&&(k!=-1/0))))return k;
return MathLog(k+%_MathSqrt(k+1)*%_MathSqrt(k-1));
}
function MathAtanh(k){
k=(%_ToNumber(k));
if(k===0)return k;
if(!(%_IsSmi(%IS_VAR(k))||((k==k)&&(k!=1/0)&&(k!=-1/0))))return g;
return 0.5*MathLog((1+k)/(1-k));
}
function MathHypot(k,l){
var o=%_ArgumentsLength();
var s=new f(o);
var t=0;
for(var q=0;q<o;q++){
var r=%_Arguments(q);
r=(%_ToNumber(r));
if(r===(1/0)||r===-(1/0))return(1/0);
r=MathAbs(r);
if(r>t)t=r;
s[q]=r;
}
if(t===0)t=1;
var u=0;
var v=0;
for(var q=0;q<o;q++){
var r=s[q]/t;
var w=r*r-v;
var x=u+w;
v=(x-u)-w;
u=x;
}
return %_MathSqrt(u)*t;
}
function MathFroundJS(k){
return %MathFround((%_ToNumber(k)));
}
function MathClz32JS(k){
return %_MathClz32(k>>>0);
}
function MathCbrt(k){
k=(%_ToNumber(k));
if(k==0||!(%_IsSmi(%IS_VAR(k))||((k==k)&&(k!=1/0)&&(k!=-1/0))))return k;
return k>=0?CubeRoot(k):-CubeRoot(-k);
}
function CubeRoot(k){
var y=MathFloorJS(%_DoubleHi(k)/3)+0x2A9F7893;
var z=%_ConstructDouble(y|0,0);
z=(1.0/3.0)*(k/(z*z)+2*z);
;
z=(1.0/3.0)*(k/(z*z)+2*z);
;
z=(1.0/3.0)*(k/(z*z)+2*z);
;
return(1.0/3.0)*(k/(z*z)+2*z);
;
}
%AddNamedProperty(d,j,"Math",1|2);
b.InstallConstants(d,[
"E",2.7182818284590452354,
"LN10",2.302585092994046,
"LN2",0.6931471805599453,
"LOG2E",1.4426950408889634,
"LOG10E",0.4342944819032518,
"PI",3.1415926535897932,
"SQRT1_2",0.7071067811865476,
"SQRT2",1.4142135623730951
]);
b.InstallFunctions(d,2,[
"random",MathRandom,
"abs",MathAbs,
"acos",MathAcosJS,
"asin",MathAsinJS,
"atan",MathAtanJS,
"ceil",MathCeil,
"exp",MathExp,
"floor",MathFloorJS,
"log",MathLog,
"round",MathRound,
"sqrt",MathSqrtJS,
"atan2",MathAtan2JS,
"pow",MathPowJS,
"max",MathMax,
"min",MathMin,
"imul",MathImul,
"sign",MathSign,
"trunc",MathTrunc,
"asinh",MathAsinh,
"acosh",MathAcosh,
"atanh",MathAtanh,
"hypot",MathHypot,
"fround",MathFroundJS,
"clz32",MathClz32JS,
"cbrt",MathCbrt
]);
%SetForceInlineFlag(MathAbs);
%SetForceInlineFlag(MathAcosJS);
%SetForceInlineFlag(MathAsinJS);
%SetForceInlineFlag(MathAtanJS);
%SetForceInlineFlag(MathAtan2JS);
%SetForceInlineFlag(MathCeil);
%SetForceInlineFlag(MathClz32JS);
%SetForceInlineFlag(MathFloorJS);
%SetForceInlineFlag(MathRandom);
%SetForceInlineFlag(MathSign);
%SetForceInlineFlag(MathSqrtJS);
%SetForceInlineFlag(MathTrunc);
b.Export(function(A){
A.MathAbs=MathAbs;
A.MathExp=MathExp;
A.MathFloor=MathFloorJS;
A.IntRandom=MathRandomRaw;
A.MathMax=MathMax;
A.MathMin=MathMin;
});
})

fdlibmùÈ
(function(a,b){
"use strict";
%CheckIsBootstrapping();
var c=a.Float64Array;
var d=a.Math;
var e;
var f;
var g=%GetRootNaN();
var h;
b.Import(function(i){
e=i.MathAbs;
f=i.MathExp;
});
b.CreateDoubleResultArray=function(a){
h=new c(2);
};
function KernelTan(j,k,l){
var m;
var n;
var o=%_DoubleHi(j);
var p=o&0x7fffffff;
if(p<0x3e300000){
if(((p|%_DoubleLo(j))|(l+1))==0){
return 1/e(j);
}else{
if(l==1){
return j;
}else{
var n=j+k;
var m=%_ConstructDouble(%_DoubleHi(n),0);
var q=k-(m-j);
var r=-1/n;
var s=%_ConstructDouble(%_DoubleHi(r),0);
var t=1+s*m;
return s+r*(t+s*q);
}
}
}
if(p>=0x3fe59428){
if(j<0){
j=-j;
k=-k;
}
m=7.85398163397448278999e-01-j;
n=3.06161699786838301793e-17-k;
j=m+n;
k=0;
}
m=j*j;
n=m*m;
var u=1.33333333333201242699e-01+n*(2.18694882948595424599e-02+n*(3.59207910759131235356e-03+
n*(5.88041240820264096874e-04+n*(7.81794442939557092300e-05+n*-1.85586374855275456654e-05))));
var q=m*(5.39682539762260521377e-02+n*(8.86323982359930005737e-03+n*(1.45620945432529025516e-03+
n*(2.46463134818469906812e-04+n*(7.14072491382608190305e-05+n*2.59073051863633712884e-05)))));
var t=m*j;
u=k+m*(t*(u+q)+k);
u=u+3.33333333333334091986e-01*t;
n=j+u;
if(p>=0x3fe59428){
return(1-((o>>30)&2))*
(l-2.0*(j-(n*n/(n+l)-u)));
}
if(l==1){
return n;
}else{
m=%_ConstructDouble(%_DoubleHi(n),0);
q=u-(m-j);
var r=-1/n;
var s=%_ConstructDouble(%_DoubleHi(r),0);
t=1+s*m;
return s+r*(t+s*q);
}
}
function MathSinSlow(j){
var v,w,x;
var o=%_DoubleHi(j);
var p=o&0x7fffffff;
if(p<0x4002d97c){
if(o>0){
var m=j-1.57079632673412561417;
if(p!=0x3ff921fb){
w=m-6.07710050650619224932e-11;
x=(m-w)-6.07710050650619224932e-11;
}else{
m-=6.07710050630396597660e-11;
w=m-2.02226624879595063154e-21;
x=(m-w)-2.02226624879595063154e-21;
}
v=1;
}else{
var m=j+1.57079632673412561417;
if(p!=0x3ff921fb){
w=m+6.07710050650619224932e-11;
x=(m-w)+6.07710050650619224932e-11;
}else{
m+=6.07710050630396597660e-11;
w=m+2.02226624879595063154e-21;
x=(m-w)+2.02226624879595063154e-21;
}
v=-1;
}
}else if(p<=0x413921fb){
var s=e(j);
v=(s*6.36619772367581382433e-01+0.5)|0;
var u=s-v*1.57079632673412561417;
var n=v*6.07710050650619224932e-11;
w=u-n;
if(p-(%_DoubleHi(w)&0x7ff00000)>0x1000000){
s=u;
n=v*6.07710050630396597660e-11;
u=s-n;
n=v*2.02226624879595063154e-21-((s-u)-n);
w=u-n;
if(p-(%_DoubleHi(w)&0x7ff00000)>0x3100000){
s=u;
n=v*2.02226624871116645580e-21;
u=s-n;
n=v*8.47842766036889956997e-32-((s-u)-n);
w=u-n;
}
}
x=(u-w)-n;
if(o<0){
v=-v;
w=-w;
x=-x;
}
}else{
v=%RemPiO2(j,h);
w=h[0];
x=h[1];
}
;
var y=1-(v&2);
if(v&1){
var p=%_DoubleHi(w)&0x7fffffff;
var m=w*w;
var u=m*(4.16666666666666019037e-02+m*(-1.38888888888741095749e-03+m*(2.48015872894767294178e-05+m*(-2.75573143513906633035e-07+m*(2.08757232129817482790e-09+m*-1.13596475577881948265e-11)))));
if(p<0x3fd33333){
return(1-(0.5*m-(m*u-w*x)))*y;
}else{
var z;
if(p>0x3fe90000){
z=0.28125;
}else{
z=%_ConstructDouble(%_DoubleHi(0.25*w),0);
}
var A=0.5*m-z;
return(1-z-(A-(m*u-w*x)))*y;
}
;
}else{
var m=w*w;
var q=m*w;
var u=8.33333333332248946124e-03+m*(-1.98412698298579493134e-04+m*(2.75573137070700676789e-06+m*(-2.50507602534068634195e-08+m*1.58969099521155010221e-10)));
return(w-((m*(0.5*x-q*u)-x)-q*-1.66666666666666324348e-01))*y;
;
}
}
function MathCosSlow(j){
var v,w,x;
var o=%_DoubleHi(j);
var p=o&0x7fffffff;
if(p<0x4002d97c){
if(o>0){
var m=j-1.57079632673412561417;
if(p!=0x3ff921fb){
w=m-6.07710050650619224932e-11;
x=(m-w)-6.07710050650619224932e-11;
}else{
m-=6.07710050630396597660e-11;
w=m-2.02226624879595063154e-21;
x=(m-w)-2.02226624879595063154e-21;
}
v=1;
}else{
var m=j+1.57079632673412561417;
if(p!=0x3ff921fb){
w=m+6.07710050650619224932e-11;
x=(m-w)+6.07710050650619224932e-11;
}else{
m+=6.07710050630396597660e-11;
w=m+2.02226624879595063154e-21;
x=(m-w)+2.02226624879595063154e-21;
}
v=-1;
}
}else if(p<=0x413921fb){
var s=e(j);
v=(s*6.36619772367581382433e-01+0.5)|0;
var u=s-v*1.57079632673412561417;
var n=v*6.07710050650619224932e-11;
w=u-n;
if(p-(%_DoubleHi(w)&0x7ff00000)>0x1000000){
s=u;
n=v*6.07710050630396597660e-11;
u=s-n;
n=v*2.02226624879595063154e-21-((s-u)-n);
w=u-n;
if(p-(%_DoubleHi(w)&0x7ff00000)>0x3100000){
s=u;
n=v*2.02226624871116645580e-21;
u=s-n;
n=v*8.47842766036889956997e-32-((s-u)-n);
w=u-n;
}
}
x=(u-w)-n;
if(o<0){
v=-v;
w=-w;
x=-x;
}
}else{
v=%RemPiO2(j,h);
w=h[0];
x=h[1];
}
;
if(v&1){
var y=(v&2)-1;
var m=w*w;
var q=m*w;
var u=8.33333333332248946124e-03+m*(-1.98412698298579493134e-04+m*(2.75573137070700676789e-06+m*(-2.50507602534068634195e-08+m*1.58969099521155010221e-10)));
return(w-((m*(0.5*x-q*u)-x)-q*-1.66666666666666324348e-01))*y;
;
}else{
var y=1-(v&2);
var p=%_DoubleHi(w)&0x7fffffff;
var m=w*w;
var u=m*(4.16666666666666019037e-02+m*(-1.38888888888741095749e-03+m*(2.48015872894767294178e-05+m*(-2.75573143513906633035e-07+m*(2.08757232129817482790e-09+m*-1.13596475577881948265e-11)))));
if(p<0x3fd33333){
return(1-(0.5*m-(m*u-w*x)))*y;
}else{
var z;
if(p>0x3fe90000){
z=0.28125;
}else{
z=%_ConstructDouble(%_DoubleHi(0.25*w),0);
}
var A=0.5*m-z;
return(1-z-(A-(m*u-w*x)))*y;
}
;
}
}
function MathSin(j){
j=+j;
if((%_DoubleHi(j)&0x7fffffff)<=0x3fe921fb){
var m=j*j;
var q=m*j;
var u=8.33333333332248946124e-03+m*(-1.98412698298579493134e-04+m*(2.75573137070700676789e-06+m*(-2.50507602534068634195e-08+m*1.58969099521155010221e-10)));
return(j-((m*(0.5*0-q*u)-0)-q*-1.66666666666666324348e-01));
;
}
return+MathSinSlow(j);
}
function MathCos(j){
j=+j;
if((%_DoubleHi(j)&0x7fffffff)<=0x3fe921fb){
var p=%_DoubleHi(j)&0x7fffffff;
var m=j*j;
var u=m*(4.16666666666666019037e-02+m*(-1.38888888888741095749e-03+m*(2.48015872894767294178e-05+m*(-2.75573143513906633035e-07+m*(2.08757232129817482790e-09+m*-1.13596475577881948265e-11)))));
if(p<0x3fd33333){
return(1-(0.5*m-(m*u-j*0)));
}else{
var z;
if(p>0x3fe90000){
z=0.28125;
}else{
z=%_ConstructDouble(%_DoubleHi(0.25*j),0);
}
var A=0.5*m-z;
return(1-z-(A-(m*u-j*0)));
}
;
}
return+MathCosSlow(j);
}
function MathTan(j){
j=j*1;
if((%_DoubleHi(j)&0x7fffffff)<=0x3fe921fb){
return KernelTan(j,0,1);
}
var v,w,x;
var o=%_DoubleHi(j);
var p=o&0x7fffffff;
if(p<0x4002d97c){
if(o>0){
var m=j-1.57079632673412561417;
if(p!=0x3ff921fb){
w=m-6.07710050650619224932e-11;
x=(m-w)-6.07710050650619224932e-11;
}else{
m-=6.07710050630396597660e-11;
w=m-2.02226624879595063154e-21;
x=(m-w)-2.02226624879595063154e-21;
}
v=1;
}else{
var m=j+1.57079632673412561417;
if(p!=0x3ff921fb){
w=m+6.07710050650619224932e-11;
x=(m-w)+6.07710050650619224932e-11;
}else{
m+=6.07710050630396597660e-11;
w=m+2.02226624879595063154e-21;
x=(m-w)+2.02226624879595063154e-21;
}
v=-1;
}
}else if(p<=0x413921fb){
var s=e(j);
v=(s*6.36619772367581382433e-01+0.5)|0;
var u=s-v*1.57079632673412561417;
var n=v*6.07710050650619224932e-11;
w=u-n;
if(p-(%_DoubleHi(w)&0x7ff00000)>0x1000000){
s=u;
n=v*6.07710050630396597660e-11;
u=s-n;
n=v*2.02226624879595063154e-21-((s-u)-n);
w=u-n;
if(p-(%_DoubleHi(w)&0x7ff00000)>0x3100000){
s=u;
n=v*2.02226624871116645580e-21;
u=s-n;
n=v*8.47842766036889956997e-32-((s-u)-n);
w=u-n;
}
}
x=(u-w)-n;
if(o<0){
v=-v;
w=-w;
x=-x;
}
}else{
v=%RemPiO2(j,h);
w=h[0];
x=h[1];
}
;
return KernelTan(w,x,(v&1)?-1:1);
}
function MathLog1p(j){
j=j*1;
var o=%_DoubleHi(j);
var B=o&0x7fffffff;
var C=1;
var D=j;
var E=1;
var F=0;
var G=j;
if(o<0x3fda827a){
if(B>=0x3ff00000){
if(j===-1){
return-(1/0);
}else{
return g;
}
}else if(B<0x3c900000){
return j;
}else if(B<0x3e200000){
return j-j*j*0.5;
}
if((o>0)||(o<=-0x402D413D)){
C=0;
}
}
if(o>=0x7ff00000)return j;
if(C!==0){
if(o<0x43400000){
G=1+j;
E=%_DoubleHi(G);
C=(E>>20)-1023;
F=(C>0)?1-(G-j):j-(G-1);
F=F/G;
}else{
E=%_DoubleHi(G);
C=(E>>20)-1023;
}
E=E&0xfffff;
if(E<0x6a09e){
G=%_ConstructDouble(E|0x3ff00000,%_DoubleLo(G));
}else{
++C;
G=%_ConstructDouble(E|0x3fe00000,%_DoubleLo(G));
E=(0x00100000-E)>>2;
}
D=G-1;
}
var H=0.5*D*D;
if(E===0){
if(D===0){
if(C===0){
return 0.0;
}else{
return C*6.93147180369123816490e-01+(F+C*1.90821492927058770002e-10);
}
}
var I=H*(1-6.666666666666666666e-01*D);
if(C===0){
return D-I;
}else{
return C*6.93147180369123816490e-01-((I-(C*1.90821492927058770002e-10+F))-D);
}
}
var t=D/(2+D);
var m=t*t;
var I=m*(6.666666666666735130e-01+m*(3.999999999940941908e-01+m*(2.857142874366239149e-01+m*(2.222219843214978396e-01+
m*(1.818357216161805012e-01+m*(1.531383769920937332e-01+m*1.479819860511658591e-01))))));
if(C===0){
return D-(H-t*(H+I));
}else{
return C*6.93147180369123816490e-01-((H-(t*(H+I)+(C*1.90821492927058770002e-10+F)))-D);
}
}
function MathExpm1(j){
j=j*1;
var k;
var J;
var K;
var C;
var s;
var F;
var o=%_DoubleHi(j);
var L=o&0x80000000;
var k=(L===0)?j:-j;
o&=0x7fffffff;
if(o>=0x4043687a){
if(o>=0x40862e42){
if(o>=0x7ff00000){
return(j===-(1/0))?-1:j;
}
if(j>7.09782712893383973096e+02)return(1/0);
}
if(L!=0)return-1;
}
if(o>0x3fd62e42){
if(o<0x3ff0a2b2){
if(L===0){
J=j-6.93147180369123816490e-01;
K=1.90821492927058770002e-10;
C=1;
}else{
J=j+6.93147180369123816490e-01;
K=-1.90821492927058770002e-10;
C=-1;
}
}else{
C=(1.44269504088896338700*j+((L===0)?0.5:-0.5))|0;
s=C;
J=j-s*6.93147180369123816490e-01;
K=s*1.90821492927058770002e-10;
}
j=J-K;
F=(J-j)-K;
}else if(o<0x3c900000){
return j;
}else{
C=0;
}
var M=0.5*j;
var N=j*M;
var O=1+N*(-3.33333333333331316428e-02+N*(1.58730158725481460165e-03+N*
(-7.93650757867487942473e-05+N*(4.00821782732936239552e-06+N*-2.01099218183624371326e-07))));
s=3-O*M;
var P=N*((O-s)/(6-j*s));
if(C===0){
return j-(j*P-N);
}else{
P=(j*(P-F)-F);
P-=N;
if(C===-1)return 0.5*(j-P)-0.5;
if(C===1){
if(j<-0.25)return-2*(P-(j+0.5));
return 1+2*(j-P);
}
if(C<=-2||C>56){
k=1-(P-j);
k=%_ConstructDouble(%_DoubleHi(k)+(C<<20),%_DoubleLo(k));
return k-1;
}
if(C<20){
s=%_ConstructDouble(0x3ff00000-(0x200000>>C),0);
k=s-(P-j);
k=%_ConstructDouble(%_DoubleHi(k)+(C<<20),%_DoubleLo(k));
}else{
s=%_ConstructDouble((0x3ff-C)<<20,0);
k=j-(P+s);
k+=1;
k=%_ConstructDouble(%_DoubleHi(k)+(C<<20),%_DoubleLo(k));
}
}
return k;
}
function MathSinh(j){
j=j*1;
var Q=(j<0)?-0.5:0.5;
var B=e(j);
if(B<22){
if(B<3.725290298461914e-9)return j;
var s=MathExpm1(B);
if(B<1)return Q*(2*s-s*s/(s+1));
return Q*(s+s/(s+1));
}
if(B<709.7822265625)return Q*f(B);
if(B<=710.4758600739439){
var n=f(0.5*B);
var s=Q*n;
return s*n;
}
return j*(1/0);
}
function MathCosh(j){
j=j*1;
var p=%_DoubleHi(j)&0x7fffffff;
if(p<0x3fd62e43){
var s=MathExpm1(e(j));
var n=1+s;
if(p<0x3c800000)return n;
return 1+(s*s)/(n+n);
}
if(p<0x40360000){
var s=f(e(j));
return 0.5*s+0.5/s;
}
if(p<0x40862e42)return 0.5*f(e(j));
if(e(j)<=710.4758600739439){
var n=f(0.5*e(j));
var s=0.5*n;
return s*n;
}
if((!%_IsSmi(%IS_VAR(j))&&!(j==j)))return j;
return(1/0);
}
function MathTanh(j){
j=j*1;
if(!(%_IsSmi(%IS_VAR(j))||((j==j)&&(j!=1/0)&&(j!=-1/0)))){
if(j>0)return 1;
if(j<0)return-1;
return j;
}
var B=e(j);
var m;
if(B<22){
if(B<2.77555756156289135105e-17){
return j;
}
if(B>=1){
var s=MathExpm1(2*B);
m=1-2/(s+2);
}else{
var s=MathExpm1(-2*B);
m=-s/(s+2);
}
}else{
m=1;
}
return(j>=0)?m:-m;
}
function MathLog10(j){
j=j*1;
var o=%_DoubleHi(j);
var R=%_DoubleLo(j);
var C=0;
if(o<0x00100000){
if(((o&0x7fffffff)|R)===0)return-(1/0);
if(o<0)return g;
C-=54;
j*=18014398509481984;
o=%_DoubleHi(j);
R=%_DoubleLo(j);
}
if(o>=0x7ff00000)return j;
C+=(o>>20)-1023;
var S=(C&0x80000000)>>>31;
o=(o&0x000fffff)|((0x3ff-S)<<20);
var k=C+S;
j=%_ConstructDouble(o,R);
var m=k*3.69423907715893078616e-13+4.34294481903251816668e-01*%_MathLogRT(j);
return m+k*3.01029995663611771306e-01;
}
function MathLog2(j){
j=j*1;
var B=e(j);
var o=%_DoubleHi(j);
var R=%_DoubleLo(j);
var p=o&0x7fffffff;
if((p|R)==0)return-(1/0);
if(o<0)return g;
if(p>=0x7ff00000)return j;
var v=0;
if(p<0x00100000){
B*=9007199254740992;
v-=53;
p=%_DoubleHi(B);
}
v+=(p>>20)-0x3ff;
var T=p&0x000fffff;
p=T|0x3ff00000;
var U=1;
var V=0;
var W=0;
if(T>0x3988e){
if(T<0xbb67a){
U=1.5;
V=5.84962487220764160156e-01;
W=1.35003920212974897128e-08;
}else{
v+=1;
p-=0x00100000;
}
}
B=%_ConstructDouble(p,%_DoubleLo(B));
var G=B-U;
var q=1/(B+U);
var X=G*q;
var Y=%_ConstructDouble(%_DoubleHi(X),0);
var Z=%_ConstructDouble(%_DoubleHi(B+U),0)
var aa=B-(Z-U);
var ab=q*((G-Y*Z)-Y*aa);
var ac=X*X;
var u=ac*ac*(5.99999999999994648725e-01+ac*(4.28571428578550184252e-01+ac*(3.33333329818377432918e-01+ac*(
2.72728123808534006489e-01+ac*(2.30660745775561754067e-01+ac*2.06975017800338417784e-01)))));
u+=ab*(Y+X);
ac=Y*Y;
Z=%_ConstructDouble(%_DoubleHi(3.0+ac+u),0);
aa=u-((Z-3.0)-ac);
G=Y*Z;
q=ab*Z+aa*X;
var ad=%_ConstructDouble(%_DoubleHi(G+q),0);
var ae=q-(ad-G);
var af=9.61796700954437255859e-01*ad;
var ag=-7.02846165095275826516e-09*ad+ae*9.61796693925975554329e-01+W;
var s=v;
var ah=%_ConstructDouble(%_DoubleHi(((af+ag)+V)+s),0);
var ai=ag-(((ah-s)-V)-af);
return ah+ai;
}
b.InstallFunctions(d,2,[
"cos",MathCos,
"sin",MathSin,
"tan",MathTan,
"sinh",MathSinh,
"cosh",MathCosh,
"tanh",MathTanh,
"log10",MathLog10,
"log2",MathLog2,
"log1p",MathLog1p,
"expm1",MathExpm1
]);
%SetForceInlineFlag(MathSin);
%SetForceInlineFlag(MathCos);
})

regexp…
(function(a,b){
%CheckIsBootstrapping();
var c;
var d=a.Object;
var e=a.RegExp;
var f;
var g=b.InternalArray;
var h=b.InternalPackedArray;
var i;
var j=b.ImportNow("match_symbol");
var k=b.ImportNow("search_symbol");
var l=b.ImportNow("split_symbol");
b.ImportFromExperimental(function(m){
c=m.FLAG_harmony_tolength;
});
b.Import(function(m){
i=m.MakeTypeError;
});
var n=new h(
2,
"",
(void 0),
0,
0
);
function IsRegExp(o){
if(!(%_IsJSReceiver(o)))return false;
var p=o[j];
if(!(p===(void 0)))return(!!(p));
return(%_IsRegExp(o));
}
function RegExpInitialize(q,r,s){
r=(r===(void 0))?'':(%_ToString(r));
s=(s===(void 0))?'':(%_ToString(s));
%RegExpInitializeAndCompile(q,r,s);
return q;
}
function PatternFlags(r){
return((%_RegExpFlags(r)&1)?'g':'')+
((%_RegExpFlags(r)&2)?'i':'')+
((%_RegExpFlags(r)&4)?'m':'')+
((%_RegExpFlags(r)&16)?'u':'')+
((%_RegExpFlags(r)&8)?'y':'');
}
function RegExpConstructor(r,s){
var t=new.target;
var u=IsRegExp(r);
if((t===(void 0))){
t=e;
if(u&&(s===(void 0))&&
r.constructor===t){
return r;
}
}
if((%_IsRegExp(r))){
if((s===(void 0)))s=PatternFlags(r);
r=(%_RegExpSource(r));
}else if(u){
var v=r;
r=r.source;
if((s===(void 0)))s=v.flags;
}
var q=%NewObject(e,t);
return RegExpInitialize(q,r,s);
}
function RegExpCompileJS(r,s){
if(!(%_IsRegExp(this))){
throw i(42,
"RegExp.prototype.compile",this);
}
if((%_IsRegExp(r))){
if(!(s===(void 0)))throw i(129);
s=PatternFlags(r);
r=(%_RegExpSource(r));
}
RegExpInitialize(this,r,s);
}
function DoRegExpExec(w,x,y){
return %_RegExpExec(w,x,y,n);
}
function RegExpExecNoTests(w,x,z){
var A=%_RegExpExec(w,x,z,n);
if(A!==null){
if((%_RegExpFlags(w)&8))w.lastIndex=A[4];
var B=((A)[0])>>1;
var z=A[3];
var C=A[4];
var D=%_SubString(x,z,C);
var E=%_RegExpConstructResult(B,z,x);
E[0]=D;
if(B==1)return E;
var F=3+2;
for(var G=1;G<B;G++){
z=A[F++];
if(z!=-1){
C=A[F];
E[G]=%_SubString(x,z,C);
}
F++;
}
return E;
;
}
w.lastIndex=0;
return null;
}
function RegExpExecJS(x){
if(!(%_IsRegExp(this))){
throw i(42,
'RegExp.prototype.exec',this);
}
x=(%_ToString(x));
var H=this.lastIndex;
var G=(c?(%_ToLength(H)):(%_ToInteger(H)));
var I=(%_RegExpFlags(this)&1)||(%_RegExpFlags(this)&8);
if(I){
if(G<0||G>x.length){
this.lastIndex=0;
return null;
}
}else{
G=0;
}
var J=%_RegExpExec(this,x,G,n);
if((J===null)){
this.lastIndex=0;
return null;
}
if(I){
this.lastIndex=n[4];
}
var B=((J)[0])>>1;
var z=J[3];
var C=J[4];
var D=%_SubString(x,z,C);
var E=%_RegExpConstructResult(B,z,x);
E[0]=D;
if(B==1)return E;
var F=3+2;
for(var G=1;G<B;G++){
z=J[F++];
if(z!=-1){
C=J[F];
E[G]=%_SubString(x,z,C);
}
F++;
}
return E;
;
}
var K;
var L;
function RegExpTest(x){
if(!(%_IsRegExp(this))){
throw i(42,
'RegExp.prototype.test',this);
}
x=(%_ToString(x));
var H=this.lastIndex;
var G=(c?(%_ToLength(H)):(%_ToInteger(H)));
if((%_RegExpFlags(this)&1)||(%_RegExpFlags(this)&8)){
if(G<0||G>x.length){
this.lastIndex=0;
return false;
}
var J=%_RegExpExec(this,x,G,n);
if((J===null)){
this.lastIndex=0;
return false;
}
this.lastIndex=n[4];
return true;
}else{
var w=this;
var M=(%_RegExpSource(w));
if(w.length>=3&&
%_StringCharCodeAt(w,0)==46&&
%_StringCharCodeAt(w,1)==42&&
%_StringCharCodeAt(w,2)!=63){
w=TrimRegExp(w);
}
var J=%_RegExpExec(w,x,0,n);
if((J===null)){
this.lastIndex=0;
return false;
}
return true;
}
}
function TrimRegExp(w){
if(!%_ObjectEquals(K,w)){
K=w;
L=
new e(
%_SubString((%_RegExpSource(w)),2,(%_RegExpSource(w)).length),
((%_RegExpFlags(w)&2)?(%_RegExpFlags(w)&4)?"im":"i"
:(%_RegExpFlags(w)&4)?"m":""));
}
return L;
}
function RegExpToString(){
if(!(%_IsRegExp(this))){
if(this===f){
%IncrementUseCounter(12);
return'/(?:)/';
}
throw i(42,
'RegExp.prototype.toString',this);
}
var E='/'+(%_RegExpSource(this))+'/';
if((%_RegExpFlags(this)&1))E+='g';
if((%_RegExpFlags(this)&2))E+='i';
if((%_RegExpFlags(this)&4))E+='m';
if((%_RegExpFlags(this)&16))E+='u';
if((%_RegExpFlags(this)&8))E+='y';
return E;
}
function RegExpSplit(x,N){
if(!(%_IsRegExp(this))){
throw i(42,
"RegExp.prototype.@@split",this);
}
var O=this;
var P=(%_ToString(x));
N=((N===(void 0)))?4294967295:((N)>>>0);
var Q=P.length;
if(N===0)return[];
if(Q===0){
if(DoRegExpExec(O,P,0,0)!==null)return[];
return[P];
}
var R=0;
var S=0;
var T=0;
var E=new g();
outer_loop:
while(true){
if(S===Q){
E[E.length]=%_SubString(P,R,Q);
break;
}
var A=DoRegExpExec(O,P,S);
if(A===null||Q===(T=A[3])){
E[E.length]=%_SubString(P,R,Q);
break;
}
var U=A[4];
if(S===U&&U===R){
S++;
continue;
}
E[E.length]=%_SubString(P,R,T);
if(E.length===N)break;
var V=((A)[0])+3;
for(var G=3+2;G<V;){
var z=A[G++];
var C=A[G++];
if(C!=-1){
E[E.length]=%_SubString(P,z,C);
}else{
E[E.length]=(void 0);
}
if(E.length===N)break outer_loop;
}
S=R=U;
}
var W=[];
%MoveArrayContents(E,W);
return W;
}
function RegExpMatch(x){
if(!(%_IsRegExp(this))){
throw i(42,
"RegExp.prototype.@@match",this);
}
var P=(%_ToString(x));
if(!(%_RegExpFlags(this)&1))return RegExpExecNoTests(this,P,0);
this.lastIndex=0;
var E=%StringMatch(P,this,n);
return E;
}
function RegExpSearch(x){
if(!(%_IsRegExp(this))){
throw i(42,
"RegExp.prototype.@@search",this);
}
var X=DoRegExpExec(this,(%_ToString(x)),0);
if(X)return X[3];
return-1;
}
function RegExpGetLastMatch(){
var Y=((n)[1]);
return %_SubString(Y,
n[3],
n[4]);
}
function RegExpGetLastParen(){
var Q=((n)[0]);
if(Q<=2)return'';
var Y=((n)[1]);
var z=n[(3+(Q-2))];
var C=n[(3+(Q-1))];
if(z!=-1&&C!=-1){
return %_SubString(Y,z,C);
}
return"";
}
function RegExpGetLeftContext(){
var Z;
var P;
Z=n[3];
P=((n)[1]);
return %_SubString(P,0,Z);
}
function RegExpGetRightContext(){
var Z;
var P;
Z=n[4];
P=((n)[1]);
return %_SubString(P,Z,P.length);
}
function RegExpMakeCaptureGetter(aa){
return function foo(){
var y=aa*2;
if(y>=((n)[0]))return'';
var ab=n[(3+(y))];
var ac=n[(3+(y+1))];
if(ab==-1||ac==-1)return'';
return %_SubString(((n)[1]),ab,ac);
};
}
function RegExpGetGlobal(){
if(!(%_IsRegExp(this))){
if(this===f){
return(void 0);
}
throw i(131,"RegExp.prototype.global");
}
return!!(%_RegExpFlags(this)&1);
}
%FunctionSetName(RegExpGetGlobal,"RegExp.prototype.global");
%SetNativeFlag(RegExpGetGlobal);
function RegExpGetIgnoreCase(){
if(!(%_IsRegExp(this))){
if(this===f){
return(void 0);
}
throw i(131,"RegExp.prototype.ignoreCase");
}
return!!(%_RegExpFlags(this)&2);
}
%FunctionSetName(RegExpGetIgnoreCase,"RegExp.prototype.ignoreCase");
%SetNativeFlag(RegExpGetIgnoreCase);
function RegExpGetMultiline(){
if(!(%_IsRegExp(this))){
if(this===f){
return(void 0);
}
throw i(131,"RegExp.prototype.multiline");
}
return!!(%_RegExpFlags(this)&4);
}
%FunctionSetName(RegExpGetMultiline,"RegExp.prototype.multiline");
%SetNativeFlag(RegExpGetMultiline);
function RegExpGetSource(){
if(!(%_IsRegExp(this))){
if(this===f){
return(void 0);
}
throw i(131,"RegExp.prototype.source");
}
return(%_RegExpSource(this));
}
%FunctionSetName(RegExpGetSource,"RegExp.prototype.source");
%SetNativeFlag(RegExpGetSource);
%FunctionSetInstanceClassName(e,'RegExp');
f=new d();
%FunctionSetPrototype(e,f);
%AddNamedProperty(
e.prototype,'constructor',e,2);
%SetCode(e,RegExpConstructor);
b.InstallFunctions(e.prototype,2,[
"exec",RegExpExecJS,
"test",RegExpTest,
"toString",RegExpToString,
"compile",RegExpCompileJS,
j,RegExpMatch,
k,RegExpSearch,
l,RegExpSplit,
]);
b.InstallGetter(e.prototype,'global',RegExpGetGlobal);
b.InstallGetter(e.prototype,'ignoreCase',RegExpGetIgnoreCase);
b.InstallGetter(e.prototype,'multiline',RegExpGetMultiline);
b.InstallGetter(e.prototype,'source',RegExpGetSource);
%FunctionSetLength(e.prototype.compile,1);
var ad=function(){
var ae=((n)[2]);
return(ae===(void 0))?"":ae;
};
var af=function(x){
((n)[2])=(%_ToString(x));
};
%OptimizeObjectForAddingMultipleProperties(e,22);
b.InstallGetterSetter(e,'input',ad,af,
4);
b.InstallGetterSetter(e,'$_',ad,af,
2|4);
var ag=function(ah){};
b.InstallGetterSetter(e,'lastMatch',RegExpGetLastMatch,
ag,4);
b.InstallGetterSetter(e,'$&',RegExpGetLastMatch,ag,
2|4);
b.InstallGetterSetter(e,'lastParen',RegExpGetLastParen,
ag,4);
b.InstallGetterSetter(e,'$+',RegExpGetLastParen,ag,
2|4);
b.InstallGetterSetter(e,'leftContext',RegExpGetLeftContext,
ag,4);
b.InstallGetterSetter(e,'$`',RegExpGetLeftContext,ag,
2|4);
b.InstallGetterSetter(e,'rightContext',RegExpGetRightContext,
ag,4);
b.InstallGetterSetter(e,"$'",RegExpGetRightContext,ag,
2|4);
for(var G=1;G<10;++G){
b.InstallGetterSetter(e,'$'+G,RegExpMakeCaptureGetter(G),
ag,4);
}
%ToFastProperties(e);
b.Export(function(ai){
ai.RegExpExec=DoRegExpExec;
ai.RegExpExecNoTests=RegExpExecNoTests;
ai.RegExpLastMatchInfo=n;
ai.RegExpTest=RegExpTest;
});
})

,arraybufferÍ
(function(a,b){
"use strict";
%CheckIsBootstrapping();
var c=a.ArrayBuffer;
var d;
var e;
var f;
var g;
b.Import(function(h){
d=h.MakeTypeError;
e=h.MaxSimple;
f=h.MinSimple;
g=h.SpeciesConstructor;
});
function ArrayBufferGetByteLen(){
if(!(%_ClassOf(this)==='ArrayBuffer')){
throw d(42,
'ArrayBuffer.prototype.byteLength',this);
}
return %_ArrayBufferGetByteLength(this);
}
function ArrayBufferSlice(i,j){
if(!(%_ClassOf(this)==='ArrayBuffer')){
throw d(42,
'ArrayBuffer.prototype.slice',this);
}
var k=(%_ToInteger(i));
if(!(j===(void 0))){
j=(%_ToInteger(j));
}
var l;
var m=%_ArrayBufferGetByteLength(this);
if(k<0){
l=e(m+k,0);
}else{
l=f(k,m);
}
var n=(j===(void 0))?m:j;
var o;
if(n<0){
o=e(m+n,0);
}else{
o=f(n,m);
}
if(o<l){
o=l;
}
var p=o-l;
var q=g(this,c,true);
var r=new q(p);
if(!(%_ClassOf(r)==='ArrayBuffer')){
throw d(42,
'ArrayBuffer.prototype.slice',r);
}
if(r===this){
throw d(11);
}
if(%_ArrayBufferGetByteLength(r)<p){
throw d(10);
}
%ArrayBufferSliceImpl(this,r,l,p);
return r;
}
b.InstallGetter(c.prototype,"byteLength",
ArrayBufferGetByteLen);
b.InstallFunctions(c.prototype,2,[
"slice",ArrayBufferSlice
]);
})

(typedarrayzœ
(function(a,b){
"use strict";
%CheckIsBootstrapping();
var c;
var d;
var e;
var f=a.Array;
var g=a.ArrayBuffer;
var h=a.DataView;
var i=a.Object;
var j=b.InternalArray;
var k;
var l;
var m;
var n;
var o;
var p;
var q;
var r;
var s;
var t;
var u;
var v;
var w;
var x;
var y;
var z;
var j=b.InternalArray;
var A;
var B;
var C;
var D;
var E;
var F;
var G;
var H;
var I=b.ImportNow("iterator_symbol");
var J=b.ImportNow("to_string_tag_symbol");
var K=a.Uint8Array;

var L=a.Int8Array;

var M=a.Uint16Array;

var N=a.Int16Array;

var O=a.Uint32Array;

var P=a.Int32Array;

var Q=a.Float32Array;

var R=a.Float64Array;

var S=a.Uint8ClampedArray;


b.Import(function(T){
c=T.ArrayFrom;
d=T.ArrayToString;
e=T.ArrayValues;
k=T.InnerArrayCopyWithin;
l=T.InnerArrayEvery;
m=T.InnerArrayFill;
n=T.InnerArrayFilter;
o=T.InnerArrayFind;
p=T.InnerArrayFindIndex;
q=T.InnerArrayForEach;
r=T.InnerArrayIncludes;
s=T.InnerArrayIndexOf;
t=T.InnerArrayJoin;
u=T.InnerArrayLastIndexOf;
v=T.InnerArrayReduce;
w=T.InnerArrayReduceRight;
x=T.InnerArraySome;
y=T.InnerArraySort;
z=T.InnerArrayToLocaleString;
A=T.IsNaN;
B=T.MakeRangeError;
C=T.MakeTypeError;
D=T.MaxSimple;
E=T.MinSimple;
F=T.PackedArrayReverse;
G=T.SpeciesConstructor;
H=T.ToPositiveInteger;
});
function TypedArrayDefaultConstructor(U){
switch(%_ClassOf(U)){
case"Uint8Array":
return K;

case"Int8Array":
return L;

case"Uint16Array":
return M;

case"Int16Array":
return N;

case"Uint32Array":
return O;

case"Int32Array":
return P;

case"Float32Array":
return Q;

case"Float64Array":
return R;

case"Uint8ClampedArray":
return S;


}
throw C(42,
"TypedArrayDefaultConstructor",this);
}
function TypedArrayCreate(V,W,X,Y){
if((X===(void 0))){
var Z=new V(W);
}else{
var Z=new V(W,X,Y);
}
if(!%_IsTypedArray(Z))throw C(68);
if((typeof(W)==='number')&&%_TypedArrayGetLength(Z)<W){
throw C(265);
}
return Z;
}
function TypedArraySpeciesCreate(aa,W,X,Y,ab){
var ac=TypedArrayDefaultConstructor(aa);
var V=G(aa,ac,
ab);
return TypedArrayCreate(V,W,X,Y);
}
function Uint8ArrayConstructByArrayBuffer(ad,ae,af,ag){
if(!(af===(void 0))){
af=H(af,180);
}
if(!(ag===(void 0))){
ag=H(ag,180);
}
var ah=%_ArrayBufferGetByteLength(ae);
var ai;
if((af===(void 0))){
ai=0;
}else{
ai=af;
if(ai % 1!==0){
throw B(179,
"start offset","Uint8Array",1);
}
if(ai>ah){
throw B(181);
}
}
var aj;
var ak;
if((ag===(void 0))){
if(ah % 1!==0){
throw B(179,
"byte length","Uint8Array",1);
}
aj=ah-ai;
ak=aj/1;
}else{
var ak=ag;
aj=ak*1;
}
if((ai+aj>ah)
||(ak>%_MaxSmi())){
throw B(180);
}
%_TypedArrayInitialize(ad,1,ae,ai,aj,true);
}
function Uint8ArrayConstructByLength(ad,ag){
var al=(ag===(void 0))?
0:H(ag,180);
if(al>%_MaxSmi()){
throw B(180);
}
var am=al*1;
if(am>%_TypedArrayMaxSizeInHeap()){
var ae=new g(am);
%_TypedArrayInitialize(ad,1,ae,0,am,true);
}else{
%_TypedArrayInitialize(ad,1,null,0,am,true);
}
}
function Uint8ArrayConstructByArrayLike(ad,an){
var ag=an.length;
var al=H(ag,180);
if(al>%_MaxSmi()){
throw B(180);
}
var ao=false;
var am=al*1;
if(am<=%_TypedArrayMaxSizeInHeap()){
%_TypedArrayInitialize(ad,1,null,0,am,false);
}else{
ao=
%TypedArrayInitializeFromArrayLike(ad,1,an,al);
}
if(!ao){
for(var ap=0;ap<al;ap++){
ad[ap]=an[ap];
}
}
}
function Uint8ArrayConstructByIterable(ad,aq,ar){
var as=new j();
var at=%_Call(ar,aq);
var au={
__proto__:null
};
au[I]=function(){return at;}
for(var av of au){
as.push(av);
}
Uint8ArrayConstructByArrayLike(ad,as);
}
function Uint8ArrayConstructor(X,Y,aw){
if(!(new.target===(void 0))){
if((%_ClassOf(X)==='ArrayBuffer')||(%_ClassOf(X)==='SharedArrayBuffer')){
Uint8ArrayConstructByArrayBuffer(this,X,Y,aw);
}else if((typeof(X)==='number')||(typeof(X)==='string')||
(typeof(X)==='boolean')||(X===(void 0))){
Uint8ArrayConstructByLength(this,X);
}else{
var ar=X[I];
if((ar===(void 0))||ar===e){
Uint8ArrayConstructByArrayLike(this,X);
}else{
Uint8ArrayConstructByIterable(this,X,ar);
}
}
}else{
throw C(26,"Uint8Array")
}
}
function Uint8Array_GetLength(){
if(!(%_ClassOf(this)==='Uint8Array')){
throw C(42,"Uint8Array.length",this);
}
return %_TypedArrayGetLength(this);
}
function Uint8ArraySubArray(ax,ay){
var az=(%_ToInteger(ax));
if(!(ay===(void 0))){
var aA=(%_ToInteger(ay));
var aB=%_TypedArrayGetLength(this);
}else{
var aB=%_TypedArrayGetLength(this);
var aA=aB;
}
if(az<0){
az=D(0,aB+az);
}else{
az=E(az,aB);
}
if(aA<0){
aA=D(0,aB+aA);
}else{
aA=E(aA,aB);
}
if(aA<az){
aA=az;
}
var ak=aA-az;
var aC=
%_ArrayBufferViewGetByteOffset(this)+az*1;
return TypedArraySpeciesCreate(this,%TypedArrayGetBuffer(this),
aC,ak,true);
}

function Int8ArrayConstructByArrayBuffer(ad,ae,af,ag){
if(!(af===(void 0))){
af=H(af,180);
}
if(!(ag===(void 0))){
ag=H(ag,180);
}
var ah=%_ArrayBufferGetByteLength(ae);
var ai;
if((af===(void 0))){
ai=0;
}else{
ai=af;
if(ai % 1!==0){
throw B(179,
"start offset","Int8Array",1);
}
if(ai>ah){
throw B(181);
}
}
var aj;
var ak;
if((ag===(void 0))){
if(ah % 1!==0){
throw B(179,
"byte length","Int8Array",1);
}
aj=ah-ai;
ak=aj/1;
}else{
var ak=ag;
aj=ak*1;
}
if((ai+aj>ah)
||(ak>%_MaxSmi())){
throw B(180);
}
%_TypedArrayInitialize(ad,2,ae,ai,aj,true);
}
function Int8ArrayConstructByLength(ad,ag){
var al=(ag===(void 0))?
0:H(ag,180);
if(al>%_MaxSmi()){
throw B(180);
}
var am=al*1;
if(am>%_TypedArrayMaxSizeInHeap()){
var ae=new g(am);
%_TypedArrayInitialize(ad,2,ae,0,am,true);
}else{
%_TypedArrayInitialize(ad,2,null,0,am,true);
}
}
function Int8ArrayConstructByArrayLike(ad,an){
var ag=an.length;
var al=H(ag,180);
if(al>%_MaxSmi()){
throw B(180);
}
var ao=false;
var am=al*1;
if(am<=%_TypedArrayMaxSizeInHeap()){
%_TypedArrayInitialize(ad,2,null,0,am,false);
}else{
ao=
%TypedArrayInitializeFromArrayLike(ad,2,an,al);
}
if(!ao){
for(var ap=0;ap<al;ap++){
ad[ap]=an[ap];
}
}
}
function Int8ArrayConstructByIterable(ad,aq,ar){
var as=new j();
var at=%_Call(ar,aq);
var au={
__proto__:null
};
au[I]=function(){return at;}
for(var av of au){
as.push(av);
}
Int8ArrayConstructByArrayLike(ad,as);
}
function Int8ArrayConstructor(X,Y,aw){
if(!(new.target===(void 0))){
if((%_ClassOf(X)==='ArrayBuffer')||(%_ClassOf(X)==='SharedArrayBuffer')){
Int8ArrayConstructByArrayBuffer(this,X,Y,aw);
}else if((typeof(X)==='number')||(typeof(X)==='string')||
(typeof(X)==='boolean')||(X===(void 0))){
Int8ArrayConstructByLength(this,X);
}else{
var ar=X[I];
if((ar===(void 0))||ar===e){
Int8ArrayConstructByArrayLike(this,X);
}else{
Int8ArrayConstructByIterable(this,X,ar);
}
}
}else{
throw C(26,"Int8Array")
}
}
function Int8Array_GetLength(){
if(!(%_ClassOf(this)==='Int8Array')){
throw C(42,"Int8Array.length",this);
}
return %_TypedArrayGetLength(this);
}
function Int8ArraySubArray(ax,ay){
var az=(%_ToInteger(ax));
if(!(ay===(void 0))){
var aA=(%_ToInteger(ay));
var aB=%_TypedArrayGetLength(this);
}else{
var aB=%_TypedArrayGetLength(this);
var aA=aB;
}
if(az<0){
az=D(0,aB+az);
}else{
az=E(az,aB);
}
if(aA<0){
aA=D(0,aB+aA);
}else{
aA=E(aA,aB);
}
if(aA<az){
aA=az;
}
var ak=aA-az;
var aC=
%_ArrayBufferViewGetByteOffset(this)+az*1;
return TypedArraySpeciesCreate(this,%TypedArrayGetBuffer(this),
aC,ak,true);
}

function Uint16ArrayConstructByArrayBuffer(ad,ae,af,ag){
if(!(af===(void 0))){
af=H(af,180);
}
if(!(ag===(void 0))){
ag=H(ag,180);
}
var ah=%_ArrayBufferGetByteLength(ae);
var ai;
if((af===(void 0))){
ai=0;
}else{
ai=af;
if(ai % 2!==0){
throw B(179,
"start offset","Uint16Array",2);
}
if(ai>ah){
throw B(181);
}
}
var aj;
var ak;
if((ag===(void 0))){
if(ah % 2!==0){
throw B(179,
"byte length","Uint16Array",2);
}
aj=ah-ai;
ak=aj/2;
}else{
var ak=ag;
aj=ak*2;
}
if((ai+aj>ah)
||(ak>%_MaxSmi())){
throw B(180);
}
%_TypedArrayInitialize(ad,3,ae,ai,aj,true);
}
function Uint16ArrayConstructByLength(ad,ag){
var al=(ag===(void 0))?
0:H(ag,180);
if(al>%_MaxSmi()){
throw B(180);
}
var am=al*2;
if(am>%_TypedArrayMaxSizeInHeap()){
var ae=new g(am);
%_TypedArrayInitialize(ad,3,ae,0,am,true);
}else{
%_TypedArrayInitialize(ad,3,null,0,am,true);
}
}
function Uint16ArrayConstructByArrayLike(ad,an){
var ag=an.length;
var al=H(ag,180);
if(al>%_MaxSmi()){
throw B(180);
}
var ao=false;
var am=al*2;
if(am<=%_TypedArrayMaxSizeInHeap()){
%_TypedArrayInitialize(ad,3,null,0,am,false);
}else{
ao=
%TypedArrayInitializeFromArrayLike(ad,3,an,al);
}
if(!ao){
for(var ap=0;ap<al;ap++){
ad[ap]=an[ap];
}
}
}
function Uint16ArrayConstructByIterable(ad,aq,ar){
var as=new j();
var at=%_Call(ar,aq);
var au={
__proto__:null
};
au[I]=function(){return at;}
for(var av of au){
as.push(av);
}
Uint16ArrayConstructByArrayLike(ad,as);
}
function Uint16ArrayConstructor(X,Y,aw){
if(!(new.target===(void 0))){
if((%_ClassOf(X)==='ArrayBuffer')||(%_ClassOf(X)==='SharedArrayBuffer')){
Uint16ArrayConstructByArrayBuffer(this,X,Y,aw);
}else if((typeof(X)==='number')||(typeof(X)==='string')||
(typeof(X)==='boolean')||(X===(void 0))){
Uint16ArrayConstructByLength(this,X);
}else{
var ar=X[I];
if((ar===(void 0))||ar===e){
Uint16ArrayConstructByArrayLike(this,X);
}else{
Uint16ArrayConstructByIterable(this,X,ar);
}
}
}else{
throw C(26,"Uint16Array")
}
}
function Uint16Array_GetLength(){
if(!(%_ClassOf(this)==='Uint16Array')){
throw C(42,"Uint16Array.length",this);
}
return %_TypedArrayGetLength(this);
}
function Uint16ArraySubArray(ax,ay){
var az=(%_ToInteger(ax));
if(!(ay===(void 0))){
var aA=(%_ToInteger(ay));
var aB=%_TypedArrayGetLength(this);
}else{
var aB=%_TypedArrayGetLength(this);
var aA=aB;
}
if(az<0){
az=D(0,aB+az);
}else{
az=E(az,aB);
}
if(aA<0){
aA=D(0,aB+aA);
}else{
aA=E(aA,aB);
}
if(aA<az){
aA=az;
}
var ak=aA-az;
var aC=
%_ArrayBufferViewGetByteOffset(this)+az*2;
return TypedArraySpeciesCreate(this,%TypedArrayGetBuffer(this),
aC,ak,true);
}

function Int16ArrayConstructByArrayBuffer(ad,ae,af,ag){
if(!(af===(void 0))){
af=H(af,180);
}
if(!(ag===(void 0))){
ag=H(ag,180);
}
var ah=%_ArrayBufferGetByteLength(ae);
var ai;
if((af===(void 0))){
ai=0;
}else{
ai=af;
if(ai % 2!==0){
throw B(179,
"start offset","Int16Array",2);
}
if(ai>ah){
throw B(181);
}
}
var aj;
var ak;
if((ag===(void 0))){
if(ah % 2!==0){
throw B(179,
"byte length","Int16Array",2);
}
aj=ah-ai;
ak=aj/2;
}else{
var ak=ag;
aj=ak*2;
}
if((ai+aj>ah)
||(ak>%_MaxSmi())){
throw B(180);
}
%_TypedArrayInitialize(ad,4,ae,ai,aj,true);
}
function Int16ArrayConstructByLength(ad,ag){
var al=(ag===(void 0))?
0:H(ag,180);
if(al>%_MaxSmi()){
throw B(180);
}
var am=al*2;
if(am>%_TypedArrayMaxSizeInHeap()){
var ae=new g(am);
%_TypedArrayInitialize(ad,4,ae,0,am,true);
}else{
%_TypedArrayInitialize(ad,4,null,0,am,true);
}
}
function Int16ArrayConstructByArrayLike(ad,an){
var ag=an.length;
var al=H(ag,180);
if(al>%_MaxSmi()){
throw B(180);
}
var ao=false;
var am=al*2;
if(am<=%_TypedArrayMaxSizeInHeap()){
%_TypedArrayInitialize(ad,4,null,0,am,false);
}else{
ao=
%TypedArrayInitializeFromArrayLike(ad,4,an,al);
}
if(!ao){
for(var ap=0;ap<al;ap++){
ad[ap]=an[ap];
}
}
}
function Int16ArrayConstructByIterable(ad,aq,ar){
var as=new j();
var at=%_Call(ar,aq);
var au={
__proto__:null
};
au[I]=function(){return at;}
for(var av of au){
as.push(av);
}
Int16ArrayConstructByArrayLike(ad,as);
}
function Int16ArrayConstructor(X,Y,aw){
if(!(new.target===(void 0))){
if((%_ClassOf(X)==='ArrayBuffer')||(%_ClassOf(X)==='SharedArrayBuffer')){
Int16ArrayConstructByArrayBuffer(this,X,Y,aw);
}else if((typeof(X)==='number')||(typeof(X)==='string')||
(typeof(X)==='boolean')||(X===(void 0))){
Int16ArrayConstructByLength(this,X);
}else{
var ar=X[I];
if((ar===(void 0))||ar===e){
Int16ArrayConstructByArrayLike(this,X);
}else{
Int16ArrayConstructByIterable(this,X,ar);
}
}
}else{
throw C(26,"Int16Array")
}
}
function Int16Array_GetLength(){
if(!(%_ClassOf(this)==='Int16Array')){
throw C(42,"Int16Array.length",this);
}
return %_TypedArrayGetLength(this);
}
function Int16ArraySubArray(ax,ay){
var az=(%_ToInteger(ax));
if(!(ay===(void 0))){
var aA=(%_ToInteger(ay));
var aB=%_TypedArrayGetLength(this);
}else{
var aB=%_TypedArrayGetLength(this);
var aA=aB;
}
if(az<0){
az=D(0,aB+az);
}else{
az=E(az,aB);
}
if(aA<0){
aA=D(0,aB+aA);
}else{
aA=E(aA,aB);
}
if(aA<az){
aA=az;
}
var ak=aA-az;
var aC=
%_ArrayBufferViewGetByteOffset(this)+az*2;
return TypedArraySpeciesCreate(this,%TypedArrayGetBuffer(this),
aC,ak,true);
}

function Uint32ArrayConstructByArrayBuffer(ad,ae,af,ag){
if(!(af===(void 0))){
af=H(af,180);
}
if(!(ag===(void 0))){
ag=H(ag,180);
}
var ah=%_ArrayBufferGetByteLength(ae);
var ai;
if((af===(void 0))){
ai=0;
}else{
ai=af;
if(ai % 4!==0){
throw B(179,
"start offset","Uint32Array",4);
}
if(ai>ah){
throw B(181);
}
}
var aj;
var ak;
if((ag===(void 0))){
if(ah % 4!==0){
throw B(179,
"byte length","Uint32Array",4);
}
aj=ah-ai;
ak=aj/4;
}else{
var ak=ag;
aj=ak*4;
}
if((ai+aj>ah)
||(ak>%_MaxSmi())){
throw B(180);
}
%_TypedArrayInitialize(ad,5,ae,ai,aj,true);
}
function Uint32ArrayConstructByLength(ad,ag){
var al=(ag===(void 0))?
0:H(ag,180);
if(al>%_MaxSmi()){
throw B(180);
}
var am=al*4;
if(am>%_TypedArrayMaxSizeInHeap()){
var ae=new g(am);
%_TypedArrayInitialize(ad,5,ae,0,am,true);
}else{
%_TypedArrayInitialize(ad,5,null,0,am,true);
}
}
function Uint32ArrayConstructByArrayLike(ad,an){
var ag=an.length;
var al=H(ag,180);
if(al>%_MaxSmi()){
throw B(180);
}
var ao=false;
var am=al*4;
if(am<=%_TypedArrayMaxSizeInHeap()){
%_TypedArrayInitialize(ad,5,null,0,am,false);
}else{
ao=
%TypedArrayInitializeFromArrayLike(ad,5,an,al);
}
if(!ao){
for(var ap=0;ap<al;ap++){
ad[ap]=an[ap];
}
}
}
function Uint32ArrayConstructByIterable(ad,aq,ar){
var as=new j();
var at=%_Call(ar,aq);
var au={
__proto__:null
};
au[I]=function(){return at;}
for(var av of au){
as.push(av);
}
Uint32ArrayConstructByArrayLike(ad,as);
}
function Uint32ArrayConstructor(X,Y,aw){
if(!(new.target===(void 0))){
if((%_ClassOf(X)==='ArrayBuffer')||(%_ClassOf(X)==='SharedArrayBuffer')){
Uint32ArrayConstructByArrayBuffer(this,X,Y,aw);
}else if((typeof(X)==='number')||(typeof(X)==='string')||
(typeof(X)==='boolean')||(X===(void 0))){
Uint32ArrayConstructByLength(this,X);
}else{
var ar=X[I];
if((ar===(void 0))||ar===e){
Uint32ArrayConstructByArrayLike(this,X);
}else{
Uint32ArrayConstructByIterable(this,X,ar);
}
}
}else{
throw C(26,"Uint32Array")
}
}
function Uint32Array_GetLength(){
if(!(%_ClassOf(this)==='Uint32Array')){
throw C(42,"Uint32Array.length",this);
}
return %_TypedArrayGetLength(this);
}
function Uint32ArraySubArray(ax,ay){
var az=(%_ToInteger(ax));
if(!(ay===(void 0))){
var aA=(%_ToInteger(ay));
var aB=%_TypedArrayGetLength(this);
}else{
var aB=%_TypedArrayGetLength(this);
var aA=aB;
}
if(az<0){
az=D(0,aB+az);
}else{
az=E(az,aB);
}
if(aA<0){
aA=D(0,aB+aA);
}else{
aA=E(aA,aB);
}
if(aA<az){
aA=az;
}
var ak=aA-az;
var aC=
%_ArrayBufferViewGetByteOffset(this)+az*4;
return TypedArraySpeciesCreate(this,%TypedArrayGetBuffer(this),
aC,ak,true);
}

function Int32ArrayConstructByArrayBuffer(ad,ae,af,ag){
if(!(af===(void 0))){
af=H(af,180);
}
if(!(ag===(void 0))){
ag=H(ag,180);
}
var ah=%_ArrayBufferGetByteLength(ae);
var ai;
if((af===(void 0))){
ai=0;
}else{
ai=af;
if(ai % 4!==0){
throw B(179,
"start offset","Int32Array",4);
}
if(ai>ah){
throw B(181);
}
}
var aj;
var ak;
if((ag===(void 0))){
if(ah % 4!==0){
throw B(179,
"byte length","Int32Array",4);
}
aj=ah-ai;
ak=aj/4;
}else{
var ak=ag;
aj=ak*4;
}
if((ai+aj>ah)
||(ak>%_MaxSmi())){
throw B(180);
}
%_TypedArrayInitialize(ad,6,ae,ai,aj,true);
}
function Int32ArrayConstructByLength(ad,ag){
var al=(ag===(void 0))?
0:H(ag,180);
if(al>%_MaxSmi()){
throw B(180);
}
var am=al*4;
if(am>%_TypedArrayMaxSizeInHeap()){
var ae=new g(am);
%_TypedArrayInitialize(ad,6,ae,0,am,true);
}else{
%_TypedArrayInitialize(ad,6,null,0,am,true);
}
}
function Int32ArrayConstructByArrayLike(ad,an){
var ag=an.length;
var al=H(ag,180);
if(al>%_MaxSmi()){
throw B(180);
}
var ao=false;
var am=al*4;
if(am<=%_TypedArrayMaxSizeInHeap()){
%_TypedArrayInitialize(ad,6,null,0,am,false);
}else{
ao=
%TypedArrayInitializeFromArrayLike(ad,6,an,al);
}
if(!ao){
for(var ap=0;ap<al;ap++){
ad[ap]=an[ap];
}
}
}
function Int32ArrayConstructByIterable(ad,aq,ar){
var as=new j();
var at=%_Call(ar,aq);
var au={
__proto__:null
};
au[I]=function(){return at;}
for(var av of au){
as.push(av);
}
Int32ArrayConstructByArrayLike(ad,as);
}
function Int32ArrayConstructor(X,Y,aw){
if(!(new.target===(void 0))){
if((%_ClassOf(X)==='ArrayBuffer')||(%_ClassOf(X)==='SharedArrayBuffer')){
Int32ArrayConstructByArrayBuffer(this,X,Y,aw);
}else if((typeof(X)==='number')||(typeof(X)==='string')||
(typeof(X)==='boolean')||(X===(void 0))){
Int32ArrayConstructByLength(this,X);
}else{
var ar=X[I];
if((ar===(void 0))||ar===e){
Int32ArrayConstructByArrayLike(this,X);
}else{
Int32ArrayConstructByIterable(this,X,ar);
}
}
}else{
throw C(26,"Int32Array")
}
}
function Int32Array_GetLength(){
if(!(%_ClassOf(this)==='Int32Array')){
throw C(42,"Int32Array.length",this);
}
return %_TypedArrayGetLength(this);
}
function Int32ArraySubArray(ax,ay){
var az=(%_ToInteger(ax));
if(!(ay===(void 0))){
var aA=(%_ToInteger(ay));
var aB=%_TypedArrayGetLength(this);
}else{
var aB=%_TypedArrayGetLength(this);
var aA=aB;
}
if(az<0){
az=D(0,aB+az);
}else{
az=E(az,aB);
}
if(aA<0){
aA=D(0,aB+aA);
}else{
aA=E(aA,aB);
}
if(aA<az){
aA=az;
}
var ak=aA-az;
var aC=
%_ArrayBufferViewGetByteOffset(this)+az*4;
return TypedArraySpeciesCreate(this,%TypedArrayGetBuffer(this),
aC,ak,true);
}

function Float32ArrayConstructByArrayBuffer(ad,ae,af,ag){
if(!(af===(void 0))){
af=H(af,180);
}
if(!(ag===(void 0))){
ag=H(ag,180);
}
var ah=%_ArrayBufferGetByteLength(ae);
var ai;
if((af===(void 0))){
ai=0;
}else{
ai=af;
if(ai % 4!==0){
throw B(179,
"start offset","Float32Array",4);
}
if(ai>ah){
throw B(181);
}
}
var aj;
var ak;
if((ag===(void 0))){
if(ah % 4!==0){
throw B(179,
"byte length","Float32Array",4);
}
aj=ah-ai;
ak=aj/4;
}else{
var ak=ag;
aj=ak*4;
}
if((ai+aj>ah)
||(ak>%_MaxSmi())){
throw B(180);
}
%_TypedArrayInitialize(ad,7,ae,ai,aj,true);
}
function Float32ArrayConstructByLength(ad,ag){
var al=(ag===(void 0))?
0:H(ag,180);
if(al>%_MaxSmi()){
throw B(180);
}
var am=al*4;
if(am>%_TypedArrayMaxSizeInHeap()){
var ae=new g(am);
%_TypedArrayInitialize(ad,7,ae,0,am,true);
}else{
%_TypedArrayInitialize(ad,7,null,0,am,true);
}
}
function Float32ArrayConstructByArrayLike(ad,an){
var ag=an.length;
var al=H(ag,180);
if(al>%_MaxSmi()){
throw B(180);
}
var ao=false;
var am=al*4;
if(am<=%_TypedArrayMaxSizeInHeap()){
%_TypedArrayInitialize(ad,7,null,0,am,false);
}else{
ao=
%TypedArrayInitializeFromArrayLike(ad,7,an,al);
}
if(!ao){
for(var ap=0;ap<al;ap++){
ad[ap]=an[ap];
}
}
}
function Float32ArrayConstructByIterable(ad,aq,ar){
var as=new j();
var at=%_Call(ar,aq);
var au={
__proto__:null
};
au[I]=function(){return at;}
for(var av of au){
as.push(av);
}
Float32ArrayConstructByArrayLike(ad,as);
}
function Float32ArrayConstructor(X,Y,aw){
if(!(new.target===(void 0))){
if((%_ClassOf(X)==='ArrayBuffer')||(%_ClassOf(X)==='SharedArrayBuffer')){
Float32ArrayConstructByArrayBuffer(this,X,Y,aw);
}else if((typeof(X)==='number')||(typeof(X)==='string')||
(typeof(X)==='boolean')||(X===(void 0))){
Float32ArrayConstructByLength(this,X);
}else{
var ar=X[I];
if((ar===(void 0))||ar===e){
Float32ArrayConstructByArrayLike(this,X);
}else{
Float32ArrayConstructByIterable(this,X,ar);
}
}
}else{
throw C(26,"Float32Array")
}
}
function Float32Array_GetLength(){
if(!(%_ClassOf(this)==='Float32Array')){
throw C(42,"Float32Array.length",this);
}
return %_TypedArrayGetLength(this);
}
function Float32ArraySubArray(ax,ay){
var az=(%_ToInteger(ax));
if(!(ay===(void 0))){
var aA=(%_ToInteger(ay));
var aB=%_TypedArrayGetLength(this);
}else{
var aB=%_TypedArrayGetLength(this);
var aA=aB;
}
if(az<0){
az=D(0,aB+az);
}else{
az=E(az,aB);
}
if(aA<0){
aA=D(0,aB+aA);
}else{
aA=E(aA,aB);
}
if(aA<az){
aA=az;
}
var ak=aA-az;
var aC=
%_ArrayBufferViewGetByteOffset(this)+az*4;
return TypedArraySpeciesCreate(this,%TypedArrayGetBuffer(this),
aC,ak,true);
}

function Float64ArrayConstructByArrayBuffer(ad,ae,af,ag){
if(!(af===(void 0))){
af=H(af,180);
}
if(!(ag===(void 0))){
ag=H(ag,180);
}
var ah=%_ArrayBufferGetByteLength(ae);
var ai;
if((af===(void 0))){
ai=0;
}else{
ai=af;
if(ai % 8!==0){
throw B(179,
"start offset","Float64Array",8);
}
if(ai>ah){
throw B(181);
}
}
var aj;
var ak;
if((ag===(void 0))){
if(ah % 8!==0){
throw B(179,
"byte length","Float64Array",8);
}
aj=ah-ai;
ak=aj/8;
}else{
var ak=ag;
aj=ak*8;
}
if((ai+aj>ah)
||(ak>%_MaxSmi())){
throw B(180);
}
%_TypedArrayInitialize(ad,8,ae,ai,aj,true);
}
function Float64ArrayConstructByLength(ad,ag){
var al=(ag===(void 0))?
0:H(ag,180);
if(al>%_MaxSmi()){
throw B(180);
}
var am=al*8;
if(am>%_TypedArrayMaxSizeInHeap()){
var ae=new g(am);
%_TypedArrayInitialize(ad,8,ae,0,am,true);
}else{
%_TypedArrayInitialize(ad,8,null,0,am,true);
}
}
function Float64ArrayConstructByArrayLike(ad,an){
var ag=an.length;
var al=H(ag,180);
if(al>%_MaxSmi()){
throw B(180);
}
var ao=false;
var am=al*8;
if(am<=%_TypedArrayMaxSizeInHeap()){
%_TypedArrayInitialize(ad,8,null,0,am,false);
}else{
ao=
%TypedArrayInitializeFromArrayLike(ad,8,an,al);
}
if(!ao){
for(var ap=0;ap<al;ap++){
ad[ap]=an[ap];
}
}
}
function Float64ArrayConstructByIterable(ad,aq,ar){
var as=new j();
var at=%_Call(ar,aq);
var au={
__proto__:null
};
au[I]=function(){return at;}
for(var av of au){
as.push(av);
}
Float64ArrayConstructByArrayLike(ad,as);
}
function Float64ArrayConstructor(X,Y,aw){
if(!(new.target===(void 0))){
if((%_ClassOf(X)==='ArrayBuffer')||(%_ClassOf(X)==='SharedArrayBuffer')){
Float64ArrayConstructByArrayBuffer(this,X,Y,aw);
}else if((typeof(X)==='number')||(typeof(X)==='string')||
(typeof(X)==='boolean')||(X===(void 0))){
Float64ArrayConstructByLength(this,X);
}else{
var ar=X[I];
if((ar===(void 0))||ar===e){
Float64ArrayConstructByArrayLike(this,X);
}else{
Float64ArrayConstructByIterable(this,X,ar);
}
}
}else{
throw C(26,"Float64Array")
}
}
function Float64Array_GetLength(){
if(!(%_ClassOf(this)==='Float64Array')){
throw C(42,"Float64Array.length",this);
}
return %_TypedArrayGetLength(this);
}
function Float64ArraySubArray(ax,ay){
var az=(%_ToInteger(ax));
if(!(ay===(void 0))){
var aA=(%_ToInteger(ay));
var aB=%_TypedArrayGetLength(this);
}else{
var aB=%_TypedArrayGetLength(this);
var aA=aB;
}
if(az<0){
az=D(0,aB+az);
}else{
az=E(az,aB);
}
if(aA<0){
aA=D(0,aB+aA);
}else{
aA=E(aA,aB);
}
if(aA<az){
aA=az;
}
var ak=aA-az;
var aC=
%_ArrayBufferViewGetByteOffset(this)+az*8;
return TypedArraySpeciesCreate(this,%TypedArrayGetBuffer(this),
aC,ak,true);
}

function Uint8ClampedArrayConstructByArrayBuffer(ad,ae,af,ag){
if(!(af===(void 0))){
af=H(af,180);
}
if(!(ag===(void 0))){
ag=H(ag,180);
}
var ah=%_ArrayBufferGetByteLength(ae);
var ai;
if((af===(void 0))){
ai=0;
}else{
ai=af;
if(ai % 1!==0){
throw B(179,
"start offset","Uint8ClampedArray",1);
}
if(ai>ah){
throw B(181);
}
}
var aj;
var ak;
if((ag===(void 0))){
if(ah % 1!==0){
throw B(179,
"byte length","Uint8ClampedArray",1);
}
aj=ah-ai;
ak=aj/1;
}else{
var ak=ag;
aj=ak*1;
}
if((ai+aj>ah)
||(ak>%_MaxSmi())){
throw B(180);
}
%_TypedArrayInitialize(ad,9,ae,ai,aj,true);
}
function Uint8ClampedArrayConstructByLength(ad,ag){
var al=(ag===(void 0))?
0:H(ag,180);
if(al>%_MaxSmi()){
throw B(180);
}
var am=al*1;
if(am>%_TypedArrayMaxSizeInHeap()){
var ae=new g(am);
%_TypedArrayInitialize(ad,9,ae,0,am,true);
}else{
%_TypedArrayInitialize(ad,9,null,0,am,true);
}
}
function Uint8ClampedArrayConstructByArrayLike(ad,an){
var ag=an.length;
var al=H(ag,180);
if(al>%_MaxSmi()){
throw B(180);
}
var ao=false;
var am=al*1;
if(am<=%_TypedArrayMaxSizeInHeap()){
%_TypedArrayInitialize(ad,9,null,0,am,false);
}else{
ao=
%TypedArrayInitializeFromArrayLike(ad,9,an,al);
}
if(!ao){
for(var ap=0;ap<al;ap++){
ad[ap]=an[ap];
}
}
}
function Uint8ClampedArrayConstructByIterable(ad,aq,ar){
var as=new j();
var at=%_Call(ar,aq);
var au={
__proto__:null
};
au[I]=function(){return at;}
for(var av of au){
as.push(av);
}
Uint8ClampedArrayConstructByArrayLike(ad,as);
}
function Uint8ClampedArrayConstructor(X,Y,aw){
if(!(new.target===(void 0))){
if((%_ClassOf(X)==='ArrayBuffer')||(%_ClassOf(X)==='SharedArrayBuffer')){
Uint8ClampedArrayConstructByArrayBuffer(this,X,Y,aw);
}else if((typeof(X)==='number')||(typeof(X)==='string')||
(typeof(X)==='boolean')||(X===(void 0))){
Uint8ClampedArrayConstructByLength(this,X);
}else{
var ar=X[I];
if((ar===(void 0))||ar===e){
Uint8ClampedArrayConstructByArrayLike(this,X);
}else{
Uint8ClampedArrayConstructByIterable(this,X,ar);
}
}
}else{
throw C(26,"Uint8ClampedArray")
}
}
function Uint8ClampedArray_GetLength(){
if(!(%_ClassOf(this)==='Uint8ClampedArray')){
throw C(42,"Uint8ClampedArray.length",this);
}
return %_TypedArrayGetLength(this);
}
function Uint8ClampedArraySubArray(ax,ay){
var az=(%_ToInteger(ax));
if(!(ay===(void 0))){
var aA=(%_ToInteger(ay));
var aB=%_TypedArrayGetLength(this);
}else{
var aB=%_TypedArrayGetLength(this);
var aA=aB;
}
if(az<0){
az=D(0,aB+az);
}else{
az=E(az,aB);
}
if(aA<0){
aA=D(0,aB+aA);
}else{
aA=E(aA,aB);
}
if(aA<az){
aA=az;
}
var ak=aA-az;
var aC=
%_ArrayBufferViewGetByteOffset(this)+az*1;
return TypedArraySpeciesCreate(this,%TypedArrayGetBuffer(this),
aC,ak,true);
}


function TypedArraySubArray(ax,ay){
switch(%_ClassOf(this)){
case"Uint8Array":
return %_Call(Uint8ArraySubArray,this,ax,ay);

case"Int8Array":
return %_Call(Int8ArraySubArray,this,ax,ay);

case"Uint16Array":
return %_Call(Uint16ArraySubArray,this,ax,ay);

case"Int16Array":
return %_Call(Int16ArraySubArray,this,ax,ay);

case"Uint32Array":
return %_Call(Uint32ArraySubArray,this,ax,ay);

case"Int32Array":
return %_Call(Int32ArraySubArray,this,ax,ay);

case"Float32Array":
return %_Call(Float32ArraySubArray,this,ax,ay);

case"Float64Array":
return %_Call(Float64ArraySubArray,this,ax,ay);

case"Uint8ClampedArray":
return %_Call(Uint8ClampedArraySubArray,this,ax,ay);


}
throw C(42,
"get TypedArray.prototype.subarray",this);
}
%SetForceInlineFlag(TypedArraySubArray);
function TypedArrayGetBuffer(){
if(!%_IsTypedArray(this)){
throw C(42,
"get TypedArray.prototype.buffer",this);
}
return %TypedArrayGetBuffer(this);
}
%SetForceInlineFlag(TypedArrayGetBuffer);
function TypedArrayGetByteLength(){
if(!%_IsTypedArray(this)){
throw C(42,
"get TypedArray.prototype.byteLength",this);
}
return %_ArrayBufferViewGetByteLength(this);
}
%SetForceInlineFlag(TypedArrayGetByteLength);
function TypedArrayGetByteOffset(){
if(!%_IsTypedArray(this)){
throw C(42,
"get TypedArray.prototype.byteOffset",this);
}
return %_ArrayBufferViewGetByteOffset(this);
}
%SetForceInlineFlag(TypedArrayGetByteOffset);
function TypedArrayGetLength(){
if(!%_IsTypedArray(this)){
throw C(42,
"get TypedArray.prototype.length",this);
}
return %_TypedArrayGetLength(this);
}
%SetForceInlineFlag(TypedArrayGetLength);
function TypedArraySetFromArrayLike(aD,aE,aF,ai){
if(ai>0){
for(var ap=0;ap<aF;ap++){
aD[ai+ap]=aE[ap];
}
}
else{
for(var ap=0;ap<aF;ap++){
aD[ap]=aE[ap];
}
}
}
function TypedArraySetFromOverlappingTypedArray(aD,aE,ai){
var aG=aE.BYTES_PER_ELEMENT;
var aH=aD.BYTES_PER_ELEMENT;
var aF=aE.length;
function CopyLeftPart(){
var aI=aD.byteOffset+(ai+1)*aH;
var aJ=aE.byteOffset;
for(var aK=0;
aK<aF&&aI<=aJ;
aK++){
aD[ai+aK]=aE[aK];
aI+=aH;
aJ+=aG;
}
return aK;
}
var aK=CopyLeftPart();
function CopyRightPart(){
var aI=
aD.byteOffset+(ai+aF-1)*aH;
var aJ=
aE.byteOffset+aF*aG;
for(var aL=aF-1;
aL>=aK&&aI>=aJ;
aL--){
aD[ai+aL]=aE[aL];
aI-=aH;
aJ-=aG;
}
return aL;
}
var aL=CopyRightPart();
var aM=new f(aL+1-aK);
for(var ap=aK;ap<=aL;ap++){
aM[ap-aK]=aE[ap];
}
for(ap=aK;ap<=aL;ap++){
aD[ai+ap]=aM[ap-aK];
}
}
function TypedArraySet(ad,ai){
var aN=(ai===(void 0))?0:(%_ToInteger(ai));
if(aN<0)throw C(190);
if(aN>%_MaxSmi()){
throw B(191);
}
switch(%TypedArraySetFastCases(this,ad,aN)){
case 0:
return;
case 1:
TypedArraySetFromOverlappingTypedArray(this,ad,aN);
return;
case 2:
TypedArraySetFromArrayLike(this,ad,ad.length,aN);
return;
case 3:
var al=ad.length;
if((al===(void 0))){
if((typeof(ad)==='number')){
throw C(45);
}
return;
}
al=(%_ToLength(al));
if(aN+al>this.length){
throw B(191);
}
TypedArraySetFromArrayLike(this,ad,al,aN);
return;
}
}
function TypedArrayGetToStringTag(){
if(!%_IsTypedArray(this))return;
var aO=%_ClassOf(this);
if((aO===(void 0)))return;
return aO;
}
function TypedArrayCopyWithin(aD,aP,ay){
if(!%_IsTypedArray(this))throw C(68);
var ag=%_TypedArrayGetLength(this);
return k(aD,aP,ay,this,ag);
}
%FunctionSetLength(TypedArrayCopyWithin,2);
function TypedArrayEvery(aQ,aR){
if(!%_IsTypedArray(this))throw C(68);
var ag=%_TypedArrayGetLength(this);
return l(aQ,aR,this,ag);
}
%FunctionSetLength(TypedArrayEvery,1);
function TypedArrayForEach(aQ,aR){
if(!%_IsTypedArray(this))throw C(68);
var ag=%_TypedArrayGetLength(this);
q(aQ,aR,this,ag);
}
%FunctionSetLength(TypedArrayForEach,1);
function TypedArrayFill(av,aP,ay){
if(!%_IsTypedArray(this))throw C(68);
var ag=%_TypedArrayGetLength(this);
return m(av,aP,ay,this,ag);
}
%FunctionSetLength(TypedArrayFill,1);
function TypedArrayFilter(aQ,aS){
if(!%_IsTypedArray(this))throw C(68);
var ag=%_TypedArrayGetLength(this);
if(!(typeof(aQ)==='function'))throw C(15,aQ);
var aT=new j();
n(aQ,aS,this,ag,aT);
var aU=aT.length;
var aV=TypedArraySpeciesCreate(this,aU);
for(var ap=0;ap<aU;ap++){
aV[ap]=aT[ap];
}
return aV;
}
%FunctionSetLength(TypedArrayFilter,1);
function TypedArrayFind(aW,aS){
if(!%_IsTypedArray(this))throw C(68);
var ag=%_TypedArrayGetLength(this);
return o(aW,aS,this,ag);
}
%FunctionSetLength(TypedArrayFind,1);
function TypedArrayFindIndex(aW,aS){
if(!%_IsTypedArray(this))throw C(68);
var ag=%_TypedArrayGetLength(this);
return p(aW,aS,this,ag);
}
%FunctionSetLength(TypedArrayFindIndex,1);
function TypedArrayReverse(){
if(!%_IsTypedArray(this))throw C(68);
var ag=%_TypedArrayGetLength(this);
return F(this,ag);
}
function TypedArrayComparefn(aX,aY){
if(A(aX)&&A(aY)){
return A(aY)?0:1;
}
if(A(aX)){
return 1;
}
if(aX===0&&aX===aY){
if(%_IsMinusZero(aX)){
if(!%_IsMinusZero(aY)){
return-1;
}
}else if(%_IsMinusZero(aY)){
return 1;
}
}
return aX-aY;
}
function TypedArraySort(aZ){
if(!%_IsTypedArray(this))throw C(68);
var ag=%_TypedArrayGetLength(this);
if((aZ===(void 0))){
aZ=TypedArrayComparefn;
}
return y(this,ag,aZ);
}
function TypedArrayIndexOf(ba,bb){
if(!%_IsTypedArray(this))throw C(68);
var ag=%_TypedArrayGetLength(this);
return s(this,ba,bb,ag);
}
%FunctionSetLength(TypedArrayIndexOf,1);
function TypedArrayLastIndexOf(ba,bb){
if(!%_IsTypedArray(this))throw C(68);
var ag=%_TypedArrayGetLength(this);
return u(this,ba,bb,ag,
%_ArgumentsLength());
}
%FunctionSetLength(TypedArrayLastIndexOf,1);
function TypedArrayMap(aQ,aS){
if(!%_IsTypedArray(this))throw C(68);
var ag=%_TypedArrayGetLength(this);
var aT=TypedArraySpeciesCreate(this,ag);
if(!(typeof(aQ)==='function'))throw C(15,aQ);
for(var ap=0;ap<ag;ap++){
var ba=this[ap];
aT[ap]=%_Call(aQ,aS,ba,ap,this);
}
return aT;
}
%FunctionSetLength(TypedArrayMap,1);
function TypedArraySome(aQ,aR){
if(!%_IsTypedArray(this))throw C(68);
var ag=%_TypedArrayGetLength(this);
return x(aQ,aR,this,ag);
}
%FunctionSetLength(TypedArraySome,1);
function TypedArrayToLocaleString(){
if(!%_IsTypedArray(this))throw C(68);
var ag=%_TypedArrayGetLength(this);
return z(this,ag);
}
function TypedArrayToString(){
return %_Call(d,this);
}
function TypedArrayJoin(bc){
if(!%_IsTypedArray(this))throw C(68);
var ag=%_TypedArrayGetLength(this);
return t(bc,this,ag);
}
function TypedArrayReduce(bd,be){
if(!%_IsTypedArray(this))throw C(68);
var ag=%_TypedArrayGetLength(this);
return v(bd,be,this,ag,
%_ArgumentsLength());
}
%FunctionSetLength(TypedArrayReduce,1);
function TypedArrayReduceRight(bd,be){
if(!%_IsTypedArray(this))throw C(68);
var ag=%_TypedArrayGetLength(this);
return w(bd,be,this,ag,
%_ArgumentsLength());
}
%FunctionSetLength(TypedArrayReduceRight,1);
function TypedArraySlice(aP,ay){
if(!%_IsTypedArray(this))throw C(68);
var bf=%_TypedArrayGetLength(this);
var bg=(%_ToInteger(aP));
var bh;
if(bg<0){
bh=D(bf+bg,0);
}else{
bh=E(bg,bf);
}
var bi;
if((ay===(void 0))){
bi=bf;
}else{
bi=(%_ToInteger(ay));
}
var bj;
if(bi<0){
bj=D(bf+bi,0);
}else{
bj=E(bi,bf);
}
var bk=D(bj-bh,0);
var bl=TypedArraySpeciesCreate(this,bk);
var bm=0;
while(bh<bj){
var bn=this[bh];
bl[bm]=bn;
bh++;
bm++;
}
return bl;
}
function TypedArrayIncludes(bo,bp){
if(!%_IsTypedArray(this))throw C(68);
var ag=%_TypedArrayGetLength(this);
return r(bo,bp,this,ag);
}
%FunctionSetLength(TypedArrayIncludes,1);
function TypedArrayOf(){
var ag=%_ArgumentsLength();
var bl=TypedArrayCreate(this,ag);
for(var ap=0;ap<ag;ap++){
bl[ap]=%_Arguments(ap);
}
return bl;
}
function TypedArrayFrom(aE,bq,aS){
var bl=%_Call(c,f,aE,bq,aS);
return TypedArrayCreate(this,bl);
}
%FunctionSetLength(TypedArrayFrom,1);
function TypedArray(){
if((new.target===(void 0))){
throw C(25,"TypedArray");
}
if(new.target===TypedArray){
throw C(23,"TypedArray");
}
}
%FunctionSetPrototype(TypedArray,new i());
%AddNamedProperty(TypedArray.prototype,
"constructor",TypedArray,2);
b.InstallFunctions(TypedArray,2|4|1,[
"from",TypedArrayFrom,
"of",TypedArrayOf
]);
b.InstallGetter(TypedArray.prototype,"buffer",TypedArrayGetBuffer);
b.InstallGetter(TypedArray.prototype,"byteOffset",TypedArrayGetByteOffset,
2|4);
b.InstallGetter(TypedArray.prototype,"byteLength",
TypedArrayGetByteLength,2|4);
b.InstallGetter(TypedArray.prototype,"length",TypedArrayGetLength,
2|4);
b.InstallGetter(TypedArray.prototype,J,
TypedArrayGetToStringTag);
b.InstallFunctions(TypedArray.prototype,2,[
"subarray",TypedArraySubArray,
"set",TypedArraySet,
"copyWithin",TypedArrayCopyWithin,
"every",TypedArrayEvery,
"fill",TypedArrayFill,
"filter",TypedArrayFilter,
"find",TypedArrayFind,
"findIndex",TypedArrayFindIndex,
"includes",TypedArrayIncludes,
"indexOf",TypedArrayIndexOf,
"join",TypedArrayJoin,
"lastIndexOf",TypedArrayLastIndexOf,
"forEach",TypedArrayForEach,
"map",TypedArrayMap,
"reduce",TypedArrayReduce,
"reduceRight",TypedArrayReduceRight,
"reverse",TypedArrayReverse,
"slice",TypedArraySlice,
"some",TypedArraySome,
"sort",TypedArraySort,
"toString",TypedArrayToString,
"toLocaleString",TypedArrayToLocaleString
]);
%SetCode(K,Uint8ArrayConstructor);
%FunctionSetPrototype(K,new i());
%InternalSetPrototype(K,TypedArray);
%InternalSetPrototype(K.prototype,TypedArray.prototype);
%AddNamedProperty(K,"BYTES_PER_ELEMENT",1,
1|2|4);
%AddNamedProperty(K.prototype,
"constructor",a.Uint8Array,2);
%AddNamedProperty(K.prototype,
"BYTES_PER_ELEMENT",1,
1|2|4);
b.InstallGetter(K.prototype,"length",Uint8Array_GetLength,
2|4);

%SetCode(L,Int8ArrayConstructor);
%FunctionSetPrototype(L,new i());
%InternalSetPrototype(L,TypedArray);
%InternalSetPrototype(L.prototype,TypedArray.prototype);
%AddNamedProperty(L,"BYTES_PER_ELEMENT",1,
1|2|4);
%AddNamedProperty(L.prototype,
"constructor",a.Int8Array,2);
%AddNamedProperty(L.prototype,
"BYTES_PER_ELEMENT",1,
1|2|4);
b.InstallGetter(L.prototype,"length",Int8Array_GetLength,
2|4);

%SetCode(M,Uint16ArrayConstructor);
%FunctionSetPrototype(M,new i());
%InternalSetPrototype(M,TypedArray);
%InternalSetPrototype(M.prototype,TypedArray.prototype);
%AddNamedProperty(M,"BYTES_PER_ELEMENT",2,
1|2|4);
%AddNamedProperty(M.prototype,
"constructor",a.Uint16Array,2);
%AddNamedProperty(M.prototype,
"BYTES_PER_ELEMENT",2,
1|2|4);
b.InstallGetter(M.prototype,"length",Uint16Array_GetLength,
2|4);

%SetCode(N,Int16ArrayConstructor);
%FunctionSetPrototype(N,new i());
%InternalSetPrototype(N,TypedArray);
%InternalSetPrototype(N.prototype,TypedArray.prototype);
%AddNamedProperty(N,"BYTES_PER_ELEMENT",2,
1|2|4);
%AddNamedProperty(N.prototype,
"constructor",a.Int16Array,2);
%AddNamedProperty(N.prototype,
"BYTES_PER_ELEMENT",2,
1|2|4);
b.InstallGetter(N.prototype,"length",Int16Array_GetLength,
2|4);

%SetCode(O,Uint32ArrayConstructor);
%FunctionSetPrototype(O,new i());
%InternalSetPrototype(O,TypedArray);
%InternalSetPrototype(O.prototype,TypedArray.prototype);
%AddNamedProperty(O,"BYTES_PER_ELEMENT",4,
1|2|4);
%AddNamedProperty(O.prototype,
"constructor",a.Uint32Array,2);
%AddNamedProperty(O.prototype,
"BYTES_PER_ELEMENT",4,
1|2|4);
b.InstallGetter(O.prototype,"length",Uint32Array_GetLength,
2|4);

%SetCode(P,Int32ArrayConstructor);
%FunctionSetPrototype(P,new i());
%InternalSetPrototype(P,TypedArray);
%InternalSetPrototype(P.prototype,TypedArray.prototype);
%AddNamedProperty(P,"BYTES_PER_ELEMENT",4,
1|2|4);
%AddNamedProperty(P.prototype,
"constructor",a.Int32Array,2);
%AddNamedProperty(P.prototype,
"BYTES_PER_ELEMENT",4,
1|2|4);
b.InstallGetter(P.prototype,"length",Int32Array_GetLength,
2|4);

%SetCode(Q,Float32ArrayConstructor);
%FunctionSetPrototype(Q,new i());
%InternalSetPrototype(Q,TypedArray);
%InternalSetPrototype(Q.prototype,TypedArray.prototype);
%AddNamedProperty(Q,"BYTES_PER_ELEMENT",4,
1|2|4);
%AddNamedProperty(Q.prototype,
"constructor",a.Float32Array,2);
%AddNamedProperty(Q.prototype,
"BYTES_PER_ELEMENT",4,
1|2|4);
b.InstallGetter(Q.prototype,"length",Float32Array_GetLength,
2|4);

%SetCode(R,Float64ArrayConstructor);
%FunctionSetPrototype(R,new i());
%InternalSetPrototype(R,TypedArray);
%InternalSetPrototype(R.prototype,TypedArray.prototype);
%AddNamedProperty(R,"BYTES_PER_ELEMENT",8,
1|2|4);
%AddNamedProperty(R.prototype,
"constructor",a.Float64Array,2);
%AddNamedProperty(R.prototype,
"BYTES_PER_ELEMENT",8,
1|2|4);
b.InstallGetter(R.prototype,"length",Float64Array_GetLength,
2|4);

%SetCode(S,Uint8ClampedArrayConstructor);
%FunctionSetPrototype(S,new i());
%InternalSetPrototype(S,TypedArray);
%InternalSetPrototype(S.prototype,TypedArray.prototype);
%AddNamedProperty(S,"BYTES_PER_ELEMENT",1,
1|2|4);
%AddNamedProperty(S.prototype,
"constructor",a.Uint8ClampedArray,2);
%AddNamedProperty(S.prototype,
"BYTES_PER_ELEMENT",1,
1|2|4);
b.InstallGetter(S.prototype,"length",Uint8ClampedArray_GetLength,
2|4);


function DataViewConstructor(ae,af,am){
if((new.target===(void 0))){
throw C(26,"DataView");
}
if(!(%_ClassOf(ae)==='ArrayBuffer'))throw C(29);
if(!(af===(void 0))){
af=H(af,172);
}
if(!(am===(void 0))){
am=(%_ToInteger(am));
}
var ah=%_ArrayBufferGetByteLength(ae);
var ai=(af===(void 0))?0:af;
if(ai>ah)throw B(172);
var ag=(am===(void 0))
?ah-ai
:am;
if(ag<0||ai+ag>ah){
throw new B(171);
}
var aT=%NewObject(h,new.target);
%_DataViewInitialize(aT,ae,ai,ag);
return aT;
}
function DataViewGetBufferJS(){
if(!(%_ClassOf(this)==='DataView')){
throw C(42,'DataView.buffer',this);
}
return %DataViewGetBuffer(this);
}
function DataViewGetByteOffset(){
if(!(%_ClassOf(this)==='DataView')){
throw C(42,
'DataView.byteOffset',this);
}
return %_ArrayBufferViewGetByteOffset(this);
}
function DataViewGetByteLength(){
if(!(%_ClassOf(this)==='DataView')){
throw C(42,
'DataView.byteLength',this);
}
return %_ArrayBufferViewGetByteLength(this);
}
function DataViewGetInt8JS(ai,br){
if(!(%_ClassOf(this)==='DataView')){
throw C(42,
'DataView.getInt8',this);
}
if(%_ArgumentsLength()<1)throw C(45);
ai=H(ai,170);
return %DataViewGetInt8(this,ai,!!br);
}
function DataViewSetInt8JS(ai,av,br){
if(!(%_ClassOf(this)==='DataView')){
throw C(42,
'DataView.setInt8',this);
}
if(%_ArgumentsLength()<2)throw C(45);
ai=H(ai,170);
%DataViewSetInt8(this,ai,(%_ToNumber(av)),!!br);
}

function DataViewGetUint8JS(ai,br){
if(!(%_ClassOf(this)==='DataView')){
throw C(42,
'DataView.getUint8',this);
}
if(%_ArgumentsLength()<1)throw C(45);
ai=H(ai,170);
return %DataViewGetUint8(this,ai,!!br);
}
function DataViewSetUint8JS(ai,av,br){
if(!(%_ClassOf(this)==='DataView')){
throw C(42,
'DataView.setUint8',this);
}
if(%_ArgumentsLength()<2)throw C(45);
ai=H(ai,170);
%DataViewSetUint8(this,ai,(%_ToNumber(av)),!!br);
}

function DataViewGetInt16JS(ai,br){
if(!(%_ClassOf(this)==='DataView')){
throw C(42,
'DataView.getInt16',this);
}
if(%_ArgumentsLength()<1)throw C(45);
ai=H(ai,170);
return %DataViewGetInt16(this,ai,!!br);
}
function DataViewSetInt16JS(ai,av,br){
if(!(%_ClassOf(this)==='DataView')){
throw C(42,
'DataView.setInt16',this);
}
if(%_ArgumentsLength()<2)throw C(45);
ai=H(ai,170);
%DataViewSetInt16(this,ai,(%_ToNumber(av)),!!br);
}

function DataViewGetUint16JS(ai,br){
if(!(%_ClassOf(this)==='DataView')){
throw C(42,
'DataView.getUint16',this);
}
if(%_ArgumentsLength()<1)throw C(45);
ai=H(ai,170);
return %DataViewGetUint16(this,ai,!!br);
}
function DataViewSetUint16JS(ai,av,br){
if(!(%_ClassOf(this)==='DataView')){
throw C(42,
'DataView.setUint16',this);
}
if(%_ArgumentsLength()<2)throw C(45);
ai=H(ai,170);
%DataViewSetUint16(this,ai,(%_ToNumber(av)),!!br);
}

function DataViewGetInt32JS(ai,br){
if(!(%_ClassOf(this)==='DataView')){
throw C(42,
'DataView.getInt32',this);
}
if(%_ArgumentsLength()<1)throw C(45);
ai=H(ai,170);
return %DataViewGetInt32(this,ai,!!br);
}
function DataViewSetInt32JS(ai,av,br){
if(!(%_ClassOf(this)==='DataView')){
throw C(42,
'DataView.setInt32',this);
}
if(%_ArgumentsLength()<2)throw C(45);
ai=H(ai,170);
%DataViewSetInt32(this,ai,(%_ToNumber(av)),!!br);
}

function DataViewGetUint32JS(ai,br){
if(!(%_ClassOf(this)==='DataView')){
throw C(42,
'DataView.getUint32',this);
}
if(%_ArgumentsLength()<1)throw C(45);
ai=H(ai,170);
return %DataViewGetUint32(this,ai,!!br);
}
function DataViewSetUint32JS(ai,av,br){
if(!(%_ClassOf(this)==='DataView')){
throw C(42,
'DataView.setUint32',this);
}
if(%_ArgumentsLength()<2)throw C(45);
ai=H(ai,170);
%DataViewSetUint32(this,ai,(%_ToNumber(av)),!!br);
}

function DataViewGetFloat32JS(ai,br){
if(!(%_ClassOf(this)==='DataView')){
throw C(42,
'DataView.getFloat32',this);
}
if(%_ArgumentsLength()<1)throw C(45);
ai=H(ai,170);
return %DataViewGetFloat32(this,ai,!!br);
}
function DataViewSetFloat32JS(ai,av,br){
if(!(%_ClassOf(this)==='DataView')){
throw C(42,
'DataView.setFloat32',this);
}
if(%_ArgumentsLength()<2)throw C(45);
ai=H(ai,170);
%DataViewSetFloat32(this,ai,(%_ToNumber(av)),!!br);
}

function DataViewGetFloat64JS(ai,br){
if(!(%_ClassOf(this)==='DataView')){
throw C(42,
'DataView.getFloat64',this);
}
if(%_ArgumentsLength()<1)throw C(45);
ai=H(ai,170);
return %DataViewGetFloat64(this,ai,!!br);
}
function DataViewSetFloat64JS(ai,av,br){
if(!(%_ClassOf(this)==='DataView')){
throw C(42,
'DataView.setFloat64',this);
}
if(%_ArgumentsLength()<2)throw C(45);
ai=H(ai,170);
%DataViewSetFloat64(this,ai,(%_ToNumber(av)),!!br);
}


%SetCode(h,DataViewConstructor);
%FunctionSetPrototype(h,new i);
%AddNamedProperty(h.prototype,"constructor",h,
2);
%AddNamedProperty(h.prototype,J,"DataView",
1|2);
b.InstallGetter(h.prototype,"buffer",DataViewGetBufferJS);
b.InstallGetter(h.prototype,"byteOffset",
DataViewGetByteOffset);
b.InstallGetter(h.prototype,"byteLength",
DataViewGetByteLength);
b.InstallFunctions(h.prototype,2,[
"getInt8",DataViewGetInt8JS,
"setInt8",DataViewSetInt8JS,
"getUint8",DataViewGetUint8JS,
"setUint8",DataViewSetUint8JS,
"getInt16",DataViewGetInt16JS,
"setInt16",DataViewSetInt16JS,
"getUint16",DataViewGetUint16JS,
"setUint16",DataViewSetUint16JS,
"getInt32",DataViewGetInt32JS,
"setInt32",DataViewSetInt32JS,
"getUint32",DataViewGetUint32JS,
"setUint32",DataViewSetUint32JS,
"getFloat32",DataViewGetFloat32JS,
"setFloat32",DataViewSetFloat32JS,
"getFloat64",DataViewGetFloat64JS,
"setFloat64",DataViewSetFloat64JS
]);
})

Hiterator-prototypeÑ
(function(a,b){
"use strict";
%CheckIsBootstrapping();
var c=a.Object;
var d=b.ImportNow("IteratorPrototype");
var e=b.ImportNow("iterator_symbol");
function IteratorPrototypeIterator(){
return this;
}
b.SetFunctionName(IteratorPrototypeIterator,e);
%AddNamedProperty(d,e,
IteratorPrototypeIterator,2);
})

$generator­
(function(a,b){
"use strict";
%CheckIsBootstrapping();
var c=b.ImportNow("GeneratorFunctionPrototype");
var d=b.ImportNow("GeneratorFunction");
var e=a.Function;
var f;
var g=b.ImportNow("to_string_tag_symbol");
b.Import(function(h){
f=h.MakeTypeError;
});
function GeneratorObjectNext(i){
if(!(%_ClassOf(this)==='Generator')){
throw f(42,
'[Generator].prototype.next',this);
}
var j=%GeneratorGetContinuation(this);
if(j>0){
if(%_DebugIsActive()!=0)%DebugPrepareStepInIfStepping(this);
try{
return %_GeneratorNext(this,i);
}catch(e){
%GeneratorClose(this);
throw e;
}
}else if(j==0){
return{value:void 0,done:true};
}else{
throw f(40);
}
}
function GeneratorObjectThrow(k){
if(!(%_ClassOf(this)==='Generator')){
throw f(42,
'[Generator].prototype.throw',this);
}
var j=%GeneratorGetContinuation(this);
if(j>0){
try{
return %_GeneratorThrow(this,k);
}catch(e){
%GeneratorClose(this);
throw e;
}
}else if(j==0){
throw k;
}else{
throw f(40);
}
}
%NeverOptimizeFunction(GeneratorObjectNext);
%NeverOptimizeFunction(GeneratorObjectThrow);
var l=c.prototype;
b.InstallFunctions(l,
2,
["next",GeneratorObjectNext,
"throw",GeneratorObjectThrow]);
%AddNamedProperty(l,"constructor",
c,2|1);
%AddNamedProperty(l,
g,"Generator",2|1);
%InternalSetPrototype(c,e.prototype);
%AddNamedProperty(c,
g,"GeneratorFunction",2|1);
%AddNamedProperty(c,"constructor",
d,2|1);
%InternalSetPrototype(d,e);
})

8object-observeѭ
(function(a,b){
"use strict";
%CheckIsBootstrapping();
var c;
var d=a.Array;
var e=a.Object;
var f=b.InternalArray;
var g;
b.Import(function(h){
c=h.GetHash;
g=h.MakeTypeError;
});
var i;
var j={};
function GetObservationStateJS(){
if((i===(void 0))){
i=%GetObservationState();
}
if((i.callbackInfoMap===(void 0))){
i.callbackInfoMap=%ObservationWeakMapCreate();
i.objectInfoMap=%ObservationWeakMapCreate();
i.notifierObjectInfoMap=%ObservationWeakMapCreate();
i.pendingObservers=null;
i.nextCallbackPriority=0;
i.lastMicrotaskId=0;
}
return i;
}
function GetPendingObservers(){
return GetObservationStateJS().pendingObservers;
}
function SetPendingObservers(k){
GetObservationStateJS().pendingObservers=k;
}
function GetNextCallbackPriority(){
return GetObservationStateJS().nextCallbackPriority++;
}
function nullProtoObject(){
return{__proto__:null};
}
function TypeMapCreate(){
return nullProtoObject();
}
function TypeMapAddType(l,m,n){
l[m]=n?1:(l[m]||0)+1;
}
function TypeMapRemoveType(l,m){
l[m]--;
}
function TypeMapCreateFromList(o,p){
var l=TypeMapCreate();
for(var q=0;q<p;q++){
TypeMapAddType(l,o[q],true);
}
return l;
}
function TypeMapHasType(l,m){
return!!l[m];
}
function TypeMapIsDisjointFrom(r,s){
if(!r||!s)
return true;
for(var m in r){
if(TypeMapHasType(r,m)&&TypeMapHasType(s,m))
return false;
}
return true;
}
var t=(function(){
var u=[
'add',
'update',
'delete',
'setPrototype',
'reconfigure',
'preventExtensions'
];
return TypeMapCreateFromList(u,u.length);
})();
function ObserverCreate(v,w){
if((w===(void 0)))
return v;
var x=nullProtoObject();
x.callback=v;
x.accept=w;
return x;
}
function ObserverGetCallback(x){
return(typeof(x)==='function')?x:x.callback;
}
function ObserverGetAcceptTypes(x){
return(typeof(x)==='function')?t:x.accept;
}
function ObserverIsActive(x,y){
return TypeMapIsDisjointFrom(ObjectInfoGetPerformingTypes(y),
ObserverGetAcceptTypes(x));
}
function ObjectInfoGetOrCreate(z){
var y=ObjectInfoGet(z);
if((y===(void 0))){
if(!(%_IsJSProxy(z))){
%SetIsObserved(z);
}
y={
object:z,
changeObservers:null,
notifier:null,
performing:null,
performingCount:0,
};
%WeakCollectionSet(GetObservationStateJS().objectInfoMap,
z,y,c(z));
}
return y;
}
function ObjectInfoGet(z){
return %WeakCollectionGet(GetObservationStateJS().objectInfoMap,z,
c(z));
}
function ObjectInfoGetFromNotifier(A){
return %WeakCollectionGet(GetObservationStateJS().notifierObjectInfoMap,
A,c(A));
}
function ObjectInfoGetNotifier(y){
if((y.notifier===null)){
var A={__proto__:j};
y.notifier=A;
%WeakCollectionSet(GetObservationStateJS().notifierObjectInfoMap,
A,y,c(A));
}
return y.notifier;
}
function ChangeObserversIsOptimized(B){
return(typeof(B)==='function')||
(typeof(B.callback)==='function');
}
function ObjectInfoNormalizeChangeObservers(y){
if(ChangeObserversIsOptimized(y.changeObservers)){
var x=y.changeObservers;
var v=ObserverGetCallback(x);
var C=CallbackInfoGet(v);
var D=CallbackInfoGetPriority(C);
y.changeObservers=nullProtoObject();
y.changeObservers[D]=x;
}
}
function ObjectInfoAddObserver(y,v,w){
var C=CallbackInfoGetOrCreate(v);
var x=ObserverCreate(v,w);
if(!y.changeObservers){
y.changeObservers=x;
return;
}
ObjectInfoNormalizeChangeObservers(y);
var D=CallbackInfoGetPriority(C);
y.changeObservers[D]=x;
}
function ObjectInfoRemoveObserver(y,v){
if(!y.changeObservers)
return;
if(ChangeObserversIsOptimized(y.changeObservers)){
if(v===ObserverGetCallback(y.changeObservers))
y.changeObservers=null;
return;
}
var C=CallbackInfoGet(v);
var D=CallbackInfoGetPriority(C);
y.changeObservers[D]=null;
}
function ObjectInfoHasActiveObservers(y){
if((y===(void 0))||!y.changeObservers)
return false;
if(ChangeObserversIsOptimized(y.changeObservers))
return ObserverIsActive(y.changeObservers,y);
for(var D in y.changeObservers){
var x=y.changeObservers[D];
if(!(x===null)&&ObserverIsActive(x,y))
return true;
}
return false;
}
function ObjectInfoAddPerformingType(y,m){
y.performing=y.performing||TypeMapCreate();
TypeMapAddType(y.performing,m);
y.performingCount++;
}
function ObjectInfoRemovePerformingType(y,m){
y.performingCount--;
TypeMapRemoveType(y.performing,m);
}
function ObjectInfoGetPerformingTypes(y){
return y.performingCount>0?y.performing:null;
}
function ConvertAcceptListToTypeMap(E){
if((E===(void 0)))
return E;
if(!(%_IsJSReceiver(E)))throw g(80);
var F=(%_ToInteger(E.length));
if(F<0)F=0;
return TypeMapCreateFromList(E,F);
}
function CallbackInfoGet(v){
return %WeakCollectionGet(GetObservationStateJS().callbackInfoMap,v,
c(v));
}
function CallbackInfoSet(v,C){
%WeakCollectionSet(GetObservationStateJS().callbackInfoMap,
v,C,c(v));
}
function CallbackInfoGetOrCreate(v){
var C=CallbackInfoGet(v);
if(!(C===(void 0)))
return C;
var D=GetNextCallbackPriority();
CallbackInfoSet(v,D);
return D;
}
function CallbackInfoGetPriority(C){
if((typeof(C)==='number'))
return C;
else
return C.priority;
}
function CallbackInfoNormalize(v){
var C=CallbackInfoGet(v);
if((typeof(C)==='number')){
var D=C;
C=new f;
C.priority=D;
CallbackInfoSet(v,C);
}
return C;
}
function ObjectObserve(z,v,w){
if(!(%_IsJSReceiver(z)))
throw g(82,"observe","observe");
if(%IsJSGlobalProxy(z))
throw g(78,"observe");
if(%IsAccessCheckNeeded(z))
throw g(79,"observe");
if(!(typeof(v)==='function'))
throw g(81,"observe");
if(%object_is_frozen(v))
throw g(77);
var G=%GetObjectContextObjectObserve(z);
return G(z,v,w);
}
function NativeObjectObserve(z,v,w){
var y=ObjectInfoGetOrCreate(z);
var o=ConvertAcceptListToTypeMap(w);
ObjectInfoAddObserver(y,v,o);
return z;
}
function ObjectUnobserve(z,v){
if(!(%_IsJSReceiver(z)))
throw g(82,"unobserve","unobserve");
if(%IsJSGlobalProxy(z))
throw g(78,"unobserve");
if(!(typeof(v)==='function'))
throw g(81,"unobserve");
var y=ObjectInfoGet(z);
if((y===(void 0)))
return z;
ObjectInfoRemoveObserver(y,v);
return z;
}
function ArrayObserve(z,v){
return ObjectObserve(z,v,['add',
'update',
'delete',
'splice']);
}
function ArrayUnobserve(z,v){
return ObjectUnobserve(z,v);
}
function ObserverEnqueueIfActive(x,y,H){
if(!ObserverIsActive(x,y)||
!TypeMapHasType(ObserverGetAcceptTypes(x),H.type)){
return;
}
var v=ObserverGetCallback(x);
if(!%ObserverObjectAndRecordHaveSameOrigin(v,H.object,
H)){
return;
}
var C=CallbackInfoNormalize(v);
if((GetPendingObservers()===null)){
SetPendingObservers(nullProtoObject());
if((%_DebugIsActive()!=0)){
var I=++GetObservationStateJS().lastMicrotaskId;
var J="Object.observe";
%EnqueueMicrotask(function(){
%DebugAsyncTaskEvent({type:"willHandle",id:I,name:J});
ObserveMicrotaskRunner();
%DebugAsyncTaskEvent({type:"didHandle",id:I,name:J});
});
%DebugAsyncTaskEvent({type:"enqueue",id:I,name:J});
}else{
%EnqueueMicrotask(ObserveMicrotaskRunner);
}
}
GetPendingObservers()[C.priority]=v;
C.push(H);
}
function ObjectInfoEnqueueExternalChangeRecord(y,H,m){
if(!ObjectInfoHasActiveObservers(y))
return;
var K=!(m===(void 0));
var L=K?
{object:y.object,type:m}:
{object:y.object};
for(var M in H){
if(M==='object'||(K&&M==='type'))continue;
%DefineDataPropertyUnchecked(
L,M,H[M],1+4);
}
%object_freeze(L);
ObjectInfoEnqueueInternalChangeRecord(y,L);
}
function ObjectInfoEnqueueInternalChangeRecord(y,H){
if((typeof(H.name)==='symbol'))return;
if(ChangeObserversIsOptimized(y.changeObservers)){
var x=y.changeObservers;
ObserverEnqueueIfActive(x,y,H);
return;
}
for(var D in y.changeObservers){
var x=y.changeObservers[D];
if((x===null))
continue;
ObserverEnqueueIfActive(x,y,H);
}
}
function BeginPerformSplice(N){
var y=ObjectInfoGet(N);
if(!(y===(void 0)))
ObjectInfoAddPerformingType(y,'splice');
}
function EndPerformSplice(N){
var y=ObjectInfoGet(N);
if(!(y===(void 0)))
ObjectInfoRemovePerformingType(y,'splice');
}
function EnqueueSpliceRecord(N,O,P,Q){
var y=ObjectInfoGet(N);
if(!ObjectInfoHasActiveObservers(y))
return;
var H={
type:'splice',
object:N,
index:O,
removed:P,
addedCount:Q
};
%object_freeze(H);
%object_freeze(H.removed);
ObjectInfoEnqueueInternalChangeRecord(y,H);
}
function NotifyChange(m,z,J,R){
var y=ObjectInfoGet(z);
if(!ObjectInfoHasActiveObservers(y))
return;
var H;
if(arguments.length==2){
H={type:m,object:z};
}else if(arguments.length==3){
H={type:m,object:z,name:J};
}else{
H={
type:m,
object:z,
name:J,
oldValue:R
};
}
%object_freeze(H);
ObjectInfoEnqueueInternalChangeRecord(y,H);
}
function ObjectNotifierNotify(H){
if(!(%_IsJSReceiver(this)))
throw g(16,"notify");
var y=ObjectInfoGetFromNotifier(this);
if((y===(void 0)))
throw g(83);
if(!(typeof(H.type)==='string'))
throw g(86);
ObjectInfoEnqueueExternalChangeRecord(y,H);
}
function ObjectNotifierPerformChange(S,T){
if(!(%_IsJSReceiver(this)))
throw g(16,"performChange");
var y=ObjectInfoGetFromNotifier(this);
if((y===(void 0)))
throw g(83);
if(!(typeof(S)==='string'))
throw g(85);
if(!(typeof(T)==='function'))
throw g(84);
var U=%GetObjectContextNotifierPerformChange(y);
U(y,S,T);
}
function NativeObjectNotifierPerformChange(y,S,T){
ObjectInfoAddPerformingType(y,S);
var H;
try{
H=T();
}finally{
ObjectInfoRemovePerformingType(y,S);
}
if((%_IsJSReceiver(H)))
ObjectInfoEnqueueExternalChangeRecord(y,H,S);
}
function ObjectGetNotifier(z){
if(!(%_IsJSReceiver(z)))
throw g(82,"getNotifier","getNotifier");
if(%IsJSGlobalProxy(z))
throw g(78,"getNotifier");
if(%IsAccessCheckNeeded(z))
throw g(79,"getNotifier");
if(%object_is_frozen(z))return null;
if(!%ObjectWasCreatedInCurrentOrigin(z))return null;
var V=%GetObjectContextObjectGetNotifier(z);
return V(z);
}
function NativeObjectGetNotifier(z){
var y=ObjectInfoGetOrCreate(z);
return ObjectInfoGetNotifier(y);
}
function CallbackDeliverPending(v){
var C=CallbackInfoGet(v);
if((C===(void 0))||(typeof(C)==='number'))
return false;
var D=C.priority;
CallbackInfoSet(v,D);
var k=GetPendingObservers();
if(!(k===null))
delete k[D];
var W=[];
%MoveArrayContents(C,W);
%DeliverObservationChangeRecords(v,W);
return true;
}
function ObjectDeliverChangeRecords(v){
if(!(typeof(v)==='function'))
throw g(81,"deliverChangeRecords");
while(CallbackDeliverPending(v)){}
}
function ObserveMicrotaskRunner(){
var k=GetPendingObservers();
if(!(k===null)){
SetPendingObservers(null);
for(var q in k){
CallbackDeliverPending(k[q]);
}
}
}
b.InstallFunctions(j,2,[
"notify",ObjectNotifierNotify,
"performChange",ObjectNotifierPerformChange
]);
var X=[
"deliverChangeRecords",ObjectDeliverChangeRecords,
"getNotifier",ObjectGetNotifier,
"observe",ObjectObserve,
"unobserve",ObjectUnobserve
];
var Y=[
"observe",ArrayObserve,
"unobserve",ArrayUnobserve
];
var Z=function(aa,q){
if(q % 2===1)%FunctionRemovePrototype(aa);
};
X.forEach(Z);
Y.forEach(Z);
%InstallToContext([
"native_object_get_notifier",NativeObjectGetNotifier,
"native_object_notifier_perform_change",NativeObjectNotifierPerformChange,
"native_object_observe",NativeObjectObserve,
"observers_begin_perform_splice",BeginPerformSplice,
"observers_end_perform_splice",EndPerformSplice,
"observers_enqueue_splice",EnqueueSpliceRecord,
"observers_notify_change",NotifyChange,
]);
b.Export(function(ab){
ab.ObserveArrayMethods=Y;
ab.ObserveBeginPerformSplice=BeginPerformSplice;
ab.ObserveEndPerformSplice=EndPerformSplice;
ab.ObserveEnqueueSpliceRecord=EnqueueSpliceRecord;
ab.ObserveObjectMethods=X;
});
})

(collectionE}
(function(a,b){
"use strict";
%CheckIsBootstrapping();
var c=a.Map;
var d=a.Object;
var e=a.Set;
var f=b.ImportNow("hash_code_symbol");
var g;
var h;
var i;
var j;
var k;
var l=b.ImportNow("to_string_tag_symbol");
b.Import(function(m){
g=m.IntRandom;
h=m.MakeTypeError;
i=m.MapIterator;
j=m.NumberIsNaN;
k=m.SetIterator;
});
function HashToEntry(n,o,p){
var q=(o&((p)-1));
return((%_FixedArrayGet(n,(3+(q))|0)));
}
%SetForceInlineFlag(HashToEntry);
function SetFindEntry(n,p,r,o){
var s=HashToEntry(n,o,p);
if(s===-1)return s;
var t=((%_FixedArrayGet(n,((3+(p)+((s)<<1)))|0)));
if(r===t)return s;
var u=j(r);
while(true){
if(u&&j(t)){
return s;
}
s=((%_FixedArrayGet(n,((3+(p)+((s)<<1))+1)|0)));
if(s===-1)return s;
t=((%_FixedArrayGet(n,((3+(p)+((s)<<1)))|0)));
if(r===t)return s;
}
return-1;
}
%SetForceInlineFlag(SetFindEntry);
function MapFindEntry(n,p,r,o){
var s=HashToEntry(n,o,p);
if(s===-1)return s;
var t=((%_FixedArrayGet(n,((3+(p)+((s)*3)))|0)));
if(r===t)return s;
var u=j(r);
while(true){
if(u&&j(t)){
return s;
}
s=((%_FixedArrayGet(n,((3+(p)+((s)*3))+2)|0)));
if(s===-1)return s;
t=((%_FixedArrayGet(n,((3+(p)+((s)*3)))|0)));
if(r===t)return s;
}
return-1;
}
%SetForceInlineFlag(MapFindEntry);
function ComputeIntegerHash(r,v){
var o=r;
o=o^v;
o=~o+(o<<15);
o=o^(o>>>12);
o=o+(o<<2);
o=o^(o>>>4);
o=(o*2057)|0;
o=o^(o>>>16);
return o&0x3fffffff;
}
%SetForceInlineFlag(ComputeIntegerHash);
function GetExistingHash(r){
if(%_IsSmi(r)){
return ComputeIntegerHash(r,0);
}
if((typeof(r)==='string')){
var w=%_StringGetRawHashField(r);
if((w&1)===0){
return w>>>2;
}
}else if((%_IsJSReceiver(r))&&!(%_IsJSProxy(r))&&!(%_ClassOf(r)==='global')){
var o=(r[f]);
return o;
}
return %GenericHash(r);
}
%SetForceInlineFlag(GetExistingHash);
function GetHash(r){
var o=GetExistingHash(r);
if((o===(void 0))){
o=g()|0;
if(o===0)o=1;
(r[f]=o);
}
return o;
}
%SetForceInlineFlag(GetHash);
function SetConstructor(x){
if((new.target===(void 0))){
throw h(26,"Set");
}
%_SetInitialize(this);
if(!(x==null)){
var y=this.add;
if(!(typeof(y)==='function')){
throw h(91,y,'add',this);
}
for(var z of x){
%_Call(y,this,z);
}
}
}
function SetAdd(r){
if(!(%_ClassOf(this)==='Set')){
throw h(42,'Set.prototype.add',this);
}
if(r===0){
r=0;
}
var n=%_JSCollectionGetTable(this);
var p=((%_FixedArrayGet(n,(0)|0)));
var o=GetHash(r);
if(SetFindEntry(n,p,r,o)!==-1)return this;
var A=((%_FixedArrayGet(n,(1)|0)));
var B=((%_FixedArrayGet(n,(2)|0)));
var C=p<<1;
if((A+B)>=C){
%SetGrow(this);
n=%_JSCollectionGetTable(this);
p=((%_FixedArrayGet(n,(0)|0)));
A=((%_FixedArrayGet(n,(1)|0)));
B=((%_FixedArrayGet(n,(2)|0)));
}
var s=A+B;
var D=(3+(p)+((s)<<1));
var q=(o&((p)-1));
var E=((%_FixedArrayGet(n,(3+(q))|0)));
((%_FixedArraySet(n,(3+(q))|0,s)));
(((%_FixedArraySet(n,(1)|0,(A+1)|0))));
(%_FixedArraySet(n,(D)|0,r));
((%_FixedArraySet(n,(D+1)|0,(E)|0)));
return this;
}
function SetHas(r){
if(!(%_ClassOf(this)==='Set')){
throw h(42,'Set.prototype.has',this);
}
var n=%_JSCollectionGetTable(this);
var p=((%_FixedArrayGet(n,(0)|0)));
var o=GetExistingHash(r);
if((o===(void 0)))return false;
return SetFindEntry(n,p,r,o)!==-1;
}
function SetDelete(r){
if(!(%_ClassOf(this)==='Set')){
throw h(42,
'Set.prototype.delete',this);
}
var n=%_JSCollectionGetTable(this);
var p=((%_FixedArrayGet(n,(0)|0)));
var o=GetExistingHash(r);
if((o===(void 0)))return false;
var s=SetFindEntry(n,p,r,o);
if(s===-1)return false;
var A=((%_FixedArrayGet(n,(1)|0)))-1;
var B=((%_FixedArrayGet(n,(2)|0)))+1;
var D=(3+(p)+((s)<<1));
(%_FixedArraySet(n,(D)|0,%_TheHole()));
(((%_FixedArraySet(n,(1)|0,(A)|0))));
(((%_FixedArraySet(n,(2)|0,(B)|0))));
if(A<(p>>>1))%SetShrink(this);
return true;
}
function SetGetSize(){
if(!(%_ClassOf(this)==='Set')){
throw h(42,
'Set.prototype.size',this);
}
var n=%_JSCollectionGetTable(this);
return((%_FixedArrayGet(n,(1)|0)));
}
function SetClearJS(){
if(!(%_ClassOf(this)==='Set')){
throw h(42,
'Set.prototype.clear',this);
}
%_SetClear(this);
}
function SetForEach(F,G){
if(!(%_ClassOf(this)==='Set')){
throw h(42,
'Set.prototype.forEach',this);
}
if(!(typeof(F)==='function'))throw h(15,F);
var H=new k(this,2);
var r;
var I=[(void 0)];
while(%SetIteratorNext(H,I)){
r=I[0];
%_Call(F,G,r,r,this);
}
}
%SetCode(e,SetConstructor);
%FunctionSetLength(e,0);
%FunctionSetPrototype(e,new d());
%AddNamedProperty(e.prototype,"constructor",e,2);
%AddNamedProperty(e.prototype,l,"Set",
2|1);
%FunctionSetLength(SetForEach,1);
b.InstallGetter(e.prototype,"size",SetGetSize);
b.InstallFunctions(e.prototype,2,[
"add",SetAdd,
"has",SetHas,
"delete",SetDelete,
"clear",SetClearJS,
"forEach",SetForEach
]);
function MapConstructor(x){
if((new.target===(void 0))){
throw h(26,"Map");
}
%_MapInitialize(this);
if(!(x==null)){
var y=this.set;
if(!(typeof(y)==='function')){
throw h(91,y,'set',this);
}
for(var J of x){
if(!(%_IsJSReceiver(J))){
throw h(49,J);
}
%_Call(y,this,J[0],J[1]);
}
}
}
function MapGet(r){
if(!(%_ClassOf(this)==='Map')){
throw h(42,
'Map.prototype.get',this);
}
var n=%_JSCollectionGetTable(this);
var p=((%_FixedArrayGet(n,(0)|0)));
var o=GetExistingHash(r);
if((o===(void 0)))return(void 0);
var s=MapFindEntry(n,p,r,o);
if(s===-1)return(void 0);
return((%_FixedArrayGet(n,((3+(p)+((s)*3))+1)|0)));
}
function MapSet(r,z){
if(!(%_ClassOf(this)==='Map')){
throw h(42,
'Map.prototype.set',this);
}
if(r===0){
r=0;
}
var n=%_JSCollectionGetTable(this);
var p=((%_FixedArrayGet(n,(0)|0)));
var o=GetHash(r);
var s=MapFindEntry(n,p,r,o);
if(s!==-1){
var K=(3+(p)+((s)*3));
(%_FixedArraySet(n,(K+1)|0,z));
return this;
}
var A=((%_FixedArrayGet(n,(1)|0)));
var B=((%_FixedArrayGet(n,(2)|0)));
var C=p<<1;
if((A+B)>=C){
%MapGrow(this);
n=%_JSCollectionGetTable(this);
p=((%_FixedArrayGet(n,(0)|0)));
A=((%_FixedArrayGet(n,(1)|0)));
B=((%_FixedArrayGet(n,(2)|0)));
}
s=A+B;
var D=(3+(p)+((s)*3));
var q=(o&((p)-1));
var E=((%_FixedArrayGet(n,(3+(q))|0)));
((%_FixedArraySet(n,(3+(q))|0,s)));
(((%_FixedArraySet(n,(1)|0,(A+1)|0))));
(%_FixedArraySet(n,(D)|0,r));
(%_FixedArraySet(n,(D+1)|0,z));
(%_FixedArraySet(n,(D+2)|0,E));
return this;
}
function MapHas(r){
if(!(%_ClassOf(this)==='Map')){
throw h(42,
'Map.prototype.has',this);
}
var n=%_JSCollectionGetTable(this);
var p=((%_FixedArrayGet(n,(0)|0)));
var o=GetHash(r);
return MapFindEntry(n,p,r,o)!==-1;
}
function MapDelete(r){
if(!(%_ClassOf(this)==='Map')){
throw h(42,
'Map.prototype.delete',this);
}
var n=%_JSCollectionGetTable(this);
var p=((%_FixedArrayGet(n,(0)|0)));
var o=GetHash(r);
var s=MapFindEntry(n,p,r,o);
if(s===-1)return false;
var A=((%_FixedArrayGet(n,(1)|0)))-1;
var B=((%_FixedArrayGet(n,(2)|0)))+1;
var D=(3+(p)+((s)*3));
(%_FixedArraySet(n,(D)|0,%_TheHole()));
(%_FixedArraySet(n,(D+1)|0,%_TheHole()));
(((%_FixedArraySet(n,(1)|0,(A)|0))));
(((%_FixedArraySet(n,(2)|0,(B)|0))));
if(A<(p>>>1))%MapShrink(this);
return true;
}
function MapGetSize(){
if(!(%_ClassOf(this)==='Map')){
throw h(42,
'Map.prototype.size',this);
}
var n=%_JSCollectionGetTable(this);
return((%_FixedArrayGet(n,(1)|0)));
}
function MapClearJS(){
if(!(%_ClassOf(this)==='Map')){
throw h(42,
'Map.prototype.clear',this);
}
%_MapClear(this);
}
function MapForEach(F,G){
if(!(%_ClassOf(this)==='Map')){
throw h(42,
'Map.prototype.forEach',this);
}
if(!(typeof(F)==='function'))throw h(15,F);
var H=new i(this,3);
var I=[(void 0),(void 0)];
while(%MapIteratorNext(H,I)){
%_Call(F,G,I[1],I[0],this);
}
}
%SetCode(c,MapConstructor);
%FunctionSetLength(c,0);
%FunctionSetPrototype(c,new d());
%AddNamedProperty(c.prototype,"constructor",c,2);
%AddNamedProperty(
c.prototype,l,"Map",2|1);
%FunctionSetLength(MapForEach,1);
b.InstallGetter(c.prototype,"size",MapGetSize);
b.InstallFunctions(c.prototype,2,[
"get",MapGet,
"set",MapSet,
"has",MapHas,
"delete",MapDelete,
"clear",MapClearJS,
"forEach",MapForEach
]);
%InstallToContext([
"map_get",MapGet,
"map_set",MapSet,
"map_has",MapHas,
"map_delete",MapDelete,
"set_add",SetAdd,
"set_has",SetHas,
"set_delete",SetDelete,
]);
b.Export(function(L){
L.GetExistingHash=GetExistingHash;
L.GetHash=GetHash;
});
})

<weak-collectionÕ-
(function(a,b){
"use strict";
%CheckIsBootstrapping();
var c;
var d;
var e=a.Object;
var f=a.WeakMap;
var g=a.WeakSet;
var h;
var i=b.ImportNow("to_string_tag_symbol");
b.Import(function(j){
c=j.GetExistingHash;
d=j.GetHash;
h=j.MakeTypeError;
});
function WeakMapConstructor(k){
if((new.target===(void 0))){
throw h(26,"WeakMap");
}
%WeakCollectionInitialize(this);
if(!(k==null)){
var l=this.set;
if(!(typeof(l)==='function')){
throw h(91,l,'set',this);
}
for(var m of k){
if(!(%_IsJSReceiver(m))){
throw h(49,m);
}
%_Call(l,this,m[0],m[1]);
}
}
}
function WeakMapGet(n){
if(!(%_ClassOf(this)==='WeakMap')){
throw h(42,
'WeakMap.prototype.get',this);
}
if(!(%_IsJSReceiver(n)))return(void 0);
var o=c(n);
if((o===(void 0)))return(void 0);
return %WeakCollectionGet(this,n,o);
}
function WeakMapSet(n,p){
if(!(%_ClassOf(this)==='WeakMap')){
throw h(42,
'WeakMap.prototype.set',this);
}
if(!(%_IsJSReceiver(n)))throw h(175);
return %WeakCollectionSet(this,n,p,d(n));
}
function WeakMapHas(n){
if(!(%_ClassOf(this)==='WeakMap')){
throw h(42,
'WeakMap.prototype.has',this);
}
if(!(%_IsJSReceiver(n)))return false;
var o=c(n);
if((o===(void 0)))return false;
return %WeakCollectionHas(this,n,o);
}
function WeakMapDelete(n){
if(!(%_ClassOf(this)==='WeakMap')){
throw h(42,
'WeakMap.prototype.delete',this);
}
if(!(%_IsJSReceiver(n)))return false;
var o=c(n);
if((o===(void 0)))return false;
return %WeakCollectionDelete(this,n,o);
}
%SetCode(f,WeakMapConstructor);
%FunctionSetLength(f,0);
%FunctionSetPrototype(f,new e());
%AddNamedProperty(f.prototype,"constructor",f,
2);
%AddNamedProperty(f.prototype,i,"WeakMap",
2|1);
b.InstallFunctions(f.prototype,2,[
"get",WeakMapGet,
"set",WeakMapSet,
"has",WeakMapHas,
"delete",WeakMapDelete
]);
function WeakSetConstructor(k){
if((new.target===(void 0))){
throw h(26,"WeakSet");
}
%WeakCollectionInitialize(this);
if(!(k==null)){
var l=this.add;
if(!(typeof(l)==='function')){
throw h(91,l,'add',this);
}
for(var p of k){
%_Call(l,this,p);
}
}
}
function WeakSetAdd(p){
if(!(%_ClassOf(this)==='WeakSet')){
throw h(42,
'WeakSet.prototype.add',this);
}
if(!(%_IsJSReceiver(p)))throw h(176);
return %WeakCollectionSet(this,p,true,d(p));
}
function WeakSetHas(p){
if(!(%_ClassOf(this)==='WeakSet')){
throw h(42,
'WeakSet.prototype.has',this);
}
if(!(%_IsJSReceiver(p)))return false;
var o=c(p);
if((o===(void 0)))return false;
return %WeakCollectionHas(this,p,o);
}
function WeakSetDelete(p){
if(!(%_ClassOf(this)==='WeakSet')){
throw h(42,
'WeakSet.prototype.delete',this);
}
if(!(%_IsJSReceiver(p)))return false;
var o=c(p);
if((o===(void 0)))return false;
return %WeakCollectionDelete(this,p,o);
}
%SetCode(g,WeakSetConstructor);
%FunctionSetLength(g,0);
%FunctionSetPrototype(g,new e());
%AddNamedProperty(g.prototype,"constructor",g,
2);
%AddNamedProperty(g.prototype,i,"WeakSet",
2|1);
b.InstallFunctions(g.prototype,2,[
"add",WeakSetAdd,
"has",WeakSetHas,
"delete",WeakSetDelete
]);
})

Lcollection-iterator(
(function(a,b){
"use strict";
%CheckIsBootstrapping();
var c=a.Map;
var d=a.Set;
var e=b.ImportNow("iterator_symbol");
var f;
var g=b.ImportNow("MapIterator");
var h=b.ImportNow("to_string_tag_symbol");
var i=b.ImportNow("SetIterator");
b.Import(function(j){
f=j.MakeTypeError;
});
function SetIteratorConstructor(k,l){
%SetIteratorInitialize(this,k,l);
}
function SetIteratorNextJS(){
if(!(%_ClassOf(this)==='Set Iterator')){
throw f(42,
'Set Iterator.prototype.next',this);
}
var m=[(void 0),(void 0)];
var n=%_CreateIterResultObject(m,false);
switch(%SetIteratorNext(this,m)){
case 0:
n.value=(void 0);
n.done=true;
break;
case 2:
n.value=m[0];
break;
case 3:
m[1]=m[0];
break;
}
return n;
}
function SetEntries(){
if(!(%_ClassOf(this)==='Set')){
throw f(42,
'Set.prototype.entries',this);
}
return new i(this,3);
}
function SetValues(){
if(!(%_ClassOf(this)==='Set')){
throw f(42,
'Set.prototype.values',this);
}
return new i(this,2);
}
%SetCode(i,SetIteratorConstructor);
%FunctionSetInstanceClassName(i,'Set Iterator');
b.InstallFunctions(i.prototype,2,[
'next',SetIteratorNextJS
]);
%AddNamedProperty(i.prototype,h,
"Set Iterator",1|2);
b.InstallFunctions(d.prototype,2,[
'entries',SetEntries,
'keys',SetValues,
'values',SetValues
]);
%AddNamedProperty(d.prototype,e,SetValues,2);
function MapIteratorConstructor(o,l){
%MapIteratorInitialize(this,o,l);
}
function MapIteratorNextJS(){
if(!(%_ClassOf(this)==='Map Iterator')){
throw f(42,
'Map Iterator.prototype.next',this);
}
var m=[(void 0),(void 0)];
var n=%_CreateIterResultObject(m,false);
switch(%MapIteratorNext(this,m)){
case 0:
n.value=(void 0);
n.done=true;
break;
case 1:
n.value=m[0];
break;
case 2:
n.value=m[1];
break;
}
return n;
}
function MapEntries(){
if(!(%_ClassOf(this)==='Map')){
throw f(42,
'Map.prototype.entries',this);
}
return new g(this,3);
}
function MapKeys(){
if(!(%_ClassOf(this)==='Map')){
throw f(42,
'Map.prototype.keys',this);
}
return new g(this,1);
}
function MapValues(){
if(!(%_ClassOf(this)==='Map')){
throw f(42,
'Map.prototype.values',this);
}
return new g(this,2);
}
%SetCode(g,MapIteratorConstructor);
%FunctionSetInstanceClassName(g,'Map Iterator');
b.InstallFunctions(g.prototype,2,[
'next',MapIteratorNextJS
]);
%AddNamedProperty(g.prototype,h,
"Map Iterator",1|2);
b.InstallFunctions(c.prototype,2,[
'entries',MapEntries,
'keys',MapKeys,
'values',MapValues
]);
%AddNamedProperty(c.prototype,e,MapEntries,2);
b.Export(function(p){
p.MapEntries=MapEntries;
p.MapIteratorNext=MapIteratorNextJS;
p.SetIteratorNext=SetIteratorNextJS;
p.SetValues=SetValues;
});
})

promiseQs
(function(a,b,c){
"use strict";
%CheckIsBootstrapping();
var d=b.InternalArray;
var e;
var f=
b.ImportNow("promise_combined_deferred_symbol");
var g=
b.ImportNow("promise_has_handler_symbol");
var h=b.ImportNow("promise_on_reject_symbol");
var i=
b.ImportNow("promise_on_resolve_symbol");
var j=b.ImportNow("promise_raw_symbol");
var k=b.ImportNow("promise_status_symbol");
var l=b.ImportNow("promise_value_symbol");
var m;
var n=b.ImportNow("to_string_tag_symbol");
b.Import(function(o){
e=o.MakeTypeError;
m=o.SpeciesConstructor;
});
var p=0;
function CreateResolvingFunctions(q){
var r=false;
var s=value=>{
if(r===true)return;
r=true;
PromiseResolve(q,value);
};
var t=reason=>{
if(r===true)return;
r=true;
PromiseReject(q,reason);
};
return{
__proto__:null,
resolve:s,
reject:t
};
}
var u=function Promise(v){
if(v===j){
return %NewObject(u,new.target);
}
if((new.target===(void 0)))throw e(61,this);
if(!(typeof(v)==='function'))
throw e(134,v);
var q=PromiseInit(%NewObject(u,new.target));
var w=CreateResolvingFunctions(q);
try{
%DebugPushPromise(q,Promise);
v(w.resolve,w.reject);
}catch(e){
%_Call(w.reject,(void 0),e);
}finally{
%DebugPopPromise();
}
return q;
}
function PromiseSet(q,x,y,z,A){
(q[k]=x);
(q[l]=y);
(q[i]=z);
(q[h]=A);
if((%_DebugIsActive()!=0)){
%DebugPromiseEvent({promise:q,status:x,value:y});
}
return q;
}
function PromiseCreateAndSet(x,y){
var q=new u(j);
if((%_DebugIsActive()!=0))PromiseSet(q,0,(void 0));
return PromiseSet(q,x,y);
}
function PromiseInit(q){
return PromiseSet(
q,0,(void 0),new d,new d)
}
function PromiseDone(q,x,y,B){
if((q[k])===0){
var C=(q[B]);
if(C.length)PromiseEnqueue(y,C,x);
PromiseSet(q,x,y);
}
}
function PromiseHandle(y,D,E){
try{
%DebugPushPromise(E.promise,PromiseHandle);
var F=D(y);
E.resolve(F);
}catch(exception){
try{E.reject(exception);}catch(e){}
}finally{
%DebugPopPromise();
}
}
function PromiseEnqueue(y,C,x){
var G,H,I=(%_DebugIsActive()!=0);
%EnqueueMicrotask(function(){
if(I){
%DebugAsyncTaskEvent({type:"willHandle",id:G,name:H});
}
for(var J=0;J<C.length;J+=2){
PromiseHandle(y,C[J],C[J+1])
}
if(I){
%DebugAsyncTaskEvent({type:"didHandle",id:G,name:H});
}
});
if(I){
G=++p;
H=x>0?"Promise.resolve":"Promise.reject";
%DebugAsyncTaskEvent({type:"enqueue",id:G,name:H});
}
}
function PromiseIdResolveHandler(K){return K}
function PromiseIdRejectHandler(L){throw L}
function PromiseNopResolver(){}
function IsPromise(K){
return(%_IsJSReceiver(K))&&(!(K[k]===(void 0)));
}
function PromiseCreate(){
return new u(PromiseNopResolver)
}
function PromiseResolve(q,K){
if(K===q){
return PromiseReject(q,e(88,K));
}
if((%_IsJSReceiver(K))){
try{
var M=K.then;
}catch(e){
return PromiseReject(q,e);
}
if((typeof(M)==='function')){
var G,H,I=(%_DebugIsActive()!=0);
%EnqueueMicrotask(function(){
if(I){
%DebugAsyncTaskEvent({type:"willHandle",id:G,name:H});
}
var w=CreateResolvingFunctions(q);
try{
%_Call(M,K,w.resolve,w.reject);
}catch(e){
%_Call(w.reject,(void 0),e);
}
if(I){
%DebugAsyncTaskEvent({type:"didHandle",id:G,name:H});
}
});
if(I){
G=++p;
H="PromseResolveThenableJob";
%DebugAsyncTaskEvent({type:"enqueue",id:G,name:H});
}
return;
}
}
PromiseDone(q,+1,K,i);
}
function PromiseReject(q,L){
if((q[k])==0){
var N=(%_DebugIsActive()!=0);
if(N||
!(!(q[g]===(void 0)))){
%PromiseRejectEvent(q,L,N);
}
}
PromiseDone(q,-1,L,h)
}
function NewPromiseCapability(O){
if(O===u){
var q=PromiseInit(new u(j));
var w=CreateResolvingFunctions(q);
return{
promise:q,
resolve:w.resolve,
reject:w.reject
};
}
var F={promise:(void 0),resolve:(void 0),reject:(void 0)};
F.promise=new O((s,t)=>{
if(!(F.resolve===(void 0))||!(F.reject===(void 0)))
throw e(89);
F.resolve=s;
F.reject=t;
});
return F;
}
function PromiseDeferred(){
%IncrementUseCounter(19);
return NewPromiseCapability(this);
}
function PromiseResolved(K){
%IncrementUseCounter(18);
return %_Call(PromiseCast,this,K);
}
function PromiseRejected(L){
if(!(%_IsJSReceiver(this))){
throw e(16,PromiseRejected);
}
if(this===u){
var q=PromiseCreateAndSet(-1,L);
%PromiseRejectEvent(q,L,false);
return q;
}else{
var P=NewPromiseCapability(this);
%_Call(P.reject,(void 0),L);
return P.promise;
}
}
function PromiseThen(z,A){
var x=(this[k]);
if((x===(void 0))){
throw e(61,this);
}
var Q=m(this,u);
z=(typeof(z)==='function')?z:PromiseIdResolveHandler;
A=(typeof(A)==='function')?A:PromiseIdRejectHandler;
var E=NewPromiseCapability(Q);
switch(x){
case 0:
(this[i]).push(z,E);
(this[h]).push(A,E);
break;
case+1:
PromiseEnqueue((this[l]),
[z,E],
+1);
break;
case-1:
if(!(!(this[g]===(void 0)))){
%PromiseRevokeReject(this);
}
PromiseEnqueue((this[l]),
[A,E],
-1);
break;
}
(this[g]=true);
if((%_DebugIsActive()!=0)){
%DebugPromiseEvent({promise:E.promise,parentPromise:this});
}
return E.promise;
}
function PromiseChain(z,A){
%IncrementUseCounter(17);
return %_Call(PromiseThen,this,z,A);
}
function PromiseCatch(A){
return this.then((void 0),A);
}
function PromiseCast(K){
if(!(%_IsJSReceiver(this))){
throw e(16,PromiseCast);
}
if(IsPromise(K)&&K.constructor===this)return K;
var P=NewPromiseCapability(this);
var R=%_Call(P.resolve,(void 0),K);
return P.promise;
}
function PromiseAll(S){
if(!(%_IsJSReceiver(this))){
throw e(16,"Promise.all");
}
var E=NewPromiseCapability(this);
var T=new d();
var U;
function CreateResolveElementFunction(V,W,P){
var X=false;
return(K)=>{
if(X===true)return;
X=true;
W[V]=K;
if(--U===0){
var Y=[];
%MoveArrayContents(W,Y);
%_Call(P.resolve,(void 0),Y);
}
};
}
try{
var J=0;
U=1;
for(var y of S){
var Z=this.resolve(y);
++U;
Z.then(
CreateResolveElementFunction(J,T,E),
E.reject);
(E.reject[f]=E);
++J;
}
if(--U===0){
var Y=[];
%MoveArrayContents(T,Y);
%_Call(E.resolve,(void 0),Y);
}
}catch(e){
%_Call(E.reject,(void 0),e);
}
return E.promise;
}
function PromiseRace(S){
if(!(%_IsJSReceiver(this))){
throw e(16,PromiseRace);
}
var E=NewPromiseCapability(this);
try{
for(var y of S){
this.resolve(y).then(E.resolve,E.reject);
(E.reject[f]=E);
}
}catch(e){
E.reject(e)
}
return E.promise;
}
function PromiseHasUserDefinedRejectHandlerRecursive(q){
var aa=(q[h]);
if((aa===(void 0)))return false;
for(var J=0;J<aa.length;J+=2){
var D=aa[J];
if(D!==PromiseIdRejectHandler){
var E=(D[f]);
if((E===(void 0)))return true;
if(PromiseHasUserDefinedRejectHandlerRecursive(E.promise)){
return true;
}
}else if(PromiseHasUserDefinedRejectHandlerRecursive(
aa[J+1].promise)){
return true;
}
}
return false;
}
function PromiseHasUserDefinedRejectHandler(){
return PromiseHasUserDefinedRejectHandlerRecursive(this);
};
%AddNamedProperty(a,'Promise',u,2);
%AddNamedProperty(u.prototype,n,"Promise",
2|1);
b.InstallFunctions(u,2,[
"reject",PromiseRejected,
"all",PromiseAll,
"race",PromiseRace,
"resolve",PromiseCast
]);
b.InstallFunctions(u.prototype,2,[
"then",PromiseThen,
"catch",PromiseCatch
]);
%InstallToContext([
"promise_catch",PromiseCatch,
"promise_chain",PromiseChain,
"promise_create",PromiseCreate,
"promise_has_user_defined_reject_handler",PromiseHasUserDefinedRejectHandler,
"promise_reject",PromiseReject,
"promise_resolve",PromiseResolve,
"promise_then",PromiseThen,
]);
b.InstallFunctions(c,0,[
"createPromise",PromiseCreate,
"resolvePromise",PromiseResolve,
"rejectPromise",PromiseReject
]);
[PromiseChain,PromiseDeferred,PromiseResolved].forEach(
fn=>%FunctionRemovePrototype(fn));
b.Export(function(ab){
ab.PromiseChain=PromiseChain;
ab.PromiseDeferred=PromiseDeferred;
ab.PromiseResolved=PromiseResolved;
});
})

 messagesá
(function(a,b){
%CheckIsBootstrapping();
var c;
var d;
var e;
var f;
var g=
b.ImportNow("call_site_receiver_symbol");
var h=
b.ImportNow("call_site_function_symbol");
var i=
b.ImportNow("call_site_position_symbol");
var j=
b.ImportNow("call_site_strict_symbol");
var k;
var l;
var m=
b.ImportNow("formatted_stack_trace_symbol");
var n=a.Object;
var o;
var p;
var q;
var r=b.InternalArray;
var s=b.ImportNow("internal_error_symbol");
var t;
var u=b.ImportNow("object_to_string");
var v=b.ImportNow("Script");
var w=b.ImportNow("stack_trace_symbol");
var x;
var y;
var z;
var A;
var B=b.ImportNow("to_string_tag_symbol");
var C;
var D;
var E;
b.Import(function(F){
c=F.ArrayJoin;
d=F.Bool16x8ToString;
e=F.Bool32x4ToString;
f=F.Bool8x16ToString;
l=F.Float32x4ToString;
o=F.Int16x8ToString;
p=F.Int32x4ToString;
q=F.Int8x16ToString;
t=F.ObjectDefineProperty;
x=F.StringCharAt;
y=F.StringIndexOf;
z=F.StringSubstring;
A=F.SymbolToString;
C=F.Uint16x8ToString;
D=F.Uint32x4ToString;
E=F.Uint8x16ToString;
});
b.ImportFromExperimental(function(F){
k=F.FLAG_harmony_tostring;
});
var G;
var H;
var I;
var J;
var K;
var L;
var M;
function NoSideEffectsObjectToString(){
if((this===(void 0)))return"[object Undefined]";
if((this===null))return"[object Null]";
var N=(%_ToObject(this));
var O=%_ClassOf(N);
var P;
if(k){
P=%GetDataProperty(N,B);
if(!(typeof(P)==='string')){
P=O;
}
}else{
P=O;
}
return`[object ${P}]`;
}
function IsErrorObject(Q){
return(%HasOwnProperty(Q,w));
}
function NoSideEffectsErrorToString(){
var R=%GetDataProperty(this,"name");
var S=%GetDataProperty(this,"message");
R=(R===(void 0))?"Error":NoSideEffectsToString(R);
S=(S===(void 0))?"":NoSideEffectsToString(S);
if(R=="")return S;
if(S=="")return R;
return`${R}: ${S}`;
}
function NoSideEffectsToString(Q){
if((typeof(Q)==='string'))return Q;
if((typeof(Q)==='number'))return %_NumberToString(Q);
if((typeof(Q)==='boolean'))return Q?'true':'false';
if((Q===(void 0)))return'undefined';
if((Q===null))return'null';
if((%_IsFunction(Q))){
var T=%FunctionToString(Q);
if(T.length>128){
T=%_SubString(T,0,111)+"...<omitted>..."+
%_SubString(T,T.length-2,T.length);
}
return T;
}
if((typeof(Q)==='symbol'))return %_Call(A,Q);
if((%_IsSimdValue(Q))){
switch(typeof(Q)){
case'float32x4':return %_Call(l,Q);
case'int32x4':return %_Call(p,Q);
case'int16x8':return %_Call(o,Q);
case'int8x16':return %_Call(q,Q);
case'uint32x4':return %_Call(D,Q);
case'uint16x8':return %_Call(C,Q);
case'uint8x16':return %_Call(E,Q);
case'bool32x4':return %_Call(e,Q);
case'bool16x8':return %_Call(d,Q);
case'bool8x16':return %_Call(f,Q);
}
}
if((%_IsJSReceiver(Q))){
if(IsErrorObject(Q)||
%GetDataProperty(Q,"toString")===ErrorToString){
return %_Call(NoSideEffectsErrorToString,Q);
}
if(%GetDataProperty(Q,"toString")===u){
var U=%GetDataProperty(Q,"constructor");
if((%_IsFunction(U))){
var V=%FunctionGetName(U);
if(V!="")return`#<${V}>`;
}
}
}
return %_Call(NoSideEffectsObjectToString,Q);
}
function MakeGenericError(U,W,X,Y,Z){
var aa=new U(FormatMessage(W,X,Y,Z));
aa[s]=true;
return aa;
}
%FunctionSetInstanceClassName(v,'Script');
%AddNamedProperty(v.prototype,'constructor',v,
2|4|1);
%SetCode(v,function(ab){
throw MakeError(6);
});
function FormatMessage(W,X,Y,Z){
var X=NoSideEffectsToString(X);
var Y=NoSideEffectsToString(Y);
var Z=NoSideEffectsToString(Z);
try{
return %FormatMessageString(W,X,Y,Z);
}catch(e){
return"<error>";
}
}
function GetLineNumber(S){
var ac=%MessageGetStartPosition(S);
if(ac==-1)return 0;
var ad=%MessageGetScript(S);
var ae=ad.locationFromPosition(ac,true);
if(ae==null)return 0;
return ae.line+1;
}
function GetColumnNumber(S){
var ad=%MessageGetScript(S);
var ac=%MessageGetStartPosition(S);
var ae=ad.locationFromPosition(ac,true);
if(ae==null)return-1;
return ae.column;
}
function GetSourceLine(S){
var ad=%MessageGetScript(S);
var ac=%MessageGetStartPosition(S);
var ae=ad.locationFromPosition(ac,true);
if(ae==null)return"";
return ae.sourceText();
}
function ScriptLineFromPosition(af){
var ag=0;
var ah=this.lineCount()-1;
var ai=this.line_ends;
if(af>ai[ah]){
return-1;
}
if(af<=ai[0]){
return 0;
}
while(ah>=1){
var aj=(ag+ah)>>1;
if(af>ai[aj]){
ag=aj+1;
}else if(af<=ai[aj-1]){
ah=aj-1;
}else{
return aj;
}
}
return-1;
}
function ScriptLocationFromPosition(af,
include_resource_offset){
var ak=this.lineFromPosition(af);
if(ak==-1)return null;
var ai=this.line_ends;
var al=ak==0?0:ai[ak-1]+1;
var am=ai[ak];
if(am>0&&%_Call(x,this.source,am-1)=='\r'){
am--;
}
var an=af-al;
if(include_resource_offset){
ak+=this.line_offset;
if(ak==this.line_offset){
an+=this.column_offset;
}
}
return new SourceLocation(this,af,ak,an,al,am);
}
function ScriptLocationFromLine(ao,ap,aq){
var ak=0;
if(!(ao===(void 0))){
ak=ao-this.line_offset;
}
var an=ap||0;
if(ak==0){
an-=this.column_offset;
}
var ar=aq||0;
if(ak<0||an<0||ar<0)return null;
if(ak==0){
return this.locationFromPosition(ar+an,false);
}else{
var as=this.lineFromPosition(ar);
if(as==-1||as+ak>=this.lineCount()){
return null;
}
return this.locationFromPosition(
this.line_ends[as+ak-1]+1+an);
}
}
function ScriptSourceSlice(at,au){
var av=(at===(void 0))?this.line_offset
:at;
var aw=(au===(void 0))?this.line_offset+this.lineCount()
:au;
av-=this.line_offset;
aw-=this.line_offset;
if(av<0)av=0;
if(aw>this.lineCount())aw=this.lineCount();
if(av>=this.lineCount()||
aw<0||
av>aw){
return null;
}
var ai=this.line_ends;
var ax=av==0?0:ai[av-1]+1;
var ay=aw==0?0:ai[aw-1]+1;
return new SourceSlice(this,
av+this.line_offset,
aw+this.line_offset,
ax,ay);
}
function ScriptSourceLine(ao){
var ak=0;
if(!(ao===(void 0))){
ak=ao-this.line_offset;
}
if(ak<0||this.lineCount()<=ak){
return null;
}
var ai=this.line_ends;
var al=ak==0?0:ai[ak-1]+1;
var am=ai[ak];
return %_Call(z,this.source,al,am);
}
function ScriptLineCount(){
return this.line_ends.length;
}
function ScriptLineEnd(az){
return this.line_ends[az];
}
function ScriptNameOrSourceURL(){
if(this.source_url)return this.source_url;
return this.name;
}
b.SetUpLockedPrototype(v,[
"source",
"name",
"source_url",
"source_mapping_url",
"line_ends",
"line_offset",
"column_offset"
],[
"lineFromPosition",ScriptLineFromPosition,
"locationFromPosition",ScriptLocationFromPosition,
"locationFromLine",ScriptLocationFromLine,
"sourceSlice",ScriptSourceSlice,
"sourceLine",ScriptSourceLine,
"lineCount",ScriptLineCount,
"nameOrSourceURL",ScriptNameOrSourceURL,
"lineEnd",ScriptLineEnd
]
);
function SourceLocation(ad,af,ak,an,al,am){
this.script=ad;
this.position=af;
this.line=ak;
this.column=an;
this.start=al;
this.end=am;
}
function SourceLocationSourceText(){
return %_Call(z,this.script.source,this.start,this.end);
}
b.SetUpLockedPrototype(SourceLocation,
["script","position","line","column","start","end"],
["sourceText",SourceLocationSourceText]
);
function SourceSlice(ad,av,aw,ax,ay){
this.script=ad;
this.from_line=av;
this.to_line=aw;
this.from_position=ax;
this.to_position=ay;
}
function SourceSliceSourceText(){
return %_Call(z,
this.script.source,
this.from_position,
this.to_position);
}
b.SetUpLockedPrototype(SourceSlice,
["script","from_line","to_line","from_position","to_position"],
["sourceText",SourceSliceSourceText]
);
function GetStackTraceLine(aA,aB,aC,aD){
return new CallSite(aA,aB,aC,false).toString();
}
function CallSite(aE,aB,aC,aF){
if(!(%_IsFunction(aB))){
throw MakeTypeError(18,typeof aB);
}
if((new.target===(void 0))){
return new CallSite(aE,aB,aC,aF);
}
(this[g]=aE);
(this[h]=aB);
(this[i]=((aC)|0));
(this[j]=(!!(aF)));
}
function CallSiteGetThis(){
return(this[j])
?(void 0):(this[g]);
}
function CallSiteGetFunction(){
return(this[j])
?(void 0):(this[h]);
}
function CallSiteGetPosition(){
return(this[i]);
}
function CallSiteGetTypeName(){
return GetTypeName((this[g]),false);
}
function CallSiteIsToplevel(){
return %CallSiteIsToplevelRT(this);
}
function CallSiteIsEval(){
return %CallSiteIsEvalRT(this);
}
function CallSiteGetEvalOrigin(){
var ad=%FunctionGetScript((this[h]));
return FormatEvalOrigin(ad);
}
function CallSiteGetScriptNameOrSourceURL(){
return %CallSiteGetScriptNameOrSourceUrlRT(this);
}
function CallSiteGetFunctionName(){
return %CallSiteGetFunctionNameRT(this);
}
function CallSiteGetMethodName(){
return %CallSiteGetMethodNameRT(this);
}
function CallSiteGetFileName(){
return %CallSiteGetFileNameRT(this);
}
function CallSiteGetLineNumber(){
return %CallSiteGetLineNumberRT(this);
}
function CallSiteGetColumnNumber(){
return %CallSiteGetColumnNumberRT(this);
}
function CallSiteIsNative(){
return %CallSiteIsNativeRT(this);
}
function CallSiteIsConstructor(){
return %CallSiteIsConstructorRT(this);
}
function CallSiteToString(){
var aG;
var aH="";
if(this.isNative()){
aH="native";
}else{
aG=this.getScriptNameOrSourceURL();
if(!aG&&this.isEval()){
aH=this.getEvalOrigin();
aH+=", ";
}
if(aG){
aH+=aG;
}else{
aH+="<anonymous>";
}
var aI=this.getLineNumber();
if(aI!=null){
aH+=":"+aI;
var aJ=this.getColumnNumber();
if(aJ){
aH+=":"+aJ;
}
}
}
var ak="";
var aK=this.getFunctionName();
var aL=true;
var aM=this.isConstructor();
var aN=!(this.isToplevel()||aM);
if(aN){
var aO=GetTypeName((this[g]),true);
var aP=this.getMethodName();
if(aK){
if(aO&&%_Call(y,aK,aO)!=0){
ak+=aO+".";
}
ak+=aK;
if(aP&&
(%_Call(y,aK,"."+aP)!=
aK.length-aP.length-1)){
ak+=" [as "+aP+"]";
}
}else{
ak+=aO+"."+(aP||"<anonymous>");
}
}else if(aM){
ak+="new "+(aK||"<anonymous>");
}else if(aK){
ak+=aK;
}else{
ak+=aH;
aL=false;
}
if(aL){
ak+=" ("+aH+")";
}
return ak;
}
b.SetUpLockedPrototype(CallSite,["receiver","fun","pos"],[
"getThis",CallSiteGetThis,
"getTypeName",CallSiteGetTypeName,
"isToplevel",CallSiteIsToplevel,
"isEval",CallSiteIsEval,
"getEvalOrigin",CallSiteGetEvalOrigin,
"getScriptNameOrSourceURL",CallSiteGetScriptNameOrSourceURL,
"getFunction",CallSiteGetFunction,
"getFunctionName",CallSiteGetFunctionName,
"getMethodName",CallSiteGetMethodName,
"getFileName",CallSiteGetFileName,
"getLineNumber",CallSiteGetLineNumber,
"getColumnNumber",CallSiteGetColumnNumber,
"isNative",CallSiteIsNative,
"getPosition",CallSiteGetPosition,
"isConstructor",CallSiteIsConstructor,
"toString",CallSiteToString
]);
function FormatEvalOrigin(ad){
var aQ=ad.nameOrSourceURL();
if(aQ){
return aQ;
}
var aR="eval at ";
if(ad.eval_from_function_name){
aR+=ad.eval_from_function_name;
}else{
aR+="<anonymous>";
}
var aS=ad.eval_from_script;
if(aS){
if(aS.compilation_type==1){
aR+=" ("+FormatEvalOrigin(aS)+")";
}else{
if(aS.name){
aR+=" ("+aS.name;
var ae=aS.locationFromPosition(
ad.eval_from_script_position,true);
if(ae){
aR+=":"+(ae.line+1);
aR+=":"+(ae.column+1);
}
aR+=")";
}else{
aR+=" (unknown source)";
}
}
}
return aR;
}
function FormatErrorString(aa){
try{
return %_Call(ErrorToString,aa);
}catch(e){
try{
return"<error: "+e+">";
}catch(ee){
return"<error>";
}
}
}
function GetStackFrames(aT){
var aU=new r();
var aV=aT[0];
for(var aj=1;aj<aT.length;aj+=4){
var aA=aT[aj];
var aB=aT[aj+1];
var aW=aT[aj+2];
var aX=aT[aj+3];
var aC=%_IsSmi(aW)?aW:%FunctionGetPositionForOffset(aW,aX);
aV--;
aU.push(new CallSite(aA,aB,aC,(aV<0)));
}
return aU;
}
var aY=false;
function FormatStackTrace(Q,aT){
var aU=GetStackFrames(aT);
if((%_IsFunction(G.prepareStackTrace))&&
!aY){
var aZ=[];
%MoveArrayContents(aU,aZ);
aY=true;
var ba=(void 0);
try{
ba=G.prepareStackTrace(Q,aZ);
}catch(e){
throw e;
}finally{
aY=false;
}
return ba;
}
var bb=new r();
bb.push(FormatErrorString(Q));
for(var aj=0;aj<aU.length;aj++){
var bc=aU[aj];
var ak;
try{
ak=bc.toString();
}catch(e){
try{
ak="<error: "+e+">";
}catch(ee){
ak="<error>";
}
}
bb.push("    at "+ak);
}
return %_Call(c,bb,"\n");
}
function GetTypeName(aE,bd){
if((aE==null))return null;
if((%_IsJSProxy(aE)))return"Proxy";
var U=%GetDataProperty((%_ToObject(aE)),"constructor");
if(!(%_IsFunction(U))){
return bd?null:%_Call(NoSideEffectsToString,aE);
}
return %FunctionGetName(U);
}
var be=function(){
var bf=(void 0);
var bg=this;
while(bg){
var bf=
(bg[m]);
if((bf===(void 0))){
var ba=(bg[w]);
if((ba===(void 0))){
bg=%_GetPrototype(bg);
continue;
}
bf=FormatStackTrace(bg,ba);
(bg[w]=(void 0));
(bg[m]=bf);
}
return bf;
}
return(void 0);
};
var bh=function(bi){
if(IsErrorObject(this)){
(this[w]=(void 0));
(this[m]=bi);
}
};
var bj=function(){};
function SetUpError(bk){
%FunctionSetInstanceClassName(bk,'Error');
var R=bk.name;
var bl=new n();
if(R!=='Error'){
%InternalSetPrototype(bk,G);
%InternalSetPrototype(bl,G.prototype);
}
%FunctionSetPrototype(bk,bl);
%AddNamedProperty(bk.prototype,'name',R,2);
%AddNamedProperty(bk.prototype,'message','',2);
%AddNamedProperty(
bk.prototype,'constructor',bk,2);
%SetCode(bk,function(bm){
if((new.target===(void 0)))return new bk(bm);
try{bj(this,bk);}catch(e){}
if(!(bm===(void 0))){
%AddNamedProperty(this,'message',(%_ToString(bm)),2);
}
});
%SetNativeFlag(bk);
return bk;
};
G=SetUpError(a.Error);
M=SetUpError(a.EvalError);
I=SetUpError(a.RangeError);
L=SetUpError(a.ReferenceError);
K=SetUpError(a.SyntaxError);
H=SetUpError(a.TypeError);
J=SetUpError(a.URIError);
b.InstallFunctions(G.prototype,2,
['toString',ErrorToString]);
function ErrorToString(){
if(!(%_IsJSReceiver(this))){
throw MakeTypeError(16,"Error.prototype.toString");
}
var R=this.name;
R=(R===(void 0))?"Error":(%_ToString(R));
var S=this.message;
S=(S===(void 0))?"":(%_ToString(S));
if(R=="")return S;
if(S=="")return R;
return`${R}: ${S}`
}
function MakeError(W,X,Y,Z){
return MakeGenericError(G,W,X,Y,Z);
}
function MakeRangeError(W,X,Y,Z){
return MakeGenericError(I,W,X,Y,Z);
}
function MakeSyntaxError(W,X,Y,Z){
return MakeGenericError(K,W,X,Y,Z);
}
function MakeTypeError(W,X,Y,Z){
return MakeGenericError(H,W,X,Y,Z);
}
function MakeURIError(){
return MakeGenericError(J,283);
}
var bn=MakeRangeError(187);
b.InstallGetterSetter(bn,'stack',
be,bh)
bj=function captureStackTrace(Q,bo){
t(Q,'stack',{get:be,
set:bh,
configurable:true});
%CollectStackTrace(Q,bo?bo:bj);
};
G.captureStackTrace=bj;
%InstallToContext([
"get_stack_trace_line_fun",GetStackTraceLine,
"make_error_function",MakeGenericError,
"make_range_error",MakeRangeError,
"make_type_error",MakeTypeError,
"message_get_column_number",GetColumnNumber,
"message_get_line_number",GetLineNumber,
"message_get_source_line",GetSourceLine,
"no_side_effects_to_string_fun",NoSideEffectsToString,
"stack_overflow_boilerplate",bn,
]);
b.Export(function(bp){
bp.ErrorToString=ErrorToString;
bp.MakeError=MakeError;
bp.MakeRangeError=MakeRangeError;
bp.MakeSyntaxError=MakeSyntaxError;
bp.MakeTypeError=MakeTypeError;
bp.MakeURIError=MakeURIError;
});
});

jsonE
(function(a,b){
"use strict";
%CheckIsBootstrapping();
var c=a.Date;
var d=a.JSON;
var e=a.Set;
var f=b.InternalArray;
var g;
var h;
var i;
var j;
var k=b.ImportNow("to_string_tag_symbol");
b.Import(function(l){
g=l.MakeTypeError;
h=l.MaxSimple;
i=l.MinSimple;
j=l.ObjectHasOwnProperty;
});
function CreateDataProperty(m,n,o){
var p={value:o,enumerable:true,writable:true,configurable:true};
return %reflect_define_property(m,n,p);
}
function InternalizeJSONProperty(q,r,s){
var t=q[r];
if((%_IsJSReceiver(t))){
if(%is_arraylike(t)){
var u=(%_ToLength(t.length));
for(var v=0;v<u;v++){
var w=
InternalizeJSONProperty(t,%_NumberToString(v),s);
if((w===(void 0))){
%reflect_delete_property(t,v);
}else{
CreateDataProperty(t,v,w);
}
}
}else{
for(var n of %object_keys(t)){
var w=InternalizeJSONProperty(t,n,s);
if((w===(void 0))){
%reflect_delete_property(t,n);
}else{
CreateDataProperty(t,n,w);
}
}
}
}
return %_Call(s,q,r,t);
}
function JSONParse(x,s){
var y=%ParseJson(x);
if((typeof(s)==='function')){
return InternalizeJSONProperty({'':y},'',s);
}else{
return y;
}
}
function SerializeArray(z,A,B,C,D){
if(!%PushIfAbsent(B,z))throw g(22);
var E=C;
C+=D;
var F=new f();
var G=(%_ToLength(z.length));
for(var v=0;v<G;v++){
var H=JSONSerialize(%_NumberToString(v),z,A,B,
C,D);
if((H===(void 0))){
H="null";
}
F.push(H);
}
var I;
if(D==""){
I="["+F.join(",")+"]";
}else if(F.length>0){
var J=",\n"+C;
I="[\n"+C+F.join(J)+"\n"+
E+"]";
}else{
I="[]";
}
B.pop();
return I;
}
function SerializeObject(z,A,B,C,D){
if(!%PushIfAbsent(B,z))throw g(22);
var E=C;
C+=D;
var F=new f();
if((%_IsArray(A))){
var u=A.length;
for(var v=0;v<u;v++){
var n=A[v];
var H=JSONSerialize(n,z,A,B,C,D);
if(!(H===(void 0))){
var K=%QuoteJSONString(n)+":";
if(D!="")K+=" ";
K+=H;
F.push(K);
}
}
}else{
for(var n of %object_keys(z)){
var H=JSONSerialize(n,z,A,B,C,D);
if(!(H===(void 0))){
var K=%QuoteJSONString(n)+":";
if(D!="")K+=" ";
K+=H;
F.push(K);
}
}
}
var I;
if(D==""){
I="{"+F.join(",")+"}";
}else if(F.length>0){
var J=",\n"+C;
I="{\n"+C+F.join(J)+"\n"+
E+"}";
}else{
I="{}";
}
B.pop();
return I;
}
function JSONSerialize(L,q,A,B,C,D){
var z=q[L];
if((%_IsJSReceiver(z))){
var M=z.toJSON;
if((typeof(M)==='function')){
z=%_Call(M,z,L);
}
}
if((typeof(A)==='function')){
z=%_Call(A,q,L,z);
}
if((typeof(z)==='string')){
return %QuoteJSONString(z);
}else if((typeof(z)==='number')){
return((%_IsSmi(%IS_VAR(z))||z-z==0)?%_NumberToString(z):"null");
}else if((typeof(z)==='boolean')){
return z?"true":"false";
}else if((z===null)){
return"null";
}else if((%_IsJSReceiver(z))&&!(typeof(z)==='function')){
if(%is_arraylike(z)){
return SerializeArray(z,A,B,C,D);
}else if((%_ClassOf(z)==='Number')){
z=(%_ToNumber(z));
return((%_IsSmi(%IS_VAR(z))||z-z==0)?%_NumberToString(z):"null");
}else if((%_ClassOf(z)==='String')){
return %QuoteJSONString((%_ToString(z)));
}else if((%_ClassOf(z)==='Boolean')){
return %_ValueOf(z)?"true":"false";
}else{
return SerializeObject(z,A,B,C,D);
}
}
return(void 0);
}
function JSONStringify(z,A,N){
if(%_ArgumentsLength()==1&&!(%_IsJSProxy(z))){
return %BasicJSONStringify(z);
}
if(!(typeof(A)==='function')&&%is_arraylike(A)){
var O=new f();
var P=new e();
var u=(%_ToLength(A.length));
for(var v=0;v<u;v++){
var o=A[v];
var Q;
if((typeof(o)==='string')){
Q=o;
}else if((typeof(o)==='number')){
Q=%_NumberToString(o);
}else if((%_ClassOf(o)==='String')||(%_ClassOf(o)==='Number')){
Q=(%_ToString(o));
}else{
continue;
}
if(!P.has(Q)){
O.push(Q);
P.add(Q);
}
}
A=O;
}
if((typeof(N)==='object')){
if((%_ClassOf(N)==='Number')){
N=(%_ToNumber(N));
}else if((%_ClassOf(N)==='String')){
N=(%_ToString(N));
}
}
var D;
if((typeof(N)==='number')){
N=h(0,i((%_ToInteger(N)),10));
D=%_SubString("          ",0,N);
}else if((typeof(N)==='string')){
if(N.length>10){
D=%_SubString(N,0,10);
}else{
D=N;
}
}else{
D="";
}
return JSONSerialize('',{'':z},A,new f(),"",D);
}
%AddNamedProperty(d,k,"JSON",1|2);
b.InstallFunctions(d,2,[
"parse",JSONParse,
"stringify",JSONStringify
]);
function DateToJSON(L){
var m=(%_ToObject(this));
var R=(%_ToPrimitive_Number(m));
if((typeof(R)==='number')&&!(%_IsSmi(%IS_VAR(R))||((R==R)&&(R!=1/0)&&(R!=-1/0)))){
return null;
}
return m.toISOString();
}
b.InstallFunctions(c.prototype,2,[
"toJSON",DateToJSON
]);
function JsonSerializeAdapter(L,S){
var q={};
q[L]=S;
return JSONSerialize(L,q,(void 0),new f(),"","");
}
%InstallToContext(["json_serialize_adapter",JsonSerializeAdapter]);
})

8array-iteratorÝ 
(function(a,b){
"use strict";
%CheckIsBootstrapping();
var c=
b.ImportNow("array_iteration_kind_symbol");
var d=
b.ImportNow("array_iterator_next_symbol");
var e=
b.ImportNow("array_iterator_object_symbol");
var f=a.Array;
var g=b.ImportNow("IteratorPrototype");
var h=b.ImportNow("iterator_symbol");
var i;
var j=b.ImportNow("to_string_tag_symbol");
var k=a.Uint8Array.__proto__;
b.Import(function(l){
i=l.MakeTypeError;
})
function ArrayIterator(){}
function CreateArrayIterator(m,n){
var o=(%_ToObject(m));
var p=new ArrayIterator;
(p[e]=o);
(p[d]=0);
(p[c]=n);
return p;
}
function ArrayIteratorIterator(){
return this;
}
function ArrayIteratorNext(){
var p=this;
var q=(void 0);
var r=true;
if(!(%_IsJSReceiver(p))||
!(!(p[d]===(void 0)))){
throw i(42,
'Array Iterator.prototype.next',this);
}
var m=(p[e]);
if(!(m===(void 0))){
var s=(p[d]);
var t=(p[c]);
var u=((m.length)>>>0);
if(s>=u){
(p[e]=(void 0));
}else{
(p[d]=s+1);
if(t==2){
q=m[s];
}else if(t==3){
q=[s,m[s]];
}else{
q=s;
}
r=false;
}
}
return %_CreateIterResultObject(q,r);
}
function ArrayEntries(){
return CreateArrayIterator(this,3);
}
function ArrayValues(){
return CreateArrayIterator(this,2);
}
function ArrayKeys(){
return CreateArrayIterator(this,1);
}
%FunctionSetPrototype(ArrayIterator,{__proto__:g});
%FunctionSetInstanceClassName(ArrayIterator,'Array Iterator');
b.InstallFunctions(ArrayIterator.prototype,2,[
'next',ArrayIteratorNext
]);
b.SetFunctionName(ArrayIteratorIterator,h);
%AddNamedProperty(ArrayIterator.prototype,h,
ArrayIteratorIterator,2);
%AddNamedProperty(ArrayIterator.prototype,j,
"Array Iterator",1|2);
b.InstallFunctions(f.prototype,2,[
'entries',ArrayEntries,
'keys',ArrayKeys
]);
b.SetFunctionName(ArrayValues,'values');
%AddNamedProperty(f.prototype,h,ArrayValues,
2);
%AddNamedProperty(k.prototype,
'entries',ArrayEntries,2);
%AddNamedProperty(k.prototype,'values',ArrayValues,2);
%AddNamedProperty(k.prototype,'keys',ArrayKeys,2);
%AddNamedProperty(k.prototype,
h,ArrayValues,2);
b.Export(function(v){
v.ArrayValues=ArrayValues;
});
%InstallToContext(["array_values_iterator",ArrayValues]);
})

<string-iterator5
(function(a,b){
"use strict";
%CheckIsBootstrapping();
var c=a.String;
var d=b.ImportNow("IteratorPrototype");
var e=b.ImportNow("iterator_symbol");
var f;
var g=
b.ImportNow("string_iterator_iterated_string_symbol");
var h=
b.ImportNow("string_iterator_next_index_symbol");
var i=b.ImportNow("to_string_tag_symbol");
b.Import(function(j){
f=j.MakeTypeError;
});
function StringIterator(){}
function CreateStringIterator(k){
var l=(%_ToString(k));
var m=new StringIterator;
(m[g]=l);
(m[h]=0);
return m;
}
function StringIteratorNext(){
var m=this;
var n=(void 0);
var o=true;
if(!(%_IsJSReceiver(m))||
!(!(m[h]===(void 0)))){
throw f(42,
'String Iterator.prototype.next');
}
var l=(m[g]);
if(!(l===(void 0))){
var p=(m[h]);
var q=((l.length)>>>0);
if(p>=q){
(m[g]=(void 0));
}else{
var r=%_StringCharCodeAt(l,p);
n=%_StringCharFromCode(r);
o=false;
p++;
if(r>=0xD800&&r<=0xDBFF&&p<q){
var s=%_StringCharCodeAt(l,p);
if(s>=0xDC00&&s<=0xDFFF){
n+=%_StringCharFromCode(s);
p++;
}
}
(m[h]=p);
}
}
return %_CreateIterResultObject(n,o);
}
function StringPrototypeIterator(){
return CreateStringIterator(this);
}
%FunctionSetPrototype(StringIterator,{__proto__:d});
%FunctionSetInstanceClassName(StringIterator,'String Iterator');
b.InstallFunctions(StringIterator.prototype,2,[
'next',StringIteratorNext
]);
%AddNamedProperty(StringIterator.prototype,i,
"String Iterator",1|2);
b.SetFunctionName(StringPrototypeIterator,e);
%AddNamedProperty(c.prototype,e,
StringPrototypeIterator,2);
})

$templates
(function(a,b){
"use strict";
%CheckIsBootstrapping();
var c=a.Map;
var d=b.InternalArray;
var e=new c;
var f=c.prototype.get;
var g=c.prototype.set;
function SameCallSiteElements(h,i){
var j=h.length;
var i=i.raw;
if(j!==i.length)return false;
for(var k=0;k<j;++k){
if(h[k]!==i[k])return false;
}
return true;
}
function GetCachedCallSite(l,m){
var n=%_Call(f,e,m);
if((n===(void 0)))return;
var j=n.length;
for(var k=0;k<j;++k){
if(SameCallSiteElements(l,n[k]))return n[k];
}
}
function SetCachedCallSite(l,m){
var n=%_Call(f,e,m);
var o;
if((n===(void 0))){
o=new d(1);
o[0]=l;
%_Call(g,e,m,o);
}else{
n.push(l);
}
return l;
}
function GetTemplateCallSite(l,h,m){
var p=GetCachedCallSite(h,m);
if(!(p===(void 0)))return p;
%AddNamedProperty(l,"raw",%object_freeze(h),
1|2|4);
return SetCachedCallSite(%object_freeze(l),m);
}
%InstallToContext(["get_template_call_site",GetTemplateCallSite]);
})

spreadÝ
(function(a,b){
'use strict';
var c=b.InternalArray;
var d;
b.Import(function(e){
d=e.MakeTypeError;
});
function SpreadArguments(){
var f=%_ArgumentsLength();
var g=new c();
for(var h=0;h<f;++h){
var i=%_Arguments(h);
var j=i.length;
for(var k=0;k<j;++k){
g.push(i[k]);
}
}
return g;
}
function SpreadIterable(l){
if((l==null)){
throw d(66,l);
}
var g=new c();
for(var m of l){
g.push(m);
}
return g;
}
%InstallToContext([
"spread_arguments",SpreadArguments,
"spread_iterable",SpreadIterable,
]);
})

i18nFç
(function(a,b){
"use strict";
%CheckIsBootstrapping();
var c;
var d;
var e;
var f;
var g;
var h=a.Boolean;
var i=a.Date;
var j=a.Number;
var k=a.RegExp;
var l=a.String;
var m;
var n;
var o;
var p;
var q=b.ImportNow("ObjectDefineProperties");
var r=b.ImportNow("ObjectDefineProperty");
var s=b.ImportNow("intl_pattern_symbol");
var t;
var u=b.ImportNow("intl_resolved_symbol");
var v;
var w;
var x;
var y;
var z;
var A;
var B;
b.Import(function(C){
c=C.ArrayIndexOf;
d=C.ArrayJoin;
e=C.ArrayPush;
f=C.IsFinite;
g=C.IsNaN;
m=C.MakeError;
n=C.MakeRangeError;
o=C.MakeTypeError;
p=C.MathFloor;
t=C.RegExpTest;
v=C.StringIndexOf;
w=C.StringLastIndexOf;
x=C.StringMatch;
y=C.StringReplace;
z=C.StringSplit;
A=C.StringSubstr;
B=C.StringSubstring;
});
var D={};
%AddNamedProperty(a,"Intl",D,2);
var E={
'collator':(void 0),
'numberformat':(void 0),
'dateformat':(void 0),
'breakiterator':(void 0)
};
var F=(void 0);
var G=(void 0);
function GetUnicodeExtensionRE(){
if(((void 0)===(void 0))){
G=new k('-u(-[a-z0-9]{2,8})+','g');
}
return G;
}
var H=(void 0);
function GetAnyExtensionRE(){
if((H===(void 0))){
H=new k('-[a-z0-9]{1}-.*','g');
}
return H;
}
var I=(void 0);
function GetQuotedStringRE(){
if((I===(void 0))){
I=new k("'[^']+'",'g');
}
return I;
}
var J=(void 0);
function GetServiceRE(){
if((J===(void 0))){
J=
new k('^(collator|numberformat|dateformat|breakiterator)$');
}
return J;
}
var K=(void 0);
function GetLanguageTagRE(){
if((K===(void 0))){
BuildLanguageTagREs();
}
return K;
}
var L=(void 0);
function GetLanguageVariantRE(){
if((L===(void 0))){
BuildLanguageTagREs();
}
return L;
}
var M=(void 0);
function GetLanguageSingletonRE(){
if((M===(void 0))){
BuildLanguageTagREs();
}
return M;
}
var N=(void 0);
function GetTimezoneNameCheckRE(){
if((N===(void 0))){
N=new k(
'^([A-Za-z]+)/([A-Za-z_-]+)((?:\/[A-Za-z_-]+)+)*$');
}
return N;
}
var O=(void 0);
function GetTimezoneNameLocationPartRE(){
if((O===(void 0))){
O=
new k('^([A-Za-z]+)((?:[_-][A-Za-z]+)+)*$');
}
return O;
}
function addBoundMethod(P,Q,R,S){
%CheckIsBootstrapping();
function getter(){
if(!%IsInitializedIntlObject(this)){
throw o(51,Q);
}
var T='__bound'+Q+'__';
if((this[T]===(void 0))){
var U=this;
var V;
if((S===(void 0))||S===2){
V=function(W,X){
if(!(new.target===(void 0))){
throw o(87);
}
return R(U,W,X);
}
}else if(S===1){
V=function(W){
if(!(new.target===(void 0))){
throw o(87);
}
return R(U,W);
}
}else{
V=function(){
if(!(new.target===(void 0))){
throw o(87);
}
if(%_ArgumentsLength()>0){
return R(U,%_Arguments(0));
}else{
return R(U);
}
}
}
%FunctionSetName(V,T);
%FunctionRemovePrototype(V);
%SetNativeFlag(V);
this[T]=V;
}
return this[T];
}
%FunctionSetName(getter,Q);
%FunctionRemovePrototype(getter);
%SetNativeFlag(getter);
r(P.prototype,Q,{
get:getter,
enumerable:false,
configurable:true
});
}
function supportedLocalesOf(Y,Z,aa){
if((%_Call(x,Y,GetServiceRE())===null)){
throw m(7,Y);
}
if((aa===(void 0))){
aa={};
}else{
aa=(%_ToObject(aa));
}
var ab=aa.localeMatcher;
if(!(ab===(void 0))){
ab=l(ab);
if(ab!=='lookup'&&ab!=='best fit'){
throw n(183,ab);
}
}else{
ab='best fit';
}
var ac=initializeLocaleList(Z);
if((E[Y]===(void 0))){
E[Y]=getAvailableLocalesOf(Y);
}
if(ab==='best fit'){
return initializeLocaleList(bestFitSupportedLocalesOf(
ac,E[Y]));
}
return initializeLocaleList(lookupSupportedLocalesOf(
ac,E[Y]));
}
function lookupSupportedLocalesOf(ac,ad){
var ae=[];
for(var af=0;af<ac.length;++af){
var ag=%_Call(y,
ac[af],
GetUnicodeExtensionRE(),
'');
do{
if(!(ad[ag]===(void 0))){
%_Call(e,ae,ac[af]);
break;
}
var ah=%_Call(w,ag,'-');
if(ah===-1){
break;
}
ag=%_Call(B,ag,0,ah);
}while(true);
}
return ae;
}
function bestFitSupportedLocalesOf(ac,ad){
return lookupSupportedLocalesOf(ac,ad);
}
function getGetOption(aa,ai){
if((aa===(void 0)))throw m(4,ai);
var aj=function getOption(ak,al,am,an){
if(!(aa[ak]===(void 0))){
var ao=aa[ak];
switch(al){
case'boolean':
ao=h(ao);
break;
case'string':
ao=l(ao);
break;
case'number':
ao=j(ao);
break;
default:
throw m(8);
}
if(!(am===(void 0))&&%_Call(c,am,ao)===-1){
throw n(193,ao,ai,ak);
}
return ao;
}
return an;
}
return aj;
}
function resolveLocale(Y,ac,aa){
ac=initializeLocaleList(ac);
var aj=getGetOption(aa,Y);
var ab=aj('localeMatcher','string',
['lookup','best fit'],'best fit');
var ap;
if(ab==='lookup'){
ap=lookupMatcher(Y,ac);
}else{
ap=bestFitMatcher(Y,ac);
}
return ap;
}
function lookupMatcher(Y,ac){
if((%_Call(x,Y,GetServiceRE())===null)){
throw m(7,Y);
}
if((E[Y]===(void 0))){
E[Y]=getAvailableLocalesOf(Y);
}
for(var af=0;af<ac.length;++af){
var ag=%_Call(y,ac[af],
GetAnyExtensionRE(),'');
do{
if(!(E[Y][ag]===(void 0))){
var aq=
%_Call(x,ac[af],GetUnicodeExtensionRE());
var ar=(aq===null)?'':aq[0];
return{'locale':ag,'extension':ar,'position':af};
}
var ah=%_Call(w,ag,'-');
if(ah===-1){
break;
}
ag=%_Call(B,ag,0,ah);
}while(true);
}
if((F===(void 0))){
F=%GetDefaultICULocale();
}
return{'locale':F,'extension':'','position':-1};
}
function bestFitMatcher(Y,ac){
return lookupMatcher(Y,ac);
}
function parseExtension(ar){
var as=%_Call(z,ar,'-');
if(as.length<=2||
(as[0]!==''&&as[1]!=='u')){
return{};
}
var at={};
var au=(void 0);
for(var af=2;af<as.length;++af){
var S=as[af].length;
var av=as[af];
if(S===2){
at[av]=(void 0);
au=av;
}else if(S>=3&&S<=8&&!(au===(void 0))){
at[au]=av;
au=(void 0);
}else{
return{};
}
}
return at;
}
function setOptions(aw,at,ax,aj,ay){
var ar='';
var az=function updateExtension(aA,ao){
return'-'+aA+'-'+l(ao);
}
var aB=function updateProperty(ak,al,ao){
if(al==='boolean'&&(typeof ao==='string')){
ao=(ao==='true')?true:false;
}
if(!(ak===(void 0))){
defineWEProperty(ay,ak,ao);
}
}
for(var aA in ax){
if(%HasOwnProperty(ax,aA)){
var ao=(void 0);
var aC=ax[aA];
if(!(aC.property===(void 0))){
ao=aj(aC.property,aC.type,aC.values);
}
if(!(ao===(void 0))){
aB(aC.property,aC.type,ao);
ar+=az(aA,ao);
continue;
}
if(%HasOwnProperty(at,aA)){
ao=at[aA];
if(!(ao===(void 0))){
aB(aC.property,aC.type,ao);
ar+=az(aA,ao);
}else if(aC.type==='boolean'){
aB(aC.property,aC.type,true);
ar+=az(aA,true);
}
}
}
}
return ar===''?'':'-u'+ar;
}
function freezeArray(aD){
var aE=aD.length;
for(var af=0;af<aE;af++){
if(af in aD){
r(aD,af,{value:aD[af],
configurable:false,
writable:false,
enumerable:true});
}
}
r(aD,'length',{value:aE,writable:false});
return aD;
}
function getOptimalLanguageTag(aF,ap){
if(aF===ap){
return aF;
}
var Z=%GetLanguageTagVariants([aF,ap]);
if(Z[0].maximized!==Z[1].maximized){
return ap;
}
var aG=new k('^'+Z[1].base);
return %_Call(y,ap,aG,Z[0].base);
}
function getAvailableLocalesOf(Y){
var aH=%AvailableLocalesOf(Y);
for(var af in aH){
if(%HasOwnProperty(aH,af)){
var aI=
%_Call(x,af,/^([a-z]{2,3})-([A-Z][a-z]{3})-([A-Z]{2})$/);
if(aI!==null){
aH[aI[1]+'-'+aI[3]]=null;
}
}
}
return aH;
}
function defineWEProperty(aJ,ak,ao){
r(aJ,ak,
{value:ao,writable:true,enumerable:true});
}
function addWEPropertyIfDefined(aJ,ak,ao){
if(!(ao===(void 0))){
defineWEProperty(aJ,ak,ao);
}
}
function defineWECProperty(aJ,ak,ao){
r(aJ,ak,{value:ao,
writable:true,
enumerable:true,
configurable:true});
}
function addWECPropertyIfDefined(aJ,ak,ao){
if(!(ao===(void 0))){
defineWECProperty(aJ,ak,ao);
}
}
function toTitleCaseWord(aK){
return %StringToUpperCase(%_Call(A,aK,0,1))+
%StringToLowerCase(%_Call(A,aK,1));
}
function toTitleCaseTimezoneLocation(aL){
var aM=%_Call(x,aL,GetTimezoneNameLocationPartRE());
if((aM===null))throw n(163,aL);
var aN=toTitleCaseWord(aM[1]);
if(!(aM[2]===(void 0))&&2<aM.length){
var aO=%_Call(B,aM[2],0,1);
var aI=%_Call(z,aM[2],aO);
for(var af=1;af<aI.length;af++){
var aP=aI[af]
var aQ=%StringToLowerCase(aP);
aN=aN+aO+
((aQ!=='es'&&
aQ!=='of'&&aQ!=='au')?
toTitleCaseWord(aP):aQ);
}
}
return aN;
}
function canonicalizeLanguageTag(aR){
if(typeof aR!=='string'&&typeof aR!=='object'||
(aR===null)){
throw o(50);
}
var aS=l(aR);
if(isValidLanguageTag(aS)===false){
throw n(174,aS);
}
var aT=%CanonicalizeLanguageTag(aS);
if(aT==='invalid-tag'){
throw n(174,aS);
}
return aT;
}
function initializeLocaleList(Z){
var aU=[];
if((Z===(void 0))){
aU=[];
}else{
if(typeof Z==='string'){
%_Call(e,aU,canonicalizeLanguageTag(Z));
return freezeArray(aU);
}
var aV=(%_ToObject(Z));
var aW=((aV.length)>>>0);
for(var aX=0;aX<aW;aX++){
if(aX in aV){
var ao=aV[aX];
var aT=canonicalizeLanguageTag(ao);
if(%_Call(c,aU,aT)===-1){
%_Call(e,aU,aT);
}
}
}
}
return freezeArray(aU);
}
function isValidLanguageTag(ag){
if(!%_Call(t,GetLanguageTagRE(),ag)){
return false;
}
if(%_Call(v,ag,'x-')===0){
return true;
}
ag=%_Call(z,ag,/-x-/)[0];
var aY=[];
var aZ=[];
var aI=%_Call(z,ag,/-/);
for(var af=1;af<aI.length;af++){
var ao=aI[af];
if(%_Call(t,GetLanguageVariantRE(),ao)&&
aZ.length===0){
if(%_Call(c,aY,ao)===-1){
%_Call(e,aY,ao);
}else{
return false;
}
}
if(%_Call(t,GetLanguageSingletonRE(),ao)){
if(%_Call(c,aZ,ao)===-1){
%_Call(e,aZ,ao);
}else{
return false;
}
}
}
return true;
}
function BuildLanguageTagREs(){
var ba='[a-zA-Z]';
var bb='[0-9]';
var bc='('+ba+'|'+bb+')';
var bd='(art-lojban|cel-gaulish|no-bok|no-nyn|zh-guoyu|zh-hakka|'+
'zh-min|zh-min-nan|zh-xiang)';
var be='(en-GB-oed|i-ami|i-bnn|i-default|i-enochian|i-hak|'+
'i-klingon|i-lux|i-mingo|i-navajo|i-pwn|i-tao|i-tay|'+
'i-tsu|sgn-BE-FR|sgn-BE-NL|sgn-CH-DE)';
var bf='('+be+'|'+bd+')';
var bg='(x(-'+bc+'{1,8})+)';
var bh='('+bb+'|[A-WY-Za-wy-z])';
M=new k('^'+bh+'$','i');
var ar='('+bh+'(-'+bc+'{2,8})+)';
var bi='('+bc+'{5,8}|('+bb+bc+'{3}))';
L=new k('^'+bi+'$','i');
var bj='('+ba+'{2}|'+bb+'{3})';
var bk='('+ba+'{4})';
var bl='('+ba+'{3}(-'+ba+'{3}){0,2})';
var bm='('+ba+'{2,3}(-'+bl+')?|'+ba+'{4}|'+
ba+'{5,8})';
var bn=bm+'(-'+bk+')?(-'+bj+')?(-'+
bi+')*(-'+ar+')*(-'+bg+')?';
var bo=
'^('+bn+'|'+bg+'|'+bf+')$';
K=new k(bo,'i');
}
var bp={
get(){
%IncrementUseCounter(16);
return this[u];
},
set(ao){
this[u]=ao;
}
};
function initializeCollator(bq,Z,aa){
if(%IsInitializedIntlObject(bq)){
throw o(132,"Collator");
}
if((aa===(void 0))){
aa={};
}
var aj=getGetOption(aa,'collator');
var br={};
defineWEProperty(br,'usage',aj(
'usage','string',['sort','search'],'sort'));
var bs=aj('sensitivity','string',
['base','accent','case','variant']);
if((bs===(void 0))&&br.usage==='sort'){
bs='variant';
}
defineWEProperty(br,'sensitivity',bs);
defineWEProperty(br,'ignorePunctuation',aj(
'ignorePunctuation','boolean',(void 0),false));
var ag=resolveLocale('collator',Z,aa);
var at=parseExtension(ag.extension);
var bt={
'kn':{'property':'numeric','type':'boolean'},
'kf':{'property':'caseFirst','type':'string',
'values':['false','lower','upper']}
};
setOptions(
aa,at,bt,aj,br);
var bu='default';
var ar='';
if(%HasOwnProperty(at,'co')&&br.usage==='sort'){
var bv=[
'big5han','dict','direct','ducet','gb2312','phonebk','phonetic',
'pinyin','reformed','searchjl','stroke','trad','unihan','zhuyin'
];
if(%_Call(c,bv,at.co)!==-1){
ar='-u-co-'+at.co;
bu=at.co;
}
}else if(br.usage==='search'){
ar='-u-co-search';
}
defineWEProperty(br,'collation',bu);
var bw=ag.locale+ar;
var ap=q({},{
caseFirst:{writable:true},
collation:{value:br.collation,writable:true},
ignorePunctuation:{writable:true},
locale:{writable:true},
numeric:{writable:true},
requestedLocale:{value:bw,writable:true},
sensitivity:{writable:true},
strength:{writable:true},
usage:{value:br.usage,writable:true}
});
var bx=%CreateCollator(bw,
br,
ap);
%MarkAsInitializedIntlObjectOfType(bq,'collator',bx);
bq[u]=ap;
r(bq,'resolved',bp);
return bq;
}
%AddNamedProperty(D,'Collator',function(){
var Z=%_Arguments(0);
var aa=%_Arguments(1);
if(!this||this===D){
return new D.Collator(Z,aa);
}
return initializeCollator((%_ToObject(this)),Z,aa);
},
2
);
%AddNamedProperty(D.Collator.prototype,'resolvedOptions',function(){
if(!(new.target===(void 0))){
throw o(87);
}
if(!%IsInitializedIntlObjectOfType(this,'collator')){
throw o(133,"Collator");
}
var by=this;
var ag=getOptimalLanguageTag(by[u].requestedLocale,
by[u].locale);
return{
locale:ag,
usage:by[u].usage,
sensitivity:by[u].sensitivity,
ignorePunctuation:by[u].ignorePunctuation,
numeric:by[u].numeric,
caseFirst:by[u].caseFirst,
collation:by[u].collation
};
},
2
);
%FunctionSetName(D.Collator.prototype.resolvedOptions,'resolvedOptions');
%FunctionRemovePrototype(D.Collator.prototype.resolvedOptions);
%SetNativeFlag(D.Collator.prototype.resolvedOptions);
%AddNamedProperty(D.Collator,'supportedLocalesOf',function(Z){
if(!(new.target===(void 0))){
throw o(87);
}
return supportedLocalesOf('collator',Z,%_Arguments(1));
},
2
);
%FunctionSetName(D.Collator.supportedLocalesOf,'supportedLocalesOf');
%FunctionRemovePrototype(D.Collator.supportedLocalesOf);
%SetNativeFlag(D.Collator.supportedLocalesOf);
function compare(bq,W,X){
return %InternalCompare(%GetImplFromInitializedIntlObject(bq),
l(W),l(X));
};
addBoundMethod(D.Collator,'compare',compare,2);
function isWellFormedCurrencyCode(bz){
return typeof bz=="string"&&
bz.length==3&&
%_Call(x,bz,/[^A-Za-z]/)==null;
}
function getNumberOption(aa,ak,bA,bB,bC){
var ao=aa[ak];
if(!(ao===(void 0))){
ao=j(ao);
if(g(ao)||ao<bA||ao>bB){
throw n(186,ak);
}
return p(ao);
}
return bC;
}
var bD={
get(){
%IncrementUseCounter(15);
return this[s];
},
set(ao){
this[s]=ao;
}
};
function initializeNumberFormat(bE,Z,aa){
if(%IsInitializedIntlObject(bE)){
throw o(132,"NumberFormat");
}
if((aa===(void 0))){
aa={};
}
var aj=getGetOption(aa,'numberformat');
var ag=resolveLocale('numberformat',Z,aa);
var br={};
defineWEProperty(br,'style',aj(
'style','string',['decimal','percent','currency'],'decimal'));
var bz=aj('currency','string');
if(!(bz===(void 0))&&!isWellFormedCurrencyCode(bz)){
throw n(169,bz);
}
if(br.style==='currency'&&(bz===(void 0))){
throw o(28);
}
var bF=aj(
'currencyDisplay','string',['code','symbol','name'],'symbol');
if(br.style==='currency'){
defineWEProperty(br,'currency',%StringToUpperCase(bz));
defineWEProperty(br,'currencyDisplay',bF);
}
var bG=getNumberOption(aa,'minimumIntegerDigits',1,21,1);
defineWEProperty(br,'minimumIntegerDigits',bG);
var bH=aa['minimumFractionDigits'];
var bI=aa['maximumFractionDigits'];
if(!(bH===(void 0))||br.style!=='currency'){
bH=getNumberOption(aa,'minimumFractionDigits',0,20,0);
defineWEProperty(br,'minimumFractionDigits',bH);
}
if(!(bI===(void 0))||br.style!=='currency'){
var bJ=br.style==='percent'?0:3;
bH=(bH===(void 0))?0:bH;
var bK=(bH>bJ)?bH:bJ;
bI=getNumberOption(aa,'maximumFractionDigits',bH,20,bK);
defineWEProperty(br,'maximumFractionDigits',bI);
}
var bL=aa['minimumSignificantDigits'];
var bM=aa['maximumSignificantDigits'];
if(!(bL===(void 0))||!(bM===(void 0))){
bL=getNumberOption(aa,'minimumSignificantDigits',1,21,0);
defineWEProperty(br,'minimumSignificantDigits',bL);
bM=getNumberOption(aa,'maximumSignificantDigits',bL,21,21);
defineWEProperty(br,'maximumSignificantDigits',bM);
}
defineWEProperty(br,'useGrouping',aj(
'useGrouping','boolean',(void 0),true));
var at=parseExtension(ag.extension);
var bN={
'nu':{'property':(void 0),'type':'string'}
};
var ar=setOptions(aa,at,bN,
aj,br);
var bw=ag.locale+ar;
var ap=q({},{
currency:{writable:true},
currencyDisplay:{writable:true},
locale:{writable:true},
maximumFractionDigits:{writable:true},
minimumFractionDigits:{writable:true},
minimumIntegerDigits:{writable:true},
numberingSystem:{writable:true},
pattern:bD,
requestedLocale:{value:bw,writable:true},
style:{value:br.style,writable:true},
useGrouping:{writable:true}
});
if(%HasOwnProperty(br,'minimumSignificantDigits')){
defineWEProperty(ap,'minimumSignificantDigits',(void 0));
}
if(%HasOwnProperty(br,'maximumSignificantDigits')){
defineWEProperty(ap,'maximumSignificantDigits',(void 0));
}
var bO=%CreateNumberFormat(bw,
br,
ap);
if(br.style==='currency'){
r(ap,'currencyDisplay',{value:bF,
writable:true});
}
%MarkAsInitializedIntlObjectOfType(bE,'numberformat',bO);
bE[u]=ap;
r(bE,'resolved',bp);
return bE;
}
%AddNamedProperty(D,'NumberFormat',function(){
var Z=%_Arguments(0);
var aa=%_Arguments(1);
if(!this||this===D){
return new D.NumberFormat(Z,aa);
}
return initializeNumberFormat((%_ToObject(this)),Z,aa);
},
2
);
%AddNamedProperty(D.NumberFormat.prototype,'resolvedOptions',function(){
if(!(new.target===(void 0))){
throw o(87);
}
if(!%IsInitializedIntlObjectOfType(this,'numberformat')){
throw o(133,"NumberFormat");
}
var bP=this;
var ag=getOptimalLanguageTag(bP[u].requestedLocale,
bP[u].locale);
var aN={
locale:ag,
numberingSystem:bP[u].numberingSystem,
style:bP[u].style,
useGrouping:bP[u].useGrouping,
minimumIntegerDigits:bP[u].minimumIntegerDigits,
minimumFractionDigits:bP[u].minimumFractionDigits,
maximumFractionDigits:bP[u].maximumFractionDigits,
};
if(aN.style==='currency'){
defineWECProperty(aN,'currency',bP[u].currency);
defineWECProperty(aN,'currencyDisplay',
bP[u].currencyDisplay);
}
if(%HasOwnProperty(bP[u],'minimumSignificantDigits')){
defineWECProperty(aN,'minimumSignificantDigits',
bP[u].minimumSignificantDigits);
}
if(%HasOwnProperty(bP[u],'maximumSignificantDigits')){
defineWECProperty(aN,'maximumSignificantDigits',
bP[u].maximumSignificantDigits);
}
return aN;
},
2
);
%FunctionSetName(D.NumberFormat.prototype.resolvedOptions,
'resolvedOptions');
%FunctionRemovePrototype(D.NumberFormat.prototype.resolvedOptions);
%SetNativeFlag(D.NumberFormat.prototype.resolvedOptions);
%AddNamedProperty(D.NumberFormat,'supportedLocalesOf',function(Z){
if(!(new.target===(void 0))){
throw o(87);
}
return supportedLocalesOf('numberformat',Z,%_Arguments(1));
},
2
);
%FunctionSetName(D.NumberFormat.supportedLocalesOf,'supportedLocalesOf');
%FunctionRemovePrototype(D.NumberFormat.supportedLocalesOf);
%SetNativeFlag(D.NumberFormat.supportedLocalesOf);
function formatNumber(bO,ao){
var bQ=(%_ToNumber(ao))+0;
return %InternalNumberFormat(%GetImplFromInitializedIntlObject(bO),
bQ);
}
function parseNumber(bO,ao){
return %InternalNumberParse(%GetImplFromInitializedIntlObject(bO),
l(ao));
}
addBoundMethod(D.NumberFormat,'format',formatNumber,1);
addBoundMethod(D.NumberFormat,'v8Parse',parseNumber,1);
function toLDMLString(aa){
var aj=getGetOption(aa,'dateformat');
var bR='';
var bS=aj('weekday','string',['narrow','short','long']);
bR+=appendToLDMLString(
bS,{narrow:'EEEEE',short:'EEE',long:'EEEE'});
bS=aj('era','string',['narrow','short','long']);
bR+=appendToLDMLString(
bS,{narrow:'GGGGG',short:'GGG',long:'GGGG'});
bS=aj('year','string',['2-digit','numeric']);
bR+=appendToLDMLString(bS,{'2-digit':'yy','numeric':'y'});
bS=aj('month','string',
['2-digit','numeric','narrow','short','long']);
bR+=appendToLDMLString(bS,{'2-digit':'MM','numeric':'M',
'narrow':'MMMMM','short':'MMM','long':'MMMM'});
bS=aj('day','string',['2-digit','numeric']);
bR+=appendToLDMLString(
bS,{'2-digit':'dd','numeric':'d'});
var bT=aj('hour12','boolean');
bS=aj('hour','string',['2-digit','numeric']);
if((bT===(void 0))){
bR+=appendToLDMLString(bS,{'2-digit':'jj','numeric':'j'});
}else if(bT===true){
bR+=appendToLDMLString(bS,{'2-digit':'hh','numeric':'h'});
}else{
bR+=appendToLDMLString(bS,{'2-digit':'HH','numeric':'H'});
}
bS=aj('minute','string',['2-digit','numeric']);
bR+=appendToLDMLString(bS,{'2-digit':'mm','numeric':'m'});
bS=aj('second','string',['2-digit','numeric']);
bR+=appendToLDMLString(bS,{'2-digit':'ss','numeric':'s'});
bS=aj('timeZoneName','string',['short','long']);
bR+=appendToLDMLString(bS,{short:'z',long:'zzzz'});
return bR;
}
function appendToLDMLString(bS,bU){
if(!(bS===(void 0))){
return bU[bS];
}else{
return'';
}
}
function fromLDMLString(bR){
bR=%_Call(y,bR,GetQuotedStringRE(),'');
var aa={};
var aM=%_Call(x,bR,/E{3,5}/g);
aa=appendToDateTimeObject(
aa,'weekday',aM,{EEEEE:'narrow',EEE:'short',EEEE:'long'});
aM=%_Call(x,bR,/G{3,5}/g);
aa=appendToDateTimeObject(
aa,'era',aM,{GGGGG:'narrow',GGG:'short',GGGG:'long'});
aM=%_Call(x,bR,/y{1,2}/g);
aa=appendToDateTimeObject(
aa,'year',aM,{y:'numeric',yy:'2-digit'});
aM=%_Call(x,bR,/M{1,5}/g);
aa=appendToDateTimeObject(aa,'month',aM,{MM:'2-digit',
M:'numeric',MMMMM:'narrow',MMM:'short',MMMM:'long'});
aM=%_Call(x,bR,/L{1,5}/g);
aa=appendToDateTimeObject(aa,'month',aM,{LL:'2-digit',
L:'numeric',LLLLL:'narrow',LLL:'short',LLLL:'long'});
aM=%_Call(x,bR,/d{1,2}/g);
aa=appendToDateTimeObject(
aa,'day',aM,{d:'numeric',dd:'2-digit'});
aM=%_Call(x,bR,/h{1,2}/g);
if(aM!==null){
aa['hour12']=true;
}
aa=appendToDateTimeObject(
aa,'hour',aM,{h:'numeric',hh:'2-digit'});
aM=%_Call(x,bR,/H{1,2}/g);
if(aM!==null){
aa['hour12']=false;
}
aa=appendToDateTimeObject(
aa,'hour',aM,{H:'numeric',HH:'2-digit'});
aM=%_Call(x,bR,/m{1,2}/g);
aa=appendToDateTimeObject(
aa,'minute',aM,{m:'numeric',mm:'2-digit'});
aM=%_Call(x,bR,/s{1,2}/g);
aa=appendToDateTimeObject(
aa,'second',aM,{s:'numeric',ss:'2-digit'});
aM=%_Call(x,bR,/z|zzzz/g);
aa=appendToDateTimeObject(
aa,'timeZoneName',aM,{z:'short',zzzz:'long'});
return aa;
}
function appendToDateTimeObject(aa,bS,aM,bU){
if((aM===null)){
if(!%HasOwnProperty(aa,bS)){
defineWEProperty(aa,bS,(void 0));
}
return aa;
}
var ak=aM[0];
defineWEProperty(aa,bS,bU[ak]);
return aa;
}
function toDateTimeOptions(aa,bV,bW){
if((aa===(void 0))){
aa={};
}else{
aa=(%_ToObject(aa));
}
var bX=true;
if((bV==='date'||bV==='any')&&
(!(aa.weekday===(void 0))||!(aa.year===(void 0))||
!(aa.month===(void 0))||!(aa.day===(void 0)))){
bX=false;
}
if((bV==='time'||bV==='any')&&
(!(aa.hour===(void 0))||!(aa.minute===(void 0))||
!(aa.second===(void 0)))){
bX=false;
}
if(bX&&(bW==='date'||bW==='all')){
r(aa,'year',{value:'numeric',
writable:true,
enumerable:true,
configurable:true});
r(aa,'month',{value:'numeric',
writable:true,
enumerable:true,
configurable:true});
r(aa,'day',{value:'numeric',
writable:true,
enumerable:true,
configurable:true});
}
if(bX&&(bW==='time'||bW==='all')){
r(aa,'hour',{value:'numeric',
writable:true,
enumerable:true,
configurable:true});
r(aa,'minute',{value:'numeric',
writable:true,
enumerable:true,
configurable:true});
r(aa,'second',{value:'numeric',
writable:true,
enumerable:true,
configurable:true});
}
return aa;
}
function initializeDateTimeFormat(bY,Z,aa){
if(%IsInitializedIntlObject(bY)){
throw o(132,"DateTimeFormat");
}
if((aa===(void 0))){
aa={};
}
var ag=resolveLocale('dateformat',Z,aa);
aa=toDateTimeOptions(aa,'any','date');
var aj=getGetOption(aa,'dateformat');
var ab=aj('formatMatcher','string',
['basic','best fit'],'best fit');
var bR=toLDMLString(aa);
var bZ=canonicalizeTimeZoneID(aa.timeZone);
var br={};
var at=parseExtension(ag.extension);
var ca={
'ca':{'property':(void 0),'type':'string'},
'nu':{'property':(void 0),'type':'string'}
};
var ar=setOptions(aa,at,ca,
aj,br);
var bw=ag.locale+ar;
var ap=q({},{
calendar:{writable:true},
day:{writable:true},
era:{writable:true},
hour12:{writable:true},
hour:{writable:true},
locale:{writable:true},
minute:{writable:true},
month:{writable:true},
numberingSystem:{writable:true},
[s]:{writable:true},
pattern:bD,
requestedLocale:{value:bw,writable:true},
second:{writable:true},
timeZone:{writable:true},
timeZoneName:{writable:true},
tz:{value:bZ,writable:true},
weekday:{writable:true},
year:{writable:true}
});
var bO=%CreateDateTimeFormat(
bw,{skeleton:bR,timeZone:bZ},ap);
if(ap.timeZone==="Etc/Unknown"){
throw n(192,bZ);
}
%MarkAsInitializedIntlObjectOfType(bY,'dateformat',bO);
bY[u]=ap;
r(bY,'resolved',bp);
return bY;
}
%AddNamedProperty(D,'DateTimeFormat',function(){
var Z=%_Arguments(0);
var aa=%_Arguments(1);
if(!this||this===D){
return new D.DateTimeFormat(Z,aa);
}
return initializeDateTimeFormat((%_ToObject(this)),Z,aa);
},
2
);
%AddNamedProperty(D.DateTimeFormat.prototype,'resolvedOptions',function(){
if(!(new.target===(void 0))){
throw o(87);
}
if(!%IsInitializedIntlObjectOfType(this,'dateformat')){
throw o(133,"DateTimeFormat");
}
var cb={
'gregorian':'gregory',
'japanese':'japanese',
'buddhist':'buddhist',
'roc':'roc',
'persian':'persian',
'islamic-civil':'islamicc',
'islamic':'islamic',
'hebrew':'hebrew',
'chinese':'chinese',
'indian':'indian',
'coptic':'coptic',
'ethiopic':'ethiopic',
'ethiopic-amete-alem':'ethioaa'
};
var bP=this;
var cc=fromLDMLString(bP[u][s]);
var cd=cb[bP[u].calendar];
if((cd===(void 0))){
cd=bP[u].calendar;
}
var ag=getOptimalLanguageTag(bP[u].requestedLocale,
bP[u].locale);
var aN={
locale:ag,
numberingSystem:bP[u].numberingSystem,
calendar:cd,
timeZone:bP[u].timeZone
};
addWECPropertyIfDefined(aN,'timeZoneName',cc.timeZoneName);
addWECPropertyIfDefined(aN,'era',cc.era);
addWECPropertyIfDefined(aN,'year',cc.year);
addWECPropertyIfDefined(aN,'month',cc.month);
addWECPropertyIfDefined(aN,'day',cc.day);
addWECPropertyIfDefined(aN,'weekday',cc.weekday);
addWECPropertyIfDefined(aN,'hour12',cc.hour12);
addWECPropertyIfDefined(aN,'hour',cc.hour);
addWECPropertyIfDefined(aN,'minute',cc.minute);
addWECPropertyIfDefined(aN,'second',cc.second);
return aN;
},
2
);
%FunctionSetName(D.DateTimeFormat.prototype.resolvedOptions,
'resolvedOptions');
%FunctionRemovePrototype(D.DateTimeFormat.prototype.resolvedOptions);
%SetNativeFlag(D.DateTimeFormat.prototype.resolvedOptions);
%AddNamedProperty(D.DateTimeFormat,'supportedLocalesOf',function(Z){
if(!(new.target===(void 0))){
throw o(87);
}
return supportedLocalesOf('dateformat',Z,%_Arguments(1));
},
2
);
%FunctionSetName(D.DateTimeFormat.supportedLocalesOf,'supportedLocalesOf');
%FunctionRemovePrototype(D.DateTimeFormat.supportedLocalesOf);
%SetNativeFlag(D.DateTimeFormat.supportedLocalesOf);
function formatDate(bO,ce){
var cf;
if((ce===(void 0))){
cf=%DateCurrentTime();
}else{
cf=(%_ToNumber(ce));
}
if(!f(cf))throw n(161);
return %InternalDateFormat(%GetImplFromInitializedIntlObject(bO),
new i(cf));
}
function parseDate(bO,ao){
return %InternalDateParse(%GetImplFromInitializedIntlObject(bO),
l(ao));
}
addBoundMethod(D.DateTimeFormat,'format',formatDate,0);
addBoundMethod(D.DateTimeFormat,'v8Parse',parseDate,1);
function canonicalizeTimeZoneID(cg){
if((cg===(void 0))){
return cg;
}
var ch=%StringToUpperCase(cg);
if(ch==='UTC'||ch==='GMT'||
ch==='ETC/UTC'||ch==='ETC/GMT'){
return'UTC';
}
var aM=%_Call(x,cg,GetTimezoneNameCheckRE());
if((aM===null))throw n(162,cg);
var aN=toTitleCaseTimezoneLocation(aM[1])+'/'+
toTitleCaseTimezoneLocation(aM[2]);
if(!(aM[3]===(void 0))&&3<aM.length){
var ci=%_Call(z,aM[3],'/');
for(var af=1;af<ci.length;af++){
aN=aN+'/'+toTitleCaseTimezoneLocation(ci[af]);
}
}
return aN;
}
function initializeBreakIterator(cj,Z,aa){
if(%IsInitializedIntlObject(cj)){
throw o(132,"v8BreakIterator");
}
if((aa===(void 0))){
aa={};
}
var aj=getGetOption(aa,'breakiterator');
var br={};
defineWEProperty(br,'type',aj(
'type','string',['character','word','sentence','line'],'word'));
var ag=resolveLocale('breakiterator',Z,aa);
var ap=q({},{
requestedLocale:{value:ag.locale,writable:true},
type:{value:br.type,writable:true},
locale:{writable:true}
});
var ck=%CreateBreakIterator(ag.locale,
br,
ap);
%MarkAsInitializedIntlObjectOfType(cj,'breakiterator',
ck);
cj[u]=ap;
r(cj,'resolved',bp);
return cj;
}
%AddNamedProperty(D,'v8BreakIterator',function(){
var Z=%_Arguments(0);
var aa=%_Arguments(1);
if(!this||this===D){
return new D.v8BreakIterator(Z,aa);
}
return initializeBreakIterator((%_ToObject(this)),Z,aa);
},
2
);
%AddNamedProperty(D.v8BreakIterator.prototype,'resolvedOptions',
function(){
if(!(new.target===(void 0))){
throw o(87);
}
if(!%IsInitializedIntlObjectOfType(this,'breakiterator')){
throw o(133,"v8BreakIterator");
}
var cl=this;
var ag=
getOptimalLanguageTag(cl[u].requestedLocale,
cl[u].locale);
return{
locale:ag,
type:cl[u].type
};
},
2
);
%FunctionSetName(D.v8BreakIterator.prototype.resolvedOptions,
'resolvedOptions');
%FunctionRemovePrototype(D.v8BreakIterator.prototype.resolvedOptions);
%SetNativeFlag(D.v8BreakIterator.prototype.resolvedOptions);
%AddNamedProperty(D.v8BreakIterator,'supportedLocalesOf',
function(Z){
if(!(new.target===(void 0))){
throw o(87);
}
return supportedLocalesOf('breakiterator',Z,%_Arguments(1));
},
2
);
%FunctionSetName(D.v8BreakIterator.supportedLocalesOf,'supportedLocalesOf');
%FunctionRemovePrototype(D.v8BreakIterator.supportedLocalesOf);
%SetNativeFlag(D.v8BreakIterator.supportedLocalesOf);
function adoptText(cj,cm){
%BreakIteratorAdoptText(%GetImplFromInitializedIntlObject(cj),
l(cm));
}
function first(cj){
return %BreakIteratorFirst(%GetImplFromInitializedIntlObject(cj));
}
function next(cj){
return %BreakIteratorNext(%GetImplFromInitializedIntlObject(cj));
}
function current(cj){
return %BreakIteratorCurrent(%GetImplFromInitializedIntlObject(cj));
}
function breakType(cj){
return %BreakIteratorBreakType(%GetImplFromInitializedIntlObject(cj));
}
addBoundMethod(D.v8BreakIterator,'adoptText',adoptText,1);
addBoundMethod(D.v8BreakIterator,'first',first,0);
addBoundMethod(D.v8BreakIterator,'next',next,0);
addBoundMethod(D.v8BreakIterator,'current',current,0);
addBoundMethod(D.v8BreakIterator,'breakType',breakType,0);
var cn={
'collator':D.Collator,
'numberformat':D.NumberFormat,
'dateformatall':D.DateTimeFormat,
'dateformatdate':D.DateTimeFormat,
'dateformattime':D.DateTimeFormat
};
var co={
'collator':(void 0),
'numberformat':(void 0),
'dateformatall':(void 0),
'dateformatdate':(void 0),
'dateformattime':(void 0),
};
function cachedOrNewService(Y,Z,aa,bW){
var cp=((bW===(void 0)))?aa:bW;
if((Z===(void 0))&&(aa===(void 0))){
if((co[Y]===(void 0))){
co[Y]=new cn[Y](Z,cp);
}
return co[Y];
}
return new cn[Y](Z,cp);
}
function OverrideFunction(aJ,cq,cr){
%CheckIsBootstrapping();
r(aJ,cq,{value:cr,
writeable:true,
configurable:true,
enumerable:false});
%FunctionSetName(cr,cq);
%FunctionRemovePrototype(cr);
%SetNativeFlag(cr);
}
OverrideFunction(l.prototype,'localeCompare',function(U){
if(!(new.target===(void 0))){
throw o(87);
}
if((this==null)){
throw o(52);
}
var Z=%_Arguments(1);
var aa=%_Arguments(2);
var bq=cachedOrNewService('collator',Z,aa);
return compare(bq,this,U);
}
);
OverrideFunction(l.prototype,'normalize',function(){
if(!(new.target===(void 0))){
throw o(87);
}
if((%IS_VAR(this)===null)||(this===(void 0)))throw o(17,"String.prototype.normalize");
var cs=(%_ToString(this));
var ct=%_Arguments(0);
var cu=(ct===(void 0))?'NFC':(%_ToString(ct));
var cv=['NFC','NFD','NFKC','NFKD'];
var cw=%_Call(c,cv,cu);
if(cw===-1){
throw n(184,
%_Call(d,cv,', '));
}
return %StringNormalize(cs,cw);
}
);
OverrideFunction(j.prototype,'toLocaleString',function(){
if(!(new.target===(void 0))){
throw o(87);
}
if(!(this instanceof j)&&typeof(this)!=='number'){
throw o(53,"Number");
}
var Z=%_Arguments(0);
var aa=%_Arguments(1);
var bE=cachedOrNewService('numberformat',Z,aa);
return formatNumber(bE,this);
}
);
function toLocaleDateTime(cx,Z,aa,bV,bW,Y){
if(!(cx instanceof i)){
throw o(53,"Date");
}
if(g(cx))return'Invalid Date';
var br=toDateTimeOptions(aa,bV,bW);
var bY=
cachedOrNewService(Y,Z,aa,br);
return formatDate(bY,cx);
}
OverrideFunction(i.prototype,'toLocaleString',function(){
if(!(new.target===(void 0))){
throw o(87);
}
var Z=%_Arguments(0);
var aa=%_Arguments(1);
return toLocaleDateTime(
this,Z,aa,'any','all','dateformatall');
}
);
OverrideFunction(i.prototype,'toLocaleDateString',function(){
if(!(new.target===(void 0))){
throw o(87);
}
var Z=%_Arguments(0);
var aa=%_Arguments(1);
return toLocaleDateTime(
this,Z,aa,'date','date','dateformatdate');
}
);
OverrideFunction(i.prototype,'toLocaleTimeString',function(){
if(!(new.target===(void 0))){
throw o(87);
}
var Z=%_Arguments(0);
var aa=%_Arguments(1);
return toLocaleDateTime(
this,Z,aa,'time','time','dateformattime');
}
);
})

,proxy		
(function(a,b){
"use strict";
%CheckIsBootstrapping();
var c=a.Proxy;
var d;
b.Import(function(e){
d=e.MakeTypeError;
});
function ProxyCreateRevocable(f,g){
var h=new c(f,g);
return{proxy:h,revoke:()=>%JSProxyRevoke(h)};
}
function ProxyEnumerate(i,g,f){
var j=%_Call(i,g,f);
if(!(%_IsJSReceiver(j))){
throw d(99);
}
var k=[];
for(var l=j.next();!l.done;l=j.next()){
var m=l.value;
if(!(typeof(m)==='string')){
throw d(100);
}
k.push(m);
}
return k;
}
b.InstallFunctions(c,2,[
"revocable",ProxyCreateRevocable
]);
%InstallToContext([
"proxy_enumerate",ProxyEnumerate,
]);
})

$generator­
(function(a,b){
"use strict";
%CheckIsBootstrapping();
var c=b.ImportNow("GeneratorFunctionPrototype");
var d=b.ImportNow("GeneratorFunction");
var e=a.Function;
var f;
var g=b.ImportNow("to_string_tag_symbol");
b.Import(function(h){
f=h.MakeTypeError;
});
function GeneratorObjectNext(i){
if(!(%_ClassOf(this)==='Generator')){
throw f(42,
'[Generator].prototype.next',this);
}
var j=%GeneratorGetContinuation(this);
if(j>0){
if(%_DebugIsActive()!=0)%DebugPrepareStepInIfStepping(this);
try{
return %_GeneratorNext(this,i);
}catch(e){
%GeneratorClose(this);
throw e;
}
}else if(j==0){
return{value:void 0,done:true};
}else{
throw f(40);
}
}
function GeneratorObjectThrow(k){
if(!(%_ClassOf(this)==='Generator')){
throw f(42,
'[Generator].prototype.throw',this);
}
var j=%GeneratorGetContinuation(this);
if(j>0){
try{
return %_GeneratorThrow(this,k);
}catch(e){
%GeneratorClose(this);
throw e;
}
}else if(j==0){
throw k;
}else{
throw f(40);
}
}
%NeverOptimizeFunction(GeneratorObjectNext);
%NeverOptimizeFunction(GeneratorObjectThrow);
var l=c.prototype;
b.InstallFunctions(l,
2,
["next",GeneratorObjectNext,
"throw",GeneratorObjectThrow]);
%AddNamedProperty(l,"constructor",
c,2|1);
%AddNamedProperty(l,
g,"Generator",2|1);
%InternalSetPrototype(c,e.prototype);
%AddNamedProperty(c,
g,"GeneratorFunction",2|1);
%AddNamedProperty(c,"constructor",
d,2|1);
%InternalSetPrototype(d,e);
})

<harmony-atomicsM:
(function(a,b){
"use strict";
%CheckIsBootstrapping();
var c=a.Object;
var d;
var e;
var f=b.ImportNow("to_string_tag_symbol");
b.Import(function(g){
d=g.MakeTypeError;
e=g.MaxSimple;
});
function CheckSharedIntegerTypedArray(h){
if(!%IsSharedIntegerTypedArray(h)){
throw d(70,h);
}
}
function CheckSharedInteger32TypedArray(h){
CheckSharedIntegerTypedArray(h);
if(!%IsSharedInteger32TypedArray(h)){
throw d(71,h);
}
}
function AtomicsCompareExchangeJS(i,j,k,l){
CheckSharedIntegerTypedArray(i);
j=(%_ToInteger(j));
if(j<0||j>=%_TypedArrayGetLength(i)){
return(void 0);
}
k=(%_ToNumber(k));
l=(%_ToNumber(l));
return %_AtomicsCompareExchange(i,j,k,l);
}
function AtomicsLoadJS(i,j){
CheckSharedIntegerTypedArray(i);
j=(%_ToInteger(j));
if(j<0||j>=%_TypedArrayGetLength(i)){
return(void 0);
}
return %_AtomicsLoad(i,j);
}
function AtomicsStoreJS(i,j,m){
CheckSharedIntegerTypedArray(i);
j=(%_ToInteger(j));
if(j<0||j>=%_TypedArrayGetLength(i)){
return(void 0);
}
m=(%_ToNumber(m));
return %_AtomicsStore(i,j,m);
}
function AtomicsAddJS(h,j,m){
CheckSharedIntegerTypedArray(h);
j=(%_ToInteger(j));
if(j<0||j>=%_TypedArrayGetLength(h)){
return(void 0);
}
m=(%_ToNumber(m));
return %_AtomicsAdd(h,j,m);
}
function AtomicsSubJS(h,j,m){
CheckSharedIntegerTypedArray(h);
j=(%_ToInteger(j));
if(j<0||j>=%_TypedArrayGetLength(h)){
return(void 0);
}
m=(%_ToNumber(m));
return %_AtomicsSub(h,j,m);
}
function AtomicsAndJS(h,j,m){
CheckSharedIntegerTypedArray(h);
j=(%_ToInteger(j));
if(j<0||j>=%_TypedArrayGetLength(h)){
return(void 0);
}
m=(%_ToNumber(m));
return %_AtomicsAnd(h,j,m);
}
function AtomicsOrJS(h,j,m){
CheckSharedIntegerTypedArray(h);
j=(%_ToInteger(j));
if(j<0||j>=%_TypedArrayGetLength(h)){
return(void 0);
}
m=(%_ToNumber(m));
return %_AtomicsOr(h,j,m);
}
function AtomicsXorJS(h,j,m){
CheckSharedIntegerTypedArray(h);
j=(%_ToInteger(j));
if(j<0||j>=%_TypedArrayGetLength(h)){
return(void 0);
}
m=(%_ToNumber(m));
return %_AtomicsXor(h,j,m);
}
function AtomicsExchangeJS(h,j,m){
CheckSharedIntegerTypedArray(h);
j=(%_ToInteger(j));
if(j<0||j>=%_TypedArrayGetLength(h)){
return(void 0);
}
m=(%_ToNumber(m));
return %_AtomicsExchange(h,j,m);
}
function AtomicsIsLockFreeJS(n){
return %_AtomicsIsLockFree(n);
}
function AtomicsFutexWaitJS(h,j,m,o){
CheckSharedInteger32TypedArray(h);
j=(%_ToInteger(j));
if(j<0||j>=%_TypedArrayGetLength(h)){
return(void 0);
}
if((o===(void 0))){
o=(1/0);
}else{
o=(%_ToNumber(o));
if((!%_IsSmi(%IS_VAR(o))&&!(o==o))){
o=(1/0);
}else{
o=e(0,o);
}
}
return %AtomicsFutexWait(h,j,m,o);
}
function AtomicsFutexWakeJS(h,j,p){
CheckSharedInteger32TypedArray(h);
j=(%_ToInteger(j));
if(j<0||j>=%_TypedArrayGetLength(h)){
return(void 0);
}
p=e(0,(%_ToInteger(p)));
return %AtomicsFutexWake(h,j,p);
}
function AtomicsFutexWakeOrRequeueJS(h,q,p,m,r){
CheckSharedInteger32TypedArray(h);
q=(%_ToInteger(q));
p=e(0,(%_ToInteger(p)));
m=((m)|0);
r=(%_ToInteger(r));
if(q<0||q>=%_TypedArrayGetLength(h)||
r<0||r>=%_TypedArrayGetLength(h)){
return(void 0);
}
return %AtomicsFutexWakeOrRequeue(h,q,p,m,r);
}
function AtomicsConstructor(){}
var s=new AtomicsConstructor();
%InternalSetPrototype(s,c.prototype);
%AddNamedProperty(a,"Atomics",s,2);
%FunctionSetInstanceClassName(AtomicsConstructor,'Atomics');
%AddNamedProperty(s,f,"Atomics",1|2);
b.InstallConstants(s,[
"OK",0,
"NOTEQUAL",-1,
"TIMEDOUT",-2,
]);
b.InstallFunctions(s,2,[
"compareExchange",AtomicsCompareExchangeJS,
"load",AtomicsLoadJS,
"store",AtomicsStoreJS,
"add",AtomicsAddJS,
"sub",AtomicsSubJS,
"and",AtomicsAndJS,
"or",AtomicsOrJS,
"xor",AtomicsXorJS,
"exchange",AtomicsExchangeJS,
"isLockFree",AtomicsIsLockFreeJS,
"futexWait",AtomicsFutexWaitJS,
"futexWake",AtomicsFutexWakeJS,
"futexWakeOrRequeue",AtomicsFutexWakeOrRequeueJS,
]);
})

8harmony-regexp%
(function(a,b){
'use strict';
%CheckIsBootstrapping();
var c=a.RegExp;
var d=c.prototype;
var e;
var f=b.ImportNow("regexp_flags_symbol");
b.Import(function(g){
e=g.MakeTypeError;
});
function RegExpGetFlags(){
if(!(%_IsJSReceiver(this))){
throw e(
130,"RegExp.prototype.flags",(%_ToString(this)));
}
var h='';
if(this.global)h+='g';
if(this.ignoreCase)h+='i';
if(this.multiline)h+='m';
if(this.unicode)h+='u';
if(this.sticky)h+='y';
return h;
}
function RegExpGetSticky(){
if(!(%_IsRegExp(this))){
if(this===d){
%IncrementUseCounter(11);
return(void 0);
}
throw e(131,"RegExp.prototype.sticky");
}
return!!(%_RegExpFlags(this)&8);
}
%FunctionSetName(RegExpGetSticky,"RegExp.prototype.sticky");
%SetNativeFlag(RegExpGetSticky);
b.InstallGetter(c.prototype,'flags',RegExpGetFlags);
b.InstallGetter(c.prototype,'sticky',RegExpGetSticky);
})

<harmony-reflect¥
(function(a,b){
'use strict';
%CheckIsBootstrapping();
var c=a.Reflect;
var d;
var e=b.ImportNow("reflect_apply");
var f=b.ImportNow("reflect_construct");
b.Import(function(g){
d=g.MakeTypeError;
});
function ReflectEnumerate(h){
if(!(%_IsJSReceiver(h)))
throw d(16,"Reflect.enumerate")
return(function*(){for(var i in h)yield i})();
}
b.InstallFunctions(c,2,[
"apply",e,
"construct",f,
"enumerate",ReflectEnumerate
]);
})

Xharmony-object-observeU
(function(a,b){
"use strict";
%CheckIsBootstrapping();
var c=b.ImportNow("ObserveArrayMethods");
var d=b.ImportNow("ObserveObjectMethods");;
b.InstallFunctions(a.Object,2,d);
b.InstallFunctions(a.Array,2,c);
})

dharmony-sharedarraybufferE
(function(a,b){
"use strict";
%CheckIsBootstrapping();
var c=a.SharedArrayBuffer;
var d;
b.Import(function(e){
d=e.MakeTypeError;
})
function SharedArrayBufferGetByteLen(){
if(!(%_ClassOf(this)==='SharedArrayBuffer')){
throw d(42,
'SharedArrayBuffer.prototype.byteLength',this);
}
return %_ArrayBufferGetByteLength(this);
}
b.InstallGetter(c.prototype,"byteLength",
SharedArrayBufferGetByteLen);
})

0harmony-simd–²
(function(a,b){
"use strict";
%CheckIsBootstrapping();
var c=a.SIMD;
var d;
var e=b.ImportNow("to_string_tag_symbol");
b.Import(function(f){
d=f.MakeTypeError;
});
var g=c.Float32x4;


var h=c.Int32x4;

var i=c.Int16x8;

var j=c.Int8x16;


var k=c.Uint32x4;

var l=c.Uint16x8;

var m=c.Uint8x16;


var n=c.Bool32x4;

var o=c.Bool16x8;

var p=c.Bool8x16;



function Float32x4CheckJS(q){
return %Float32x4Check(q);
}
function Float32x4ToString(){
var r=%_ValueOf(this);
if(typeof(r)!=='float32x4'){
throw d(42,
"Float32x4.prototype.toString",this);
}
var s="SIMD.Float32x4(";
s+=%Float32x4ExtractLane(r,0);
for(var t=1;t<4;t++){
s+=", "+%Float32x4ExtractLane(r,t);
}
return s+")";
}
function Float32x4ToLocaleString(){
var r=%_ValueOf(this);
if(typeof(r)!=='float32x4'){
throw d(42,
"Float32x4.prototype.toLocaleString",this);
}
var s="SIMD.Float32x4(";
s+=%Float32x4ExtractLane(r,0).toLocaleString();
for(var t=1;t<4;t++){
s+=", "+%Float32x4ExtractLane(r,t).toLocaleString();
}
return s+")";
}
function Float32x4ValueOf(){
var r=%_ValueOf(this);
if(typeof(r)!=='float32x4'){
throw d(42,
"Float32x4.prototype.valueOf",this);
}
return r;
}
function Float32x4ExtractLaneJS(u,v){
return %Float32x4ExtractLane(u,v);
}


function Int32x4CheckJS(q){
return %Int32x4Check(q);
}
function Int32x4ToString(){
var r=%_ValueOf(this);
if(typeof(r)!=='int32x4'){
throw d(42,
"Int32x4.prototype.toString",this);
}
var s="SIMD.Int32x4(";
s+=%Int32x4ExtractLane(r,0);
for(var t=1;t<4;t++){
s+=", "+%Int32x4ExtractLane(r,t);
}
return s+")";
}
function Int32x4ToLocaleString(){
var r=%_ValueOf(this);
if(typeof(r)!=='int32x4'){
throw d(42,
"Int32x4.prototype.toLocaleString",this);
}
var s="SIMD.Int32x4(";
s+=%Int32x4ExtractLane(r,0).toLocaleString();
for(var t=1;t<4;t++){
s+=", "+%Int32x4ExtractLane(r,t).toLocaleString();
}
return s+")";
}
function Int32x4ValueOf(){
var r=%_ValueOf(this);
if(typeof(r)!=='int32x4'){
throw d(42,
"Int32x4.prototype.valueOf",this);
}
return r;
}
function Int32x4ExtractLaneJS(u,v){
return %Int32x4ExtractLane(u,v);
}

function Int16x8CheckJS(q){
return %Int16x8Check(q);
}
function Int16x8ToString(){
var r=%_ValueOf(this);
if(typeof(r)!=='int16x8'){
throw d(42,
"Int16x8.prototype.toString",this);
}
var s="SIMD.Int16x8(";
s+=%Int16x8ExtractLane(r,0);
for(var t=1;t<8;t++){
s+=", "+%Int16x8ExtractLane(r,t);
}
return s+")";
}
function Int16x8ToLocaleString(){
var r=%_ValueOf(this);
if(typeof(r)!=='int16x8'){
throw d(42,
"Int16x8.prototype.toLocaleString",this);
}
var s="SIMD.Int16x8(";
s+=%Int16x8ExtractLane(r,0).toLocaleString();
for(var t=1;t<8;t++){
s+=", "+%Int16x8ExtractLane(r,t).toLocaleString();
}
return s+")";
}
function Int16x8ValueOf(){
var r=%_ValueOf(this);
if(typeof(r)!=='int16x8'){
throw d(42,
"Int16x8.prototype.valueOf",this);
}
return r;
}
function Int16x8ExtractLaneJS(u,v){
return %Int16x8ExtractLane(u,v);
}

function Int8x16CheckJS(q){
return %Int8x16Check(q);
}
function Int8x16ToString(){
var r=%_ValueOf(this);
if(typeof(r)!=='int8x16'){
throw d(42,
"Int8x16.prototype.toString",this);
}
var s="SIMD.Int8x16(";
s+=%Int8x16ExtractLane(r,0);
for(var t=1;t<16;t++){
s+=", "+%Int8x16ExtractLane(r,t);
}
return s+")";
}
function Int8x16ToLocaleString(){
var r=%_ValueOf(this);
if(typeof(r)!=='int8x16'){
throw d(42,
"Int8x16.prototype.toLocaleString",this);
}
var s="SIMD.Int8x16(";
s+=%Int8x16ExtractLane(r,0).toLocaleString();
for(var t=1;t<16;t++){
s+=", "+%Int8x16ExtractLane(r,t).toLocaleString();
}
return s+")";
}
function Int8x16ValueOf(){
var r=%_ValueOf(this);
if(typeof(r)!=='int8x16'){
throw d(42,
"Int8x16.prototype.valueOf",this);
}
return r;
}
function Int8x16ExtractLaneJS(u,v){
return %Int8x16ExtractLane(u,v);
}


function Uint32x4CheckJS(q){
return %Uint32x4Check(q);
}
function Uint32x4ToString(){
var r=%_ValueOf(this);
if(typeof(r)!=='uint32x4'){
throw d(42,
"Uint32x4.prototype.toString",this);
}
var s="SIMD.Uint32x4(";
s+=%Uint32x4ExtractLane(r,0);
for(var t=1;t<4;t++){
s+=", "+%Uint32x4ExtractLane(r,t);
}
return s+")";
}
function Uint32x4ToLocaleString(){
var r=%_ValueOf(this);
if(typeof(r)!=='uint32x4'){
throw d(42,
"Uint32x4.prototype.toLocaleString",this);
}
var s="SIMD.Uint32x4(";
s+=%Uint32x4ExtractLane(r,0).toLocaleString();
for(var t=1;t<4;t++){
s+=", "+%Uint32x4ExtractLane(r,t).toLocaleString();
}
return s+")";
}
function Uint32x4ValueOf(){
var r=%_ValueOf(this);
if(typeof(r)!=='uint32x4'){
throw d(42,
"Uint32x4.prototype.valueOf",this);
}
return r;
}
function Uint32x4ExtractLaneJS(u,v){
return %Uint32x4ExtractLane(u,v);
}

function Uint16x8CheckJS(q){
return %Uint16x8Check(q);
}
function Uint16x8ToString(){
var r=%_ValueOf(this);
if(typeof(r)!=='uint16x8'){
throw d(42,
"Uint16x8.prototype.toString",this);
}
var s="SIMD.Uint16x8(";
s+=%Uint16x8ExtractLane(r,0);
for(var t=1;t<8;t++){
s+=", "+%Uint16x8ExtractLane(r,t);
}
return s+")";
}
function Uint16x8ToLocaleString(){
var r=%_ValueOf(this);
if(typeof(r)!=='uint16x8'){
throw d(42,
"Uint16x8.prototype.toLocaleString",this);
}
var s="SIMD.Uint16x8(";
s+=%Uint16x8ExtractLane(r,0).toLocaleString();
for(var t=1;t<8;t++){
s+=", "+%Uint16x8ExtractLane(r,t).toLocaleString();
}
return s+")";
}
function Uint16x8ValueOf(){
var r=%_ValueOf(this);
if(typeof(r)!=='uint16x8'){
throw d(42,
"Uint16x8.prototype.valueOf",this);
}
return r;
}
function Uint16x8ExtractLaneJS(u,v){
return %Uint16x8ExtractLane(u,v);
}

function Uint8x16CheckJS(q){
return %Uint8x16Check(q);
}
function Uint8x16ToString(){
var r=%_ValueOf(this);
if(typeof(r)!=='uint8x16'){
throw d(42,
"Uint8x16.prototype.toString",this);
}
var s="SIMD.Uint8x16(";
s+=%Uint8x16ExtractLane(r,0);
for(var t=1;t<16;t++){
s+=", "+%Uint8x16ExtractLane(r,t);
}
return s+")";
}
function Uint8x16ToLocaleString(){
var r=%_ValueOf(this);
if(typeof(r)!=='uint8x16'){
throw d(42,
"Uint8x16.prototype.toLocaleString",this);
}
var s="SIMD.Uint8x16(";
s+=%Uint8x16ExtractLane(r,0).toLocaleString();
for(var t=1;t<16;t++){
s+=", "+%Uint8x16ExtractLane(r,t).toLocaleString();
}
return s+")";
}
function Uint8x16ValueOf(){
var r=%_ValueOf(this);
if(typeof(r)!=='uint8x16'){
throw d(42,
"Uint8x16.prototype.valueOf",this);
}
return r;
}
function Uint8x16ExtractLaneJS(u,v){
return %Uint8x16ExtractLane(u,v);
}


function Bool32x4CheckJS(q){
return %Bool32x4Check(q);
}
function Bool32x4ToString(){
var r=%_ValueOf(this);
if(typeof(r)!=='bool32x4'){
throw d(42,
"Bool32x4.prototype.toString",this);
}
var s="SIMD.Bool32x4(";
s+=%Bool32x4ExtractLane(r,0);
for(var t=1;t<4;t++){
s+=", "+%Bool32x4ExtractLane(r,t);
}
return s+")";
}
function Bool32x4ToLocaleString(){
var r=%_ValueOf(this);
if(typeof(r)!=='bool32x4'){
throw d(42,
"Bool32x4.prototype.toLocaleString",this);
}
var s="SIMD.Bool32x4(";
s+=%Bool32x4ExtractLane(r,0).toLocaleString();
for(var t=1;t<4;t++){
s+=", "+%Bool32x4ExtractLane(r,t).toLocaleString();
}
return s+")";
}
function Bool32x4ValueOf(){
var r=%_ValueOf(this);
if(typeof(r)!=='bool32x4'){
throw d(42,
"Bool32x4.prototype.valueOf",this);
}
return r;
}
function Bool32x4ExtractLaneJS(u,v){
return %Bool32x4ExtractLane(u,v);
}

function Bool16x8CheckJS(q){
return %Bool16x8Check(q);
}
function Bool16x8ToString(){
var r=%_ValueOf(this);
if(typeof(r)!=='bool16x8'){
throw d(42,
"Bool16x8.prototype.toString",this);
}
var s="SIMD.Bool16x8(";
s+=%Bool16x8ExtractLane(r,0);
for(var t=1;t<8;t++){
s+=", "+%Bool16x8ExtractLane(r,t);
}
return s+")";
}
function Bool16x8ToLocaleString(){
var r=%_ValueOf(this);
if(typeof(r)!=='bool16x8'){
throw d(42,
"Bool16x8.prototype.toLocaleString",this);
}
var s="SIMD.Bool16x8(";
s+=%Bool16x8ExtractLane(r,0).toLocaleString();
for(var t=1;t<8;t++){
s+=", "+%Bool16x8ExtractLane(r,t).toLocaleString();
}
return s+")";
}
function Bool16x8ValueOf(){
var r=%_ValueOf(this);
if(typeof(r)!=='bool16x8'){
throw d(42,
"Bool16x8.prototype.valueOf",this);
}
return r;
}
function Bool16x8ExtractLaneJS(u,v){
return %Bool16x8ExtractLane(u,v);
}

function Bool8x16CheckJS(q){
return %Bool8x16Check(q);
}
function Bool8x16ToString(){
var r=%_ValueOf(this);
if(typeof(r)!=='bool8x16'){
throw d(42,
"Bool8x16.prototype.toString",this);
}
var s="SIMD.Bool8x16(";
s+=%Bool8x16ExtractLane(r,0);
for(var t=1;t<16;t++){
s+=", "+%Bool8x16ExtractLane(r,t);
}
return s+")";
}
function Bool8x16ToLocaleString(){
var r=%_ValueOf(this);
if(typeof(r)!=='bool8x16'){
throw d(42,
"Bool8x16.prototype.toLocaleString",this);
}
var s="SIMD.Bool8x16(";
s+=%Bool8x16ExtractLane(r,0).toLocaleString();
for(var t=1;t<16;t++){
s+=", "+%Bool8x16ExtractLane(r,t).toLocaleString();
}
return s+")";
}
function Bool8x16ValueOf(){
var r=%_ValueOf(this);
if(typeof(r)!=='bool8x16'){
throw d(42,
"Bool8x16.prototype.valueOf",this);
}
return r;
}
function Bool8x16ExtractLaneJS(u,v){
return %Bool8x16ExtractLane(u,v);
}



function Int32x4ShiftLeftByScalarJS(u,w){
return %Int32x4ShiftLeftByScalar(u,w);
}
function Int32x4ShiftRightByScalarJS(u,w){
return %Int32x4ShiftRightByScalar(u,w);
}

function Int16x8ShiftLeftByScalarJS(u,w){
return %Int16x8ShiftLeftByScalar(u,w);
}
function Int16x8ShiftRightByScalarJS(u,w){
return %Int16x8ShiftRightByScalar(u,w);
}

function Int8x16ShiftLeftByScalarJS(u,w){
return %Int8x16ShiftLeftByScalar(u,w);
}
function Int8x16ShiftRightByScalarJS(u,w){
return %Int8x16ShiftRightByScalar(u,w);
}


function Uint32x4ShiftLeftByScalarJS(u,w){
return %Uint32x4ShiftLeftByScalar(u,w);
}
function Uint32x4ShiftRightByScalarJS(u,w){
return %Uint32x4ShiftRightByScalar(u,w);
}

function Uint16x8ShiftLeftByScalarJS(u,w){
return %Uint16x8ShiftLeftByScalar(u,w);
}
function Uint16x8ShiftRightByScalarJS(u,w){
return %Uint16x8ShiftRightByScalar(u,w);
}

function Uint8x16ShiftLeftByScalarJS(u,w){
return %Uint8x16ShiftLeftByScalar(u,w);
}
function Uint8x16ShiftRightByScalarJS(u,w){
return %Uint8x16ShiftRightByScalar(u,w);
}


function Int16x8AddSaturateJS(q,x){
return %Int16x8AddSaturate(q,x);
}
function Int16x8SubSaturateJS(q,x){
return %Int16x8SubSaturate(q,x);
}

function Int8x16AddSaturateJS(q,x){
return %Int8x16AddSaturate(q,x);
}
function Int8x16SubSaturateJS(q,x){
return %Int8x16SubSaturate(q,x);
}

function Uint8x16AddSaturateJS(q,x){
return %Uint8x16AddSaturate(q,x);
}
function Uint8x16SubSaturateJS(q,x){
return %Uint8x16SubSaturate(q,x);
}

function Uint16x8AddSaturateJS(q,x){
return %Uint16x8AddSaturate(q,x);
}
function Uint16x8SubSaturateJS(q,x){
return %Uint16x8SubSaturate(q,x);
}


function Float32x4NegJS(q){
return %Float32x4Neg(q);
}


function Int32x4NegJS(q){
return %Int32x4Neg(q);
}

function Int16x8NegJS(q){
return %Int16x8Neg(q);
}

function Int8x16NegJS(q){
return %Int8x16Neg(q);
}


function Bool32x4ReplaceLaneJS(u,v,r){
return %Bool32x4ReplaceLane(u,v,r);
}
function Bool32x4AnyTrueJS(y){
return %Bool32x4AnyTrue(y);
}
function Bool32x4AllTrueJS(y){
return %Bool32x4AllTrue(y);
}

function Bool16x8ReplaceLaneJS(u,v,r){
return %Bool16x8ReplaceLane(u,v,r);
}
function Bool16x8AnyTrueJS(y){
return %Bool16x8AnyTrue(y);
}
function Bool16x8AllTrueJS(y){
return %Bool16x8AllTrue(y);
}

function Bool8x16ReplaceLaneJS(u,v,r){
return %Bool8x16ReplaceLane(u,v,r);
}
function Bool8x16AnyTrueJS(y){
return %Bool8x16AnyTrue(y);
}
function Bool8x16AllTrueJS(y){
return %Bool8x16AllTrue(y);
}


function Float32x4ReplaceLaneJS(u,v,r){
return %Float32x4ReplaceLane(u,v,(%_ToNumber(r)));
}
function Float32x4SelectJS(z,q,x){
return %Float32x4Select(z,q,x);
}
function Float32x4AddJS(q,x){
return %Float32x4Add(q,x);
}
function Float32x4SubJS(q,x){
return %Float32x4Sub(q,x);
}
function Float32x4MulJS(q,x){
return %Float32x4Mul(q,x);
}
function Float32x4MinJS(q,x){
return %Float32x4Min(q,x);
}
function Float32x4MaxJS(q,x){
return %Float32x4Max(q,x);
}
function Float32x4EqualJS(q,x){
return %Float32x4Equal(q,x);
}
function Float32x4NotEqualJS(q,x){
return %Float32x4NotEqual(q,x);
}
function Float32x4LessThanJS(q,x){
return %Float32x4LessThan(q,x);
}
function Float32x4LessThanOrEqualJS(q,x){
return %Float32x4LessThanOrEqual(q,x);
}
function Float32x4GreaterThanJS(q,x){
return %Float32x4GreaterThan(q,x);
}
function Float32x4GreaterThanOrEqualJS(q,x){
return %Float32x4GreaterThanOrEqual(q,x);
}
function Float32x4LoadJS(A,B){
return %Float32x4Load(A,B);
}
function Float32x4StoreJS(A,B,q){
return %Float32x4Store(A,B,q);
}


function Int32x4ReplaceLaneJS(u,v,r){
return %Int32x4ReplaceLane(u,v,(%_ToNumber(r)));
}
function Int32x4SelectJS(z,q,x){
return %Int32x4Select(z,q,x);
}
function Int32x4AddJS(q,x){
return %Int32x4Add(q,x);
}
function Int32x4SubJS(q,x){
return %Int32x4Sub(q,x);
}
function Int32x4MulJS(q,x){
return %Int32x4Mul(q,x);
}
function Int32x4MinJS(q,x){
return %Int32x4Min(q,x);
}
function Int32x4MaxJS(q,x){
return %Int32x4Max(q,x);
}
function Int32x4EqualJS(q,x){
return %Int32x4Equal(q,x);
}
function Int32x4NotEqualJS(q,x){
return %Int32x4NotEqual(q,x);
}
function Int32x4LessThanJS(q,x){
return %Int32x4LessThan(q,x);
}
function Int32x4LessThanOrEqualJS(q,x){
return %Int32x4LessThanOrEqual(q,x);
}
function Int32x4GreaterThanJS(q,x){
return %Int32x4GreaterThan(q,x);
}
function Int32x4GreaterThanOrEqualJS(q,x){
return %Int32x4GreaterThanOrEqual(q,x);
}
function Int32x4LoadJS(A,B){
return %Int32x4Load(A,B);
}
function Int32x4StoreJS(A,B,q){
return %Int32x4Store(A,B,q);
}

function Int16x8ReplaceLaneJS(u,v,r){
return %Int16x8ReplaceLane(u,v,(%_ToNumber(r)));
}
function Int16x8SelectJS(z,q,x){
return %Int16x8Select(z,q,x);
}
function Int16x8AddJS(q,x){
return %Int16x8Add(q,x);
}
function Int16x8SubJS(q,x){
return %Int16x8Sub(q,x);
}
function Int16x8MulJS(q,x){
return %Int16x8Mul(q,x);
}
function Int16x8MinJS(q,x){
return %Int16x8Min(q,x);
}
function Int16x8MaxJS(q,x){
return %Int16x8Max(q,x);
}
function Int16x8EqualJS(q,x){
return %Int16x8Equal(q,x);
}
function Int16x8NotEqualJS(q,x){
return %Int16x8NotEqual(q,x);
}
function Int16x8LessThanJS(q,x){
return %Int16x8LessThan(q,x);
}
function Int16x8LessThanOrEqualJS(q,x){
return %Int16x8LessThanOrEqual(q,x);
}
function Int16x8GreaterThanJS(q,x){
return %Int16x8GreaterThan(q,x);
}
function Int16x8GreaterThanOrEqualJS(q,x){
return %Int16x8GreaterThanOrEqual(q,x);
}
function Int16x8LoadJS(A,B){
return %Int16x8Load(A,B);
}
function Int16x8StoreJS(A,B,q){
return %Int16x8Store(A,B,q);
}

function Int8x16ReplaceLaneJS(u,v,r){
return %Int8x16ReplaceLane(u,v,(%_ToNumber(r)));
}
function Int8x16SelectJS(z,q,x){
return %Int8x16Select(z,q,x);
}
function Int8x16AddJS(q,x){
return %Int8x16Add(q,x);
}
function Int8x16SubJS(q,x){
return %Int8x16Sub(q,x);
}
function Int8x16MulJS(q,x){
return %Int8x16Mul(q,x);
}
function Int8x16MinJS(q,x){
return %Int8x16Min(q,x);
}
function Int8x16MaxJS(q,x){
return %Int8x16Max(q,x);
}
function Int8x16EqualJS(q,x){
return %Int8x16Equal(q,x);
}
function Int8x16NotEqualJS(q,x){
return %Int8x16NotEqual(q,x);
}
function Int8x16LessThanJS(q,x){
return %Int8x16LessThan(q,x);
}
function Int8x16LessThanOrEqualJS(q,x){
return %Int8x16LessThanOrEqual(q,x);
}
function Int8x16GreaterThanJS(q,x){
return %Int8x16GreaterThan(q,x);
}
function Int8x16GreaterThanOrEqualJS(q,x){
return %Int8x16GreaterThanOrEqual(q,x);
}
function Int8x16LoadJS(A,B){
return %Int8x16Load(A,B);
}
function Int8x16StoreJS(A,B,q){
return %Int8x16Store(A,B,q);
}


function Uint32x4ReplaceLaneJS(u,v,r){
return %Uint32x4ReplaceLane(u,v,(%_ToNumber(r)));
}
function Uint32x4SelectJS(z,q,x){
return %Uint32x4Select(z,q,x);
}
function Uint32x4AddJS(q,x){
return %Uint32x4Add(q,x);
}
function Uint32x4SubJS(q,x){
return %Uint32x4Sub(q,x);
}
function Uint32x4MulJS(q,x){
return %Uint32x4Mul(q,x);
}
function Uint32x4MinJS(q,x){
return %Uint32x4Min(q,x);
}
function Uint32x4MaxJS(q,x){
return %Uint32x4Max(q,x);
}
function Uint32x4EqualJS(q,x){
return %Uint32x4Equal(q,x);
}
function Uint32x4NotEqualJS(q,x){
return %Uint32x4NotEqual(q,x);
}
function Uint32x4LessThanJS(q,x){
return %Uint32x4LessThan(q,x);
}
function Uint32x4LessThanOrEqualJS(q,x){
return %Uint32x4LessThanOrEqual(q,x);
}
function Uint32x4GreaterThanJS(q,x){
return %Uint32x4GreaterThan(q,x);
}
function Uint32x4GreaterThanOrEqualJS(q,x){
return %Uint32x4GreaterThanOrEqual(q,x);
}
function Uint32x4LoadJS(A,B){
return %Uint32x4Load(A,B);
}
function Uint32x4StoreJS(A,B,q){
return %Uint32x4Store(A,B,q);
}

function Uint16x8ReplaceLaneJS(u,v,r){
return %Uint16x8ReplaceLane(u,v,(%_ToNumber(r)));
}
function Uint16x8SelectJS(z,q,x){
return %Uint16x8Select(z,q,x);
}
function Uint16x8AddJS(q,x){
return %Uint16x8Add(q,x);
}
function Uint16x8SubJS(q,x){
return %Uint16x8Sub(q,x);
}
function Uint16x8MulJS(q,x){
return %Uint16x8Mul(q,x);
}
function Uint16x8MinJS(q,x){
return %Uint16x8Min(q,x);
}
function Uint16x8MaxJS(q,x){
return %Uint16x8Max(q,x);
}
function Uint16x8EqualJS(q,x){
return %Uint16x8Equal(q,x);
}
function Uint16x8NotEqualJS(q,x){
return %Uint16x8NotEqual(q,x);
}
function Uint16x8LessThanJS(q,x){
return %Uint16x8LessThan(q,x);
}
function Uint16x8LessThanOrEqualJS(q,x){
return %Uint16x8LessThanOrEqual(q,x);
}
function Uint16x8GreaterThanJS(q,x){
return %Uint16x8GreaterThan(q,x);
}
function Uint16x8GreaterThanOrEqualJS(q,x){
return %Uint16x8GreaterThanOrEqual(q,x);
}
function Uint16x8LoadJS(A,B){
return %Uint16x8Load(A,B);
}
function Uint16x8StoreJS(A,B,q){
return %Uint16x8Store(A,B,q);
}

function Uint8x16ReplaceLaneJS(u,v,r){
return %Uint8x16ReplaceLane(u,v,(%_ToNumber(r)));
}
function Uint8x16SelectJS(z,q,x){
return %Uint8x16Select(z,q,x);
}
function Uint8x16AddJS(q,x){
return %Uint8x16Add(q,x);
}
function Uint8x16SubJS(q,x){
return %Uint8x16Sub(q,x);
}
function Uint8x16MulJS(q,x){
return %Uint8x16Mul(q,x);
}
function Uint8x16MinJS(q,x){
return %Uint8x16Min(q,x);
}
function Uint8x16MaxJS(q,x){
return %Uint8x16Max(q,x);
}
function Uint8x16EqualJS(q,x){
return %Uint8x16Equal(q,x);
}
function Uint8x16NotEqualJS(q,x){
return %Uint8x16NotEqual(q,x);
}
function Uint8x16LessThanJS(q,x){
return %Uint8x16LessThan(q,x);
}
function Uint8x16LessThanOrEqualJS(q,x){
return %Uint8x16LessThanOrEqual(q,x);
}
function Uint8x16GreaterThanJS(q,x){
return %Uint8x16GreaterThan(q,x);
}
function Uint8x16GreaterThanOrEqualJS(q,x){
return %Uint8x16GreaterThanOrEqual(q,x);
}
function Uint8x16LoadJS(A,B){
return %Uint8x16Load(A,B);
}
function Uint8x16StoreJS(A,B,q){
return %Uint8x16Store(A,B,q);
}



function Int32x4AndJS(q,x){
return %Int32x4And(q,x);
}
function Int32x4OrJS(q,x){
return %Int32x4Or(q,x);
}
function Int32x4XorJS(q,x){
return %Int32x4Xor(q,x);
}
function Int32x4NotJS(q){
return %Int32x4Not(q);
}

function Int16x8AndJS(q,x){
return %Int16x8And(q,x);
}
function Int16x8OrJS(q,x){
return %Int16x8Or(q,x);
}
function Int16x8XorJS(q,x){
return %Int16x8Xor(q,x);
}
function Int16x8NotJS(q){
return %Int16x8Not(q);
}

function Int8x16AndJS(q,x){
return %Int8x16And(q,x);
}
function Int8x16OrJS(q,x){
return %Int8x16Or(q,x);
}
function Int8x16XorJS(q,x){
return %Int8x16Xor(q,x);
}
function Int8x16NotJS(q){
return %Int8x16Not(q);
}


function Uint32x4AndJS(q,x){
return %Uint32x4And(q,x);
}
function Uint32x4OrJS(q,x){
return %Uint32x4Or(q,x);
}
function Uint32x4XorJS(q,x){
return %Uint32x4Xor(q,x);
}
function Uint32x4NotJS(q){
return %Uint32x4Not(q);
}

function Uint16x8AndJS(q,x){
return %Uint16x8And(q,x);
}
function Uint16x8OrJS(q,x){
return %Uint16x8Or(q,x);
}
function Uint16x8XorJS(q,x){
return %Uint16x8Xor(q,x);
}
function Uint16x8NotJS(q){
return %Uint16x8Not(q);
}

function Uint8x16AndJS(q,x){
return %Uint8x16And(q,x);
}
function Uint8x16OrJS(q,x){
return %Uint8x16Or(q,x);
}
function Uint8x16XorJS(q,x){
return %Uint8x16Xor(q,x);
}
function Uint8x16NotJS(q){
return %Uint8x16Not(q);
}


function Bool32x4AndJS(q,x){
return %Bool32x4And(q,x);
}
function Bool32x4OrJS(q,x){
return %Bool32x4Or(q,x);
}
function Bool32x4XorJS(q,x){
return %Bool32x4Xor(q,x);
}
function Bool32x4NotJS(q){
return %Bool32x4Not(q);
}

function Bool16x8AndJS(q,x){
return %Bool16x8And(q,x);
}
function Bool16x8OrJS(q,x){
return %Bool16x8Or(q,x);
}
function Bool16x8XorJS(q,x){
return %Bool16x8Xor(q,x);
}
function Bool16x8NotJS(q){
return %Bool16x8Not(q);
}

function Bool8x16AndJS(q,x){
return %Bool8x16And(q,x);
}
function Bool8x16OrJS(q,x){
return %Bool8x16Or(q,x);
}
function Bool8x16XorJS(q,x){
return %Bool8x16Xor(q,x);
}
function Bool8x16NotJS(q){
return %Bool8x16Not(q);
}



function Float32x4FromInt32x4JS(q){
return %Float32x4FromInt32x4(q);
}

function Float32x4FromUint32x4JS(q){
return %Float32x4FromUint32x4(q);
}

function Int32x4FromFloat32x4JS(q){
return %Int32x4FromFloat32x4(q);
}

function Int32x4FromUint32x4JS(q){
return %Int32x4FromUint32x4(q);
}

function Uint32x4FromFloat32x4JS(q){
return %Uint32x4FromFloat32x4(q);
}

function Uint32x4FromInt32x4JS(q){
return %Uint32x4FromInt32x4(q);
}

function Int16x8FromUint16x8JS(q){
return %Int16x8FromUint16x8(q);
}

function Uint16x8FromInt16x8JS(q){
return %Uint16x8FromInt16x8(q);
}

function Int8x16FromUint8x16JS(q){
return %Int8x16FromUint8x16(q);
}

function Uint8x16FromInt8x16JS(q){
return %Uint8x16FromInt8x16(q);
}


function Float32x4FromInt32x4BitsJS(q){
return %Float32x4FromInt32x4Bits(q);
}

function Float32x4FromUint32x4BitsJS(q){
return %Float32x4FromUint32x4Bits(q);
}

function Float32x4FromInt16x8BitsJS(q){
return %Float32x4FromInt16x8Bits(q);
}

function Float32x4FromUint16x8BitsJS(q){
return %Float32x4FromUint16x8Bits(q);
}

function Float32x4FromInt8x16BitsJS(q){
return %Float32x4FromInt8x16Bits(q);
}

function Float32x4FromUint8x16BitsJS(q){
return %Float32x4FromUint8x16Bits(q);
}

function Int32x4FromFloat32x4BitsJS(q){
return %Int32x4FromFloat32x4Bits(q);
}

function Int32x4FromUint32x4BitsJS(q){
return %Int32x4FromUint32x4Bits(q);
}

function Int32x4FromInt16x8BitsJS(q){
return %Int32x4FromInt16x8Bits(q);
}

function Int32x4FromUint16x8BitsJS(q){
return %Int32x4FromUint16x8Bits(q);
}

function Int32x4FromInt8x16BitsJS(q){
return %Int32x4FromInt8x16Bits(q);
}

function Int32x4FromUint8x16BitsJS(q){
return %Int32x4FromUint8x16Bits(q);
}

function Uint32x4FromFloat32x4BitsJS(q){
return %Uint32x4FromFloat32x4Bits(q);
}

function Uint32x4FromInt32x4BitsJS(q){
return %Uint32x4FromInt32x4Bits(q);
}

function Uint32x4FromInt16x8BitsJS(q){
return %Uint32x4FromInt16x8Bits(q);
}

function Uint32x4FromUint16x8BitsJS(q){
return %Uint32x4FromUint16x8Bits(q);
}

function Uint32x4FromInt8x16BitsJS(q){
return %Uint32x4FromInt8x16Bits(q);
}

function Uint32x4FromUint8x16BitsJS(q){
return %Uint32x4FromUint8x16Bits(q);
}

function Int16x8FromFloat32x4BitsJS(q){
return %Int16x8FromFloat32x4Bits(q);
}

function Int16x8FromInt32x4BitsJS(q){
return %Int16x8FromInt32x4Bits(q);
}

function Int16x8FromUint32x4BitsJS(q){
return %Int16x8FromUint32x4Bits(q);
}

function Int16x8FromUint16x8BitsJS(q){
return %Int16x8FromUint16x8Bits(q);
}

function Int16x8FromInt8x16BitsJS(q){
return %Int16x8FromInt8x16Bits(q);
}

function Int16x8FromUint8x16BitsJS(q){
return %Int16x8FromUint8x16Bits(q);
}

function Uint16x8FromFloat32x4BitsJS(q){
return %Uint16x8FromFloat32x4Bits(q);
}

function Uint16x8FromInt32x4BitsJS(q){
return %Uint16x8FromInt32x4Bits(q);
}

function Uint16x8FromUint32x4BitsJS(q){
return %Uint16x8FromUint32x4Bits(q);
}

function Uint16x8FromInt16x8BitsJS(q){
return %Uint16x8FromInt16x8Bits(q);
}

function Uint16x8FromInt8x16BitsJS(q){
return %Uint16x8FromInt8x16Bits(q);
}

function Uint16x8FromUint8x16BitsJS(q){
return %Uint16x8FromUint8x16Bits(q);
}

function Int8x16FromFloat32x4BitsJS(q){
return %Int8x16FromFloat32x4Bits(q);
}

function Int8x16FromInt32x4BitsJS(q){
return %Int8x16FromInt32x4Bits(q);
}

function Int8x16FromUint32x4BitsJS(q){
return %Int8x16FromUint32x4Bits(q);
}

function Int8x16FromInt16x8BitsJS(q){
return %Int8x16FromInt16x8Bits(q);
}

function Int8x16FromUint16x8BitsJS(q){
return %Int8x16FromUint16x8Bits(q);
}

function Int8x16FromUint8x16BitsJS(q){
return %Int8x16FromUint8x16Bits(q);
}

function Uint8x16FromFloat32x4BitsJS(q){
return %Uint8x16FromFloat32x4Bits(q);
}

function Uint8x16FromInt32x4BitsJS(q){
return %Uint8x16FromInt32x4Bits(q);
}

function Uint8x16FromUint32x4BitsJS(q){
return %Uint8x16FromUint32x4Bits(q);
}

function Uint8x16FromInt16x8BitsJS(q){
return %Uint8x16FromInt16x8Bits(q);
}

function Uint8x16FromUint16x8BitsJS(q){
return %Uint8x16FromUint16x8Bits(q);
}

function Uint8x16FromInt8x16BitsJS(q){
return %Uint8x16FromInt8x16Bits(q);
}


function Float32x4Load1JS(A,B){
return %Float32x4Load1(A,B);
}
function Float32x4Store1JS(A,B,q){
return %Float32x4Store1(A,B,q);
}

function Float32x4Load2JS(A,B){
return %Float32x4Load2(A,B);
}
function Float32x4Store2JS(A,B,q){
return %Float32x4Store2(A,B,q);
}

function Float32x4Load3JS(A,B){
return %Float32x4Load3(A,B);
}
function Float32x4Store3JS(A,B,q){
return %Float32x4Store3(A,B,q);
}

function Int32x4Load1JS(A,B){
return %Int32x4Load1(A,B);
}
function Int32x4Store1JS(A,B,q){
return %Int32x4Store1(A,B,q);
}

function Int32x4Load2JS(A,B){
return %Int32x4Load2(A,B);
}
function Int32x4Store2JS(A,B,q){
return %Int32x4Store2(A,B,q);
}

function Int32x4Load3JS(A,B){
return %Int32x4Load3(A,B);
}
function Int32x4Store3JS(A,B,q){
return %Int32x4Store3(A,B,q);
}

function Uint32x4Load1JS(A,B){
return %Uint32x4Load1(A,B);
}
function Uint32x4Store1JS(A,B,q){
return %Uint32x4Store1(A,B,q);
}

function Uint32x4Load2JS(A,B){
return %Uint32x4Load2(A,B);
}
function Uint32x4Store2JS(A,B,q){
return %Uint32x4Store2(A,B,q);
}

function Uint32x4Load3JS(A,B){
return %Uint32x4Load3(A,B);
}
function Uint32x4Store3JS(A,B,q){
return %Uint32x4Store3(A,B,q);
}


function Float32x4Splat(y){
return %CreateFloat32x4(y,y,y,y);
}
function Float32x4SwizzleJS(q,C,D,E,F){
return %Float32x4Swizzle(q,C,D,E,F);
}
function Float32x4ShuffleJS(q,x,C,D,E,F){
return %Float32x4Shuffle(q,x,C,D,E,F);
}

function Int32x4Splat(y){
return %CreateInt32x4(y,y,y,y);
}
function Int32x4SwizzleJS(q,C,D,E,F){
return %Int32x4Swizzle(q,C,D,E,F);
}
function Int32x4ShuffleJS(q,x,C,D,E,F){
return %Int32x4Shuffle(q,x,C,D,E,F);
}

function Uint32x4Splat(y){
return %CreateUint32x4(y,y,y,y);
}
function Uint32x4SwizzleJS(q,C,D,E,F){
return %Uint32x4Swizzle(q,C,D,E,F);
}
function Uint32x4ShuffleJS(q,x,C,D,E,F){
return %Uint32x4Shuffle(q,x,C,D,E,F);
}

function Bool32x4Splat(y){
return %CreateBool32x4(y,y,y,y);
}
function Bool32x4SwizzleJS(q,C,D,E,F){
return %Bool32x4Swizzle(q,C,D,E,F);
}
function Bool32x4ShuffleJS(q,x,C,D,E,F){
return %Bool32x4Shuffle(q,x,C,D,E,F);
}


function Int16x8Splat(y){
return %CreateInt16x8(y,y,y,y,y,y,y,y);
}
function Int16x8SwizzleJS(q,C,D,E,F,G,H,I,J){
return %Int16x8Swizzle(q,C,D,E,F,G,H,I,J);
}
function Int16x8ShuffleJS(q,x,C,D,E,F,G,H,I,J){
return %Int16x8Shuffle(q,x,C,D,E,F,G,H,I,J);
}

function Uint16x8Splat(y){
return %CreateUint16x8(y,y,y,y,y,y,y,y);
}
function Uint16x8SwizzleJS(q,C,D,E,F,G,H,I,J){
return %Uint16x8Swizzle(q,C,D,E,F,G,H,I,J);
}
function Uint16x8ShuffleJS(q,x,C,D,E,F,G,H,I,J){
return %Uint16x8Shuffle(q,x,C,D,E,F,G,H,I,J);
}

function Bool16x8Splat(y){
return %CreateBool16x8(y,y,y,y,y,y,y,y);
}
function Bool16x8SwizzleJS(q,C,D,E,F,G,H,I,J){
return %Bool16x8Swizzle(q,C,D,E,F,G,H,I,J);
}
function Bool16x8ShuffleJS(q,x,C,D,E,F,G,H,I,J){
return %Bool16x8Shuffle(q,x,C,D,E,F,G,H,I,J);
}


function Int8x16Splat(y){
return %CreateInt8x16(y,y,y,y,y,y,y,y,y,y,y,y,y,y,y,y);
}
function Int8x16SwizzleJS(q,C,D,E,F,G,H,I,J,c8,c9,c10,c11,
c12,c13,c14,c15){
return %Int8x16Swizzle(q,C,D,E,F,G,H,I,J,c8,c9,c10,c11,
c12,c13,c14,c15);
}
function Int8x16ShuffleJS(q,x,C,D,E,F,G,H,I,J,c8,c9,c10,
c11,c12,c13,c14,c15){
return %Int8x16Shuffle(q,x,C,D,E,F,G,H,I,J,c8,c9,c10,
c11,c12,c13,c14,c15);
}

function Uint8x16Splat(y){
return %CreateUint8x16(y,y,y,y,y,y,y,y,y,y,y,y,y,y,y,y);
}
function Uint8x16SwizzleJS(q,C,D,E,F,G,H,I,J,c8,c9,c10,c11,
c12,c13,c14,c15){
return %Uint8x16Swizzle(q,C,D,E,F,G,H,I,J,c8,c9,c10,c11,
c12,c13,c14,c15);
}
function Uint8x16ShuffleJS(q,x,C,D,E,F,G,H,I,J,c8,c9,c10,
c11,c12,c13,c14,c15){
return %Uint8x16Shuffle(q,x,C,D,E,F,G,H,I,J,c8,c9,c10,
c11,c12,c13,c14,c15);
}

function Bool8x16Splat(y){
return %CreateBool8x16(y,y,y,y,y,y,y,y,y,y,y,y,y,y,y,y);
}
function Bool8x16SwizzleJS(q,C,D,E,F,G,H,I,J,c8,c9,c10,c11,
c12,c13,c14,c15){
return %Bool8x16Swizzle(q,C,D,E,F,G,H,I,J,c8,c9,c10,c11,
c12,c13,c14,c15);
}
function Bool8x16ShuffleJS(q,x,C,D,E,F,G,H,I,J,c8,c9,c10,
c11,c12,c13,c14,c15){
return %Bool8x16Shuffle(q,x,C,D,E,F,G,H,I,J,c8,c9,c10,
c11,c12,c13,c14,c15);
}


function Float32x4Constructor(C,D,E,F){
if(!(new.target===(void 0))){
throw d(62,"Float32x4");
}
return %CreateFloat32x4((%_ToNumber(C)),(%_ToNumber(D)),
(%_ToNumber(E)),(%_ToNumber(F)));
}
function Int32x4Constructor(C,D,E,F){
if(!(new.target===(void 0))){
throw d(62,"Int32x4");
}
return %CreateInt32x4((%_ToNumber(C)),(%_ToNumber(D)),
(%_ToNumber(E)),(%_ToNumber(F)));
}
function Uint32x4Constructor(C,D,E,F){
if(!(new.target===(void 0))){
throw d(62,"Uint32x4");
}
return %CreateUint32x4((%_ToNumber(C)),(%_ToNumber(D)),
(%_ToNumber(E)),(%_ToNumber(F)));
}
function Bool32x4Constructor(C,D,E,F){
if(!(new.target===(void 0))){
throw d(62,"Bool32x4");
}
return %CreateBool32x4(C,D,E,F);
}
function Int16x8Constructor(C,D,E,F,G,H,I,J){
if(!(new.target===(void 0))){
throw d(62,"Int16x8");
}
return %CreateInt16x8((%_ToNumber(C)),(%_ToNumber(D)),
(%_ToNumber(E)),(%_ToNumber(F)),
(%_ToNumber(G)),(%_ToNumber(H)),
(%_ToNumber(I)),(%_ToNumber(J)));
}
function Uint16x8Constructor(C,D,E,F,G,H,I,J){
if(!(new.target===(void 0))){
throw d(62,"Uint16x8");
}
return %CreateUint16x8((%_ToNumber(C)),(%_ToNumber(D)),
(%_ToNumber(E)),(%_ToNumber(F)),
(%_ToNumber(G)),(%_ToNumber(H)),
(%_ToNumber(I)),(%_ToNumber(J)));
}
function Bool16x8Constructor(C,D,E,F,G,H,I,J){
if(!(new.target===(void 0))){
throw d(62,"Bool16x8");
}
return %CreateBool16x8(C,D,E,F,G,H,I,J);
}
function Int8x16Constructor(C,D,E,F,G,H,I,J,c8,c9,c10,c11,
c12,c13,c14,c15){
if(!(new.target===(void 0))){
throw d(62,"Int8x16");
}
return %CreateInt8x16((%_ToNumber(C)),(%_ToNumber(D)),
(%_ToNumber(E)),(%_ToNumber(F)),
(%_ToNumber(G)),(%_ToNumber(H)),
(%_ToNumber(I)),(%_ToNumber(J)),
(%_ToNumber(c8)),(%_ToNumber(c9)),
(%_ToNumber(c10)),(%_ToNumber(c11)),
(%_ToNumber(c12)),(%_ToNumber(c13)),
(%_ToNumber(c14)),(%_ToNumber(c15)));
}
function Uint8x16Constructor(C,D,E,F,G,H,I,J,c8,c9,c10,c11,
c12,c13,c14,c15){
if(!(new.target===(void 0))){
throw d(62,"Uint8x16");
}
return %CreateUint8x16((%_ToNumber(C)),(%_ToNumber(D)),
(%_ToNumber(E)),(%_ToNumber(F)),
(%_ToNumber(G)),(%_ToNumber(H)),
(%_ToNumber(I)),(%_ToNumber(J)),
(%_ToNumber(c8)),(%_ToNumber(c9)),
(%_ToNumber(c10)),(%_ToNumber(c11)),
(%_ToNumber(c12)),(%_ToNumber(c13)),
(%_ToNumber(c14)),(%_ToNumber(c15)));
}
function Bool8x16Constructor(C,D,E,F,G,H,I,J,c8,c9,c10,c11,
c12,c13,c14,c15){
if(!(new.target===(void 0))){
throw d(62,"Bool8x16");
}
return %CreateBool8x16(C,D,E,F,G,H,I,J,c8,c9,c10,c11,c12,
c13,c14,c15);
}
function Float32x4AbsJS(q){
return %Float32x4Abs(q);
}
function Float32x4SqrtJS(q){
return %Float32x4Sqrt(q);
}
function Float32x4RecipApproxJS(q){
return %Float32x4RecipApprox(q);
}
function Float32x4RecipSqrtApproxJS(q){
return %Float32x4RecipSqrtApprox(q);
}
function Float32x4DivJS(q,x){
return %Float32x4Div(q,x);
}
function Float32x4MinNumJS(q,x){
return %Float32x4MinNum(q,x);
}
function Float32x4MaxNumJS(q,x){
return %Float32x4MaxNum(q,x);
}
%AddNamedProperty(c,e,'SIMD',1|2);
%SetCode(g,Float32x4Constructor);
%FunctionSetPrototype(g,{});
%AddNamedProperty(g.prototype,'constructor',g,
2);
%AddNamedProperty(g.prototype,e,'Float32x4',
2|1);
b.InstallFunctions(g.prototype,2,[
'toLocaleString',Float32x4ToLocaleString,
'toString',Float32x4ToString,
'valueOf',Float32x4ValueOf,
]);


%SetCode(h,Int32x4Constructor);
%FunctionSetPrototype(h,{});
%AddNamedProperty(h.prototype,'constructor',h,
2);
%AddNamedProperty(h.prototype,e,'Int32x4',
2|1);
b.InstallFunctions(h.prototype,2,[
'toLocaleString',Int32x4ToLocaleString,
'toString',Int32x4ToString,
'valueOf',Int32x4ValueOf,
]);

%SetCode(i,Int16x8Constructor);
%FunctionSetPrototype(i,{});
%AddNamedProperty(i.prototype,'constructor',i,
2);
%AddNamedProperty(i.prototype,e,'Int16x8',
2|1);
b.InstallFunctions(i.prototype,2,[
'toLocaleString',Int16x8ToLocaleString,
'toString',Int16x8ToString,
'valueOf',Int16x8ValueOf,
]);

%SetCode(j,Int8x16Constructor);
%FunctionSetPrototype(j,{});
%AddNamedProperty(j.prototype,'constructor',j,
2);
%AddNamedProperty(j.prototype,e,'Int8x16',
2|1);
b.InstallFunctions(j.prototype,2,[
'toLocaleString',Int8x16ToLocaleString,
'toString',Int8x16ToString,
'valueOf',Int8x16ValueOf,
]);


%SetCode(k,Uint32x4Constructor);
%FunctionSetPrototype(k,{});
%AddNamedProperty(k.prototype,'constructor',k,
2);
%AddNamedProperty(k.prototype,e,'Uint32x4',
2|1);
b.InstallFunctions(k.prototype,2,[
'toLocaleString',Uint32x4ToLocaleString,
'toString',Uint32x4ToString,
'valueOf',Uint32x4ValueOf,
]);

%SetCode(l,Uint16x8Constructor);
%FunctionSetPrototype(l,{});
%AddNamedProperty(l.prototype,'constructor',l,
2);
%AddNamedProperty(l.prototype,e,'Uint16x8',
2|1);
b.InstallFunctions(l.prototype,2,[
'toLocaleString',Uint16x8ToLocaleString,
'toString',Uint16x8ToString,
'valueOf',Uint16x8ValueOf,
]);

%SetCode(m,Uint8x16Constructor);
%FunctionSetPrototype(m,{});
%AddNamedProperty(m.prototype,'constructor',m,
2);
%AddNamedProperty(m.prototype,e,'Uint8x16',
2|1);
b.InstallFunctions(m.prototype,2,[
'toLocaleString',Uint8x16ToLocaleString,
'toString',Uint8x16ToString,
'valueOf',Uint8x16ValueOf,
]);


%SetCode(n,Bool32x4Constructor);
%FunctionSetPrototype(n,{});
%AddNamedProperty(n.prototype,'constructor',n,
2);
%AddNamedProperty(n.prototype,e,'Bool32x4',
2|1);
b.InstallFunctions(n.prototype,2,[
'toLocaleString',Bool32x4ToLocaleString,
'toString',Bool32x4ToString,
'valueOf',Bool32x4ValueOf,
]);

%SetCode(o,Bool16x8Constructor);
%FunctionSetPrototype(o,{});
%AddNamedProperty(o.prototype,'constructor',o,
2);
%AddNamedProperty(o.prototype,e,'Bool16x8',
2|1);
b.InstallFunctions(o.prototype,2,[
'toLocaleString',Bool16x8ToLocaleString,
'toString',Bool16x8ToString,
'valueOf',Bool16x8ValueOf,
]);

%SetCode(p,Bool8x16Constructor);
%FunctionSetPrototype(p,{});
%AddNamedProperty(p.prototype,'constructor',p,
2);
%AddNamedProperty(p.prototype,e,'Bool8x16',
2|1);
b.InstallFunctions(p.prototype,2,[
'toLocaleString',Bool8x16ToLocaleString,
'toString',Bool8x16ToString,
'valueOf',Bool8x16ValueOf,
]);



b.InstallFunctions(g,2,[
'splat',Float32x4Splat,
'check',Float32x4CheckJS,
'extractLane',Float32x4ExtractLaneJS,
'replaceLane',Float32x4ReplaceLaneJS,
'neg',Float32x4NegJS,
'abs',Float32x4AbsJS,
'sqrt',Float32x4SqrtJS,
'reciprocalApproximation',Float32x4RecipApproxJS,
'reciprocalSqrtApproximation',Float32x4RecipSqrtApproxJS,
'add',Float32x4AddJS,
'sub',Float32x4SubJS,
'mul',Float32x4MulJS,
'div',Float32x4DivJS,
'min',Float32x4MinJS,
'max',Float32x4MaxJS,
'minNum',Float32x4MinNumJS,
'maxNum',Float32x4MaxNumJS,
'lessThan',Float32x4LessThanJS,
'lessThanOrEqual',Float32x4LessThanOrEqualJS,
'greaterThan',Float32x4GreaterThanJS,
'greaterThanOrEqual',Float32x4GreaterThanOrEqualJS,
'equal',Float32x4EqualJS,
'notEqual',Float32x4NotEqualJS,
'select',Float32x4SelectJS,
'swizzle',Float32x4SwizzleJS,
'shuffle',Float32x4ShuffleJS,
'fromInt32x4',Float32x4FromInt32x4JS,
'fromUint32x4',Float32x4FromUint32x4JS,
'fromInt32x4Bits',Float32x4FromInt32x4BitsJS,
'fromUint32x4Bits',Float32x4FromUint32x4BitsJS,
'fromInt16x8Bits',Float32x4FromInt16x8BitsJS,
'fromUint16x8Bits',Float32x4FromUint16x8BitsJS,
'fromInt8x16Bits',Float32x4FromInt8x16BitsJS,
'fromUint8x16Bits',Float32x4FromUint8x16BitsJS,
'load',Float32x4LoadJS,
'load1',Float32x4Load1JS,
'load2',Float32x4Load2JS,
'load3',Float32x4Load3JS,
'store',Float32x4StoreJS,
'store1',Float32x4Store1JS,
'store2',Float32x4Store2JS,
'store3',Float32x4Store3JS,
]);
b.InstallFunctions(h,2,[
'splat',Int32x4Splat,
'check',Int32x4CheckJS,
'extractLane',Int32x4ExtractLaneJS,
'replaceLane',Int32x4ReplaceLaneJS,
'neg',Int32x4NegJS,
'add',Int32x4AddJS,
'sub',Int32x4SubJS,
'mul',Int32x4MulJS,
'min',Int32x4MinJS,
'max',Int32x4MaxJS,
'and',Int32x4AndJS,
'or',Int32x4OrJS,
'xor',Int32x4XorJS,
'not',Int32x4NotJS,
'shiftLeftByScalar',Int32x4ShiftLeftByScalarJS,
'shiftRightByScalar',Int32x4ShiftRightByScalarJS,
'lessThan',Int32x4LessThanJS,
'lessThanOrEqual',Int32x4LessThanOrEqualJS,
'greaterThan',Int32x4GreaterThanJS,
'greaterThanOrEqual',Int32x4GreaterThanOrEqualJS,
'equal',Int32x4EqualJS,
'notEqual',Int32x4NotEqualJS,
'select',Int32x4SelectJS,
'swizzle',Int32x4SwizzleJS,
'shuffle',Int32x4ShuffleJS,
'fromFloat32x4',Int32x4FromFloat32x4JS,
'fromUint32x4',Int32x4FromUint32x4JS,
'fromFloat32x4Bits',Int32x4FromFloat32x4BitsJS,
'fromUint32x4Bits',Int32x4FromUint32x4BitsJS,
'fromInt16x8Bits',Int32x4FromInt16x8BitsJS,
'fromUint16x8Bits',Int32x4FromUint16x8BitsJS,
'fromInt8x16Bits',Int32x4FromInt8x16BitsJS,
'fromUint8x16Bits',Int32x4FromUint8x16BitsJS,
'load',Int32x4LoadJS,
'load1',Int32x4Load1JS,
'load2',Int32x4Load2JS,
'load3',Int32x4Load3JS,
'store',Int32x4StoreJS,
'store1',Int32x4Store1JS,
'store2',Int32x4Store2JS,
'store3',Int32x4Store3JS,
]);
b.InstallFunctions(k,2,[
'splat',Uint32x4Splat,
'check',Uint32x4CheckJS,
'extractLane',Uint32x4ExtractLaneJS,
'replaceLane',Uint32x4ReplaceLaneJS,
'add',Uint32x4AddJS,
'sub',Uint32x4SubJS,
'mul',Uint32x4MulJS,
'min',Uint32x4MinJS,
'max',Uint32x4MaxJS,
'and',Uint32x4AndJS,
'or',Uint32x4OrJS,
'xor',Uint32x4XorJS,
'not',Uint32x4NotJS,
'shiftLeftByScalar',Uint32x4ShiftLeftByScalarJS,
'shiftRightByScalar',Uint32x4ShiftRightByScalarJS,
'lessThan',Uint32x4LessThanJS,
'lessThanOrEqual',Uint32x4LessThanOrEqualJS,
'greaterThan',Uint32x4GreaterThanJS,
'greaterThanOrEqual',Uint32x4GreaterThanOrEqualJS,
'equal',Uint32x4EqualJS,
'notEqual',Uint32x4NotEqualJS,
'select',Uint32x4SelectJS,
'swizzle',Uint32x4SwizzleJS,
'shuffle',Uint32x4ShuffleJS,
'fromFloat32x4',Uint32x4FromFloat32x4JS,
'fromInt32x4',Uint32x4FromInt32x4JS,
'fromFloat32x4Bits',Uint32x4FromFloat32x4BitsJS,
'fromInt32x4Bits',Uint32x4FromInt32x4BitsJS,
'fromInt16x8Bits',Uint32x4FromInt16x8BitsJS,
'fromUint16x8Bits',Uint32x4FromUint16x8BitsJS,
'fromInt8x16Bits',Uint32x4FromInt8x16BitsJS,
'fromUint8x16Bits',Uint32x4FromUint8x16BitsJS,
'load',Uint32x4LoadJS,
'load1',Uint32x4Load1JS,
'load2',Uint32x4Load2JS,
'load3',Uint32x4Load3JS,
'store',Uint32x4StoreJS,
'store1',Uint32x4Store1JS,
'store2',Uint32x4Store2JS,
'store3',Uint32x4Store3JS,
]);
b.InstallFunctions(n,2,[
'splat',Bool32x4Splat,
'check',Bool32x4CheckJS,
'extractLane',Bool32x4ExtractLaneJS,
'replaceLane',Bool32x4ReplaceLaneJS,
'and',Bool32x4AndJS,
'or',Bool32x4OrJS,
'xor',Bool32x4XorJS,
'not',Bool32x4NotJS,
'anyTrue',Bool32x4AnyTrueJS,
'allTrue',Bool32x4AllTrueJS,
'swizzle',Bool32x4SwizzleJS,
'shuffle',Bool32x4ShuffleJS,
]);
b.InstallFunctions(i,2,[
'splat',Int16x8Splat,
'check',Int16x8CheckJS,
'extractLane',Int16x8ExtractLaneJS,
'replaceLane',Int16x8ReplaceLaneJS,
'neg',Int16x8NegJS,
'add',Int16x8AddJS,
'sub',Int16x8SubJS,
'addSaturate',Int16x8AddSaturateJS,
'subSaturate',Int16x8SubSaturateJS,
'mul',Int16x8MulJS,
'min',Int16x8MinJS,
'max',Int16x8MaxJS,
'and',Int16x8AndJS,
'or',Int16x8OrJS,
'xor',Int16x8XorJS,
'not',Int16x8NotJS,
'shiftLeftByScalar',Int16x8ShiftLeftByScalarJS,
'shiftRightByScalar',Int16x8ShiftRightByScalarJS,
'lessThan',Int16x8LessThanJS,
'lessThanOrEqual',Int16x8LessThanOrEqualJS,
'greaterThan',Int16x8GreaterThanJS,
'greaterThanOrEqual',Int16x8GreaterThanOrEqualJS,
'equal',Int16x8EqualJS,
'notEqual',Int16x8NotEqualJS,
'select',Int16x8SelectJS,
'swizzle',Int16x8SwizzleJS,
'shuffle',Int16x8ShuffleJS,
'fromUint16x8',Int16x8FromUint16x8JS,
'fromFloat32x4Bits',Int16x8FromFloat32x4BitsJS,
'fromInt32x4Bits',Int16x8FromInt32x4BitsJS,
'fromUint32x4Bits',Int16x8FromUint32x4BitsJS,
'fromUint16x8Bits',Int16x8FromUint16x8BitsJS,
'fromInt8x16Bits',Int16x8FromInt8x16BitsJS,
'fromUint8x16Bits',Int16x8FromUint8x16BitsJS,
'load',Int16x8LoadJS,
'store',Int16x8StoreJS,
]);
b.InstallFunctions(l,2,[
'splat',Uint16x8Splat,
'check',Uint16x8CheckJS,
'extractLane',Uint16x8ExtractLaneJS,
'replaceLane',Uint16x8ReplaceLaneJS,
'add',Uint16x8AddJS,
'sub',Uint16x8SubJS,
'addSaturate',Uint16x8AddSaturateJS,
'subSaturate',Uint16x8SubSaturateJS,
'mul',Uint16x8MulJS,
'min',Uint16x8MinJS,
'max',Uint16x8MaxJS,
'and',Uint16x8AndJS,
'or',Uint16x8OrJS,
'xor',Uint16x8XorJS,
'not',Uint16x8NotJS,
'shiftLeftByScalar',Uint16x8ShiftLeftByScalarJS,
'shiftRightByScalar',Uint16x8ShiftRightByScalarJS,
'lessThan',Uint16x8LessThanJS,
'lessThanOrEqual',Uint16x8LessThanOrEqualJS,
'greaterThan',Uint16x8GreaterThanJS,
'greaterThanOrEqual',Uint16x8GreaterThanOrEqualJS,
'equal',Uint16x8EqualJS,
'notEqual',Uint16x8NotEqualJS,
'select',Uint16x8SelectJS,
'swizzle',Uint16x8SwizzleJS,
'shuffle',Uint16x8ShuffleJS,
'fromInt16x8',Uint16x8FromInt16x8JS,
'fromFloat32x4Bits',Uint16x8FromFloat32x4BitsJS,
'fromInt32x4Bits',Uint16x8FromInt32x4BitsJS,
'fromUint32x4Bits',Uint16x8FromUint32x4BitsJS,
'fromInt16x8Bits',Uint16x8FromInt16x8BitsJS,
'fromInt8x16Bits',Uint16x8FromInt8x16BitsJS,
'fromUint8x16Bits',Uint16x8FromUint8x16BitsJS,
'load',Uint16x8LoadJS,
'store',Uint16x8StoreJS,
]);
b.InstallFunctions(o,2,[
'splat',Bool16x8Splat,
'check',Bool16x8CheckJS,
'extractLane',Bool16x8ExtractLaneJS,
'replaceLane',Bool16x8ReplaceLaneJS,
'and',Bool16x8AndJS,
'or',Bool16x8OrJS,
'xor',Bool16x8XorJS,
'not',Bool16x8NotJS,
'anyTrue',Bool16x8AnyTrueJS,
'allTrue',Bool16x8AllTrueJS,
'swizzle',Bool16x8SwizzleJS,
'shuffle',Bool16x8ShuffleJS,
]);
b.InstallFunctions(j,2,[
'splat',Int8x16Splat,
'check',Int8x16CheckJS,
'extractLane',Int8x16ExtractLaneJS,
'replaceLane',Int8x16ReplaceLaneJS,
'neg',Int8x16NegJS,
'add',Int8x16AddJS,
'sub',Int8x16SubJS,
'addSaturate',Int8x16AddSaturateJS,
'subSaturate',Int8x16SubSaturateJS,
'mul',Int8x16MulJS,
'min',Int8x16MinJS,
'max',Int8x16MaxJS,
'and',Int8x16AndJS,
'or',Int8x16OrJS,
'xor',Int8x16XorJS,
'not',Int8x16NotJS,
'shiftLeftByScalar',Int8x16ShiftLeftByScalarJS,
'shiftRightByScalar',Int8x16ShiftRightByScalarJS,
'lessThan',Int8x16LessThanJS,
'lessThanOrEqual',Int8x16LessThanOrEqualJS,
'greaterThan',Int8x16GreaterThanJS,
'greaterThanOrEqual',Int8x16GreaterThanOrEqualJS,
'equal',Int8x16EqualJS,
'notEqual',Int8x16NotEqualJS,
'select',Int8x16SelectJS,
'swizzle',Int8x16SwizzleJS,
'shuffle',Int8x16ShuffleJS,
'fromUint8x16',Int8x16FromUint8x16JS,
'fromFloat32x4Bits',Int8x16FromFloat32x4BitsJS,
'fromInt32x4Bits',Int8x16FromInt32x4BitsJS,
'fromUint32x4Bits',Int8x16FromUint32x4BitsJS,
'fromInt16x8Bits',Int8x16FromInt16x8BitsJS,
'fromUint16x8Bits',Int8x16FromUint16x8BitsJS,
'fromUint8x16Bits',Int8x16FromUint8x16BitsJS,
'load',Int8x16LoadJS,
'store',Int8x16StoreJS,
]);
b.InstallFunctions(m,2,[
'splat',Uint8x16Splat,
'check',Uint8x16CheckJS,
'extractLane',Uint8x16ExtractLaneJS,
'replaceLane',Uint8x16ReplaceLaneJS,
'add',Uint8x16AddJS,
'sub',Uint8x16SubJS,
'addSaturate',Uint8x16AddSaturateJS,
'subSaturate',Uint8x16SubSaturateJS,
'mul',Uint8x16MulJS,
'min',Uint8x16MinJS,
'max',Uint8x16MaxJS,
'and',Uint8x16AndJS,
'or',Uint8x16OrJS,
'xor',Uint8x16XorJS,
'not',Uint8x16NotJS,
'shiftLeftByScalar',Uint8x16ShiftLeftByScalarJS,
'shiftRightByScalar',Uint8x16ShiftRightByScalarJS,
'lessThan',Uint8x16LessThanJS,
'lessThanOrEqual',Uint8x16LessThanOrEqualJS,
'greaterThan',Uint8x16GreaterThanJS,
'greaterThanOrEqual',Uint8x16GreaterThanOrEqualJS,
'equal',Uint8x16EqualJS,
'notEqual',Uint8x16NotEqualJS,
'select',Uint8x16SelectJS,
'swizzle',Uint8x16SwizzleJS,
'shuffle',Uint8x16ShuffleJS,
'fromInt8x16',Uint8x16FromInt8x16JS,
'fromFloat32x4Bits',Uint8x16FromFloat32x4BitsJS,
'fromInt32x4Bits',Uint8x16FromInt32x4BitsJS,
'fromUint32x4Bits',Uint8x16FromUint32x4BitsJS,
'fromInt16x8Bits',Uint8x16FromInt16x8BitsJS,
'fromUint16x8Bits',Uint8x16FromUint16x8BitsJS,
'fromInt8x16Bits',Uint8x16FromInt8x16BitsJS,
'load',Uint8x16LoadJS,
'store',Uint8x16StoreJS,
]);
b.InstallFunctions(p,2,[
'splat',Bool8x16Splat,
'check',Bool8x16CheckJS,
'extractLane',Bool8x16ExtractLaneJS,
'replaceLane',Bool8x16ReplaceLaneJS,
'and',Bool8x16AndJS,
'or',Bool8x16OrJS,
'xor',Bool8x16XorJS,
'not',Bool8x16NotJS,
'anyTrue',Bool8x16AnyTrueJS,
'allTrue',Bool8x16AllTrueJS,
'swizzle',Bool8x16SwizzleJS,
'shuffle',Bool8x16ShuffleJS,
]);
b.Export(function(K){
K.Float32x4ToString=Float32x4ToString;
K.Int32x4ToString=Int32x4ToString;
K.Uint32x4ToString=Uint32x4ToString;
K.Bool32x4ToString=Bool32x4ToString;
K.Int16x8ToString=Int16x8ToString;
K.Uint16x8ToString=Uint16x8ToString;
K.Bool16x8ToString=Bool16x8ToString;
K.Int8x16ToString=Int8x16ToString;
K.Uint8x16ToString=Uint8x16ToString;
K.Bool8x16ToString=Bool8x16ToString;
});
})

<harmony-speciesE
(function(a,b,c){
"use strict";
%CheckIsBootstrapping();
var d=a.Array;
var e=a.Uint8Array.__proto__;
var f=a.Map;
var g=a.Set;
var h=a.ArrayBuffer;
var i=a.Promise;
var j=a.RegExp;
var k=b.ImportNow("species_symbol");
function ArraySpecies(){
return this;
}
function TypedArraySpecies(){
return this;
}
function MapSpecies(){
return this;
}
function SetSpecies(){
return this;
}
function ArrayBufferSpecies(){
return this;
}
function PromiseSpecies(){
return this;
}
function RegExpSpecies(){
return this;
}
b.InstallGetter(d,k,ArraySpecies,2);
b.InstallGetter(e,k,TypedArraySpecies,2);
b.InstallGetter(f,k,MapSpecies,2);
b.InstallGetter(g,k,SetSpecies,2);
b.InstallGetter(h,k,ArrayBufferSpecies,
2);
b.InstallGetter(i,k,PromiseSpecies,2);
b.InstallGetter(j,k,RegExpSpecies,2);
});

\harmony-unicode-regexps±
(function(a,b){
'use strict';
%CheckIsBootstrapping();
var c=a.RegExp;
var d=c.prototype;
var e;
b.Import(function(f){
e=f.MakeTypeError;
});
function RegExpGetUnicode(){
if(!(%_IsRegExp(this))){
if(this===d){
%IncrementUseCounter(13);
return(void 0);
}
throw e(131,"RegExp.prototype.unicode");
}
return!!(%_RegExpFlags(this)&16);
}
%FunctionSetName(RegExpGetUnicode,"RegExp.prototype.unicode");
%SetNativeFlag(RegExpGetUnicode);
b.InstallGetter(c.prototype,'unicode',RegExpGetUnicode);
})

4promise-extra‰
(function(a,b){
"use strict";
%CheckIsBootstrapping();
var c=a.Promise;
var d=b.ImportNow("PromiseChain");
var e=b.ImportNow("PromiseDeferred");
var f=b.ImportNow("PromiseResolved");
b.InstallFunctions(c.prototype,2,[
"chain",d,
]);
b.InstallFunctions(c,2,[
"defer",e,
"accept",f,
]);
})

XReadableStreamTempStubm
(function(global, binding, v8) {
  'use strict';
  const TypeError = global.TypeError;
  const defineProperty = global.Object.defineProperty;
  class ReadableStream {
    constructor() {
      throw new TypeError('Illegal constructor');
    }
    getReader() {
      throw new TypeError('Illegal invocation');
    }
    cancel() {
      throw new TypeError('Illegal invocation');
    }
  }
  defineProperty(global, 'ReadableStream', {
    value: ReadableStream,
    enumerable: false,
    configurable: true,
    writable: true
  });
});
dByteLengthQueuingStrategyÑ
(function(global, binding, v8) {
  'use strict';
  const defineProperty = global.Object.defineProperty;
  class ByteLengthQueuingStrategy {
    constructor(options) {
      defineProperty(this, 'highWaterMark', {
        value: options.highWaterMark,
        enumerable: true,
        configurable: true,
        writable: true
      });
    }
    size(chunk) { return chunk.byteLength; }
  }
  defineProperty(global, 'ByteLengthQueuingStrategy', {
    value: ByteLengthQueuingStrategy,
    enumerable: false,
    configurable: true,
    writable: true
  });
});
PCountQueuingStrategyY
(function(global, binding, v8) {
  'use strict';
  const defineProperty = global.Object.defineProperty;
  class CountQueuingStrategy {
    constructor(options) {
      defineProperty(this, 'highWaterMark', {
        value: options.highWaterMark,
        enumerable: true,
        configurable: true,
        writable: true
      });
    }
    size(chunk) { return 1; }
  }
  defineProperty(global, 'CountQueuingStrategy', {
    value: CountQueuingStrategy,
    enumerable: false,
    configurable: true,
    writable: true
  });
});
8ReadableStreamVg
(function(global, binding, v8) {
  'use strict';
  const readableStreamController = v8.createPrivateSymbol('[[controller]]');
  const readableStreamQueue = v8.createPrivateSymbol('[[queue]]');
  const readableStreamQueueSize =
      v8.createPrivateSymbol('[[queue]] total size');
  const readableStreamReader = v8.createPrivateSymbol('[[reader]]');
  const readableStreamState = v8.createPrivateSymbol('[[state]]');
  const readableStreamStoredError = v8.createPrivateSymbol('[[storedError]]');
  const readableStreamStrategySize = v8.createPrivateSymbol('[[strategySize]]');
  const readableStreamStrategyHWM = v8.createPrivateSymbol('[[strategyHWM]]');
  const readableStreamUnderlyingSource =
      v8.createPrivateSymbol('[[underlyingSource]]');
  const readableStreamControllerControlledReadableStream =
      v8.createPrivateSymbol('[[controlledReadableStream]]');
  const readableStreamReaderClosedPromise =
      v8.createPrivateSymbol('[[closedPromise]]');
  const readableStreamReaderOwnerReadableStream =
      v8.createPrivateSymbol('[[ownerReadableStream]]');
  const readableStreamReaderReadRequests =
      v8.createPrivateSymbol('[[readRequests]]');
  const STATE_READABLE = 0;
  const STATE_CLOSED = 1;
  const STATE_ERRORED = 2;
  const readableStreamBits = v8.createPrivateSymbol(
      'bit field for [[started]], [[closeRequested]], [[pulling]], [[pullAgain]], [[disturbed]]');
  const STARTED = 0b1;
  const CLOSE_REQUESTED = 0b10;
  const PULLING = 0b100;
  const PULL_AGAIN = 0b1000;
  const DISTURBED = 0b10000;
  const undefined = global.undefined;
  const Infinity = global.Infinity;
  const defineProperty = global.Object.defineProperty;
  const hasOwnProperty = v8.uncurryThis(global.Object.hasOwnProperty);
  const callFunction = v8.uncurryThis(global.Function.prototype.call);
  const TypeError = global.TypeError;
  const RangeError = global.RangeError;
  const Number = global.Number;
  const Number_isNaN = Number.isNaN;
  const Number_isFinite = Number.isFinite;
  const Promise = global.Promise;
  const thenPromise = v8.uncurryThis(Promise.prototype.then);
  const Promise_resolve = v8.simpleBind(Promise.resolve, Promise);
  const Promise_reject = v8.simpleBind(Promise.reject, Promise);
  const errIllegalInvocation = 'Illegal invocation';
  const errIllegalConstructor = 'Illegal constructor';
  const errCancelLockedStream =
      'Cannot cancel a readable stream that is locked to a reader';
  const errEnqueueInCloseRequestedStream =
      'Cannot enqueue a chunk into a readable stream that is closed or has been requested to be closed';
  const errCancelReleasedReader =
      'This readable stream reader has been released and cannot be used to cancel its previous owner stream';
  const errReadReleasedReader =
      'This readable stream reader has been released and cannot be used to read from its previous owner stream';
  const errCloseCloseRequestedStream =
      'Cannot close a readable stream that has already been requested to be closed';
  const errCloseErroredStream = 'Cannot close an errored readable stream';
  const errErrorClosedStream = 'Cannot error a close readable stream';
  const errErrorErroredStream =
      'Cannot error a readable stream that is already errored';
  const errReaderConstructorBadArgument =
      'ReadableStreamReader constructor argument is not a readable stream';
  const errReaderConstructorStreamAlreadyLocked =
      'ReadableStreamReader constructor can only accept readable streams that are not yet locked to a reader';
  const errReleaseReaderWithPendingRead =
      'Cannot release a readable stream reader when it still has outstanding read() calls that have not yet settled';
  const errReleasedReaderClosedPromise =
      'This readable stream reader has been released and cannot be used to monitor the stream\'s state';
  const errInvalidSize =
      'The return value of a queuing strategy\'s size function must be a finite, non-NaN, non-negative number';
  const errSizeNotAFunction =
      'A queuing strategy\'s size property must be a function';
  const errInvalidHWM =
      'A queueing strategy\'s highWaterMark property must be a nonnegative, non-NaN number';
  const errTmplMustBeFunctionOrUndefined = name =>
      `${name} must be a function or undefined`;
  class ReadableStream {
    constructor() {
      const underlyingSource = arguments[0] === undefined ? {} : arguments[0];
      const strategy = arguments[1] === undefined ? {} : arguments[1];
      const size = strategy.size;
      let highWaterMark = strategy.highWaterMark;
      if (highWaterMark === undefined) {
        highWaterMark = 1;
      }
      const normalizedStrategy =
          ValidateAndNormalizeQueuingStrategy(size, highWaterMark);
      this[readableStreamUnderlyingSource] = underlyingSource;
      this[readableStreamQueue] = new v8.InternalPackedArray();
      this[readableStreamQueueSize] = 0;
      this[readableStreamState] = STATE_READABLE;
      this[readableStreamBits] = 0b0;
      this[readableStreamReader] = undefined;
      this[readableStreamStoredError] = undefined;
      this[readableStreamStrategySize] = normalizedStrategy.size;
      this[readableStreamStrategyHWM] = normalizedStrategy.highWaterMark;
      const controller = new ReadableStreamController(this);
      this[readableStreamController] = controller;
      const startResult = CallOrNoop(
          underlyingSource, 'start', controller, 'underlyingSource.start');
      thenPromise(Promise_resolve(startResult),
          () => {
            this[readableStreamBits] |= STARTED;
            RequestReadableStreamPull(this);
          },
          r => {
            if (this[readableStreamState] === STATE_READABLE) {
              return ErrorReadableStream(this, r);
            }
          });
    }
    get locked() {
      if (IsReadableStream(this) === false) {
        throw new TypeError(errIllegalInvocation);
      }
      return IsReadableStreamLocked(this);
    }
    cancel(reason) {
      if (IsReadableStream(this) === false) {
        return Promise_reject(new TypeError(errIllegalInvocation));
      }
      if (IsReadableStreamLocked(this) === true) {
        return Promise_reject(new TypeError(errCancelLockedStream));
      }
      return CancelReadableStream(this, reason);
    }
    getReader() {
      if (IsReadableStream(this) === false) {
        throw new TypeError(errIllegalInvocation);
      }
      return AcquireReadableStreamReader(this);
    }
    tee() {
      if (IsReadableStream(this) === false) {
        throw new TypeError(errIllegalInvocation);
      }
      return TeeReadableStream(this);
    }
  }
  class ReadableStreamController {
    constructor(stream) {
      if (IsReadableStream(stream) === false) {
        throw new TypeError(errIllegalConstructor);
      }
      if (stream[readableStreamController] !== undefined) {
        throw new TypeError(errIllegalConstructor);
      }
      this[readableStreamControllerControlledReadableStream] = stream;
    }
    get desiredSize() {
      if (IsReadableStreamController(this) === false) {
        throw new TypeError(errIllegalInvocation);
      }
      return GetReadableStreamDesiredSize(
          this[readableStreamControllerControlledReadableStream]);
    }
    close() {
      if (IsReadableStreamController(this) === false) {
        throw new TypeError(errIllegalInvocation);
      }
      const stream = this[readableStreamControllerControlledReadableStream];
      if (stream[readableStreamBits] & CLOSE_REQUESTED) {
        throw new TypeError(errCloseCloseRequestedStream);
      }
      if (stream[readableStreamState] === STATE_ERRORED) {
        throw new TypeError(errCloseErroredStream);
      }
      return CloseReadableStream(stream);
    }
    enqueue(chunk) {
      if (IsReadableStreamController(this) === false) {
        throw new TypeError(errIllegalInvocation);
      }
      const stream = this[readableStreamControllerControlledReadableStream];
      if (stream[readableStreamState] === STATE_ERRORED) {
        throw stream[readableStreamStoredError];
      }
      if (stream[readableStreamBits] & CLOSE_REQUESTED) {
        throw new TypeError(errEnqueueInCloseRequestedStream);
      }
      return EnqueueInReadableStream(stream, chunk);
    }
    error(e) {
      if (IsReadableStreamController(this) === false) {
        throw new TypeError(errIllegalInvocation);
      }
      const stream = this[readableStreamControllerControlledReadableStream];
      const state = stream[readableStreamState];
      if (state !== STATE_READABLE) {
        if (state === STATE_ERRORED) {
          throw new TypeError(errErrorErroredStream);
        }
        if (state === STATE_CLOSED) {
          throw new TypeError(errErrorClosedStream);
        }
      }
      return ErrorReadableStream(stream, e);
    }
  }
  class ReadableStreamReader {
    constructor(stream) {
      if (IsReadableStream(stream) === false) {
        throw new TypeError(errReaderConstructorBadArgument);
      }
      if (IsReadableStreamLocked(stream) === true) {
        throw new TypeError(errReaderConstructorStreamAlreadyLocked);
      }
      this[readableStreamReaderOwnerReadableStream] = stream;
      stream[readableStreamReader] = this;
      this[readableStreamReaderReadRequests] = new v8.InternalPackedArray();
      switch (stream[readableStreamState]) {
        case STATE_READABLE:
          this[readableStreamReaderClosedPromise] = v8.createPromise();
          break;
        case STATE_CLOSED:
          this[readableStreamReaderClosedPromise] = Promise_resolve(undefined);
          break;
        case STATE_ERRORED:
          this[readableStreamReaderClosedPromise] =
              Promise_reject(stream[readableStreamStoredError]);
          break;
      }
    }
    get closed() {
      if (IsReadableStreamReader(this) === false) {
        return Promise_reject(new TypeError(errIllegalInvocation));
      }
      return this[readableStreamReaderClosedPromise];
    }
    cancel(reason) {
      if (IsReadableStreamReader(this) === false) {
        return Promise_reject(new TypeError(errIllegalInvocation));
      }
      const stream = this[readableStreamReaderOwnerReadableStream];
      if (stream === undefined) {
        return Promise_reject(new TypeError(errCancelReleasedReader));
      }
      return CancelReadableStream(stream, reason);
    }
    read() {
      if (IsReadableStreamReader(this) === false) {
        return Promise_reject(new TypeError(errIllegalInvocation));
      }
      if (this[readableStreamReaderOwnerReadableStream] === undefined) {
        return Promise_reject(new TypeError(errReadReleasedReader));
      }
      return ReadFromReadableStreamReader(this);
    }
    releaseLock() {
      if (IsReadableStreamReader(this) === false) {
        throw new TypeError(errIllegalInvocation);
      }
      const stream = this[readableStreamReaderOwnerReadableStream];
      if (stream === undefined) {
        return undefined;
      }
      if (this[readableStreamReaderReadRequests].length > 0) {
        throw new TypeError(errReleaseReaderWithPendingRead);
      }
      if (stream[readableStreamState] === STATE_READABLE) {
        v8.rejectPromise(this[readableStreamReaderClosedPromise],
            new TypeError(errReleasedReaderClosedPromise));
      } else {
        this[readableStreamReaderClosedPromise] = Promise_reject(new TypeError(
            errReleasedReaderClosedPromise));
      }
      this[readableStreamReaderOwnerReadableStream][readableStreamReader] =
          undefined;
      this[readableStreamReaderOwnerReadableStream] = undefined;
    }
  }
  function AcquireReadableStreamReader(stream) {
    return new ReadableStreamReader(stream);
  }
  function CancelReadableStream(stream, reason) {
    stream[readableStreamBits] |= DISTURBED;
    const state = stream[readableStreamState];
    if (state === STATE_CLOSED) {
      return Promise_resolve(undefined);
    }
    if (state === STATE_ERRORED) {
      return Promise_reject(stream[readableStreamStoredError]);
    }
    stream[readableStreamQueue] = new v8.InternalPackedArray();
    FinishClosingReadableStream(stream);
    const underlyingSource = stream[readableStreamUnderlyingSource];
    const sourceCancelPromise = PromiseCallOrNoop(
        underlyingSource, 'cancel', reason, 'underlyingSource.cancel');
    return thenPromise(sourceCancelPromise, () => undefined);
  }
  function CloseReadableStream(stream) {
    if (stream[readableStreamState] === STATE_CLOSED) {
      return undefined;
    }
    stream[readableStreamBits] |= CLOSE_REQUESTED;
    if (stream[readableStreamQueue].length === 0) {
      return FinishClosingReadableStream(stream);
    }
  }
  function EnqueueInReadableStream(stream, chunk) {
    if (stream[readableStreamState] === STATE_CLOSED) {
      return undefined;
    }
    if (IsReadableStreamLocked(stream) === true &&
        stream[readableStreamReader][readableStreamReaderReadRequests].length >
            0) {
      const readRequest =
          stream[readableStreamReader][readableStreamReaderReadRequests]
              .shift();
      v8.resolvePromise(readRequest, CreateIterResultObject(chunk, false));
    } else {
      let chunkSize = 1;
      const strategySize = stream[readableStreamStrategySize];
      if (strategySize !== undefined) {
        try {
          chunkSize = strategySize(chunk);
        } catch (chunkSizeE) {
          if (stream[readableStreamState] === STATE_READABLE) {
            ErrorReadableStream(stream, chunkSizeE);
          }
          throw chunkSizeE;
        }
      }
      try {
        EnqueueValueWithSize(stream, chunk, chunkSize);
      } catch (enqueueE) {
        if (stream[readableStreamState] === STATE_READABLE) {
          ErrorReadableStream(stream, enqueueE);
        }
        throw enqueueE;
      }
    }
    RequestReadableStreamPull(stream);
  }
  function ErrorReadableStream(stream, e) {
    stream[readableStreamQueue] = new v8.InternalPackedArray();
    stream[readableStreamStoredError] = e;
    stream[readableStreamState] = STATE_ERRORED;
    const reader = stream[readableStreamReader];
    if (reader === undefined) {
      return undefined;
    }
    const readRequests = reader[readableStreamReaderReadRequests];
    for (let i = 0; i < readRequests.length; ++i) {
      v8.rejectPromise(readRequests[i], e);
    }
    reader[readableStreamReaderReadRequests] = new v8.InternalPackedArray();
    v8.rejectPromise(reader[readableStreamReaderClosedPromise], e);
  }
  function FinishClosingReadableStream(stream) {
    stream[readableStreamState] = STATE_CLOSED;
    const reader = stream[readableStreamReader];
    if (reader === undefined) {
      return undefined;
    }
    const readRequests = reader[readableStreamReaderReadRequests];
    for (let i = 0; i < readRequests.length; ++i) {
      v8.resolvePromise(
          readRequests[i], CreateIterResultObject(undefined, true));
    }
    reader[readableStreamReaderReadRequests] = new v8.InternalPackedArray();
    v8.resolvePromise(reader[readableStreamReaderClosedPromise], undefined);
  }
  function GetReadableStreamDesiredSize(stream) {
    const queueSize = GetTotalQueueSize(stream);
    return stream[readableStreamStrategyHWM] - queueSize;
  }
  function IsReadableStream(x) {
    return hasOwnProperty(x, readableStreamUnderlyingSource);
  }
  function IsReadableStreamDisturbed(stream) {
    return stream[readableStreamBits] & DISTURBED;
  }
  function IsReadableStreamLocked(stream) {
    return stream[readableStreamReader] !== undefined;
  }
  function IsReadableStreamController(x) {
    return hasOwnProperty(x, readableStreamControllerControlledReadableStream);
  }
  function IsReadableStreamReader(x) {
    return hasOwnProperty(x, readableStreamReaderOwnerReadableStream);
  }
  function ReadFromReadableStreamReader(reader) {
    const stream = reader[readableStreamReaderOwnerReadableStream];
    stream[readableStreamBits] |= DISTURBED;
    if (stream[readableStreamState] === STATE_CLOSED) {
      return Promise_resolve(CreateIterResultObject(undefined, true));
    }
    if (stream[readableStreamState] === STATE_ERRORED) {
      return Promise_reject(stream[readableStreamStoredError]);
    }
    const queue = stream[readableStreamQueue];
    if (queue.length > 0) {
      const chunk = DequeueValue(stream);
      if (stream[readableStreamBits] & CLOSE_REQUESTED && queue.length === 0) {
        FinishClosingReadableStream(stream);
      } else {
        RequestReadableStreamPull(stream);
      }
      return Promise_resolve(CreateIterResultObject(chunk, false));
    } else {
      const readRequest = v8.createPromise();
      reader[readableStreamReaderReadRequests].push(readRequest);
      RequestReadableStreamPull(stream);
      return readRequest;
    }
  }
  function RequestReadableStreamPull(stream) {
    const shouldPull = ShouldReadableStreamPull(stream);
    if (shouldPull === false) {
      return undefined;
    }
    if (stream[readableStreamBits] & PULLING) {
      stream[readableStreamBits] |= PULL_AGAIN;
      return undefined;
    }
    stream[readableStreamBits] |= PULLING;
    const underlyingSource = stream[readableStreamUnderlyingSource];
    const controller = stream[readableStreamController];
    const pullPromise = PromiseCallOrNoop(
        underlyingSource, 'pull', controller, 'underlyingSource.pull');
    thenPromise(pullPromise,
        () => {
          stream[readableStreamBits] &= ~PULLING;
          if (stream[readableStreamBits] & PULL_AGAIN) {
            stream[readableStreamBits] &= ~PULL_AGAIN;
            return RequestReadableStreamPull(stream);
          }
        },
        e => {
          if (stream[readableStreamState] === STATE_READABLE) {
            return ErrorReadableStream(stream, e);
          }
        });
  }
  function ShouldReadableStreamPull(stream) {
    const state = stream[readableStreamState];
    if (state === STATE_CLOSED || state === STATE_ERRORED) {
      return false;
    }
    if (stream[readableStreamBits] & CLOSE_REQUESTED) {
      return false;
    }
    if (!(stream[readableStreamBits] & STARTED)) {
      return false;
    }
    if (IsReadableStreamLocked(stream) === true) {
      const reader = stream[readableStreamReader];
      const readRequests = reader[readableStreamReaderReadRequests];
      if (readRequests.length > 0) {
        return true;
      }
    }
    const desiredSize = GetReadableStreamDesiredSize(stream);
    if (desiredSize > 0) {
      return true;
    }
    return false;
  }
  function TeeReadableStream(stream) {
    const reader = AcquireReadableStreamReader(stream);
    let closedOrErrored = false;
    let canceled1 = false;
    let canceled2 = false;
    let reason1;
    let reason2;
    let promise = v8.createPromise();
    const branch1 = new ReadableStream({pull, cancel: cancel1});
    const branch2 = new ReadableStream({pull, cancel: cancel2});
    thenPromise(
        reader[readableStreamReaderClosedPromise], undefined, function(r) {
          if (closedOrErrored === true) {
            return;
          }
          ErrorReadableStream(branch1, r);
          ErrorReadableStream(branch2, r);
          closedOrErrored = true;
        });
    return [branch1, branch2];
    function pull() {
      return thenPromise(
          ReadFromReadableStreamReader(reader), function(result) {
            const value = result.value;
            const done = result.done;
            if (done === true && closedOrErrored === false) {
              CloseReadableStream(branch1);
              CloseReadableStream(branch2);
              closedOrErrored = true;
            }
            if (closedOrErrored === true) {
              return;
            }
            if (canceled1 === false) {
              EnqueueInReadableStream(branch1, value);
            }
            if (canceled2 === false) {
              EnqueueInReadableStream(branch2, value);
            }
          });
    }
    function cancel1(reason) {
      canceled1 = true;
      reason1 = reason;
      if (canceled2 === true) {
        const compositeReason = [reason1, reason2];
        const cancelResult = CancelReadableStream(stream, compositeReason);
        v8.resolvePromise(promise, cancelResult);
      }
      return promise;
    }
    function cancel2(reason) {
      canceled2 = true;
      reason2 = reason;
      if (canceled1 === true) {
        const compositeReason = [reason1, reason2];
        const cancelResult = CancelReadableStream(stream, compositeReason);
        v8.resolvePromise(promise, cancelResult);
      }
      return promise;
    }
  }
  function DequeueValue(stream) {
    const result = stream[readableStreamQueue].shift();
    stream[readableStreamQueueSize] -= result.size;
    return result.value;
  }
  function EnqueueValueWithSize(stream, value, size) {
    size = Number(size);
    if (Number_isNaN(size) || size === +Infinity || size < 0) {
      throw new RangeError(errInvalidSize);
    }
    stream[readableStreamQueueSize] += size;
    stream[readableStreamQueue].push({value, size});
  }
  function GetTotalQueueSize(stream) { return stream[readableStreamQueueSize]; }
  function ValidateAndNormalizeQueuingStrategy(size, highWaterMark) {
    if (size !== undefined && typeof size !== 'function') {
      throw new TypeError(errSizeNotAFunction);
    }
    highWaterMark = Number(highWaterMark);
    if (Number_isNaN(highWaterMark)) {
      throw new TypeError(errInvalidHWM);
    }
    if (highWaterMark < 0) {
      throw new RangeError(errInvalidHWM);
    }
    return {size, highWaterMark};
  }
  function CallOrNoop(O, P, arg, nameForError) {
    const method = O[P];
    if (method === undefined) {
      return undefined;
    }
    if (typeof method !== 'function') {
      throw new TypeError(errTmplMustBeFunctionOrUndefined(nameForError));
    }
    return callFunction(method, O, arg);
  }
  function PromiseCallOrNoop(O, P, arg, nameForError) {
    let method;
    try {
      method = O[P];
    } catch (methodE) {
      return Promise_reject(methodE);
    }
    if (method === undefined) {
      return Promise_resolve(undefined);
    }
    if (typeof method !== 'function') {
      return Promise_reject(errTmplMustBeFunctionOrUndefined(nameForError));
    }
    try {
      return Promise_resolve(callFunction(method, O, arg));
    } catch (e) {
      return Promise_reject(e);
    }
  }
  function CreateIterResultObject(value, done) { return {value, done}; }
  defineProperty(global, 'ReadableStream', {
    value: ReadableStream,
    enumerable: false,
    configurable: true,
    writable: true
  });
  binding.AcquireReadableStreamReader = AcquireReadableStreamReader;
  binding.IsReadableStream = IsReadableStream;
  binding.IsReadableStreamDisturbed = IsReadableStreamDisturbed;
  binding.IsReadableStreamLocked = IsReadableStreamLocked;
  binding.IsReadableStreamReader = IsReadableStreamReader;
  binding.ReadFromReadableStreamReader = ReadFromReadableStreamReader;
});