diff --git a/.babelrc b/.babelrc index da73fd8..137c328 100755 --- a/.babelrc +++ b/.babelrc @@ -2,13 +2,6 @@ "presets": ["es2015", "stage-0", "react"], "plugins": [ "transform-runtime", - "babel-plugin-transform-decorators-legacy", - ["react-transform", { - "transforms": [{ - "transform" : "react-transform-hmr", - "imports" : ["react"], - "locals" : ["module"] - }] - }] + "babel-plugin-transform-decorators-legacy" ] } diff --git a/api/api.js b/api/api.js deleted file mode 100644 index 21f9a64..0000000 --- a/api/api.js +++ /dev/null @@ -1,106 +0,0 @@ -import express from 'express'; -import config from '../config'; -import uber from './service/uber'; -import geolocation from './service/geolocation'; - -const { API_PORT, DOMAIN } = config; - -const api = express(); - -api.use((req, res, next) => { - res.header('Access-Control-Allow-Origin', DOMAIN); - res.header('Access-Control-Allow-Methods', 'DELETE'); - res.header('Access-Control-Allow-Credentials', true); - next(); -}); - -/** - * Geolocation - * GET /geolocation - */ -api.get('/geolocation', async (req, res) => res.json(await geolocation.lookup())); - -/** - * Authenticate - * GET /oauth/v2/authorize - * @param {code} - */ -api.post('/auth', async (req, res) => - res.json(await uber.authenticate(req.query.code))); - -/** - * Product types - * GET /v1/products - * @param {latitude} - * @param {longitude} - */ -api.get('/products', async (req, res) => - res.json(await uber.request('v1/products', req.query))); - -/** - * Time estimates - * GET /v1/estimates/time - * @param {start_latitude} - * @param {start_longitude} - * @param {customer_uuid?} - * @param {product_id?} - */ -api.get('/estimates/time', async (req, res) => - res.json(await uber.request('v1/estimates/time', req.query))); - -/** - * Price estimates - * GET /v1/estimates/price - * @param {start_latitude} - * @param {start_longitude} - * @param {end_latitude} - * @param {end_longitude} - */ -api.get('/estimates/price', async (req, res) => - res.json(await uber.request('v1/estimates/price', req.query))); - -/** - * Ride request - Map - * GET /v1/request - * @param {request_id} - */ -api.get('/request/:request_id/map', async (req, res) => - res.json(await uber.request(`v1/requests/${req.params.request_id}/map`, req.query))); - -/** - * Ride request - * POST /v1/request - * @param {start_latitude} - * @param {start_longitude} - * @param {product_id?} - * @param {start_nickname?} - * @param {start_address?} - * @param {end_latitude?} - * @param {end_longitude?} - * @param {end_nickname?} - * @param {end_address?} - * @param {surge_confirmation_id?} - */ -api.post('/request', async (req, res) => - res.json(await uber.request('v1/requests', req.query, 'POST'))); - -/** - * Ride request - Details - * GET /v1/request - * @param {request_id} - */ -api.get('/request/:request_id', async (req, res) => - res.json(await uber.request(`v1/requests/${req.params.request_id}`, req.query))); - -/** - * Ride request - Delete - * DELETE /v1/request - * @param {request_id} - */ -api.delete('/request/:request_id', async (req, res) => - res.json(await uber.delete(`v1/requests/${req.params.request_id}`, req.query))); - - -api.listen(API_PORT, () => { - console.log(`Api started on port ${API_PORT}`); -}); diff --git a/desktop/app.html b/app.html similarity index 89% rename from desktop/app.html rename to app.html index 801653e..0eb7929 100644 --- a/desktop/app.html +++ b/app.html @@ -31,10 +31,9 @@ + height="515"> diff --git a/assets/fonts/light.woff b/assets/fonts/light.woff deleted file mode 100755 index 29c1e85..0000000 Binary files a/assets/fonts/light.woff and /dev/null differ diff --git a/assets/fonts/ultra.woff b/assets/fonts/ultra.woff deleted file mode 100755 index 1b4786a..0000000 Binary files a/assets/fonts/ultra.woff and /dev/null differ diff --git a/assets/img/bg.png b/assets/img/bg.png deleted file mode 100644 index b5563b4..0000000 Binary files a/assets/img/bg.png and /dev/null differ diff --git a/assets/img/logo.svg b/assets/img/logo.svg deleted file mode 100644 index aa64914..0000000 --- a/assets/img/logo.svg +++ /dev/null @@ -1,13 +0,0 @@ - - - - logo - Created with Sketch. - - - - - \ No newline at end of file diff --git a/assets/img/star-light.svg b/assets/img/star-light.svg deleted file mode 100644 index 2d42c01..0000000 --- a/assets/img/star-light.svg +++ /dev/null @@ -1,20 +0,0 @@ - - - - star-light - Created with Sketch. - - - - - - - - - - - - - - - \ No newline at end of file diff --git a/config-template.json b/config-template.json index 867f459..61a67d4 100644 --- a/config-template.json +++ b/config-template.json @@ -1,8 +1,7 @@ { "PORT": 5555, - "API_PORT": 5556, "DOMAIN": "http://localhost:5555", - "API_ENDPOINT": "http://localhost:5556", + "API_ENDPOINT": "http://localhost:5555/api", "REDIRECT_URI": "http://localhost:5555", "UBER_AUTH_ENDPOINT": "https://login.uber.com/oauth", "UBER_API_ENDPOINT": "https://sandbox-api.uber.com", diff --git a/design/Fastlane-fullscreen.png b/design/Fastlane-fullscreen.png deleted file mode 100644 index ca919ee..0000000 Binary files a/design/Fastlane-fullscreen.png and /dev/null differ diff --git a/design/Fastlane.png b/design/Fastlane.png deleted file mode 100644 index 7eb8352..0000000 Binary files a/design/Fastlane.png and /dev/null differ diff --git a/design/Fastlane.sketch b/design/Fastlane.sketch deleted file mode 100644 index 44ebcf9..0000000 Binary files a/design/Fastlane.sketch and /dev/null differ diff --git a/desktop.js b/desktop.js index 0596ef3..18fc29d 100644 --- a/desktop.js +++ b/desktop.js @@ -7,17 +7,14 @@ require('babel-register'); // start frontend server require('./src/server.js'); -// start api server -require('./api/api.js'); - menubar({ - icon: path.join(__dirname, '/desktop/icons/UberLogo.png'), - // transparent: true, + icon: path.join(__dirname, '/public/icons/UberLogo.png'), + transparent: true, movable: false, resizable: false, useContentSize: true, height: 525, width: 340, - index: `file://${__dirname}/desktop/app.html`, + index: `file://${__dirname}/app.html`, y: 30, }); diff --git a/desktop/icons/UberLogo.png b/desktop/icons/UberLogo.png deleted file mode 100644 index 565a699..0000000 Binary files a/desktop/icons/UberLogo.png and /dev/null differ diff --git a/desktop/icons/UberLogo@2x.png b/desktop/icons/UberLogo@2x.png deleted file mode 100644 index bbbbc56..0000000 Binary files a/desktop/icons/UberLogo@2x.png and /dev/null differ diff --git a/desktop/icons/UberLogo@3x.png b/desktop/icons/UberLogo@3x.png deleted file mode 100644 index 75208fc..0000000 Binary files a/desktop/icons/UberLogo@3x.png and /dev/null differ diff --git a/desktop/icons/UberLogo@4x.png b/desktop/icons/UberLogo@4x.png deleted file mode 100644 index ecd538b..0000000 Binary files a/desktop/icons/UberLogo@4x.png and /dev/null differ diff --git a/icon.icns b/icon.icns new file mode 100644 index 0000000..716390d Binary files /dev/null and b/icon.icns differ diff --git a/index.html b/index.html index 174d91f..55f775f 100755 --- a/index.html +++ b/index.html @@ -10,6 +10,6 @@
- + diff --git a/index.js b/index.js index eb45efd..cb86467 100644 --- a/index.js +++ b/index.js @@ -3,6 +3,3 @@ require('babel-register'); // start frontend server require('./src/server.js'); - -// start api server -require('./api/api.js'); diff --git a/package.json b/package.json index 7480d8d..9d64ad1 100644 --- a/package.json +++ b/package.json @@ -6,9 +6,10 @@ "main": "desktop.js", "private": true, "scripts": { - "dev": "webpack -w & node index.js", - "desktop": "webpack -p & electron desktop.js", - "lint": "./node_modules/eslint/bin/eslint.js \"src/**/?(*.js|*.jsx)\" index.js" + "dev": "webpack -w --config webpack.dev.config.js & node index.js", + "desktop": "webpack --config webpack.prod.config.js && electron desktop.js", + "lint": "./node_modules/eslint/bin/eslint.js \"src/**/?(*.js|*.jsx)\" index.js", + "build": "NODE_ENV=production webpack --bail --config webpack.prod.config.js && npm install && npm prune && electron-packager . Fastlane --platform=darwin --arch=x64 --version=0.36.6 --out=release --overwrite --icon=icon.icns --ignore=design" }, "dependencies": { "babel-plugin-transform-decorators-legacy": "^1.3.4", @@ -35,7 +36,6 @@ "babel-core": "^6.7.4", "babel-eslint": "^6.0.2", "babel-loader": "^6.2.4", - "babel-plugin-react-transform": "^2.0.2", "babel-plugin-transform-runtime": "^6.6.0", "babel-preset-es2015": "^6.6.0", "babel-preset-react": "^6.5.0", @@ -47,15 +47,11 @@ "json-loader": "^0.5.4", "node-sass": "^3.4.2", "pre-commit": "^1.1.2", - "react-transform-hmr": "^1.0.4", "sass-loader": "^3.2.0", "style-loader": "^0.13.1", - "webpack": "^2.1.0-beta.2", - "webpack-dev-middleware": "^1.6.1", - "webpack-hot-middleware": "^2.10.0" + "webpack": "^2.1.0-beta.2" }, "pre-commit": [ - "lint", - "test" + "lint" ] } diff --git a/release/Fastlane-darwin-x64/Fastlane.app/Contents/Frameworks/Electron Framework.framework/Versions/A/Electron Framework b/release/Fastlane-darwin-x64/Fastlane.app/Contents/Frameworks/Electron Framework.framework/Versions/A/Electron Framework index 26acf8e..a018304 100755 Binary files a/release/Fastlane-darwin-x64/Fastlane.app/Contents/Frameworks/Electron Framework.framework/Versions/A/Electron Framework and b/release/Fastlane-darwin-x64/Fastlane.app/Contents/Frameworks/Electron Framework.framework/Versions/A/Electron Framework differ diff --git a/release/Fastlane-darwin-x64/Fastlane.app/Contents/Frameworks/Electron Framework.framework/Versions/A/Libraries/libffmpeg.dylib b/release/Fastlane-darwin-x64/Fastlane.app/Contents/Frameworks/Electron Framework.framework/Versions/A/Libraries/libffmpeg.dylib deleted file mode 100644 index 16060d5..0000000 Binary files a/release/Fastlane-darwin-x64/Fastlane.app/Contents/Frameworks/Electron Framework.framework/Versions/A/Libraries/libffmpeg.dylib and /dev/null differ diff --git a/release/Fastlane-darwin-x64/Fastlane.app/Contents/Frameworks/Electron Framework.framework/Versions/A/Libraries/libnode.dylib b/release/Fastlane-darwin-x64/Fastlane.app/Contents/Frameworks/Electron Framework.framework/Versions/A/Libraries/libnode.dylib index f0d41bc..4c37081 100755 Binary files a/release/Fastlane-darwin-x64/Fastlane.app/Contents/Frameworks/Electron Framework.framework/Versions/A/Libraries/libnode.dylib and b/release/Fastlane-darwin-x64/Fastlane.app/Contents/Frameworks/Electron Framework.framework/Versions/A/Libraries/libnode.dylib differ diff --git a/release/Fastlane-darwin-x64/Fastlane.app/Contents/Frameworks/Electron Framework.framework/Versions/A/Resources/content_shell.pak b/release/Fastlane-darwin-x64/Fastlane.app/Contents/Frameworks/Electron Framework.framework/Versions/A/Resources/content_shell.pak index b4fa346..38edfba 100644 Binary files a/release/Fastlane-darwin-x64/Fastlane.app/Contents/Frameworks/Electron Framework.framework/Versions/A/Resources/content_shell.pak and b/release/Fastlane-darwin-x64/Fastlane.app/Contents/Frameworks/Electron Framework.framework/Versions/A/Resources/content_shell.pak differ diff --git a/release/Fastlane-darwin-x64/Fastlane.app/Contents/Frameworks/Electron Framework.framework/Versions/A/Resources/crashpad_handler b/release/Fastlane-darwin-x64/Fastlane.app/Contents/Frameworks/Electron Framework.framework/Versions/A/Resources/crashpad_handler index 8cc4977..94ffa2d 100755 Binary files a/release/Fastlane-darwin-x64/Fastlane.app/Contents/Frameworks/Electron Framework.framework/Versions/A/Resources/crashpad_handler and b/release/Fastlane-darwin-x64/Fastlane.app/Contents/Frameworks/Electron Framework.framework/Versions/A/Resources/crashpad_handler differ diff --git a/release/Fastlane-darwin-x64/Fastlane.app/Contents/Frameworks/Electron Framework.framework/Versions/A/Resources/fa.lproj/locale.pak b/release/Fastlane-darwin-x64/Fastlane.app/Contents/Frameworks/Electron Framework.framework/Versions/A/Resources/fa.lproj/locale.pak index 7551fec..864a0d4 100644 Binary files a/release/Fastlane-darwin-x64/Fastlane.app/Contents/Frameworks/Electron Framework.framework/Versions/A/Resources/fa.lproj/locale.pak and b/release/Fastlane-darwin-x64/Fastlane.app/Contents/Frameworks/Electron Framework.framework/Versions/A/Resources/fa.lproj/locale.pak differ diff --git a/release/Fastlane-darwin-x64/Fastlane.app/Contents/Frameworks/Electron Framework.framework/Versions/A/Resources/icudtl.dat b/release/Fastlane-darwin-x64/Fastlane.app/Contents/Frameworks/Electron Framework.framework/Versions/A/Resources/icudtl.dat index 065463a..558690e 100644 Binary files a/release/Fastlane-darwin-x64/Fastlane.app/Contents/Frameworks/Electron Framework.framework/Versions/A/Resources/icudtl.dat and b/release/Fastlane-darwin-x64/Fastlane.app/Contents/Frameworks/Electron Framework.framework/Versions/A/Resources/icudtl.dat differ diff --git a/release/Fastlane-darwin-x64/Fastlane.app/Contents/Frameworks/Electron Framework.framework/Versions/A/Resources/ko.lproj/locale.pak b/release/Fastlane-darwin-x64/Fastlane.app/Contents/Frameworks/Electron Framework.framework/Versions/A/Resources/ko.lproj/locale.pak index 2715fff..1596e2b 100644 Binary files a/release/Fastlane-darwin-x64/Fastlane.app/Contents/Frameworks/Electron Framework.framework/Versions/A/Resources/ko.lproj/locale.pak and b/release/Fastlane-darwin-x64/Fastlane.app/Contents/Frameworks/Electron Framework.framework/Versions/A/Resources/ko.lproj/locale.pak differ diff --git a/release/Fastlane-darwin-x64/Fastlane.app/Contents/Frameworks/Electron Framework.framework/Versions/A/Resources/lt.lproj/locale.pak b/release/Fastlane-darwin-x64/Fastlane.app/Contents/Frameworks/Electron Framework.framework/Versions/A/Resources/lt.lproj/locale.pak index 6144b57..419ce41 100644 Binary files a/release/Fastlane-darwin-x64/Fastlane.app/Contents/Frameworks/Electron Framework.framework/Versions/A/Resources/lt.lproj/locale.pak and b/release/Fastlane-darwin-x64/Fastlane.app/Contents/Frameworks/Electron Framework.framework/Versions/A/Resources/lt.lproj/locale.pak differ diff --git a/release/Fastlane-darwin-x64/Fastlane.app/Contents/Frameworks/Electron Framework.framework/Versions/A/Resources/natives_blob.bin b/release/Fastlane-darwin-x64/Fastlane.app/Contents/Frameworks/Electron Framework.framework/Versions/A/Resources/natives_blob.bin index ccaa95d..14b99b3 100644 --- a/release/Fastlane-darwin-x64/Fastlane.app/Contents/Frameworks/Electron Framework.framework/Versions/A/Resources/natives_blob.bin +++ b/release/Fastlane-darwin-x64/Fastlane.app/Contents/Frameworks/Electron Framework.framework/Versions/A/Resources/natives_blob.bin @@ -1,29 +1,23 @@ - mirrorst + mirrors (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 g=a.Math.min; +var h=b.ImportNow("promise_status_symbol"); +var i=b.ImportNow("promise_value_symbol"); +var j; +var k; +var l; +b.Import(function(m){ +c=m.FunctionSourceString; +j=m.SymbolToString; +k=m.ToBoolean; +l=m.ToString; }); -var q={ +var n={ UNDEFINED_TYPE:'undefined', NULL_TYPE:'null', BOOLEAN_TYPE:'boolean', @@ -46,114 +40,117 @@ SET_TYPE:'set', ITERATOR_TYPE:'iterator', GENERATOR_TYPE:'generator', } -var r=0; -var s=-1; -var t=[]; -var u=true; +var o=0; +var p=-1; +var q=[]; +var r=true; function MirrorCacheIsEmpty(){ -return r==0&&t.length==0; +return o==0&&q.length==0; } -function ToggleMirrorCache(v){ -u=v; +function ToggleMirrorCache(s){ +r=s; ClearMirrorCache(); } -function ClearMirrorCache(v){ -r=0; -t=[]; +function ClearMirrorCache(s){ +o=0; +q=[]; } -function ObjectIsPromise(v){ -return(%_IsJSReceiver(v))&& -!(%DebugGetProperty(v,k)===(void 0)); +function ObjectIsPromise(s){ +return(%_IsSpecObject(s))&& +!(%DebugGetProperty(s,h)===(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; +function MakeMirror(s,t){ +var u; +if(!t&&r){ +for(var v in q){ +u=q[v]; +if(u.value()===s){ +return u; } -if(x.isNumber()&&e(x.value())&& -typeof v=='number'&&e(v)){ -return x; +if(u.isNumber()&&e(u.value())&& +typeof s=='number'&&e(s)){ +return u; } } } -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; +if((s===(void 0))){ +u=new UndefinedMirror(); +}else if((s===null)){ +u=new NullMirror(); +}else if((typeof(s)==='boolean')){ +u=new BooleanMirror(s); +}else if((typeof(s)==='number')){ +u=new NumberMirror(s); +}else if((typeof(s)==='string')){ +u=new StringMirror(s); +}else if((typeof(s)==='symbol')){ +u=new SymbolMirror(s); +}else if((%_IsArray(s))){ +u=new ArrayMirror(s); +}else if((%_IsDate(s))){ +u=new DateMirror(s); +}else if((%_IsFunction(s))){ +u=new FunctionMirror(s); +}else if((%_IsRegExp(s))){ +u=new RegExpMirror(s); +}else if((%_ClassOf(s)==='Error')){ +u=new ErrorMirror(s); +}else if((%_ClassOf(s)==='Script')){ +u=new ScriptMirror(s); +}else if((%_ClassOf(s)==='Map')||(%_ClassOf(s)==='WeakMap')){ +u=new MapMirror(s); +}else if((%_ClassOf(s)==='Set')||(%_ClassOf(s)==='WeakSet')){ +u=new SetMirror(s); +}else if((%_ClassOf(s)==='Map Iterator')||(%_ClassOf(s)==='Set Iterator')){ +u=new IteratorMirror(s); +}else if(ObjectIsPromise(s)){ +u=new PromiseMirror(s); +}else if((%_ClassOf(s)==='Generator')){ +u=new GeneratorMirror(s); +}else{ +u=new ObjectMirror(s,n.OBJECT_TYPE,t); +} +if(r)q[u.handle()]=u; +return u; } -function LookupMirror(z){ -if(!u){ -throw g(2,"Mirror cache is disabled"); +function LookupMirror(w){ +if(!r){ +throw MakeError(2,"Mirror cache is disabled"); } -return t[z]; +return q[w]; } 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, +function inherits(x,y){ +var z=function(){}; +z.prototype=y.prototype; +x.super_=y.prototype; +x.prototype=new z(); +x.prototype.constructor=x; +} +var A=80; +var B={}; +B.Named=1; +B.Indexed=2; +var C={}; +C.Data=0; +C.DataConstant=2; +C.AccessorConstant=3; +var D={}; +D.None=0; +D.ReadOnly=1; +D.DontEnum=2; +D.DontDelete=4; +var E={Global:0, Local:1, With:2, Closure:3, Catch:4, Block:5, Script:6}; -function Mirror(H){ -this.type_=H; +function Mirror(F){ +this.type_=F; } Mirror.prototype.type=function(){ return this.type_; @@ -234,18 +231,18 @@ Mirror.prototype.isIterator=function(){ return this instanceof IteratorMirror; }; Mirror.prototype.allocateHandle_=function(){ -if(u)this.handle_=r++; +if(r)this.handle_=o++; }; Mirror.prototype.allocateTransientHandle_=function(){ -this.handle_=s--; +this.handle_=p--; }; Mirror.prototype.toText=function(){ return"#<"+this.constructor.name+">"; }; -function ValueMirror(H,v,I){ -%_Call(Mirror,this,H); -this.value_=v; -if(!I){ +function ValueMirror(F,s,G){ +%_CallFunction(this,F,Mirror); +this.value_=s; +if(!G){ this.allocateHandle_(); }else{ this.allocateTransientHandle_(); @@ -256,75 +253,75 @@ 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'; +var F=this.type(); +return F==='undefined'|| +F==='null'|| +F==='boolean'|| +F==='number'|| +F==='string'|| +F==='symbol'; }; ValueMirror.prototype.value=function(){ return this.value_; }; function UndefinedMirror(){ -%_Call(ValueMirror,this,q.UNDEFINED_TYPE,(void 0)); +%_CallFunction(this,n.UNDEFINED_TYPE,(void 0),ValueMirror); } inherits(UndefinedMirror,ValueMirror); UndefinedMirror.prototype.toText=function(){ return'undefined'; }; function NullMirror(){ -%_Call(ValueMirror,this,q.NULL_TYPE,null); +%_CallFunction(this,n.NULL_TYPE,null,ValueMirror); } inherits(NullMirror,ValueMirror); NullMirror.prototype.toText=function(){ return'null'; }; -function BooleanMirror(v){ -%_Call(ValueMirror,this,q.BOOLEAN_TYPE,v); +function BooleanMirror(s){ +%_CallFunction(this,n.BOOLEAN_TYPE,s,ValueMirror); } inherits(BooleanMirror,ValueMirror); BooleanMirror.prototype.toText=function(){ return this.value_?'true':'false'; }; -function NumberMirror(v){ -%_Call(ValueMirror,this,q.NUMBER_TYPE,v); +function NumberMirror(s){ +%_CallFunction(this,n.NUMBER_TYPE,s,ValueMirror); } inherits(NumberMirror,ValueMirror); NumberMirror.prototype.toText=function(){ return %_NumberToString(this.value_); }; -function StringMirror(v){ -%_Call(ValueMirror,this,q.STRING_TYPE,v); +function StringMirror(s){ +%_CallFunction(this,n.STRING_TYPE,s,ValueMirror); } 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)+ +StringMirror.prototype.getTruncatedValue=function(H){ +if(H!=-1&&this.length()>H){ +return this.value_.substring(0,H)+ '... (length: '+this.length()+')'; } return this.value_; }; StringMirror.prototype.toText=function(){ -return this.getTruncatedValue(D); +return this.getTruncatedValue(A); }; -function SymbolMirror(v){ -%_Call(ValueMirror,this,q.SYMBOL_TYPE,v); +function SymbolMirror(s){ +%_CallFunction(this,n.SYMBOL_TYPE,s,ValueMirror); } inherits(SymbolMirror,ValueMirror); SymbolMirror.prototype.description=function(){ return %SymbolDescription(%_ValueOf(this.value_)); } SymbolMirror.prototype.toText=function(){ -return %_Call(o,this.value_); +return %_CallFunction(this.value_,j); } -function ObjectMirror(v,H,I){ -H=H||q.OBJECT_TYPE; -%_Call(ValueMirror,this,H,v,I); +function ObjectMirror(s,F,G){ +F=F||n.OBJECT_TYPE; +%_CallFunction(this,F,s,G,ValueMirror); } inherits(ObjectMirror,ValueMirror); ObjectMirror.prototype.className=function(){ @@ -340,77 +337,125 @@ ObjectMirror.prototype.protoObject=function(){ return MakeMirror(%DebugGetPrototype(this.value_)); }; ObjectMirror.prototype.hasNamedInterceptor=function(){ -var K=%GetInterceptorInfo(this.value_); -return(K&2)!=0; +var I=%GetInterceptorInfo(this.value_); +return(I&2)!=0; }; ObjectMirror.prototype.hasIndexedInterceptor=function(){ -var K=%GetInterceptorInfo(this.value_); -return(K&1)!=0; +var I=%GetInterceptorInfo(this.value_); +return(I&1)!=0; }; -ObjectMirror.prototype.propertyNames=function(){ -return %GetOwnPropertyKeys(this.value_,0); +function TryGetPropertyNames(J){ +try{ +return %GetOwnPropertyNames(J,32); +}catch(e){ +return[]; +} +} +ObjectMirror.prototype.propertyNames=function(K,L){ +K=K||B.Named|B.Indexed; +var M; +var N; +var O=0; +if(K&B.Named){ +M=TryGetPropertyNames(this.value_); +O+=M.length; +if(this.hasNamedInterceptor()&&(K&B.Named)){ +var P= +%GetNamedInterceptorPropertyNames(this.value_); +if(P){ +M=M.concat(P); +O+=P.length; +} +} +} +if(K&B.Indexed){ +N=%GetOwnElementNames(this.value_); +O+=N.length; +if(this.hasIndexedInterceptor()&&(K&B.Indexed)){ +var Q= +%GetIndexedInterceptorElementNames(this.value_); +if(Q){ +N=N.concat(Q); +O+=Q.length; +} +} +} +L=g(L||O,O); +var R=new d(L); +var S=0; +if(K&B.Named){ +for(var T=0;S'; +return'#<'+V+'>'; }; -ObjectMirror.GetInternalProperties=function(v){ -var M=%DebugGetInternalProperties(v); -var S=[]; -for(var N=0;NZ)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); +var ac=opt_from_index||0; +var ad=opt_to_index||this.length()-1; +if(ac>ad)return new d(); +var ae=new d(ad-ac+1); +for(var T=ac;T<=ad;T++){ +var W=%DebugGetPropertyDetails(this.value_,l(T)); +var s; +if(W){ +s=new PropertyMirror(this,T,W); }else{ -v=GetUndefinedMirror(); +s=GetUndefinedMirror(); } -aa[N-Y]=v; +ae[T-ac]=s; } -return aa; +return ae; }; -function DateMirror(v){ -%_Call(ObjectMirror,this,v); +function DateMirror(s){ +%_CallFunction(this,s,ObjectMirror); } inherits(DateMirror,ObjectMirror); DateMirror.prototype.toText=function(){ -var ab=f(this.value_); -return ab.substring(1,ab.length-1); +var af=f(this.value_); +return af.substring(1,af.length-1); }; -function RegExpMirror(v){ -%_Call(ObjectMirror,this,v,q.REGEXP_TYPE); +function RegExpMirror(s){ +%_CallFunction(this,s,n.REGEXP_TYPE,ObjectMirror); } inherits(RegExpMirror,ObjectMirror); RegExpMirror.prototype.source=function(){ @@ -570,34 +612,34 @@ return this.value_.unicode; RegExpMirror.prototype.toText=function(){ return"/"+this.source()+"/"; }; -function ErrorMirror(v){ -%_Call(ObjectMirror,this,v,q.ERROR_TYPE); +function ErrorMirror(s){ +%_CallFunction(this,s,n.ERROR_TYPE,ObjectMirror); } inherits(ErrorMirror,ObjectMirror); ErrorMirror.prototype.message=function(){ return this.value_.message; }; ErrorMirror.prototype.toText=function(){ -var ac; +var ag; try{ -ac=%_Call(c,this.value_); +ag=%_CallFunction(this.value_,builtins.$errorToString); }catch(e){ -ac='#'; +ag='#'; } -return ac; +return ag; }; -function PromiseMirror(v){ -%_Call(ObjectMirror,this,v,q.PROMISE_TYPE); +function PromiseMirror(s){ +%_CallFunction(this,s,n.PROMISE_TYPE,ObjectMirror); } inherits(PromiseMirror,ObjectMirror); -function PromiseGetStatus_(v){ -var ad=%DebugGetProperty(v,k); -if(ad==0)return"pending"; -if(ad==1)return"resolved"; +function PromiseGetStatus_(s){ +var ah=%DebugGetProperty(s,h); +if(ah==0)return"pending"; +if(ah==1)return"resolved"; return"rejected"; } -function PromiseGetValue_(v){ -return %DebugGetProperty(v,l); +function PromiseGetValue_(s){ +return %DebugGetProperty(s,i); } PromiseMirror.prototype.status=function(){ return PromiseGetStatus_(this.value_); @@ -605,76 +647,76 @@ return PromiseGetStatus_(this.value_); PromiseMirror.prototype.promiseValue=function(){ return MakeMirror(PromiseGetValue_(this.value_)); }; -function MapMirror(v){ -%_Call(ObjectMirror,this,v,q.MAP_TYPE); +function MapMirror(s){ +%_CallFunction(this,s,n.MAP_TYPE,ObjectMirror); } inherits(MapMirror,ObjectMirror); -MapMirror.prototype.entries=function(ae){ -var S=[]; +MapMirror.prototype.entries=function(ai){ +var Z=[]; if((%_ClassOf(this.value_)==='WeakMap')){ -var af=%GetWeakMapEntries(this.value_,ae||0); -for(var N=0;N3){ -this.exception_=P[3]; -this.getter_=P[4]; -this.setter_=P[5]; +function PropertyMirror(u,V,W){ +%_CallFunction(this,n.PROPERTY_TYPE,Mirror); +this.mirror_=u; +this.name_=V; +this.value_=W[0]; +this.details_=W[1]; +this.is_interceptor_=W[2]; +if(W.length>3){ +this.exception_=W[3]; +this.getter_=W[4]; +this.setter_=W[5]; } } inherits(PropertyMirror,Mirror); PropertyMirror.prototype.isReadOnly=function(){ -return(this.attributes()&F.ReadOnly)!=0; +return(this.attributes()&D.ReadOnly)!=0; }; PropertyMirror.prototype.isEnum=function(){ -return(this.attributes()&F.DontEnum)==0; +return(this.attributes()&D.DontEnum)==0; }; PropertyMirror.prototype.canDelete=function(){ -return(this.attributes()&F.DontDelete)==0; +return(this.attributes()&D.DontDelete)==0; }; PropertyMirror.prototype.name=function(){ return this.name_; }; PropertyMirror.prototype.isIndexed=function(){ -for(var N=0;N0; }; FrameDetails.prototype.inlinedFrameIndex=function(){ %CheckExecutionState(this.break_id_); -var aC=aA; -return(this.details_[at]&aC)>>2; +var aG=aE; +return(this.details_[ax]&aG)>>2; }; FrameDetails.prototype.argumentCount=function(){ %CheckExecutionState(this.break_id_); -return this.details_[ao]; +return this.details_[as]; }; -FrameDetails.prototype.argumentName=function(V){ +FrameDetails.prototype.argumentName=function(S){ %CheckExecutionState(this.break_id_); -if(V>=0&&V=0&&S=0&&V=0&&S=0&&V=0&&S=0&&V=0&&S0){ -for(var N=0;N0){ +for(var T=0;T0){ -S+=this.lineOffset(); -S+='-'; -S+=this.lineOffset()+this.lineCount()-1; +Z+=this.lineOffset(); +Z+='-'; +Z+=this.lineOffset()+this.lineCount()-1; }else{ -S+=this.lineCount(); +Z+=this.lineCount(); } -S+=')'; -return S; +Z+=')'; +return Z; }; -function ContextMirror(bg){ -%_Call(Mirror,this,q.CONTEXT_TYPE); -this.data_=bg; +function ContextMirror(bj){ +%_CallFunction(this,n.CONTEXT_TYPE,Mirror); +this.data_=bj; this.allocateHandle_(); } inherits(ContextMirror,Mirror); ContextMirror.prototype.data=function(){ return this.data_; }; -function MakeMirrorSerializer(P,bh){ -return new JSONProtocolSerializer(P,bh); +function MakeMirrorSerializer(W,bk){ +return new JSONProtocolSerializer(W,bk); } -function JSONProtocolSerializer(P,bh){ -this.details_=P; -this.options_=bh; +function JSONProtocolSerializer(W,bk){ +this.details_=W; +this.options_=bk; this.mirrors_=[]; } -JSONProtocolSerializer.prototype.serializeReference=function(x){ -return this.serialize_(x,true,true); +JSONProtocolSerializer.prototype.serializeReference=function(u){ +return this.serialize_(u,true,true); }; -JSONProtocolSerializer.prototype.serializeValue=function(x){ -var bi=this.serialize_(x,false,true); -return bi; +JSONProtocolSerializer.prototype.serializeValue=function(u){ +var bl=this.serialize_(u,false,true); +return bl; }; JSONProtocolSerializer.prototype.serializeReferencedObjects=function(){ -var bj=[]; -var bk=this.mirrors_.length; -for(var N=0;Nthis.maxStringLength_()){ -var bm=x.getTruncatedValue(this.maxStringLength_()); -bj.value=bm; -bj.fromIndex=0; -bj.toIndex=this.maxStringLength_(); +u.length()>this.maxStringLength_()){ +var bp=u.getTruncatedValue(this.maxStringLength_()); +bm.value=bp; +bm.fromIndex=0; +bm.toIndex=this.maxStringLength_(); }else{ -bj.value=x.value(); +bm.value=u.value(); } -bj.length=x.length(); +bm.length=u.length(); break; -case q.SYMBOL_TYPE: -bj.description=x.description(); +case n.SYMBOL_TYPE: +bm.description=u.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); +case n.OBJECT_TYPE: +case n.FUNCTION_TYPE: +case n.ERROR_TYPE: +case n.REGEXP_TYPE: +case n.PROMISE_TYPE: +case n.GENERATOR_TYPE: +this.serializeObject_(u,bm,W); break; -case q.PROPERTY_TYPE: -case q.INTERNAL_PROPERTY_TYPE: -throw g(2, +case n.PROPERTY_TYPE: +case n.INTERNAL_PROPERTY_TYPE: +throw MakeError(2, 'PropertyMirror cannot be serialized independently'); break; -case q.FRAME_TYPE: -this.serializeFrame_(x,bj); +case n.FRAME_TYPE: +this.serializeFrame_(u,bm); break; -case q.SCOPE_TYPE: -this.serializeScope_(x,bj); +case n.SCOPE_TYPE: +this.serializeScope_(u,bm); break; -case q.SCRIPT_TYPE: -if(x.name()){ -bj.name=x.name(); +case n.SCRIPT_TYPE: +if(u.name()){ +bm.name=u.name(); } -bj.id=x.id(); -bj.lineOffset=x.lineOffset(); -bj.columnOffset=x.columnOffset(); -bj.lineCount=x.lineCount(); -if(x.data()){ -bj.data=x.data(); +bm.id=u.id(); +bm.lineOffset=u.lineOffset(); +bm.columnOffset=u.columnOffset(); +bm.lineCount=u.lineCount(); +if(u.data()){ +bm.data=u.data(); } if(this.includeSource_()){ -bj.source=x.source(); +bm.source=u.source(); }else{ -var bn=x.source().substring(0,80); -bj.sourceStart=bn; +var bq=u.source().substring(0,80); +bm.sourceStart=bq; } -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}; +bm.sourceLength=u.source().length; +bm.scriptType=u.scriptType(); +bm.compilationType=u.compilationType(); +if(u.compilationType()==1&& +u.evalFromScript()){ +bm.evalFromScript= +this.serializeReference(u.evalFromScript()); +var br=u.evalFromLocation(); +if(br){ +bm.evalFromLocation={line:br.line, +column:br.column}; } -if(x.evalFromFunctionName()){ -bj.evalFromFunctionName=x.evalFromFunctionName(); +if(u.evalFromFunctionName()){ +bm.evalFromFunctionName=u.evalFromFunctionName(); } } -if(x.context()){ -bj.context=this.serializeReference(x.context()); +if(u.context()){ +bm.context=this.serializeReference(u.context()); } break; -case q.CONTEXT_TYPE: -bj.data=x.data(); +case n.CONTEXT_TYPE: +bm.data=u.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;N0){ -var bs=[]; -for(var N=0;N0){ +var bx=[]; +for(var T=0;T0){ +if(!(%_IsSmi(%IS_VAR(s))||((s==s)&&(s!=1/0)&&(s!=-1/0)))){ +if(s>0){ return'Infinity'; }else{ return'-Infinity'; } } -return v; +return s; } b.InstallFunctions(a,2,[ "MakeMirror",MakeMirror, @@ -1722,9 +1766,10 @@ b.InstallFunctions(a,2,[ "MirrorCacheIsEmpty",MirrorCacheIsEmpty, ]); b.InstallConstants(a,[ -"ScopeType",G, -"PropertyType",E, -"PropertyAttribute",F, +"ScopeType",E, +"PropertyKind",B, +"PropertyType",C, +"PropertyAttribute",D, "Mirror",Mirror, "ValueMirror",ValueMirror, "UndefinedMirror",UndefinedMirror, @@ -1755,12 +1800,12 @@ b.InstallConstants(a,[ b.InstallFunctions(b,2,[ "ClearMirrorCache",ClearMirrorCache ]); -b.Export(function(bA){ -bA.MirrorType=q; +b.Export(function(bF){ +bF.MirrorType=n; }); }) -debugN +debugf (function(a,b){ "use strict"; var c=a.FrameMirror; @@ -1770,24 +1815,26 @@ 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 j=a.MakeMirror; +var k=a.MakeMirrorSerializer; +var l=a.Math.min; +var m=a.Mirror; +var n; +var o=a.parseInt; var p; -var q=a.parseInt; -var r=a.ValueMirror; -b.Import(function(s){ -j=s.MakeError; -k=s.MakeTypeError; -p=s.MirrorType; +var q; +var r; +var s=a.ValueMirror; +b.Import(function(t){ +n=t.MirrorType; +p=t.ToBoolean; +q=t.ToNumber; +r=t.ToString; }); -var t=10; -var u={}; -var v=/^(?:\s*(?:\/\*.*?\*\/)*)*/; -u.DebugEvent={Break:1, +var u=10; +var v={}; +var w=/^(?:\s*(?:\/\*.*?\*\/)*)*/; +v.DebugEvent={Break:1, Exception:2, NewFunction:3, BeforeCompile:4, @@ -1795,73 +1842,75 @@ AfterCompile:5, CompileError:6, PromiseEvent:7, AsyncTaskEvent:8}; -u.ExceptionBreak={Caught:0, +v.ExceptionBreak={Caught:0, Uncaught:1}; -u.StepAction={StepOut:0, +v.StepAction={StepOut:0, StepNext:1, StepIn:2, -StepFrame:3}; -u.ScriptType={Native:0, +StepMin:3, +StepInMin:4, +StepFrame:5}; +v.ScriptType={Native:0, Extension:1, Normal:2}; -u.ScriptCompilationType={Host:0, +v.ScriptCompilationType={Host:0, Eval:1, JSON:2}; -u.ScriptBreakPointType={ScriptId:0, +v.ScriptBreakPointType={ScriptId:0, ScriptName:1, ScriptRegExp:2}; -u.BreakPositionAlignment={ +v.BreakPositionAlignment={ Statement:0, BreakPosition:1 }; -function ScriptTypeFlag(w){ -return(1<=this.frameCount()){ -throw k(31); +ExecutionState.prototype.frame=function(aE){ +if(aE==null)aE=this.selected_frame; +if(aE<0||aE>=this.frameCount()){ +throw MakeTypeError(25); } -return new c(this.break_id,aB); +return new c(this.break_id,aE); }; -ExecutionState.prototype.setSelectedFrame=function(aC){ -var O=(%_ToNumber(aC)); -if(O<0||O>=this.frameCount()){ -throw k(31); +ExecutionState.prototype.setSelectedFrame=function(aF){ +var P=q(aF); +if(P<0||P>=this.frameCount()){ +throw MakeTypeError(25); } -this.selected_frame=O; +this.selected_frame=P; }; ExecutionState.prototype.selectedFrame=function(){ return this.selected_frame; }; -ExecutionState.prototype.debugCommandProcessor=function(aD){ -return new DebugCommandProcessor(this,aD); +ExecutionState.prototype.debugCommandProcessor=function(aG){ +return new DebugCommandProcessor(this,aG); }; -function MakeBreakEvent(K,aE){ -return new BreakEvent(K,aE); +function MakeBreakEvent(L,aH){ +return new BreakEvent(L,aH); } -function BreakEvent(K,aE){ -this.frame_=new c(K,0); -this.break_points_hit_=aE; +function BreakEvent(L,aH){ +this.frame_=new c(L,0); +this.break_points_hit_=aH; } BreakEvent.prototype.eventType=function(){ -return u.DebugEvent.Break; +return v.DebugEvent.Break; }; BreakEvent.prototype.func=function(){ return this.frame_.func(); @@ -2491,45 +2542,45 @@ BreakEvent.prototype.breakPointsHit=function(){ return this.break_points_hit_; }; BreakEvent.prototype.toJSONProtocol=function(){ -var aF={seq:x++, +var aI={seq:y++, 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); +var S=this.func().script(); +if(S){ +aI.body.sourceLine=this.sourceLine(), +aI.body.sourceColumn=this.sourceColumn(), +aI.body.sourceLineText=this.sourceLineText(), +aI.body.script=MakeScriptObject_(S,false); } if(this.breakPointsHit()){ -aF.body.breakpoints=[]; -for(var O=0;O0){ -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); +aI.body.sourceLine=this.sourceLine(); +aI.body.sourceColumn=this.sourceColumn(); +aI.body.sourceLineText=this.sourceLineText(); +var S=this.func().script(); +if(S){ +aI.body.script=MakeScriptObject_(S,false); } }else{ -aF.body.sourceLine=-1; +aI.body.sourceLine=-1; } -return aF.toJSONProtocol(); +return aI.toJSONProtocol(); }; -function MakeCompileEvent(R,w){ -return new CompileEvent(R,w); +function MakeCompileEvent(S,x){ +return new CompileEvent(S,x); } -function CompileEvent(R,w){ -this.script_=l(R); -this.type_=w; +function CompileEvent(S,x){ +this.script_=j(S); +this.type_=x; } CompileEvent.prototype.eventType=function(){ return this.type_; @@ -2585,66 +2636,66 @@ CompileEvent.prototype.script=function(){ return this.script_; }; CompileEvent.prototype.toJSONProtocol=function(){ -var aF=new ProtocolMessage(); -aF.running=true; +var aI=new ProtocolMessage(); +aI.running=true; switch(this.type_){ -case u.DebugEvent.BeforeCompile: -aF.event="beforeCompile"; +case v.DebugEvent.BeforeCompile: +aI.event="beforeCompile"; break; -case u.DebugEvent.AfterCompile: -aF.event="afterCompile"; +case v.DebugEvent.AfterCompile: +aI.event="afterCompile"; break; -case u.DebugEvent.CompileError: -aF.event="compileError"; +case v.DebugEvent.CompileError: +aI.event="compileError"; break; } -aF.body={}; -aF.body.script=this.script_; -return aF.toJSONProtocol(); +aI.body={}; +aI.body.script=this.script_; +return aI.toJSONProtocol(); }; -function MakeScriptObject_(R,aL){ -var aF={id:R.id(), -name:R.name(), -lineOffset:R.lineOffset(), -columnOffset:R.columnOffset(), -lineCount:R.lineCount(), +function MakeScriptObject_(S,aO){ +var aI={id:S.id(), +name:S.name(), +lineOffset:S.lineOffset(), +columnOffset:S.columnOffset(), +lineCount:S.lineCount(), }; -if(!(R.data()===(void 0))){ -aF.data=R.data(); +if(!(S.data()===(void 0))){ +aI.data=S.data(); } -if(aL){ -aF.source=R.source(); +if(aO){ +aI.source=S.source(); } -return aF; +return aI; } -function MakePromiseEvent(aM){ -return new PromiseEvent(aM); +function MakePromiseEvent(aP){ +return new PromiseEvent(aP); } -function PromiseEvent(aM){ -this.promise_=aM.promise; -this.parentPromise_=aM.parentPromise; -this.status_=aM.status; -this.value_=aM.value; +function PromiseEvent(aP){ +this.promise_=aP.promise; +this.parentPromise_=aP.parentPromise; +this.status_=aP.status; +this.value_=aP.value; } PromiseEvent.prototype.promise=function(){ -return l(this.promise_); +return j(this.promise_); } PromiseEvent.prototype.parentPromise=function(){ -return l(this.parentPromise_); +return j(this.parentPromise_); } PromiseEvent.prototype.status=function(){ return this.status_; } PromiseEvent.prototype.value=function(){ -return l(this.value_); +return j(this.value_); } -function MakeAsyncTaskEvent(aM){ -return new AsyncTaskEvent(aM); +function MakeAsyncTaskEvent(aP){ +return new AsyncTaskEvent(aP); } -function AsyncTaskEvent(aM){ -this.type_=aM.type; -this.name_=aM.name; -this.id_=aM.id; +function AsyncTaskEvent(aP){ +this.type_=aP.type; +this.name_=aP.name; +this.id_=aP.id; } AsyncTaskEvent.prototype.type=function(){ return this.type_; @@ -2655,982 +2706,990 @@ return this.name_; AsyncTaskEvent.prototype.id=function(){ return this.id_; } -function DebugCommandProcessor(I,aD){ -this.exec_state_=I; -this.running_=aD||false; +function DebugCommandProcessor(J,aG){ +this.exec_state_=J; +this.running_=aG||false; } -DebugCommandProcessor.prototype.processDebugRequest=function(aN){ -return this.processDebugJSONRequest(aN); +DebugCommandProcessor.prototype.processDebugRequest=function(aQ){ +return this.processDebugJSONRequest(aQ); }; -function ProtocolMessage(aN){ -this.seq=x++; -if(aN){ +function ProtocolMessage(aQ){ +this.seq=y++; +if(aQ){ this.type='response'; -this.request_seq=aN.seq; -this.command=aN.command; +this.request_seq=aQ.seq; +this.command=aQ.command; }else{ this.type='event'; } this.success=true; this.running=(void 0); } -ProtocolMessage.prototype.setOption=function(aO,C){ +ProtocolMessage.prototype.setOption=function(aR,D){ if(!this.options_){ this.options_={}; } -this.options_[aO]=C; +this.options_[aR]=D; }; -ProtocolMessage.prototype.failed=function(aP,aQ){ +ProtocolMessage.prototype.failed=function(aS,aT){ this.success=false; -this.message=aP; -if((typeof(aQ)==='object')){ -this.error_details=aQ; +this.message=aS; +if((typeof(aT)==='object')){ +this.error_details=aT; } }; ProtocolMessage.prototype.toJSONProtocol=function(){ -var aR={}; -aR.seq=this.seq; +var aU={}; +aU.seq=this.seq; if(this.request_seq){ -aR.request_seq=this.request_seq; +aU.request_seq=this.request_seq; } -aR.type=this.type; +aU.type=this.type; if(this.event){ -aR.event=this.event; +aU.event=this.event; } if(this.command){ -aR.command=this.command; +aU.command=this.command; } if(this.success){ -aR.success=this.success; +aU.success=this.success; }else{ -aR.success=false; +aU.success=false; } if(this.body){ -var aS; -var aT=m(true,this.options_); -if(this.body instanceof o){ -aS=aT.serializeValue(this.body); +var aV; +var aW=k(true,this.options_); +if(this.body instanceof m){ +aV=aW.serializeValue(this.body); }else if(this.body instanceof d){ -aS=[]; -for(var O=0;O=this.exec_state_.frameCount()){ -return aU.failed('Invalid frame "'+bs+'"'); +if(!(bw===(void 0))){ +var bN=q(bw); +if(bN<0||bN>=this.exec_state_.frameCount()){ +return aX.failed('Invalid frame "'+bw+'"'); } -aU.body=this.exec_state_.frame(bJ).evaluate( -bD,(!!(bE)),bG); +aX.body=this.exec_state_.frame(bN).evaluate( +bH,p(bI),bK); return; }else{ -aU.body=this.exec_state_.frame().evaluate( -bD,(!!(bE)),bG); +aX.body=this.exec_state_.frame().evaluate( +bH,p(bI),bK); return; } }; -DebugCommandProcessor.prototype.lookupRequest_=function(aN,aU){ -if(!aN.arguments){ -return aU.failed('Missing arguments'); +DebugCommandProcessor.prototype.lookupRequest_=function(aQ,aX){ +if(!aQ.arguments){ +return aX.failed('Missing arguments'); } -var bK=aN.arguments.handles; -if((bK===(void 0))){ -return aU.failed('Argument "handles" missing'); +var bO=aQ.arguments.handles; +if((bO===(void 0))){ +return aX.failed('Argument "handles" missing'); } -if(!(aN.arguments.includeSource===(void 0))){ -var bL=(!!(aN.arguments.includeSource)); -aU.setOption('includeSource',bL); +if(!(aQ.arguments.includeSource===(void 0))){ +var bP=p(aQ.arguments.includeSource); +aX.setOption('includeSource',bP); } -var bM={}; -for(var O=0;O=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=this.exec_state_.frameCount()){ +return aX.failed('Invalid frame "'+bw+'"'); +} +bw=this.exec_state_.frame(bN); +} +} +var S=bw.func().script(); +if(!S){ +return aX.failed('No source'); +} +var bT=S.sourceSlice(bR,bS); +if(!bT){ +return aX.failed('Invalid line interval'); +} +aX.body={}; +aX.body.source=bT.sourceText(); +aX.body.fromLine=bT.from_line; +aX.body.toLine=bT.to_line; +aX.body.fromPosition=bT.from_position; +aX.body.toPosition=bT.to_position; +aX.body.totalLines=S.lineCount(); +}; +DebugCommandProcessor.prototype.scriptsRequest_=function(aQ,aX){ +var bU=ScriptTypeFlag(v.ScriptType.Normal); +var bP=false; +var bV=null; +if(aQ.arguments){ +if(!(aQ.arguments.types===(void 0))){ +bU=q(aQ.arguments.types); +if(f(bU)||bU<0){ +return aX.failed('Invalid types "'+ +aQ.arguments.types+'"'); +} +} +if(!(aQ.arguments.includeSource===(void 0))){ +bP=p(aQ.arguments.includeSource); +aX.setOption('includeSource',bP); +} +if((%_IsArray(aQ.arguments.ids))){ +bV={}; +var bW=aQ.arguments.ids; +for(var P=0;P=0){ -bW=true; +if(bX&&!ca){ +if(S.name&&S.name.indexOf(bX)>=0){ +ca=true; } } -if(!bW)continue; +if(!ca)continue; } -if(bQ&ScriptTypeFlag(ae[O].type)){ -aU.body.push(l(ae[O])); +if(bU&ScriptTypeFlag(af[P].type)){ +aX.body.push(j(af[P])); } } }; -DebugCommandProcessor.prototype.threadsRequest_=function(aN,aU){ -var bX=this.exec_state_.threadCount(); -var bY=[]; -for(var O=0;O=this.exec_state_.frameCount()){ -return aU.failed('Invalid frame "'+bs+'"'); +var cl; +if(!(bw===(void 0))){ +var bN=q(bw); +if(bN<0||bN>=this.exec_state_.frameCount()){ +return aX.failed('Invalid frame "'+bw+'"'); } -ch=this.exec_state_.frame(bJ); +cl=this.exec_state_.frame(bN); }else{ -ch=this.exec_state_.frame(); +cl=this.exec_state_.frame(); } -var cg=u.LiveEdit.RestartFrame(ch); -aU.body={result:cg}; +var ck=v.LiveEdit.RestartFrame(cl); +aX.body={result:ck}; }; -DebugCommandProcessor.prototype.debuggerFlagsRequest_=function(aN, -aU){ -if(!aN.arguments){ -aU.failed('Missing arguments'); +DebugCommandProcessor.prototype.debuggerFlagsRequest_=function(aQ, +aX){ +if(!aQ.arguments){ +aX.failed('Missing arguments'); return; } -var ci=aN.arguments.flags; -aU.body={flags:[]}; -if(!(ci===(void 0))){ -for(var O=0;OP[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(UN[C].start_position){ +P=C; +} +} +if(P!=x){ +var Q=N[P]; +var R=O[P]; +N[P]=N[x]; +O[P]=O[x]; +N[x]=Q; +O[x]=R; +} +} +var S=0; +function ResetIndexes(T,U){ +var V=-1; +while(S=aK.pos1+aK.len1){ -return aE+aK.pos2+aK.len2-aK.pos1-aK.len1; +var aJ=aF[aG]; +if(aD>=aJ.pos1+aJ.len1){ +return aD+aJ.pos2+aJ.len2-aJ.pos1-aJ.len1; } -if(!aF){ -aF=PosTranslator.DefaultInsideChunkHandler; +if(!aE){ +aE=PosTranslator.DefaultInsideChunkHandler; } -return aF(aE,aK); +return aE(aD,aJ); }; -PosTranslator.DefaultInsideChunkHandler=function(aE,aL){ +PosTranslator.DefaultInsideChunkHandler=function(aD,aK){ Assert(false,"Cannot translate position in changed area"); }; PosTranslator.ShiftWithTopInsideChunkHandler= -function(aE,aL){ -return aE-aL.pos1+aL.pos2; +function(aD,aK){ +return aD-aK.pos1+aK.pos2; }; var i={ UNCHANGED:"unchanged", @@ -3997,10 +4051,10 @@ SOURCE_CHANGED:"source changed", CHANGED:"changed", DAMAGED:"damaged" }; -function CodeInfoTreeNode(aM,aN,aO){ -this.info=aM; -this.children=aN; -this.array_index=aO; +function CodeInfoTreeNode(aL,aM,aN){ +this.info=aL; +this.children=aM; +this.array_index=aN; this.parent=(void 0); this.status=i.UNCHANGED; this.status_explanation=(void 0); @@ -4012,222 +4066,222 @@ 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 BuildCodeInfoTree(aO){ +var aP=0; function BuildNode(){ -var aR=aQ; -aQ++; -var aS=new e(); -while(aQ=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 aJ=ax[aV]; +aW=aJ.pos2+aJ.len2-(aJ.pos1+aJ.len1); +aV++; +}; +this.done=function(){return aV>=ax.length;}; +this.TranslatePos=function(aD){return aD+aW;}; +}; +function ProcessInternals(aX){ +aX.new_start_pos=aU.TranslatePos( +aX.info.start_position); +var aY=0; +var aZ=false; var ba=false; -var bb=false; -while(!aV.done()&& -aV.current().pos1= -aV.current().pos1+aV.current().len1){ -ba=true; -aV.next(); +}else if(bb.info.start_position>= +aU.current().pos1+aU.current().len1){ +aZ=true; +aU.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); +}else if(bb.info.start_position<=aU.current().pos1&& +bb.info.end_position>=aU.current().pos1+ +aU.current().len1){ +ProcessInternals(bb); ba=ba|| -(bc.status==i.DAMAGED); -aZ++; +(bb.status!=i.UNCHANGED); +aZ=aZ|| +(bb.status==i.DAMAGED); +aY++; continue; }else{ -ba=true; -bc.status=i.DAMAGED; -bc.status_explanation= +aZ=true; +bb.status=i.DAMAGED; +bb.status_explanation= "Text diff overlaps with function boundary"; -aZ++; +aY++; continue; } }else{ -if(aV.current().pos1+aV.current().len1<= -aY.info.end_position){ -aY.status=i.CHANGED; -aV.next(); +if(aU.current().pos1+aU.current().len1<= +aX.info.end_position){ +aX.status=i.CHANGED; +aU.next(); continue; }else{ -aY.status=i.DAMAGED; -aY.status_explanation= +aX.status=i.DAMAGED; +aX.status_explanation= "Text diff overlaps with function boundary"; return; } } Assert("Unreachable",false); } -while(aZ0){ -return bp; +if(bo.length>0){ +return bo; } } function TraverseTree(w){ @@ -4236,131 +4290,127 @@ for(var x=0;x ["+bx+"]"; +if(bv!=bw){ +return"Variable map changed: ["+bv+ +"] => ["+bw+"]"; } return; } -var by; -function CheckStackActivations(old_shared_wrapper_list, -new_shared_list, -Z){ +var bx; +function CheckStackActivations(by,X){ var bz=new e(); -for(var x=0;x0){ -Z.push({dropped_from_stack:bC}); +X.push({dropped_from_stack:bC}); } if(bB.length>0){ -Z.push({functions_on_stack:bB}); +X.push({functions_on_stack:bB}); throw new Failure("Blocked by functions on stack"); } return bC.length; } -var by={ +var bx={ 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 +BLOCKED_ACTIVE_GENERATOR:7 }; -by.SymbolName=function(bF){ -var bG=by; +bx.SymbolName=function(bF){ +var bG=bx; for(var bH in bG){ if(bG[bH]==bF){ return bH; } } }; -function Failure(as){ -this.message=as; +function Failure(ar){ +this.message=ar; } Failure.prototype.toString=function(){ return"LiveEdit Failure: "+this.message; }; function CopyErrorPositionToDetails(bI,p){ -function createPositionStruct(N,bJ){ +function createPositionStruct(L,bJ){ if(bJ==-1)return; -var bK=N.locationFromPosition(bJ,true); +var bK=L.locationFromPosition(bJ,true); if(bK==null)return; return{ line:bK.line+1, @@ -4371,48 +4421,48 @@ position:bJ if(!("scriptObject"in bI)||!("startPosition"in bI)){ return; } -var N=bI.scriptObject; +var L=bI.scriptObject; var bL={ -start:createPositionStruct(N,bI.startPosition), -end:createPositionStruct(N,bI.endPosition) +start:createPositionStruct(L,bI.startPosition), +end:createPositionStruct(L,bI.endPosition) }; p.position=bL; } function GetPcFromSourcePos(bM,bN){ return %GetFunctionCodePositionFromSource(bM,bN); } -function SetScriptSource(N,bO,bP,Z){ -var j=N.source; +function SetScriptSource(L,bO,bP,X){ +var j=L.source; var bQ=CompareStrings(j,bO); -return ApplyPatchMultiChunk(N,bQ,bO,bP, -Z); +return ApplyPatchMultiChunk(L,bQ,bO,bP, +X); } function CompareStrings(bR,bS){ return %LiveEditCompareStrings(bR,bS); } -function ApplySingleChunkPatch(N,change_pos,change_len,new_str, -Z){ -var j=N.source; +function ApplySingleChunkPatch(L,change_pos,change_len,new_str, +X){ +var j=L.source; var bO=j.substring(0,change_pos)+ new_str+j.substring(change_pos+change_len); -return ApplyPatchMultiChunk(N, +return ApplyPatchMultiChunk(L, [change_pos,change_pos+change_len,change_pos+new_str.length], -bO,false,Z); +bO,false,X); } -function DescribeChangeTree(bd){ +function DescribeChangeTree(bc){ function ProcessOldNode(w){ var bT=[]; for(var x=0;x>1); -var m=2|4|1; -for(var n=0;n>1); +var l=2|4|1; +for(var m=0;m>1); -for(var n=0;n>1); +for(var m=0;m>1)+(fields?fields.length:0); -if(u>=4){ -%OptimizeObjectForAddingMultipleProperties(t,u); +var s=constructor.prototype; +var t=(methods.length>>1)+(fields?fields.length:0); +if(t>=4){ +%OptimizeObjectForAddingMultipleProperties(s,t); } if(fields){ -for(var n=0;n=0&&h<0x800000){ +return h; +} +} +h=(g==null)?0:(g.length>>>0); +if(h>0x800000)throw %make_range_error(151); +if(g!=null&&!(%_IsSpecObject(g))){ +throw %make_type_error(122,"Function.prototype.apply"); +} +return h; +} +function REFLECT_APPLY_PREPARE(g){ +var h; +if(!(typeof(this)==='function')){ +throw %make_type_error(9,(%_ToString(this)),typeof this); +} +if((%_IsArray(g))){ +h=g.length; +if(%_IsSmi(h)&&h>=0&&h<0x800000){ +return h; +} +} +if(!(%_IsSpecObject(g))){ +throw %make_type_error(122,"Reflect.apply"); +} +h=(%ToLength(g.length)); +if(h>0x800000)throw %make_range_error(151); +return h; +} +function REFLECT_CONSTRUCT_PREPARE( +g,newTarget){ +var h; +var i=(typeof(this)==='function')&&%IsConstructor(this); +var j=(typeof(newTarget)==='function')&&%IsConstructor(newTarget); +if((%_IsArray(g))){ +h=g.length; +if(%_IsSmi(h)&&h>=0&&h<0x800000&& +i&&j){ +return h; +} +} +if(!i){ +if(!(typeof(this)==='function')){ +throw %make_type_error(13,(%_ToString(this))); +}else{ +throw %make_type_error(55,(%_ToString(this))); +} +} +if(!j){ +if(!(typeof(newTarget)==='function')){ +throw %make_type_error(13,(%_ToString(newTarget))); +}else{ +throw %make_type_error(55,(%_ToString(newTarget))); +} +} +if(!(%_IsSpecObject(g))){ +throw %make_type_error(122,"Reflect.construct"); +} +h=(%ToLength(g.length)); +if(h>0x800000)throw %make_range_error(151); +return h; +} function CONCAT_ITERABLE_TO_ARRAY(k){ return %concat_iterable_to_array(this,k); }; +function ToBoolean(l){ +if((typeof(l)==='boolean'))return l; +if((typeof(l)==='string'))return l.length!=0; +if(l==null)return false; +if((typeof(l)==='number'))return!((l==0)||(!%_IsSmi(%IS_VAR(l))&&!(l==l))); +return true; +} +function ToNumber(l){ +if((typeof(l)==='number'))return l; +if((typeof(l)==='string')){ +return %_HasCachedArrayIndex(l)?%_GetCachedArrayIndex(l) +:%StringToNumber(l); +} +if((typeof(l)==='boolean'))return l?1:0; +if((l===(void 0)))return $NaN; +return((l===null))?0:ToNumber(DefaultNumber(l)); +} +function NonNumberToNumber(l){ +if((typeof(l)==='string')){ +return %_HasCachedArrayIndex(l)?%_GetCachedArrayIndex(l) +:%StringToNumber(l); +} +if((typeof(l)==='boolean'))return l?1:0; +if((l===(void 0)))return $NaN; +return((l===null))?0:ToNumber(DefaultNumber(l)); +} +function ToString(l){ +if((typeof(l)==='string'))return l; +if((typeof(l)==='number'))return %_NumberToString(l); +if((typeof(l)==='boolean'))return l?'true':'false'; +if((l===(void 0)))return'undefined'; +return((l===null))?'null':ToString(DefaultString(l)); +} function SameValue(l,m){ if(typeof l!=typeof m)return false; if((typeof(l)==='number')){ @@ -4746,139 +4876,156 @@ return l===m; function ConcatIterableToArray(n,k){ var o=n.length; for(var p of k){ -AddIndexedProperty(n,o++,p); +%AddElement(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); -} +function IsPrimitive(l){ +return!(%_IsSpecObject(l)); } -%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 IsConcatSpreadable(q){ +if(!(%_IsSpecObject(q)))return false; +var r=q[f]; +if((r===(void 0)))return(%_IsArray(q)); +return ToBoolean(r); } -function MinSimple(u,v){ -return u>v?v:u; +function DefaultNumber(l){ +var s=l.valueOf; +if((typeof(s)==='function')){ +var t=%_Call(s,l); +if((typeof(t)==='symbol'))throw MakeTypeError(115); +if((%_IsSimdValue(l)))throw MakeTypeError(117); +if(IsPrimitive(t))return t; +} +var u=l.toString; +if((typeof(u)==='function')){ +var v=%_Call(u,l); +if(IsPrimitive(v))return v; +} +throw MakeTypeError(16); +} +function DefaultString(l){ +if(!(%_ClassOf(l)==='Symbol')){ +if((typeof(l)==='symbol'))throw MakeTypeError(116); +var u=l.toString; +if((typeof(u)==='function')){ +var v=%_Call(u,l); +if(IsPrimitive(v))return v; +} +var s=l.valueOf; +if((typeof(s)==='function')){ +var t=%_Call(s,l); +if(IsPrimitive(t))return t; } -%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); +throw MakeTypeError(16); } -var A=z[i]; -if((A==null)){ +function ToPositiveInteger(l,w){ +var x=(%_IsSmi(%IS_VAR(l))?l:%NumberToIntegerMapMinusZero(ToNumber(l))); +if(x<0)throw MakeRangeError(w); 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; -}); +%FunctionSetPrototype(c,new c(0)); +$NaN=%GetRootNaN(); +$nonNumberToNumber=NonNumberToNumber; +$sameValue=SameValue; +$sameValueZero=SameValueZero; +$toNumber=ToNumber; +$toPositiveInteger=ToPositiveInteger; %InstallToContext([ +"apply_prepare_builtin",APPLY_PREPARE, "concat_iterable_to_array_builtin",CONCAT_ITERABLE_TO_ARRAY, +"reflect_apply_prepare_builtin",REFLECT_APPLY_PREPARE, +"reflect_construct_prepare_builtin",REFLECT_CONSTRUCT_PREPARE, ]); %InstallToContext([ "concat_iterable_to_array",ConcatIterableToArray, +"non_number_to_number",NonNumberToNumber, +"to_number_fun",ToNumber, ]); +b.Export(function(y){ +y.ToBoolean=ToBoolean; +y.ToNumber=ToNumber; +y.ToString=ToString; +}); }) -$v8natives# +$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 c; +var d=a.Array; +var e=a.Boolean; +var f=a.Function; +var g=a.Number; +var h=a.Object; +var i=b.InternalArray; +var j=b.ImportNow("iterator_symbol"); var k; var l; -var m=%GetRootNaN(); -var n=b.ImportNow("object_to_string"); +var m; +var n; 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; +var p=b.ImportNow("ToBoolean"); +var q=b.ImportNow("ToNumber"); +var r=b.ImportNow("to_string_tag_symbol"); +b.Import(function(s){ +k=s.MathAbs; +o=s.StringIndexOf; }); -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>>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); +function DefineArrayProperty(M,Y,J,ab){ +if(!(typeof(Y)==='symbol')){ +var al=(Y>>>0); +var am=false; +if((%_ToString(al))==Y&&al!=4294967295){ +var an=M.length; +if(al>=an&&%IsObserved(M)){ +am=true; +$observeBeginPerformSplice(M); +} +var ao=GetOwnPropertyJS(M,"length"); +if((al>=an&&!ao.isWritable())|| +!DefineObjectProperty(M,Y,J,true)){ +if(am) +$observeEndPerformSplice(M); +if(ab){ +throw MakeTypeError(27,Y); }else{ return false; } } -if(ah>=aj){ -H.length=ah+1; +if(al>=an){ +M.length=al+1; } -if(ai){ -p(H); -q(H,aj,[],ah+1-aj); +if(am){ +$observeEndPerformSplice(M); +$observeEnqueueSpliceRecord(M,an,[],al+1-an); } return true; } } -return DefineObjectProperty(H,U,G,Y); +return DefineObjectProperty(M,Y,J,ab); } -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); +function DefineOwnProperty(M,Y,J,ab){ +if(%_IsJSProxy(M)){ +if((typeof(Y)==='symbol'))return false; +var z=FromGenericPropertyDescriptor(J); +return DefineProxyProperty(M,Y,z,ab); +}else if((%_IsArray(M))){ +return DefineArrayProperty(M,Y,J,ab); }else{ -return DefineObjectProperty(H,U,G,Y); +return DefineObjectProperty(M,Y,J,ab); } } -function ObjectGetPrototypeOf(H){ -return %_GetPrototype((%_ToObject(H))); +function DefineOwnPropertyFromAPI(M,Y,D,J){ +return DefineOwnProperty(M,Y,ToPropertyDescriptor({ +value:D, +writable:J[0], +enumerable:J[1], +configurable:J[2] +}), +false); } -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); +function ObjectGetPrototypeOf(M){ +return %_GetPrototype((%_ToObject(M))); } -if((%_IsJSReceiver(H))){ -%SetPrototype(H,al); +function ObjectSetPrototypeOf(M,ap){ +if((%IS_VAR(M)===null)||(M===(void 0)))throw MakeTypeError(15,"Object.setPrototypeOf"); +if(ap!==null&&!(%_IsSpecObject(ap))){ +throw MakeTypeError(83,ap); } -return H; +if((%_IsSpecObject(M))){ +%SetPrototype(M,ap); +} +return M; } -function ObjectGetOwnPropertyDescriptor(H,U){ -return %GetOwnProperty(H,U); +function ObjectGetOwnPropertyDescriptor(M,Y){ +var J=GetOwnPropertyJS((%_ToObject(M)),Y); +return FromPropertyDescriptor(J); } -function ObjectGetOwnPropertyNames(H){ -H=(%_ToObject(H)); -return %GetOwnPropertyKeys(H,16); +function ToNameArray(M,V,aq){ +if(!(%_IsSpecObject(M))){ +throw MakeTypeError(90,V,M); } -function ObjectDefineProperty(H,U,x){ -if(%IsObserved(H)){ -if(!(%_IsJSReceiver(H))){ -throw k(16,"Object.defineProperty"); +var ar=(M.length>>>0); +var as=new d(ar); +var at=0; +var N={__proto__:null}; +for(var al=0;al36)throw i(189); -return %NumberToRadixString(u,w); +v=(%_ToInteger(v)); +if(v<2||v>36)throw MakeRangeError(153); +return %NumberToRadixString(t,v); } function NumberToLocaleString(){ -return %_Call(NumberToStringJS,this); +return %_CallFunction(this,NumberToStringJS); } function NumberValueOf(){ if(!(typeof(this)==='number')&&!(%_ClassOf(this)==='Number')){ -throw k(65,'Number.prototype.valueOf'); +throw MakeTypeError(58,'Number.prototype.valueOf'); } return %_ValueOf(this); } -function NumberToFixedJS(ar){ -var R=this; +function NumberToFixedJS(bc){ +var w=this; if(!(typeof(this)==='number')){ if(!(%_ClassOf(this)==='Number')){ -throw k(42, +throw MakeTypeError(36, "Number.prototype.toFixed",this); } -R=%_ValueOf(this); +w=%_ValueOf(this); } -var as=(%_ToInteger(ar)); -if(as<0||as>20){ -throw i(185,"toFixed() digits"); +var y=(%_ToInteger(bc)); +if(y<0||y>20){ +throw MakeRangeError(149,"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); +if((!%_IsSmi(%IS_VAR(w))&&!(w==w)))return"NaN"; +if(w==(1/0))return"Infinity"; +if(w==-(1/0))return"-Infinity"; +return %NumberToFixed(w,y); } -function NumberToExponentialJS(ar){ -var R=this; +function NumberToExponentialJS(bc){ +var w=this; if(!(typeof(this)==='number')){ if(!(%_ClassOf(this)==='Number')){ -throw k(42, +throw MakeTypeError(36, "Number.prototype.toExponential",this); } -R=%_ValueOf(this); +w=%_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()"); +var y=(bc===(void 0))?(void 0):(%_ToInteger(bc)); +if((!%_IsSmi(%IS_VAR(w))&&!(w==w)))return"NaN"; +if(w==(1/0))return"Infinity"; +if(w==-(1/0))return"-Infinity"; +if((y===(void 0))){ +y=-1; +}else if(y<0||y>20){ +throw MakeRangeError(149,"toExponential()"); } -return %NumberToExponential(R,as); +return %NumberToExponential(w,y); } -function NumberToPrecisionJS(at){ -var R=this; +function NumberToPrecisionJS(bd){ +var w=this; if(!(typeof(this)==='number')){ if(!(%_ClassOf(this)==='Number')){ -throw k(42, +throw MakeTypeError(36, "Number.prototype.toPrecision",this); } -R=%_ValueOf(this); +w=%_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); +if((bd===(void 0)))return(%_ToString(w)); +var Y=(%_ToInteger(bd)); +if((!%_IsSmi(%IS_VAR(w))&&!(w==w)))return"NaN"; +if(w==(1/0))return"Infinity"; +if(w==-(1/0))return"-Infinity"; +if(Y<1||Y>21){ +throw MakeRangeError(152); } -return %NumberToPrecision(R,U); +return %NumberToPrecision(w,Y); } -function NumberIsFinite(u){ -return(typeof(u)==='number')&&(%_IsSmi(%IS_VAR(u))||((u==u)&&(u!=1/0)&&(u!=-1/0))); +function NumberIsFinite(t){ +return(typeof(t)==='number')&&(%_IsSmi(%IS_VAR(t))||((t==t)&&(t!=1/0)&&(t!=-1/0))); } -function NumberIsInteger(u){ -return NumberIsFinite(u)&&(%_ToInteger(u))==u; +function NumberIsInteger(t){ +return NumberIsFinite(t)&&(%_ToInteger(t))==t; } -function NumberIsNaN(u){ -return(typeof(u)==='number')&&(!%_IsSmi(%IS_VAR(u))&&!(u==u)); +function NumberIsNaN(t){ +return(typeof(t)==='number')&&(!%_IsSmi(%IS_VAR(t))&&!(t==t)); } -function NumberIsSafeInteger(u){ -if(NumberIsFinite(u)){ -var au=(%_ToInteger(u)); -if(au==u){ -return l(au)<=9007199254740991; +function NumberIsSafeInteger(t){ +if(NumberIsFinite(t)){ +var be=(%_ToInteger(t)); +if(be==t){ +return k(be)<=9007199254740991; } } return false; } -%FunctionSetPrototype(e,new e(0)); -%OptimizeObjectForAddingMultipleProperties(e.prototype,8); -%AddNamedProperty(e.prototype,"constructor",e, +%SetCode(g,NumberConstructor); +%FunctionSetPrototype(g,new g(0)); +%OptimizeObjectForAddingMultipleProperties(g.prototype,8); +%AddNamedProperty(g.prototype,"constructor",g, 2); -b.InstallConstants(e,[ +b.InstallConstants(g,[ "MAX_VALUE",1.7976931348623157e+308, "MIN_VALUE",5e-324, -"NaN",m, +"NaN",$NaN, "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,[ +b.InstallFunctions(g.prototype,2,[ "toString",NumberToStringJS, "toLocaleString",NumberToLocaleString, "valueOf",NumberValueOf, @@ -5627,7 +6124,7 @@ b.InstallFunctions(e.prototype,2,[ "toExponential",NumberToExponentialJS, "toPrecision",NumberToPrecisionJS ]); -b.InstallFunctions(e,2,[ +b.InstallFunctions(g,2,[ "isFinite",NumberIsFinite, "isInteger",NumberIsInteger, "isNaN",NumberIsNaN, @@ -5636,35 +6133,161 @@ b.InstallFunctions(e,2,[ "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; +function NativeCodeFunctionSourceString(ac){ +var E=%FunctionGetName(ac); +if(E){ +return'function '+E+'() { [native code] }'; +} +return'function () { [native code] }'; +} +function FunctionSourceString(ac){ +while(%IsJSFunctionProxy(ac)){ +ac=%GetCallTrap(ac); +} +if(!(%_IsFunction(ac))){ +throw MakeTypeError(58,'Function.prototype.toString'); +} +if(%FunctionHidesSource(ac)){ +return NativeCodeFunctionSourceString(ac); +} +var bf=%ClassGetSourceCode(ac); +if((typeof(bf)==='string')){ +return bf; +} +var bg=%FunctionGetSourceCode(ac); +if(!(typeof(bg)==='string')){ +return NativeCodeFunctionSourceString(ac); +} +if(%FunctionIsArrow(ac)){ +return bg; +} +var E=%FunctionNameShouldPrintAsAnonymous(ac) +?'anonymous' +:%FunctionGetName(ac); +var bh=%FunctionIsGenerator(ac); +var bi=%FunctionIsConciseMethod(ac) +?(bh?'*':'') +:(bh?'function* ':'function '); +return bi+E+bg; +} +function FunctionToString(){ +return FunctionSourceString(this); +} +function FunctionBind(bj){ +if(!(typeof(this)==='function'))throw MakeTypeError(33); +var bk=function(){ +"use strict"; +if(%_IsConstructCall()){ +return %NewObjectFromBound(bk); +} +var bl=%BoundFunctionGetBindings(bk); +var bm=%_ArgumentsLength(); +if(bm==0){ +return %Apply(bl[0],bl[1],bl,2,bl.length-2); +} +if(bl.length===2){ +return %Apply(bl[0],bl[1],arguments,0,bm); +} +var bn=bl.length-2; +var bo=new i(bn+bm); +for(var az=0;az>>0)===bq)){ +var bm=%_ArgumentsLength(); +if(bm>0)bm--; +bp=bq-bm; +if(bp<0)bp=0; +} +var ad=%FunctionBindArguments(bk,this, +bj,bp); +var E=this.name; +var br=(typeof(E)==='string')?E:""; +%DefineDataPropertyUnchecked(ad,"name","bound "+br, +2|1); +return ad; +} +function NewFunctionString(bs,bt){ +var ar=bs.length; +var Y=''; +if(ar>1){ +Y=(%_ToString(bs[0])); +for(var az=1;az0)?(%_ToString(bs[ar-1])):''; +return'('+bt+'('+Y+') {\n'+bu+'\n})'; +} +function FunctionConstructor(bv){ +var bg=NewFunctionString(arguments,'function'); +var x=%GlobalProxy(FunctionConstructor); +var y=%_CallFunction(x,%CompileString(bg,true)); +%FunctionMarkNameShouldPrintAsAnonymous(y); +return y; +} +%SetCode(f,FunctionConstructor); +%AddNamedProperty(f.prototype,"constructor",f, +2); +b.InstallFunctions(f.prototype,2,[ +"bind",FunctionBind, +"toString",FunctionToString +]); +function GetIterator(M,bw){ +if((bw===(void 0))){ +bw=M[j]; +} +if(!(typeof(bw)==='function')){ +throw MakeTypeError(59,M); +} +var bx=%_CallFunction(M,bw); +if(!(%_IsSpecObject(bx))){ +throw MakeTypeError(53,bx); +} +return bx; +} +b.Export(function(aV){ +aV.Delete=Delete; +aV.FunctionSourceString=FunctionSourceString; +aV.GetIterator=GetIterator; +aV.GetMethod=GetMethod; +aV.IsFinite=GlobalIsFinite; +aV.IsNaN=GlobalIsNaN; +aV.NewFunctionString=NewFunctionString; +aV.NumberIsNaN=NumberIsNaN; +aV.ObjectDefineProperties=ObjectDefineProperties; +aV.ObjectDefineProperty=ObjectDefineProperty; +aV.ObjectFreeze=ObjectFreezeJS; +aV.ObjectGetOwnPropertyKeys=ObjectGetOwnPropertyKeys; +aV.ObjectHasOwnProperty=ObjectHasOwnProperty; +aV.ObjectIsFrozen=ObjectIsFrozen; +aV.ObjectIsSealed=ObjectIsSealed; +aV.ObjectToString=ObjectToString; +aV.ToNameArray=ToNameArray; }); %InstallToContext([ +"global_eval_fun",GlobalEval, "object_value_of",ObjectValueOf, +"object_to_string",ObjectToString, +"object_define_own_property",DefineOwnPropertyFromAPI, +"object_get_own_property_descriptor",ObjectGetOwnPropertyDescriptor, +"to_complete_property_descriptor",ToCompletePropertyDescriptor, ]); }) -symbol9 +symboly (function(a,b){ "use strict"; %CheckIsBootstrapping(); @@ -5673,58 +6296,59 @@ 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; +var g=b.ImportNow("is_regexp_symbol"); +var h=b.ImportNow("iterator_symbol"); +var i; +var j=b.ImportNow("to_primitive_symbol"); +var k=b.ImportNow("to_string_tag_symbol"); +var l=b.ImportNow("unscopables_symbol"); +b.Import(function(m){ +i=m.ObjectGetOwnPropertyKeys; }); -function SymbolToPrimitive(m){ +function SymbolToPrimitive(n){ if(!((typeof(this)==='symbol')||(%_ClassOf(this)==='Symbol'))){ -throw h(42, +throw MakeTypeError(36, "Symbol.prototype [ @@toPrimitive ]",this); } return %_ValueOf(this); } function SymbolToString(){ if(!((typeof(this)==='symbol')||(%_ClassOf(this)==='Symbol'))){ -throw h(42, +throw MakeTypeError(36, "Symbol.prototype.toString",this); } return %SymbolDescriptiveString(%_ValueOf(this)); } function SymbolValueOf(){ if(!((typeof(this)==='symbol')||(%_ClassOf(this)==='Symbol'))){ -throw h(42, +throw MakeTypeError(36, "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; +function SymbolFor(o){ +o=(%_ToString(o)); +var p=%SymbolRegistry(); +if((p.for[o]===(void 0))){ +var q=%CreateSymbol(o); +p.for[o]=q; +p.keyFor[q]=o; } -return o.for[n]; +return p.for[o]; } -function SymbolKeyFor(p){ -if(!(typeof(p)==='symbol'))throw h(148,p); -return %SymbolRegistry().keyFor[p]; +function SymbolKeyFor(q){ +if(!(typeof(q)==='symbol'))throw MakeTypeError(114,q); +return %SymbolRegistry().keyFor[q]; } -function ObjectGetOwnPropertySymbols(q){ -q=(%_ToObject(q)); -return %GetOwnPropertyKeys(q,8); +function ObjectGetOwnPropertySymbols(r){ +r=(%_ToObject(r)); +return i(r,8); } %FunctionSetPrototype(d,new c()); b.InstallConstants(d,[ -"iterator",g, -"toPrimitive",i, -"unscopables",k, +"iterator",h, +"toPrimitive",j, +"unscopables",l, ]); b.InstallFunctions(d,2,[ "for",SymbolFor, @@ -5733,9 +6357,9 @@ b.InstallFunctions(d,2,[ %AddNamedProperty( d.prototype,"constructor",d,2); %AddNamedProperty( -d.prototype,j,"Symbol",2|1); +d.prototype,k,"Symbol",2|1); b.InstallFunctions(d.prototype,2|1,[ -i,SymbolToPrimitive +j,SymbolToPrimitive ]); b.InstallFunctions(d.prototype,2,[ "toString",SymbolToString, @@ -5744,1403 +6368,1179 @@ b.InstallFunctions(d.prototype,2,[ b.InstallFunctions(c,2,[ "getOwnPropertySymbols",ObjectGetOwnPropertySymbols ]); -b.Export(function(r){ -r.SymbolToString=SymbolToString; +b.Export(function(s){ +s.SymbolToString=SymbolToString; }) }) -array -(function(a,b,c){ +array~ +(function(a,b){ "use strict"; %CheckIsBootstrapping(); -var d; -var e; -var f; +var c; +var d=a.Array; +var e=b.InternalArray; +var f=b.InternalPackedArray; var g; var h; -var i=a.Array; -var j=b.InternalArray; -var k=b.InternalPackedArray; +var i; +var j; +var k; 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; +var n=b.ImportNow("unscopables_symbol"); +b.Import(function(o){ +c=o.Delete; +g=o.MathMin; +h=o.ObjectHasOwnProperty; +i=o.ObjectIsFrozen; +j=o.ObjectIsSealed; +k=o.ObjectToString; +l=o.ToNumber; +m=o.ToString; }); -function ArraySpeciesCreate(y,z){ -var A; -if(f){ -A=%ArraySpeciesConstructor(y); -}else{ -A=i; +var p=new e(); +function GetSortedArrayKeys(q,r){ +var s=new e(); +if((typeof(r)==='number')){ +var t=r; +for(var u=0;u>2; -var Z=%EstimateNumberOfElements(y); -return(ZZ*4); +var M=w>>2; +var N=%EstimateNumberOfElements(q); +return(NN*4); } -function Join(y,z,P,O){ -if(z==0)return''; -var W=(%_IsArray(y)); -if(W){ -if(!%PushIfAbsent(E,y))return''; +function Join(q,w,D,C){ +if(w==0)return''; +var K=(%_IsArray(q)); +if(K){ +if(!%PushIfAbsent(p,q))return''; } try{ -if(UseSparseVariant(y,z,W,z)){ -%NormalizeElements(y); -if(P.length==0){ -return SparseJoin(y,z,O); +if(UseSparseVariant(q,w,K,w)){ +%NormalizeElements(q); +if(D.length==0){ +return SparseJoin(q,w,C); }else{ -return SparseJoinWithSeparatorJS(y,z,O,P); +return SparseJoinWithSeparatorJS(q,w,C,D); } } -if(z==1){ -var I=y[0]; -if((typeof(I)==='string'))return I; -return O(I); +if(w==1){ +var v=q[0]; +if((typeof(v)==='string'))return v; +return C(v); } -var R=new j(z); -if(P.length==0){ -var V=0; -for(var B=0;B=ab){ -var ae=y[K]; -if(!(ae===(void 0))||K in y){ -DefineIndexedProperty(ad,K-ab,ae); +var w=r.length; +for(var x=0;x=R){ +var U=q[y]; +if(!(U===(void 0))||y in q){ +%AddElement(T,y-R,U); } } } } } } -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+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); +}else if(y>=R+S){ +var U=q[y]; +if(!(U===(void 0))||y in q){ +var Y=y-S+V; +W[Y]=U; +if(Y>0xfffffffe){ +X=X||new e(); +X.push(Y); } } } } } } -%MoveArrayContents(ag,y); -if(!(ah===(void 0))){ -var z=ah.length; -for(var B=0;Bac){ -for(var B=N-ac;B>ab;B--){ -var ak=B+ac-1; -var al=B+af-1; -if(((W&&%_HasFastPackedElements(%IS_VAR(y)))?(akS){ +for(var u=B-S;u>R;u--){ +var aa=u+S-1; +var ab=u+V-1; +if(((K&&%_HasFastPackedElements(%IS_VAR(q)))?(aaN-ac+af;B--){ -delete y[B-1]; +for(var u=B;u>B-S+V;u--){ +delete q[u-1]; } } } } function ArrayToString(){ -var y; -var am; +var q; +var ac; if((%_IsArray(this))){ -am=this.join; -if(am===ArrayJoin){ +ac=this.join; +if(ac===ArrayJoin){ return Join(this,this.length,',',ConvertToString); } -y=this; +q=this; }else{ -y=(%_ToObject(this)); -am=y.join; +q=(%_ToObject(this)); +ac=q.join; } -if(!(typeof(am)==='function')){ -return %_Call(q,y); +if(!(typeof(ac)==='function')){ +return %_CallFunction(q,k); } -return %_Call(am,y); +return %_Call(ac,q); } -function InnerArrayToLocaleString(y,z){ -var N=(e?(%_ToLength(z)):((z)>>>0)); -if(N===0)return""; -return Join(y,N,',',ConvertToLocaleString); +function InnerArrayToLocaleString(q,w){ +var B=(harmony_tolength?(%ToLength(w)):(w>>>0)); +if(B===0)return""; +return Join(q,B,',',ConvertToLocaleString); } function ArrayToLocaleString(){ -var y=(%_ToObject(this)); -var an=y.length; -return InnerArrayToLocaleString(y,an); +var q=(%_ToObject(this)); +var ad=q.length; +return InnerArrayToLocaleString(q,ad); } -function InnerArrayJoin(P,y,z){ -if((P===(void 0))){ -P=','; +function InnerArrayJoin(D,q,w){ +if((D===(void 0))){ +D=','; }else{ -P=(%_ToString(P)); +D=(%_ToString(D)); } -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)); +var O=%_FastOneByteArrayJoin(q,D); +if(!(O===(void 0)))return O; +if(w===1){ +var v=q[0]; +if((v==null))return''; +return(%_ToString(v)); } -return Join(y,z,P,ConvertToString); +return Join(q,w,D,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 ArrayJoin(D){ +if((%IS_VAR(this)===null)||(this===(void 0)))throw MakeTypeError(15,"Array.prototype.join"); +var q=(%_ToObject(this)); +var w=(harmony_tolength?(%ToLength(q.length)):(q.length>>>0)); +return InnerArrayJoin(D,q,w); } -function ObservedArrayPop(ao){ -ao--; -var C=this[ao]; +function ObservedArrayPop(ae){ +ae--; +var af=this[ae]; try{ -r(this); -delete this[ao]; -this.length=ao; +$observeBeginPerformSplice(this); +delete this[ae]; +this.length=ae; }finally{ -s(this); -t(this,ao,[C],0); +$observeEndPerformSplice(this); +$observeEnqueueSpliceRecord(this,ae,[af],0); } -return C; +return af; } 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; +if((%IS_VAR(this)===null)||(this===(void 0)))throw MakeTypeError(15,"Array.prototype.pop"); +var q=(%_ToObject(this)); +var ae=(harmony_tolength?(%ToLength(q.length)):(q.length>>>0)); +if(ae==0){ +q.length=ae; return; } -if(%IsObserved(y)) -return ObservedArrayPop.call(y,ao); -ao--; -var C=y[ao]; -%DeleteProperty_Strict(y,ao); -y.length=ao; -return C; +if(%IsObserved(q)) +return ObservedArrayPop.call(q,ae); +ae--; +var af=q[ae]; +c(q,ae,true); +q.length=ae; +return af; } function ObservedArrayPush(){ -var ao=(e?(%_ToLength(this.length)):((this.length)>>>0)); -var ap=%_ArgumentsLength(); +var ae=(harmony_tolength?(%ToLength(this.length)):(this.length>>>0)); +var ag=%_ArgumentsLength(); try{ -r(this); -for(var B=0;B>>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=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>>0)); +var ag=%_ArgumentsLength(); +for(var u=0;u=u){ +am=u; +while(s[++aj]==u){} +an=B-u-1; +} +var ao=q[am]; +if(!(ao===(void 0))||am in q){ +var ap=q[an]; +if(!(ap===(void 0))||an in q){ +q[am]=ap; +q[an]=ao; +}else{ +q[an]=ao; +delete q[am]; +} +}else{ +var ap=q[an]; +if(!(ap===(void 0))||an in q){ +q[am]=ap; +delete q[an]; +} +} +} +} +function PackedArrayReverse(q,B){ +var ak=B-1; +for(var u=0;u>>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); +if((%IS_VAR(this)===null)||(this===(void 0)))throw MakeTypeError(15,"Array.prototype.reverse"); +var q=(%_ToObject(this)); +var B=(harmony_tolength?(%ToLength(q.length)):(q.length>>>0)); +var aq=(%_IsArray(q)); +if(UseSparseVariant(q,B,aq,B)){ +%NormalizeElements(q); +SparseReverse(q,B); +return q; +}else if(aq&&%_HasFastPackedElements(q)){ +return PackedArrayReverse(q,B); }else{ -return GenericArrayReverse(y,N); +return GenericArrayReverse(q,B); } } -function ObservedArrayShift(N){ -var aA=this[0]; +function ObservedArrayShift(B){ +var ar=this[0]; try{ -r(this); -SimpleMove(this,0,1,N,0); -this.length=N-1; +$observeBeginPerformSplice(this); +SimpleMove(this,0,1,B,0); +this.length=B-1; }finally{ -s(this); -t(this,0,[aA],0); +$observeEndPerformSplice(this); +$observeEnqueueSpliceRecord(this,0,[ar],0); } -return aA; +return ar; } 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; +if((%IS_VAR(this)===null)||(this===(void 0)))throw MakeTypeError(15,"Array.prototype.shift"); +var q=(%_ToObject(this)); +var B=(harmony_tolength?(%ToLength(q.length)):(q.length>>>0)); +if(B===0){ +q.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); +if(j(q))throw MakeTypeError(11); +if(%IsObserved(q)) +return ObservedArrayShift.call(q,B); +var ar=q[0]; +if(UseSparseVariant(q,B,(%_IsArray(q)),B)){ +SparseMove(q,0,1,B,0); }else{ -SimpleMove(y,0,1,N,0); +SimpleMove(q,0,1,B,0); } -y.length=N-1; -return aA; +q.length=B-1; +return ar; } function ObservedArrayUnshift(){ -var N=(e?(%_ToLength(this.length)):((this.length)>>>0)); -var aB=%_ArgumentsLength(); +var B=(harmony_tolength?(%ToLength(this.length)):(this.length>>>0)); +var as=%_ArgumentsLength(); try{ -r(this); -SimpleMove(this,0,0,N,aB); -for(var B=0;B>>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>>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>>0)); +var as=%_ArgumentsLength(); +if(B>0&&UseSparseVariant(q,B,(%_IsArray(q)),B)&& +!j(q)){ +SparseMove(q,0,0,B,as); +}else{ +SimpleMove(q,0,0,B,as); +} +for(var u=0;u>>0)); +var R=(%_ToInteger(au)); +var aw=B; +if(!(av===(void 0)))aw=(%_ToInteger(av)); +if(R<0){ +R+=B; +if(R<0)R=0; +}else{ +if(R>B)R=B; +} +if(aw<0){ +aw+=B; +if(aw<0)aw=0; +}else{ +if(aw>B)aw=B; +} +var O=[]; +if(awN?N:ab; +return R>B?B:R; } -function ComputeSpliceDeleteCount(aG,aB,N,ab){ -var ac=0; -if(aB==1) -return N-ab; -ac=(%_ToInteger(aG)); -if(ac<0) +function ComputeSpliceDeleteCount(ax,as,B,R){ +var S=0; +if(as==1) +return B-R; +S=(%_ToInteger(ax)); +if(S<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; +if(S>B-R) +return B-R; +return S; +} +function ObservedArraySplice(au,ax){ +var as=%_ArgumentsLength(); +var B=(harmony_tolength?(%ToLength(this.length)):(this.length>>>0)); +var R=ComputeSpliceStartIndex((%_ToInteger(au)),B); +var S=ComputeSpliceDeleteCount(ax,as,B, +R); +var T=[]; +T.length=S; +var ay=as>2?as-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>>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>>0)); +var R=ComputeSpliceStartIndex((%_ToInteger(au)),B); +var S=ComputeSpliceDeleteCount(ax,as,B, +R); +var T=[]; +T.length=S; +var ay=as>2?as-2:0; +if(S!=ay&&j(q)){ +throw MakeTypeError(11); +}else if(S>0&&i(q)){ +throw MakeTypeError(10); +} +var aB=S; +if(ay!=S){ +aB+=B-R-S; +} +if(UseSparseVariant(q,B,(%_IsArray(q)),aB)){ +%NormalizeElements(q); +%NormalizeElements(T); +SparseSlice(q,R,S,B,T); +SparseMove(q,R,S,B,ay); +}else{ +SimpleSlice(q,R,S,B,T); +SimpleMove(q,R,S,B,ay); +} +var u=R; +var az=2; +var aA=%_ArgumentsLength(); +while(az=x;at--){ -var aQ=L[at]; -var aR=aL(aQ,aP); -if(aR>0){ -L[at+1]=aQ; +function InnerArraySort(q,w,aC){ +if(!(typeof(aC)==='function')){ +aC=function(P,aD){ +if(P===aD)return 0; +if(%_IsSmi(P)&&%_IsSmi(aD)){ +return %SmiLexicographicCompare(P,aD); +} +P=m(P); +aD=m(aD); +if(P==aD)return 0; +else return P=o;ak--){ +var aH=z[ak]; +var aI=aC(aH,aG); +if(aI>0){ +z[ak+1]=aH; }else{ break; } } -L[at+1]=aP; +z[ak+1]=aG; } }; -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>1][0]; -return aV; +var aM=aK[aK.length>>1][0]; +return aM; } -var aW=function QuickSort(L,x,aO){ -var aV=0; +var aN=function QuickSort(z,o,aF){ +var aM=0; while(true){ -if(aO-x<=10){ -aN(L,x,aO); +if(aF-o<=10){ +aE(z,o,aF); 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;B0){ +if(aF-o>1000){ +aM=aJ(z,o,aF); +}else{ +aM=o+((aF-o)>>1); +} +var aO=z[o]; +var aP=z[aF-1]; +var aQ=z[aM]; +var aR=aC(aO,aP); +if(aR>0){ +var aH=aO; +aO=aP; +aP=aH; +} +var aS=aC(aO,aQ); +if(aS>=0){ +var aH=aO; +aO=aQ; +aQ=aP; +aP=aH; +}else{ +var aT=aC(aP,aQ); +if(aT>0){ +var aH=aP; +aP=aQ; +aQ=aH; +} +} +z[o]=aO; +z[aF-1]=aQ; +var aU=aP; +var aV=o+1; +var aW=aF-1; +z[aM]=z[aV]; +z[aV]=aU; +partition:for(var u=aV+1;u0){ 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++; +aW--; +if(aW==u)break partition; +var aX=z[aW]; +aI=aC(aX,aU); +}while(aI>0); +z[u]=z[aW]; +z[aW]=aG; +if(aI<0){ +aG=z[u]; +z[u]=z[aV]; +z[aV]=aG; +aV++; } } } -if(aO-bf=bj){bj=B+1;} +var aY=function CopyFromPrototype(aZ,w){ +var ba=0; +for(var bb=%_GetPrototype(aZ);bb;bb=%_GetPrototype(bb)){ +var r=%GetArrayKeys(bb,w); +if((typeof(r)==='number')){ +var bc=r; +for(var u=0;u=ba){ba=u+1;} } } }else{ -for(var B=0;B=bj){bj=aj+1;} +for(var u=0;u=ba){ba=Z+1;} } } } } -return bj; +return ba; }; -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>>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>>0)); -if(!(typeof(bt)==='function'))throw l(15,bt); -var D=ArraySpeciesCreate(y,0); -return InnerArrayFilter(bt,bu,y,z,D); +if(w<2)return q; +var K=(%_IsArray(q)); +var bi; +if(!K){ +bi=aY(q,w); } -function InnerArrayForEach(bt,bu,y,z){ -if(!(typeof(bt)==='function'))throw l(15,bt); -var W=(%_IsArray(y)); -for(var B=0;B>>0)); -InnerArrayForEach(bt,bu,y,z); +function ArraySort(aC){ +if((%IS_VAR(this)===null)||(this===(void 0)))throw MakeTypeError(15,"Array.prototype.sort"); +var q=(%_ToObject(this)); +var w=(harmony_tolength?(%ToLength(q.length)):(q.length>>>0)); +return InnerArraySort(q,w,aC); +} +function InnerArrayFilter(bk,bl,q,w){ +if(!(typeof(bk)==='function'))throw MakeTypeError(13,bk); +var bm=new e(); +var bn=0; +var K=(%_IsArray(q)); +var bo=(%_DebugIsActive()!=0)&&%DebugCallbackSupportsStepping(bk); +for(var u=0;u>>0)); +return InnerArrayFilter(bk,bl,q,w); +} +function InnerArrayForEach(bk,bl,q,w){ +if(!(typeof(bk)==='function'))throw MakeTypeError(13,bk); +var K=(%_IsArray(q)); +var bo=(%_DebugIsActive()!=0)&&%DebugCallbackSupportsStepping(bk); +for(var u=0;u>>0)); +InnerArrayForEach(bk,bl,q,w); +} +function InnerArraySome(bk,bl,q,w){ +if(!(typeof(bk)==='function'))throw MakeTypeError(13,bk); +var K=(%_IsArray(q)); +var bo=(%_DebugIsActive()!=0)&&%DebugCallbackSupportsStepping(bk); +for(var u=0;u>>0)); -return InnerArraySome(bt,bu,y,z); +function ArraySome(bk,bl){ +if((%IS_VAR(this)===null)||(this===(void 0)))throw MakeTypeError(15,"Array.prototype.some"); +var q=(%_ToObject(this)); +var w=(harmony_tolength?(%ToLength(q.length)):(q.length>>>0)); +return InnerArraySome(bk,bl,q,w); } -function InnerArrayEvery(bt,bu,y,z){ -if(!(typeof(bt)==='function'))throw l(15,bt); -var W=(%_IsArray(y)); -for(var B=0;B>>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>>0)); +return InnerArrayEvery(bk,bl,q,w); +} +function InnerArrayMap(bk,bl,q,w){ +if(!(typeof(bk)==='function'))throw MakeTypeError(13,bk); +var bm=new e(w); +var K=(%_IsArray(q)); +var bo=(%_DebugIsActive()!=0)&&%DebugCallbackSupportsStepping(bk); +for(var u=0;u>>0)); +return InnerArrayMap(bk,bl,q,w); +} +function InnerArrayIndexOf(q,aG,Z,w){ +if(w==0)return-1; +if((Z===(void 0))){ +Z=0; +}else{ +Z=(%_ToInteger(Z)); +if(Z<0){ +Z=w+Z; +if(Z<0)Z=0; } -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>>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--; +function ArrayIndexOf(aG,Z){ +if((%IS_VAR(this)===null)||(this===(void 0)))throw MakeTypeError(15,"Array.prototype.indexOf"); +var w=(harmony_tolength?(%ToLength(this.length)):(this.length>>>0)); +return InnerArrayIndexOf(this,aG,Z,w); +} +function InnerArrayLastIndexOf(q,aG,Z,w,br){ +if(w==0)return-1; +if(br<2){ +Z=w-1; +}else{ +Z=(%_ToInteger(Z)); +if(Z<0)Z+=w; +if(Z<0)return-1; +else if(Z>=w)Z=w-1; +} +var bp=0; +var ba=Z; +if(UseSparseVariant(q,w,(%_IsArray(q)),Z)){ +%NormalizeElements(q); +var r=%GetArrayKeys(q,Z+1); +if((typeof(r)==='number')){ +ba=r; +}else{ +if(r.length==0)return-1; +var bq=GetSortedArrayKeys(q,r); +var u=bq.length-1; +while(u>=0){ +var y=bq[u]; +if(!(y===(void 0))&&q[y]===aG)return y; +u--; } return-1; } } -if(!(aP===(void 0))){ -for(var B=bj;B>=bw;B--){ -if(y[B]===aP)return B; +if(!(aG===(void 0))){ +for(var u=ba;u>=bp;u--){ +if(q[u]===aG)return u; } return-1; } -for(var B=bj;B>=bw;B--){ -if((y[B]===(void 0))&&B in y){ -return B; +for(var u=ba;u>=bp;u--){ +if((q[u]===(void 0))&&u in q){ +return u; } } 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, +function ArrayLastIndexOf(aG,Z){ +if((%IS_VAR(this)===null)||(this===(void 0)))throw MakeTypeError(15,"Array.prototype.lastIndexOf"); +var w=(harmony_tolength?(%ToLength(this.length)):(this.length>>>0)); +return InnerArrayLastIndexOf(this,aG,Z,w, %_ArgumentsLength()); } -function InnerArrayReduce(bz,ae,y,z,by){ -if(!(typeof(bz)==='function')){ -throw l(15,bz); +function InnerArrayReduce(bs,U,q,w,br){ +if(!(typeof(bs)==='function')){ +throw MakeTypeError(13,bs); } -var W=(%_IsArray(y)); -var B=0; -find_initial:if(by<2){ -for(;B>>0)); -return InnerArrayReduce(bz,ae,y,z, +function ArrayReduce(bs,U){ +if((%IS_VAR(this)===null)||(this===(void 0)))throw MakeTypeError(15,"Array.prototype.reduce"); +var q=(%_ToObject(this)); +var w=(harmony_tolength?(%ToLength(q.length)):(q.length>>>0)); +return InnerArrayReduce(bs,U,q,w, %_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=0;u--){ +if(((K&&%_HasFastPackedElements(%IS_VAR(q)))?(u=0;B--){ -if(((W&&%_HasFastPackedElements(%IS_VAR(y)))?(B=0;u--){ +if(((K&&%_HasFastPackedElements(%IS_VAR(q)))?(u>>0)); -return InnerArrayReduceRight(bz,ae,y,z, +function ArrayReduceRight(bs,U){ +if((%IS_VAR(this)===null)||(this===(void 0)))throw MakeTypeError(15,"Array.prototype.reduceRight"); +var q=(%_ToObject(this)); +var w=(harmony_tolength?(%ToLength(q.length)):(q.length>>>0)); +return InnerArrayReduceRight(bs,U,q,w, %_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(x0){ -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;Bz)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>>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(J1){ -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; +x=%_Arguments(1); +x=(%_ToInteger(x)); +if(x<0)x=0; +if(x>w.length)x=w.length; +} +return %StringIndexOf(w,v,x); +} +function StringLastIndexOfJS(y){ +if((%IS_VAR(this)===null)||(this===(void 0)))throw MakeTypeError(15,"String.prototype.lastIndexOf"); +var z=(%_ToString(this)); +var A=z.length; +var y=(%_ToString(y)); +var B=y.length; +var x=A-B; if(%_ArgumentsLength()>1){ -var I=(%_ToNumber(%_Arguments(1))); -if(!(!%_IsSmi(%IS_VAR(I))&&!(I==I))){ -I=(%_ToInteger(I)); -if(I<0){ -I=0; +var C=l(%_Arguments(1)); +if(!(!%_IsSmi(%IS_VAR(C))&&!(C==C))){ +C=(%_ToInteger(C)); +if(C<0){ +C=0; } -if(I+H0xFF&& -(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); +w,L,M,k); +}else{ +var O=k[1]; +k[1]=0; +var P=%StringReplaceGlobalRegExpWithString( +w,L,M,k); +if(%_IsSmi(k[1])){ +k[1]=O; +}else{ +$regexpLastMatchInfoOverride=null; +} +return P; } -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(L.global){ +return StringReplaceGlobalRegExpWithFunction(w,L,M); +} +return StringReplaceNonGlobalRegExpWithFunction(w,L,M); } -if(Z>0)u+=%_SubString(W,0,Z); +L=(%_ToString(L)); +if(L.length==1&& +w.length>0xFF&& +(typeof(M)==='string')&& +%StringIndexOf(M,'$',0)<0){ +return %StringReplaceOneCharWithString(w,L,M); +} +var Q=%StringIndexOf(w,L,0); +if(Q<0)return w; +var R=Q+L.length; +var o=%_SubString(w,0,Q); +if((typeof(M)==='function')){ +o+=M(L,Q,w); +}else{ +K[3]=Q; +K[4]=R; +o=ExpandReplacement((%_ToString(M)), +w, +K, +o); +} +return o+%_SubString(w,R,w.length); +} +function ExpandReplacement(S,w,T,o){ +var U=S.length; +var V=%StringIndexOf(S,'$',0); +if(V<0){ +if(U>0)o+=S; +return o; +} +if(V>0)o+=%_SubString(S,0,V); while(true){ -var aa='$'; -var I=Z+1; -if(I=48&&ab<=57){ -var ac=(ab-48)<<1; -var ad=1; -var ae=((X)[0]); -if(I+1=48&&Z<=57){ -var af=ac*10+((Z-48)<<1); -if(af=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=48&&X<=57){ +var Y=(X-48)<<1; +var Z=1; +var aa=((T)[0]); +if(C+1=48&&V<=57){ +var ab=Y*10+((V-48)<<1); +if(abI){ -u+=%_SubString(W,I,Z); } +if(Y!=0&&Y=0){ +o+= +%_SubString(w,Q,T[(3+(Y+1))]); } -return u; +C+=Z; +}else{ +o+='$'; } -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); +}else{ +o+='$'; } -var ai=new g(4); -function StringReplaceGlobalRegExpWithFunction(C,K,S){ -var aj=ai; -if(aj){ -ai=null; }else{ -aj=new g(16); +o+='$'; } -var ak=%RegExpExecMultiple(K, -C, -p, -aj); -K.lastIndex=0; -if((ak===null)){ -ai=aj; -return C; +V=%StringIndexOf(S,'$',C); +if(V<0){ +if(CC){ +o+=%_SubString(S,C,V); +} +} +return o; +} +function CaptureString(S,ac,x){ +var ad=x<<1; +var Q=ac[(3+(ad))]; +if(Q<0)return; +var R=ac[(3+(ad+1))]; +return %_SubString(S,Q,R); +} +var ae=new g(4); +function StringReplaceGlobalRegExpWithFunction(w,D,M){ +var af=ae; +if(af){ +ae=null; +}else{ +af=new g(16); +} +var ag=%RegExpExecMultiple(D, +w, +k, +af); +D.lastIndex=0; +if((ag===null)){ +ae=af; +return w; } -var w=ak.length; -if(((p)[0])==2){ -var al=0; -for(var z=0;z0){ -al=(am>>11)+(am&0x7ff); +var q=ag.length; +if(((k)[0])==2){ +var ah=0; +var ai=new h(null,0,w); +for(var t=0;t0){ +ah=(aj>>11)+(aj&0x7ff); }else{ -al=ak[++z]-am; +ah=ag[++t]-aj; } }else{ -var an=S(am,al,C); -ak[z]=(%_ToString(an)); -al+=am.length; +ai[0]=aj; +ai[1]=ah; +$regexpLastMatchInfoOverride=ai; +var ak=M(aj,ah,w); +ag[t]=(%_ToString(ak)); +ah+=aj.length; } } }else{ -for(var z=0;z>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>1; +var an; +if(am==1){ +var F=%_SubString(w,x,al); +an=M(F,x,w); +}else{ +var ao=new g(am+2); +for(var ap=0;apau){ +if(as>ar){ return''; } } -if(aw<0){ -aw+=au; -if(aw<0){ +if(at<0){ +at+=ar; +if(at<0){ return''; } }else{ -if(aw>au){ -aw=au; +if(at>ar){ +at=ar; } } -if(aw<=av){ +if(at<=as){ 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; +return %_SubString(F,as,at); +} +function StringSplitJS(au,av){ +if((%IS_VAR(this)===null)||(this===(void 0)))throw MakeTypeError(15,"String.prototype.split"); +var w=(%_ToString(this)); +av=((av===(void 0)))?0xffffffff:(av>>>0); +var U=w.length; +if(!(%_IsRegExp(au))){ +var aw=(%_ToString(au)); +if(av===0)return[]; +if((au===(void 0)))return[w]; +var ax=aw.length; +if(ax===0)return %StringToArray(w,av); +var o=%StringSplit(w,aw,av); +return o; +} +if(av===0)return[]; +return StringSplitOnRegExp(w,au,av,U); +} +function StringSplitOnRegExp(w,au,av,U){ +if(U===0){ +if(i(au,w,0,0)!=null){ +return[]; +} +return[w]; +} +var ay=0; +var az=0; +var aA=0; +var o=new g(); +outer_loop: +while(true){ +if(az===U){ +o[o.length]=%_SubString(w,ay,U); +break; +} +var T=i(au,w,az); +if(T==null||U===(aA=T[3])){ +o[o.length]=%_SubString(w,ay,U); +break; +} +var aB=T[4]; +if(az===aB&&aB===ay){ +az++; +continue; +} +o[o.length]=%_SubString(w,ay,aA); +if(o.length===av)break; +var aC=((T)[0])+3; +for(var t=3+2;taw){ -var aC=aw; -aw=av; -av=aC; +o[o.length]=(void 0); +} +if(o.length===av)break outer_loop; } +az=ay=aB; } +var aD=[]; +%MoveArrayContents(o,aD); +return aD; } -return %_SubString(L,av,aw); +function StringSubstring(Q,R){ +if((%IS_VAR(this)===null)||(this===(void 0)))throw MakeTypeError(15,"String.prototype.subString"); +var F=(%_ToString(this)); +var ar=F.length; +var as=(%_ToInteger(Q)); +if(as<0){ +as=0; +}else if(as>ar){ +as=ar; } -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; +var at=ar; +if(!(R===(void 0))){ +at=(%_ToInteger(R)); +if(at>ar){ +at=ar; }else{ -w=(%_ToInteger(aD)); -if(w<=0)return''; +if(at<0)at=0; +if(as>at){ +var aE=at; +at=as; +as=aE; } -if((U===(void 0))){ -U=0; +} +} +return %_SubString(F,as,at); +} +function StringSubstr(Q,aF){ +if((%IS_VAR(this)===null)||(this===(void 0)))throw MakeTypeError(15,"String.prototype.substr"); +var F=(%_ToString(this)); +var q; +if((aF===(void 0))){ +q=F.length; +}else{ +q=(%_ToInteger(aF)); +if(q<=0)return''; +} +if((Q===(void 0))){ +Q=0; }else{ -U=(%_ToInteger(U)); -if(U>=L.length)return''; -if(U<0){ -U+=L.length; -if(U<0)U=0; +Q=(%_ToInteger(Q)); +if(Q>=F.length)return''; +if(Q<0){ +Q+=F.length; +if(Q<0)Q=0; } } -var V=U+w; -if(V>L.length)V=L.length; -return %_SubString(L,U,V); +var R=Q+q; +if(R>F.length)R=F.length; +return %_SubString(F,Q,R); } function StringToLowerCaseJS(){ -if((%IS_VAR(this)===null)||(this===(void 0)))throw j(17,"String.prototype.toLowerCase"); +if((%IS_VAR(this)===null)||(this===(void 0)))throw MakeTypeError(15,"String.prototype.toLowerCase"); return %StringToLowerCase((%_ToString(this))); } function StringToLocaleLowerCase(){ -if((%IS_VAR(this)===null)||(this===(void 0)))throw j(17,"String.prototype.toLocaleLowerCase"); +if((%IS_VAR(this)===null)||(this===(void 0)))throw MakeTypeError(15,"String.prototype.toLocaleLowerCase"); return %StringToLowerCase((%_ToString(this))); } function StringToUpperCaseJS(){ -if((%IS_VAR(this)===null)||(this===(void 0)))throw j(17,"String.prototype.toUpperCase"); +if((%IS_VAR(this)===null)||(this===(void 0)))throw MakeTypeError(15,"String.prototype.toUpperCase"); return %StringToUpperCase((%_ToString(this))); } function StringToLocaleUpperCase(){ -if((%IS_VAR(this)===null)||(this===(void 0)))throw j(17,"String.prototype.toLocaleUpperCase"); +if((%IS_VAR(this)===null)||(this===(void 0)))throw MakeTypeError(15,"String.prototype.toLocaleUpperCase"); return %StringToUpperCase((%_ToString(this))); } function StringTrimJS(){ -if((%IS_VAR(this)===null)||(this===(void 0)))throw j(17,"String.prototype.trim"); +if((%IS_VAR(this)===null)||(this===(void 0)))throw MakeTypeError(15,"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"); +if((%IS_VAR(this)===null)||(this===(void 0)))throw MakeTypeError(15,"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"); +if((%IS_VAR(this)===null)||(this===(void 0)))throw MakeTypeError(15,"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;z0xff)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"+(%_ToString(this))+ +function StringFromCharCode(aG){ +var aF=%_ArgumentsLength(); +if(aF==1){ +if(!%_IsSmi(aG))aG=l(aG); +return %_StringCharFromCode(aG&0xffff); +} +var aH=%NewString(aF,true); +var t; +for(t=0;t0xff)break; +%_OneByteSeqStringSetChar(t,aG,aH); +} +if(t==aF)return aH; +aH=%TruncateString(aH,t); +var aI=%NewString(aF-t,false); +for(var ap=0;t"+(%_ToString(this))+ ""; } function StringBig(){ -if((%IS_VAR(this)===null)||(this===(void 0)))throw j(17,"String.prototype.big"); +if((%IS_VAR(this)===null)||(this===(void 0)))throw MakeTypeError(15,"String.prototype.big"); return""+(%_ToString(this))+""; } function StringBlink(){ -if((%IS_VAR(this)===null)||(this===(void 0)))throw j(17,"String.prototype.blink"); +if((%IS_VAR(this)===null)||(this===(void 0)))throw MakeTypeError(15,"String.prototype.blink"); return""+(%_ToString(this))+""; } function StringBold(){ -if((%IS_VAR(this)===null)||(this===(void 0)))throw j(17,"String.prototype.bold"); +if((%IS_VAR(this)===null)||(this===(void 0)))throw MakeTypeError(15,"String.prototype.bold"); return""+(%_ToString(this))+""; } function StringFixed(){ -if((%IS_VAR(this)===null)||(this===(void 0)))throw j(17,"String.prototype.fixed"); +if((%IS_VAR(this)===null)||(this===(void 0)))throw MakeTypeError(15,"String.prototype.fixed"); return""+(%_ToString(this))+""; } -function StringFontcolor(aJ){ -if((%IS_VAR(this)===null)||(this===(void 0)))throw j(17,"String.prototype.fontcolor"); -return""+(%_ToString(this))+ +function StringFontcolor(aL){ +if((%IS_VAR(this)===null)||(this===(void 0)))throw MakeTypeError(15,"String.prototype.fontcolor"); +return""+(%_ToString(this))+ ""; } -function StringFontsize(aK){ -if((%IS_VAR(this)===null)||(this===(void 0)))throw j(17,"String.prototype.fontsize"); -return""+(%_ToString(this))+ +function StringFontsize(aM){ +if((%IS_VAR(this)===null)||(this===(void 0)))throw MakeTypeError(15,"String.prototype.fontsize"); +return""+(%_ToString(this))+ ""; } function StringItalics(){ -if((%IS_VAR(this)===null)||(this===(void 0)))throw j(17,"String.prototype.italics"); +if((%IS_VAR(this)===null)||(this===(void 0)))throw MakeTypeError(15,"String.prototype.italics"); return""+(%_ToString(this))+""; } -function StringLink(L){ -if((%IS_VAR(this)===null)||(this===(void 0)))throw j(17,"String.prototype.link"); -return""+(%_ToString(this))+""; +function StringLink(F){ +if((%IS_VAR(this)===null)||(this===(void 0)))throw MakeTypeError(15,"String.prototype.link"); +return""+(%_ToString(this))+""; } function StringSmall(){ -if((%IS_VAR(this)===null)||(this===(void 0)))throw j(17,"String.prototype.small"); +if((%IS_VAR(this)===null)||(this===(void 0)))throw MakeTypeError(15,"String.prototype.small"); return""+(%_ToString(this))+""; } function StringStrike(){ -if((%IS_VAR(this)===null)||(this===(void 0)))throw j(17,"String.prototype.strike"); +if((%IS_VAR(this)===null)||(this===(void 0)))throw MakeTypeError(15,"String.prototype.strike"); return""+(%_ToString(this))+""; } function StringSub(){ -if((%IS_VAR(this)===null)||(this===(void 0)))throw j(17,"String.prototype.sub"); +if((%IS_VAR(this)===null)||(this===(void 0)))throw MakeTypeError(15,"String.prototype.sub"); return""+(%_ToString(this))+""; } function StringSup(){ -if((%IS_VAR(this)===null)||(this===(void 0)))throw j(17,"String.prototype.sup"); +if((%IS_VAR(this)===null)||(this===(void 0)))throw MakeTypeError(15,"String.prototype.sup"); return""+(%_ToString(this))+""; } -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=""; +function StringRepeat(aN){ +if((%IS_VAR(this)===null)||(this===(void 0)))throw MakeTypeError(15,"String.prototype.repeat"); +var F=(%_ToString(this)); +var aF=(%_ToInteger(aN)); +if(aF<0||aF>%_MaxSmi())throw MakeRangeError(133); +var aO=""; while(true){ -if(aD&1)aM+=L; -aD>>=1; -if(aD===0)return aM; -L+=L; +if(aF&1)aO+=F; +aF>>=1; +if(aF===0)return aO; +F+=F; } } -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"); +function StringStartsWith(aP){ +if((%IS_VAR(this)===null)||(this===(void 0)))throw MakeTypeError(15,"String.prototype.startsWith"); +var F=(%_ToString(this)); +if((%_IsRegExp(aP))){ +throw MakeTypeError(31,"String.prototype.startsWith"); } -var aO=(%_ToString(aN)); -var t=0; +var aQ=(%_ToString(aP)); +var n=0; if(%_ArgumentsLength()>1){ -var aP=%_Arguments(1); -if(!(aP===(void 0))){ -t=(%_ToInteger(aP)); +var aR=%_Arguments(1); +if(!(aR===(void 0))){ +n=(%_ToInteger(aR)); } } -var au=L.length; -var U=l(k(t,0),au); -var aQ=aO.length; -if(aQ+U>au){ +var ar=F.length; +if(n<0)n=0; +if(n>ar)n=ar; +var aS=aQ.length; +if(aS+n>ar){ +return false; +} +for(var t=0;t1){ -var aP=%_Arguments(1); -if(!(aP===(void 0))){ -t=(%_ToInteger(aP)); +var aR=%_Arguments(1); +if(!(aR===(void 0))){ +n=(%_ToInteger(aR)); +} } +if(n<0)n=0; +if(n>ar)n=ar; +var aS=aQ.length; +n=n-aS; +if(n<0){ +return false; } -var V=l(k(t,0),au); -var aQ=aO.length; -var U=V-aQ; -if(U<0){ +for(var t=0;t1){ -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){ +n=%_Arguments(1); +n=(%_ToInteger(n)); +} +var aT=S.length; +if(n<0)n=0; +if(n>aT)n=aT; +var aU=aP.length; +if(aU+n>aT){ return false; } -return %StringIndexOf(W,aN,t)!==-1; +return %StringIndexOf(S,aP,n)!==-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){ +function StringCodePointAt(n){ +if((%IS_VAR(this)===null)||(this===(void 0)))throw MakeTypeError(15,"String.prototype.codePointAt"); +var S=(%_ToString(this)); +var aM=S.length; +n=(%_ToInteger(n)); +if(n<0||n>=aM){ return(void 0); } -var aT=%_StringCharCodeAt(W,t); -if(aT<0xD800||aT>0xDBFF||t+1==aK){ -return aT; +var aV=%_StringCharCodeAt(S,n); +if(aV<0xD800||aV>0xDBFF||n+1==aM){ +return aV; } -var aU=%_StringCharCodeAt(W,t+1); -if(aU<0xDC00||aU>0xDFFF){ -return aT; +var aW=%_StringCharCodeAt(S,n+1); +if(aW<0xDC00||aW>0xDFFF){ +return aV; } -return(aT-0xD800)*0x400+aU+0x2400; +return(aV-0xD800)*0x400+aW+0x2400; } -function StringFromCodePoint(aV){ -var aE; -var Y=%_ArgumentsLength(); -var D; -var u=""; -for(D=0;D0x10FFFF||aE!==(%_ToInteger(aE))){ -throw i(167,aE); +if(aG<0||aG>0x10FFFF||aG!==(%_ToInteger(aG))){ +throw MakeRangeError(132,aG); } -if(aE<=0xFFFF){ -u+=%_StringCharFromCode(aE); +if(aG<=0xFFFF){ +o+=%_StringCharFromCode(aG); }else{ -aE-=0x10000; -u+=%_StringCharFromCode((aE>>>10)&0x3FF|0xD800); -u+=%_StringCharFromCode(aE&0x3FF|0xDC00); +aG-=0x10000; +o+=%_StringCharFromCode((aG>>>10)&0x3FF|0xD800); +o+=%_StringCharFromCode(aG&0x3FF|0xDC00); } } -return u; +return o; } -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=48&&h<=57)return h-48; -if(h>=65&&h<=70)return h-55; -if(h>=97&&h<=102)return h-87; +function HexValueOf(f){ +if(f>=48&&f<=57)return f-48; +if(f>=65&&f<=70)return f-55; +if(f>=97&&f<=102)return f-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; +function isAlphaNumeric(g){ +if(97<=g&&g<=122)return true; +if(65<=g&&g<=90)return true; +if(48<=g&&g<=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; +var h=0; +function URIAddEncodedOctetToBuffer(i,j,k){ +j[k++]=37; +j[k++]=h[i>>4]; +j[k++]=h[i&0x0F]; +return k; } -function URIEncodeOctets(n,l,m){ -if(j===0){ -j=[48,49,50,51,52,53,54,55,56,57, +function URIEncodeOctets(l,j,k){ +if(h===0){ +h=[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(); +k=URIAddEncodedOctetToBuffer(l[0],j,k); +if(l[1])k=URIAddEncodedOctetToBuffer(l[1],j,k); +if(l[2])k=URIAddEncodedOctetToBuffer(l[2],j,k); +if(l[3])k=URIAddEncodedOctetToBuffer(l[3],j,k); +return k; } +function URIEncodeSingle(g,j,k){ +var m=(g>>12)&0xF; +var n=(g>>6)&63; +var o=g&63; +var l=new d(3); +if(g<=0x007F){ +l[0]=g; +}else if(g<=0x07FF){ +l[0]=n+192; +l[1]=o+128; +}else{ +l[0]=m+224; +l[1]=n+128; +l[2]=o+128; +} +return URIEncodeOctets(l,j,k); +} +function URIEncodePair(p,q,j,k){ +var r=((p>>6)&0xF)+1; +var s=(p>>2)&0xF; +var m=p&3; +var n=(q>>6)&0xF; +var o=q&63; +var l=new d(4); +l[0]=(r>>2)+240; +l[1]=(((r&3)<<4)|s)+128; +l[2]=((m<<4)|n)+128; +l[3]=o+128; +return URIEncodeOctets(l,j,k); +} +function URIHexCharsToCharCode(t,u){ +var v=HexValueOf(t); +var w=HexValueOf(u); +if(v==-1||w==-1)throw MakeURIError(); +return(v<<4)|w; +} +function URIDecodeOctets(l,j,k){ +var x; +var y=l[0]; +if(y<0x80){ +x=y; +}else if(y<0xc2){ +throw MakeURIError(); +}else{ +var z=l[1]; +if(y<0xe0){ +var A=y&0x1f; +if((z<0x80)||(z>0xbf))throw MakeURIError(); +var B=z&0x3f; +x=(A<<6)+B; +if(x<0x80||x>0x7ff)throw MakeURIError(); +}else{ +var C=l[2]; +if(y<0xf0){ +var A=y&0x0f; +if((z<0x80)||(z>0xbf))throw MakeURIError(); +var B=z&0x3f; +if((C<0x80)||(C>0xbf))throw MakeURIError(); +var D=C&0x3f; +x=(A<<12)+(B<<6)+D; +if((x<0x800)||(x>0xffff))throw MakeURIError(); +}else{ +var E=l[3]; +if(y<0xf8){ +var A=(y&0x07); +if((z<0x80)||(z>0xbf))throw MakeURIError(); +var B=(z&0x3f); +if((C<0x80)||(C>0xbf)){ +throw MakeURIError(); +} +var D=(C&0x3f); +if((E<0x80)||(E>0xbf))throw MakeURIError(); 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(); +x=(A<<18)+(B<<12)+(D<<6)+F; +if((x<0x10000)||(x>0x10ffff))throw MakeURIError(); }else{ -throw f(); +throw MakeURIError(); } } } } -if(0xD800<=z&&z<=0xDFFF)throw f(); -if(z<0x10000){ -%_TwoByteSeqStringSetChar(m++,z,l); +if(0xD800<=x&&x<=0xDFFF)throw MakeURIError(); +if(x<0x10000){ +%_TwoByteSeqStringSetChar(k++,x,j); }else{ -%_TwoByteSeqStringSetChar(m++,(z>>10)+0xd7c0,l); -%_TwoByteSeqStringSetChar(m++,(z&0x3ff)+0xdc00,l); +%_TwoByteSeqStringSetChar(k++,(x>>10)+0xd7c0,j); +%_TwoByteSeqStringSetChar(k++,(x&0x3ff)+0xdc00,j); } -return m; +return k; } -function Encode(I,J){ -I=(%_ToString(I)); -var K=I.length; -var L=new e(K); -var m=0; -for(var M=0;M=0xDC00&&r<=0xDFFF)throw f(); -if(r<0xD800||r>0xDBFF){ -m=URIEncodeSingle(r,L,m); +if(p>=0xDC00&&p<=0xDFFF)throw MakeURIError(); +if(p<0xD800||p>0xDBFF){ +k=URIEncodeSingle(p,J,k); }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); +K++; +if(K==I)throw MakeURIError(); +var q=%_StringCharCodeAt(G,K); +if(q<0xDC00||q>0xDFFF)throw MakeURIError(); +k=URIEncodePair(p,q,J,k); } } } -var l=%NewString(L.length,true); -for(var N=0;N=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)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=I)throw MakeURIError(); +var g=URIHexCharsToCharCode(%_StringCharCodeAt(G,K+1), +%_StringCharCodeAt(G,K+2)); +if(g>>7)break; +if(M(g)){ +%_OneByteSeqStringSetChar(k++,37,N); +%_OneByteSeqStringSetChar(k++,%_StringCharCodeAt(G,K+1), +N); +%_OneByteSeqStringSetChar(k++,%_StringCharCodeAt(G,K+2), +N); +}else{ +%_OneByteSeqStringSetChar(k++,g,N); +} +K+=2; +}else{ +if(f>0x7f)break; +%_OneByteSeqStringSetChar(k++,f,N); +} +} +N=%TruncateString(N,k); +if(K==I)return N; +var O=%NewString(I-K,false); +k=0; +for(;K=I)throw MakeURIError(); +var g=URIHexCharsToCharCode(%_StringCharCodeAt(G,++K), +%_StringCharCodeAt(G,++K)); +if(g>>7){ +var P=0; +while(((g<<++P)&0x80)!=0){} +if(P==1||P>4)throw MakeURIError(); +var l=new d(P); +l[0]=g; +if(K+3*(P-1)>=I)throw MakeURIError(); +for(var L=1;L0)?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; +var c=a.Math; +var d=a.Object; +var e=b.InternalArray; +var f=b.ImportNow("to_string_tag_symbol"); +function MathAbs(g){ +g=+g; +return(g>0)?g:0-g; } -return g; +function MathAcosJS(g){ +return %_MathAcos(+g); } -var p=-(1/0); -for(var q=0;qp||(p===0&&r===0&&%_IsMinusZero(p))){ -p=r; +function MathAsinJS(g){ +return %_MathAsin(+g); } +function MathAtanJS(g){ +return %_MathAtan(+g); } -return p; +function MathAtan2JS(h,g){ +h=+h; +g=+g; +return %_MathAtan2(h,g); } -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; +function MathCeil(g){ +return-%_MathFloor(-g); } -return g; +function MathExp(g){ +return %MathExpRT(((typeof(%IS_VAR(g))==='number')?g:$nonNumberToNumber(g))); } -var p=(1/0); -for(var q=0;qi)return j; +if(i>j)return i; +if(i==j){ +return(i===0&&%_IsMinusZero(i))?j:i; } -function MathPowJS(k,l){ -return %_MathPow((%_ToNumber(k)),(%_ToNumber(l))); +return $NaN; } -function MathRandom(){ -if(h>=64){ -i=%GenerateRandomNumbers(i); -h=2; +var l=-(1/0); +for(var m=0;ml||(l===0&&n===0&&%_IsMinusZero(l))){ +l=n; } -return i[h++]; } -function MathRandomRaw(){ -if(h>=64){ -i=%GenerateRandomNumbers(i); -h=2; +return l; } -return %_DoubleLo(i[h++])&0x3FFFFFFF; +function MathMin(i,j){ +var k=%_ArgumentsLength(); +if(k==2){ +i=((typeof(%IS_VAR(i))==='number')?i:$nonNumberToNumber(i)); +j=((typeof(%IS_VAR(j))==='number')?j:$nonNumberToNumber(j)); +if(j>i)return i; +if(i>j)return j; +if(i==j){ +return(i===0&&%_IsMinusZero(i))?i:j; } -function MathRound(k){ -return %RoundNumber((%_ToNumber(k))); +return $NaN; } -function MathSqrtJS(k){ -return %_MathSqrt(+k); +var l=(1/0); +for(var m=0;m0)return 1; -if(k<0)return-1; -return k; +return l; } -function MathTrunc(k){ -k=+k; -if(k>0)return %_MathFloor(k); -if(k<0)return-%_MathFloor(-k); -return k; +function MathPowJS(g,h){ +return %_MathPow(((typeof(%IS_VAR(g))==='number')?g:$nonNumberToNumber(g)),((typeof(%IS_VAR(h))==='number')?h:$nonNumberToNumber(h))); +} +function MathRandom(){ +var o=(MathImul(18030,rngstate[0]&0xFFFF)+(rngstate[0]>>>16))|0; +rngstate[0]=o; +var p=(MathImul(36969,rngstate[1]&0xFFFF)+(rngstate[1]>>>16))|0; +rngstate[1]=p; +var g=((o<<16)+(p&0xFFFF))|0; +return(g<0?(g+0x100000000):g)*2.3283064365386962890625e-10; +} +function MathRandomRaw(){ +var o=(MathImul(18030,rngstate[0]&0xFFFF)+(rngstate[0]>>>16))|0; +rngstate[0]=o; +var p=(MathImul(36969,rngstate[1]&0xFFFF)+(rngstate[1]>>>16))|0; +rngstate[1]=p; +var g=((o<<16)+(p&0xFFFF))|0; +return g&0x3fffffff; +} +function MathRound(g){ +return %RoundNumber(((typeof(%IS_VAR(g))==='number')?g:$nonNumberToNumber(g))); +} +function MathSqrtJS(g){ +return %_MathSqrt(+g); +} +function MathImul(g,h){ +return %NumberImul(((typeof(%IS_VAR(g))==='number')?g:$nonNumberToNumber(g)),((typeof(%IS_VAR(h))==='number')?h:$nonNumberToNumber(h))); +} +function MathSign(g){ +g=+g; +if(g>0)return 1; +if(g<0)return-1; +return g; } -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); +function MathTrunc(g){ +g=+g; +if(g>0)return %_MathFloor(g); +if(g<0)return-%_MathFloor(-g); +return g; +} +function MathTanh(g){ +g=((typeof(%IS_VAR(g))==='number')?g:$nonNumberToNumber(g)); +if(g===0)return g; +if(!(%_IsSmi(%IS_VAR(g))||((g==g)&&(g!=1/0)&&(g!=-1/0))))return MathSign(g); +var q=MathExp(g); +var r=MathExp(-g); +return(q-r)/(q+r); +} +function MathAsinh(g){ +g=((typeof(%IS_VAR(g))==='number')?g:$nonNumberToNumber(g)); +if(g===0||!(%_IsSmi(%IS_VAR(g))||((g==g)&&(g!=1/0)&&(g!=-1/0))))return g; +if(g>0)return MathLog(g+%_MathSqrt(g*g+1)); +return-MathLog(-g+%_MathSqrt(g*g+1)); +} +function MathAcosh(g){ +g=((typeof(%IS_VAR(g))==='number')?g:$nonNumberToNumber(g)); +if(g<1)return $NaN; +if(!(%_IsSmi(%IS_VAR(g))||((g==g)&&(g!=1/0)&&(g!=-1/0))))return g; +return MathLog(g+%_MathSqrt(g+1)*%_MathSqrt(g-1)); +} +function MathAtanh(g){ +g=((typeof(%IS_VAR(g))==='number')?g:$nonNumberToNumber(g)); +if(g===0)return g; +if(!(%_IsSmi(%IS_VAR(g))||((g==g)&&(g!=1/0)&&(g!=-1/0))))return $NaN; +return 0.5*MathLog((1+g)/(1-g)); +} +function MathHypot(g,h){ +var k=%_ArgumentsLength(); +var s=new e(k); var t=0; -for(var q=0;qt)t=r; -s[q]=r; +for(var m=0;mt)t=n; +s[m]=n; } if(t===0)t=1; var u=0; var v=0; -for(var q=0;q>>0); +function MathClz32JS(g){ +return %_MathClz32(g>>>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 MathCbrt(g){ +g=((typeof(%IS_VAR(g))==='number')?g:$nonNumberToNumber(g)); +if(g==0||!(%_IsSmi(%IS_VAR(g))||((g==g)&&(g!=1/0)&&(g!=-1/0))))return g; +return g>=0?CubeRoot(g):-CubeRoot(-g); } -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); +function CubeRoot(g){ +var y=MathFloorJS(%_DoubleHi(g)/3)+0x2A9F7893; +var z=%_ConstructDouble(y,0); +z=(1.0/3.0)*(g/(z*z)+2*z); ; -z=(1.0/3.0)*(k/(z*z)+2*z); +z=(1.0/3.0)*(g/(z*z)+2*z); ; -z=(1.0/3.0)*(k/(z*z)+2*z); +z=(1.0/3.0)*(g/(z*z)+2*z); ; -return(1.0/3.0)*(k/(z*z)+2*z); +return(1.0/3.0)*(g/(z*z)+2*z); ; } -%AddNamedProperty(d,j,"Math",1|2); -b.InstallConstants(d,[ +%AddNamedProperty(c,f,"Math",1|2); +b.InstallConstants(c,[ "E",2.7182818284590452354, "LN10",2.302585092994046, "LN2",0.6931471805599453, @@ -8502,7 +8959,7 @@ b.InstallConstants(d,[ "SQRT1_2",0.7071067811865476, "SQRT2",1.4142135623730951 ]); -b.InstallFunctions(d,2,[ +b.InstallFunctions(c,2,[ "random",MathRandom, "abs",MathAbs, "acos",MathAcosJS, @@ -8521,6 +8978,7 @@ b.InstallFunctions(d,2,[ "imul",MathImul, "sign",MathSign, "trunc",MathTrunc, +"tanh",MathTanh, "asinh",MathAsinh, "acosh",MathAcosh, "atanh",MathAtanh, @@ -8551,655 +9009,697 @@ A.MathMin=MathMin; }); }) -fdlibm +fdlibm- +var kMath; +var rempio2result; (function(a,b){ "use strict"; %CheckIsBootstrapping(); -var c=a.Float64Array; -var d=a.Math; +var c=a.Math; +var d; var e; -var f; -var g=%GetRootNaN(); -var h; -b.Import(function(i){ -e=i.MathAbs; -f=i.MathExp; +b.Import(function(f){ +d=f.MathAbs; +e=f.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); + + + + + + + + + + + + + + + + + + + + + +function KernelTan(g,h,i){ +var j; +var k; +var l=%_DoubleHi(g); +var m=l&0x7fffffff; +if(m<0x3e300000){ +if(((m|%_DoubleLo(g))|(i+1))==0){ +return 1/d(g); }else{ -if(l==1){ -return j; +if(i==1){ +return g; }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; +var k=g+h; +var j=%_ConstructDouble(%_DoubleHi(k),0); +var n=h-(j-g); +var o=-1/k; +var p=%_ConstructDouble(%_DoubleHi(o),0); +var q=1+p*j; +return p+o*(q+p*n); +} +} +} +if(m>=0x3fe59428){ +if(g<0){ +g=-g; +h=-h; +} +j=kMath[32]-g; +k=kMath[33]-h; +g=j+k; +h=0; +} +j=g*g; +k=j*j; +var r=kMath[19+1] ++k*(kMath[19+3] ++k*(kMath[19+5] ++ +k*(kMath[19+7] ++k*(kMath[19+9] ++k*kMath[19+11] +)))); +var n=j*(kMath[19+2] ++k*(kMath[19+4] ++k*(kMath[19+6] ++ +k*(kMath[19+8] ++k*(kMath[19+10] ++k*kMath[19+12] +))))); +var q=j*g; +r=h+j*(q*(r+n)+h); +r=r+kMath[19+0] +*q; +k=g+r; +if(m>=0x3fe59428){ +return(1-((l>>30)&2))* +(i-2.0*(g-(k*k/(k+i)-r))); +} +if(i==1){ +return k; }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; +j=%_ConstructDouble(%_DoubleHi(k),0); +n=r-(j-g); +var o=-1/k; +var p=%_ConstructDouble(%_DoubleHi(o),0); +q=1+p*j; +return p+o*(q+p*n); +} +} +function MathSinSlow(g){ +var s,t,u; +var l=%_DoubleHi(g); +var m=l&0x7fffffff; +if(m<0x4002d97c){ +if(l>0){ +var j=g-kMath[1]; +if(m!=0x3ff921fb){ +t=j-kMath[2]; +u=(j-t)-kMath[2]; +}else{ +j-=kMath[3]; +t=j-kMath[4]; +u=(j-t)-kMath[4]; +} +s=1; +}else{ +var j=g+kMath[1]; +if(m!=0x3ff921fb){ +t=j+kMath[2]; +u=(j-t)+kMath[2]; +}else{ +j+=kMath[3]; +t=j+kMath[4]; +u=(j-t)+kMath[4]; +} +s=-1; +} +}else if(m<=0x413921fb){ +var p=d(g); +s=(p*kMath[0]+0.5)|0; +var r=p-s*kMath[1]; +var k=s*kMath[2]; +t=r-k; +if(m-(%_DoubleHi(t)&0x7ff00000)>0x1000000){ +p=r; +k=s*kMath[3]; +r=p-k; +k=s*kMath[4]-((p-r)-k); +t=r-k; +if(m-(%_DoubleHi(t)&0x7ff00000)>0x3100000){ +p=r; +k=s*kMath[5]; +r=p-k; +k=s*kMath[6]-((p-r)-k); +t=r-k; } -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; +} +u=(r-t)-k; +if(l<0){ +s=-s; +t=-t; +u=-u; } }else{ -v=%RemPiO2(j,h); -w=h[0]; -x=h[1]; +s=%RemPiO2(g,rempio2result); +t=rempio2result[0]; +u=rempio2result[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; +var v=1-(s&2); +if(s&1){ +var m=%_DoubleHi(t)&0x7fffffff; +var j=t*t; +var r=j*(4.16666666666666019037e-02+j*(-1.38888888888741095749e-03+j*(2.48015872894767294178e-05+j*(-2.75573143513906633035e-07+j*(2.08757232129817482790e-09+j*-1.13596475577881948265e-11))))); +if(m<0x3fd33333){ +return(1-(0.5*j-(j*r-t*u)))*v; }else{ -var z; -if(p>0x3fe90000){ -z=0.28125; +var w; +if(m>0x3fe90000){ +w=0.28125; }else{ -z=%_ConstructDouble(%_DoubleHi(0.25*w),0); +w=%_ConstructDouble(%_DoubleHi(0.25*t),0); } -var A=0.5*m-z; -return(1-z-(A-(m*u-w*x)))*y; +var x=0.5*j-w; +return(1-w-(x-(j*r-t*u)))*v; } ; }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; +var j=t*t; +var n=j*t; +var r=8.33333333332248946124e-03+j*(-1.98412698298579493134e-04+j*(2.75573137070700676789e-06+j*(-2.50507602534068634195e-08+j*1.58969099521155010221e-10))); +return(t-((j*(0.5*u-n*r)-u)-n*-1.66666666666666324348e-01))*v; ; } } -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; +function MathCosSlow(g){ +var s,t,u; +var l=%_DoubleHi(g); +var m=l&0x7fffffff; +if(m<0x4002d97c){ +if(l>0){ +var j=g-kMath[1]; +if(m!=0x3ff921fb){ +t=j-kMath[2]; +u=(j-t)-kMath[2]; +}else{ +j-=kMath[3]; +t=j-kMath[4]; +u=(j-t)-kMath[4]; +} +s=1; +}else{ +var j=g+kMath[1]; +if(m!=0x3ff921fb){ +t=j+kMath[2]; +u=(j-t)+kMath[2]; +}else{ +j+=kMath[3]; +t=j+kMath[4]; +u=(j-t)+kMath[4]; +} +s=-1; +} +}else if(m<=0x413921fb){ +var p=d(g); +s=(p*kMath[0]+0.5)|0; +var r=p-s*kMath[1]; +var k=s*kMath[2]; +t=r-k; +if(m-(%_DoubleHi(t)&0x7ff00000)>0x1000000){ +p=r; +k=s*kMath[3]; +r=p-k; +k=s*kMath[4]-((p-r)-k); +t=r-k; +if(m-(%_DoubleHi(t)&0x7ff00000)>0x3100000){ +p=r; +k=s*kMath[5]; +r=p-k; +k=s*kMath[6]-((p-r)-k); +t=r-k; } -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; +} +u=(r-t)-k; +if(l<0){ +s=-s; +t=-t; +u=-u; } }else{ -v=%RemPiO2(j,h); -w=h[0]; -x=h[1]; +s=%RemPiO2(g,rempio2result); +t=rempio2result[0]; +u=rempio2result[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; +if(s&1){ +var v=(s&2)-1; +var j=t*t; +var n=j*t; +var r=8.33333333332248946124e-03+j*(-1.98412698298579493134e-04+j*(2.75573137070700676789e-06+j*(-2.50507602534068634195e-08+j*1.58969099521155010221e-10))); +return(t-((j*(0.5*u-n*r)-u)-n*-1.66666666666666324348e-01))*v; ; }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; +var v=1-(s&2); +var m=%_DoubleHi(t)&0x7fffffff; +var j=t*t; +var r=j*(4.16666666666666019037e-02+j*(-1.38888888888741095749e-03+j*(2.48015872894767294178e-05+j*(-2.75573143513906633035e-07+j*(2.08757232129817482790e-09+j*-1.13596475577881948265e-11))))); +if(m<0x3fd33333){ +return(1-(0.5*j-(j*r-t*u)))*v; }else{ -var z; -if(p>0x3fe90000){ -z=0.28125; +var w; +if(m>0x3fe90000){ +w=0.28125; }else{ -z=%_ConstructDouble(%_DoubleHi(0.25*w),0); +w=%_ConstructDouble(%_DoubleHi(0.25*t),0); } -var A=0.5*m-z; -return(1-z-(A-(m*u-w*x)))*y; +var x=0.5*j-w; +return(1-w-(x-(j*r-t*u)))*v; } ; } } -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)); +function MathSin(g){ +g=+g; +if((%_DoubleHi(g)&0x7fffffff)<=0x3fe921fb){ +var j=g*g; +var n=j*g; +var r=8.33333333332248946124e-03+j*(-1.98412698298579493134e-04+j*(2.75573137070700676789e-06+j*(-2.50507602534068634195e-08+j*1.58969099521155010221e-10))); +return(g-((j*(0.5*0-n*r)-0)-n*-1.66666666666666324348e-01)); ; } -return+MathSinSlow(j); +return+MathSinSlow(g); } -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))); +function MathCos(g){ +g=+g; +if((%_DoubleHi(g)&0x7fffffff)<=0x3fe921fb){ +var m=%_DoubleHi(g)&0x7fffffff; +var j=g*g; +var r=j*(4.16666666666666019037e-02+j*(-1.38888888888741095749e-03+j*(2.48015872894767294178e-05+j*(-2.75573143513906633035e-07+j*(2.08757232129817482790e-09+j*-1.13596475577881948265e-11))))); +if(m<0x3fd33333){ +return(1-(0.5*j-(j*r-g*0))); }else{ -var z; -if(p>0x3fe90000){ -z=0.28125; +var w; +if(m>0x3fe90000){ +w=0.28125; }else{ -z=%_ConstructDouble(%_DoubleHi(0.25*j),0); +w=%_ConstructDouble(%_DoubleHi(0.25*g),0); } -var A=0.5*m-z; -return(1-z-(A-(m*u-j*0))); +var x=0.5*j-w; +return(1-w-(x-(j*r-g*0))); } ; } -return+MathCosSlow(j); -} -function MathTan(j){ -j=j*1; -if((%_DoubleHi(j)&0x7fffffff)<=0x3fe921fb){ -return KernelTan(j,0,1); +return+MathCosSlow(g); +} +function MathTan(g){ +g=g*1; +if((%_DoubleHi(g)&0x7fffffff)<=0x3fe921fb){ +return KernelTan(g,0,1); +} +var s,t,u; +var l=%_DoubleHi(g); +var m=l&0x7fffffff; +if(m<0x4002d97c){ +if(l>0){ +var j=g-kMath[1]; +if(m!=0x3ff921fb){ +t=j-kMath[2]; +u=(j-t)-kMath[2]; +}else{ +j-=kMath[3]; +t=j-kMath[4]; +u=(j-t)-kMath[4]; +} +s=1; +}else{ +var j=g+kMath[1]; +if(m!=0x3ff921fb){ +t=j+kMath[2]; +u=(j-t)+kMath[2]; +}else{ +j+=kMath[3]; +t=j+kMath[4]; +u=(j-t)+kMath[4]; +} +s=-1; +} +}else if(m<=0x413921fb){ +var p=d(g); +s=(p*kMath[0]+0.5)|0; +var r=p-s*kMath[1]; +var k=s*kMath[2]; +t=r-k; +if(m-(%_DoubleHi(t)&0x7ff00000)>0x1000000){ +p=r; +k=s*kMath[3]; +r=p-k; +k=s*kMath[4]-((p-r)-k); +t=r-k; +if(m-(%_DoubleHi(t)&0x7ff00000)>0x3100000){ +p=r; +k=s*kMath[5]; +r=p-k; +k=s*kMath[6]-((p-r)-k); +t=r-k; } -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; +u=(r-t)-k; +if(l<0){ +s=-s; +t=-t; +u=-u; } }else{ -v=%RemPiO2(j,h); -w=h[0]; -x=h[1]; +s=%RemPiO2(g,rempio2result); +t=rempio2result[0]; +u=rempio2result[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 KernelTan(t,u,(s&1)?-1:1); +} + + + + +function MathLog1p(g){ +g=g*1; +var l=%_DoubleHi(g); +var y=l&0x7fffffff; +var z=1; +var A=g; +var B=1; +var C=0; +var D=g; +if(l<0x3fda827a){ +if(y>=0x3ff00000){ +if(g===-1){ return-(1/0); }else{ -return g; +return $NaN; } -}else if(B<0x3c900000){ -return j; -}else if(B<0x3e200000){ -return j-j*j*0.5; +}else if(y<0x3c900000){ +return g; +}else if(y<0x3e200000){ +return g-g*g*0.5; } -if((o>0)||(o<=-0x402D413D)){ -C=0; +if((l>0)||(l<=-0x402D413D)){ +z=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; +if(l>=0x7ff00000)return g; +if(z!==0){ +if(l<0x43400000){ +D=1+g; +B=%_DoubleHi(D); +z=(B>>20)-1023; +C=(z>0)?1-(D-g):g-(D-1); +C=C/D; }else{ -E=%_DoubleHi(G); -C=(E>>20)-1023; +B=%_DoubleHi(D); +z=(B>>20)-1023; } -E=E&0xfffff; -if(E<0x6a09e){ -G=%_ConstructDouble(E|0x3ff00000,%_DoubleLo(G)); +B=B&0xfffff; +if(B<0x6a09e){ +D=%_ConstructDouble(B|0x3ff00000,%_DoubleLo(D)); }else{ -++C; -G=%_ConstructDouble(E|0x3fe00000,%_DoubleLo(G)); -E=(0x00100000-E)>>2; +++z; +D=%_ConstructDouble(B|0x3fe00000,%_DoubleLo(D)); +B=(0x00100000-B)>>2; } -D=G-1; +A=D-1; } -var H=0.5*D*D; -if(E===0){ -if(D===0){ -if(C===0){ +var E=0.5*A*A; +if(B===0){ +if(A===0){ +if(z===0){ return 0.0; }else{ -return C*6.93147180369123816490e-01+(F+C*1.90821492927058770002e-10); +return z*kMath[34]+(C+z*kMath[35]); } } -var I=H*(1-6.666666666666666666e-01*D); -if(C===0){ -return D-I; +var F=E*(1-kMath[36]*A); +if(z===0){ +return A-F; +}else{ +return z*kMath[34]-((F-(z*kMath[35]+C))-A); +} +} +var q=A/(2+A); +var j=q*q; +var F=j*((kMath[37+0]) ++j*((kMath[37+1]) ++j* +((kMath[37+2]) ++j*((kMath[37+3]) ++j* +((kMath[37+4]) ++j*((kMath[37+5]) ++j*(kMath[37+6]) +)))))); +if(z===0){ +return A-(E-q*(E+F)); }else{ -return C*6.93147180369123816490e-01-((I-(C*1.90821492927058770002e-10+F))-D); +return z*kMath[34]-((E-(q*(E+F)+(z*kMath[35]+C)))-A); } } -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)); + + +function MathExpm1(g){ +g=g*1; +var h; +var G; +var H; +var z; +var p; +var C; +var l=%_DoubleHi(g); +var I=l&0x80000000; +var h=(I===0)?g:-g; +l&=0x7fffffff; +if(l>=0x4043687a){ +if(l>=0x40862e42){ +if(l>=0x7ff00000){ +return(g===-(1/0))?-1:g; +} +if(g>kMath[44])return(1/0); +} +if(I!=0)return-1; +} +if(l>0x3fd62e42){ +if(l<0x3ff0a2b2){ +if(I===0){ +G=g-kMath[34]; +H=kMath[35]; +z=1; +}else{ +G=g+kMath[34]; +H=-kMath[35]; +z=-1; +} +}else{ +z=(kMath[45]*g+((I===0)?0.5:-0.5))|0; +p=z; +G=g-p*kMath[34]; +H=p*kMath[35]; +} +g=G-H; +C=(G-g)-H; +}else if(l<0x3c900000){ +return g; +}else{ +z=0; +} +var J=0.5*g; +var K=g*J; +var L=1+K*((kMath[46+0]) ++K*((kMath[46+1]) ++K* +((kMath[46+2]) ++K*((kMath[46+3]) ++K*(kMath[46+4]) +)))); +p=3-L*J; +var M=K*((L-p)/(6-g*p)); +if(z===0){ +return g-(g*M-K); }else{ -return C*6.93147180369123816490e-01-((H-(t*(H+I)+(C*1.90821492927058770002e-10+F)))-D); +M=(g*(M-C)-C); +M-=K; +if(z===-1)return 0.5*(g-M)-0.5; +if(z===1){ +if(g<-0.25)return-2*(M-(g+0.5)); +return 1+2*(g-M); } +if(z<=-2||z>56){ +h=1-(M-g); +h=%_ConstructDouble(%_DoubleHi(h)+(z<<20),%_DoubleLo(h)); +return h-1; } -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; +if(z<20){ +p=%_ConstructDouble(0x3ff00000-(0x200000>>z),0); +h=p-(M-g); +h=%_ConstructDouble(%_DoubleHi(h)+(z<<20),%_DoubleLo(h)); }else{ -C=0; +p=%_ConstructDouble((0x3ff-z)<<20,0); +h=g-(M+p); +h+=1; +h=%_ConstructDouble(%_DoubleHi(h)+(z<<20),%_DoubleLo(h)); } -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 h; } -return k; + + + +function MathSinh(g){ +g=g*1; +var N=(g<0)?-0.5:0.5; +var y=d(g); +if(y<22){ +if(y<3.725290298461914e-9)return g; +var p=MathExpm1(y); +if(y<1)return N*(2*p-p*p/(p+1)); +return N*(p+p/(p+1)); } -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); +if(y<709.7822265625)return N*e(y); +if(y<=kMath[51]){ +var k=e(0.5*y); +var p=N*k; +return p*k; } -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; +return g*(1/0); } -var B=e(j); -var m; -if(B<22){ -if(B<2.77555756156289135105e-17){ -return j; + +function MathCosh(g){ +g=g*1; +var m=%_DoubleHi(g)&0x7fffffff; +if(m<0x3fd62e43){ +var p=MathExpm1(d(g)); +var k=1+p; +if(m<0x3c800000)return k; +return 1+(p*p)/(k+k); } -if(B>=1){ -var s=MathExpm1(2*B); -m=1-2/(s+2); -}else{ -var s=MathExpm1(-2*B); -m=-s/(s+2); +if(m<0x40360000){ +var p=e(d(g)); +return 0.5*p+0.5/p; } -}else{ -m=1; +if(m<0x40862e42)return 0.5*e(d(g)); +if(d(g)<=kMath[51]){ +var k=e(0.5*d(g)); +var p=0.5*k; +return p*k; } -return(j>=0)?m:-m; +if((!%_IsSmi(%IS_VAR(g))&&!(g==g)))return g; +return(1/0); } -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; + + + +function MathLog10(g){ +g=g*1; +var l=%_DoubleHi(g); +var O=%_DoubleLo(g); +var z=0; +if(l<0x00100000){ +if(((l&0x7fffffff)|O)===0)return-(1/0); +if(l<0)return $NaN; +z-=54; +g*=18014398509481984; +l=%_DoubleHi(g); +O=%_DoubleLo(g); } -b.InstallFunctions(d,2,[ +if(l>=0x7ff00000)return g; +z+=(l>>20)-1023; +var P=(z&0x80000000)>>>31; +l=(l&0x000fffff)|((0x3ff-P)<<20); +var h=z+P; +g=%_ConstructDouble(l,O); +var j=h*kMath[54]+kMath[52]*%_MathLogRT(g); +return j+h*kMath[53]; +} + + + + + + +function MathLog2(g){ +g=g*1; +var y=d(g); +var l=%_DoubleHi(g); +var O=%_DoubleLo(g); +var m=l&0x7fffffff; +if((m|O)==0)return-(1/0); +if(l<0)return $NaN; +if(m>=0x7ff00000)return g; +var s=0; +if(m<0x00100000){ +y*=9007199254740992; +s-=53; +m=%_DoubleHi(y); +} +s+=(m>>20)-0x3ff; +var Q=m&0x000fffff; +m=Q|0x3ff00000; +var R=1; +var S=0; +var T=0; +if(Q>0x3988e){ +if(Q<0xbb67a){ +R=1.5; +S=kMath[64]; +T=kMath[65]; +}else{ +s+=1; +m-=0x00100000; +} +} +y=%_ConstructDouble(m,%_DoubleLo(y)); +var D=y-R; +var n=1/(y+R); +var U=D*n; +var V=%_ConstructDouble(%_DoubleHi(U),0); +var W=%_ConstructDouble(%_DoubleHi(y+R),0) +var X=y-(W-R); +var Y=n*((D-V*W)-V*X); +var Z=U*U; +var r=Z*Z*((kMath[55+0]) ++Z*((kMath[55+1]) ++Z*((kMath[55+2]) ++Z*( +(kMath[55+3]) ++Z*((kMath[55+4]) ++Z*(kMath[55+5]) +))))); +r+=Y*(V+U); +Z=V*V; +W=%_ConstructDouble(%_DoubleHi(3.0+Z+r),0); +X=r-((W-3.0)-Z); +D=V*W; +n=Y*W+X*U; +p_h=%_ConstructDouble(%_DoubleHi(D+n),0); +p_l=n-(p_h-D); +z_h=kMath[62]*p_h; +z_l=kMath[63]*p_h+p_l*kMath[61]+T; +var p=s; +var aa=%_ConstructDouble(%_DoubleHi(((z_h+z_l)+S)+p),0); +var ab=z_l-(((aa-p)-S)-z_h); +return aa+ab; +} +b.InstallFunctions(c,2,[ "cos",MathCos, "sin",MathSin, "tan",MathTan, "sinh",MathSinh, "cosh",MathCosh, -"tanh",MathTanh, "log10",MathLog10, "log2",MathLog2, "log1p",MathLog1p, @@ -9209,385 +9709,890 @@ b.InstallFunctions(d,2,[ %SetForceInlineFlag(MathCos); }) -regexp +date +var $createDate; (function(a,b){ +"use strict"; %CheckIsBootstrapping(); -var c; +var c=a.Date; var d=a.Object; -var e=a.RegExp; +var e=b.InternalArray; var f; -var g=b.InternalArray; -var h=b.InternalPackedArray; +var g; +var h; 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(j){ +f=j.IsFinite; +g=j.MathAbs; +h=j.MathFloor; +i=j.ToNumber; }); -b.Import(function(m){ -i=m.MakeTypeError; +var k=$NaN; +var l; +function LocalTimezone(m){ +if((!%_IsSmi(%IS_VAR(m))&&!(m==m)))return""; +CheckDateCacheCurrent(); +if(m==k){ +return l; +} +var n=%DateLocalTimezone(m); +k=m; +l=n; +return n; +} +function UTC(o){ +if((!%_IsSmi(%IS_VAR(o))&&!(o==o)))return o; +return %DateToUTC(o); +} +function MakeTime(p,q,r,s){ +if(!f(p))return $NaN; +if(!f(q))return $NaN; +if(!f(r))return $NaN; +if(!f(s))return $NaN; +return(%_ToInteger(p))*3600000 ++(%_ToInteger(q))*60000 ++(%_ToInteger(r))*1000 ++(%_ToInteger(s)); +} +function TimeInYear(t){ +return DaysInYear(t)*86400000; +} +function MakeDay(t,u,v){ +if(!f(t)||!f(u)||!f(v))return $NaN; +t=(%_IsSmi(%IS_VAR(t))?t:%NumberToIntegerMapMinusZero(i(t))); +u=(%_IsSmi(%IS_VAR(u))?u:%NumberToIntegerMapMinusZero(i(u))); +v=(%_IsSmi(%IS_VAR(v))?v:%NumberToIntegerMapMinusZero(i(v))); +if(t<-1000000||t>1000000|| +u<-10000000||u>10000000){ +return $NaN; +} +return %DateMakeDay(t|0,u|0)+v-1; +} +function MakeDate(w,o){ +var o=w*86400000+o; +if(g(o)>8640002592000000)return $NaN; +return o; +} +function TimeClip(o){ +if(!f(o))return $NaN; +if(g(o)>8640000000000000)return $NaN; +return(%_ToInteger(o)); +} +var x={ +time:0, +string:null +}; +function DateConstructor(t,u,v,y,z,A,s){ +if(!%_IsConstructCall()){ +return %_CallFunction(new c(),DateToString); +} +var B=%_ArgumentsLength(); +var C; +if(B==0){ +C=%DateCurrentTime(); +(%DateSetValue(this,C,1)); +}else if(B==1){ +if((typeof(t)==='number')){ +C=t; +}else if((typeof(t)==='string')){ +CheckDateCacheCurrent(); +var D=x; +if(D.string===t){ +C=D.time; +}else{ +C=DateParse(t); +if(!(!%_IsSmi(%IS_VAR(C))&&!(C==C))){ +D.time=C; +D.string=t; +} +} +}else if((%_IsDate(t))){ +C=(%_DateField(t,0)); +}else{ +var o=(%_ToPrimitive(t)); +C=(typeof(o)==='string')?DateParse(o):i(o); +} +(%DateSetValue(this,C,1)); +}else{ +t=i(t); +u=i(u); +v=B>2?i(v):1; +y=B>3?i(y):0; +z=B>4?i(z):0; +A=B>5?i(A):0; +s=B>6?i(s):0; +t=(!(!%_IsSmi(%IS_VAR(t))&&!(t==t))&& +0<=(%_ToInteger(t))&& +(%_ToInteger(t))<=99)?1900+(%_ToInteger(t)):t; +var w=MakeDay(t,u,v); +var o=MakeTime(y,z,A,s); +C=MakeDate(w,o); +(%DateSetValue(this,C,0)); +} +} +var E=['Sun','Mon','Tue','Wed','Thu','Fri','Sat']; +var F=['Jan','Feb','Mar','Apr','May','Jun', +'Jul','Aug','Sep','Oct','Nov','Dec']; +function TwoDigitString(C){ +return C<10?"0"+C:""+C; +} +function DateString(v){ +if(!%_IsDate(v))%_ThrowNotDateError(); +return E[(%_DateField(v,4))]+' ' ++F[(%_DateField(v,2))]+' ' ++TwoDigitString((%_DateField(v,3)))+' ' ++(%_DateField(v,1)); +} +var G=['Sunday','Monday','Tuesday','Wednesday', +'Thursday','Friday','Saturday']; +var H=['January','February','March','April','May','June', +'July','August','September','October','November','December']; +function LongDateString(v){ +if(!%_IsDate(v))%_ThrowNotDateError(); +return G[(%_DateField(v,4))]+', ' ++H[(%_DateField(v,2))]+' ' ++TwoDigitString((%_DateField(v,3)))+', ' ++(%_DateField(v,1)); +} +function TimeString(v){ +if(!%_IsDate(v))%_ThrowNotDateError(); +return TwoDigitString((%_DateField(v,5)))+':' ++TwoDigitString((%_DateField(v,6)))+':' ++TwoDigitString((%_DateField(v,7))); +} +function TimeStringUTC(v){ +if(!%_IsDate(v))%_ThrowNotDateError(); +return TwoDigitString((%_DateField(v,15)))+':' ++TwoDigitString((%_DateField(v,16)))+':' ++TwoDigitString((%_DateField(v,17))); +} +function LocalTimezoneString(v){ +if(!%_IsDate(v))%_ThrowNotDateError(); +var n=LocalTimezone((%_DateField(v,0))); +var I=-(%_DateField(v,21)); +var J=(I>=0)?1:-1; +var y=h((J*I)/60); +var q=h((J*I)%60); +var K=' GMT'+((J==1)?'+':'-')+ +TwoDigitString(y)+TwoDigitString(q); +return K+' ('+n+')'; +} +function DatePrintString(v){ +if(!%_IsDate(v))%_ThrowNotDateError(); +return DateString(v)+' '+TimeString(v); +} +var L=new e(8); +function DateParse(M){ +var N=%DateParseString(M,L); +if((N===null))return $NaN; +var w=MakeDay(N[0],N[1],N[2]); +var o=MakeTime(N[3],N[4],N[5],N[6]); +var v=MakeDate(w,o); +if((N[7]===null)){ +return TimeClip(UTC(v)); +}else{ +return TimeClip(v-N[7]*1000); +} +} +function DateUTC(t,u,v,y,z,A,s){ +t=i(t); +u=i(u); +var B=%_ArgumentsLength(); +v=B>2?i(v):1; +y=B>3?i(y):0; +z=B>4?i(z):0; +A=B>5?i(A):0; +s=B>6?i(s):0; +t=(!(!%_IsSmi(%IS_VAR(t))&&!(t==t))&& +0<=(%_ToInteger(t))&& +(%_ToInteger(t))<=99)?1900+(%_ToInteger(t)):t; +var w=MakeDay(t,u,v); +var o=MakeTime(y,z,A,s); +return TimeClip(MakeDate(w,o)); +} +function DateNow(){ +return %DateCurrentTime(); +} +function DateToString(){ +if(!%_IsDate(this))%_ThrowNotDateError(); +var m=(%_DateField(this,0)) +if((!%_IsSmi(%IS_VAR(m))&&!(m==m)))return'Invalid Date'; +var O=LocalTimezoneString(this) +return DatePrintString(this)+O; +} +function DateToDateString(){ +if(!%_IsDate(this))%_ThrowNotDateError(); +var m=(%_DateField(this,0)); +if((!%_IsSmi(%IS_VAR(m))&&!(m==m)))return'Invalid Date'; +return DateString(this); +} +function DateToTimeString(){ +if(!%_IsDate(this))%_ThrowNotDateError(); +var m=(%_DateField(this,0)); +if((!%_IsSmi(%IS_VAR(m))&&!(m==m)))return'Invalid Date'; +var O=LocalTimezoneString(this); +return TimeString(this)+O; +} +function DateToLocaleString(){ +if(!%_IsDate(this))%_ThrowNotDateError(); +return %_CallFunction(this,DateToString); +} +function DateToLocaleDateString(){ +if(!%_IsDate(this))%_ThrowNotDateError(); +var m=(%_DateField(this,0)); +if((!%_IsSmi(%IS_VAR(m))&&!(m==m)))return'Invalid Date'; +return LongDateString(this); +} +function DateToLocaleTimeString(){ +if(!%_IsDate(this))%_ThrowNotDateError(); +var m=(%_DateField(this,0)); +if((!%_IsSmi(%IS_VAR(m))&&!(m==m)))return'Invalid Date'; +return TimeString(this); +} +function DateValueOf(){ +if(!%_IsDate(this))%_ThrowNotDateError(); +return(%_DateField(this,0)); +} +function DateGetTime(){ +if(!%_IsDate(this))%_ThrowNotDateError(); +return(%_DateField(this,0)); +} +function DateGetFullYear(){ +if(!%_IsDate(this))%_ThrowNotDateError(); +return(%_DateField(this,1)); +} +function DateGetUTCFullYear(){ +if(!%_IsDate(this))%_ThrowNotDateError(); +return(%_DateField(this,11)); +} +function DateGetMonth(){ +if(!%_IsDate(this))%_ThrowNotDateError(); +return(%_DateField(this,2)); +} +function DateGetUTCMonth(){ +if(!%_IsDate(this))%_ThrowNotDateError(); +return(%_DateField(this,12)); +} +function DateGetDate(){ +if(!%_IsDate(this))%_ThrowNotDateError(); +return(%_DateField(this,3)); +} +function DateGetUTCDate(){ +if(!%_IsDate(this))%_ThrowNotDateError(); +return(%_DateField(this,13)); +} +function DateGetDay(){ +if(!%_IsDate(this))%_ThrowNotDateError(); +return(%_DateField(this,4)); +} +function DateGetUTCDay(){ +if(!%_IsDate(this))%_ThrowNotDateError(); +return(%_DateField(this,14)); +} +function DateGetHours(){ +if(!%_IsDate(this))%_ThrowNotDateError(); +return(%_DateField(this,5)); +} +function DateGetUTCHours(){ +if(!%_IsDate(this))%_ThrowNotDateError(); +return(%_DateField(this,15)); +} +function DateGetMinutes(){ +if(!%_IsDate(this))%_ThrowNotDateError(); +return(%_DateField(this,6)); +} +function DateGetUTCMinutes(){ +if(!%_IsDate(this))%_ThrowNotDateError(); +return(%_DateField(this,16)); +} +function DateGetSeconds(){ +if(!%_IsDate(this))%_ThrowNotDateError(); +return(%_DateField(this,7)); +} +function DateGetUTCSeconds(){ +if(!%_IsDate(this))%_ThrowNotDateError(); +return(%_DateField(this,17)) +} +function DateGetMilliseconds(){ +if(!%_IsDate(this))%_ThrowNotDateError(); +return(%_DateField(this,8)); +} +function DateGetUTCMilliseconds(){ +if(!%_IsDate(this))%_ThrowNotDateError(); +return(%_DateField(this,18)); +} +function DateGetTimezoneOffset(){ +if(!%_IsDate(this))%_ThrowNotDateError(); +return(%_DateField(this,21)); +} +function DateSetTime(s){ +if(!%_IsDate(this))%_ThrowNotDateError(); +(%DateSetValue(this,i(s),1)); +return(%_DateField(this,0)); +} +function DateSetMilliseconds(s){ +if(!%_IsDate(this))%_ThrowNotDateError(); +var m=(%_DateField(this,0)+%_DateField(this,21)); +s=i(s); +var o=MakeTime((%_DateField(this,5)),(%_DateField(this,6)),(%_DateField(this,7)),s); +return(%DateSetValue(this,MakeDate((%_DateField(this,9)),o),0)); +} +function DateSetUTCMilliseconds(s){ +if(!%_IsDate(this))%_ThrowNotDateError(); +var m=(%_DateField(this,0)); +s=i(s); +var o=MakeTime((%_DateField(this,15)), +(%_DateField(this,16)), +(%_DateField(this,17)), +s); +return(%DateSetValue(this,MakeDate((%_DateField(this,19)),o),1)); +} +function DateSetSeconds(r,s){ +if(!%_IsDate(this))%_ThrowNotDateError(); +var m=(%_DateField(this,0)+%_DateField(this,21)); +r=i(r); +s=%_ArgumentsLength()<2?(%_DateField(this,8)):i(s); +var o=MakeTime((%_DateField(this,5)),(%_DateField(this,6)),r,s); +return(%DateSetValue(this,MakeDate((%_DateField(this,9)),o),0)); +} +function DateSetUTCSeconds(r,s){ +if(!%_IsDate(this))%_ThrowNotDateError(); +var m=(%_DateField(this,0)); +r=i(r); +s=%_ArgumentsLength()<2?(%_DateField(this,18)):i(s); +var o=MakeTime((%_DateField(this,15)),(%_DateField(this,16)),r,s); +return(%DateSetValue(this,MakeDate((%_DateField(this,19)),o),1)); +} +function DateSetMinutes(q,r,s){ +if(!%_IsDate(this))%_ThrowNotDateError(); +var m=(%_DateField(this,0)+%_DateField(this,21)); +q=i(q); +var B=%_ArgumentsLength(); +r=B<2?(%_DateField(this,7)):i(r); +s=B<3?(%_DateField(this,8)):i(s); +var o=MakeTime((%_DateField(this,5)),q,r,s); +return(%DateSetValue(this,MakeDate((%_DateField(this,9)),o),0)); +} +function DateSetUTCMinutes(q,r,s){ +if(!%_IsDate(this))%_ThrowNotDateError(); +var m=(%_DateField(this,0)); +q=i(q); +var B=%_ArgumentsLength(); +r=B<2?(%_DateField(this,17)):i(r); +s=B<3?(%_DateField(this,18)):i(s); +var o=MakeTime((%_DateField(this,15)),q,r,s); +return(%DateSetValue(this,MakeDate((%_DateField(this,19)),o),1)); +} +function DateSetHours(p,q,r,s){ +if(!%_IsDate(this))%_ThrowNotDateError(); +var m=(%_DateField(this,0)+%_DateField(this,21)); +p=i(p); +var B=%_ArgumentsLength(); +q=B<2?(%_DateField(this,6)):i(q); +r=B<3?(%_DateField(this,7)):i(r); +s=B<4?(%_DateField(this,8)):i(s); +var o=MakeTime(p,q,r,s); +return(%DateSetValue(this,MakeDate((%_DateField(this,9)),o),0)); +} +function DateSetUTCHours(p,q,r,s){ +if(!%_IsDate(this))%_ThrowNotDateError(); +var m=(%_DateField(this,0)); +p=i(p); +var B=%_ArgumentsLength(); +q=B<2?(%_DateField(this,16)):i(q); +r=B<3?(%_DateField(this,17)):i(r); +s=B<4?(%_DateField(this,18)):i(s); +var o=MakeTime(p,q,r,s); +return(%DateSetValue(this,MakeDate((%_DateField(this,19)),o),1)); +} +function DateSetDate(v){ +if(!%_IsDate(this))%_ThrowNotDateError(); +var m=(%_DateField(this,0)+%_DateField(this,21)); +v=i(v); +var w=MakeDay((%_DateField(this,1)),(%_DateField(this,2)),v); +return(%DateSetValue(this,MakeDate(w,(%_DateField(this,10))),0)); +} +function DateSetUTCDate(v){ +if(!%_IsDate(this))%_ThrowNotDateError(); +var m=(%_DateField(this,0)); +v=i(v); +var w=MakeDay((%_DateField(this,11)),(%_DateField(this,12)),v); +return(%DateSetValue(this,MakeDate(w,(%_DateField(this,20))),1)); +} +function DateSetMonth(u,v){ +if(!%_IsDate(this))%_ThrowNotDateError(); +var m=(%_DateField(this,0)+%_DateField(this,21)); +u=i(u); +v=%_ArgumentsLength()<2?(%_DateField(this,3)):i(v); +var w=MakeDay((%_DateField(this,1)),u,v); +return(%DateSetValue(this,MakeDate(w,(%_DateField(this,10))),0)); +} +function DateSetUTCMonth(u,v){ +if(!%_IsDate(this))%_ThrowNotDateError(); +var m=(%_DateField(this,0)); +u=i(u); +v=%_ArgumentsLength()<2?(%_DateField(this,13)):i(v); +var w=MakeDay((%_DateField(this,11)),u,v); +return(%DateSetValue(this,MakeDate(w,(%_DateField(this,20))),1)); +} +function DateSetFullYear(t,u,v){ +if(!%_IsDate(this))%_ThrowNotDateError(); +var m=(%_DateField(this,0)+%_DateField(this,21)); +t=i(t); +var B=%_ArgumentsLength(); +var o; +if((!%_IsSmi(%IS_VAR(m))&&!(m==m))){ +u=B<2?0:i(u); +v=B<3?1:i(v); +o=0; +}else{ +u=B<2?(%_DateField(this,2)):i(u); +v=B<3?(%_DateField(this,3)):i(v); +o=(%_DateField(this,10)); +} +var w=MakeDay(t,u,v); +return(%DateSetValue(this,MakeDate(w,o),0)); +} +function DateSetUTCFullYear(t,u,v){ +if(!%_IsDate(this))%_ThrowNotDateError(); +var m=(%_DateField(this,0)); +t=i(t); +var B=%_ArgumentsLength(); +var o; +if((!%_IsSmi(%IS_VAR(m))&&!(m==m))){ +u=B<2?0:i(u); +v=B<3?1:i(v); +o=0; +}else{ +u=B<2?(%_DateField(this,12)):i(u); +v=B<3?(%_DateField(this,13)):i(v); +o=(%_DateField(this,20)); +} +var w=MakeDay(t,u,v); +return(%DateSetValue(this,MakeDate(w,o),1)); +} +function DateToUTCString(){ +if(!%_IsDate(this))%_ThrowNotDateError(); +var m=(%_DateField(this,0)); +if((!%_IsSmi(%IS_VAR(m))&&!(m==m)))return'Invalid Date'; +return E[(%_DateField(this,14))]+', ' ++TwoDigitString((%_DateField(this,13)))+' ' ++F[(%_DateField(this,12))]+' ' ++(%_DateField(this,11))+' ' ++TimeStringUTC(this)+' GMT'; +} +function DateGetYear(){ +if(!%_IsDate(this))%_ThrowNotDateError(); +return(%_DateField(this,1))-1900; +} +function DateSetYear(t){ +if(!%_IsDate(this))%_ThrowNotDateError(); +t=i(t); +if((!%_IsSmi(%IS_VAR(t))&&!(t==t)))return(%DateSetValue(this,$NaN,1)); +t=(0<=(%_ToInteger(t))&&(%_ToInteger(t))<=99) +?1900+(%_ToInteger(t)):t; +var m=(%_DateField(this,0)+%_DateField(this,21)); +var u,v,o; +if((!%_IsSmi(%IS_VAR(m))&&!(m==m))){ +u=0; +v=1; +o=0; +}else{ +u=(%_DateField(this,2)); +v=(%_DateField(this,3)); +o=(%_DateField(this,10)); +} +var w=MakeDay(t,u,v); +return(%DateSetValue(this,MakeDate(w,o),0)); +} +function DateToGMTString(){ +return %_CallFunction(this,DateToUTCString); +} +function PadInt(P,Q){ +if(Q==1)return P; +return P<%_MathPow(10,Q-1)?'0'+PadInt(P,Q-1):P; +} +function DateToISOString(){ +if(!%_IsDate(this))%_ThrowNotDateError(); +var m=(%_DateField(this,0)); +if((!%_IsSmi(%IS_VAR(m))&&!(m==m)))throw MakeRangeError(143); +var t=(%_DateField(this,11)); +var R; +if(t>=0&&t<=9999){ +R=PadInt(t,4); +}else{ +if(t<0){ +R="-"+PadInt(-t,6); +}else{ +R="+"+PadInt(t,6); +} +} +return R+ +'-'+PadInt((%_DateField(this,12))+1,2)+ +'-'+PadInt((%_DateField(this,13)),2)+ +'T'+PadInt((%_DateField(this,15)),2)+ +':'+PadInt((%_DateField(this,16)),2)+ +':'+PadInt((%_DateField(this,17)),2)+ +'.'+PadInt((%_DateField(this,18)),3)+ +'Z'; +} +function DateToJSON(S){ +var T=(%_ToObject(this)); +var U=(%_ToPrimitive_Number(T)); +if((typeof(U)==='number')&&!(%_IsSmi(%IS_VAR(U))||((U==U)&&(U!=1/0)&&(U!=-1/0)))){ +return null; +} +return T.toISOString(); +} +var V; +var W=$NaN; +function CheckDateCacheCurrent(){ +if(!V){ +V=%DateCacheVersion(); +if(!V)return; +} +if(V[0]==W){ +return; +} +W=V[0]; +k=$NaN; +l=(void 0); +x.time=$NaN; +x.string=null; +} +function CreateDate(o){ +var v=new c(); +v.setTime(o); +return v; +} +%SetCode(c,DateConstructor); +%FunctionSetPrototype(c,new d()); +b.InstallFunctions(c,2,[ +"UTC",DateUTC, +"parse",DateParse, +"now",DateNow +]); +%AddNamedProperty(c.prototype,"constructor",c,2); +b.InstallFunctions(c.prototype,2,[ +"toString",DateToString, +"toDateString",DateToDateString, +"toTimeString",DateToTimeString, +"toLocaleString",DateToLocaleString, +"toLocaleDateString",DateToLocaleDateString, +"toLocaleTimeString",DateToLocaleTimeString, +"valueOf",DateValueOf, +"getTime",DateGetTime, +"getFullYear",DateGetFullYear, +"getUTCFullYear",DateGetUTCFullYear, +"getMonth",DateGetMonth, +"getUTCMonth",DateGetUTCMonth, +"getDate",DateGetDate, +"getUTCDate",DateGetUTCDate, +"getDay",DateGetDay, +"getUTCDay",DateGetUTCDay, +"getHours",DateGetHours, +"getUTCHours",DateGetUTCHours, +"getMinutes",DateGetMinutes, +"getUTCMinutes",DateGetUTCMinutes, +"getSeconds",DateGetSeconds, +"getUTCSeconds",DateGetUTCSeconds, +"getMilliseconds",DateGetMilliseconds, +"getUTCMilliseconds",DateGetUTCMilliseconds, +"getTimezoneOffset",DateGetTimezoneOffset, +"setTime",DateSetTime, +"setMilliseconds",DateSetMilliseconds, +"setUTCMilliseconds",DateSetUTCMilliseconds, +"setSeconds",DateSetSeconds, +"setUTCSeconds",DateSetUTCSeconds, +"setMinutes",DateSetMinutes, +"setUTCMinutes",DateSetUTCMinutes, +"setHours",DateSetHours, +"setUTCHours",DateSetUTCHours, +"setDate",DateSetDate, +"setUTCDate",DateSetUTCDate, +"setMonth",DateSetMonth, +"setUTCMonth",DateSetUTCMonth, +"setFullYear",DateSetFullYear, +"setUTCFullYear",DateSetUTCFullYear, +"toGMTString",DateToGMTString, +"toUTCString",DateToUTCString, +"getYear",DateGetYear, +"setYear",DateSetYear, +"toISOString",DateToISOString, +"toJSON",DateToJSON +]); +%InstallToContext(["create_date_fun",CreateDate]); +}) + +regexpc +var $regexpLastMatchInfoOverride; +(function(a,b){ +%CheckIsBootstrapping(); +var c; +var d; +var e=a.RegExp; +var f=b.InternalPackedArray; +var g; +b.Import(function(h){ +g=h.ToNumber; +}); +b.ImportFromExperimental(function(h){ +c=h.FLAG_harmony_regexps; +d=h.FLAG_harmony_unicode_regexps; }); -var n=new h( +var i=new f( 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; +$regexpLastMatchInfoOverride=null; +function DoConstructRegExp(j,k,l){ +if((%_IsRegExp(k))){ +if(!(l===(void 0)))throw MakeTypeError(98); +l=(k.global?'g':'') ++(k.ignoreCase?'i':'') ++(k.multiline?'m':''); +if(d) +l+=(k.unicode?'u':''); +if(c) +l+=(k.sticky?'y':''); +k=k.source; +} +k=(k===(void 0))?'':(%_ToString(k)); +l=(l===(void 0))?'':(%_ToString(l)); +%RegExpInitializeAndCompile(j,k,l); +} +function RegExpConstructor(k,l){ +if(%_IsConstructCall()){ +DoConstructRegExp(this,k,l); +}else{ +if((%_IsRegExp(k))&&(l===(void 0))){ +return k; +} +return new e(k,l); } -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; } +function RegExpCompileJS(k,l){ +if(this==e.prototype){ +throw MakeTypeError(36, +'RegExp.prototype.compile',this); } -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; +if((k===(void 0))&&%_ArgumentsLength()!=0){ +DoConstructRegExp(this,'undefined',l); +}else{ +DoConstructRegExp(this,k,l); } -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>1; +var q=r[3]; +var t=r[4]; +var u=%_SubString(n,q,t); +var p=%_RegExpConstructResult(s,q,n); +p[0]=u; +if(s==1)return p; +var v=3+2; +for(var w=1;wx.length){ +n=(%_ToString(n)); +var x=this.lastIndex; +var w=(%_ToInteger(x)); +var y=this.global||(c&&this.sticky); +if(y){ +if(w<0||w>n.length){ this.lastIndex=0; return null; } }else{ -G=0; +w=0; } -var J=%_RegExpExec(this,x,G,n); -if((J===null)){ +var z=%_RegExpExec(this,n,w,i); +if((z===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>1; +var q=z[3]; +var t=z[4]; +var u=%_SubString(n,q,t); +var p=%_RegExpConstructResult(s,q,n); +p[0]=u; +if(s==1)return p; +var v=3+2; +for(var w=1;wx.length){ +n=(%_ToString(n)); +var x=this.lastIndex; +var w=(%_ToInteger(x)); +if(this.global||(c&&this.sticky)){ +if(w<0||w>n.length){ this.lastIndex=0; return false; } -var J=%_RegExpExec(this,x,G,n); -if((J===null)){ +var z=%_RegExpExec(this,n,w,i); +if((z===null)){ this.lastIndex=0; return false; } -this.lastIndex=n[4]; +$regexpLastMatchInfoOverride=null; +this.lastIndex=i[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)){ +var m=this; +if(m.source.length>=3&& +%_StringCharCodeAt(m.source,0)==46&& +%_StringCharCodeAt(m.source,1)==42&& +%_StringCharCodeAt(m.source,2)!=63){ +m=TrimRegExp(m); +} +var z=%_RegExpExec(m,n,0,i); +if((z===null)){ this.lastIndex=0; return false; } +$regexpLastMatchInfoOverride=null; 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":"")); +function TrimRegExp(m){ +if(!%_ObjectEquals(A,m)){ +A=m; +B= +new e(%_SubString(m.source,2,m.source.length), +(m.ignoreCase?m.multiline?"im":"i" +:m.multiline?"m":"")); } -return L; +return B; } function RegExpToString(){ if(!(%_IsRegExp(this))){ -if(this===f){ -%IncrementUseCounter(12); -return'/(?:)/'; -} -throw i(42, +throw MakeTypeError(36, '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=((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); +var F; +var G; +if(!$regexpLastMatchInfoOverride){ +F=i[3]; +G=((i)[1]); +}else{ +var D=$regexpLastMatchInfoOverride; +F=((D)[(D).length-2]); +G=((D)[(D).length-1]); } -%FunctionSetName(RegExpGetIgnoreCase,"RegExp.prototype.ignoreCase"); -%SetNativeFlag(RegExpGetIgnoreCase); -function RegExpGetMultiline(){ -if(!(%_IsRegExp(this))){ -if(this===f){ -return(void 0); +return %_SubString(G,0,F); } -throw i(131,"RegExp.prototype.multiline"); +function RegExpGetRightContext(){ +var F; +var G; +if(!$regexpLastMatchInfoOverride){ +F=i[4]; +G=((i)[1]); +}else{ +var D=$regexpLastMatchInfoOverride; +G=((D)[(D).length-1]); +var H=((D)[0]); +F=((D)[(D).length-2])+H.length; } -return!!(%_RegExpFlags(this)&4); +return %_SubString(G,F,G.length); } -%FunctionSetName(RegExpGetMultiline,"RegExp.prototype.multiline"); -%SetNativeFlag(RegExpGetMultiline); -function RegExpGetSource(){ -if(!(%_IsRegExp(this))){ -if(this===f){ -return(void 0); +function RegExpMakeCaptureGetter(I){ +return function foo(){ +if($regexpLastMatchInfoOverride){ +if(I<$regexpLastMatchInfoOverride.length-2){ +return(($regexpLastMatchInfoOverride)[(I)]); } -throw i(131,"RegExp.prototype.source"); +return''; } -return(%_RegExpSource(this)); +var o=I*2; +if(o>=((i)[0]))return''; +var J=i[(3+(o))]; +var K=i[(3+(o+1))]; +if(J==-1||K==-1)return''; +return %_SubString(((i)[1]),J,K); +}; } -%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); @@ -9595,2260 +10600,2140 @@ b.InstallFunctions(e.prototype,2,[ "exec",RegExpExecJS, "test",RegExpTest, "toString",RegExpToString, -"compile",RegExpCompileJS, -j,RegExpMatch, -k,RegExpSearch, -l,RegExpSplit, +"compile",RegExpCompileJS ]); -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 L=function(){ +var M=((i)[2]); +return(M===(void 0))?"":M; }; -var af=function(x){ -((n)[2])=(%_ToString(x)); +var N=function(n){ +((i)[2])=(%_ToString(n)); }; %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, +%DefineAccessorPropertyUnchecked(e,'input',L, +N,4); +%DefineAccessorPropertyUnchecked(e,'$_',L, +N,2|4); +var O=false; +var P=function(){return O;}; +var Q=function(R){O=R?true:false;}; +%DefineAccessorPropertyUnchecked(e,'multiline',P, +Q,4); +%DefineAccessorPropertyUnchecked(e,'$*',P, +Q, 2|4); -for(var G=1;G<10;++G){ -b.InstallGetterSetter(e,'$'+G,RegExpMakeCaptureGetter(G), -ag,4); +var S=function(T){}; +%DefineAccessorPropertyUnchecked(e,'lastMatch',RegExpGetLastMatch, +S,4); +%DefineAccessorPropertyUnchecked(e,'$&',RegExpGetLastMatch, +S,2|4); +%DefineAccessorPropertyUnchecked(e,'lastParen',RegExpGetLastParen, +S,4); +%DefineAccessorPropertyUnchecked(e,'$+',RegExpGetLastParen, +S,2|4); +%DefineAccessorPropertyUnchecked(e,'leftContext', +RegExpGetLeftContext,S, +4); +%DefineAccessorPropertyUnchecked(e,'$`',RegExpGetLeftContext, +S,2|4); +%DefineAccessorPropertyUnchecked(e,'rightContext', +RegExpGetRightContext,S, +4); +%DefineAccessorPropertyUnchecked(e,"$'",RegExpGetRightContext, +S,2|4); +for(var w=1;w<10;++w){ +%DefineAccessorPropertyUnchecked(e,'$'+w, +RegExpMakeCaptureGetter(w),S, +4); } %ToFastProperties(e); -b.Export(function(ai){ -ai.RegExpExec=DoRegExpExec; -ai.RegExpExecNoTests=RegExpExecNoTests; -ai.RegExpLastMatchInfo=n; -ai.RegExpTest=RegExpTest; +b.Export(function(U){ +U.RegExpExec=DoRegExpExec; +U.RegExpExecNoTests=RegExpExecNoTests; +U.RegExpLastMatchInfo=i; +U.RegExpTest=RegExpTest; }); }) -,arraybuffer +,arraybuffer (function(a,b){ "use strict"; %CheckIsBootstrapping(); var c=a.ArrayBuffer; -var d; +var d=a.Object; var e; var f; var g; -b.Import(function(h){ -d=h.MakeTypeError; -e=h.MaxSimple; -f=h.MinSimple; -g=h.SpeciesConstructor; +var h=b.ImportNow("to_string_tag_symbol"); +b.Import(function(i){ +e=i.MathMax; +f=i.MathMin; +g=i.ToNumber; }); +function ArrayBufferConstructor(j){ +if(%_IsConstructCall()){ +var k=$toPositiveInteger(j,130); +%ArrayBufferInitialize(this,k,false); +}else{ +throw MakeTypeError(21,"ArrayBuffer"); +} +} function ArrayBufferGetByteLen(){ if(!(%_ClassOf(this)==='ArrayBuffer')){ -throw d(42, +throw MakeTypeError(36, 'ArrayBuffer.prototype.byteLength',this); } return %_ArrayBufferGetByteLength(this); } -function ArrayBufferSlice(i,j){ +function ArrayBufferSlice(l,m){ if(!(%_ClassOf(this)==='ArrayBuffer')){ -throw d(42, +throw MakeTypeError(36, '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=(%_ToInteger(l)); +if(!(m===(void 0))){ +m=(%_ToInteger(m)); } -var n=(j===(void 0))?m:j; var o; +var p=%_ArrayBufferGetByteLength(this); if(n<0){ -o=e(m+n,0); +o=e(p+n,0); }else{ -o=f(n,m); +o=f(n,p); } -if(oah){ -throw B(181); +if(z>y){ +throw MakeRangeError(146); } } -var aj; -var ak; -if((ag===(void 0))){ -if(ah % 1!==0){ -throw B(179, +var A; +var B; +if((x===(void 0))){ +if(y % 1!==0){ +throw MakeRangeError(144, "byte length","Uint8Array",1); } -aj=ah-ai; -ak=aj/1; +A=y-z; +B=A/1; }else{ -var ak=ag; -aj=ak*1; +var B=x; +A=B*1; } -if((ai+aj>ah) -||(ak>%_MaxSmi())){ -throw B(180); +if((z+A>y) +||(B>%_MaxSmi())){ +throw MakeRangeError(145); } -%_TypedArrayInitialize(ad,1,ae,ai,aj,true); +%_TypedArrayInitialize(u,1,v,z,A,true); } -function Uint8ArrayConstructByLength(ad,ag){ -var al=(ag===(void 0))? -0:H(ag,180); -if(al>%_MaxSmi()){ -throw B(180); +function Uint8ArrayConstructByLength(u,x){ +var C=(x===(void 0))? +0:$toPositiveInteger(x,145); +if(C>%_MaxSmi()){ +throw MakeRangeError(145); } -var am=al*1; -if(am>%_TypedArrayMaxSizeInHeap()){ -var ae=new g(am); -%_TypedArrayInitialize(ad,1,ae,0,am,true); +var D=C*1; +if(D>%_TypedArrayMaxSizeInHeap()){ +var v=new d(D); +%_TypedArrayInitialize(u,1,v,0,D,true); }else{ -%_TypedArrayInitialize(ad,1,null,0,am,true); +%_TypedArrayInitialize(u,1,null,0,D,true); } } -function Uint8ArrayConstructByArrayLike(ad,an){ -var ag=an.length; -var al=H(ag,180); -if(al>%_MaxSmi()){ -throw B(180); +function Uint8ArrayConstructByArrayLike(u,E){ +var x=E.length; +var C=$toPositiveInteger(x,145); +if(C>%_MaxSmi()){ +throw MakeRangeError(145); } -var ao=false; -var am=al*1; -if(am<=%_TypedArrayMaxSizeInHeap()){ -%_TypedArrayInitialize(ad,1,null,0,am,false); +var F=false; +var D=C*1; +if(D<=%_TypedArrayMaxSizeInHeap()){ +%_TypedArrayInitialize(u,1,null,0,D,false); }else{ -ao= -%TypedArrayInitializeFromArrayLike(ad,1,an,al); +F= +%TypedArrayInitializeFromArrayLike(u,1,E,C); } -if(!ao){ -for(var ap=0;apah){ -throw B(181); +if(z>y){ +throw MakeRangeError(146); } } -var aj; -var ak; -if((ag===(void 0))){ -if(ah % 1!==0){ -throw B(179, +var A; +var B; +if((x===(void 0))){ +if(y % 1!==0){ +throw MakeRangeError(144, "byte length","Int8Array",1); } -aj=ah-ai; -ak=aj/1; +A=y-z; +B=A/1; }else{ -var ak=ag; -aj=ak*1; +var B=x; +A=B*1; } -if((ai+aj>ah) -||(ak>%_MaxSmi())){ -throw B(180); +if((z+A>y) +||(B>%_MaxSmi())){ +throw MakeRangeError(145); } -%_TypedArrayInitialize(ad,2,ae,ai,aj,true); +%_TypedArrayInitialize(u,2,v,z,A,true); } -function Int8ArrayConstructByLength(ad,ag){ -var al=(ag===(void 0))? -0:H(ag,180); -if(al>%_MaxSmi()){ -throw B(180); +function Int8ArrayConstructByLength(u,x){ +var C=(x===(void 0))? +0:$toPositiveInteger(x,145); +if(C>%_MaxSmi()){ +throw MakeRangeError(145); } -var am=al*1; -if(am>%_TypedArrayMaxSizeInHeap()){ -var ae=new g(am); -%_TypedArrayInitialize(ad,2,ae,0,am,true); +var D=C*1; +if(D>%_TypedArrayMaxSizeInHeap()){ +var v=new d(D); +%_TypedArrayInitialize(u,2,v,0,D,true); }else{ -%_TypedArrayInitialize(ad,2,null,0,am,true); +%_TypedArrayInitialize(u,2,null,0,D,true); } } -function Int8ArrayConstructByArrayLike(ad,an){ -var ag=an.length; -var al=H(ag,180); -if(al>%_MaxSmi()){ -throw B(180); +function Int8ArrayConstructByArrayLike(u,E){ +var x=E.length; +var C=$toPositiveInteger(x,145); +if(C>%_MaxSmi()){ +throw MakeRangeError(145); } -var ao=false; -var am=al*1; -if(am<=%_TypedArrayMaxSizeInHeap()){ -%_TypedArrayInitialize(ad,2,null,0,am,false); +var F=false; +var D=C*1; +if(D<=%_TypedArrayMaxSizeInHeap()){ +%_TypedArrayInitialize(u,2,null,0,D,false); }else{ -ao= -%TypedArrayInitializeFromArrayLike(ad,2,an,al); +F= +%TypedArrayInitializeFromArrayLike(u,2,E,C); } -if(!ao){ -for(var ap=0;apah){ -throw B(181); +if(z>y){ +throw MakeRangeError(146); } } -var aj; -var ak; -if((ag===(void 0))){ -if(ah % 2!==0){ -throw B(179, +var A; +var B; +if((x===(void 0))){ +if(y % 2!==0){ +throw MakeRangeError(144, "byte length","Uint16Array",2); } -aj=ah-ai; -ak=aj/2; +A=y-z; +B=A/2; }else{ -var ak=ag; -aj=ak*2; +var B=x; +A=B*2; } -if((ai+aj>ah) -||(ak>%_MaxSmi())){ -throw B(180); +if((z+A>y) +||(B>%_MaxSmi())){ +throw MakeRangeError(145); } -%_TypedArrayInitialize(ad,3,ae,ai,aj,true); +%_TypedArrayInitialize(u,3,v,z,A,true); } -function Uint16ArrayConstructByLength(ad,ag){ -var al=(ag===(void 0))? -0:H(ag,180); -if(al>%_MaxSmi()){ -throw B(180); +function Uint16ArrayConstructByLength(u,x){ +var C=(x===(void 0))? +0:$toPositiveInteger(x,145); +if(C>%_MaxSmi()){ +throw MakeRangeError(145); } -var am=al*2; -if(am>%_TypedArrayMaxSizeInHeap()){ -var ae=new g(am); -%_TypedArrayInitialize(ad,3,ae,0,am,true); +var D=C*2; +if(D>%_TypedArrayMaxSizeInHeap()){ +var v=new d(D); +%_TypedArrayInitialize(u,3,v,0,D,true); }else{ -%_TypedArrayInitialize(ad,3,null,0,am,true); +%_TypedArrayInitialize(u,3,null,0,D,true); } } -function Uint16ArrayConstructByArrayLike(ad,an){ -var ag=an.length; -var al=H(ag,180); -if(al>%_MaxSmi()){ -throw B(180); +function Uint16ArrayConstructByArrayLike(u,E){ +var x=E.length; +var C=$toPositiveInteger(x,145); +if(C>%_MaxSmi()){ +throw MakeRangeError(145); } -var ao=false; -var am=al*2; -if(am<=%_TypedArrayMaxSizeInHeap()){ -%_TypedArrayInitialize(ad,3,null,0,am,false); +var F=false; +var D=C*2; +if(D<=%_TypedArrayMaxSizeInHeap()){ +%_TypedArrayInitialize(u,3,null,0,D,false); }else{ -ao= -%TypedArrayInitializeFromArrayLike(ad,3,an,al); +F= +%TypedArrayInitializeFromArrayLike(u,3,E,C); } -if(!ao){ -for(var ap=0;apah){ -throw B(181); +if(z>y){ +throw MakeRangeError(146); } } -var aj; -var ak; -if((ag===(void 0))){ -if(ah % 2!==0){ -throw B(179, +var A; +var B; +if((x===(void 0))){ +if(y % 2!==0){ +throw MakeRangeError(144, "byte length","Int16Array",2); } -aj=ah-ai; -ak=aj/2; +A=y-z; +B=A/2; }else{ -var ak=ag; -aj=ak*2; +var B=x; +A=B*2; } -if((ai+aj>ah) -||(ak>%_MaxSmi())){ -throw B(180); +if((z+A>y) +||(B>%_MaxSmi())){ +throw MakeRangeError(145); } -%_TypedArrayInitialize(ad,4,ae,ai,aj,true); +%_TypedArrayInitialize(u,4,v,z,A,true); } -function Int16ArrayConstructByLength(ad,ag){ -var al=(ag===(void 0))? -0:H(ag,180); -if(al>%_MaxSmi()){ -throw B(180); +function Int16ArrayConstructByLength(u,x){ +var C=(x===(void 0))? +0:$toPositiveInteger(x,145); +if(C>%_MaxSmi()){ +throw MakeRangeError(145); } -var am=al*2; -if(am>%_TypedArrayMaxSizeInHeap()){ -var ae=new g(am); -%_TypedArrayInitialize(ad,4,ae,0,am,true); +var D=C*2; +if(D>%_TypedArrayMaxSizeInHeap()){ +var v=new d(D); +%_TypedArrayInitialize(u,4,v,0,D,true); }else{ -%_TypedArrayInitialize(ad,4,null,0,am,true); +%_TypedArrayInitialize(u,4,null,0,D,true); } } -function Int16ArrayConstructByArrayLike(ad,an){ -var ag=an.length; -var al=H(ag,180); -if(al>%_MaxSmi()){ -throw B(180); +function Int16ArrayConstructByArrayLike(u,E){ +var x=E.length; +var C=$toPositiveInteger(x,145); +if(C>%_MaxSmi()){ +throw MakeRangeError(145); } -var ao=false; -var am=al*2; -if(am<=%_TypedArrayMaxSizeInHeap()){ -%_TypedArrayInitialize(ad,4,null,0,am,false); +var F=false; +var D=C*2; +if(D<=%_TypedArrayMaxSizeInHeap()){ +%_TypedArrayInitialize(u,4,null,0,D,false); }else{ -ao= -%TypedArrayInitializeFromArrayLike(ad,4,an,al); +F= +%TypedArrayInitializeFromArrayLike(u,4,E,C); } -if(!ao){ -for(var ap=0;apah){ -throw B(181); +if(z>y){ +throw MakeRangeError(146); } } -var aj; -var ak; -if((ag===(void 0))){ -if(ah % 4!==0){ -throw B(179, +var A; +var B; +if((x===(void 0))){ +if(y % 4!==0){ +throw MakeRangeError(144, "byte length","Uint32Array",4); } -aj=ah-ai; -ak=aj/4; +A=y-z; +B=A/4; }else{ -var ak=ag; -aj=ak*4; +var B=x; +A=B*4; } -if((ai+aj>ah) -||(ak>%_MaxSmi())){ -throw B(180); +if((z+A>y) +||(B>%_MaxSmi())){ +throw MakeRangeError(145); } -%_TypedArrayInitialize(ad,5,ae,ai,aj,true); +%_TypedArrayInitialize(u,5,v,z,A,true); } -function Uint32ArrayConstructByLength(ad,ag){ -var al=(ag===(void 0))? -0:H(ag,180); -if(al>%_MaxSmi()){ -throw B(180); +function Uint32ArrayConstructByLength(u,x){ +var C=(x===(void 0))? +0:$toPositiveInteger(x,145); +if(C>%_MaxSmi()){ +throw MakeRangeError(145); } -var am=al*4; -if(am>%_TypedArrayMaxSizeInHeap()){ -var ae=new g(am); -%_TypedArrayInitialize(ad,5,ae,0,am,true); +var D=C*4; +if(D>%_TypedArrayMaxSizeInHeap()){ +var v=new d(D); +%_TypedArrayInitialize(u,5,v,0,D,true); }else{ -%_TypedArrayInitialize(ad,5,null,0,am,true); +%_TypedArrayInitialize(u,5,null,0,D,true); } } -function Uint32ArrayConstructByArrayLike(ad,an){ -var ag=an.length; -var al=H(ag,180); -if(al>%_MaxSmi()){ -throw B(180); +function Uint32ArrayConstructByArrayLike(u,E){ +var x=E.length; +var C=$toPositiveInteger(x,145); +if(C>%_MaxSmi()){ +throw MakeRangeError(145); } -var ao=false; -var am=al*4; -if(am<=%_TypedArrayMaxSizeInHeap()){ -%_TypedArrayInitialize(ad,5,null,0,am,false); +var F=false; +var D=C*4; +if(D<=%_TypedArrayMaxSizeInHeap()){ +%_TypedArrayInitialize(u,5,null,0,D,false); }else{ -ao= -%TypedArrayInitializeFromArrayLike(ad,5,an,al); +F= +%TypedArrayInitializeFromArrayLike(u,5,E,C); } -if(!ao){ -for(var ap=0;apah){ -throw B(181); +if(z>y){ +throw MakeRangeError(146); } } -var aj; -var ak; -if((ag===(void 0))){ -if(ah % 4!==0){ -throw B(179, +var A; +var B; +if((x===(void 0))){ +if(y % 4!==0){ +throw MakeRangeError(144, "byte length","Int32Array",4); } -aj=ah-ai; -ak=aj/4; +A=y-z; +B=A/4; }else{ -var ak=ag; -aj=ak*4; +var B=x; +A=B*4; } -if((ai+aj>ah) -||(ak>%_MaxSmi())){ -throw B(180); +if((z+A>y) +||(B>%_MaxSmi())){ +throw MakeRangeError(145); } -%_TypedArrayInitialize(ad,6,ae,ai,aj,true); +%_TypedArrayInitialize(u,6,v,z,A,true); } -function Int32ArrayConstructByLength(ad,ag){ -var al=(ag===(void 0))? -0:H(ag,180); -if(al>%_MaxSmi()){ -throw B(180); +function Int32ArrayConstructByLength(u,x){ +var C=(x===(void 0))? +0:$toPositiveInteger(x,145); +if(C>%_MaxSmi()){ +throw MakeRangeError(145); } -var am=al*4; -if(am>%_TypedArrayMaxSizeInHeap()){ -var ae=new g(am); -%_TypedArrayInitialize(ad,6,ae,0,am,true); +var D=C*4; +if(D>%_TypedArrayMaxSizeInHeap()){ +var v=new d(D); +%_TypedArrayInitialize(u,6,v,0,D,true); }else{ -%_TypedArrayInitialize(ad,6,null,0,am,true); +%_TypedArrayInitialize(u,6,null,0,D,true); } } -function Int32ArrayConstructByArrayLike(ad,an){ -var ag=an.length; -var al=H(ag,180); -if(al>%_MaxSmi()){ -throw B(180); +function Int32ArrayConstructByArrayLike(u,E){ +var x=E.length; +var C=$toPositiveInteger(x,145); +if(C>%_MaxSmi()){ +throw MakeRangeError(145); } -var ao=false; -var am=al*4; -if(am<=%_TypedArrayMaxSizeInHeap()){ -%_TypedArrayInitialize(ad,6,null,0,am,false); +var F=false; +var D=C*4; +if(D<=%_TypedArrayMaxSizeInHeap()){ +%_TypedArrayInitialize(u,6,null,0,D,false); }else{ -ao= -%TypedArrayInitializeFromArrayLike(ad,6,an,al); +F= +%TypedArrayInitializeFromArrayLike(u,6,E,C); } -if(!ao){ -for(var ap=0;apah){ -throw B(181); +if(z>y){ +throw MakeRangeError(146); } } -var aj; -var ak; -if((ag===(void 0))){ -if(ah % 4!==0){ -throw B(179, +var A; +var B; +if((x===(void 0))){ +if(y % 4!==0){ +throw MakeRangeError(144, "byte length","Float32Array",4); } -aj=ah-ai; -ak=aj/4; +A=y-z; +B=A/4; }else{ -var ak=ag; -aj=ak*4; +var B=x; +A=B*4; } -if((ai+aj>ah) -||(ak>%_MaxSmi())){ -throw B(180); +if((z+A>y) +||(B>%_MaxSmi())){ +throw MakeRangeError(145); } -%_TypedArrayInitialize(ad,7,ae,ai,aj,true); +%_TypedArrayInitialize(u,7,v,z,A,true); } -function Float32ArrayConstructByLength(ad,ag){ -var al=(ag===(void 0))? -0:H(ag,180); -if(al>%_MaxSmi()){ -throw B(180); +function Float32ArrayConstructByLength(u,x){ +var C=(x===(void 0))? +0:$toPositiveInteger(x,145); +if(C>%_MaxSmi()){ +throw MakeRangeError(145); } -var am=al*4; -if(am>%_TypedArrayMaxSizeInHeap()){ -var ae=new g(am); -%_TypedArrayInitialize(ad,7,ae,0,am,true); +var D=C*4; +if(D>%_TypedArrayMaxSizeInHeap()){ +var v=new d(D); +%_TypedArrayInitialize(u,7,v,0,D,true); }else{ -%_TypedArrayInitialize(ad,7,null,0,am,true); +%_TypedArrayInitialize(u,7,null,0,D,true); } } -function Float32ArrayConstructByArrayLike(ad,an){ -var ag=an.length; -var al=H(ag,180); -if(al>%_MaxSmi()){ -throw B(180); +function Float32ArrayConstructByArrayLike(u,E){ +var x=E.length; +var C=$toPositiveInteger(x,145); +if(C>%_MaxSmi()){ +throw MakeRangeError(145); } -var ao=false; -var am=al*4; -if(am<=%_TypedArrayMaxSizeInHeap()){ -%_TypedArrayInitialize(ad,7,null,0,am,false); +var F=false; +var D=C*4; +if(D<=%_TypedArrayMaxSizeInHeap()){ +%_TypedArrayInitialize(u,7,null,0,D,false); }else{ -ao= -%TypedArrayInitializeFromArrayLike(ad,7,an,al); +F= +%TypedArrayInitializeFromArrayLike(u,7,E,C); } -if(!ao){ -for(var ap=0;apah){ -throw B(181); +if(z>y){ +throw MakeRangeError(146); } } -var aj; -var ak; -if((ag===(void 0))){ -if(ah % 8!==0){ -throw B(179, +var A; +var B; +if((x===(void 0))){ +if(y % 8!==0){ +throw MakeRangeError(144, "byte length","Float64Array",8); } -aj=ah-ai; -ak=aj/8; +A=y-z; +B=A/8; }else{ -var ak=ag; -aj=ak*8; +var B=x; +A=B*8; } -if((ai+aj>ah) -||(ak>%_MaxSmi())){ -throw B(180); +if((z+A>y) +||(B>%_MaxSmi())){ +throw MakeRangeError(145); } -%_TypedArrayInitialize(ad,8,ae,ai,aj,true); +%_TypedArrayInitialize(u,8,v,z,A,true); } -function Float64ArrayConstructByLength(ad,ag){ -var al=(ag===(void 0))? -0:H(ag,180); -if(al>%_MaxSmi()){ -throw B(180); +function Float64ArrayConstructByLength(u,x){ +var C=(x===(void 0))? +0:$toPositiveInteger(x,145); +if(C>%_MaxSmi()){ +throw MakeRangeError(145); } -var am=al*8; -if(am>%_TypedArrayMaxSizeInHeap()){ -var ae=new g(am); -%_TypedArrayInitialize(ad,8,ae,0,am,true); +var D=C*8; +if(D>%_TypedArrayMaxSizeInHeap()){ +var v=new d(D); +%_TypedArrayInitialize(u,8,v,0,D,true); }else{ -%_TypedArrayInitialize(ad,8,null,0,am,true); +%_TypedArrayInitialize(u,8,null,0,D,true); } } -function Float64ArrayConstructByArrayLike(ad,an){ -var ag=an.length; -var al=H(ag,180); -if(al>%_MaxSmi()){ -throw B(180); +function Float64ArrayConstructByArrayLike(u,E){ +var x=E.length; +var C=$toPositiveInteger(x,145); +if(C>%_MaxSmi()){ +throw MakeRangeError(145); } -var ao=false; -var am=al*8; -if(am<=%_TypedArrayMaxSizeInHeap()){ -%_TypedArrayInitialize(ad,8,null,0,am,false); +var F=false; +var D=C*8; +if(D<=%_TypedArrayMaxSizeInHeap()){ +%_TypedArrayInitialize(u,8,null,0,D,false); }else{ -ao= -%TypedArrayInitializeFromArrayLike(ad,8,an,al); +F= +%TypedArrayInitializeFromArrayLike(u,8,E,C); } -if(!ao){ -for(var ap=0;apah){ -throw B(181); +if(z>y){ +throw MakeRangeError(146); } } -var aj; -var ak; -if((ag===(void 0))){ -if(ah % 1!==0){ -throw B(179, +var A; +var B; +if((x===(void 0))){ +if(y % 1!==0){ +throw MakeRangeError(144, "byte length","Uint8ClampedArray",1); } -aj=ah-ai; -ak=aj/1; +A=y-z; +B=A/1; }else{ -var ak=ag; -aj=ak*1; +var B=x; +A=B*1; } -if((ai+aj>ah) -||(ak>%_MaxSmi())){ -throw B(180); +if((z+A>y) +||(B>%_MaxSmi())){ +throw MakeRangeError(145); } -%_TypedArrayInitialize(ad,9,ae,ai,aj,true); +%_TypedArrayInitialize(u,9,v,z,A,true); } -function Uint8ClampedArrayConstructByLength(ad,ag){ -var al=(ag===(void 0))? -0:H(ag,180); -if(al>%_MaxSmi()){ -throw B(180); +function Uint8ClampedArrayConstructByLength(u,x){ +var C=(x===(void 0))? +0:$toPositiveInteger(x,145); +if(C>%_MaxSmi()){ +throw MakeRangeError(145); } -var am=al*1; -if(am>%_TypedArrayMaxSizeInHeap()){ -var ae=new g(am); -%_TypedArrayInitialize(ad,9,ae,0,am,true); +var D=C*1; +if(D>%_TypedArrayMaxSizeInHeap()){ +var v=new d(D); +%_TypedArrayInitialize(u,9,v,0,D,true); }else{ -%_TypedArrayInitialize(ad,9,null,0,am,true); +%_TypedArrayInitialize(u,9,null,0,D,true); } } -function Uint8ClampedArrayConstructByArrayLike(ad,an){ -var ag=an.length; -var al=H(ag,180); -if(al>%_MaxSmi()){ -throw B(180); +function Uint8ClampedArrayConstructByArrayLike(u,E){ +var x=E.length; +var C=$toPositiveInteger(x,145); +if(C>%_MaxSmi()){ +throw MakeRangeError(145); } -var ao=false; -var am=al*1; -if(am<=%_TypedArrayMaxSizeInHeap()){ -%_TypedArrayInitialize(ad,9,null,0,am,false); +var F=false; +var D=C*1; +if(D<=%_TypedArrayMaxSizeInHeap()){ +%_TypedArrayInitialize(u,9,null,0,D,false); }else{ -ao= -%TypedArrayInitializeFromArrayLike(ad,9,an,al); +F= +%TypedArrayInitializeFromArrayLike(u,9,E,C); } -if(!ao){ -for(var ap=0;ap0){ -for(var ap=0;ap0){ +for(var G=0;G=aK&&aI>=aJ; -aL--){ -aD[ai+aL]=aE[aL]; -aI-=aH; -aJ-=aG; +var ab= +W.byteOffset+(z+Y-1)*aa; +var ac= +X.byteOffset+Y*Z; +for(var ae=Y-1; +ae>=ad&&ab>=ac; +ae--){ +W[z+ae]=X[ae]; +ab-=aa; +ac-=Z; } -return aL; +return ae; } -var aL=CopyRightPart(); -var aM=new f(aL+1-aK); -for(var ap=aK;ap<=aL;ap++){ -aM[ap-aK]=aE[ap]; +var ae=CopyRightPart(); +var af=new c(ae+1-ad); +for(var G=ad;G<=ae;G++){ +af[G-ad]=X[G]; } -for(ap=aK;ap<=aL;ap++){ -aD[ai+ap]=aM[ap-aK]; +for(G=ad;G<=ae;G++){ +W[z+G]=af[G-ad]; } } -function TypedArraySet(ad,ai){ -var aN=(ai===(void 0))?0:(%_ToInteger(ai)); -if(aN<0)throw C(190); -if(aN>%_MaxSmi()){ -throw B(191); +function TypedArraySet(u,z){ +var ag=(z===(void 0))?0:(%_ToInteger(z)); +if(ag<0)throw MakeTypeError(154); +if(ag>%_MaxSmi()){ +throw MakeRangeError(155); } -switch(%TypedArraySetFastCases(this,ad,aN)){ +switch(%TypedArraySetFastCases(this,u,ag)){ case 0: return; case 1: -TypedArraySetFromOverlappingTypedArray(this,ad,aN); +TypedArraySetFromOverlappingTypedArray(this,u,ag); return; case 2: -TypedArraySetFromArrayLike(this,ad,ad.length,aN); +TypedArraySetFromArrayLike(this,u,u.length,ag); return; case 3: -var al=ad.length; -if((al===(void 0))){ -if((typeof(ad)==='number')){ -throw C(45); +var C=u.length; +if((C===(void 0))){ +if((typeof(u)==='number')){ +throw MakeTypeError(39); } return; } -al=(%_ToLength(al)); -if(aN+al>this.length){ -throw B(191); +C=(%ToLength(C)); +if(ag+C>this.length){ +throw MakeRangeError(155); } -TypedArraySetFromArrayLike(this,ad,al,aN); +TypedArraySetFromArrayLike(this,u,C,ag); 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); +var ah=%_ClassOf(this); +if((ah===(void 0)))return; +return ah; } -%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;apy)throw MakeRangeError(137); +var x=(D===(void 0)) +?y-z +:D; +if(x<0||z+x>y){ +throw new MakeRangeError(136); } -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); +%_DataViewInitialize(this,v,z,x); +}else{ +throw MakeTypeError(21,"DataView"); } -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); +throw MakeTypeError(36,'DataView.buffer',this); } return %DataViewGetBuffer(this); } function DataViewGetByteOffset(){ if(!(%_ClassOf(this)==='DataView')){ -throw C(42, +throw MakeTypeError(36, 'DataView.byteOffset',this); } return %_ArrayBufferViewGetByteOffset(this); } function DataViewGetByteLength(){ if(!(%_ClassOf(this)==='DataView')){ -throw C(42, +throw MakeTypeError(36, 'DataView.byteLength',this); } return %_ArrayBufferViewGetByteLength(this); } -function DataViewGetInt8JS(ai,br){ +function DataViewGetInt8JS(z,ai){ if(!(%_ClassOf(this)==='DataView')){ -throw C(42, +throw MakeTypeError(36, 'DataView.getInt8',this); } -if(%_ArgumentsLength()<1)throw C(45); -ai=H(ai,170); -return %DataViewGetInt8(this,ai,!!br); +if(%_ArgumentsLength()<1)throw MakeTypeError(39); +z=$toPositiveInteger(z,135); +return %DataViewGetInt8(this,z,!!ai); } -function DataViewSetInt8JS(ai,av,br){ +function DataViewSetInt8JS(z,M,ai){ if(!(%_ClassOf(this)==='DataView')){ -throw C(42, +throw MakeTypeError(36, 'DataView.setInt8',this); } -if(%_ArgumentsLength()<2)throw C(45); -ai=H(ai,170); -%DataViewSetInt8(this,ai,(%_ToNumber(av)),!!br); +if(%_ArgumentsLength()<2)throw MakeTypeError(39); +z=$toPositiveInteger(z,135); +%DataViewSetInt8(this,z,((typeof(%IS_VAR(M))==='number')?M:$nonNumberToNumber(M)),!!ai); } -function DataViewGetUint8JS(ai,br){ +function DataViewGetUint8JS(z,ai){ if(!(%_ClassOf(this)==='DataView')){ -throw C(42, +throw MakeTypeError(36, 'DataView.getUint8',this); } -if(%_ArgumentsLength()<1)throw C(45); -ai=H(ai,170); -return %DataViewGetUint8(this,ai,!!br); +if(%_ArgumentsLength()<1)throw MakeTypeError(39); +z=$toPositiveInteger(z,135); +return %DataViewGetUint8(this,z,!!ai); } -function DataViewSetUint8JS(ai,av,br){ +function DataViewSetUint8JS(z,M,ai){ if(!(%_ClassOf(this)==='DataView')){ -throw C(42, +throw MakeTypeError(36, 'DataView.setUint8',this); } -if(%_ArgumentsLength()<2)throw C(45); -ai=H(ai,170); -%DataViewSetUint8(this,ai,(%_ToNumber(av)),!!br); +if(%_ArgumentsLength()<2)throw MakeTypeError(39); +z=$toPositiveInteger(z,135); +%DataViewSetUint8(this,z,((typeof(%IS_VAR(M))==='number')?M:$nonNumberToNumber(M)),!!ai); } -function DataViewGetInt16JS(ai,br){ +function DataViewGetInt16JS(z,ai){ if(!(%_ClassOf(this)==='DataView')){ -throw C(42, +throw MakeTypeError(36, 'DataView.getInt16',this); } -if(%_ArgumentsLength()<1)throw C(45); -ai=H(ai,170); -return %DataViewGetInt16(this,ai,!!br); +if(%_ArgumentsLength()<1)throw MakeTypeError(39); +z=$toPositiveInteger(z,135); +return %DataViewGetInt16(this,z,!!ai); } -function DataViewSetInt16JS(ai,av,br){ +function DataViewSetInt16JS(z,M,ai){ if(!(%_ClassOf(this)==='DataView')){ -throw C(42, +throw MakeTypeError(36, 'DataView.setInt16',this); } -if(%_ArgumentsLength()<2)throw C(45); -ai=H(ai,170); -%DataViewSetInt16(this,ai,(%_ToNumber(av)),!!br); +if(%_ArgumentsLength()<2)throw MakeTypeError(39); +z=$toPositiveInteger(z,135); +%DataViewSetInt16(this,z,((typeof(%IS_VAR(M))==='number')?M:$nonNumberToNumber(M)),!!ai); } -function DataViewGetUint16JS(ai,br){ +function DataViewGetUint16JS(z,ai){ if(!(%_ClassOf(this)==='DataView')){ -throw C(42, +throw MakeTypeError(36, 'DataView.getUint16',this); } -if(%_ArgumentsLength()<1)throw C(45); -ai=H(ai,170); -return %DataViewGetUint16(this,ai,!!br); +if(%_ArgumentsLength()<1)throw MakeTypeError(39); +z=$toPositiveInteger(z,135); +return %DataViewGetUint16(this,z,!!ai); } -function DataViewSetUint16JS(ai,av,br){ +function DataViewSetUint16JS(z,M,ai){ if(!(%_ClassOf(this)==='DataView')){ -throw C(42, +throw MakeTypeError(36, 'DataView.setUint16',this); } -if(%_ArgumentsLength()<2)throw C(45); -ai=H(ai,170); -%DataViewSetUint16(this,ai,(%_ToNumber(av)),!!br); +if(%_ArgumentsLength()<2)throw MakeTypeError(39); +z=$toPositiveInteger(z,135); +%DataViewSetUint16(this,z,((typeof(%IS_VAR(M))==='number')?M:$nonNumberToNumber(M)),!!ai); } -function DataViewGetInt32JS(ai,br){ +function DataViewGetInt32JS(z,ai){ if(!(%_ClassOf(this)==='DataView')){ -throw C(42, +throw MakeTypeError(36, 'DataView.getInt32',this); } -if(%_ArgumentsLength()<1)throw C(45); -ai=H(ai,170); -return %DataViewGetInt32(this,ai,!!br); +if(%_ArgumentsLength()<1)throw MakeTypeError(39); +z=$toPositiveInteger(z,135); +return %DataViewGetInt32(this,z,!!ai); } -function DataViewSetInt32JS(ai,av,br){ +function DataViewSetInt32JS(z,M,ai){ if(!(%_ClassOf(this)==='DataView')){ -throw C(42, +throw MakeTypeError(36, 'DataView.setInt32',this); } -if(%_ArgumentsLength()<2)throw C(45); -ai=H(ai,170); -%DataViewSetInt32(this,ai,(%_ToNumber(av)),!!br); +if(%_ArgumentsLength()<2)throw MakeTypeError(39); +z=$toPositiveInteger(z,135); +%DataViewSetInt32(this,z,((typeof(%IS_VAR(M))==='number')?M:$nonNumberToNumber(M)),!!ai); } -function DataViewGetUint32JS(ai,br){ +function DataViewGetUint32JS(z,ai){ if(!(%_ClassOf(this)==='DataView')){ -throw C(42, +throw MakeTypeError(36, 'DataView.getUint32',this); } -if(%_ArgumentsLength()<1)throw C(45); -ai=H(ai,170); -return %DataViewGetUint32(this,ai,!!br); +if(%_ArgumentsLength()<1)throw MakeTypeError(39); +z=$toPositiveInteger(z,135); +return %DataViewGetUint32(this,z,!!ai); } -function DataViewSetUint32JS(ai,av,br){ +function DataViewSetUint32JS(z,M,ai){ if(!(%_ClassOf(this)==='DataView')){ -throw C(42, +throw MakeTypeError(36, 'DataView.setUint32',this); } -if(%_ArgumentsLength()<2)throw C(45); -ai=H(ai,170); -%DataViewSetUint32(this,ai,(%_ToNumber(av)),!!br); +if(%_ArgumentsLength()<2)throw MakeTypeError(39); +z=$toPositiveInteger(z,135); +%DataViewSetUint32(this,z,((typeof(%IS_VAR(M))==='number')?M:$nonNumberToNumber(M)),!!ai); } -function DataViewGetFloat32JS(ai,br){ +function DataViewGetFloat32JS(z,ai){ if(!(%_ClassOf(this)==='DataView')){ -throw C(42, +throw MakeTypeError(36, 'DataView.getFloat32',this); } -if(%_ArgumentsLength()<1)throw C(45); -ai=H(ai,170); -return %DataViewGetFloat32(this,ai,!!br); +if(%_ArgumentsLength()<1)throw MakeTypeError(39); +z=$toPositiveInteger(z,135); +return %DataViewGetFloat32(this,z,!!ai); } -function DataViewSetFloat32JS(ai,av,br){ +function DataViewSetFloat32JS(z,M,ai){ if(!(%_ClassOf(this)==='DataView')){ -throw C(42, +throw MakeTypeError(36, 'DataView.setFloat32',this); } -if(%_ArgumentsLength()<2)throw C(45); -ai=H(ai,170); -%DataViewSetFloat32(this,ai,(%_ToNumber(av)),!!br); +if(%_ArgumentsLength()<2)throw MakeTypeError(39); +z=$toPositiveInteger(z,135); +%DataViewSetFloat32(this,z,((typeof(%IS_VAR(M))==='number')?M:$nonNumberToNumber(M)),!!ai); } -function DataViewGetFloat64JS(ai,br){ +function DataViewGetFloat64JS(z,ai){ if(!(%_ClassOf(this)==='DataView')){ -throw C(42, +throw MakeTypeError(36, 'DataView.getFloat64',this); } -if(%_ArgumentsLength()<1)throw C(45); -ai=H(ai,170); -return %DataViewGetFloat64(this,ai,!!br); +if(%_ArgumentsLength()<1)throw MakeTypeError(39); +z=$toPositiveInteger(z,135); +return %DataViewGetFloat64(this,z,!!ai); } -function DataViewSetFloat64JS(ai,av,br){ +function DataViewSetFloat64JS(z,M,ai){ if(!(%_ClassOf(this)==='DataView')){ -throw C(42, +throw MakeTypeError(36, 'DataView.setFloat64',this); } -if(%_ArgumentsLength()<2)throw C(45); -ai=H(ai,170); -%DataViewSetFloat64(this,ai,(%_ToNumber(av)),!!br); +if(%_ArgumentsLength()<2)throw MakeTypeError(39); +z=$toPositiveInteger(z,135); +%DataViewSetFloat64(this,z,((typeof(%IS_VAR(M))==='number')?M:$nonNumberToNumber(M)),!!ai); } -%SetCode(h,DataViewConstructor); -%FunctionSetPrototype(h,new i); -%AddNamedProperty(h.prototype,"constructor",h, +%SetCode(e,DataViewConstructor); +%FunctionSetPrototype(e,new f); +%AddNamedProperty(e.prototype,"constructor",e, 2); -%AddNamedProperty(h.prototype,J,"DataView", +%AddNamedProperty(e.prototype,h,"DataView", 1|2); -b.InstallGetter(h.prototype,"buffer",DataViewGetBufferJS); -b.InstallGetter(h.prototype,"byteOffset", +b.InstallGetter(e.prototype,"buffer",DataViewGetBufferJS); +b.InstallGetter(e.prototype,"byteOffset", DataViewGetByteOffset); -b.InstallGetter(h.prototype,"byteLength", +b.InstallGetter(e.prototype,"byteLength", DataViewGetByteLength); -b.InstallFunctions(h.prototype,2,[ +b.InstallFunctions(e.prototype,2,[ "getInt8",DataViewGetInt8JS, "setInt8",DataViewSetInt8JS, "getUint8",DataViewGetUint8JS, @@ -11868,103 +12753,114 @@ b.InstallFunctions(h.prototype,2,[ ]); }) -Hiterator-prototype +Hiterator-prototype +var $iteratorPrototype; (function(a,b){ "use strict"; %CheckIsBootstrapping(); var c=a.Object; -var d=b.ImportNow("IteratorPrototype"); -var e=b.ImportNow("iterator_symbol"); +var d=b.ImportNow("iterator_symbol"); function IteratorPrototypeIterator(){ return this; } -b.SetFunctionName(IteratorPrototypeIterator,e); -%AddNamedProperty(d,e, +b.SetFunctionName(IteratorPrototypeIterator,d); +%AddNamedProperty($iteratorPrototype,d, IteratorPrototypeIterator,2); }) -$generator +$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; +var c=a.Function; +var d; +var e=b.ImportNow("to_string_tag_symbol"); +b.Import(function(f){ +d=f.NewFunctionString; }); -function GeneratorObjectNext(i){ +function GeneratorObjectNext(g){ if(!(%_ClassOf(this)==='Generator')){ -throw f(42, +throw MakeTypeError(36, '[Generator].prototype.next',this); } -var j=%GeneratorGetContinuation(this); -if(j>0){ -if(%_DebugIsActive()!=0)%DebugPrepareStepInIfStepping(this); +var h=%GeneratorGetContinuation(this); +if(h>0){ +if((%_DebugIsActive()!=0))%DebugPrepareStepInIfStepping(this); try{ -return %_GeneratorNext(this,i); +return %_GeneratorNext(this,g); }catch(e){ %GeneratorClose(this); throw e; } -}else if(j==0){ +}else if(h==0){ return{value:void 0,done:true}; }else{ -throw f(40); +throw MakeTypeError(34); } } -function GeneratorObjectThrow(k){ +function GeneratorObjectThrow(i){ if(!(%_ClassOf(this)==='Generator')){ -throw f(42, +throw MakeTypeError(36, '[Generator].prototype.throw',this); } -var j=%GeneratorGetContinuation(this); -if(j>0){ +var h=%GeneratorGetContinuation(this); +if(h>0){ try{ -return %_GeneratorThrow(this,k); +return %_GeneratorThrow(this,i); }catch(e){ %GeneratorClose(this); throw e; } -}else if(j==0){ -throw k; +}else if(h==0){ +throw i; }else{ -throw f(40); +throw MakeTypeError(34); } } +function GeneratorFunctionConstructor(j){ +var k=d(arguments,'function*'); +var l=%GlobalProxy(GeneratorFunctionConstructor); +var m=%_CallFunction(l,%CompileString(k,true)); +%FunctionMarkNameShouldPrintAsAnonymous(m); +return m; +} %NeverOptimizeFunction(GeneratorObjectNext); %NeverOptimizeFunction(GeneratorObjectThrow); -var l=c.prototype; -b.InstallFunctions(l, +var n=GeneratorFunctionPrototype.prototype; +b.InstallFunctions(n, 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); +%AddNamedProperty(n,"constructor", +GeneratorFunctionPrototype,2|1); +%AddNamedProperty(n, +e,"Generator",2|1); +%InternalSetPrototype(GeneratorFunctionPrototype,c.prototype); +%AddNamedProperty(GeneratorFunctionPrototype, +e,"GeneratorFunction",2|1); +%AddNamedProperty(GeneratorFunctionPrototype,"constructor", +GeneratorFunction,2|1); +%InternalSetPrototype(GeneratorFunction,c); +%SetCode(GeneratorFunction,GeneratorFunctionConstructor); }) -8object-observeѭ +8object-observe +var $observeEnqueueSpliceRecord; +var $observeBeginPerformSplice; +var $observeEndPerformSplice; +var $observeObjectMethods; +var $observeArrayMethods; (function(a,b){ "use strict"; %CheckIsBootstrapping(); -var c; -var d=a.Array; -var e=a.Object; -var f=b.InternalArray; +var c=a.Array; +var d=a.Object; +var e=b.InternalArray; +var f; var g; b.Import(function(h){ -c=h.GetHash; -g=h.MakeTypeError; +f=h.ObjectFreeze; +g=h.ObjectIsFrozen; }); var i; var j={}; @@ -12054,7 +12950,7 @@ ObserverGetAcceptTypes(x)); function ObjectInfoGetOrCreate(z){ var y=ObjectInfoGet(z); if((y===(void 0))){ -if(!(%_IsJSProxy(z))){ +if(!%_IsJSProxy(z)){ %SetIsObserved(z); } y={ @@ -12065,24 +12961,24 @@ performing:null, performingCount:0, }; %WeakCollectionSet(GetObservationStateJS().objectInfoMap, -z,y,c(z)); +z,y,$getHash(z)); } return y; } function ObjectInfoGet(z){ return %WeakCollectionGet(GetObservationStateJS().objectInfoMap,z, -c(z)); +$getHash(z)); } function ObjectInfoGetFromNotifier(A){ return %WeakCollectionGet(GetObservationStateJS().notifierObjectInfoMap, -A,c(A)); +A,$getHash(A)); } function ObjectInfoGetNotifier(y){ if((y.notifier===null)){ var A={__proto__:j}; y.notifier=A; %WeakCollectionSet(GetObservationStateJS().notifierObjectInfoMap, -A,y,c(A)); +A,y,$getHash(A)); } return y.notifier; } @@ -12150,18 +13046,18 @@ return y.performingCount>0?y.performing:null; function ConvertAcceptListToTypeMap(E){ if((E===(void 0))) return E; -if(!(%_IsJSReceiver(E)))throw g(80); +if(!(%_IsSpecObject(E)))throw MakeTypeError(72); var F=(%_ToInteger(E.length)); if(F<0)F=0; return TypeMapCreateFromList(E,F); } function CallbackInfoGet(v){ return %WeakCollectionGet(GetObservationStateJS().callbackInfoMap,v, -c(v)); +$getHash(v)); } function CallbackInfoSet(v,C){ %WeakCollectionSet(GetObservationStateJS().callbackInfoMap, -v,C,c(v)); +v,C,$getHash(v)); } function CallbackInfoGetOrCreate(v){ var C=CallbackInfoGet(v); @@ -12181,23 +13077,23 @@ function CallbackInfoNormalize(v){ var C=CallbackInfoGet(v); if((typeof(C)==='number')){ var D=C; -C=new f; +C=new e; C.priority=D; CallbackInfoSet(v,C); } return C; } function ObjectObserve(z,v,w){ -if(!(%_IsJSReceiver(z))) -throw g(82,"observe","observe"); +if(!(%_IsSpecObject(z))) +throw MakeTypeError(74,"observe","observe"); if(%IsJSGlobalProxy(z)) -throw g(78,"observe"); +throw MakeTypeError(70,"observe"); if(%IsAccessCheckNeeded(z)) -throw g(79,"observe"); +throw MakeTypeError(71,"observe"); if(!(typeof(v)==='function')) -throw g(81,"observe"); -if(%object_is_frozen(v)) -throw g(77); +throw MakeTypeError(73,"observe"); +if(g(v)) +throw MakeTypeError(69); var G=%GetObjectContextObjectObserve(z); return G(z,v,w); } @@ -12208,12 +13104,12 @@ ObjectInfoAddObserver(y,v,o); return z; } function ObjectUnobserve(z,v){ -if(!(%_IsJSReceiver(z))) -throw g(82,"unobserve","unobserve"); +if(!(%_IsSpecObject(z))) +throw MakeTypeError(74,"unobserve","unobserve"); if(%IsJSGlobalProxy(z)) -throw g(78,"unobserve"); +throw MakeTypeError(70,"unobserve"); if(!(typeof(v)==='function')) -throw g(81,"unobserve"); +throw MakeTypeError(73,"unobserve"); var y=ObjectInfoGet(z); if((y===(void 0))) return z; @@ -12270,7 +13166,7 @@ if(M==='object'||(K&&M==='type'))continue; %DefineDataPropertyUnchecked( L,M,H[M],1+4); } -%object_freeze(L); +f(L); ObjectInfoEnqueueInternalChangeRecord(y,L); } function ObjectInfoEnqueueInternalChangeRecord(y,H){ @@ -12308,8 +13204,8 @@ index:O, removed:P, addedCount:Q }; -%object_freeze(H); -%object_freeze(H.removed); +f(H); +f(H.removed); ObjectInfoEnqueueInternalChangeRecord(y,H); } function NotifyChange(m,z,J,R){ @@ -12329,29 +13225,29 @@ name:J, oldValue:R }; } -%object_freeze(H); +f(H); ObjectInfoEnqueueInternalChangeRecord(y,H); } function ObjectNotifierNotify(H){ -if(!(%_IsJSReceiver(this))) -throw g(16,"notify"); +if(!(%_IsSpecObject(this))) +throw MakeTypeError(14,"notify"); var y=ObjectInfoGetFromNotifier(this); if((y===(void 0))) -throw g(83); +throw MakeTypeError(75); if(!(typeof(H.type)==='string')) -throw g(86); +throw MakeTypeError(78); ObjectInfoEnqueueExternalChangeRecord(y,H); } function ObjectNotifierPerformChange(S,T){ -if(!(%_IsJSReceiver(this))) -throw g(16,"performChange"); +if(!(%_IsSpecObject(this))) +throw MakeTypeError(14,"performChange"); var y=ObjectInfoGetFromNotifier(this); if((y===(void 0))) -throw g(83); +throw MakeTypeError(75); if(!(typeof(S)==='string')) -throw g(85); +throw MakeTypeError(77); if(!(typeof(T)==='function')) -throw g(84); +throw MakeTypeError(76); var U=%GetObjectContextNotifierPerformChange(y); U(y,S,T); } @@ -12363,17 +13259,17 @@ H=T(); }finally{ ObjectInfoRemovePerformingType(y,S); } -if((%_IsJSReceiver(H))) +if((%_IsSpecObject(H))) ObjectInfoEnqueueExternalChangeRecord(y,H,S); } function ObjectGetNotifier(z){ -if(!(%_IsJSReceiver(z))) -throw g(82,"getNotifier","getNotifier"); +if(!(%_IsSpecObject(z))) +throw MakeTypeError(74,"getNotifier","getNotifier"); if(%IsJSGlobalProxy(z)) -throw g(78,"getNotifier"); +throw MakeTypeError(70,"getNotifier"); if(%IsAccessCheckNeeded(z)) -throw g(79,"getNotifier"); -if(%object_is_frozen(z))return null; +throw MakeTypeError(71,"getNotifier"); +if(g(z))return null; if(!%ObjectWasCreatedInCurrentOrigin(z))return null; var V=%GetObjectContextObjectGetNotifier(z); return V(z); @@ -12398,7 +13294,7 @@ return true; } function ObjectDeliverChangeRecords(v){ if(!(typeof(v)==='function')) -throw g(81,"deliverChangeRecords"); +throw MakeTypeError(73,"deliverChangeRecords"); while(CallbackDeliverPending(v)){} } function ObserveMicrotaskRunner(){ @@ -12414,21 +13310,24 @@ b.InstallFunctions(j,2,[ "notify",ObjectNotifierNotify, "performChange",ObjectNotifierPerformChange ]); -var X=[ +$observeObjectMethods=[ "deliverChangeRecords",ObjectDeliverChangeRecords, "getNotifier",ObjectGetNotifier, "observe",ObjectObserve, "unobserve",ObjectUnobserve ]; -var Y=[ +$observeArrayMethods=[ "observe",ArrayObserve, "unobserve",ArrayUnobserve ]; -var Z=function(aa,q){ -if(q % 2===1)%FunctionRemovePrototype(aa); -}; -X.forEach(Z); -Y.forEach(Z); +var X=function(Y,q){ +if(q % 2===1)%FunctionRemovePrototype(Y); +}; +$observeObjectMethods.forEach(X); +$observeArrayMethods.forEach(X); +$observeEnqueueSpliceRecord=EnqueueSpliceRecord; +$observeBeginPerformSplice=BeginPerformSplice; +$observeEndPerformSplice=EndPerformSplice; %InstallToContext([ "native_object_get_notifier",NativeObjectGetNotifier, "native_object_notifier_perform_change",NativeObjectNotifierPerformChange, @@ -12438,16 +13337,11 @@ Y.forEach(Z); "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} +(collection +var $getHash; +var $getExistingHash; (function(a,b){ "use strict"; %CheckIsBootstrapping(); @@ -12456,207 +13350,205 @@ var d=a.Object; var e=a.Set; var f=b.ImportNow("hash_code_symbol"); var g; -var h; -var i; +var h=b.ImportNow("to_string_tag_symbol"); +b.Import(function(i){ +g=i.IntRandom; +}); 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; +b.Import(function(i){ +j=i.NumberIsNaN; }); -function HashToEntry(n,o,p){ -var q=(o&((p)-1)); -return((%_FixedArrayGet(n,(3+(q))|0))); +function HashToEntry(k,l,m){ +var n=(l&((m)-1)); +return((%_FixedArrayGet(k,(3+(n))|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); +function SetFindEntry(k,m,o,l){ +var p=HashToEntry(k,l,m); +if(p===-1)return p; +var q=((%_FixedArrayGet(k,((3+(m)+((p)<<1)))|0))); +if(o===q)return p; +var r=j(o); while(true){ -if(u&&j(t)){ -return s; +if(r&&j(q)){ +return p; } -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; +p=((%_FixedArrayGet(k,((3+(m)+((p)<<1))+1)|0))); +if(p===-1)return p; +q=((%_FixedArrayGet(k,((3+(m)+((p)<<1)))|0))); +if(o===q)return p; } 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); +function MapFindEntry(k,m,o,l){ +var p=HashToEntry(k,l,m); +if(p===-1)return p; +var q=((%_FixedArrayGet(k,((3+(m)+((p)*3)))|0))); +if(o===q)return p; +var r=j(o); while(true){ -if(u&&j(t)){ -return s; +if(r&&j(q)){ +return p; } -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; +p=((%_FixedArrayGet(k,((3+(m)+((p)*3))+2)|0))); +if(p===-1)return p; +q=((%_FixedArrayGet(k,((3+(m)+((p)*3)))|0))); +if(o===q)return p; } 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; +function ComputeIntegerHash(o,s){ +var l=o; +l=l^s; +l=~l+(l<<15); +l=l^(l>>>12); +l=l+(l<<2); +l=l^(l>>>4); +l=(l*2057)|0; +l=l^(l>>>16); +return l&0x3fffffff; } %SetForceInlineFlag(ComputeIntegerHash); -function GetExistingHash(r){ -if(%_IsSmi(r)){ -return ComputeIntegerHash(r,0); +function GetExistingHash(o){ +if(%_IsSmi(o)){ +return ComputeIntegerHash(o,0); } -if((typeof(r)==='string')){ -var w=%_StringGetRawHashField(r); -if((w&1)===0){ -return w>>>2; +if((typeof(o)==='string')){ +var t=%_StringGetRawHashField(o); +if((t&1)===0){ +return t>>>2; } -}else if((%_IsJSReceiver(r))&&!(%_IsJSProxy(r))&&!(%_ClassOf(r)==='global')){ -var o=(r[f]); -return o; +}else if((%_IsSpecObject(o))&&!%_IsJSProxy(o)&&!(%_ClassOf(o)==='global')){ +var l=(o[f]); +return l; } -return %GenericHash(r); +return %GenericHash(o); } %SetForceInlineFlag(GetExistingHash); -function GetHash(r){ -var o=GetExistingHash(r); -if((o===(void 0))){ -o=g()|0; -if(o===0)o=1; -(r[f]=o); +function GetHash(o){ +var l=GetExistingHash(o); +if((l===(void 0))){ +l=g()|0; +if(l===0)l=1; +(o[f]=l); } -return o; +return l; } %SetForceInlineFlag(GetHash); -function SetConstructor(x){ -if((new.target===(void 0))){ -throw h(26,"Set"); +function SetConstructor(u){ +if(!%_IsConstructCall()){ +throw MakeTypeError(21,"Set"); } %_SetInitialize(this); -if(!(x==null)){ -var y=this.add; -if(!(typeof(y)==='function')){ -throw h(91,y,'add',this); +if(!(u==null)){ +var v=this.add; +if(!(typeof(v)==='function')){ +throw MakeTypeError(82,'add',this); } -for(var z of x){ -%_Call(y,this,z); +for(var w of u){ +%_Call(v,this,w); } } } -function SetAdd(r){ +function SetAdd(o){ 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){ +throw MakeTypeError(36,'Set.prototype.add',this); +} +if(o===0){ +o=0; +} +var k=%_JSCollectionGetTable(this); +var m=((%_FixedArrayGet(k,(0)|0))); +var l=GetHash(o); +if(SetFindEntry(k,m,o,l)!==-1)return this; +var x=((%_FixedArrayGet(k,(1)|0))); +var y=((%_FixedArrayGet(k,(2)|0))); +var z=m<<1; +if((x+y)>=z){ %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))); +k=%_JSCollectionGetTable(this); +m=((%_FixedArrayGet(k,(0)|0))); +x=((%_FixedArrayGet(k,(1)|0))); +y=((%_FixedArrayGet(k,(2)|0))); +} +var p=x+y; +var A=(3+(m)+((p)<<1)); +var n=(l&((m)-1)); +var B=((%_FixedArrayGet(k,(3+(n))|0))); +((%_FixedArraySet(k,(3+(n))|0,p))); +(((%_FixedArraySet(k,(1)|0,(x+1)|0)))); +(%_FixedArraySet(k,(A)|0,o)); +((%_FixedArraySet(k,(A+1)|0,(B)|0))); return this; } -function SetHas(r){ +function SetHas(o){ if(!(%_ClassOf(this)==='Set')){ -throw h(42,'Set.prototype.has',this); +throw MakeTypeError(36,'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; +var k=%_JSCollectionGetTable(this); +var m=((%_FixedArrayGet(k,(0)|0))); +var l=GetExistingHash(o); +if((l===(void 0)))return false; +return SetFindEntry(k,m,o,l)!==-1; } -function SetDelete(r){ +function SetDelete(o){ if(!(%_ClassOf(this)==='Set')){ -throw h(42, +throw MakeTypeError(36, '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); +var k=%_JSCollectionGetTable(this); +var m=((%_FixedArrayGet(k,(0)|0))); +var l=GetExistingHash(o); +if((l===(void 0)))return false; +var p=SetFindEntry(k,m,o,l); +if(p===-1)return false; +var x=((%_FixedArrayGet(k,(1)|0)))-1; +var y=((%_FixedArrayGet(k,(2)|0)))+1; +var A=(3+(m)+((p)<<1)); +(%_FixedArraySet(k,(A)|0,%_TheHole())); +(((%_FixedArraySet(k,(1)|0,(x)|0)))); +(((%_FixedArraySet(k,(2)|0,(y)|0)))); +if(x<(m>>>1))%SetShrink(this); return true; } function SetGetSize(){ if(!(%_ClassOf(this)==='Set')){ -throw h(42, +throw MakeTypeError(36, 'Set.prototype.size',this); } -var n=%_JSCollectionGetTable(this); -return((%_FixedArrayGet(n,(1)|0))); +var k=%_JSCollectionGetTable(this); +return((%_FixedArrayGet(k,(1)|0))); } function SetClearJS(){ if(!(%_ClassOf(this)==='Set')){ -throw h(42, +throw MakeTypeError(36, 'Set.prototype.clear',this); } %_SetClear(this); } -function SetForEach(F,G){ +function SetForEach(C,D){ if(!(%_ClassOf(this)==='Set')){ -throw h(42, +throw MakeTypeError(36, '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); +if(!(typeof(C)==='function'))throw MakeTypeError(13,C); +var E=new SetIterator(this,2); +var o; +var F=(%_DebugIsActive()!=0)&&%DebugCallbackSupportsStepping(C); +var G=[(void 0)]; +while(%SetIteratorNext(E,G)){ +if(F)%DebugPrepareStepInIfStepping(C); +o=G[0]; +%_Call(C,D,o,o,this); } } %SetCode(e,SetConstructor); %FunctionSetLength(e,0); %FunctionSetPrototype(e,new d()); %AddNamedProperty(e.prototype,"constructor",e,2); -%AddNamedProperty(e.prototype,l,"Set", +%AddNamedProperty(e.prototype,h,"Set", 2|1); %FunctionSetLength(SetForEach,1); b.InstallGetter(e.prototype,"size",SetGetSize); @@ -12667,130 +13559,132 @@ b.InstallFunctions(e.prototype,2,[ "clear",SetClearJS, "forEach",SetForEach ]); -function MapConstructor(x){ -if((new.target===(void 0))){ -throw h(26,"Map"); +function MapConstructor(u){ +if(!%_IsConstructCall()){ +throw MakeTypeError(21,"Map"); } %_MapInitialize(this); -if(!(x==null)){ -var y=this.set; -if(!(typeof(y)==='function')){ -throw h(91,y,'set',this); +if(!(u==null)){ +var v=this.set; +if(!(typeof(v)==='function')){ +throw MakeTypeError(82,'set',this); } -for(var J of x){ -if(!(%_IsJSReceiver(J))){ -throw h(49,J); +for(var H of u){ +if(!(%_IsSpecObject(H))){ +throw MakeTypeError(42,H); } -%_Call(y,this,J[0],J[1]); +%_Call(v,this,H[0],H[1]); } } } -function MapGet(r){ +function MapGet(o){ if(!(%_ClassOf(this)==='Map')){ -throw h(42, +throw MakeTypeError(36, '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))); +var k=%_JSCollectionGetTable(this); +var m=((%_FixedArrayGet(k,(0)|0))); +var l=GetExistingHash(o); +if((l===(void 0)))return(void 0); +var p=MapFindEntry(k,m,o,l); +if(p===-1)return(void 0); +return((%_FixedArrayGet(k,((3+(m)+((p)*3))+1)|0))); } -function MapSet(r,z){ +function MapSet(o,w){ if(!(%_ClassOf(this)==='Map')){ -throw h(42, +throw MakeTypeError(36, 'Map.prototype.set',this); } -if(r===0){ -r=0; +if(o===0){ +o=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)); +var k=%_JSCollectionGetTable(this); +var m=((%_FixedArrayGet(k,(0)|0))); +var l=GetHash(o); +var p=MapFindEntry(k,m,o,l); +if(p!==-1){ +var I=(3+(m)+((p)*3)); +(%_FixedArraySet(k,(I+1)|0,w)); return this; } -var A=((%_FixedArrayGet(n,(1)|0))); -var B=((%_FixedArrayGet(n,(2)|0))); -var C=p<<1; -if((A+B)>=C){ +var x=((%_FixedArrayGet(k,(1)|0))); +var y=((%_FixedArrayGet(k,(2)|0))); +var z=m<<1; +if((x+y)>=z){ %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)); +k=%_JSCollectionGetTable(this); +m=((%_FixedArrayGet(k,(0)|0))); +x=((%_FixedArrayGet(k,(1)|0))); +y=((%_FixedArrayGet(k,(2)|0))); +} +p=x+y; +var A=(3+(m)+((p)*3)); +var n=(l&((m)-1)); +var B=((%_FixedArrayGet(k,(3+(n))|0))); +((%_FixedArraySet(k,(3+(n))|0,p))); +(((%_FixedArraySet(k,(1)|0,(x+1)|0)))); +(%_FixedArraySet(k,(A)|0,o)); +(%_FixedArraySet(k,(A+1)|0,w)); +(%_FixedArraySet(k,(A+2)|0,B)); return this; } -function MapHas(r){ +function MapHas(o){ if(!(%_ClassOf(this)==='Map')){ -throw h(42, +throw MakeTypeError(36, '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; +var k=%_JSCollectionGetTable(this); +var m=((%_FixedArrayGet(k,(0)|0))); +var l=GetHash(o); +return MapFindEntry(k,m,o,l)!==-1; } -function MapDelete(r){ +function MapDelete(o){ if(!(%_ClassOf(this)==='Map')){ -throw h(42, +throw MakeTypeError(36, '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); +var k=%_JSCollectionGetTable(this); +var m=((%_FixedArrayGet(k,(0)|0))); +var l=GetHash(o); +var p=MapFindEntry(k,m,o,l); +if(p===-1)return false; +var x=((%_FixedArrayGet(k,(1)|0)))-1; +var y=((%_FixedArrayGet(k,(2)|0)))+1; +var A=(3+(m)+((p)*3)); +(%_FixedArraySet(k,(A)|0,%_TheHole())); +(%_FixedArraySet(k,(A+1)|0,%_TheHole())); +(((%_FixedArraySet(k,(1)|0,(x)|0)))); +(((%_FixedArraySet(k,(2)|0,(y)|0)))); +if(x<(m>>>1))%MapShrink(this); return true; } function MapGetSize(){ if(!(%_ClassOf(this)==='Map')){ -throw h(42, +throw MakeTypeError(36, 'Map.prototype.size',this); } -var n=%_JSCollectionGetTable(this); -return((%_FixedArrayGet(n,(1)|0))); +var k=%_JSCollectionGetTable(this); +return((%_FixedArrayGet(k,(1)|0))); } function MapClearJS(){ if(!(%_ClassOf(this)==='Map')){ -throw h(42, +throw MakeTypeError(36, 'Map.prototype.clear',this); } %_MapClear(this); } -function MapForEach(F,G){ +function MapForEach(C,D){ if(!(%_ClassOf(this)==='Map')){ -throw h(42, +throw MakeTypeError(36, '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); +if(!(typeof(C)==='function'))throw MakeTypeError(13,C); +var E=new MapIterator(this,3); +var F=(%_DebugIsActive()!=0)&&%DebugCallbackSupportsStepping(C); +var G=[(void 0),(void 0)]; +while(%MapIteratorNext(E,G)){ +if(F)%DebugPrepareStepInIfStepping(C); +%_Call(C,D,G[1],G[0],this); } } %SetCode(c,MapConstructor); @@ -12798,7 +13692,7 @@ while(%MapIteratorNext(H,I)){ %FunctionSetPrototype(c,new d()); %AddNamedProperty(c.prototype,"constructor",c,2); %AddNamedProperty( -c.prototype,l,"Map",2|1); +c.prototype,h,"Map",2|1); %FunctionSetLength(MapForEach,1); b.InstallGetter(c.prototype,"size",MapGetSize); b.InstallFunctions(c.prototype,2,[ @@ -12809,6 +13703,26 @@ b.InstallFunctions(c.prototype,2,[ "clear",MapClearJS, "forEach",MapForEach ]); +$getHash=GetHash; +$getExistingHash=GetExistingHash; +function MapFromArray(J){ +var K=new c; +var L=J.length; +for(var M=0;M{ -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); +var h=b.ImportNow("promise_raw_symbol"); +var i=b.ImportNow("promise_status_symbol"); +var j=b.ImportNow("promise_value_symbol"); +var k=b.ImportNow("to_string_tag_symbol"); +var l=0; +var m=function Promise(n){ +if(n===h)return; +if(!%_IsConstructCall())throw MakeTypeError(54,this); +if(!(typeof(n)==='function')) +throw MakeTypeError(101,n); +var o=PromiseInit(this); try{ -%DebugPushPromise(q,Promise); -v(w.resolve,w.reject); +%DebugPushPromise(o,Promise); +n(function(p){PromiseResolve(o,p)}, +function(q){PromiseReject(o,q)}); }catch(e){ -%_Call(w.reject,(void 0),e); +PromiseReject(o,e); }finally{ %DebugPopPromise(); } -return q; } -function PromiseSet(q,x,y,z,A){ -(q[k]=x); -(q[l]=y); -(q[i]=z); -(q[h]=A); +function PromiseSet(o,r,s,t,u){ +(o[i]=r); +(o[j]=s); +(o[g]=t); +(o[f]=u); if((%_DebugIsActive()!=0)){ -%DebugPromiseEvent({promise:q,status:x,value:y}); +%DebugPromiseEvent({promise:o,status:r,value:s}); } -return q; +return o; } -function PromiseCreateAndSet(x,y){ -var q=new u(j); -if((%_DebugIsActive()!=0))PromiseSet(q,0,(void 0)); -return PromiseSet(q,x,y); +function PromiseCreateAndSet(r,s){ +var o=new m(h); +if((%_DebugIsActive()!=0))PromiseSet(o,0,(void 0)); +return PromiseSet(o,r,s); } -function PromiseInit(q){ +function PromiseInit(o){ return PromiseSet( -q,0,(void 0),new d,new d) +o,0,(void 0),new d,new d) +} +function PromiseDone(o,r,s,v){ +if((o[i])===0){ +var w=(o[v]); +if(w.length)PromiseEnqueue(s,w,r); +PromiseSet(o,r,s); +} } -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 PromiseCoerce(x,p){ +if(!IsPromise(p)&&(%_IsSpecObject(p))){ +var y; +try{ +y=p.then; +}catch(q){ +return %_CallFunction(x,q,PromiseRejected); +} +if((typeof(y)==='function')){ +var z=%_CallFunction(x,PromiseDeferred); +try{ +%_Call(y,p,z.resolve,z.reject); +}catch(q){ +z.reject(q); } +return z.promise; } -function PromiseHandle(y,D,E){ +} +return p; +} +function PromiseHandle(s,A,z){ try{ -%DebugPushPromise(E.promise,PromiseHandle); -var F=D(y); -E.resolve(F); +%DebugPushPromise(z.promise,PromiseHandle); +if((%_DebugIsActive()!=0&&%DebugCallbackSupportsStepping(A)))%DebugPrepareStepInIfStepping(A); +var B=A(s); +if(B===z.promise) +throw MakeTypeError(80,B); +else if(IsPromise(B)) +%_CallFunction(B,z.resolve,z.reject,PromiseChain); +else +z.resolve(B); }catch(exception){ -try{E.reject(exception);}catch(e){} +try{z.reject(exception);}catch(e){} }finally{ %DebugPopPromise(); } } -function PromiseEnqueue(y,C,x){ -var G,H,I=(%_DebugIsActive()!=0); +function PromiseEnqueue(s,w,r){ +var C,D,E=(%_DebugIsActive()!=0); %EnqueueMicrotask(function(){ -if(I){ -%DebugAsyncTaskEvent({type:"willHandle",id:G,name:H}); +if(E){ +%DebugAsyncTaskEvent({type:"willHandle",id:C,name:D}); } -for(var J=0;J0?"Promise.resolve":"Promise.reject"; -%DebugAsyncTaskEvent({type:"enqueue",id:G,name:H}); +if(E){ +C=++l; +D=r>0?"Promise.resolve":"Promise.reject"; +%DebugAsyncTaskEvent({type:"enqueue",id:C,name:D}); } } -function PromiseIdResolveHandler(K){return K} -function PromiseIdRejectHandler(L){throw L} +function PromiseIdResolveHandler(p){return p} +function PromiseIdRejectHandler(q){throw q} function PromiseNopResolver(){} -function IsPromise(K){ -return(%_IsJSReceiver(K))&&(!(K[k]===(void 0))); +function IsPromise(p){ +return(%_IsSpecObject(p))&&(!(p[i]===(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; +return new m(PromiseNopResolver) } +function PromiseResolve(o,p){ +PromiseDone(o,+1,p,g) } -PromiseDone(q,+1,K,i); +function PromiseReject(o,q){ +if((o[i])==0){ +var G=(%_DebugIsActive()!=0); +if(G|| +!(!(o[e]===(void 0)))){ +%PromiseRejectEvent(o,q,G); } -function PromiseReject(q,L){ -if((q[k])==0){ -var N=(%_DebugIsActive()!=0); -if(N|| -!(!(q[g]===(void 0)))){ -%PromiseRejectEvent(q,L,N); } +PromiseDone(o,-1,q,f) } -PromiseDone(q,-1,L,h) -} -function NewPromiseCapability(O){ -if(O===u){ -var q=PromiseInit(new u(j)); -var w=CreateResolvingFunctions(q); +function PromiseDeferred(){ +if(this===m){ +var o=PromiseInit(new m(h)); return{ -promise:q, -resolve:w.resolve, -reject:w.reject +promise:o, +resolve:function(p){PromiseResolve(o,p)}, +reject:function(q){PromiseReject(o,q)} }; -} -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; +}else{ +var B={promise:(void 0),reject:(void 0),resolve:(void 0)}; +B.promise=new this(function(H,I){ +B.resolve=H; +B.reject=I; }); -return F; +return B; } -function PromiseDeferred(){ -%IncrementUseCounter(19); -return NewPromiseCapability(this); } -function PromiseResolved(K){ -%IncrementUseCounter(18); -return %_Call(PromiseCast,this,K); +function PromiseResolved(p){ +if(this===m){ +return PromiseCreateAndSet(+1,p); +}else{ +return new this(function(H,I){H(p)}); } -function PromiseRejected(L){ -if(!(%_IsJSReceiver(this))){ -throw e(16,PromiseRejected); } -if(this===u){ -var q=PromiseCreateAndSet(-1,L); -%PromiseRejectEvent(q,L,false); -return q; +function PromiseRejected(q){ +var o; +if(this===m){ +o=PromiseCreateAndSet(-1,q); +%PromiseRejectEvent(o,q,false); }else{ -var P=NewPromiseCapability(this); -%_Call(P.reject,(void 0),L); -return P.promise; +o=new this(function(H,I){I(q)}); } +return o; } -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){ +function PromiseChain(t,u){ +t=(t===(void 0))?PromiseIdResolveHandler:t; +u=(u===(void 0))?PromiseIdRejectHandler:u; +var z=%_CallFunction(this.constructor,PromiseDeferred); +switch((this[i])){ +case(void 0): +throw MakeTypeError(54,this); case 0: -(this[i]).push(z,E); -(this[h]).push(A,E); +(this[g]).push(t,z); +(this[f]).push(u,z); break; case+1: -PromiseEnqueue((this[l]), -[z,E], +PromiseEnqueue((this[j]), +[t,z], +1); break; case-1: -if(!(!(this[g]===(void 0)))){ +if(!(!(this[e]===(void 0)))){ %PromiseRevokeReject(this); } -PromiseEnqueue((this[l]), -[A,E], +PromiseEnqueue((this[j]), +[u,z], -1); break; } -(this[g]=true); +(this[e]=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); +%DebugPromiseEvent({promise:z.promise,parentPromise:this}); +} +return z.promise; +} +function PromiseCatch(u){ +return this.then((void 0),u); +} +function PromiseThen(t,u){ +t=(typeof(t)==='function')?t:PromiseIdResolveHandler; +u=(typeof(u)==='function')?u:PromiseIdRejectHandler; +var J=this; +var x=this.constructor; +return %_CallFunction( +this, +function(p){ +p=PromiseCoerce(x,p); +if(p===J){ +if((%_DebugIsActive()!=0&&%DebugCallbackSupportsStepping(u)))%DebugPrepareStepInIfStepping(u); +return u(MakeTypeError(80,p)); +}else if(IsPromise(p)){ +return p.then(t,u); +}else{ +if((%_DebugIsActive()!=0&&%DebugCallbackSupportsStepping(t)))%DebugPrepareStepInIfStepping(t); +return t(p); } -}; +}, +u, +PromiseChain +); +} +function PromiseCast(p){ +return IsPromise(p)?p:new this(function(H){H(p)}); } +function PromiseAll(K){ +var z=%_CallFunction(this,PromiseDeferred); +var L=[]; 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); +var M=0; +var F=0; +for(var s of K){ +this.resolve(s).then( +(function(F){ +return function(p){ +L[F]=p; +if(--M===0)z.resolve(L); } -}catch(e){ -%_Call(E.reject,(void 0),e); +})(F), +function(q){z.reject(q);}); +++F; +++M; +} +if(M===0){ +z.resolve(L); } -return E.promise; +}catch(e){ +z.reject(e) } -function PromiseRace(S){ -if(!(%_IsJSReceiver(this))){ -throw e(16,PromiseRace); +return z.promise; } -var E=NewPromiseCapability(this); +function PromiseRace(K){ +var z=%_CallFunction(this,PromiseDeferred); try{ -for(var y of S){ -this.resolve(y).then(E.resolve,E.reject); -(E.reject[f]=E); +for(var s of K){ +this.resolve(s).then( +function(p){z.resolve(p)}, +function(q){z.reject(q)}); } }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%FunctionRemovePrototype(fn)); -b.Export(function(ab){ -ab.PromiseChain=PromiseChain; -ab.PromiseDeferred=PromiseDeferred; -ab.PromiseResolved=PromiseResolved; -}); }) - messages + messages +var $errorToString; +var MakeError; +var MakeEvalError; +var MakeRangeError; +var MakeReferenceError; +var MakeSyntaxError; +var MakeTypeError; +var MakeURIError; (function(a,b){ %CheckIsBootstrapping(); var c; @@ -13489,9 +14337,9 @@ b.ImportNow("call_site_position_symbol"); var j= b.ImportNow("call_site_strict_symbol"); var k; -var l; -var m= +var l= b.ImportNow("formatted_stack_trace_symbol"); +var m var n=a.Object; var o; var p; @@ -13499,269 +14347,276 @@ 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 u; +var v=b.ImportNow("stack_trace_symbol"); +var w; var x; var y; var z; var A; -var B=b.ImportNow("to_string_tag_symbol"); +var B; 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; +b.Import(function(D){ +c=D.ArrayJoin; +d=D.Bool16x8ToString; +e=D.Bool32x4ToString; +f=D.Bool8x16ToString; +k=D.Float32x4ToString; +m=D.FunctionSourceString; +o=D.Int16x8ToString; +p=D.Int32x4ToString; +q=D.Int8x16ToString; +t=D.ObjectDefineProperty; +u=D.ObjectToString; +w=D.StringCharAt; +x=D.StringIndexOf; +y=D.StringSubstring; +z=D.SymbolToString; +A=D.Uint16x8ToString; +B=D.Uint32x4ToString; +C=D.Uint8x16ToString; }); +var E; +var F; 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)+"......"+ -%_SubString(T,T.length-2,T.length); +return"[object "+%_ClassOf((%_ToObject(this)))+"]"; +} +function NoSideEffectToString(L){ +if((typeof(L)==='string'))return L; +if((typeof(L)==='number'))return %_NumberToString(L); +if((typeof(L)==='boolean'))return L?'true':'false'; +if((L===(void 0)))return'undefined'; +if((L===null))return'null'; +if((%_IsFunction(L))){ +var M=%_CallFunction(L,L,m); +if(M.length>128){ +M=%_SubString(M,0,111)+"......"+ +%_SubString(M,M.length-2,M.length); } -return T; +return M; +} +if((typeof(L)==='symbol'))return %_CallFunction(L,z); +if((%_IsSimdValue(L))){ +switch(typeof(L)){ +case'float32x4':return %_CallFunction(L,k); +case'int32x4':return %_CallFunction(L,p); +case'int16x8':return %_CallFunction(L,o); +case'int8x16':return %_CallFunction(L,q); +case'uint32x4':return %_CallFunction(L,B); +case'uint16x8':return %_CallFunction(L,A); +case'uint8x16':return %_CallFunction(L,C); +case'bool32x4':return %_CallFunction(L,e); +case'bool16x8':return %_CallFunction(L,d); +case'bool8x16':return %_CallFunction(L,f); +} +} +if((typeof(L)==='object') +&&%GetDataProperty(L,"toString")===u){ +var N=%GetDataProperty(L,"constructor"); +if(typeof N=="function"){ +var O=N.name; +if((typeof(O)==='string')&&O!==""){ +return"#<"+O+">"; +} +} +} +if(CanBeSafelyTreatedAsAnErrorObject(L)){ +return %_CallFunction(L,ErrorToString); +} +return %_CallFunction(L,NoSideEffectsObjectToString); +} +function CanBeSafelyTreatedAsAnErrorObject(L){ +switch(%_ClassOf(L)){ +case'Error': +case'EvalError': +case'RangeError': +case'ReferenceError': +case'SyntaxError': +case'TypeError': +case'URIError': +return true; } -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); +var P=%GetDataProperty(L,"toString"); +return L instanceof E&&P===ErrorToString; } +function ToStringCheckErrorObject(L){ +if(CanBeSafelyTreatedAsAnErrorObject(L)){ +return %_CallFunction(L,ErrorToString); +}else{ +return(%_ToString(L)); } -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}>`; +function ToDetailString(L){ +if(L!=null&&(typeof(L)==='object')&&L.toString===u){ +var N=L.constructor; +if(typeof N=="function"){ +var O=N.name; +if((typeof(O)==='string')&&O!==""){ +return"#<"+O+">"; } } } -return %_Call(NoSideEffectsObjectToString,Q); +return ToStringCheckErrorObject(L); } -function MakeGenericError(U,W,X,Y,Z){ -var aa=new U(FormatMessage(W,X,Y,Z)); -aa[s]=true; -return aa; +function MakeGenericError(N,Q,R,S,T){ +var U=new N(FormatMessage(Q,R,S,T)); +U[s]=true; +return U; } -%FunctionSetInstanceClassName(v,'Script'); -%AddNamedProperty(v.prototype,'constructor',v, +%FunctionSetInstanceClassName(Script,'Script'); +%AddNamedProperty(Script.prototype,'constructor',Script, 2|4|1); -%SetCode(v,function(ab){ +%SetCode(Script,function(V){ throw MakeError(6); }); -function FormatMessage(W,X,Y,Z){ -var X=NoSideEffectsToString(X); -var Y=NoSideEffectsToString(Y); -var Z=NoSideEffectsToString(Z); +function FormatMessage(Q,R,S,T){ +var R=NoSideEffectToString(R); +var S=NoSideEffectToString(S); +var T=NoSideEffectToString(T); try{ -return %FormatMessageString(W,X,Y,Z); +return %FormatMessageString(Q,R,S,T); }catch(e){ return""; } } -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]){ +function GetLineNumber(W){ +var X=%MessageGetStartPosition(W); +if(X==-1)return 0; +var Y=%MessageGetScript(W); +var Z=Y.locationFromPosition(X,true); +if(Z==null)return 0; +return Z.line+1; +} +function GetColumnNumber(W){ +var Y=%MessageGetScript(W); +var X=%MessageGetStartPosition(W); +var Z=Y.locationFromPosition(X,true); +if(Z==null)return-1; +return Z.column; +} +function GetSourceLine(W){ +var Y=%MessageGetScript(W); +var X=%MessageGetStartPosition(W); +var Z=Y.locationFromPosition(X,true); +if(Z==null)return""; +return Z.sourceText(); +} +function ScriptLineFromPosition(aa){ +var ab=0; +var ac=this.lineCount()-1; +var ad=this.line_ends; +if(aa>ad[ac]){ return-1; } -if(af<=ai[0]){ +if(aa<=ad[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; +while(ac>=1){ +var ae=(ab+ac)>>1; +if(aa>ad[ae]){ +ab=ae+1; +}else if(aa<=ad[ae-1]){ +ac=ae-1; }else{ -return aj; +return ae; } } return-1; } -function ScriptLocationFromPosition(af, +function ScriptLocationFromPosition(aa, 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; +var af=this.lineFromPosition(aa); +if(af==-1)return null; +var ad=this.line_ends; +var ag=af==0?0:ad[af-1]+1; +var ah=ad[af]; +if(ah>0&&%_CallFunction(this.source,ah-1,w)=='\r'){ +ah--; +} +var ai=aa-ag; if(include_resource_offset){ -ak+=this.line_offset; -if(ak==this.line_offset){ -an+=this.column_offset; +af+=this.line_offset; +if(af==this.line_offset){ +ai+=this.column_offset; } } -return new SourceLocation(this,af,ak,an,al,am); +return new SourceLocation(this,aa,af,ai,ag,ah); } -function ScriptLocationFromLine(ao,ap,aq){ -var ak=0; -if(!(ao===(void 0))){ -ak=ao-this.line_offset; +function ScriptLocationFromLine(aj,ak,al){ +var af=0; +if(!(aj===(void 0))){ +af=aj-this.line_offset; } -var an=ap||0; -if(ak==0){ -an-=this.column_offset; +var ai=ak||0; +if(af==0){ +ai-=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); +var am=al||0; +if(af<0||ai<0||am<0)return null; +if(af==0){ +return this.locationFromPosition(am+ai,false); }else{ -var as=this.lineFromPosition(ar); -if(as==-1||as+ak>=this.lineCount()){ +var an=this.lineFromPosition(am); +if(an==-1||an+af>=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){ +this.line_ends[an+af-1]+1+ai); +} +} +function ScriptSourceSlice(ao,ap){ +var aq=(ao===(void 0))?this.line_offset +:ao; +var ar=(ap===(void 0))?this.line_offset+this.lineCount() +:ap; +aq-=this.line_offset; +ar-=this.line_offset; +if(aq<0)aq=0; +if(ar>this.lineCount())ar=this.lineCount(); +if(aq>=this.lineCount()|| +ar<0|| +aq>ar){ 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; +var ad=this.line_ends; +var as=aq==0?0:ad[aq-1]+1; +var at=ar==0?0:ad[ar-1]+1; return new SourceSlice(this, -av+this.line_offset, -aw+this.line_offset, -ax,ay); +aq+this.line_offset, +ar+this.line_offset, +as,at); } -function ScriptSourceLine(ao){ -var ak=0; -if(!(ao===(void 0))){ -ak=ao-this.line_offset; +function ScriptSourceLine(aj){ +var af=0; +if(!(aj===(void 0))){ +af=aj-this.line_offset; } -if(ak<0||this.lineCount()<=ak){ +if(af<0||this.lineCount()<=af){ 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); +var ad=this.line_ends; +var ag=af==0?0:ad[af-1]+1; +var ah=ad[af]; +return %_CallFunction(this.source,ag,ah,y); } function ScriptLineCount(){ return this.line_ends.length; } -function ScriptLineEnd(az){ -return this.line_ends[az]; +function ScriptLineEnd(au){ +return this.line_ends[au]; } function ScriptNameOrSourceURL(){ if(this.source_url)return this.source_url; return this.name; } -b.SetUpLockedPrototype(v,[ +b.SetUpLockedPrototype(Script,[ "source", "name", "source_url", @@ -13780,52 +14635,49 @@ b.SetUpLockedPrototype(v,[ "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 SourceLocation(Y,aa,af,ai,ag,ah){ +this.script=Y; +this.position=aa; +this.line=af; +this.column=ai; +this.start=ag; +this.end=ah; } function SourceLocationSourceText(){ -return %_Call(z,this.script.source,this.start,this.end); +return %_CallFunction(this.script.source, +this.start, +this.end, +y); } 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 SourceSlice(Y,aq,ar,as,at){ +this.script=Y; +this.from_line=aq; +this.to_line=ar; +this.from_position=as; +this.to_position=at; } function SourceSliceSourceText(){ -return %_Call(z, -this.script.source, +return %_CallFunction(this.script.source, this.from_position, -this.to_position); +this.to_position, +y); } 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 GetStackTraceLine(av,aw,ax,ay){ +return new CallSite(av,aw,ax,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 CallSite(az,aw,ax,aA){ +(this[g]=az); +(this[h]=aw); +(this[i]=ax); +(this[j]=aA); } function CallSiteGetThis(){ return(this[j]) @@ -13848,8 +14700,8 @@ function CallSiteIsEval(){ return %CallSiteIsEvalRT(this); } function CallSiteGetEvalOrigin(){ -var ad=%FunctionGetScript((this[h])); -return FormatEvalOrigin(ad); +var Y=%FunctionGetScript((this[h])); +return FormatEvalOrigin(Y); } function CallSiteGetScriptNameOrSourceURL(){ return %CallSiteGetScriptNameOrSourceUrlRT(this); @@ -13876,63 +14728,64 @@ function CallSiteIsConstructor(){ return %CallSiteIsConstructorRT(this); } function CallSiteToString(){ -var aG; -var aH=""; +var aB; +var aC=""; if(this.isNative()){ -aH="native"; +aC="native"; }else{ -aG=this.getScriptNameOrSourceURL(); -if(!aG&&this.isEval()){ -aH=this.getEvalOrigin(); -aH+=", "; +aB=this.getScriptNameOrSourceURL(); +if(!aB&&this.isEval()){ +aC=this.getEvalOrigin(); +aC+=", "; } -if(aG){ -aH+=aG; +if(aB){ +aC+=aB; }else{ -aH+=""; +aC+=""; } -var aI=this.getLineNumber(); -if(aI!=null){ -aH+=":"+aI; -var aJ=this.getColumnNumber(); -if(aJ){ -aH+=":"+aJ; +var aD=this.getLineNumber(); +if(aD!=null){ +aC+=":"+aD; +var aE=this.getColumnNumber(); +if(aE){ +aC+=":"+aE; } } } -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+"."; +var af=""; +var aF=this.getFunctionName(); +var aG=true; +var aH=this.isConstructor(); +var aI=!(this.isToplevel()||aH); +if(aI){ +var aJ=GetTypeName((this[g]),true); +var aK=this.getMethodName(); +if(aF){ +if(aJ&& +%_CallFunction(aF,aJ,x)!=0){ +af+=aJ+"."; } -ak+=aK; -if(aP&& -(%_Call(y,aK,"."+aP)!= -aK.length-aP.length-1)){ -ak+=" [as "+aP+"]"; +af+=aF; +if(aK&& +(%_CallFunction(aF,"."+aK,x)!= +aF.length-aK.length-1)){ +af+=" [as "+aK+"]"; } }else{ -ak+=aO+"."+(aP||""); +af+=aJ+"."+(aK||""); } -}else if(aM){ -ak+="new "+(aK||""); -}else if(aK){ -ak+=aK; +}else if(aH){ +af+="new "+(aF||""); +}else if(aF){ +af+=aF; }else{ -ak+=aH; -aL=false; +af+=aC; +aG=false; } -if(aL){ -ak+=" ("+aH+")"; +if(aG){ +af+=" ("+aC+")"; } -return ak; +return af; } b.SetUpLockedPrototype(CallSite,["receiver","fun","pos"],[ "getThis",CallSiteGetThis, @@ -13952,41 +14805,41 @@ b.SetUpLockedPrototype(CallSite,["receiver","fun","pos"],[ "isConstructor",CallSiteIsConstructor, "toString",CallSiteToString ]); -function FormatEvalOrigin(ad){ -var aQ=ad.nameOrSourceURL(); -if(aQ){ -return aQ; +function FormatEvalOrigin(Y){ +var aL=Y.nameOrSourceURL(); +if(aL){ +return aL; } -var aR="eval at "; -if(ad.eval_from_function_name){ -aR+=ad.eval_from_function_name; +var aM="eval at "; +if(Y.eval_from_function_name){ +aM+=Y.eval_from_function_name; }else{ -aR+=""; +aM+=""; } -var aS=ad.eval_from_script; -if(aS){ -if(aS.compilation_type==1){ -aR+=" ("+FormatEvalOrigin(aS)+")"; +var aN=Y.eval_from_script; +if(aN){ +if(aN.compilation_type==1){ +aM+=" ("+FormatEvalOrigin(aN)+")"; }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); +if(aN.name){ +aM+=" ("+aN.name; +var Z=aN.locationFromPosition( +Y.eval_from_script_position,true); +if(Z){ +aM+=":"+(Z.line+1); +aM+=":"+(Z.column+1); } -aR+=")"; +aM+=")"; }else{ -aR+=" (unknown source)"; +aM+=" (unknown source)"; } } } -return aR; +return aM; } -function FormatErrorString(aa){ +function FormatErrorString(U){ try{ -return %_Call(ErrorToString,aa); +return %_CallFunction(U,ErrorToString); }catch(e){ try{ return""; @@ -13995,162 +14848,171 @@ return""; } } } -function GetStackFrames(aT){ -var aU=new r(); -var aV=aT[0]; -for(var aj=1;aj"; +af=""; }catch(ee){ -ak=""; +af=""; +} } +aW.push(" at "+af); } -bb.push(" at "+ak); +return %_CallFunction(aW,"\n",c); } -return %_Call(c,bb,"\n"); +function GetTypeName(az,aY){ +if((az==null))return null; +var N=az.constructor; +if(!N){ +return aY?null: +%_CallFunction(az,NoSideEffectsObjectToString); } -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); +var O=N.name; +if(!O){ +return aY?null: +%_CallFunction(az,NoSideEffectsObjectToString); } -return %FunctionGetName(U); +return O; } -var be=function(){ -var bf=(void 0); -var bg=this; -while(bg){ -var bf= -(bg[m]); -if((bf===(void 0))){ -var ba=(bg[w]); +var aZ=function(){ +var ba=(void 0); +var bb=this; +while(bb){ +var ba= +(bb[l]); if((ba===(void 0))){ -bg=%_GetPrototype(bg); +var aV=(bb[v]); +if((aV===(void 0))){ +bb=%_GetPrototype(bb); continue; } -bf=FormatStackTrace(bg,ba); -(bg[w]=(void 0)); -(bg[m]=bf); +ba=FormatStackTrace(bb,aV); +(bb[v]=(void 0)); +(bb[l]=ba); } -return bf; +return ba; } return(void 0); }; -var bh=function(bi){ -if(IsErrorObject(this)){ -(this[w]=(void 0)); -(this[m]=bi); +var bc=function(bd){ +if((%HasOwnProperty(this,v))){ +(this[v]=(void 0)); +(this[l]=bd); } }; -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); +var be=function(){}; +function DefineError(a,bf){ +var bg=bf.name; +%AddNamedProperty(a,bg,bf,2); +if(bg=='Error'){ +var bh=function(){}; +%FunctionSetPrototype(bh,n.prototype); +%FunctionSetInstanceClassName(bh,'Error'); +%FunctionSetPrototype(bf,new bh()); +}else{ +%FunctionSetPrototype(bf,new E()); +%InternalSetPrototype(bf,E); } -%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); +%FunctionSetInstanceClassName(bf,'Error'); +%AddNamedProperty(bf.prototype,'constructor',bf,2); +%AddNamedProperty(bf.prototype,'name',bg,2); +%SetCode(bf,function(bi){ +if(%_IsConstructCall()){ +try{be(this,bf);}catch(e){} +if(!(bi===(void 0))){ +%AddNamedProperty(this,'message',(%_ToString(bi)),2); +} +}else{ +return new bf(bi); } }); -%SetNativeFlag(bk); -return bk; +%SetNativeFlag(bf); +return bf; }; -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]); +E=DefineError(a,function Error(){}); +K=DefineError(a,function EvalError(){}); +G=DefineError(a,function RangeError(){}); +J=DefineError(a,function ReferenceError(){}); +I=DefineError(a,function SyntaxError(){}); +F=DefineError(a,function TypeError(){}); +H=DefineError(a,function URIError(){}); +%AddNamedProperty(E.prototype,'message','',2); 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, +if(!(%_IsSpecObject(this))){ +throw MakeTypeError(14,"Error.prototype.toString"); +} +return %ErrorToStringRT(this); +} +b.InstallFunctions(E.prototype,2, +['toString',ErrorToString]); +$errorToString=ErrorToString; +MakeError=function(Q,R,S,T){ +return MakeGenericError(E,Q,R,S,T); +} +MakeRangeError=function(Q,R,S,T){ +return MakeGenericError(G,Q,R,S,T); +} +MakeSyntaxError=function(Q,R,S,T){ +return MakeGenericError(I,Q,R,S,T); +} +MakeTypeError=function(Q,R,S,T){ +return MakeGenericError(F,Q,R,S,T); +} +MakeURIError=function(){ +return MakeGenericError(H,240); +} +var bj=MakeRangeError(151); +%DefineAccessorPropertyUnchecked(bj,'stack', +aZ,bc, +2); +be=function captureStackTrace(L,bk){ +t(L,'stack',{get:aZ, +set:bc, configurable:true}); -%CollectStackTrace(Q,bo?bo:bj); +%CollectStackTrace(L,bk?bk:be); }; -G.captureStackTrace=bj; +E.captureStackTrace=be; %InstallToContext([ +"error_function",E, +"eval_error_function",K, "get_stack_trace_line_fun",GetStackTraceLine, "make_error_function",MakeGenericError, "make_range_error",MakeRangeError, @@ -14158,254 +15020,237 @@ G.captureStackTrace=bj; "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, +"no_side_effect_to_string_fun",NoSideEffectToString, +"range_error_function",G, +"reference_error_function",J, +"stack_overflow_boilerplate",bj, +"syntax_error_function",I, +"to_detail_string_fun",ToDetailString, +"type_error_function",F, +"uri_error_function",H, ]); -b.Export(function(bp){ -bp.ErrorToString=ErrorToString; -bp.MakeError=MakeError; -bp.MakeRangeError=MakeRangeError; -bp.MakeSyntaxError=MakeSyntaxError; -bp.MakeTypeError=MakeTypeError; -bp.MakeURIError=MakeURIError; -}); }); -jsonE +json: (function(a,b){ "use strict"; %CheckIsBootstrapping(); -var c=a.Date; -var d=a.JSON; -var e=a.Set; -var f=b.InternalArray; +var c=a.JSON; +var d=b.InternalArray; +var e; +var f; 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; +var i=b.ImportNow("to_string_tag_symbol"); +b.Import(function(j){ +e=j.MathMax; +f=j.MathMin; +g=j.ObjectHasOwnProperty; +h=j.ToNumber; }); -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;v0){ -var J=",\n"+C; -I="[\n"+C+F.join(J)+"\n"+ -E+"]"; +var D; +if(y==""){ +D="["+A.join(",")+"]"; +}else if(A.length>0){ +var E=",\n"+x; +D="[\n"+x+A.join(E)+"\n"+ +z+"]"; }else{ -I="[]"; +D="[]"; } -B.pop(); -return I; +w.pop(); +return D; +} +function SerializeObject(u,v,w,x,y){ +if(!%PushIfAbsent(w,u))throw MakeTypeError(18); +var z=x; +x+=y; +var A=new d(); +if((%_IsArray(v))){ +var o=v.length; +for(var p=0;p0){ -var J=",\n"+C; -I="{\n"+C+F.join(J)+"\n"+ -E+"}"; +} +var D; +if(y==""){ +D="{"+A.join(",")+"}"; +}else if(A.length>0){ +var E=",\n"+x; +D="{\n"+x+A.join(E)+"\n"+ +z+"}"; }else{ -I="{}"; +D="{}"; } -B.pop(); -return I; +w.pop(); +return D; } -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); +function JSONSerialize(G,k,v,w,x,y){ +var u=k[G]; +if((%_IsSpecObject(u))){ +var H=u.toJSON; +if((typeof(H)==='function')){ +u=%_Call(H,u,G); } } -if((typeof(A)==='function')){ -z=%_Call(A,q,L,z); +if((typeof(v)==='function')){ +u=%_Call(v,k,G,u); } -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)){ +if((typeof(u)==='string')){ +return %QuoteJSONString(u); +}else if((typeof(u)==='number')){ +return((%_IsSmi(%IS_VAR(u))||u-u==0)?%_NumberToString(u):"null"); +}else if((typeof(u)==='boolean')){ +return u?"true":"false"; +}else if((u===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 if((%_IsSpecObject(u))&&!(typeof(u)==='function')){ +if((%_IsArray(u))){ +return SerializeArray(u,v,w,x,y); +}else if((%_ClassOf(u)==='Number')){ +u=h(u); +return((%_IsSmi(%IS_VAR(u))||u-u==0)?%_NumberToString(u):"null"); +}else if((%_ClassOf(u)==='String')){ +return %QuoteJSONString((%_ToString(u))); +}else if((%_ClassOf(u)==='Boolean')){ +return %_ValueOf(u)?"true":"false"; }else{ -return SerializeObject(z,A,B,C,D); +return SerializeObject(u,v,w,x,y); } } 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;v10){ -D=%_SubString(N,0,10); +var y; +if((typeof(I)==='number')){ +I=e(0,f((%_ToInteger(I)),10)); +y=%_SubString(" ",0,I); +}else if((typeof(I)==='string')){ +if(I.length>10){ +y=%_SubString(I,0,10); }else{ -D=N; +y=I; } }else{ -D=""; +y=""; } -return JSONSerialize('',{'':z},A,new f(),"",D); +return JSONSerialize('',{'':u},v,new d(),"",y); } -%AddNamedProperty(d,k,"JSON",1|2); -b.InstallFunctions(d,2,[ +%AddNamedProperty(c,i,"JSON",1|2); +b.InstallFunctions(c,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(),"",""); +function JsonSerializeAdapter(G,N){ +var k={}; +k[G]=N; +return JSONSerialize(G,k,(void 0),new d(),"",""); } %InstallToContext(["json_serialize_adapter",JsonSerializeAdapter]); }) -8array-iterator +8array-iterator = +var $arrayValues; (function(a,b){ "use strict"; %CheckIsBootstrapping(); @@ -14416,55 +15261,68 @@ 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; -}) +var g=b.ImportNow("iterator_symbol"); +var h=b.ImportNow("to_string_tag_symbol"); +var i=a.Uint8Array; + +var j=a.Int8Array; + +var k=a.Uint16Array; + +var l=a.Int16Array; + +var m=a.Uint32Array; + +var n=a.Int32Array; + +var o=a.Float32Array; + +var p=a.Float64Array; + +var q=a.Uint8ClampedArray; + + 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 CreateArrayIterator(r,s){ +var t=(%_ToObject(r)); +var u=new ArrayIterator; +(u[e]=t); +(u[d]=0); +(u[c]=s); +return u; } 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, +var u=this; +var v=(void 0); +var w=true; +if(!(%_IsSpecObject(u))|| +!(!(u[d]===(void 0)))){ +throw MakeTypeError(36, '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)); +var r=(u[e]); +if(!(r===(void 0))){ +var x=(u[d]); +var y=(u[c]); +var z=(r.length>>>0); +if(x>=z){ +(u[e]=(void 0)); }else{ -(p[d]=s+1); -if(t==2){ -q=m[s]; -}else if(t==3){ -q=[s,m[s]]; +(u[d]=x+1); +if(y==2){ +v=r[x]; +}else if(y==3){ +v=[x,r[x]]; }else{ -q=s; +v=x; } -r=false; +w=false; } } -return %_CreateIterResultObject(q,r); +return %_CreateIterResultObject(v,w); } function ArrayEntries(){ return CreateArrayIterator(this,3); @@ -14475,107 +15333,149 @@ return CreateArrayIterator(this,2); function ArrayKeys(){ return CreateArrayIterator(this,1); } -%FunctionSetPrototype(ArrayIterator,{__proto__:g}); +%FunctionSetPrototype(ArrayIterator,{__proto__:$iteratorPrototype}); %FunctionSetInstanceClassName(ArrayIterator,'Array Iterator'); b.InstallFunctions(ArrayIterator.prototype,2,[ 'next',ArrayIteratorNext ]); -b.SetFunctionName(ArrayIteratorIterator,h); -%AddNamedProperty(ArrayIterator.prototype,h, +b.SetFunctionName(ArrayIteratorIterator,g); +%AddNamedProperty(ArrayIterator.prototype,g, ArrayIteratorIterator,2); -%AddNamedProperty(ArrayIterator.prototype,j, +%AddNamedProperty(ArrayIterator.prototype,h, "Array Iterator",1|2); b.InstallFunctions(f.prototype,2,[ 'entries',ArrayEntries, 'keys',ArrayKeys ]); b.SetFunctionName(ArrayValues,'values'); -%AddNamedProperty(f.prototype,h,ArrayValues, +%AddNamedProperty(f.prototype,g,ArrayValues, 2); -%AddNamedProperty(k.prototype, -'entries',ArrayEntries,2); +%AddNamedProperty(i.prototype,'entries',ArrayEntries,2); +%AddNamedProperty(i.prototype,'values',ArrayValues,2); +%AddNamedProperty(i.prototype,'keys',ArrayKeys,2); +%AddNamedProperty(i.prototype,g,ArrayValues, +2); + +%AddNamedProperty(j.prototype,'entries',ArrayEntries,2); +%AddNamedProperty(j.prototype,'values',ArrayValues,2); +%AddNamedProperty(j.prototype,'keys',ArrayKeys,2); +%AddNamedProperty(j.prototype,g,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; -}); +%AddNamedProperty(k.prototype,g,ArrayValues, +2); + +%AddNamedProperty(l.prototype,'entries',ArrayEntries,2); +%AddNamedProperty(l.prototype,'values',ArrayValues,2); +%AddNamedProperty(l.prototype,'keys',ArrayKeys,2); +%AddNamedProperty(l.prototype,g,ArrayValues, +2); + +%AddNamedProperty(m.prototype,'entries',ArrayEntries,2); +%AddNamedProperty(m.prototype,'values',ArrayValues,2); +%AddNamedProperty(m.prototype,'keys',ArrayKeys,2); +%AddNamedProperty(m.prototype,g,ArrayValues, +2); + +%AddNamedProperty(n.prototype,'entries',ArrayEntries,2); +%AddNamedProperty(n.prototype,'values',ArrayValues,2); +%AddNamedProperty(n.prototype,'keys',ArrayKeys,2); +%AddNamedProperty(n.prototype,g,ArrayValues, +2); + +%AddNamedProperty(o.prototype,'entries',ArrayEntries,2); +%AddNamedProperty(o.prototype,'values',ArrayValues,2); +%AddNamedProperty(o.prototype,'keys',ArrayKeys,2); +%AddNamedProperty(o.prototype,g,ArrayValues, +2); + +%AddNamedProperty(p.prototype,'entries',ArrayEntries,2); +%AddNamedProperty(p.prototype,'values',ArrayValues,2); +%AddNamedProperty(p.prototype,'keys',ArrayKeys,2); +%AddNamedProperty(p.prototype,g,ArrayValues, +2); + +%AddNamedProperty(q.prototype,'entries',ArrayEntries,2); +%AddNamedProperty(q.prototype,'values',ArrayValues,2); +%AddNamedProperty(q.prototype,'keys',ArrayKeys,2); +%AddNamedProperty(q.prototype,g,ArrayValues, +2); + + +$arrayValues=ArrayValues; %InstallToContext(["array_values_iterator",ArrayValues]); }) ->>0); -if(p>=q){ -(m[g]=(void 0)); +var i=(j[e]); +if(!(i===(void 0))){ +var m=(j[f]); +var n=(i.length>>>0); +if(m>=n){ +(j[e]=(void 0)); }else{ -var r=%_StringCharCodeAt(l,p); -n=%_StringCharFromCode(r); -o=false; -p++; -if(r>=0xD800&&r<=0xDBFF&&p=0xDC00&&s<=0xDFFF){ -n+=%_StringCharFromCode(s); -p++; +var o=%_StringCharCodeAt(i,m); +k=%_StringCharFromCode(o); +l=false; +m++; +if(o>=0xD800&&o<=0xDBFF&&m=0xDC00&&p<=0xDFFF){ +k+=%_StringCharFromCode(p); +m++; } } -(m[h]=p); +(j[f]=m); } } -return %_CreateIterResultObject(n,o); +return %_CreateIterResultObject(k,l); } function StringPrototypeIterator(){ return CreateStringIterator(this); } -%FunctionSetPrototype(StringIterator,{__proto__:d}); +%FunctionSetPrototype(StringIterator,{__proto__:$iteratorPrototype}); %FunctionSetInstanceClassName(StringIterator,'String Iterator'); b.InstallFunctions(StringIterator.prototype,2,[ 'next',StringIteratorNext ]); -%AddNamedProperty(StringIterator.prototype,i, +%AddNamedProperty(StringIterator.prototype,g, "String Iterator",1|2); -b.SetFunctionName(StringPrototypeIterator,e); -%AddNamedProperty(c.prototype,e, +b.SetFunctionName(StringPrototypeIterator,d); +%AddNamedProperty(c.prototype,d, StringPrototypeIterator,2); }) -$templates +$templatesi (function(a,b){ "use strict"; %CheckIsBootstrapping(); @@ -14594,7 +15494,7 @@ if(h[k]!==i[k])return false; return true; } function GetCachedCallSite(l,m){ -var n=%_Call(f,e,m); +var n=%_CallFunction(e,m,f); if((n===(void 0)))return; var j=n.length; for(var k=0;k0){ +if(l in p){ +p[r]=p[l]; +}else{ +delete p[r]; } -var g=new c(); -for(var m of l){ -g.push(m); +l=l+u; +r=r+u; +t--; } -return g; +return p; } -%InstallToContext([ -"spread_arguments",SpreadArguments, -"spread_iterable",SpreadIterable, +function ArrayCopyWithin(m,n,o){ +if((%IS_VAR(this)===null)||(this===(void 0)))throw MakeTypeError(15,"Array.prototype.copyWithin"); +var p=(%_ToObject(this)); +var q=(%ToLength(p.length)); +return InnerArrayCopyWithin(m,n,o,p,q); +} +function InnerArrayFind(v,w,p,q){ +if(!(typeof(v)==='function')){ +throw MakeTypeError(13,v); +} +for(var x=0;xq)x=q; +} +if(o<0){ +o+=q; +if(o<0)o=0; +}else{ +if(o>q)o=q; +} +if((o-x)>0&&i(p)){ +throw MakeTypeError(10); +} +for(;x>>0)); +return InnerArrayFill(z,n,o,p,q); +} +function AddArrayElement(A,p,x,z){ +if(A===e){ +%AddElement(p,x,z); +}else{ +j(p,x,{ +value:z,writable:true,configurable:true,enumerable:true +}); +} +} +function ArrayFrom(B,C,D){ +var E=(%_ToObject(B)); +var F=!(C===(void 0)); +if(F){ +if(!(typeof(C)==='function')){ +throw MakeTypeError(13,C); +} +} +var G=d(E,f); +var H; +var I; +var J; +var K; +if(!(G===(void 0))){ +I=%IsConstructor(this)?new this():[]; +var L=c(E,G); +H=0; +while(true){ +var M=L.next(); +if(!(typeof(M)==='object')){ +throw MakeTypeError(41,M); +} +if(M.done){ +I.length=H; +return I; +} +K=M.value; +if(F){ +J=%_Call(C,D,K,H); +}else{ +J=K; +} +AddArrayElement(this,I,H,J); +H++; +} +}else{ +var N=(%ToLength(E.length)); +I=%IsConstructor(this)?new this(N):new e(N); +for(H=0;H0){ -return R(U,%_Arguments(0)); +return L(O,%_Arguments(0)); }else{ -return R(U); +return L(O); } } } -%FunctionSetName(V,T); -%FunctionRemovePrototype(V); -%SetNativeFlag(V); -this[T]=V; +%FunctionSetName(P,N); +%FunctionRemovePrototype(P); +%SetNativeFlag(P); +this[N]=P; } -return this[T]; +return this[N]; } -%FunctionSetName(getter,Q); +%FunctionSetName(getter,K); %FunctionRemovePrototype(getter); %SetNativeFlag(getter); -r(P.prototype,Q,{ +o(J.prototype,K,{ get:getter, enumerable:false, configurable:true }); } -function supportedLocalesOf(Y,Z,aa){ -if((%_Call(x,Y,GetServiceRE())===null)){ -throw m(7,Y); +function supportedLocalesOf(S,T,U){ +if((%_CallFunction(S,GetServiceRE(),s)===null)){ +throw MakeError(7,S); } -if((aa===(void 0))){ -aa={}; +if((U===(void 0))){ +U={}; }else{ -aa=(%_ToObject(aa)); +U=(%_ToObject(U)); } -var ab=aa.localeMatcher; -if(!(ab===(void 0))){ -ab=l(ab); -if(ab!=='lookup'&&ab!=='best fit'){ -throw n(183,ab); +var V=U.localeMatcher; +if(!(V===(void 0))){ +V=l(V); +if(V!=='lookup'&&V!=='best fit'){ +throw MakeRangeError(147,V); } }else{ -ab='best fit'; +V='best fit'; } -var ac=initializeLocaleList(Z); -if((E[Y]===(void 0))){ -E[Y]=getAvailableLocalesOf(Y); +var W=initializeLocaleList(T); +if((z[S]===(void 0))){ +z[S]=getAvailableLocalesOf(S); } -if(ab==='best fit'){ +if(V==='best fit'){ return initializeLocaleList(bestFitSupportedLocalesOf( -ac,E[Y])); +W,z[S])); } return initializeLocaleList(lookupSupportedLocalesOf( -ac,E[Y])); -} -function lookupSupportedLocalesOf(ac,ad){ -var ae=[]; -for(var af=0;af=3&&S<=8&&!(au===(void 0))){ -at[au]=av; -au=(void 0); +var an={}; +var ao=(void 0); +for(var Z=2;Z=3&&M<=8&&!(ao===(void 0))){ +an[ao]=ap; +ao=(void 0); }else{ return{}; } } -return at; +return an; } -function setOptions(aw,at,ax,aj,ay){ -var ar=''; -var az=function updateExtension(aA,ao){ -return'-'+aA+'-'+l(ao); +function setOptions(aq,an,ar,ad,as){ +var al=''; +var at=function updateExtension(au,ai){ +return'-'+au+'-'+l(ai); } -var aB=function updateProperty(ak,al,ao){ -if(al==='boolean'&&(typeof ao==='string')){ -ao=(ao==='true')?true:false; +var av=function updateProperty(ae,af,ai){ +if(af==='boolean'&&(typeof ai==='string')){ +ai=(ai==='true')?true:false; } -if(!(ak===(void 0))){ -defineWEProperty(ay,ak,ao); +if(!(ae===(void 0))){ +defineWEProperty(as,ae,ai); } } -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); +for(var au in ar){ +if(%HasOwnProperty(ar,au)){ +var ai=(void 0); +var aw=ar[au]; +if(!(aw.property===(void 0))){ +ai=ad(aw.property,aw.type,aw.values); } -if(!(ao===(void 0))){ -aB(aC.property,aC.type,ao); -ar+=az(aA,ao); +if(!(ai===(void 0))){ +av(aw.property,aw.type,ai); +al+=at(au,ai); 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); +if(%HasOwnProperty(an,au)){ +ai=an[au]; +if(!(ai===(void 0))){ +av(aw.property,aw.type,ai); +al+=at(au,ai); +}else if(aw.type==='boolean'){ +av(aw.property,aw.type,true); +al+=at(au,true); } } } } -return ar===''?'':'-u'+ar; +return al===''?'':'-u'+al; } -function freezeArray(aD){ -var aE=aD.length; -for(var af=0;af>>0); -for(var aX=0;aX>>0); +for(var aL=0;aLbB){ -throw n(186,ak); +%FunctionSetName(y.Collator.supportedLocalesOf,'supportedLocalesOf'); +%FunctionRemovePrototype(y.Collator.supportedLocalesOf); +%SetNativeFlag(y.Collator.supportedLocalesOf); +function compare(bd,Q,R){ +return %InternalCompare(%GetImplFromInitializedIntlObject(bd), +l(Q),l(R)); +}; +addBoundMethod(y.Collator,'compare',compare,2); +function isWellFormedCurrencyCode(bm){ +return typeof bm=="string"&& +bm.length==3&& +%_CallFunction(bm,/[^A-Za-z]/,s)==null; +} +function getNumberOption(U,ae,bn,bo,bp){ +var ai=U[ae]; +if(!(ai===(void 0))){ +ai=j(ai); +if(g(ai)||aibo){ +throw MakeRangeError(150,ae); +} +return m(ai); } -return p(ao); -} -return bC; -} -var bD={ -get(){ -%IncrementUseCounter(15); -return this[s]; -}, -set(ao){ -this[s]=ao; +return bp; } -}; -function initializeNumberFormat(bE,Z,aa){ -if(%IsInitializedIntlObject(bE)){ -throw o(132,"NumberFormat"); +function initializeNumberFormat(bq,T,U){ +if(%IsInitializedIntlObject(bq)){ +throw MakeTypeError(99,"NumberFormat"); } -if((aa===(void 0))){ -aa={}; +if((U===(void 0))){ +U={}; } -var aj=getGetOption(aa,'numberformat'); -var ag=resolveLocale('numberformat',Z,aa); -var br={}; -defineWEProperty(br,'style',aj( +var ad=getGetOption(U,'numberformat'); +var aa=resolveLocale('numberformat',T,U); +var be={}; +defineWEProperty(be,'style',ad( 'style','string',['decimal','percent','currency'],'decimal')); -var bz=aj('currency','string'); -if(!(bz===(void 0))&&!isWellFormedCurrencyCode(bz)){ -throw n(169,bz); +var bm=ad('currency','string'); +if(!(bm===(void 0))&&!isWellFormedCurrencyCode(bm)){ +throw MakeRangeError(134,bm); } -if(br.style==='currency'&&(bz===(void 0))){ -throw o(28); +if(be.style==='currency'&&(bm===(void 0))){ +throw MakeTypeError(22); } -var bF=aj( +var br=ad( '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( +if(be.style==='currency'){ +defineWEProperty(be,'currency',%StringToUpperCase(bm)); +defineWEProperty(be,'currencyDisplay',br); +} +var bs=getNumberOption(U,'minimumIntegerDigits',1,21,1); +defineWEProperty(be,'minimumIntegerDigits',bs); +var bt=U['minimumFractionDigits']; +var bu=U['maximumFractionDigits']; +if(!(bt===(void 0))||be.style!=='currency'){ +bt=getNumberOption(U,'minimumFractionDigits',0,20,0); +defineWEProperty(be,'minimumFractionDigits',bt); +} +if(!(bu===(void 0))||be.style!=='currency'){ +var bv=be.style==='percent'?0:3; +bt=(bt===(void 0))?0:bt; +fallback_limit=(bt>bv)?bt:bv; +bu=getNumberOption(U,'maximumFractionDigits',bt,20,fallback_limit); +defineWEProperty(be,'maximumFractionDigits',bu); +} +var bw=U['minimumSignificantDigits']; +var bx=U['maximumSignificantDigits']; +if(!(bw===(void 0))||!(bx===(void 0))){ +bw=getNumberOption(U,'minimumSignificantDigits',1,21,0); +defineWEProperty(be,'minimumSignificantDigits',bw); +bx=getNumberOption(U,'maximumSignificantDigits',bw,21,21); +defineWEProperty(be,'maximumSignificantDigits',bx); +} +defineWEProperty(be,'useGrouping',ad( 'useGrouping','boolean',(void 0),true)); -var at=parseExtension(ag.extension); -var bN={ +var an=parseExtension(aa.extension); +var by={ 'nu':{'property':(void 0),'type':'string'} }; -var ar=setOptions(aa,at,bN, -aj,br); -var bw=ag.locale+ar; -var ap=q({},{ +var al=setOptions(U,an,by, +ad,be); +var bj=aa.locale+al; +var aj=n({},{ currency:{writable:true}, currencyDisplay:{writable:true}, locale:{writable:true}, @@ -15410,269 +16941,268 @@ 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}, +requestedLocale:{value:bj,writable:true}, +style:{value:be.style,writable:true}, useGrouping:{writable:true} }); -if(%HasOwnProperty(br,'minimumSignificantDigits')){ -defineWEProperty(ap,'minimumSignificantDigits',(void 0)); +if(%HasOwnProperty(be,'minimumSignificantDigits')){ +defineWEProperty(aj,'minimumSignificantDigits',(void 0)); } -if(%HasOwnProperty(br,'maximumSignificantDigits')){ -defineWEProperty(ap,'maximumSignificantDigits',(void 0)); +if(%HasOwnProperty(be,'maximumSignificantDigits')){ +defineWEProperty(aj,'maximumSignificantDigits',(void 0)); } -var bO=%CreateNumberFormat(bw, -br, -ap); -if(br.style==='currency'){ -r(ap,'currencyDisplay',{value:bF, +var bz=%CreateNumberFormat(bj, +be, +aj); +if(be.style==='currency'){ +o(aj,'currencyDisplay',{value:br, writable:true}); } -%MarkAsInitializedIntlObjectOfType(bE,'numberformat',bO); -bE[u]=ap; -r(bE,'resolved',bp); -return bE; +%MarkAsInitializedIntlObjectOfType(bq,'numberformat',bz); +o(bq,'resolved',{value:aj}); +return bq; } -%AddNamedProperty(D,'NumberFormat',function(){ -var Z=%_Arguments(0); -var aa=%_Arguments(1); -if(!this||this===D){ -return new D.NumberFormat(Z,aa); +%AddNamedProperty(y,'NumberFormat',function(){ +var T=%_Arguments(0); +var U=%_Arguments(1); +if(!this||this===y){ +return new y.NumberFormat(T,U); } -return initializeNumberFormat((%_ToObject(this)),Z,aa); +return initializeNumberFormat((%_ToObject(this)),T,U); }, 2 ); -%AddNamedProperty(D.NumberFormat.prototype,'resolvedOptions',function(){ -if(!(new.target===(void 0))){ -throw o(87); +%AddNamedProperty(y.NumberFormat.prototype,'resolvedOptions',function(){ +if(%_IsConstructCall()){ +throw MakeTypeError(79); } 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; +throw MakeTypeError(100,"NumberFormat"); +} +var bA=this; +var aa=getOptimalLanguageTag(bA.resolved.requestedLocale, +bA.resolved.locale); +var bB={ +locale:aa, +numberingSystem:bA.resolved.numberingSystem, +style:bA.resolved.style, +useGrouping:bA.resolved.useGrouping, +minimumIntegerDigits:bA.resolved.minimumIntegerDigits, +minimumFractionDigits:bA.resolved.minimumFractionDigits, +maximumFractionDigits:bA.resolved.maximumFractionDigits, +}; +if(bB.style==='currency'){ +defineWECProperty(bB,'currency',bA.resolved.currency); +defineWECProperty(bB,'currencyDisplay', +bA.resolved.currencyDisplay); +} +if(%HasOwnProperty(bA.resolved,'minimumSignificantDigits')){ +defineWECProperty(bB,'minimumSignificantDigits', +bA.resolved.minimumSignificantDigits); +} +if(%HasOwnProperty(bA.resolved,'maximumSignificantDigits')){ +defineWECProperty(bB,'maximumSignificantDigits', +bA.resolved.maximumSignificantDigits); +} +return bB; }, 2 ); -%FunctionSetName(D.NumberFormat.prototype.resolvedOptions, +%FunctionSetName(y.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); +%FunctionRemovePrototype(y.NumberFormat.prototype.resolvedOptions); +%SetNativeFlag(y.NumberFormat.prototype.resolvedOptions); +%AddNamedProperty(y.NumberFormat,'supportedLocalesOf',function(T){ +if(%_IsConstructCall()){ +throw MakeTypeError(79); } -return supportedLocalesOf('numberformat',Z,%_Arguments(1)); +return supportedLocalesOf('numberformat',T,%_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', +%FunctionSetName(y.NumberFormat.supportedLocalesOf,'supportedLocalesOf'); +%FunctionRemovePrototype(y.NumberFormat.supportedLocalesOf); +%SetNativeFlag(y.NumberFormat.supportedLocalesOf); +function formatNumber(bz,ai){ +var bC=ToNumber(ai)+0; +return %InternalNumberFormat(%GetImplFromInitializedIntlObject(bz), +bC); +} +function parseNumber(bz,ai){ +return %InternalNumberParse(%GetImplFromInitializedIntlObject(bz), +l(ai)); +} +addBoundMethod(y.NumberFormat,'format',formatNumber,1); +addBoundMethod(y.NumberFormat,'v8Parse',parseNumber,1); +function toLDMLString(U){ +var ad=getGetOption(U,'dateformat'); +var bD=''; +var bE=ad('weekday','string',['narrow','short','long']); +bD+=appendToLDMLString( +bE,{narrow:'EEEEE',short:'EEE',long:'EEEE'}); +bE=ad('era','string',['narrow','short','long']); +bD+=appendToLDMLString( +bE,{narrow:'GGGGG',short:'GGG',long:'GGGG'}); +bE=ad('year','string',['2-digit','numeric']); +bD+=appendToLDMLString(bE,{'2-digit':'yy','numeric':'y'}); +bE=ad('month','string', ['2-digit','numeric','narrow','short','long']); -bR+=appendToLDMLString(bS,{'2-digit':'MM','numeric':'M', +bD+=appendToLDMLString(bE,{'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]; +bE=ad('day','string',['2-digit','numeric']); +bD+=appendToLDMLString( +bE,{'2-digit':'dd','numeric':'d'}); +var bF=ad('hour12','boolean'); +bE=ad('hour','string',['2-digit','numeric']); +if((bF===(void 0))){ +bD+=appendToLDMLString(bE,{'2-digit':'jj','numeric':'j'}); +}else if(bF===true){ +bD+=appendToLDMLString(bE,{'2-digit':'hh','numeric':'h'}); +}else{ +bD+=appendToLDMLString(bE,{'2-digit':'HH','numeric':'H'}); +} +bE=ad('minute','string',['2-digit','numeric']); +bD+=appendToLDMLString(bE,{'2-digit':'mm','numeric':'m'}); +bE=ad('second','string',['2-digit','numeric']); +bD+=appendToLDMLString(bE,{'2-digit':'ss','numeric':'s'}); +bE=ad('timeZoneName','string',['short','long']); +bD+=appendToLDMLString(bE,{short:'z',long:'zzzz'}); +return bD; +} +function appendToLDMLString(bE,bG){ +if(!(bE===(void 0))){ +return bG[bE]; }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', +function fromLDMLString(bD){ +bD=%_CallFunction(bD,GetQuotedStringRE(),'', +t); +var U={}; +var bH=%_CallFunction(bD,/E{3,5}/g,s); +U=appendToDateTimeObject( +U,'weekday',bH,{EEEEE:'narrow',EEE:'short',EEEE:'long'}); +bH=%_CallFunction(bD,/G{3,5}/g,s); +U=appendToDateTimeObject( +U,'era',bH,{GGGGG:'narrow',GGG:'short',GGGG:'long'}); +bH=%_CallFunction(bD,/y{1,2}/g,s); +U=appendToDateTimeObject( +U,'year',bH,{y:'numeric',yy:'2-digit'}); +bH=%_CallFunction(bD,/M{1,5}/g,s); +U=appendToDateTimeObject(U,'month',bH,{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', +bH=%_CallFunction(bD,/L{1,5}/g,s); +U=appendToDateTimeObject(U,'month',bH,{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={}; +bH=%_CallFunction(bD,/d{1,2}/g,s); +U=appendToDateTimeObject( +U,'day',bH,{d:'numeric',dd:'2-digit'}); +bH=%_CallFunction(bD,/h{1,2}/g,s); +if(bH!==null){ +U['hour12']=true; +} +U=appendToDateTimeObject( +U,'hour',bH,{h:'numeric',hh:'2-digit'}); +bH=%_CallFunction(bD,/H{1,2}/g,s); +if(bH!==null){ +U['hour12']=false; +} +U=appendToDateTimeObject( +U,'hour',bH,{H:'numeric',HH:'2-digit'}); +bH=%_CallFunction(bD,/m{1,2}/g,s); +U=appendToDateTimeObject( +U,'minute',bH,{m:'numeric',mm:'2-digit'}); +bH=%_CallFunction(bD,/s{1,2}/g,s); +U=appendToDateTimeObject( +U,'second',bH,{s:'numeric',ss:'2-digit'}); +bH=%_CallFunction(bD,/z|zzzz/g,s); +U=appendToDateTimeObject( +U,'timeZoneName',bH,{z:'short',zzzz:'long'}); +return U; +} +function appendToDateTimeObject(U,bE,bH,bG){ +if((bH===null)){ +if(!%HasOwnProperty(U,bE)){ +defineWEProperty(U,bE,(void 0)); +} +return U; +} +var ae=bH[0]; +defineWEProperty(U,bE,bG[ae]); +return U; +} +function toDateTimeOptions(U,bI,bJ){ +if((U===(void 0))){ +U={}; }else{ -aa=(%_ToObject(aa)); +U=(%_ToObject(U)); } -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; +var bK=true; +if((bI==='date'||bI==='any')&& +(!(U.weekday===(void 0))||!(U.year===(void 0))|| +!(U.month===(void 0))||!(U.day===(void 0)))){ +bK=false; } -if((bV==='time'||bV==='any')&& -(!(aa.hour===(void 0))||!(aa.minute===(void 0))|| -!(aa.second===(void 0)))){ -bX=false; +if((bI==='time'||bI==='any')&& +(!(U.hour===(void 0))||!(U.minute===(void 0))|| +!(U.second===(void 0)))){ +bK=false; } -if(bX&&(bW==='date'||bW==='all')){ -r(aa,'year',{value:'numeric', +if(bK&&(bJ==='date'||bJ==='all')){ +o(U,'year',{value:'numeric', writable:true, enumerable:true, configurable:true}); -r(aa,'month',{value:'numeric', +o(U,'month',{value:'numeric', writable:true, enumerable:true, configurable:true}); -r(aa,'day',{value:'numeric', +o(U,'day',{value:'numeric', writable:true, enumerable:true, configurable:true}); } -if(bX&&(bW==='time'||bW==='all')){ -r(aa,'hour',{value:'numeric', +if(bK&&(bJ==='time'||bJ==='all')){ +o(U,'hour',{value:'numeric', writable:true, enumerable:true, configurable:true}); -r(aa,'minute',{value:'numeric', +o(U,'minute',{value:'numeric', writable:true, enumerable:true, configurable:true}); -r(aa,'second',{value:'numeric', +o(U,'second',{value:'numeric', writable:true, enumerable:true, configurable:true}); } -return aa; +return U; } -function initializeDateTimeFormat(bY,Z,aa){ -if(%IsInitializedIntlObject(bY)){ -throw o(132,"DateTimeFormat"); +function initializeDateTimeFormat(bL,T,U){ +if(%IsInitializedIntlObject(bL)){ +throw MakeTypeError(99,"DateTimeFormat"); } -if((aa===(void 0))){ -aa={}; +if((U===(void 0))){ +U={}; } -var ag=resolveLocale('dateformat',Z,aa); -aa=toDateTimeOptions(aa,'any','date'); -var aj=getGetOption(aa,'dateformat'); -var ab=aj('formatMatcher','string', +var aa=resolveLocale('dateformat',T,U); +U=toDateTimeOptions(U,'any','date'); +var ad=getGetOption(U,'dateformat'); +var V=ad('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={ +var bD=toLDMLString(U); +var bM=canonicalizeTimeZoneID(U.timeZone); +var be={}; +var an=parseExtension(aa.extension); +var bN={ '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({},{ +var al=setOptions(U,an,bN, +ad,be); +var bj=aa.locale+al; +var aj=n({},{ calendar:{writable:true}, day:{writable:true}, era:{writable:true}, @@ -15682,44 +17212,42 @@ locale:{writable:true}, minute:{writable:true}, month:{writable:true}, numberingSystem:{writable:true}, -[s]:{writable:true}, -pattern:bD, -requestedLocale:{value:bw,writable:true}, +pattern:{writable:true}, +requestedLocale:{value:bj,writable:true}, second:{writable:true}, timeZone:{writable:true}, timeZoneName:{writable:true}, -tz:{value:bZ,writable:true}, +tz:{value:bM,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); +var bz=%CreateDateTimeFormat( +bj,{skeleton:bD,timeZone:bM},aj); +if(!(bM===(void 0))&&bM!==aj.timeZone){ +throw MakeRangeError(156,bM); +} +%MarkAsInitializedIntlObjectOfType(bL,'dateformat',bz); +o(bL,'resolved',{value:aj}); +return bL; +} +%AddNamedProperty(y,'DateTimeFormat',function(){ +var T=%_Arguments(0); +var U=%_Arguments(1); +if(!this||this===y){ +return new y.DateTimeFormat(T,U); +} +return initializeDateTimeFormat((%_ToObject(this)),T,U); }, 2 ); -%AddNamedProperty(D.DateTimeFormat.prototype,'resolvedOptions',function(){ -if(!(new.target===(void 0))){ -throw o(87); +%AddNamedProperty(y.DateTimeFormat.prototype,'resolvedOptions',function(){ +if(%_IsConstructCall()){ +throw MakeTypeError(79); } if(!%IsInitializedIntlObjectOfType(this,'dateformat')){ -throw o(133,"DateTimeFormat"); +throw MakeTypeError(100,"DateTimeFormat"); } -var cb={ +var bO={ 'gregorian':'gregory', 'japanese':'japanese', 'buddhist':'buddhist', @@ -15734,405 +17262,589 @@ var cb={ '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; +var bA=this; +var bP=fromLDMLString(bA.resolved.pattern); +var bQ=bO[bA.resolved.calendar]; +if((bQ===(void 0))){ +bQ=bA.resolved.calendar; +} +var aa=getOptimalLanguageTag(bA.resolved.requestedLocale, +bA.resolved.locale); +var bB={ +locale:aa, +numberingSystem:bA.resolved.numberingSystem, +calendar:bQ, +timeZone:bA.resolved.timeZone +}; +addWECPropertyIfDefined(bB,'timeZoneName',bP.timeZoneName); +addWECPropertyIfDefined(bB,'era',bP.era); +addWECPropertyIfDefined(bB,'year',bP.year); +addWECPropertyIfDefined(bB,'month',bP.month); +addWECPropertyIfDefined(bB,'day',bP.day); +addWECPropertyIfDefined(bB,'weekday',bP.weekday); +addWECPropertyIfDefined(bB,'hour12',bP.hour12); +addWECPropertyIfDefined(bB,'hour',bP.hour); +addWECPropertyIfDefined(bB,'minute',bP.minute); +addWECPropertyIfDefined(bB,'second',bP.second); +return bB; }, 2 ); -%FunctionSetName(D.DateTimeFormat.prototype.resolvedOptions, +%FunctionSetName(y.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); +%FunctionRemovePrototype(y.DateTimeFormat.prototype.resolvedOptions); +%SetNativeFlag(y.DateTimeFormat.prototype.resolvedOptions); +%AddNamedProperty(y.DateTimeFormat,'supportedLocalesOf',function(T){ +if(%_IsConstructCall()){ +throw MakeTypeError(79); } -return supportedLocalesOf('dateformat',Z,%_Arguments(1)); +return supportedLocalesOf('dateformat',T,%_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'; +%FunctionSetName(y.DateTimeFormat.supportedLocalesOf,'supportedLocalesOf'); +%FunctionRemovePrototype(y.DateTimeFormat.supportedLocalesOf); +%SetNativeFlag(y.DateTimeFormat.supportedLocalesOf); +function formatDate(bz,bR){ +var bS; +if((bR===(void 0))){ +bS=%DateCurrentTime(); +}else{ +bS=ToNumber(bR); +} +if(!f(bS))throw MakeRangeError(128); +return %InternalDateFormat(%GetImplFromInitializedIntlObject(bz), +new i(bS)); +} +function parseDate(bz,ai){ +return %InternalDateParse(%GetImplFromInitializedIntlObject(bz), +l(ai)); +} +addBoundMethod(y.DateTimeFormat,'format',formatDate,0); +addBoundMethod(y.DateTimeFormat,'v8Parse',parseDate,1); +function canonicalizeTimeZoneID(bT){ +if((bT===(void 0))){ +return bT; } -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%JSProxyRevoke(h)}; +function ProxyCreate(g,h){ +if(!(%_IsSpecObject(g))) +throw MakeTypeError(86,"create") +if((h===(void 0))) +h=null +else if(!((%_IsSpecObject(h))||(h===null))) +throw MakeTypeError(91) +return %CreateJSProxy(g,h) +} +function ProxyCreateFunction(g,i,j){ +if(!(%_IsSpecObject(g))) +throw MakeTypeError(86,"createFunction") +if(!(typeof(i)==='function')) +throw MakeTypeError(94,"call") +if((j===(void 0))){ +j=DerivedConstructTrap(i) +}else if((typeof(j)==='function')){ +var k=j +j=function(){ +return %Apply(k,(void 0),arguments,0,%_ArgumentsLength()); } -function ProxyEnumerate(i,g,f){ -var j=%_Call(i,g,f); -if(!(%_IsJSReceiver(j))){ -throw d(99); +}else{ +throw MakeTypeError(94,"construct") } -var k=[]; -for(var l=j.next();!l.done;l=j.next()){ -var m=l.value; -if(!(typeof(m)==='string')){ -throw d(100); +return %CreateJSFunctionProxy( +g,i,j,c.prototype) } -k.push(m); +function DerivedConstructTrap(i){ +return function(){ +var h=this.prototype +if(!(%_IsSpecObject(h)))h=d.prototype +var l={__proto__:h}; +var m=%Apply(i,l,arguments,0,%_ArgumentsLength()); +return(%_IsSpecObject(m))?m:l } -return k; } -b.InstallFunctions(c,2,[ -"revocable",ProxyCreateRevocable -]); +function DelegateCallAndConstruct(i,j){ +return function(){ +return %Apply(%_IsConstructCall()?j:i, +this,arguments,0,%_ArgumentsLength()) +} +} +function DerivedGetTrap(n,o){ +var p=this.getPropertyDescriptor(o) +if((p===(void 0))){return p} +if('value'in p){ +return p.value +}else{ +if((p.get===(void 0))){return p.get} +return %_CallFunction(n,p.get) +} +} +function DerivedSetTrap(n,o,q){ +var p=this.getOwnPropertyDescriptor(o) +if(p){ +if('writable'in p){ +if(p.writable){ +p.value=q +this.defineProperty(o,p) +return true +}else{ +return false +} +}else{ +if(p.set){ +%_CallFunction(n,q,p.set) +return true +}else{ +return false +} +} +} +p=this.getPropertyDescriptor(o) +if(p){ +if('writable'in p){ +if(p.writable){ +}else{ +return false +} +}else{ +if(p.set){ +%_CallFunction(n,q,p.set) +return true +}else{ +return false +} +} +} +this.defineProperty(o,{ +value:q, +writable:true, +enumerable:true, +configurable:true}); +return true; +} +function DerivedHasTrap(o){ +return!!this.getPropertyDescriptor(o) +} +function DerivedHasOwnTrap(o){ +return!!this.getOwnPropertyDescriptor(o) +} +function DerivedKeysTrap(){ +var r=this.getOwnPropertyNames() +var s=[] +for(var t=0,count=0;t0){ -if(%_DebugIsActive()!=0)%DebugPrepareStepInIfStepping(this); +var h=%GeneratorGetContinuation(this); +if(h>0){ +if((%_DebugIsActive()!=0))%DebugPrepareStepInIfStepping(this); try{ -return %_GeneratorNext(this,i); +return %_GeneratorNext(this,g); }catch(e){ %GeneratorClose(this); throw e; } -}else if(j==0){ +}else if(h==0){ return{value:void 0,done:true}; }else{ -throw f(40); +throw MakeTypeError(34); } } -function GeneratorObjectThrow(k){ +function GeneratorObjectThrow(i){ if(!(%_ClassOf(this)==='Generator')){ -throw f(42, +throw MakeTypeError(36, '[Generator].prototype.throw',this); } -var j=%GeneratorGetContinuation(this); -if(j>0){ +var h=%GeneratorGetContinuation(this); +if(h>0){ try{ -return %_GeneratorThrow(this,k); +return %_GeneratorThrow(this,i); }catch(e){ %GeneratorClose(this); throw e; } -}else if(j==0){ -throw k; +}else if(h==0){ +throw i; }else{ -throw f(40); +throw MakeTypeError(34); } } +function GeneratorFunctionConstructor(j){ +var k=d(arguments,'function*'); +var l=%GlobalProxy(GeneratorFunctionConstructor); +var m=%_CallFunction(l,%CompileString(k,true)); +%FunctionMarkNameShouldPrintAsAnonymous(m); +return m; +} %NeverOptimizeFunction(GeneratorObjectNext); %NeverOptimizeFunction(GeneratorObjectThrow); -var l=c.prototype; -b.InstallFunctions(l, +var n=GeneratorFunctionPrototype.prototype; +b.InstallFunctions(n, 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); +%AddNamedProperty(n,"constructor", +GeneratorFunctionPrototype,2|1); +%AddNamedProperty(n, +e,"Generator",2|1); +%InternalSetPrototype(GeneratorFunctionPrototype,c.prototype); +%AddNamedProperty(GeneratorFunctionPrototype, +e,"GeneratorFunction",2|1); +%AddNamedProperty(GeneratorFunctionPrototype,"constructor", +GeneratorFunction,2|1); +%InternalSetPrototype(GeneratorFunction,c); +%SetCode(GeneratorFunction,GeneratorFunctionConstructor); }) -=%_TypedArrayGetLength(i)){ return(void 0); } -k=(%_ToNumber(k)); -l=(%_ToNumber(l)); +k=e(k); +l=e(l); return %_AtomicsCompareExchange(i,j,k,l); } function AtomicsLoadJS(i,j){ @@ -16179,7 +17891,7 @@ j=(%_ToInteger(j)); if(j<0||j>=%_TypedArrayGetLength(i)){ return(void 0); } -m=(%_ToNumber(m)); +m=e(m); return %_AtomicsStore(i,j,m); } function AtomicsAddJS(h,j,m){ @@ -16188,7 +17900,7 @@ j=(%_ToInteger(j)); if(j<0||j>=%_TypedArrayGetLength(h)){ return(void 0); } -m=(%_ToNumber(m)); +m=e(m); return %_AtomicsAdd(h,j,m); } function AtomicsSubJS(h,j,m){ @@ -16197,7 +17909,7 @@ j=(%_ToInteger(j)); if(j<0||j>=%_TypedArrayGetLength(h)){ return(void 0); } -m=(%_ToNumber(m)); +m=e(m); return %_AtomicsSub(h,j,m); } function AtomicsAndJS(h,j,m){ @@ -16206,7 +17918,7 @@ j=(%_ToInteger(j)); if(j<0||j>=%_TypedArrayGetLength(h)){ return(void 0); } -m=(%_ToNumber(m)); +m=e(m); return %_AtomicsAnd(h,j,m); } function AtomicsOrJS(h,j,m){ @@ -16215,7 +17927,7 @@ j=(%_ToInteger(j)); if(j<0||j>=%_TypedArrayGetLength(h)){ return(void 0); } -m=(%_ToNumber(m)); +m=e(m); return %_AtomicsOr(h,j,m); } function AtomicsXorJS(h,j,m){ @@ -16224,7 +17936,7 @@ j=(%_ToInteger(j)); if(j<0||j>=%_TypedArrayGetLength(h)){ return(void 0); } -m=(%_ToNumber(m)); +m=e(m); return %_AtomicsXor(h,j,m); } function AtomicsExchangeJS(h,j,m){ @@ -16233,7 +17945,7 @@ j=(%_ToInteger(j)); if(j<0||j>=%_TypedArrayGetLength(h)){ return(void 0); } -m=(%_ToNumber(m)); +m=e(m); return %_AtomicsExchange(h,j,m); } function AtomicsIsLockFreeJS(n){ @@ -16248,11 +17960,11 @@ return(void 0); if((o===(void 0))){ o=(1/0); }else{ -o=(%_ToNumber(o)); +o=e(o); if((!%_IsSmi(%IS_VAR(o))&&!(o==o))){ o=(1/0); }else{ -o=e(0,o); +o=d(0,o); } } return %AtomicsFutexWait(h,j,m,o); @@ -16263,14 +17975,14 @@ j=(%_ToInteger(j)); if(j<0||j>=%_TypedArrayGetLength(h)){ return(void 0); } -p=e(0,(%_ToInteger(p))); +p=d(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); +p=d(0,(%_ToInteger(p))); +m=(m|0); r=(%_ToInteger(r)); if(q<0||q>=%_TypedArrayGetLength(h)|| r<0||r>=%_TypedArrayGetLength(h)){ @@ -16289,1751 +18001,1861 @@ b.InstallConstants(s,[ "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, +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, +]); +}) + +Xharmony-array-includes +(function(a,b){ +'use strict'; +%CheckIsBootstrapping(); +var c=a.Array; +function InnerArrayIncludes(d,e,f,g){ +if(g===0){ +return false; +} +var h=(%_ToInteger(e)); +var i; +if(h>=0){ +i=h; +}else{ +i=g+h; +if(i<0){ +i=0; +} +} +while(i - `${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; -}); +dummy<(function() {})dummy<(function(){}) diff --git a/release/Fastlane-darwin-x64/Fastlane.app/Contents/Frameworks/Electron Framework.framework/Versions/A/Resources/snapshot_blob.bin b/release/Fastlane-darwin-x64/Fastlane.app/Contents/Frameworks/Electron Framework.framework/Versions/A/Resources/snapshot_blob.bin index b8b5ea0..d103881 100644 Binary files a/release/Fastlane-darwin-x64/Fastlane.app/Contents/Frameworks/Electron Framework.framework/Versions/A/Resources/snapshot_blob.bin and b/release/Fastlane-darwin-x64/Fastlane.app/Contents/Frameworks/Electron Framework.framework/Versions/A/Resources/snapshot_blob.bin differ diff --git a/release/Fastlane-darwin-x64/Fastlane.app/Contents/Info.plist b/release/Fastlane-darwin-x64/Fastlane.app/Contents/Info.plist index c32f540..1704471 100644 --- a/release/Fastlane-darwin-x64/Fastlane.app/Contents/Info.plist +++ b/release/Fastlane-darwin-x64/Fastlane.app/Contents/Info.plist @@ -19,9 +19,9 @@ CFBundlePackageType APPL CFBundleShortVersionString - 0.37.3 + 0.36.6 CFBundleVersion - 0.37.3 + 0.36.6 DTSDKBuild 14D125 DTSDKName @@ -33,7 +33,7 @@ LSApplicationCategoryType public.app-category.developer-tools LSMinimumSystemVersion - 10.9.0 + 10.8.0 NSHighResolutionCapable NSMainNibFile diff --git a/release/Fastlane-darwin-x64/Fastlane.app/Contents/Resources/app/.babelrc b/release/Fastlane-darwin-x64/Fastlane.app/Contents/Resources/app/.babelrc index da73fd8..137c328 100755 --- a/release/Fastlane-darwin-x64/Fastlane.app/Contents/Resources/app/.babelrc +++ b/release/Fastlane-darwin-x64/Fastlane.app/Contents/Resources/app/.babelrc @@ -2,13 +2,6 @@ "presets": ["es2015", "stage-0", "react"], "plugins": [ "transform-runtime", - "babel-plugin-transform-decorators-legacy", - ["react-transform", { - "transforms": [{ - "transform" : "react-transform-hmr", - "imports" : ["react"], - "locals" : ["module"] - }] - }] + "babel-plugin-transform-decorators-legacy" ] } diff --git a/release/Fastlane-darwin-x64/Fastlane.app/Contents/Resources/app/api/api.js b/release/Fastlane-darwin-x64/Fastlane.app/Contents/Resources/app/api/api.js deleted file mode 100644 index 21f9a64..0000000 --- a/release/Fastlane-darwin-x64/Fastlane.app/Contents/Resources/app/api/api.js +++ /dev/null @@ -1,106 +0,0 @@ -import express from 'express'; -import config from '../config'; -import uber from './service/uber'; -import geolocation from './service/geolocation'; - -const { API_PORT, DOMAIN } = config; - -const api = express(); - -api.use((req, res, next) => { - res.header('Access-Control-Allow-Origin', DOMAIN); - res.header('Access-Control-Allow-Methods', 'DELETE'); - res.header('Access-Control-Allow-Credentials', true); - next(); -}); - -/** - * Geolocation - * GET /geolocation - */ -api.get('/geolocation', async (req, res) => res.json(await geolocation.lookup())); - -/** - * Authenticate - * GET /oauth/v2/authorize - * @param {code} - */ -api.post('/auth', async (req, res) => - res.json(await uber.authenticate(req.query.code))); - -/** - * Product types - * GET /v1/products - * @param {latitude} - * @param {longitude} - */ -api.get('/products', async (req, res) => - res.json(await uber.request('v1/products', req.query))); - -/** - * Time estimates - * GET /v1/estimates/time - * @param {start_latitude} - * @param {start_longitude} - * @param {customer_uuid?} - * @param {product_id?} - */ -api.get('/estimates/time', async (req, res) => - res.json(await uber.request('v1/estimates/time', req.query))); - -/** - * Price estimates - * GET /v1/estimates/price - * @param {start_latitude} - * @param {start_longitude} - * @param {end_latitude} - * @param {end_longitude} - */ -api.get('/estimates/price', async (req, res) => - res.json(await uber.request('v1/estimates/price', req.query))); - -/** - * Ride request - Map - * GET /v1/request - * @param {request_id} - */ -api.get('/request/:request_id/map', async (req, res) => - res.json(await uber.request(`v1/requests/${req.params.request_id}/map`, req.query))); - -/** - * Ride request - * POST /v1/request - * @param {start_latitude} - * @param {start_longitude} - * @param {product_id?} - * @param {start_nickname?} - * @param {start_address?} - * @param {end_latitude?} - * @param {end_longitude?} - * @param {end_nickname?} - * @param {end_address?} - * @param {surge_confirmation_id?} - */ -api.post('/request', async (req, res) => - res.json(await uber.request('v1/requests', req.query, 'POST'))); - -/** - * Ride request - Details - * GET /v1/request - * @param {request_id} - */ -api.get('/request/:request_id', async (req, res) => - res.json(await uber.request(`v1/requests/${req.params.request_id}`, req.query))); - -/** - * Ride request - Delete - * DELETE /v1/request - * @param {request_id} - */ -api.delete('/request/:request_id', async (req, res) => - res.json(await uber.delete(`v1/requests/${req.params.request_id}`, req.query))); - - -api.listen(API_PORT, () => { - console.log(`Api started on port ${API_PORT}`); -}); diff --git a/release/Fastlane-darwin-x64/Fastlane.app/Contents/Resources/app/desktop/app.html b/release/Fastlane-darwin-x64/Fastlane.app/Contents/Resources/app/app.html similarity index 89% rename from release/Fastlane-darwin-x64/Fastlane.app/Contents/Resources/app/desktop/app.html rename to release/Fastlane-darwin-x64/Fastlane.app/Contents/Resources/app/app.html index 801653e..0eb7929 100644 --- a/release/Fastlane-darwin-x64/Fastlane.app/Contents/Resources/app/desktop/app.html +++ b/release/Fastlane-darwin-x64/Fastlane.app/Contents/Resources/app/app.html @@ -31,10 +31,9 @@ + height="515"> diff --git a/release/Fastlane-darwin-x64/Fastlane.app/Contents/Resources/app/assets/fonts/light.woff b/release/Fastlane-darwin-x64/Fastlane.app/Contents/Resources/app/assets/fonts/light.woff deleted file mode 100755 index 29c1e85..0000000 Binary files a/release/Fastlane-darwin-x64/Fastlane.app/Contents/Resources/app/assets/fonts/light.woff and /dev/null differ diff --git a/release/Fastlane-darwin-x64/Fastlane.app/Contents/Resources/app/assets/fonts/ultra.woff b/release/Fastlane-darwin-x64/Fastlane.app/Contents/Resources/app/assets/fonts/ultra.woff deleted file mode 100755 index 1b4786a..0000000 Binary files a/release/Fastlane-darwin-x64/Fastlane.app/Contents/Resources/app/assets/fonts/ultra.woff and /dev/null differ diff --git a/release/Fastlane-darwin-x64/Fastlane.app/Contents/Resources/app/assets/img/bg.png b/release/Fastlane-darwin-x64/Fastlane.app/Contents/Resources/app/assets/img/bg.png deleted file mode 100644 index b5563b4..0000000 Binary files a/release/Fastlane-darwin-x64/Fastlane.app/Contents/Resources/app/assets/img/bg.png and /dev/null differ diff --git a/release/Fastlane-darwin-x64/Fastlane.app/Contents/Resources/app/assets/img/logo.svg b/release/Fastlane-darwin-x64/Fastlane.app/Contents/Resources/app/assets/img/logo.svg deleted file mode 100644 index aa64914..0000000 --- a/release/Fastlane-darwin-x64/Fastlane.app/Contents/Resources/app/assets/img/logo.svg +++ /dev/null @@ -1,13 +0,0 @@ - - - - logo - Created with Sketch. - - - - - \ No newline at end of file diff --git a/release/Fastlane-darwin-x64/Fastlane.app/Contents/Resources/app/assets/img/star-light.svg b/release/Fastlane-darwin-x64/Fastlane.app/Contents/Resources/app/assets/img/star-light.svg deleted file mode 100644 index 2d42c01..0000000 --- a/release/Fastlane-darwin-x64/Fastlane.app/Contents/Resources/app/assets/img/star-light.svg +++ /dev/null @@ -1,20 +0,0 @@ - - - - star-light - Created with Sketch. - - - - - - - - - - - - - - - \ No newline at end of file diff --git a/release/Fastlane-darwin-x64/Fastlane.app/Contents/Resources/app/config-template.json b/release/Fastlane-darwin-x64/Fastlane.app/Contents/Resources/app/config-template.json index 867f459..61a67d4 100644 --- a/release/Fastlane-darwin-x64/Fastlane.app/Contents/Resources/app/config-template.json +++ b/release/Fastlane-darwin-x64/Fastlane.app/Contents/Resources/app/config-template.json @@ -1,8 +1,7 @@ { "PORT": 5555, - "API_PORT": 5556, "DOMAIN": "http://localhost:5555", - "API_ENDPOINT": "http://localhost:5556", + "API_ENDPOINT": "http://localhost:5555/api", "REDIRECT_URI": "http://localhost:5555", "UBER_AUTH_ENDPOINT": "https://login.uber.com/oauth", "UBER_API_ENDPOINT": "https://sandbox-api.uber.com", diff --git a/release/Fastlane-darwin-x64/Fastlane.app/Contents/Resources/app/design/Fastlane-fullscreen.png b/release/Fastlane-darwin-x64/Fastlane.app/Contents/Resources/app/design/Fastlane-fullscreen.png deleted file mode 100644 index ca919ee..0000000 Binary files a/release/Fastlane-darwin-x64/Fastlane.app/Contents/Resources/app/design/Fastlane-fullscreen.png and /dev/null differ diff --git a/release/Fastlane-darwin-x64/Fastlane.app/Contents/Resources/app/design/Fastlane.png b/release/Fastlane-darwin-x64/Fastlane.app/Contents/Resources/app/design/Fastlane.png deleted file mode 100644 index 7eb8352..0000000 Binary files a/release/Fastlane-darwin-x64/Fastlane.app/Contents/Resources/app/design/Fastlane.png and /dev/null differ diff --git a/release/Fastlane-darwin-x64/Fastlane.app/Contents/Resources/app/design/Fastlane.sketch b/release/Fastlane-darwin-x64/Fastlane.app/Contents/Resources/app/design/Fastlane.sketch deleted file mode 100644 index 44ebcf9..0000000 Binary files a/release/Fastlane-darwin-x64/Fastlane.app/Contents/Resources/app/design/Fastlane.sketch and /dev/null differ diff --git a/release/Fastlane-darwin-x64/Fastlane.app/Contents/Resources/app/desktop.js b/release/Fastlane-darwin-x64/Fastlane.app/Contents/Resources/app/desktop.js index 0596ef3..18fc29d 100644 --- a/release/Fastlane-darwin-x64/Fastlane.app/Contents/Resources/app/desktop.js +++ b/release/Fastlane-darwin-x64/Fastlane.app/Contents/Resources/app/desktop.js @@ -7,17 +7,14 @@ require('babel-register'); // start frontend server require('./src/server.js'); -// start api server -require('./api/api.js'); - menubar({ - icon: path.join(__dirname, '/desktop/icons/UberLogo.png'), - // transparent: true, + icon: path.join(__dirname, '/public/icons/UberLogo.png'), + transparent: true, movable: false, resizable: false, useContentSize: true, height: 525, width: 340, - index: `file://${__dirname}/desktop/app.html`, + index: `file://${__dirname}/app.html`, y: 30, }); diff --git a/release/Fastlane-darwin-x64/Fastlane.app/Contents/Resources/app/desktop/icons/UberLogo.png b/release/Fastlane-darwin-x64/Fastlane.app/Contents/Resources/app/desktop/icons/UberLogo.png deleted file mode 100644 index 565a699..0000000 Binary files a/release/Fastlane-darwin-x64/Fastlane.app/Contents/Resources/app/desktop/icons/UberLogo.png and /dev/null differ diff --git a/release/Fastlane-darwin-x64/Fastlane.app/Contents/Resources/app/desktop/icons/UberLogo@2x.png b/release/Fastlane-darwin-x64/Fastlane.app/Contents/Resources/app/desktop/icons/UberLogo@2x.png deleted file mode 100644 index bbbbc56..0000000 Binary files a/release/Fastlane-darwin-x64/Fastlane.app/Contents/Resources/app/desktop/icons/UberLogo@2x.png and /dev/null differ diff --git a/release/Fastlane-darwin-x64/Fastlane.app/Contents/Resources/app/desktop/icons/UberLogo@3x.png b/release/Fastlane-darwin-x64/Fastlane.app/Contents/Resources/app/desktop/icons/UberLogo@3x.png deleted file mode 100644 index 75208fc..0000000 Binary files a/release/Fastlane-darwin-x64/Fastlane.app/Contents/Resources/app/desktop/icons/UberLogo@3x.png and /dev/null differ diff --git a/release/Fastlane-darwin-x64/Fastlane.app/Contents/Resources/app/desktop/icons/UberLogo@4x.png b/release/Fastlane-darwin-x64/Fastlane.app/Contents/Resources/app/desktop/icons/UberLogo@4x.png deleted file mode 100644 index ecd538b..0000000 Binary files a/release/Fastlane-darwin-x64/Fastlane.app/Contents/Resources/app/desktop/icons/UberLogo@4x.png and /dev/null differ diff --git a/release/Fastlane-darwin-x64/Fastlane.app/Contents/Resources/app/icon.icns b/release/Fastlane-darwin-x64/Fastlane.app/Contents/Resources/app/icon.icns new file mode 100644 index 0000000..716390d Binary files /dev/null and b/release/Fastlane-darwin-x64/Fastlane.app/Contents/Resources/app/icon.icns differ diff --git a/release/Fastlane-darwin-x64/Fastlane.app/Contents/Resources/app/index.html b/release/Fastlane-darwin-x64/Fastlane.app/Contents/Resources/app/index.html index 174d91f..55f775f 100755 --- a/release/Fastlane-darwin-x64/Fastlane.app/Contents/Resources/app/index.html +++ b/release/Fastlane-darwin-x64/Fastlane.app/Contents/Resources/app/index.html @@ -10,6 +10,6 @@
- + diff --git a/release/Fastlane-darwin-x64/Fastlane.app/Contents/Resources/app/index.js b/release/Fastlane-darwin-x64/Fastlane.app/Contents/Resources/app/index.js index eb45efd..cb86467 100644 --- a/release/Fastlane-darwin-x64/Fastlane.app/Contents/Resources/app/index.js +++ b/release/Fastlane-darwin-x64/Fastlane.app/Contents/Resources/app/index.js @@ -3,6 +3,3 @@ require('babel-register'); // start frontend server require('./src/server.js'); - -// start api server -require('./api/api.js'); diff --git a/release/Fastlane-darwin-x64/Fastlane.app/Contents/Resources/app/package.json b/release/Fastlane-darwin-x64/Fastlane.app/Contents/Resources/app/package.json index 7480d8d..9d64ad1 100644 --- a/release/Fastlane-darwin-x64/Fastlane.app/Contents/Resources/app/package.json +++ b/release/Fastlane-darwin-x64/Fastlane.app/Contents/Resources/app/package.json @@ -6,9 +6,10 @@ "main": "desktop.js", "private": true, "scripts": { - "dev": "webpack -w & node index.js", - "desktop": "webpack -p & electron desktop.js", - "lint": "./node_modules/eslint/bin/eslint.js \"src/**/?(*.js|*.jsx)\" index.js" + "dev": "webpack -w --config webpack.dev.config.js & node index.js", + "desktop": "webpack --config webpack.prod.config.js && electron desktop.js", + "lint": "./node_modules/eslint/bin/eslint.js \"src/**/?(*.js|*.jsx)\" index.js", + "build": "NODE_ENV=production webpack --bail --config webpack.prod.config.js && npm install && npm prune && electron-packager . Fastlane --platform=darwin --arch=x64 --version=0.36.6 --out=release --overwrite --icon=icon.icns --ignore=design" }, "dependencies": { "babel-plugin-transform-decorators-legacy": "^1.3.4", @@ -35,7 +36,6 @@ "babel-core": "^6.7.4", "babel-eslint": "^6.0.2", "babel-loader": "^6.2.4", - "babel-plugin-react-transform": "^2.0.2", "babel-plugin-transform-runtime": "^6.6.0", "babel-preset-es2015": "^6.6.0", "babel-preset-react": "^6.5.0", @@ -47,15 +47,11 @@ "json-loader": "^0.5.4", "node-sass": "^3.4.2", "pre-commit": "^1.1.2", - "react-transform-hmr": "^1.0.4", "sass-loader": "^3.2.0", "style-loader": "^0.13.1", - "webpack": "^2.1.0-beta.2", - "webpack-dev-middleware": "^1.6.1", - "webpack-hot-middleware": "^2.10.0" + "webpack": "^2.1.0-beta.2" }, "pre-commit": [ - "lint", - "test" + "lint" ] } diff --git a/release/Fastlane-darwin-x64/Fastlane.app/Contents/Resources/app/src/api/index.js b/release/Fastlane-darwin-x64/Fastlane.app/Contents/Resources/app/src/api/index.js new file mode 100644 index 0000000..e778ff4 --- /dev/null +++ b/release/Fastlane-darwin-x64/Fastlane.app/Contents/Resources/app/src/api/index.js @@ -0,0 +1,104 @@ +/* eslint new-cap: 0 */ +import { Router } from 'express'; +import uber from './service/uber'; +import geolocation from './service/geolocation'; +import { DOMAIN } from '../../config'; + +export default function () { + const api = Router(); + + api.use((req, res, next) => { + res.header('Access-Control-Allow-Origin', DOMAIN); + res.header('Access-Control-Allow-Methods', 'DELETE'); + res.header('Access-Control-Allow-Credentials', true); + next(); + }); + + /** + * Geolocation + * GET /geolocation + */ + api.get('/geolocation', async (req, res) => res.json(await geolocation.lookup())); + + /** + * Authenticate + * GET /oauth/v2/authorize + * @param {code} + */ + api.post('/auth', async (req, res) => + res.json(await uber.authenticate(req.query.code))); + + /** + * Product types + * GET /v1/products + * @param {latitude} + * @param {longitude} + */ + api.get('/products', async (req, res) => + res.json(await uber.request('v1/products', req.query))); + + /** + * Time estimates + * GET /v1/estimates/time + * @param {start_latitude} + * @param {start_longitude} + * @param {customer_uuid?} + * @param {product_id?} + */ + api.get('/estimates/time', async (req, res) => + res.json(await uber.request('v1/estimates/time', req.query))); + + /** + * Price estimates + * GET /v1/estimates/price + * @param {start_latitude} + * @param {start_longitude} + * @param {end_latitude} + * @param {end_longitude} + */ + api.get('/estimates/price', async (req, res) => + res.json(await uber.request('v1/estimates/price', req.query))); + + /** + * Ride request - Map + * GET /v1/request + * @param {request_id} + */ + api.get('/request/:request_id/map', async (req, res) => + res.json(await uber.request(`v1/requests/${req.params.request_id}/map`, req.query))); + + /** + * Ride request + * POST /v1/request + * @param {start_latitude} + * @param {start_longitude} + * @param {product_id?} + * @param {start_nickname?} + * @param {start_address?} + * @param {end_latitude?} + * @param {end_longitude?} + * @param {end_nickname?} + * @param {end_address?} + * @param {surge_confirmation_id?} + */ + api.post('/request', async (req, res) => + res.json(await uber.request('v1/requests', req.query, 'POST'))); + + /** + * Ride request - Details + * GET /v1/request + * @param {request_id} + */ + api.get('/request/:request_id', async (req, res) => + res.json(await uber.request(`v1/requests/${req.params.request_id}`, req.query))); + + /** + * Ride request - Delete + * DELETE /v1/request + * @param {request_id} + */ + api.delete('/request/:request_id', async (req, res) => + res.json(await uber.delete(`v1/requests/${req.params.request_id}`, req.query))); + + return api; +} diff --git a/api/service/geolocation.js b/release/Fastlane-darwin-x64/Fastlane.app/Contents/Resources/app/src/api/service/geolocation.js similarity index 100% rename from api/service/geolocation.js rename to release/Fastlane-darwin-x64/Fastlane.app/Contents/Resources/app/src/api/service/geolocation.js diff --git a/api/service/uber.js b/release/Fastlane-darwin-x64/Fastlane.app/Contents/Resources/app/src/api/service/uber.js similarity index 96% rename from api/service/uber.js rename to release/Fastlane-darwin-x64/Fastlane.app/Contents/Resources/app/src/api/service/uber.js index ffc4ba9..3ac0339 100644 --- a/api/service/uber.js +++ b/release/Fastlane-darwin-x64/Fastlane.app/Contents/Resources/app/src/api/service/uber.js @@ -1,7 +1,7 @@ import Promise from 'bluebird'; import qs from 'query-string'; import fetch from 'node-fetch'; -import config from '../../config.json'; +import config from '../../../config'; const { CLIENT_ID, diff --git a/release/Fastlane-darwin-x64/Fastlane.app/Contents/Resources/app/src/component/EnRoute.jsx b/release/Fastlane-darwin-x64/Fastlane.app/Contents/Resources/app/src/component/EnRoute.jsx index d9add5a..eec1be7 100644 --- a/release/Fastlane-darwin-x64/Fastlane.app/Contents/Resources/app/src/component/EnRoute.jsx +++ b/release/Fastlane-darwin-x64/Fastlane.app/Contents/Resources/app/src/component/EnRoute.jsx @@ -41,7 +41,7 @@ export default class Confirm extends React.Component { {order.driver.name} {order.driver.rating} - + diff --git a/release/Fastlane-darwin-x64/Fastlane.app/Contents/Resources/app/src/component/Start.jsx b/release/Fastlane-darwin-x64/Fastlane.app/Contents/Resources/app/src/component/Start.jsx index c59e055..bda1a36 100644 --- a/release/Fastlane-darwin-x64/Fastlane.app/Contents/Resources/app/src/component/Start.jsx +++ b/release/Fastlane-darwin-x64/Fastlane.app/Contents/Resources/app/src/component/Start.jsx @@ -13,7 +13,7 @@ export default class Start extends React.Component {
- Uber + Uber
diff --git a/release/Fastlane-darwin-x64/Fastlane.app/Contents/Resources/app/src/sass/main.scss b/release/Fastlane-darwin-x64/Fastlane.app/Contents/Resources/app/src/sass/main.scss index c676f00..5bf10b3 100644 --- a/release/Fastlane-darwin-x64/Fastlane.app/Contents/Resources/app/src/sass/main.scss +++ b/release/Fastlane-darwin-x64/Fastlane.app/Contents/Resources/app/src/sass/main.scss @@ -123,7 +123,7 @@ a { animation-timing-function: ease; position: relative; z-index: 0; - background: url('/assets/img/bg.png') no-repeat; + background: url('/public/img/bg.png') no-repeat; background-size: 495px; } } diff --git a/release/Fastlane-darwin-x64/Fastlane.app/Contents/Resources/app/src/server.js b/release/Fastlane-darwin-x64/Fastlane.app/Contents/Resources/app/src/server.js index a400632..2689643 100755 --- a/release/Fastlane-darwin-x64/Fastlane.app/Contents/Resources/app/src/server.js +++ b/release/Fastlane-darwin-x64/Fastlane.app/Contents/Resources/app/src/server.js @@ -1,25 +1,22 @@ import path from 'path'; import express from 'express'; -import webpack from 'webpack'; -import settings from '../webpack.config'; -import config from '../config'; +import api from './api'; +import { PORT } from '../config'; const server = express(); -const compiler = webpack(settings); -const { PORT } = config; +// Api endpoints +server.use('/api', api()); -server.use(require('webpack-dev-middleware')(compiler, { - publicPath: settings.output.publicPath, - stats: { - colors: true, - }, -})); +// Serve static files +server.use('/public', express.static('public')); -server.use(require('webpack-hot-middleware')(compiler)); -server.use('/static', express.static('public')); -server.use('/assets', express.static('assets')); +// Serve bundle +server.get('/bundle', (req, res) => { + res.sendFile(path.join(__dirname, '../public/bundle.js')); +}); +// Serve html for react server.get('*', (req, res) => { res.sendFile(path.join(__dirname, '../index.html')); }); diff --git a/release/Fastlane-darwin-x64/Fastlane.app/Contents/Resources/app/webpack.config.js b/release/Fastlane-darwin-x64/Fastlane.app/Contents/Resources/app/webpack.dev.config.js similarity index 70% rename from release/Fastlane-darwin-x64/Fastlane.app/Contents/Resources/app/webpack.config.js rename to release/Fastlane-darwin-x64/Fastlane.app/Contents/Resources/app/webpack.dev.config.js index 020c5ba..552a1f9 100755 --- a/release/Fastlane-darwin-x64/Fastlane.app/Contents/Resources/app/webpack.config.js +++ b/release/Fastlane-darwin-x64/Fastlane.app/Contents/Resources/app/webpack.dev.config.js @@ -3,7 +3,6 @@ const path = require('path'); module.exports = { entry: [ - 'webpack-hot-middleware/client?path=http://localhost:5555/__webpack_hmr', './src/client', ], output: { @@ -14,13 +13,6 @@ module.exports = { plugins: [ new webpack.HotModuleReplacementPlugin(), new webpack.NoErrorsPlugin(), - // new webpack.optimize.OccurenceOrderPlugin(), - // new webpack.optimize.UglifyJsPlugin({ - // compress: { - // warnings: false, - // }, - // }), - // new webpack.optimize.DedupePlugin(), ], module: { loaders: [ diff --git a/release/Fastlane-darwin-x64/Fastlane.app/Contents/Resources/app/webpack.prod.config.js b/release/Fastlane-darwin-x64/Fastlane.app/Contents/Resources/app/webpack.prod.config.js new file mode 100644 index 0000000..b5f6f14 --- /dev/null +++ b/release/Fastlane-darwin-x64/Fastlane.app/Contents/Resources/app/webpack.prod.config.js @@ -0,0 +1,55 @@ +const webpack = require('webpack'); +const path = require('path'); + +module.exports = { + entry: [ + './src/client', + ], + output: { + path: path.join(__dirname, 'public'), + filename: 'bundle.js', + publicPath: '/public/', + }, + plugins: [ + new webpack.NoErrorsPlugin(), + new webpack.optimize.UglifyJsPlugin({ + compress: { + warnings: false, + screw_ie8: true, + sequences: true, + dead_code: true, + drop_debugger: true, + comparisons: true, + conditionals: true, + evaluate: true, + booleans: true, + loops: true, + unused: true, + hoist_funs: true, + if_return: true, + join_vars: true, + cascade: true, + drop_console: true, + }, + output: { + comments: false, + }, + sourceMap: false, + }), + new webpack.optimize.DedupePlugin(), + new webpack.DefinePlugin({ + 'process.env.NODE_ENV': JSON.stringify('production'), + }), + ], + module: { + loaders: [ + { test: /\.jsx?$/, loaders: ['babel'], include: path.join(__dirname, 'src') }, + { test: /\.scss$/, loader: 'style!css!sass' }, + { test: /\.json$/, loader: 'json' }, + { test: /\.woff2?($|\?)/, loader: 'url?limit=10000&mimetype=application/font-woff' }, + ], + }, + resolve: { + extensions: ['', '.js'], + }, +}; diff --git a/release/Fastlane-darwin-x64/Fastlane.app/Contents/Resources/atom.asar b/release/Fastlane-darwin-x64/Fastlane.app/Contents/Resources/atom.asar index c100b38..5b6cdc2 100644 Binary files a/release/Fastlane-darwin-x64/Fastlane.app/Contents/Resources/atom.asar and b/release/Fastlane-darwin-x64/Fastlane.app/Contents/Resources/atom.asar differ diff --git a/release/Fastlane-darwin-x64/Fastlane.app/Contents/Resources/atom.icns b/release/Fastlane-darwin-x64/Fastlane.app/Contents/Resources/atom.icns index dac213e..716390d 100644 Binary files a/release/Fastlane-darwin-x64/Fastlane.app/Contents/Resources/atom.icns and b/release/Fastlane-darwin-x64/Fastlane.app/Contents/Resources/atom.icns differ diff --git a/release/Fastlane-darwin-x64/LICENSES.chromium.html b/release/Fastlane-darwin-x64/LICENSES.chromium.html index dd08bec..2fc013b 100644 --- a/release/Fastlane-darwin-x64/LICENSES.chromium.html +++ b/release/Fastlane-darwin-x64/LICENSES.chromium.html @@ -528,7 +528,7 @@
Android Crazy Linker show license -homepage +homepage
// Copyright 2014 The Chromium Authors. All rights reserved.
 //
@@ -1090,10 +1090,64 @@
 
+
+Binary-, RedBlack- and AVL-Trees in Python and Cython +show license +homepage +
+
Copyright (c) 2012, Manfred Moitzi
+
+Permission is hereby granted, free of charge, to any person obtaining a 
+copy of this software and associated documentation files (the 
+"Software"), to deal in the Software without restriction, including 
+without limitation the rights to use, copy, modify, merge, publish, 
+distribute, sublicense, and/or sell copies of the Software, and to 
+permit persons to whom the Software is furnished to do so, subject to 
+the following conditions: 
+
+The above copyright notice and this permission notice shall be included 
+in all copies or substantial portions of the Software. 
+
+THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS 
+OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF 
+MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. 
+IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY 
+CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, 
+TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE 
+SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. 
+
+Deutsche Übersetzung:
+
+Copyright (c) 2012, Manfred Moitzi
+
+Hiermit wird unentgeltlich, jeder Person, die eine Kopie der Software 
+und der zugehörigen Dokumentationen (die "Software") erhält, die 
+Erlaubnis erteilt, uneingeschränkt zu benutzen, inklusive und ohne 
+Ausnahme, dem Recht, sie zu verwenden, kopieren, ändern, fusionieren, 
+verlegen, verbreiten, unterlizenzieren und/oder zu verkaufen, und 
+Personen, die diese Software erhalten, diese Rechte zu geben, unter den 
+folgenden Bedingungen: 
+
+Der obige Urheberrechtsvermerk und dieser Erlaubnisvermerk sind in allen 
+Kopien oder Teilkopien der Software beizulegen. 
+
+DIE SOFTWARE WIRD OHNE JEDE AUSDRÜCKLICHE ODER IMPLIZIERTE GARANTIE 
+BEREITGESTELLT, EINSCHLIESSLICH DER GARANTIE ZUR BENUTZUNG FÜR DEN 
+VORGESEHENEN ODER EINEM BESTIMMTEN ZWECK SOWIE JEGLICHER 
+RECHTSVERLETZUNG, JEDOCH NICHT DARAUF BESCHRÄNKT. IN KEINEM FALL SIND 
+DIE AUTOREN ODER COPYRIGHTINHABER FÜR JEGLICHEN SCHADEN ODER SONSTIGE 
+ANSPRÜCHE HAFTBAR ZU MACHEN, OB INFOLGE DER ERFÜLLUNG EINES VERTRAGES, 
+EINES DELIKTES ODER ANDERS IM ZUSAMMENHANG MIT DER SOFTWARE ODER 
+SONSTIGER VERWENDUNG DER SOFTWARE ENTSTANDEN. 
+
+
+
+
+
Blackmagic DeckLink SDK - Mac show license -homepage +homepage
Extracted from mac/include/DeckLinkAPI.h:
 
@@ -1124,6 +1178,45 @@
 
+
+Blink javascript libraries. +show license +homepage +
+
// Copyright 2014 The Chromium Authors. All rights reserved.
+//
+// The Chromium Authors can be found at
+// http://src.chromium.org/svn/trunk/src/AUTHORS
+//
+// Redistribution and use in source and binary forms, with or without
+// modification, are permitted provided that the following conditions are
+// met:
+//
+//    * Redistributions of source code must retain the above copyright
+// notice, this list of conditions and the following disclaimer.
+//    * Redistributions in binary form must reproduce the above
+// copyright notice, this list of conditions and the following disclaimer
+// in the documentation and/or other materials provided with the
+// distribution.
+//    * Neither the name of Google Inc. nor the names of its
+// contributors may be used to endorse or promote products derived from
+// this software without specific prior written permission.
+//
+// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
+// "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
+// LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
+// A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
+// OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
+// SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
+// LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
+// DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
+// THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
+// (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
+// OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+
+
+
+
Braille Translation Library show license @@ -1163,7 +1256,7 @@
Breakpad, An open-source multi-platform crash reporting system show license -homepage +homepage
Copyright (c) 2006, Google Inc.
 All rights reserved.
@@ -1469,542 +1562,522 @@
 
-Chrome Custom Tabs - Example and Usage +Checkstyle is a development tool to help programmers write Java code that show license -homepage +homepage
-
-                                 Apache License
-                           Version 2.0, January 2004
-                        http://www.apache.org/licenses/
+
		  GNU LESSER GENERAL PUBLIC LICENSE
+		       Version 2.1, February 1999
 
-   TERMS AND CONDITIONS FOR USE, REPRODUCTION, AND DISTRIBUTION
+ Copyright (C) 1991, 1999 Free Software Foundation, Inc.
+     59 Temple Place, Suite 330, Boston, MA  02111-1307  USA
+ Everyone is permitted to copy and distribute verbatim copies
+ of this license document, but changing it is not allowed.
 
-   1. Definitions.
+[This is the first released version of the Lesser GPL.  It also counts
+ as the successor of the GNU Library Public License, version 2, hence
+ the version number 2.1.]
 
-      "License" shall mean the terms and conditions for use, reproduction,
-      and distribution as defined by Sections 1 through 9 of this document.
+			    Preamble
 
-      "Licensor" shall mean the copyright owner or entity authorized by
-      the copyright owner that is granting the License.
+  The licenses for most software are designed to take away your
+freedom to share and change it.  By contrast, the GNU General Public
+Licenses are intended to guarantee your freedom to share and change
+free software--to make sure the software is free for all its users.
 
-      "Legal Entity" shall mean the union of the acting entity and all
-      other entities that control, are controlled by, or are under common
-      control with that entity. For the purposes of this definition,
-      "control" means (i) the power, direct or indirect, to cause the
-      direction or management of such entity, whether by contract or
-      otherwise, or (ii) ownership of fifty percent (50%) or more of the
-      outstanding shares, or (iii) beneficial ownership of such entity.
+  This license, the Lesser General Public License, applies to some
+specially designated software packages--typically libraries--of the
+Free Software Foundation and other authors who decide to use it.  You
+can use it too, but we suggest you first think carefully about whether
+this license or the ordinary General Public License is the better
+strategy to use in any particular case, based on the explanations below.
 
-      "You" (or "Your") shall mean an individual or Legal Entity
-      exercising permissions granted by this License.
+  When we speak of free software, we are referring to freedom of use,
+not price.  Our General Public Licenses are designed to make sure that
+you have the freedom to distribute copies of free software (and charge
+for this service if you wish); that you receive source code or can get
+it if you want it; that you can change the software and use pieces of
+it in new free programs; and that you are informed that you can do
+these things.
 
-      "Source" form shall mean the preferred form for making modifications,
-      including but not limited to software source code, documentation
-      source, and configuration files.
+  To protect your rights, we need to make restrictions that forbid
+distributors to deny you these rights or to ask you to surrender these
+rights.  These restrictions translate to certain responsibilities for
+you if you distribute copies of the library or if you modify it.
 
-      "Object" form shall mean any form resulting from mechanical
-      transformation or translation of a Source form, including but
-      not limited to compiled object code, generated documentation,
-      and conversions to other media types.
+  For example, if you distribute copies of the library, whether gratis
+or for a fee, you must give the recipients all the rights that we gave
+you.  You must make sure that they, too, receive or can get the source
+code.  If you link other code with the library, you must provide
+complete object files to the recipients, so that they can relink them
+with the library after making changes to the library and recompiling
+it.  And you must show them these terms so they know their rights.
 
-      "Work" shall mean the work of authorship, whether in Source or
-      Object form, made available under the License, as indicated by a
-      copyright notice that is included in or attached to the work
-      (an example is provided in the Appendix below).
+  We protect your rights with a two-step method: (1) we copyright the
+library, and (2) we offer you this license, which gives you legal
+permission to copy, distribute and/or modify the library.
 
-      "Derivative Works" shall mean any work, whether in Source or Object
-      form, that is based on (or derived from) the Work and for which the
-      editorial revisions, annotations, elaborations, or other modifications
-      represent, as a whole, an original work of authorship. For the purposes
-      of this License, Derivative Works shall not include works that remain
-      separable from, or merely link (or bind by name) to the interfaces of,
-      the Work and Derivative Works thereof.
+  To protect each distributor, we want to make it very clear that
+there is no warranty for the free library.  Also, if the library is
+modified by someone else and passed on, the recipients should know
+that what they have is not the original version, so that the original
+author's reputation will not be affected by problems that might be
+introduced by others.
+
+  Finally, software patents pose a constant threat to the existence of
+any free program.  We wish to make sure that a company cannot
+effectively restrict the users of a free program by obtaining a
+restrictive license from a patent holder.  Therefore, we insist that
+any patent license obtained for a version of the library must be
+consistent with the full freedom of use specified in this license.
 
-      "Contribution" shall mean any work of authorship, including
-      the original version of the Work and any modifications or additions
-      to that Work or Derivative Works thereof, that is intentionally
-      submitted to Licensor for inclusion in the Work by the copyright owner
-      or by an individual or Legal Entity authorized to submit on behalf of
-      the copyright owner. For the purposes of this definition, "submitted"
-      means any form of electronic, verbal, or written communication sent
-      to the Licensor or its representatives, including but not limited to
-      communication on electronic mailing lists, source code control systems,
-      and issue tracking systems that are managed by, or on behalf of, the
-      Licensor for the purpose of discussing and improving the Work, but
-      excluding communication that is conspicuously marked or otherwise
-      designated in writing by the copyright owner as "Not a Contribution."
+  Most GNU software, including some libraries, is covered by the
+ordinary GNU General Public License.  This license, the GNU Lesser
+General Public License, applies to certain designated libraries, and
+is quite different from the ordinary General Public License.  We use
+this license for certain libraries in order to permit linking those
+libraries into non-free programs.
 
-      "Contributor" shall mean Licensor and any individual or Legal Entity
-      on behalf of whom a Contribution has been received by Licensor and
-      subsequently incorporated within the Work.
+  When a program is linked with a library, whether statically or using
+a shared library, the combination of the two is legally speaking a
+combined work, a derivative of the original library.  The ordinary
+General Public License therefore permits such linking only if the
+entire combination fits its criteria of freedom.  The Lesser General
+Public License permits more lax criteria for linking other code with
+the library.
 
-   2. Grant of Copyright License. Subject to the terms and conditions of
-      this License, each Contributor hereby grants to You a perpetual,
-      worldwide, non-exclusive, no-charge, royalty-free, irrevocable
-      copyright license to reproduce, prepare Derivative Works of,
-      publicly display, publicly perform, sublicense, and distribute the
-      Work and such Derivative Works in Source or Object form.
+  We call this license the "Lesser" General Public License because it
+does Less to protect the user's freedom than the ordinary General
+Public License.  It also provides other free software developers Less
+of an advantage over competing non-free programs.  These disadvantages
+are the reason we use the ordinary General Public License for many
+libraries.  However, the Lesser license provides advantages in certain
+special circumstances.
 
-   3. Grant of Patent License. Subject to the terms and conditions of
-      this License, each Contributor hereby grants to You a perpetual,
-      worldwide, non-exclusive, no-charge, royalty-free, irrevocable
-      (except as stated in this section) patent license to make, have made,
-      use, offer to sell, sell, import, and otherwise transfer the Work,
-      where such license applies only to those patent claims licensable
-      by such Contributor that are necessarily infringed by their
-      Contribution(s) alone or by combination of their Contribution(s)
-      with the Work to which such Contribution(s) was submitted. If You
-      institute patent litigation against any entity (including a
-      cross-claim or counterclaim in a lawsuit) alleging that the Work
-      or a Contribution incorporated within the Work constitutes direct
-      or contributory patent infringement, then any patent licenses
-      granted to You under this License for that Work shall terminate
-      as of the date such litigation is filed.
+  For example, on rare occasions, there may be a special need to
+encourage the widest possible use of a certain library, so that it becomes
+a de-facto standard.  To achieve this, non-free programs must be
+allowed to use the library.  A more frequent case is that a free
+library does the same job as widely used non-free libraries.  In this
+case, there is little to gain by limiting the free library to free
+software only, so we use the Lesser General Public License.
 
-   4. Redistribution. You may reproduce and distribute copies of the
-      Work or Derivative Works thereof in any medium, with or without
-      modifications, and in Source or Object form, provided that You
-      meet the following conditions:
+  In other cases, permission to use a particular library in non-free
+programs enables a greater number of people to use a large body of
+free software.  For example, permission to use the GNU C Library in
+non-free programs enables many more people to use the whole GNU
+operating system, as well as its variant, the GNU/Linux operating
+system.
 
-      (a) You must give any other recipients of the Work or
-          Derivative Works a copy of this License; and
+  Although the Lesser General Public License is Less protective of the
+users' freedom, it does ensure that the user of a program that is
+linked with the Library has the freedom and the wherewithal to run
+that program using a modified version of the Library.
 
-      (b) You must cause any modified files to carry prominent notices
-          stating that You changed the files; and
+  The precise terms and conditions for copying, distribution and
+modification follow.  Pay close attention to the difference between a
+"work based on the library" and a "work that uses the library".  The
+former contains code derived from the library, whereas the latter must
+be combined with the library in order to run.
+
+		  GNU LESSER GENERAL PUBLIC LICENSE
+   TERMS AND CONDITIONS FOR COPYING, DISTRIBUTION AND MODIFICATION
 
-      (c) You must retain, in the Source form of any Derivative Works
-          that You distribute, all copyright, patent, trademark, and
-          attribution notices from the Source form of the Work,
-          excluding those notices that do not pertain to any part of
-          the Derivative Works; and
+  0. This License Agreement applies to any software library or other
+program which contains a notice placed by the copyright holder or
+other authorized party saying it may be distributed under the terms of
+this Lesser General Public License (also called "this License").
+Each licensee is addressed as "you".
 
-      (d) If the Work includes a "NOTICE" text file as part of its
-          distribution, then any Derivative Works that You distribute must
-          include a readable copy of the attribution notices contained
-          within such NOTICE file, excluding those notices that do not
-          pertain to any part of the Derivative Works, in at least one
-          of the following places: within a NOTICE text file distributed
-          as part of the Derivative Works; within the Source form or
-          documentation, if provided along with the Derivative Works; or,
-          within a display generated by the Derivative Works, if and
-          wherever such third-party notices normally appear. The contents
-          of the NOTICE file are for informational purposes only and
-          do not modify the License. You may add Your own attribution
-          notices within Derivative Works that You distribute, alongside
-          or as an addendum to the NOTICE text from the Work, provided
-          that such additional attribution notices cannot be construed
-          as modifying the License.
+  A "library" means a collection of software functions and/or data
+prepared so as to be conveniently linked with application programs
+(which use some of those functions and data) to form executables.
 
-      You may add Your own copyright statement to Your modifications and
-      may provide additional or different license terms and conditions
-      for use, reproduction, or distribution of Your modifications, or
-      for any such Derivative Works as a whole, provided Your use,
-      reproduction, and distribution of the Work otherwise complies with
-      the conditions stated in this License.
-
-   5. Submission of Contributions. Unless You explicitly state otherwise,
-      any Contribution intentionally submitted for inclusion in the Work
-      by You to the Licensor shall be under the terms and conditions of
-      this License, without any additional terms or conditions.
-      Notwithstanding the above, nothing herein shall supersede or modify
-      the terms of any separate license agreement you may have executed
-      with Licensor regarding such Contributions.
+  The "Library", below, refers to any such software library or work
+which has been distributed under these terms.  A "work based on the
+Library" means either the Library or any derivative work under
+copyright law: that is to say, a work containing the Library or a
+portion of it, either verbatim or with modifications and/or translated
+straightforwardly into another language.  (Hereinafter, translation is
+included without limitation in the term "modification".)
 
-   6. Trademarks. This License does not grant permission to use the trade
-      names, trademarks, service marks, or product names of the Licensor,
-      except as required for reasonable and customary use in describing the
-      origin of the Work and reproducing the content of the NOTICE file.
+  "Source code" for a work means the preferred form of the work for
+making modifications to it.  For a library, complete source code means
+all the source code for all modules it contains, plus any associated
+interface definition files, plus the scripts used to control compilation
+and installation of the library.
 
-   7. Disclaimer of Warranty. Unless required by applicable law or
-      agreed to in writing, Licensor provides the Work (and each
-      Contributor provides its Contributions) on an "AS IS" BASIS,
-      WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or
-      implied, including, without limitation, any warranties or conditions
-      of TITLE, NON-INFRINGEMENT, MERCHANTABILITY, or FITNESS FOR A
-      PARTICULAR PURPOSE. You are solely responsible for determining the
-      appropriateness of using or redistributing the Work and assume any
-      risks associated with Your exercise of permissions under this License.
+  Activities other than copying, distribution and modification are not
+covered by this License; they are outside its scope.  The act of
+running a program using the Library is not restricted, and output from
+such a program is covered only if its contents constitute a work based
+on the Library (independent of the use of the Library in a tool for
+writing it).  Whether that is true depends on what the Library does
+and what the program that uses the Library does.
+  
+  1. You may copy and distribute verbatim copies of the Library's
+complete source code as you receive it, in any medium, provided that
+you conspicuously and appropriately publish on each copy an
+appropriate copyright notice and disclaimer of warranty; keep intact
+all the notices that refer to this License and to the absence of any
+warranty; and distribute a copy of this License along with the
+Library.
 
-   8. Limitation of Liability. In no event and under no legal theory,
-      whether in tort (including negligence), contract, or otherwise,
-      unless required by applicable law (such as deliberate and grossly
-      negligent acts) or agreed to in writing, shall any Contributor be
-      liable to You for damages, including any direct, indirect, special,
-      incidental, or consequential damages of any character arising as a
-      result of this License or out of the use or inability to use the
-      Work (including but not limited to damages for loss of goodwill,
-      work stoppage, computer failure or malfunction, or any and all
-      other commercial damages or losses), even if such Contributor
-      has been advised of the possibility of such damages.
+  You may charge a fee for the physical act of transferring a copy,
+and you may at your option offer warranty protection in exchange for a
+fee.
+
+  2. You may modify your copy or copies of the Library or any portion
+of it, thus forming a work based on the Library, and copy and
+distribute such modifications or work under the terms of Section 1
+above, provided that you also meet all of these conditions:
 
-   9. Accepting Warranty or Additional Liability. While redistributing
-      the Work or Derivative Works thereof, You may choose to offer,
-      and charge a fee for, acceptance of support, warranty, indemnity,
-      or other liability obligations and/or rights consistent with this
-      License. However, in accepting such obligations, You may act only
-      on Your own behalf and on Your sole responsibility, not on behalf
-      of any other Contributor, and only if You agree to indemnify,
-      defend, and hold each Contributor harmless for any liability
-      incurred by, or claims asserted against, such Contributor by reason
-      of your accepting any such warranty or additional liability.
-
-
-
+ a) The modified work must itself be a software library. -
-ChromeVox -show license -homepage -
-
// Copyright 2013 Google Inc.
-//
-// Licensed under the Apache License, Version 2.0 (the "License");
-// you may not use this file except in compliance with the License.
-// You may obtain a copy of the License at
-//
-//      http://www.apache.org/licenses/LICENSE-2.0
-//
-// Unless required by applicable law or agreed to in writing, software
-// distributed under the License is distributed on an "AS IS" BASIS,
-// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-// See the License for the specific language governing permissions and
-// limitations under the License.
-
-
-
+ b) You must cause the files modified to carry prominent notices + stating that you changed the files and the date of any change. -
-Chromium OS system API -show license -homepage -
-
// Copyright (c) 2006-2009 The Chromium OS Authors. All rights reserved.
-//
-// Redistribution and use in source and binary forms, with or without
-// modification, are permitted provided that the following conditions are
-// met:
-//
-//    * Redistributions of source code must retain the above copyright
-// notice, this list of conditions and the following disclaimer.
-//    * Redistributions in binary form must reproduce the above
-// copyright notice, this list of conditions and the following disclaimer
-// in the documentation and/or other materials provided with the
-// distribution.
-//    * Neither the name of Google Inc. nor the names of its
-// contributors may be used to endorse or promote products derived from
-// this software without specific prior written permission.
-//
-// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
-// "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
-// LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
-// A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
-// OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
-// SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
-// LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
-// DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
-// THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
-// (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
-// OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
-
-
-
+ c) You must cause the whole of the work to be licensed at no + charge to all third parties under the terms of this License. -
-Closure compiler -show license -homepage -
-
-                                 Apache License
-                           Version 2.0, January 2004
-                        http://www.apache.org/licenses/
+    d) If a facility in the modified Library refers to a function or a
+    table of data to be supplied by an application program that uses
+    the facility, other than as an argument passed when the facility
+    is invoked, then you must make a good faith effort to ensure that,
+    in the event an application does not supply such function or
+    table, the facility still operates, and performs whatever part of
+    its purpose remains meaningful.
 
-   TERMS AND CONDITIONS FOR USE, REPRODUCTION, AND DISTRIBUTION
+    (For example, a function in a library to compute square roots has
+    a purpose that is entirely well-defined independent of the
+    application.  Therefore, Subsection 2d requires that any
+    application-supplied function or table used by this function must
+    be optional: if the application does not supply it, the square
+    root function must still compute square roots.)
 
-   1. Definitions.
+These requirements apply to the modified work as a whole.  If
+identifiable sections of that work are not derived from the Library,
+and can be reasonably considered independent and separate works in
+themselves, then this License, and its terms, do not apply to those
+sections when you distribute them as separate works.  But when you
+distribute the same sections as part of a whole which is a work based
+on the Library, the distribution of the whole must be on the terms of
+this License, whose permissions for other licensees extend to the
+entire whole, and thus to each and every part regardless of who wrote
+it.
 
-      "License" shall mean the terms and conditions for use, reproduction,
-      and distribution as defined by Sections 1 through 9 of this document.
+Thus, it is not the intent of this section to claim rights or contest
+your rights to work written entirely by you; rather, the intent is to
+exercise the right to control the distribution of derivative or
+collective works based on the Library.
 
-      "Licensor" shall mean the copyright owner or entity authorized by
-      the copyright owner that is granting the License.
+In addition, mere aggregation of another work not based on the Library
+with the Library (or with a work based on the Library) on a volume of
+a storage or distribution medium does not bring the other work under
+the scope of this License.
 
-      "Legal Entity" shall mean the union of the acting entity and all
-      other entities that control, are controlled by, or are under common
-      control with that entity. For the purposes of this definition,
-      "control" means (i) the power, direct or indirect, to cause the
-      direction or management of such entity, whether by contract or
-      otherwise, or (ii) ownership of fifty percent (50%) or more of the
-      outstanding shares, or (iii) beneficial ownership of such entity.
+  3. You may opt to apply the terms of the ordinary GNU General Public
+License instead of this License to a given copy of the Library.  To do
+this, you must alter all the notices that refer to this License, so
+that they refer to the ordinary GNU General Public License, version 2,
+instead of to this License.  (If a newer version than version 2 of the
+ordinary GNU General Public License has appeared, then you can specify
+that version instead if you wish.)  Do not make any other change in
+these notices.
+
+  Once this change is made in a given copy, it is irreversible for
+that copy, so the ordinary GNU General Public License applies to all
+subsequent copies and derivative works made from that copy.
 
-      "You" (or "Your") shall mean an individual or Legal Entity
-      exercising permissions granted by this License.
+  This option is useful when you wish to copy part of the code of
+the Library into a program that is not a library.
 
-      "Source" form shall mean the preferred form for making modifications,
-      including but not limited to software source code, documentation
-      source, and configuration files.
+  4. You may copy and distribute the Library (or a portion or
+derivative of it, under Section 2) in object code or executable form
+under the terms of Sections 1 and 2 above provided that you accompany
+it with the complete corresponding machine-readable source code, which
+must be distributed under the terms of Sections 1 and 2 above on a
+medium customarily used for software interchange.
 
-      "Object" form shall mean any form resulting from mechanical
-      transformation or translation of a Source form, including but
-      not limited to compiled object code, generated documentation,
-      and conversions to other media types.
+  If distribution of object code is made by offering access to copy
+from a designated place, then offering equivalent access to copy the
+source code from the same place satisfies the requirement to
+distribute the source code, even though third parties are not
+compelled to copy the source along with the object code.
 
-      "Work" shall mean the work of authorship, whether in Source or
-      Object form, made available under the License, as indicated by a
-      copyright notice that is included in or attached to the work
-      (an example is provided in the Appendix below).
+  5. A program that contains no derivative of any portion of the
+Library, but is designed to work with the Library by being compiled or
+linked with it, is called a "work that uses the Library".  Such a
+work, in isolation, is not a derivative work of the Library, and
+therefore falls outside the scope of this License.
 
-      "Derivative Works" shall mean any work, whether in Source or Object
-      form, that is based on (or derived from) the Work and for which the
-      editorial revisions, annotations, elaborations, or other modifications
-      represent, as a whole, an original work of authorship. For the purposes
-      of this License, Derivative Works shall not include works that remain
-      separable from, or merely link (or bind by name) to the interfaces of,
-      the Work and Derivative Works thereof.
+  However, linking a "work that uses the Library" with the Library
+creates an executable that is a derivative of the Library (because it
+contains portions of the Library), rather than a "work that uses the
+library".  The executable is therefore covered by this License.
+Section 6 states terms for distribution of such executables.
 
-      "Contribution" shall mean any work of authorship, including
-      the original version of the Work and any modifications or additions
-      to that Work or Derivative Works thereof, that is intentionally
-      submitted to Licensor for inclusion in the Work by the copyright owner
-      or by an individual or Legal Entity authorized to submit on behalf of
-      the copyright owner. For the purposes of this definition, "submitted"
-      means any form of electronic, verbal, or written communication sent
-      to the Licensor or its representatives, including but not limited to
-      communication on electronic mailing lists, source code control systems,
-      and issue tracking systems that are managed by, or on behalf of, the
-      Licensor for the purpose of discussing and improving the Work, but
-      excluding communication that is conspicuously marked or otherwise
-      designated in writing by the copyright owner as "Not a Contribution."
+  When a "work that uses the Library" uses material from a header file
+that is part of the Library, the object code for the work may be a
+derivative work of the Library even though the source code is not.
+Whether this is true is especially significant if the work can be
+linked without the Library, or if the work is itself a library.  The
+threshold for this to be true is not precisely defined by law.
 
-      "Contributor" shall mean Licensor and any individual or Legal Entity
-      on behalf of whom a Contribution has been received by Licensor and
-      subsequently incorporated within the Work.
+  If such an object file uses only numerical parameters, data
+structure layouts and accessors, and small macros and small inline
+functions (ten lines or less in length), then the use of the object
+file is unrestricted, regardless of whether it is legally a derivative
+work.  (Executables containing this object code plus portions of the
+Library will still fall under Section 6.)
 
-   2. Grant of Copyright License. Subject to the terms and conditions of
-      this License, each Contributor hereby grants to You a perpetual,
-      worldwide, non-exclusive, no-charge, royalty-free, irrevocable
-      copyright license to reproduce, prepare Derivative Works of,
-      publicly display, publicly perform, sublicense, and distribute the
-      Work and such Derivative Works in Source or Object form.
+  Otherwise, if the work is a derivative of the Library, you may
+distribute the object code for the work under the terms of Section 6.
+Any executables containing that work also fall under Section 6,
+whether or not they are linked directly with the Library itself.
+
+  6. As an exception to the Sections above, you may also combine or
+link a "work that uses the Library" with the Library to produce a
+work containing portions of the Library, and distribute that work
+under terms of your choice, provided that the terms permit
+modification of the work for the customer's own use and reverse
+engineering for debugging such modifications.
 
-   3. Grant of Patent License. Subject to the terms and conditions of
-      this License, each Contributor hereby grants to You a perpetual,
-      worldwide, non-exclusive, no-charge, royalty-free, irrevocable
-      (except as stated in this section) patent license to make, have made,
-      use, offer to sell, sell, import, and otherwise transfer the Work,
-      where such license applies only to those patent claims licensable
-      by such Contributor that are necessarily infringed by their
-      Contribution(s) alone or by combination of their Contribution(s)
-      with the Work to which such Contribution(s) was submitted. If You
-      institute patent litigation against any entity (including a
-      cross-claim or counterclaim in a lawsuit) alleging that the Work
-      or a Contribution incorporated within the Work constitutes direct
-      or contributory patent infringement, then any patent licenses
-      granted to You under this License for that Work shall terminate
-      as of the date such litigation is filed.
+  You must give prominent notice with each copy of the work that the
+Library is used in it and that the Library and its use are covered by
+this License.  You must supply a copy of this License.  If the work
+during execution displays copyright notices, you must include the
+copyright notice for the Library among them, as well as a reference
+directing the user to the copy of this License.  Also, you must do one
+of these things:
 
-   4. Redistribution. You may reproduce and distribute copies of the
-      Work or Derivative Works thereof in any medium, with or without
-      modifications, and in Source or Object form, provided that You
-      meet the following conditions:
+    a) Accompany the work with the complete corresponding
+    machine-readable source code for the Library including whatever
+    changes were used in the work (which must be distributed under
+    Sections 1 and 2 above); and, if the work is an executable linked
+    with the Library, with the complete machine-readable "work that
+    uses the Library", as object code and/or source code, so that the
+    user can modify the Library and then relink to produce a modified
+    executable containing the modified Library.  (It is understood
+    that the user who changes the contents of definitions files in the
+    Library will not necessarily be able to recompile the application
+    to use the modified definitions.)
 
-      (a) You must give any other recipients of the Work or
-          Derivative Works a copy of this License; and
+    b) Use a suitable shared library mechanism for linking with the
+    Library.  A suitable mechanism is one that (1) uses at run time a
+    copy of the library already present on the user's computer system,
+    rather than copying library functions into the executable, and (2)
+    will operate properly with a modified version of the library, if
+    the user installs one, as long as the modified version is
+    interface-compatible with the version that the work was made with.
 
-      (b) You must cause any modified files to carry prominent notices
-          stating that You changed the files; and
+    c) Accompany the work with a written offer, valid for at
+    least three years, to give the same user the materials
+    specified in Subsection 6a, above, for a charge no more
+    than the cost of performing this distribution.
 
-      (c) You must retain, in the Source form of any Derivative Works
-          that You distribute, all copyright, patent, trademark, and
-          attribution notices from the Source form of the Work,
-          excluding those notices that do not pertain to any part of
-          the Derivative Works; and
+    d) If distribution of the work is made by offering access to copy
+    from a designated place, offer equivalent access to copy the above
+    specified materials from the same place.
 
-      (d) If the Work includes a "NOTICE" text file as part of its
-          distribution, then any Derivative Works that You distribute must
-          include a readable copy of the attribution notices contained
-          within such NOTICE file, excluding those notices that do not
-          pertain to any part of the Derivative Works, in at least one
-          of the following places: within a NOTICE text file distributed
-          as part of the Derivative Works; within the Source form or
-          documentation, if provided along with the Derivative Works; or,
-          within a display generated by the Derivative Works, if and
-          wherever such third-party notices normally appear. The contents
-          of the NOTICE file are for informational purposes only and
-          do not modify the License. You may add Your own attribution
-          notices within Derivative Works that You distribute, alongside
-          or as an addendum to the NOTICE text from the Work, provided
-          that such additional attribution notices cannot be construed
-          as modifying the License.
+    e) Verify that the user has already received a copy of these
+    materials or that you have already sent this user a copy.
 
-      You may add Your own copyright statement to Your modifications and
-      may provide additional or different license terms and conditions
-      for use, reproduction, or distribution of Your modifications, or
-      for any such Derivative Works as a whole, provided Your use,
-      reproduction, and distribution of the Work otherwise complies with
-      the conditions stated in this License.
+  For an executable, the required form of the "work that uses the
+Library" must include any data and utility programs needed for
+reproducing the executable from it.  However, as a special exception,
+the materials to be distributed need not include anything that is
+normally distributed (in either source or binary form) with the major
+components (compiler, kernel, and so on) of the operating system on
+which the executable runs, unless that component itself accompanies
+the executable.
 
-   5. Submission of Contributions. Unless You explicitly state otherwise,
-      any Contribution intentionally submitted for inclusion in the Work
-      by You to the Licensor shall be under the terms and conditions of
-      this License, without any additional terms or conditions.
-      Notwithstanding the above, nothing herein shall supersede or modify
-      the terms of any separate license agreement you may have executed
-      with Licensor regarding such Contributions.
+  It may happen that this requirement contradicts the license
+restrictions of other proprietary libraries that do not normally
+accompany the operating system.  Such a contradiction means you cannot
+use both them and the Library together in an executable that you
+distribute.
+
+  7. You may place library facilities that are a work based on the
+Library side-by-side in a single library together with other library
+facilities not covered by this License, and distribute such a combined
+library, provided that the separate distribution of the work based on
+the Library and of the other library facilities is otherwise
+permitted, and provided that you do these two things:
 
-   6. Trademarks. This License does not grant permission to use the trade
-      names, trademarks, service marks, or product names of the Licensor,
-      except as required for reasonable and customary use in describing the
-      origin of the Work and reproducing the content of the NOTICE file.
+    a) Accompany the combined library with a copy of the same work
+    based on the Library, uncombined with any other library
+    facilities.  This must be distributed under the terms of the
+    Sections above.
 
-   7. Disclaimer of Warranty. Unless required by applicable law or
-      agreed to in writing, Licensor provides the Work (and each
-      Contributor provides its Contributions) on an "AS IS" BASIS,
-      WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or
-      implied, including, without limitation, any warranties or conditions
-      of TITLE, NON-INFRINGEMENT, MERCHANTABILITY, or FITNESS FOR A
-      PARTICULAR PURPOSE. You are solely responsible for determining the
-      appropriateness of using or redistributing the Work and assume any
-      risks associated with Your exercise of permissions under this License.
+    b) Give prominent notice with the combined library of the fact
+    that part of it is a work based on the Library, and explaining
+    where to find the accompanying uncombined form of the same work.
 
-   8. Limitation of Liability. In no event and under no legal theory,
-      whether in tort (including negligence), contract, or otherwise,
-      unless required by applicable law (such as deliberate and grossly
-      negligent acts) or agreed to in writing, shall any Contributor be
-      liable to You for damages, including any direct, indirect, special,
-      incidental, or consequential damages of any character arising as a
-      result of this License or out of the use or inability to use the
-      Work (including but not limited to damages for loss of goodwill,
-      work stoppage, computer failure or malfunction, or any and all
-      other commercial damages or losses), even if such Contributor
-      has been advised of the possibility of such damages.
+  8. You may not copy, modify, sublicense, link with, or distribute
+the Library except as expressly provided under this License.  Any
+attempt otherwise to copy, modify, sublicense, link with, or
+distribute the Library is void, and will automatically terminate your
+rights under this License.  However, parties who have received copies,
+or rights, from you under this License will not have their licenses
+terminated so long as such parties remain in full compliance.
 
-   9. Accepting Warranty or Additional Liability. While redistributing
-      the Work or Derivative Works thereof, You may choose to offer,
-      and charge a fee for, acceptance of support, warranty, indemnity,
-      or other liability obligations and/or rights consistent with this
-      License. However, in accepting such obligations, You may act only
-      on Your own behalf and on Your sole responsibility, not on behalf
-      of any other Contributor, and only if You agree to indemnify,
-      defend, and hold each Contributor harmless for any liability
-      incurred by, or claims asserted against, such Contributor by reason
-      of your accepting any such warranty or additional liability.
+  9. You are not required to accept this License, since you have not
+signed it.  However, nothing else grants you permission to modify or
+distribute the Library or its derivative works.  These actions are
+prohibited by law if you do not accept this License.  Therefore, by
+modifying or distributing the Library (or any work based on the
+Library), you indicate your acceptance of this License to do so, and
+all its terms and conditions for copying, distributing or modifying
+the Library or works based on it.
 
-   END OF TERMS AND CONDITIONS
+  10. Each time you redistribute the Library (or any work based on the
+Library), the recipient automatically receives a license from the
+original licensor to copy, distribute, link with or modify the Library
+subject to these terms and conditions.  You may not impose any further
+restrictions on the recipients' exercise of the rights granted herein.
+You are not responsible for enforcing compliance by third parties with
+this License.
+
+  11. If, as a consequence of a court judgment or allegation of patent
+infringement or for any other reason (not limited to patent issues),
+conditions are imposed on you (whether by court order, agreement or
+otherwise) that contradict the conditions of this License, they do not
+excuse you from the conditions of this License.  If you cannot
+distribute so as to satisfy simultaneously your obligations under this
+License and any other pertinent obligations, then as a consequence you
+may not distribute the Library at all.  For example, if a patent
+license would not permit royalty-free redistribution of the Library by
+all those who receive copies directly or indirectly through you, then
+the only way you could satisfy both it and this License would be to
+refrain entirely from distribution of the Library.
 
-   APPENDIX: How to apply the Apache License to your work.
+If any portion of this section is held invalid or unenforceable under any
+particular circumstance, the balance of the section is intended to apply,
+and the section as a whole is intended to apply in other circumstances.
 
-      To apply the Apache License to your work, attach the following
-      boilerplate notice, with the fields enclosed by brackets "[]"
-      replaced with your own identifying information. (Don't include
-      the brackets!)  The text should be enclosed in the appropriate
-      comment syntax for the file format. We also recommend that a
-      file or class name and description of purpose be included on the
-      same "printed page" as the copyright notice for easier
-      identification within third-party archives.
+It is not the purpose of this section to induce you to infringe any
+patents or other property right claims or to contest validity of any
+such claims; this section has the sole purpose of protecting the
+integrity of the free software distribution system which is
+implemented by public license practices.  Many people have made
+generous contributions to the wide range of software distributed
+through that system in reliance on consistent application of that
+system; it is up to the author/donor to decide if he or she is willing
+to distribute software through any other system and a licensee cannot
+impose that choice.
 
-   Copyright [yyyy] [name of copyright owner]
+This section is intended to make thoroughly clear what is believed to
+be a consequence of the rest of this License.
 
-   Licensed under the Apache License, Version 2.0 (the "License");
-   you may not use this file except in compliance with the License.
-   You may obtain a copy of the License at
+  12. If the distribution and/or use of the Library is restricted in
+certain countries either by patents or by copyrighted interfaces, the
+original copyright holder who places the Library under this License may add
+an explicit geographical distribution limitation excluding those countries,
+so that distribution is permitted only in or among countries not thus
+excluded.  In such case, this License incorporates the limitation as if
+written in the body of this License.
 
-       http://www.apache.org/licenses/LICENSE-2.0
+  13. The Free Software Foundation may publish revised and/or new
+versions of the Lesser General Public License from time to time.
+Such new versions will be similar in spirit to the present version,
+but may differ in detail to address new problems or concerns.
 
-   Unless required by applicable law or agreed to in writing, software
-   distributed under the License is distributed on an "AS IS" BASIS,
-   WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-   See the License for the specific language governing permissions and
-   limitations under the License.
-
-
-
+Each version is given a distinguishing version number. If the Library +specifies a version number of this License which applies to it and +"any later version", you have the option of following the terms and +conditions either of that version or of any later version published by +the Free Software Foundation. If the Library does not specify a +license version number, you may choose any version ever published by +the Free Software Foundation. + + 14. If you wish to incorporate parts of the Library into other free +programs whose distribution conditions are incompatible with these, +write to the author to ask for permission. For software which is +copyrighted by the Free Software Foundation, write to the Free +Software Foundation; we sometimes make exceptions for this. Our +decision will be guided by the two goals of preserving the free status +of all derivatives of our free software and of promoting the sharing +and reuse of software generally. + + NO WARRANTY + + 15. BECAUSE THE LIBRARY IS LICENSED FREE OF CHARGE, THERE IS NO +WARRANTY FOR THE LIBRARY, TO THE EXTENT PERMITTED BY APPLICABLE LAW. +EXCEPT WHEN OTHERWISE STATED IN WRITING THE COPYRIGHT HOLDERS AND/OR +OTHER PARTIES PROVIDE THE LIBRARY "AS IS" WITHOUT WARRANTY OF ANY +KIND, EITHER EXPRESSED OR IMPLIED, INCLUDING, BUT NOT LIMITED TO, THE +IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR +PURPOSE. THE ENTIRE RISK AS TO THE QUALITY AND PERFORMANCE OF THE +LIBRARY IS WITH YOU. SHOULD THE LIBRARY PROVE DEFECTIVE, YOU ASSUME +THE COST OF ALL NECESSARY SERVICING, REPAIR OR CORRECTION. + + 16. IN NO EVENT UNLESS REQUIRED BY APPLICABLE LAW OR AGREED TO IN +WRITING WILL ANY COPYRIGHT HOLDER, OR ANY OTHER PARTY WHO MAY MODIFY +AND/OR REDISTRIBUTE THE LIBRARY AS PERMITTED ABOVE, BE LIABLE TO YOU +FOR DAMAGES, INCLUDING ANY GENERAL, SPECIAL, INCIDENTAL OR +CONSEQUENTIAL DAMAGES ARISING OUT OF THE USE OR INABILITY TO USE THE +LIBRARY (INCLUDING BUT NOT LIMITED TO LOSS OF DATA OR DATA BEING +RENDERED INACCURATE OR LOSSES SUSTAINED BY YOU OR THIRD PARTIES OR A +FAILURE OF THE LIBRARY TO OPERATE WITH ANY OTHER SOFTWARE), EVEN IF +SUCH HOLDER OR OTHER PARTY HAS BEEN ADVISED OF THE POSSIBILITY OF SUCH +DAMAGES. + + END OF TERMS AND CONDITIONS + + How to Apply These Terms to Your New Libraries + + If you develop a new library, and you want it to be of the greatest +possible use to the public, we recommend making it free software that +everyone can redistribute and change. You can do so by permitting +redistribution under these terms (or, alternatively, under the terms of the +ordinary General Public License). + + To apply these terms, attach the following notices to the library. It is +safest to attach them to the start of each source file to most effectively +convey the exclusion of warranty; and each file should have at least the +"copyright" line and a pointer to where the full notice is found. + + <one line to give the library's name and a brief idea of what it does.> + Copyright (C) <year> <name of author> + + This library is free software; you can redistribute it and/or + modify it under the terms of the GNU Lesser General Public + License as published by the Free Software Foundation; either + version 2.1 of the License, or (at your option) any later version. + + This library is distributed in the hope that it will be useful, + but WITHOUT ANY WARRANTY; without even the implied warranty of + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + Lesser General Public License for more details. + + You should have received a copy of the GNU Lesser General Public + License along with this library; if not, write to the Free Software + Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA + +Also add information on how to contact you by electronic and paper mail. + +You should also get your employer (if you work as a programmer) or your +school, if any, to sign a "copyright disclaimer" for the library, if +necessary. Here is a sample; alter the names: + + Yoyodyne, Inc., hereby disclaims all copyright interest in the + library `Frob' (a library for tweaking knobs) written by James Random Hacker. + + <signature of Ty Coon>, 1 April 1990 + Ty Coon, President of Vice + +That's all there is to it! -
-Cocoa extension code from Camino -show license -homepage -
-
/* ***** BEGIN LICENSE BLOCK *****
- * Version: MPL 1.1/GPL 2.0/LGPL 2.1
- *
- * The contents of this file are subject to the Mozilla Public License Version
- * 1.1 (the "License"); you may not use this file except in compliance with
- * the License. You may obtain a copy of the License at
- * http://www.mozilla.org/MPL/
- *
- * Software distributed under the License is distributed on an "AS IS" basis,
- * WITHOUT WARRANTY OF ANY KIND, either express or implied. See the License
- * for the specific language governing rights and limitations under the
- * License.
- *
- * The Original Code is mozilla.org code.
- *
- * The Initial Developer of the Original Code is
- * Netscape Communications Corporation.
- * Portions created by the Initial Developer are Copyright (C) 2002
- * the Initial Developer. All Rights Reserved.
- *
- * Contributor(s):
- *
- * Alternatively, the contents of this file may be used under the terms of
- * either the GNU General Public License Version 2 or later (the "GPL"), or
- * the GNU Lesser General Public License Version 2.1 or later (the "LGPL"),
- * in which case the provisions of the GPL or the LGPL are applicable instead
- * of those above. If you wish to allow use of your version of this file only
- * under the terms of either the GPL or the LGPL, and not to allow others to
- * use your version of this file under the terms of the MPL, indicate your
- * decision by deleting the provisions above and replace them with the notice
- * and other provisions required by the GPL or the LGPL. If you do not delete
- * the provisions above, a recipient may use your version of this file under
- * the terms of any one of the MPL, the GPL or the LGPL.
- *
- * ***** END LICENSE BLOCK ***** */
-
-
-
-
-Compact Language Detection -show license -homepage -
-
// Copyright (c) 2010 The Chromium Authors. All rights reserved.
-//
-// Redistribution and use in source and binary forms, with or without
-// modification, are permitted provided that the following conditions are
-// met:
-//
-//    * Redistributions of source code must retain the above copyright
-// notice, this list of conditions and the following disclaimer.
-//    * Redistributions in binary form must reproduce the above
-// copyright notice, this list of conditions and the following disclaimer
-// in the documentation and/or other materials provided with the
-// distribution.
-//    * Neither the name of Google Inc. nor the names of its
-// contributors may be used to endorse or promote products derived from
-// this software without specific prior written permission.
-//
-// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
-// "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
-// LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
-// A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
-// OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
-// SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
-// LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
-// DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
-// THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
-// (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
-// OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
 
-Compact Language Detection 2 +Chrome Custom Tabs - Example and Usage show license -homepage +homepage
                                  Apache License
@@ -2181,67 +2254,98 @@
       defend, and hold each Contributor harmless for any liability
       incurred by, or claims asserted against, such Contributor by reason
       of your accepting any such warranty or additional liability.
-
-   END OF TERMS AND CONDITIONS
-
-   APPENDIX: How to apply the Apache License to your work.
-
-      To apply the Apache License to your work, attach the following
-      boilerplate notice, with the fields enclosed by brackets "[]"
-      replaced with your own identifying information. (Don't include
-      the brackets!)  The text should be enclosed in the appropriate
-      comment syntax for the file format. We also recommend that a
-      file or class name and description of purpose be included on the
-      same "printed page" as the copyright notice for easier
-      identification within third-party archives.
-
-   Copyright [yyyy] [name of copyright owner]
-
-   Licensed under the Apache License, Version 2.0 (the "License");
-   you may not use this file except in compliance with the License.
-   You may obtain a copy of the License at
-
-       http://www.apache.org/licenses/LICENSE-2.0
-
-   Unless required by applicable law or agreed to in writing, software
-   distributed under the License is distributed on an "AS IS" BASIS,
-   WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-   See the License for the specific language governing permissions and
-   limitations under the License.
 
-Crashpad +ChromeVox show license -homepage +homepage
-
-                                 Apache License
-                           Version 2.0, January 2004
-                        http://www.apache.org/licenses/
-
-   TERMS AND CONDITIONS FOR USE, REPRODUCTION, AND DISTRIBUTION
-
-   1. Definitions.
-
-      "License" shall mean the terms and conditions for use, reproduction,
-      and distribution as defined by Sections 1 through 9 of this document.
-
-      "Licensor" shall mean the copyright owner or entity authorized by
-      the copyright owner that is granting the License.
-
-      "Legal Entity" shall mean the union of the acting entity and all
-      other entities that control, are controlled by, or are under common
-      control with that entity. For the purposes of this definition,
-      "control" means (i) the power, direct or indirect, to cause the
-      direction or management of such entity, whether by contract or
-      otherwise, or (ii) ownership of fifty percent (50%) or more of the
-      outstanding shares, or (iii) beneficial ownership of such entity.
-
-      "You" (or "Your") shall mean an individual or Legal Entity
-      exercising permissions granted by this License.
+
// Copyright 2013 Google Inc.
+//
+// Licensed under the Apache License, Version 2.0 (the "License");
+// you may not use this file except in compliance with the License.
+// You may obtain a copy of the License at
+//
+//      http://www.apache.org/licenses/LICENSE-2.0
+//
+// Unless required by applicable law or agreed to in writing, software
+// distributed under the License is distributed on an "AS IS" BASIS,
+// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+// See the License for the specific language governing permissions and
+// limitations under the License.
+
+
+
+ +
+Chromium OS system API +show license +homepage +
+
// Copyright (c) 2006-2009 The Chromium OS Authors. All rights reserved.
+//
+// Redistribution and use in source and binary forms, with or without
+// modification, are permitted provided that the following conditions are
+// met:
+//
+//    * Redistributions of source code must retain the above copyright
+// notice, this list of conditions and the following disclaimer.
+//    * Redistributions in binary form must reproduce the above
+// copyright notice, this list of conditions and the following disclaimer
+// in the documentation and/or other materials provided with the
+// distribution.
+//    * Neither the name of Google Inc. nor the names of its
+// contributors may be used to endorse or promote products derived from
+// this software without specific prior written permission.
+//
+// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
+// "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
+// LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
+// A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
+// OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
+// SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
+// LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
+// DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
+// THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
+// (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
+// OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+
+
+
+ +
+Closure compiler +show license +homepage +
+
+                                 Apache License
+                           Version 2.0, January 2004
+                        http://www.apache.org/licenses/
+
+   TERMS AND CONDITIONS FOR USE, REPRODUCTION, AND DISTRIBUTION
+
+   1. Definitions.
+
+      "License" shall mean the terms and conditions for use, reproduction,
+      and distribution as defined by Sections 1 through 9 of this document.
+
+      "Licensor" shall mean the copyright owner or entity authorized by
+      the copyright owner that is granting the License.
+
+      "Legal Entity" shall mean the union of the acting entity and all
+      other entities that control, are controlled by, or are under common
+      control with that entity. For the purposes of this definition,
+      "control" means (i) the power, direct or indirect, to cause the
+      direction or management of such entity, whether by contract or
+      otherwise, or (ii) ownership of fifty percent (50%) or more of the
+      outstanding shares, or (iii) beneficial ownership of such entity.
+
+      "You" (or "Your") shall mean an individual or Legal Entity
+      exercising permissions granted by this License.
 
       "Source" form shall mean the preferred form for making modifications,
       including but not limited to software source code, documentation
@@ -2424,372 +2528,300 @@
 
-Darwin +Cocoa extension code from Camino show license -homepage +homepage
-
APPLE PUBLIC SOURCE LICENSE Version 2.0 -  August 6, 2003
-
-Please read this License carefully before downloading this software.  By
-downloading or using this software, you are agreeing to be bound by the terms of
-this License.  If you do not or cannot agree to the terms of this License,
-please do not download or use the software.
-
-Apple Note:  In January 2007, Apple changed its corporate name from "Apple
-Computer, Inc." to "Apple Inc."  This change has been reflected below and
-copyright years updated, but no other changes have been made to the APSL 2.0.
+
/* ***** BEGIN LICENSE BLOCK *****
+ * Version: MPL 1.1/GPL 2.0/LGPL 2.1
+ *
+ * The contents of this file are subject to the Mozilla Public License Version
+ * 1.1 (the "License"); you may not use this file except in compliance with
+ * the License. You may obtain a copy of the License at
+ * http://www.mozilla.org/MPL/
+ *
+ * Software distributed under the License is distributed on an "AS IS" basis,
+ * WITHOUT WARRANTY OF ANY KIND, either express or implied. See the License
+ * for the specific language governing rights and limitations under the
+ * License.
+ *
+ * The Original Code is mozilla.org code.
+ *
+ * The Initial Developer of the Original Code is
+ * Netscape Communications Corporation.
+ * Portions created by the Initial Developer are Copyright (C) 2002
+ * the Initial Developer. All Rights Reserved.
+ *
+ * Contributor(s):
+ *
+ * Alternatively, the contents of this file may be used under the terms of
+ * either the GNU General Public License Version 2 or later (the "GPL"), or
+ * the GNU Lesser General Public License Version 2.1 or later (the "LGPL"),
+ * in which case the provisions of the GPL or the LGPL are applicable instead
+ * of those above. If you wish to allow use of your version of this file only
+ * under the terms of either the GPL or the LGPL, and not to allow others to
+ * use your version of this file under the terms of the MPL, indicate your
+ * decision by deleting the provisions above and replace them with the notice
+ * and other provisions required by the GPL or the LGPL. If you do not delete
+ * the provisions above, a recipient may use your version of this file under
+ * the terms of any one of the MPL, the GPL or the LGPL.
+ *
+ * ***** END LICENSE BLOCK ***** */
+
+
+
-1. General; Definitions. This License applies to any program or other work -which Apple Inc. ("Apple") makes publicly available and which contains a notice -placed by Apple identifying such program or work as "Original Code" and stating -that it is subject to the terms of this Apple Public Source License version 2.0 -("License"). As used in this License: +
+Compact Language Detection +show license +homepage +
+
// Copyright (c) 2010 The Chromium Authors. All rights reserved.
+//
+// Redistribution and use in source and binary forms, with or without
+// modification, are permitted provided that the following conditions are
+// met:
+//
+//    * Redistributions of source code must retain the above copyright
+// notice, this list of conditions and the following disclaimer.
+//    * Redistributions in binary form must reproduce the above
+// copyright notice, this list of conditions and the following disclaimer
+// in the documentation and/or other materials provided with the
+// distribution.
+//    * Neither the name of Google Inc. nor the names of its
+// contributors may be used to endorse or promote products derived from
+// this software without specific prior written permission.
+//
+// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
+// "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
+// LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
+// A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
+// OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
+// SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
+// LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
+// DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
+// THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
+// (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
+// OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+
+
+
-1.1 "Applicable Patent Rights" mean: (a) in the case where Apple is the -grantor of rights, (i) claims of patents that are now or hereafter acquired, -owned by or assigned to Apple and (ii) that cover subject matter contained in -the Original Code, but only to the extent necessary to use, reproduce and/or -distribute the Original Code without infringement; and (b) in the case where You -are the grantor of rights, (i) claims of patents that are now or hereafter -acquired, owned by or assigned to You and (ii) that cover subject matter in Your -Modifications, taken alone or in combination with Original Code. +
+Compact Language Detection 2 +show license +homepage +
+
+                                 Apache License
+                           Version 2.0, January 2004
+                        http://www.apache.org/licenses/
 
-1.2	"Contributor" means any person or entity that creates or contributes to the
-creation of Modifications.
+   TERMS AND CONDITIONS FOR USE, REPRODUCTION, AND DISTRIBUTION
 
-1.3	 "Covered Code" means the Original Code, Modifications, the combination of
-Original Code and any Modifications, and/or any respective portions thereof.
+   1. Definitions.
 
-1.4	"Externally Deploy" means: (a) to sublicense, distribute or otherwise make
-Covered Code available, directly or indirectly, to anyone other than You; and/or
-(b) to use Covered Code, alone or as part of a Larger Work, in any way to
-provide a service, including but not limited to delivery of content, through
-electronic communication with a client other than You.
+      "License" shall mean the terms and conditions for use, reproduction,
+      and distribution as defined by Sections 1 through 9 of this document.
 
-1.5	"Larger Work" means a work which combines Covered Code or portions thereof
-with code not governed by the terms of this License.
+      "Licensor" shall mean the copyright owner or entity authorized by
+      the copyright owner that is granting the License.
 
-1.6	"Modifications" mean any addition to, deletion from, and/or change to, the
-substance and/or structure of the Original Code, any previous Modifications, the
-combination of Original Code and any previous Modifications, and/or any
-respective portions thereof.  When code is released as a series of files, a
-Modification is:  (a) any addition to or deletion from the contents of a file
-containing Covered Code; and/or (b) any new file or other representation of
-computer program statements that contains any part of Covered Code.
+      "Legal Entity" shall mean the union of the acting entity and all
+      other entities that control, are controlled by, or are under common
+      control with that entity. For the purposes of this definition,
+      "control" means (i) the power, direct or indirect, to cause the
+      direction or management of such entity, whether by contract or
+      otherwise, or (ii) ownership of fifty percent (50%) or more of the
+      outstanding shares, or (iii) beneficial ownership of such entity.
 
-1.7	"Original Code" means (a) the Source Code of a program or other work as
-originally made available by Apple under this License, including the Source Code
-of any updates or upgrades to such programs or works made available by Apple
-under this License, and that has been expressly identified by Apple as such in
-the header file(s) of such work; and (b) the object code compiled from such
-Source Code and originally made available by Apple under this License
+      "You" (or "Your") shall mean an individual or Legal Entity
+      exercising permissions granted by this License.
 
-1.8	"Source Code" means the human readable form of a program or other work that
-is suitable for making modifications to it, including all modules it contains,
-plus any associated interface definition files, scripts used to control
-compilation and installation of an executable (object code).
+      "Source" form shall mean the preferred form for making modifications,
+      including but not limited to software source code, documentation
+      source, and configuration files.
 
-1.9	"You" or "Your" means an individual or a legal entity exercising rights
-under this License.  For legal entities, "You" or "Your" includes any entity
-which controls, is controlled by, or is under common control with, You, where
-"control" means (a) the power, direct or indirect, to cause the direction or
-management of such entity, whether by contract or otherwise, or (b) ownership of
-fifty percent (50%) or more of the outstanding shares or beneficial ownership of
-such entity.
+      "Object" form shall mean any form resulting from mechanical
+      transformation or translation of a Source form, including but
+      not limited to compiled object code, generated documentation,
+      and conversions to other media types.
 
-2.	Permitted Uses; Conditions & Restrictions.   Subject to the terms and
-conditions of this License, Apple hereby grants You, effective on the date You
-accept this License and download the Original Code, a world-wide, royalty-free,
-non-exclusive license, to the extent of Apple's Applicable Patent Rights and
-copyrights covering the Original Code, to do the following:
+      "Work" shall mean the work of authorship, whether in Source or
+      Object form, made available under the License, as indicated by a
+      copyright notice that is included in or attached to the work
+      (an example is provided in the Appendix below).
 
-2.1	Unmodified Code.  You may use, reproduce, display, perform, internally
-distribute within Your organization, and Externally Deploy verbatim, unmodified
-copies of the Original Code, for commercial or non-commercial purposes, provided
-that in each instance:
+      "Derivative Works" shall mean any work, whether in Source or Object
+      form, that is based on (or derived from) the Work and for which the
+      editorial revisions, annotations, elaborations, or other modifications
+      represent, as a whole, an original work of authorship. For the purposes
+      of this License, Derivative Works shall not include works that remain
+      separable from, or merely link (or bind by name) to the interfaces of,
+      the Work and Derivative Works thereof.
 
-(a)	You must retain and reproduce in all copies of Original Code the copyright
-and other proprietary notices and disclaimers of Apple as they appear in the
-Original Code, and keep intact all notices in the Original Code that refer to
-this License; and
+      "Contribution" shall mean any work of authorship, including
+      the original version of the Work and any modifications or additions
+      to that Work or Derivative Works thereof, that is intentionally
+      submitted to Licensor for inclusion in the Work by the copyright owner
+      or by an individual or Legal Entity authorized to submit on behalf of
+      the copyright owner. For the purposes of this definition, "submitted"
+      means any form of electronic, verbal, or written communication sent
+      to the Licensor or its representatives, including but not limited to
+      communication on electronic mailing lists, source code control systems,
+      and issue tracking systems that are managed by, or on behalf of, the
+      Licensor for the purpose of discussing and improving the Work, but
+      excluding communication that is conspicuously marked or otherwise
+      designated in writing by the copyright owner as "Not a Contribution."
 
-(b) 	You must include a copy of this License with every copy of Source Code of
-Covered Code and documentation You distribute or Externally Deploy, and You may
-not offer or impose any terms on such Source Code that alter or restrict this
-License or the recipients' rights hereunder, except as permitted under Section
-6.
+      "Contributor" shall mean Licensor and any individual or Legal Entity
+      on behalf of whom a Contribution has been received by Licensor and
+      subsequently incorporated within the Work.
 
-2.2	Modified Code.  You may modify Covered Code and use, reproduce, display,
-perform, internally distribute within Your organization, and Externally Deploy
-Your Modifications and Covered Code, for commercial or non-commercial purposes,
-provided that in each instance You also meet all of these conditions:
+   2. Grant of Copyright License. Subject to the terms and conditions of
+      this License, each Contributor hereby grants to You a perpetual,
+      worldwide, non-exclusive, no-charge, royalty-free, irrevocable
+      copyright license to reproduce, prepare Derivative Works of,
+      publicly display, publicly perform, sublicense, and distribute the
+      Work and such Derivative Works in Source or Object form.
 
-(a)	You must satisfy all the conditions of Section 2.1 with respect to the
-Source Code of the Covered Code;
+   3. Grant of Patent License. Subject to the terms and conditions of
+      this License, each Contributor hereby grants to You a perpetual,
+      worldwide, non-exclusive, no-charge, royalty-free, irrevocable
+      (except as stated in this section) patent license to make, have made,
+      use, offer to sell, sell, import, and otherwise transfer the Work,
+      where such license applies only to those patent claims licensable
+      by such Contributor that are necessarily infringed by their
+      Contribution(s) alone or by combination of their Contribution(s)
+      with the Work to which such Contribution(s) was submitted. If You
+      institute patent litigation against any entity (including a
+      cross-claim or counterclaim in a lawsuit) alleging that the Work
+      or a Contribution incorporated within the Work constitutes direct
+      or contributory patent infringement, then any patent licenses
+      granted to You under this License for that Work shall terminate
+      as of the date such litigation is filed.
 
-(b)	You must duplicate, to the extent it does not already exist, the notice in
-Exhibit A in each file of the Source Code of all Your Modifications, and cause
-the modified files to carry prominent notices stating that You changed the files
-and the date of any change; and
+   4. Redistribution. You may reproduce and distribute copies of the
+      Work or Derivative Works thereof in any medium, with or without
+      modifications, and in Source or Object form, provided that You
+      meet the following conditions:
 
-(c)	If You Externally Deploy Your Modifications, You must make Source Code of
-all Your Externally Deployed Modifications either available to those to whom You
-have Externally Deployed Your Modifications, or publicly available.  Source Code
-of Your Externally Deployed Modifications must be released under the terms set
-forth in this License, including the license grants set forth in Section 3
-below, for as long as you Externally Deploy the Covered Code or twelve (12)
-months from the date of initial External Deployment, whichever is longer. You
-should preferably distribute the Source Code of Your Externally Deployed
-Modifications electronically (e.g. download from a web site).
+      (a) You must give any other recipients of the Work or
+          Derivative Works a copy of this License; and
 
-2.3	Distribution of Executable Versions.  In addition, if You Externally Deploy
-Covered Code (Original Code and/or Modifications) in object code, executable
-form only, You must include a prominent notice, in the code itself as well as in
-related documentation, stating that Source Code of the Covered Code is available
-under the terms of this License with information on how and where to obtain such
-Source Code.
+      (b) You must cause any modified files to carry prominent notices
+          stating that You changed the files; and
 
-2.4	Third Party Rights.  You expressly acknowledge and agree that although
-Apple and each Contributor grants the licenses to their respective portions of
-the Covered Code set forth herein, no assurances are provided by Apple or any
-Contributor that the Covered Code does not infringe the patent or other
-intellectual property rights of any other entity. Apple and each Contributor
-disclaim any liability to You for claims brought by any other entity based on
-infringement of intellectual property rights or otherwise. As a condition to
-exercising the rights and licenses granted hereunder, You hereby assume sole
-responsibility to secure any other intellectual property rights needed, if any.
-For example, if a third party patent license is required to allow You to
-distribute the Covered Code, it is Your responsibility to acquire that license
-before distributing the Covered Code.
+      (c) You must retain, in the Source form of any Derivative Works
+          that You distribute, all copyright, patent, trademark, and
+          attribution notices from the Source form of the Work,
+          excluding those notices that do not pertain to any part of
+          the Derivative Works; and
 
-3.	Your Grants.  In consideration of, and as a condition to, the licenses
-granted to You under this License, You hereby grant to any person or entity
-receiving or distributing Covered Code under this License a non-exclusive,
-royalty-free, perpetual, irrevocable license, under Your Applicable Patent
-Rights and other intellectual property rights (other than patent) owned or
-controlled by You, to use, reproduce, display, perform, modify, sublicense,
-distribute and Externally Deploy Your Modifications of the same scope and extent
-as Apple's licenses under Sections 2.1 and 2.2 above.
+      (d) If the Work includes a "NOTICE" text file as part of its
+          distribution, then any Derivative Works that You distribute must
+          include a readable copy of the attribution notices contained
+          within such NOTICE file, excluding those notices that do not
+          pertain to any part of the Derivative Works, in at least one
+          of the following places: within a NOTICE text file distributed
+          as part of the Derivative Works; within the Source form or
+          documentation, if provided along with the Derivative Works; or,
+          within a display generated by the Derivative Works, if and
+          wherever such third-party notices normally appear. The contents
+          of the NOTICE file are for informational purposes only and
+          do not modify the License. You may add Your own attribution
+          notices within Derivative Works that You distribute, alongside
+          or as an addendum to the NOTICE text from the Work, provided
+          that such additional attribution notices cannot be construed
+          as modifying the License.
 
-4.	Larger Works.  You may create a Larger Work by combining Covered Code with
-other code not governed by the terms of this License and distribute the Larger
-Work as a single product.  In each such instance, You must make sure the
-requirements of this License are fulfilled for the Covered Code or any portion
-thereof.
+      You may add Your own copyright statement to Your modifications and
+      may provide additional or different license terms and conditions
+      for use, reproduction, or distribution of Your modifications, or
+      for any such Derivative Works as a whole, provided Your use,
+      reproduction, and distribution of the Work otherwise complies with
+      the conditions stated in this License.
 
-5.	Limitations on Patent License.   Except as expressly stated in Section 2, no
-other patent rights, express or implied, are granted by Apple herein. 
-Modifications and/or Larger Works may require additional patent licenses from
-Apple which Apple may grant in its sole discretion.
+   5. Submission of Contributions. Unless You explicitly state otherwise,
+      any Contribution intentionally submitted for inclusion in the Work
+      by You to the Licensor shall be under the terms and conditions of
+      this License, without any additional terms or conditions.
+      Notwithstanding the above, nothing herein shall supersede or modify
+      the terms of any separate license agreement you may have executed
+      with Licensor regarding such Contributions.
 
-6.	Additional Terms.  You may choose to offer, and to charge a fee for,
-warranty, support, indemnity or liability obligations and/or other rights
-consistent with the scope of the license granted herein ("Additional Terms") to
-one or more recipients of Covered Code. However, You may do so only on Your own
-behalf and as Your sole responsibility, and not on behalf of Apple or any
-Contributor. You must obtain the recipient's agreement that any such Additional
-Terms are offered by You alone, and You hereby agree to indemnify, defend and
-hold Apple and every Contributor harmless for any liability incurred by or
-claims asserted against Apple or such Contributor by reason of any such
-Additional Terms.
+   6. Trademarks. This License does not grant permission to use the trade
+      names, trademarks, service marks, or product names of the Licensor,
+      except as required for reasonable and customary use in describing the
+      origin of the Work and reproducing the content of the NOTICE file.
 
-7.	Versions of the License.  Apple may publish revised and/or new versions of
-this License from time to time.  Each version will be given a distinguishing
-version number.  Once Original Code has been published under a particular
-version of this License, You may continue to use it under the terms of that
-version. You may also choose to use such Original Code under the terms of any
-subsequent version of this License published by Apple.  No one other than Apple
-has the right to modify the terms applicable to Covered Code created under this
-License.
+   7. Disclaimer of Warranty. Unless required by applicable law or
+      agreed to in writing, Licensor provides the Work (and each
+      Contributor provides its Contributions) on an "AS IS" BASIS,
+      WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or
+      implied, including, without limitation, any warranties or conditions
+      of TITLE, NON-INFRINGEMENT, MERCHANTABILITY, or FITNESS FOR A
+      PARTICULAR PURPOSE. You are solely responsible for determining the
+      appropriateness of using or redistributing the Work and assume any
+      risks associated with Your exercise of permissions under this License.
 
-8.	NO WARRANTY OR SUPPORT.  The Covered Code may contain in whole or in part
-pre-release, untested, or not fully tested works.  The Covered Code may contain
-errors that could cause failures or loss of data, and may be incomplete or
-contain inaccuracies.  You expressly acknowledge and agree that use of the
-Covered Code, or any portion thereof, is at Your sole and entire risk.  THE
-COVERED CODE IS PROVIDED "AS IS" AND WITHOUT WARRANTY, UPGRADES OR SUPPORT OF
-ANY KIND AND APPLE AND APPLE'S LICENSOR(S) (COLLECTIVELY REFERRED TO AS "APPLE"
-FOR THE PURPOSES OF SECTIONS 8 AND 9) AND ALL CONTRIBUTORS EXPRESSLY DISCLAIM
-ALL WARRANTIES AND/OR CONDITIONS, EXPRESS OR IMPLIED, INCLUDING, BUT NOT LIMITED
-TO, THE IMPLIED WARRANTIES AND/OR CONDITIONS OF MERCHANTABILITY, OF SATISFACTORY
-QUALITY, OF FITNESS FOR A PARTICULAR PURPOSE, OF ACCURACY, OF QUIET ENJOYMENT,
-AND NONINFRINGEMENT OF THIRD PARTY RIGHTS.  APPLE AND EACH CONTRIBUTOR DOES NOT
-WARRANT AGAINST INTERFERENCE WITH YOUR ENJOYMENT OF THE COVERED CODE, THAT THE
-FUNCTIONS CONTAINED IN THE COVERED CODE WILL MEET YOUR REQUIREMENTS, THAT THE
-OPERATION OF THE COVERED CODE WILL BE UNINTERRUPTED OR ERROR-FREE, OR THAT
-DEFECTS IN THE COVERED CODE WILL BE CORRECTED.  NO ORAL OR WRITTEN INFORMATION
-OR ADVICE GIVEN BY APPLE, AN APPLE AUTHORIZED REPRESENTATIVE OR ANY CONTRIBUTOR
-SHALL CREATE A WARRANTY.  You acknowledge that the Covered Code is not intended
-for use in the operation of nuclear facilities, aircraft navigation,
-communication systems, or air traffic control machines in which case the failure
-of the Covered Code could lead to death, personal injury, or severe physical or
-environmental damage.
+   8. Limitation of Liability. In no event and under no legal theory,
+      whether in tort (including negligence), contract, or otherwise,
+      unless required by applicable law (such as deliberate and grossly
+      negligent acts) or agreed to in writing, shall any Contributor be
+      liable to You for damages, including any direct, indirect, special,
+      incidental, or consequential damages of any character arising as a
+      result of this License or out of the use or inability to use the
+      Work (including but not limited to damages for loss of goodwill,
+      work stoppage, computer failure or malfunction, or any and all
+      other commercial damages or losses), even if such Contributor
+      has been advised of the possibility of such damages.
 
-9.	LIMITATION OF LIABILITY. TO THE EXTENT NOT PROHIBITED BY LAW, IN NO EVENT
-SHALL APPLE OR ANY CONTRIBUTOR BE LIABLE FOR ANY INCIDENTAL, SPECIAL, INDIRECT
-OR CONSEQUENTIAL DAMAGES ARISING OUT OF OR RELATING TO THIS LICENSE OR YOUR USE
-OR INABILITY TO USE THE COVERED CODE, OR ANY PORTION THEREOF, WHETHER UNDER A
-THEORY OF CONTRACT, WARRANTY, TORT (INCLUDING NEGLIGENCE), PRODUCTS LIABILITY OR
-OTHERWISE, EVEN IF APPLE OR SUCH CONTRIBUTOR HAS BEEN ADVISED OF THE POSSIBILITY
-OF SUCH DAMAGES AND NOTWITHSTANDING THE FAILURE OF ESSENTIAL PURPOSE OF ANY
-REMEDY. SOME JURISDICTIONS DO NOT ALLOW THE LIMITATION OF LIABILITY OF
-INCIDENTAL OR CONSEQUENTIAL DAMAGES, SO THIS LIMITATION MAY NOT APPLY TO YOU. In
-no event shall Apple's total liability to You for all damages (other than as may
-be required by applicable law) under this License exceed the amount of fifty
-dollars ($50.00).
+   9. Accepting Warranty or Additional Liability. While redistributing
+      the Work or Derivative Works thereof, You may choose to offer,
+      and charge a fee for, acceptance of support, warranty, indemnity,
+      or other liability obligations and/or rights consistent with this
+      License. However, in accepting such obligations, You may act only
+      on Your own behalf and on Your sole responsibility, not on behalf
+      of any other Contributor, and only if You agree to indemnify,
+      defend, and hold each Contributor harmless for any liability
+      incurred by, or claims asserted against, such Contributor by reason
+      of your accepting any such warranty or additional liability.
 
-10.	Trademarks.  This License does not grant any rights to use the trademarks
-or trade names  "Apple", "Mac", "Mac OS", "QuickTime", "QuickTime Streaming
-Server" or any other trademarks, service marks, logos or trade names belonging
-to Apple (collectively "Apple Marks") or to any trademark, service mark, logo or
-trade name belonging to any Contributor.  You agree not to use any Apple Marks
-in or as part of the name of products derived from the Original Code or to
-endorse or promote products derived from the Original Code other than as
-expressly permitted by and in strict compliance at all times with Apple's third
-party trademark usage guidelines which are posted at
-http://www.apple.com/legal/guidelinesfor3rdparties.html.
+   END OF TERMS AND CONDITIONS
 
-11.	Ownership. Subject to the licenses granted under this License, each
-Contributor retains all rights, title and interest in and to any Modifications
-made by such Contributor.  Apple retains all rights, title and interest in and
-to the Original Code and any Modifications made by or on behalf of Apple ("Apple
-Modifications"), and such Apple Modifications will not be automatically subject
-to this License.  Apple may, at its sole discretion, choose to license such
-Apple Modifications under this License, or on different terms from those
-contained in this License or may choose not to license them at all.
+   APPENDIX: How to apply the Apache License to your work.
 
-12.	Termination.
+      To apply the Apache License to your work, attach the following
+      boilerplate notice, with the fields enclosed by brackets "[]"
+      replaced with your own identifying information. (Don't include
+      the brackets!)  The text should be enclosed in the appropriate
+      comment syntax for the file format. We also recommend that a
+      file or class name and description of purpose be included on the
+      same "printed page" as the copyright notice for easier
+      identification within third-party archives.
 
-12.1	Termination.  This License and the rights granted hereunder will
-terminate:
+   Copyright [yyyy] [name of copyright owner]
 
-(a)	automatically without notice from Apple if You fail to comply with any
-term(s) of this License and fail to cure such breach within 30 days of becoming
-aware of such breach; (b)	immediately in the event of the circumstances
-described in Section 13.5(b); or (c)	automatically without notice from Apple if
-You, at any time during the term of this License, commence an action for patent
-infringement against Apple; provided that Apple did not first commence an action
-for patent infringement against You in that instance.
-
-12.2	Effect of Termination.  Upon termination, You agree to immediately stop
-any further use, reproduction, modification, sublicensing and distribution of
-the Covered Code.  All sublicenses to the Covered Code which have been properly
-granted prior to termination shall survive any termination of this License. 
-Provisions which, by their nature, should remain in effect beyond the
-termination of this License shall survive, including but not limited to Sections
-3, 5, 8, 9, 10, 11, 12.2 and 13.  No party will be liable to any other for
-compensation, indemnity or damages of any sort solely as a result of terminating
-this License in accordance with its terms, and termination of this License will
-be without prejudice to any other right or remedy of any party.
-
-13. 	Miscellaneous.
-
-13.1	Government End Users.   The Covered Code is a "commercial item" as defined
-in FAR 2.101.  Government software and technical data rights in the Covered Code
-include only those rights customarily provided to the public as defined in this
-License. This customary commercial license in technical data and software is
-provided in accordance with FAR 12.211 (Technical Data) and 12.212 (Computer
-Software) and, for Department of Defense purchases, DFAR 252.227-7015 (Technical
-Data -- Commercial Items) and 227.7202-3 (Rights in Commercial Computer Software
-or Computer Software Documentation).  Accordingly, all U.S. Government End Users
-acquire Covered Code with only those rights set forth herein.
-
-13.2	Relationship of Parties.  This License will not be construed as creating
-an agency, partnership, joint venture or any other form of legal association
-between or among You, Apple or any Contributor, and You will not represent to
-the contrary, whether expressly, by implication, appearance or otherwise.
-
-13.3	Independent Development.   Nothing in this License will impair Apple's
-right to acquire, license, develop, have others develop for it, market and/or
-distribute technology or products that perform the same or similar functions as,
-or otherwise compete with, Modifications, Larger Works, technology or products
-that You may develop, produce, market or distribute.
-
-13.4	Waiver; Construction.  Failure by Apple or any Contributor to enforce any
-provision of this License will not be deemed a waiver of future enforcement of
-that or any other provision.  Any law or regulation which provides that the
-language of a contract shall be construed against the drafter will not apply to
-this License.
-
-13.5	Severability.  (a) If for any reason a court of competent jurisdiction
-finds any provision of this License, or portion thereof, to be unenforceable,
-that provision of the License will be enforced to the maximum extent permissible
-so as to effect the economic benefits and intent of the parties, and the
-remainder of this License will continue in full force and effect.  (b)
-Notwithstanding the foregoing, if applicable law prohibits or restricts You from
-fully and/or specifically complying with Sections 2 and/or 3 or prevents the
-enforceability of either of those Sections, this License will immediately
-terminate and You must immediately discontinue any use of the Covered Code and
-destroy all copies of it that are in your possession or control.
-
-13.6	Dispute Resolution.  Any litigation or other dispute resolution between
-You and Apple relating to this License shall take place in the Northern District
-of California, and You and Apple hereby consent to the personal jurisdiction of,
-and venue in, the state and federal courts within that District with respect to
-this License. The application of the United Nations Convention on Contracts for
-the International Sale of Goods is expressly excluded.
-
-13.7	Entire Agreement; Governing Law.  This License constitutes the entire
-agreement between the parties with respect to the subject matter hereof.  This
-License shall be governed by the laws of the United States and the State of
-California, except that body of California law concerning conflicts of law.
-
-Where You are located in the province of Quebec, Canada, the following clause
-applies:  The parties hereby confirm that they have requested that this License
-and all related documents be drafted in English.  Les parties ont exigé que le
-présent contrat et tous les documents connexes soient rédigés en anglais.
-
-EXHIBIT A.
-
-"Portions Copyright (c) 1999-2007 Apple Inc.  All Rights Reserved.
-
-This file contains Original Code and/or Modifications of Original Code as
-defined in and that are subject to the Apple Public Source License Version 2.0
-(the 'License').  You may not use this file except in compliance with the
-License.  Please obtain a copy of the License at
-http://www.opensource.apple.com/apsl/ and read it before using this file.
+   Licensed under the Apache License, Version 2.0 (the "License");
+   you may not use this file except in compliance with the License.
+   You may obtain a copy of the License at
 
-The Original Code and all software distributed under the License are distributed
-on an 'AS IS' basis, WITHOUT WARRANTY OF ANY KIND, EITHER EXPRESS OR IMPLIED,
-AND APPLE HEREBY DISCLAIMS ALL SUCH WARRANTIES, INCLUDING WITHOUT LIMITATION,
-ANY WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE, QUIET
-ENJOYMENT OR NON-INFRINGEMENT.  Please see the License for the specific language
-governing rights and limitations under the License." 
-
-
-
+ http://www.apache.org/licenses/LICENSE-2.0 -
-David M. Gay's floating point routines -show license -homepage -
-
/****************************************************************
- *
- * The author of this software is David M. Gay.
- *
- * Copyright (c) 1991, 2000, 2001 by Lucent Technologies.
- *
- * Permission to use, copy, modify, and distribute this software for any
- * purpose without fee is hereby granted, provided that this entire notice
- * is included in all copies of any software which is or includes a copy
- * or modification of this software and in all copies of the supporting
- * documentation for such software.
- *
- * THIS SOFTWARE IS BEING PROVIDED "AS IS", WITHOUT ANY EXPRESS OR IMPLIED
- * WARRANTY.  IN PARTICULAR, NEITHER THE AUTHOR NOR LUCENT MAKES ANY
- * REPRESENTATION OR WARRANTY OF ANY KIND CONCERNING THE MERCHANTABILITY
- * OF THIS SOFTWARE OR ITS FITNESS FOR ANY PARTICULAR PURPOSE.
- *
- ***************************************************************/
+   Unless required by applicable law or agreed to in writing, software
+   distributed under the License is distributed on an "AS IS" BASIS,
+   WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+   See the License for the specific language governing permissions and
+   limitations under the License.
 
-Error Prone +Crashpad show license -homepage +homepage
                                  Apache License
@@ -2998,251 +3030,375 @@
 
-Expat XML Parser +Darwin show license -homepage +homepage
-
Copyright (c) 1998, 1999, 2000 Thai Open Source Software Center Ltd
-                               and Clark Cooper
-Copyright (c) 2001, 2002, 2003, 2004, 2005, 2006 Expat maintainers.
-
-Permission is hereby granted, free of charge, to any person obtaining
-a copy of this software and associated documentation files (the
-"Software"), to deal in the Software without restriction, including
-without limitation the rights to use, copy, modify, merge, publish,
-distribute, sublicense, and/or sell copies of the Software, and to
-permit persons to whom the Software is furnished to do so, subject to
-the following conditions:
-
-The above copyright notice and this permission notice shall be included
-in all copies or substantial portions of the Software.
+
APPLE PUBLIC SOURCE LICENSE Version 2.0 -  August 6, 2003
 
-THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
-EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
-MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT.
-IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY
-CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT,
-TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE
-SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
-
-
-
+Please read this License carefully before downloading this software. By +downloading or using this software, you are agreeing to be bound by the terms of +this License. If you do not or cannot agree to the terms of this License, +please do not download or use the software. -
-Flot Javascript/JQuery library for creating graphs -show license -homepage -
-
Copyright (c) 2007-2013 IOLA and Ole Laursen
+Apple Note:  In January 2007, Apple changed its corporate name from "Apple
+Computer, Inc." to "Apple Inc."  This change has been reflected below and
+copyright years updated, but no other changes have been made to the APSL 2.0.
 
-Permission is hereby granted, free of charge, to any person
-obtaining a copy of this software and associated documentation
-files (the "Software"), to deal in the Software without
-restriction, including without limitation the rights to use,
-copy, modify, merge, publish, distribute, sublicense, and/or sell
-copies of the Software, and to permit persons to whom the
-Software is furnished to do so, subject to the following
-conditions:
+1.	General; Definitions.  This License applies to any program or other work
+which Apple Inc. ("Apple") makes publicly available and which contains a notice
+placed by Apple identifying such program or work as "Original Code" and stating
+that it is subject to the terms of this Apple Public Source License version 2.0
+("License").  As used in this License:
 
-The above copyright notice and this permission notice shall be
-included in all copies or substantial portions of the Software.
+1.1	 "Applicable Patent Rights" mean:  (a) in the case where Apple is the
+grantor of rights, (i) claims of patents that are now or hereafter acquired,
+owned by or assigned to Apple and (ii) that cover subject matter contained in
+the Original Code, but only to the extent necessary to use, reproduce and/or
+distribute the Original Code without infringement; and (b) in the case where You
+are the grantor of rights, (i) claims of patents that are now or hereafter
+acquired, owned by or assigned to You and (ii) that cover subject matter in Your
+Modifications, taken alone or in combination with Original Code.
 
-THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
-EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES
-OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
-NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT
-HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY,
-WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING
-FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR
-OTHER DEALINGS IN THE SOFTWARE.
-
-
-
+1.2 "Contributor" means any person or entity that creates or contributes to the +creation of Modifications. -
-FreeType -show license -homepage -
-
                    The FreeType Project LICENSE
-                    ----------------------------
+1.3	 "Covered Code" means the Original Code, Modifications, the combination of
+Original Code and any Modifications, and/or any respective portions thereof.
 
-                            2006-Jan-27
+1.4	"Externally Deploy" means: (a) to sublicense, distribute or otherwise make
+Covered Code available, directly or indirectly, to anyone other than You; and/or
+(b) to use Covered Code, alone or as part of a Larger Work, in any way to
+provide a service, including but not limited to delivery of content, through
+electronic communication with a client other than You.
 
-                    Copyright 1996-2002, 2006 by
-          David Turner, Robert Wilhelm, and Werner Lemberg
+1.5	"Larger Work" means a work which combines Covered Code or portions thereof
+with code not governed by the terms of this License.
 
+1.6	"Modifications" mean any addition to, deletion from, and/or change to, the
+substance and/or structure of the Original Code, any previous Modifications, the
+combination of Original Code and any previous Modifications, and/or any
+respective portions thereof.  When code is released as a series of files, a
+Modification is:  (a) any addition to or deletion from the contents of a file
+containing Covered Code; and/or (b) any new file or other representation of
+computer program statements that contains any part of Covered Code.
 
+1.7	"Original Code" means (a) the Source Code of a program or other work as
+originally made available by Apple under this License, including the Source Code
+of any updates or upgrades to such programs or works made available by Apple
+under this License, and that has been expressly identified by Apple as such in
+the header file(s) of such work; and (b) the object code compiled from such
+Source Code and originally made available by Apple under this License
 
-Introduction
-============
+1.8	"Source Code" means the human readable form of a program or other work that
+is suitable for making modifications to it, including all modules it contains,
+plus any associated interface definition files, scripts used to control
+compilation and installation of an executable (object code).
 
-  The FreeType  Project is distributed in  several archive packages;
-  some of them may contain, in addition to the FreeType font engine,
-  various tools and  contributions which rely on, or  relate to, the
-  FreeType Project.
+1.9	"You" or "Your" means an individual or a legal entity exercising rights
+under this License.  For legal entities, "You" or "Your" includes any entity
+which controls, is controlled by, or is under common control with, You, where
+"control" means (a) the power, direct or indirect, to cause the direction or
+management of such entity, whether by contract or otherwise, or (b) ownership of
+fifty percent (50%) or more of the outstanding shares or beneficial ownership of
+such entity.
 
-  This  license applies  to all  files found  in such  packages, and
-  which do not  fall under their own explicit  license.  The license
-  affects  thus  the  FreeType   font  engine,  the  test  programs,
-  documentation and makefiles, at the very least.
+2.	Permitted Uses; Conditions & Restrictions.   Subject to the terms and
+conditions of this License, Apple hereby grants You, effective on the date You
+accept this License and download the Original Code, a world-wide, royalty-free,
+non-exclusive license, to the extent of Apple's Applicable Patent Rights and
+copyrights covering the Original Code, to do the following:
 
-  This  license   was  inspired  by  the  BSD,   Artistic,  and  IJG
-  (Independent JPEG  Group) licenses, which  all encourage inclusion
-  and  use of  free  software in  commercial  and freeware  products
-  alike.  As a consequence, its main points are that:
+2.1	Unmodified Code.  You may use, reproduce, display, perform, internally
+distribute within Your organization, and Externally Deploy verbatim, unmodified
+copies of the Original Code, for commercial or non-commercial purposes, provided
+that in each instance:
 
-    o We don't promise that this software works. However, we will be
-      interested in any kind of bug reports. (`as is' distribution)
+(a)	You must retain and reproduce in all copies of Original Code the copyright
+and other proprietary notices and disclaimers of Apple as they appear in the
+Original Code, and keep intact all notices in the Original Code that refer to
+this License; and
 
-    o You can  use this software for whatever you  want, in parts or
-      full form, without having to pay us. (`royalty-free' usage)
-
-    o You may not pretend that  you wrote this software.  If you use
-      it, or  only parts of it,  in a program,  you must acknowledge
-      somewhere  in  your  documentation  that  you  have  used  the
-      FreeType code. (`credits')
+(b) 	You must include a copy of this License with every copy of Source Code of
+Covered Code and documentation You distribute or Externally Deploy, and You may
+not offer or impose any terms on such Source Code that alter or restrict this
+License or the recipients' rights hereunder, except as permitted under Section
+6.
 
-  We  specifically  permit  and  encourage  the  inclusion  of  this
-  software, with  or without modifications,  in commercial products.
-  We  disclaim  all warranties  covering  The  FreeType Project  and
-  assume no liability related to The FreeType Project.
+2.2	Modified Code.  You may modify Covered Code and use, reproduce, display,
+perform, internally distribute within Your organization, and Externally Deploy
+Your Modifications and Covered Code, for commercial or non-commercial purposes,
+provided that in each instance You also meet all of these conditions:
 
+(a)	You must satisfy all the conditions of Section 2.1 with respect to the
+Source Code of the Covered Code;
 
-  Finally,  many  people  asked  us  for  a  preferred  form  for  a
-  credit/disclaimer to use in compliance with this license.  We thus
-  encourage you to use the following text:
+(b)	You must duplicate, to the extent it does not already exist, the notice in
+Exhibit A in each file of the Source Code of all Your Modifications, and cause
+the modified files to carry prominent notices stating that You changed the files
+and the date of any change; and
 
-   """
-    Portions of this software are copyright  <year> The FreeType
-    Project (www.freetype.org).  All rights reserved.
-   """
+(c)	If You Externally Deploy Your Modifications, You must make Source Code of
+all Your Externally Deployed Modifications either available to those to whom You
+have Externally Deployed Your Modifications, or publicly available.  Source Code
+of Your Externally Deployed Modifications must be released under the terms set
+forth in this License, including the license grants set forth in Section 3
+below, for as long as you Externally Deploy the Covered Code or twelve (12)
+months from the date of initial External Deployment, whichever is longer. You
+should preferably distribute the Source Code of Your Externally Deployed
+Modifications electronically (e.g. download from a web site).
 
-  Please replace <year> with the value from the FreeType version you
-  actually use.
+2.3	Distribution of Executable Versions.  In addition, if You Externally Deploy
+Covered Code (Original Code and/or Modifications) in object code, executable
+form only, You must include a prominent notice, in the code itself as well as in
+related documentation, stating that Source Code of the Covered Code is available
+under the terms of this License with information on how and where to obtain such
+Source Code.
 
+2.4	Third Party Rights.  You expressly acknowledge and agree that although
+Apple and each Contributor grants the licenses to their respective portions of
+the Covered Code set forth herein, no assurances are provided by Apple or any
+Contributor that the Covered Code does not infringe the patent or other
+intellectual property rights of any other entity. Apple and each Contributor
+disclaim any liability to You for claims brought by any other entity based on
+infringement of intellectual property rights or otherwise. As a condition to
+exercising the rights and licenses granted hereunder, You hereby assume sole
+responsibility to secure any other intellectual property rights needed, if any.
+For example, if a third party patent license is required to allow You to
+distribute the Covered Code, it is Your responsibility to acquire that license
+before distributing the Covered Code.
 
-Legal Terms
-===========
+3.	Your Grants.  In consideration of, and as a condition to, the licenses
+granted to You under this License, You hereby grant to any person or entity
+receiving or distributing Covered Code under this License a non-exclusive,
+royalty-free, perpetual, irrevocable license, under Your Applicable Patent
+Rights and other intellectual property rights (other than patent) owned or
+controlled by You, to use, reproduce, display, perform, modify, sublicense,
+distribute and Externally Deploy Your Modifications of the same scope and extent
+as Apple's licenses under Sections 2.1 and 2.2 above.
 
-0. Definitions
---------------
+4.	Larger Works.  You may create a Larger Work by combining Covered Code with
+other code not governed by the terms of this License and distribute the Larger
+Work as a single product.  In each such instance, You must make sure the
+requirements of this License are fulfilled for the Covered Code or any portion
+thereof.
 
-  Throughout this license,  the terms `package', `FreeType Project',
-  and  `FreeType  archive' refer  to  the  set  of files  originally
-  distributed  by the  authors  (David Turner,  Robert Wilhelm,  and
-  Werner Lemberg) as the `FreeType Project', be they named as alpha,
-  beta or final release.
+5.	Limitations on Patent License.   Except as expressly stated in Section 2, no
+other patent rights, express or implied, are granted by Apple herein. 
+Modifications and/or Larger Works may require additional patent licenses from
+Apple which Apple may grant in its sole discretion.
 
-  `You' refers to  the licensee, or person using  the project, where
-  `using' is a generic term including compiling the project's source
-  code as  well as linking it  to form a  `program' or `executable'.
-  This  program is  referred to  as  `a program  using the  FreeType
-  engine'.
+6.	Additional Terms.  You may choose to offer, and to charge a fee for,
+warranty, support, indemnity or liability obligations and/or other rights
+consistent with the scope of the license granted herein ("Additional Terms") to
+one or more recipients of Covered Code. However, You may do so only on Your own
+behalf and as Your sole responsibility, and not on behalf of Apple or any
+Contributor. You must obtain the recipient's agreement that any such Additional
+Terms are offered by You alone, and You hereby agree to indemnify, defend and
+hold Apple and every Contributor harmless for any liability incurred by or
+claims asserted against Apple or such Contributor by reason of any such
+Additional Terms.
 
-  This  license applies  to all  files distributed  in  the original
-  FreeType  Project,   including  all  source   code,  binaries  and
-  documentation,  unless  otherwise  stated   in  the  file  in  its
-  original, unmodified form as  distributed in the original archive.
-  If you are  unsure whether or not a particular  file is covered by
-  this license, you must contact us to verify this.
+7.	Versions of the License.  Apple may publish revised and/or new versions of
+this License from time to time.  Each version will be given a distinguishing
+version number.  Once Original Code has been published under a particular
+version of this License, You may continue to use it under the terms of that
+version. You may also choose to use such Original Code under the terms of any
+subsequent version of this License published by Apple.  No one other than Apple
+has the right to modify the terms applicable to Covered Code created under this
+License.
 
-  The FreeType  Project is copyright (C) 1996-2000  by David Turner,
-  Robert Wilhelm, and Werner Lemberg.  All rights reserved except as
-  specified below.
+8.	NO WARRANTY OR SUPPORT.  The Covered Code may contain in whole or in part
+pre-release, untested, or not fully tested works.  The Covered Code may contain
+errors that could cause failures or loss of data, and may be incomplete or
+contain inaccuracies.  You expressly acknowledge and agree that use of the
+Covered Code, or any portion thereof, is at Your sole and entire risk.  THE
+COVERED CODE IS PROVIDED "AS IS" AND WITHOUT WARRANTY, UPGRADES OR SUPPORT OF
+ANY KIND AND APPLE AND APPLE'S LICENSOR(S) (COLLECTIVELY REFERRED TO AS "APPLE"
+FOR THE PURPOSES OF SECTIONS 8 AND 9) AND ALL CONTRIBUTORS EXPRESSLY DISCLAIM
+ALL WARRANTIES AND/OR CONDITIONS, EXPRESS OR IMPLIED, INCLUDING, BUT NOT LIMITED
+TO, THE IMPLIED WARRANTIES AND/OR CONDITIONS OF MERCHANTABILITY, OF SATISFACTORY
+QUALITY, OF FITNESS FOR A PARTICULAR PURPOSE, OF ACCURACY, OF QUIET ENJOYMENT,
+AND NONINFRINGEMENT OF THIRD PARTY RIGHTS.  APPLE AND EACH CONTRIBUTOR DOES NOT
+WARRANT AGAINST INTERFERENCE WITH YOUR ENJOYMENT OF THE COVERED CODE, THAT THE
+FUNCTIONS CONTAINED IN THE COVERED CODE WILL MEET YOUR REQUIREMENTS, THAT THE
+OPERATION OF THE COVERED CODE WILL BE UNINTERRUPTED OR ERROR-FREE, OR THAT
+DEFECTS IN THE COVERED CODE WILL BE CORRECTED.  NO ORAL OR WRITTEN INFORMATION
+OR ADVICE GIVEN BY APPLE, AN APPLE AUTHORIZED REPRESENTATIVE OR ANY CONTRIBUTOR
+SHALL CREATE A WARRANTY.  You acknowledge that the Covered Code is not intended
+for use in the operation of nuclear facilities, aircraft navigation,
+communication systems, or air traffic control machines in which case the failure
+of the Covered Code could lead to death, personal injury, or severe physical or
+environmental damage.
 
-1. No Warranty
---------------
+9.	LIMITATION OF LIABILITY. TO THE EXTENT NOT PROHIBITED BY LAW, IN NO EVENT
+SHALL APPLE OR ANY CONTRIBUTOR BE LIABLE FOR ANY INCIDENTAL, SPECIAL, INDIRECT
+OR CONSEQUENTIAL DAMAGES ARISING OUT OF OR RELATING TO THIS LICENSE OR YOUR USE
+OR INABILITY TO USE THE COVERED CODE, OR ANY PORTION THEREOF, WHETHER UNDER A
+THEORY OF CONTRACT, WARRANTY, TORT (INCLUDING NEGLIGENCE), PRODUCTS LIABILITY OR
+OTHERWISE, EVEN IF APPLE OR SUCH CONTRIBUTOR HAS BEEN ADVISED OF THE POSSIBILITY
+OF SUCH DAMAGES AND NOTWITHSTANDING THE FAILURE OF ESSENTIAL PURPOSE OF ANY
+REMEDY. SOME JURISDICTIONS DO NOT ALLOW THE LIMITATION OF LIABILITY OF
+INCIDENTAL OR CONSEQUENTIAL DAMAGES, SO THIS LIMITATION MAY NOT APPLY TO YOU. In
+no event shall Apple's total liability to You for all damages (other than as may
+be required by applicable law) under this License exceed the amount of fifty
+dollars ($50.00).
 
-  THE FREETYPE PROJECT  IS PROVIDED `AS IS' WITHOUT  WARRANTY OF ANY
-  KIND, EITHER  EXPRESS OR IMPLIED,  INCLUDING, BUT NOT  LIMITED TO,
-  WARRANTIES  OF  MERCHANTABILITY   AND  FITNESS  FOR  A  PARTICULAR
-  PURPOSE.  IN NO EVENT WILL ANY OF THE AUTHORS OR COPYRIGHT HOLDERS
-  BE LIABLE  FOR ANY DAMAGES CAUSED  BY THE USE OR  THE INABILITY TO
-  USE, OF THE FREETYPE PROJECT.
+10.	Trademarks.  This License does not grant any rights to use the trademarks
+or trade names  "Apple", "Mac", "Mac OS", "QuickTime", "QuickTime Streaming
+Server" or any other trademarks, service marks, logos or trade names belonging
+to Apple (collectively "Apple Marks") or to any trademark, service mark, logo or
+trade name belonging to any Contributor.  You agree not to use any Apple Marks
+in or as part of the name of products derived from the Original Code or to
+endorse or promote products derived from the Original Code other than as
+expressly permitted by and in strict compliance at all times with Apple's third
+party trademark usage guidelines which are posted at
+http://www.apple.com/legal/guidelinesfor3rdparties.html.
 
-2. Redistribution
------------------
+11.	Ownership. Subject to the licenses granted under this License, each
+Contributor retains all rights, title and interest in and to any Modifications
+made by such Contributor.  Apple retains all rights, title and interest in and
+to the Original Code and any Modifications made by or on behalf of Apple ("Apple
+Modifications"), and such Apple Modifications will not be automatically subject
+to this License.  Apple may, at its sole discretion, choose to license such
+Apple Modifications under this License, or on different terms from those
+contained in this License or may choose not to license them at all.
 
-  This  license  grants  a  worldwide, royalty-free,  perpetual  and
-  irrevocable right  and license to use,  execute, perform, compile,
-  display,  copy,   create  derivative  works   of,  distribute  and
-  sublicense the  FreeType Project (in  both source and  object code
-  forms)  and  derivative works  thereof  for  any  purpose; and  to
-  authorize others  to exercise  some or all  of the  rights granted
-  herein, subject to the following conditions:
+12.	Termination.
 
-    o Redistribution of  source code  must retain this  license file
-      (`FTL.TXT') unaltered; any  additions, deletions or changes to
-      the original  files must be clearly  indicated in accompanying
-      documentation.   The  copyright   notices  of  the  unaltered,
-      original  files must  be  preserved in  all  copies of  source
-      files.
+12.1	Termination.  This License and the rights granted hereunder will
+terminate:
 
-    o Redistribution in binary form must provide a  disclaimer  that
-      states  that  the software is based in part of the work of the
-      FreeType Team,  in  the  distribution  documentation.  We also
-      encourage you to put an URL to the FreeType web page  in  your
-      documentation, though this isn't mandatory.
+(a)	automatically without notice from Apple if You fail to comply with any
+term(s) of this License and fail to cure such breach within 30 days of becoming
+aware of such breach; (b)	immediately in the event of the circumstances
+described in Section 13.5(b); or (c)	automatically without notice from Apple if
+You, at any time during the term of this License, commence an action for patent
+infringement against Apple; provided that Apple did not first commence an action
+for patent infringement against You in that instance.
 
-  These conditions  apply to any  software derived from or  based on
-  the FreeType Project,  not just the unmodified files.   If you use
-  our work, you  must acknowledge us.  However, no  fee need be paid
-  to us.
+12.2	Effect of Termination.  Upon termination, You agree to immediately stop
+any further use, reproduction, modification, sublicensing and distribution of
+the Covered Code.  All sublicenses to the Covered Code which have been properly
+granted prior to termination shall survive any termination of this License. 
+Provisions which, by their nature, should remain in effect beyond the
+termination of this License shall survive, including but not limited to Sections
+3, 5, 8, 9, 10, 11, 12.2 and 13.  No party will be liable to any other for
+compensation, indemnity or damages of any sort solely as a result of terminating
+this License in accordance with its terms, and termination of this License will
+be without prejudice to any other right or remedy of any party.
 
-3. Advertising
---------------
+13. 	Miscellaneous.
 
-  Neither the  FreeType authors and  contributors nor you  shall use
-  the name of the  other for commercial, advertising, or promotional
-  purposes without specific prior written permission.
+13.1	Government End Users.   The Covered Code is a "commercial item" as defined
+in FAR 2.101.  Government software and technical data rights in the Covered Code
+include only those rights customarily provided to the public as defined in this
+License. This customary commercial license in technical data and software is
+provided in accordance with FAR 12.211 (Technical Data) and 12.212 (Computer
+Software) and, for Department of Defense purchases, DFAR 252.227-7015 (Technical
+Data -- Commercial Items) and 227.7202-3 (Rights in Commercial Computer Software
+or Computer Software Documentation).  Accordingly, all U.S. Government End Users
+acquire Covered Code with only those rights set forth herein.
 
-  We suggest,  but do not require, that  you use one or  more of the
-  following phrases to refer  to this software in your documentation
-  or advertising  materials: `FreeType Project',  `FreeType Engine',
-  `FreeType library', or `FreeType Distribution'.
+13.2	Relationship of Parties.  This License will not be construed as creating
+an agency, partnership, joint venture or any other form of legal association
+between or among You, Apple or any Contributor, and You will not represent to
+the contrary, whether expressly, by implication, appearance or otherwise.
 
-  As  you have  not signed  this license,  you are  not  required to
-  accept  it.   However,  as  the FreeType  Project  is  copyrighted
-  material, only  this license, or  another one contracted  with the
-  authors, grants you  the right to use, distribute,  and modify it.
-  Therefore,  by  using,  distributing,  or modifying  the  FreeType
-  Project, you indicate that you understand and accept all the terms
-  of this license.
+13.3	Independent Development.   Nothing in this License will impair Apple's
+right to acquire, license, develop, have others develop for it, market and/or
+distribute technology or products that perform the same or similar functions as,
+or otherwise compete with, Modifications, Larger Works, technology or products
+that You may develop, produce, market or distribute.
 
-4. Contacts
------------
+13.4	Waiver; Construction.  Failure by Apple or any Contributor to enforce any
+provision of this License will not be deemed a waiver of future enforcement of
+that or any other provision.  Any law or regulation which provides that the
+language of a contract shall be construed against the drafter will not apply to
+this License.
 
-  There are two mailing lists related to FreeType:
+13.5	Severability.  (a) If for any reason a court of competent jurisdiction
+finds any provision of this License, or portion thereof, to be unenforceable,
+that provision of the License will be enforced to the maximum extent permissible
+so as to effect the economic benefits and intent of the parties, and the
+remainder of this License will continue in full force and effect.  (b)
+Notwithstanding the foregoing, if applicable law prohibits or restricts You from
+fully and/or specifically complying with Sections 2 and/or 3 or prevents the
+enforceability of either of those Sections, this License will immediately
+terminate and You must immediately discontinue any use of the Covered Code and
+destroy all copies of it that are in your possession or control.
 
-    o freetype@nongnu.org
+13.6	Dispute Resolution.  Any litigation or other dispute resolution between
+You and Apple relating to this License shall take place in the Northern District
+of California, and You and Apple hereby consent to the personal jurisdiction of,
+and venue in, the state and federal courts within that District with respect to
+this License. The application of the United Nations Convention on Contracts for
+the International Sale of Goods is expressly excluded.
 
-      Discusses general use and applications of FreeType, as well as
-      future and  wanted additions to the  library and distribution.
-      If  you are looking  for support,  start in  this list  if you
-      haven't found anything to help you in the documentation.
+13.7	Entire Agreement; Governing Law.  This License constitutes the entire
+agreement between the parties with respect to the subject matter hereof.  This
+License shall be governed by the laws of the United States and the State of
+California, except that body of California law concerning conflicts of law.
 
-    o freetype-devel@nongnu.org
+Where You are located in the province of Quebec, Canada, the following clause
+applies:  The parties hereby confirm that they have requested that this License
+and all related documents be drafted in English.  Les parties ont exigé que le
+présent contrat et tous les documents connexes soient rédigés en anglais.
 
-      Discusses bugs,  as well  as engine internals,  design issues,
-      specific licenses, porting, etc.
+EXHIBIT A.
 
-  Our home page can be found at
+"Portions Copyright (c) 1999-2007 Apple Inc.  All Rights Reserved.
 
-    http://www.freetype.org
+This file contains Original Code and/or Modifications of Original Code as
+defined in and that are subject to the Apple Public Source License Version 2.0
+(the 'License').  You may not use this file except in compliance with the
+License.  Please obtain a copy of the License at
+http://www.opensource.apple.com/apsl/ and read it before using this file.
 
+The Original Code and all software distributed under the License are distributed
+on an 'AS IS' basis, WITHOUT WARRANTY OF ANY KIND, EITHER EXPRESS OR IMPLIED,
+AND APPLE HEREBY DISCLAIMS ALL SUCH WARRANTIES, INCLUDING WITHOUT LIMITATION,
+ANY WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE, QUIET
+ENJOYMENT OR NON-INFRINGEMENT.  Please see the License for the specific language
+governing rights and limitations under the License." 
+
+
+
---- end of FTL.TXT --- +
+David M. Gay's floating point routines +show license +homepage +
+
/****************************************************************
+ *
+ * The author of this software is David M. Gay.
+ *
+ * Copyright (c) 1991, 2000, 2001 by Lucent Technologies.
+ *
+ * Permission to use, copy, modify, and distribute this software for any
+ * purpose without fee is hereby granted, provided that this entire notice
+ * is included in all copies of any software which is or includes a copy
+ * or modification of this software and in all copies of the supporting
+ * documentation for such software.
+ *
+ * THIS SOFTWARE IS BEING PROVIDED "AS IS", WITHOUT ANY EXPRESS OR IMPLIED
+ * WARRANTY.  IN PARTICULAR, NEITHER THE AUTHOR NOR LUCENT MAKES ANY
+ * REPRESENTATION OR WARRANTY OF ANY KIND CONCERNING THE MERCHANTABILITY
+ * OF THIS SOFTWARE OR ITS FITNESS FOR ANY PARTICULAR PURPOSE.
+ *
+ ***************************************************************/
 
-GifPlayer Animated GIF Library +Error Prone show license -homepage +homepage
-
                                 Apache License
+
+                                 Apache License
                            Version 2.0, January 2004
                         http://www.apache.org/licenses/
 
@@ -3448,16 +3604,108 @@
 
-Google Cache Invalidation API +Expat XML Parser show license -homepage +homepage
-
-                                 Apache License
-                           Version 2.0, January 2004
-                        http://www.apache.org/licenses/
+
Copyright (c) 1998, 1999, 2000 Thai Open Source Software Center Ltd
+                               and Clark Cooper
+Copyright (c) 2001, 2002, 2003, 2004, 2005, 2006 Expat maintainers.
 
-   TERMS AND CONDITIONS FOR USE, REPRODUCTION, AND DISTRIBUTION
+Permission is hereby granted, free of charge, to any person obtaining
+a copy of this software and associated documentation files (the
+"Software"), to deal in the Software without restriction, including
+without limitation the rights to use, copy, modify, merge, publish,
+distribute, sublicense, and/or sell copies of the Software, and to
+permit persons to whom the Software is furnished to do so, subject to
+the following conditions:
+
+The above copyright notice and this permission notice shall be included
+in all copies or substantial portions of the Software.
+
+THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
+EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
+MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT.
+IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY
+CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT,
+TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE
+SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
+
+
+
+ +
+Flot Javascript/JQuery library for creating graphs +show license +homepage +
+
Copyright (c) 2007-2013 IOLA and Ole Laursen
+
+Permission is hereby granted, free of charge, to any person
+obtaining a copy of this software and associated documentation
+files (the "Software"), to deal in the Software without
+restriction, including without limitation the rights to use,
+copy, modify, merge, publish, distribute, sublicense, and/or sell
+copies of the Software, and to permit persons to whom the
+Software is furnished to do so, subject to the following
+conditions:
+
+The above copyright notice and this permission notice shall be
+included in all copies or substantial portions of the Software.
+
+THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
+EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES
+OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
+NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT
+HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY,
+WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING
+FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR
+OTHER DEALINGS IN THE SOFTWARE.
+
+
+
+ +
+Flot Javascript/JQuery library for creating graphs +show license +homepage +
+
Copyright (c) 2007-2013 IOLA and Ole Laursen
+
+Permission is hereby granted, free of charge, to any person
+obtaining a copy of this software and associated documentation
+files (the "Software"), to deal in the Software without
+restriction, including without limitation the rights to use,
+copy, modify, merge, publish, distribute, sublicense, and/or sell
+copies of the Software, and to permit persons to whom the
+Software is furnished to do so, subject to the following
+conditions:
+
+The above copyright notice and this permission notice shall be
+included in all copies or substantial portions of the Software.
+
+THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
+EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES
+OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
+NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT
+HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY,
+WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING
+FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR
+OTHER DEALINGS IN THE SOFTWARE.
+
+
+
+ +
+GifPlayer Animated GIF Library +show license +homepage +
+
                                 Apache License
+                           Version 2.0, January 2004
+                        http://www.apache.org/licenses/
+
+   TERMS AND CONDITIONS FOR USE, REPRODUCTION, AND DISTRIBUTION
 
    1. Definitions.
 
@@ -3659,22 +3907,11 @@
 
-Google Cardboard +Google Cache Invalidation API show license -homepage +homepage
-
   Copyright (c) 2014, Google Inc.
-
-   Licensed under the Apache License, Version 2.0 (the "License");
-   you may not use this file except in compliance with the License.
-
-   Unless required by applicable law or agreed to in writing, software
-   distributed under the License is distributed on an "AS IS" BASIS,
-   WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-   See the License for the specific language governing permissions and
-   limitations under the License.
-
-
+
                                  Apache License
                            Version 2.0, January 2004
                         http://www.apache.org/licenses/
@@ -3852,17 +4089,52 @@
 
    END OF TERMS AND CONDITIONS
 
+   APPENDIX: How to apply the Apache License to your work.
+
+      To apply the Apache License to your work, attach the following
+      boilerplate notice, with the fields enclosed by brackets "[]"
+      replaced with your own identifying information. (Don't include
+      the brackets!)  The text should be enclosed in the appropriate
+      comment syntax for the file format. We also recommend that a
+      file or class name and description of purpose be included on the
+      same "printed page" as the copyright notice for easier
+      identification within third-party archives.
+
+   Copyright [yyyy] [name of copyright owner]
+
+   Licensed under the Apache License, Version 2.0 (the "License");
+   you may not use this file except in compliance with the License.
+   You may obtain a copy of the License at
+
+       http://www.apache.org/licenses/LICENSE-2.0
 
+   Unless required by applicable law or agreed to in writing, software
+   distributed under the License is distributed on an "AS IS" BASIS,
+   WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+   See the License for the specific language governing permissions and
+   limitations under the License.
 
-Google Input Tools +Google Cardboard show license -homepage +homepage
-
                                 Apache License
+
   Copyright (c) 2014, Google Inc.
+
+   Licensed under the Apache License, Version 2.0 (the "License");
+   you may not use this file except in compliance with the License.
+
+   Unless required by applicable law or agreed to in writing, software
+   distributed under the License is distributed on an "AS IS" BASIS,
+   WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+   See the License for the specific language governing permissions and
+   limitations under the License.
+
+
+                                 Apache License
                            Version 2.0, January 2004
                         http://www.apache.org/licenses/
 
@@ -4039,621 +4311,614 @@
 
    END OF TERMS AND CONDITIONS
 
-   APPENDIX: How to apply the Apache License to your work.
-
-      To apply the Apache License to your work, attach the following
-      boilerplate notice, with the fields enclosed by brackets "[]"
-      replaced with your own identifying information. (Don't include
-      the brackets!)  The text should be enclosed in the appropriate
-      comment syntax for the file format. We also recommend that a
-      file or class name and description of purpose be included on the
-      same "printed page" as the copyright notice for easier
-      identification within third-party archives.
-
-   Copyright 2013 Google Inc.
-
-   Licensed under the Apache License, Version 2.0 (the "License");
-   you may not use this file except in compliance with the License.
-   You may obtain a copy of the License at
-
-       http://www.apache.org/licenses/LICENSE-2.0
-
-   Unless required by applicable law or agreed to in writing, software
-   distributed under the License is distributed on an "AS IS" BASIS,
-   WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-   See the License for the specific language governing permissions and
-   limitations under the License.
-
-
-
-Google Toolbox for Mac -show license -homepage -
-
See src/COPYING
 
-Hardware Composer Plus +Google Input Tools show license -homepage +homepage
-
// Copyright 2014 The Chromium Authors. All rights reserved.
-//
-// Redistribution and use in source and binary forms, with or without
-// modification, are permitted provided that the following conditions are
-// met:
-//
-//    * Redistributions of source code must retain the above copyright
-// notice, this list of conditions and the following disclaimer.
-//    * Redistributions in binary form must reproduce the above
-// copyright notice, this list of conditions and the following disclaimer
-// in the documentation and/or other materials provided with the
-// distribution.
-//    * Neither the name of Google Inc. nor the names of its
-// contributors may be used to endorse or promote products derived from
-// this software without specific prior written permission.
-//
-// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
-// "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
-// LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
-// A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
-// OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
-// SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
-// LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
-// DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
-// THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
-// (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
-// OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
-
-
-
+
                                 Apache License
+                           Version 2.0, January 2004
+                        http://www.apache.org/licenses/
 
-
-IAccessible2 COM interfaces for accessibility -show license -homepage -
-
/*************************************************************************
- *
- *  IAccessible2 IDL Specification 
- * 
- *  Copyright (c) 2007, 2010 Linux Foundation 
- *  Copyright (c) 2006 IBM Corporation 
- *  Copyright (c) 2000, 2006 Sun Microsystems, Inc. 
- *  All rights reserved. 
- *   
- *   
- *  Redistribution and use in source and binary forms, with or without 
- *  modification, are permitted provided that the following conditions 
- *  are met: 
- *   
- *   1. Redistributions of source code must retain the above copyright 
- *      notice, this list of conditions and the following disclaimer. 
- *   
- *   2. Redistributions in binary form must reproduce the above 
- *      copyright notice, this list of conditions and the following 
- *      disclaimer in the documentation and/or other materials 
- *      provided with the distribution. 
- *
- *   3. Neither the name of the Linux Foundation nor the names of its 
- *      contributors may be used to endorse or promote products 
- *      derived from this software without specific prior written 
- *      permission. 
- *   
- *  THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND 
- *  CONTRIBUTORS "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, 
- *  INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF 
- *  MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE 
- *  DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR 
- *  CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, 
- *  SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT 
- *  NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; 
- *  LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) 
- *  HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN 
- *  CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR 
- *  OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, 
- *  EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. 
- *   
- *  This BSD License conforms to the Open Source Initiative "Simplified 
- *  BSD License" as published at: 
- *  http://www.opensource.org/licenses/bsd-license.php 
- *   
- *  IAccessible2 is a trademark of the Linux Foundation. The IAccessible2 
- *  mark may be used in accordance with the Linux Foundation Trademark 
- *  Policy to indicate compliance with the IAccessible2 specification. 
- * 
- ************************************************************************/ 
-
-
-
+ TERMS AND CONDITIONS FOR USE, REPRODUCTION, AND DISTRIBUTION -
-ISimpleDOM COM interfaces for accessibility -show license -homepage -
-
/* ***** BEGIN LICENSE BLOCK *****
- * Version: MPL 1.1/GPL 2.0/LGPL 2.1
- *
- * The contents of this file are subject to the Mozilla Public License Version
- * 1.1 (the "License"); you may not use this file except in compliance with
- * the License. You may obtain a copy of the License at
- * http://www.mozilla.org/MPL/
- *
- * Software distributed under the License is distributed on an "AS IS" basis,
- * WITHOUT WARRANTY OF ANY KIND, either express or implied. See the License
- * for the specific language governing rights and limitations under the
- * License.
- *
- * The Original Code is mozilla.org code.
- *
- * The Initial Developer of the Original Code is
- * Netscape Communications Corporation.
- * Portions created by the Initial Developer are Copyright (C) 2002
- * the Initial Developer. All Rights Reserved.
- *
- * Contributor(s):
- *
- * Alternatively, the contents of this file may be used under the terms of
- * either the GNU General Public License Version 2 or later (the "GPL"), or
- * the GNU Lesser General Public License Version 2.1 or later (the "LGPL"),
- * in which case the provisions of the GPL or the LGPL are applicable instead
- * of those above. If you wish to allow use of your version of this file only
- * under the terms of either the GPL or the LGPL, and not to allow others to
- * use your version of this file under the terms of the MPL, indicate your
- * decision by deleting the provisions above and replace them with the notice
- * and other provisions required by the GPL or the LGPL. If you do not delete
- * the provisions above, a recipient may use your version of this file under
- * the terms of any one of the MPL, the GPL or the LGPL.
- *
- * ***** END LICENSE BLOCK ***** */
-
-
-
+ 1. Definitions. -
-International Phone Number Library -show license -homepage -
-
Copyright (C) 2011 Google Inc.
+      "License" shall mean the terms and conditions for use, reproduction,
+      and distribution as defined by Sections 1 through 9 of this document.
 
-Licensed under the Apache License, Version 2.0 (the "License");
-you may not use this file except in compliance with the License.
-You may obtain a copy of the License at
+      "Licensor" shall mean the copyright owner or entity authorized by
+      the copyright owner that is granting the License.
 
-http://www.apache.org/licenses/LICENSE-2.0
+      "Legal Entity" shall mean the union of the acting entity and all
+      other entities that control, are controlled by, or are under common
+      control with that entity. For the purposes of this definition,
+      "control" means (i) the power, direct or indirect, to cause the
+      direction or management of such entity, whether by contract or
+      otherwise, or (ii) ownership of fifty percent (50%) or more of the
+      outstanding shares, or (iii) beneficial ownership of such entity.
 
-Unless required by applicable law or agreed to in writing, software
-distributed under the License is distributed on an "AS IS" BASIS,
-WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-See the License for the specific language governing permissions and
-limitations under the License.
-
-
-
+ "You" (or "Your") shall mean an individual or Legal Entity + exercising permissions granted by this License. -
-JMake -show license -homepage -
-
		    GNU GENERAL PUBLIC LICENSE
-		       Version 2, June 1991
+      "Source" form shall mean the preferred form for making modifications,
+      including but not limited to software source code, documentation
+      source, and configuration files.
 
- Copyright (C) 1989, 1991 Free Software Foundation, Inc.
- 51 Franklin Street, Fifth Floor, Boston, MA  02110-1301, USA
- Everyone is permitted to copy and distribute verbatim copies
- of this license document, but changing it is not allowed.
+      "Object" form shall mean any form resulting from mechanical
+      transformation or translation of a Source form, including but
+      not limited to compiled object code, generated documentation,
+      and conversions to other media types.
 
-			    Preamble
+      "Work" shall mean the work of authorship, whether in Source or
+      Object form, made available under the License, as indicated by a
+      copyright notice that is included in or attached to the work
+      (an example is provided in the Appendix below).
 
-  The licenses for most software are designed to take away your
-freedom to share and change it.  By contrast, the GNU General Public
-License is intended to guarantee your freedom to share and change free
-software--to make sure the software is free for all its users.  This
-General Public License applies to most of the Free Software
-Foundation's software and to any other program whose authors commit to
-using it.  (Some other Free Software Foundation software is covered by
-the GNU Library General Public License instead.)  You can apply it to
-your programs, too.
+      "Derivative Works" shall mean any work, whether in Source or Object
+      form, that is based on (or derived from) the Work and for which the
+      editorial revisions, annotations, elaborations, or other modifications
+      represent, as a whole, an original work of authorship. For the purposes
+      of this License, Derivative Works shall not include works that remain
+      separable from, or merely link (or bind by name) to the interfaces of,
+      the Work and Derivative Works thereof.
 
-  When we speak of free software, we are referring to freedom, not
-price.  Our General Public Licenses are designed to make sure that you
-have the freedom to distribute copies of free software (and charge for
-this service if you wish), that you receive source code or can get it
-if you want it, that you can change the software or use pieces of it
-in new free programs; and that you know you can do these things.
+      "Contribution" shall mean any work of authorship, including
+      the original version of the Work and any modifications or additions
+      to that Work or Derivative Works thereof, that is intentionally
+      submitted to Licensor for inclusion in the Work by the copyright owner
+      or by an individual or Legal Entity authorized to submit on behalf of
+      the copyright owner. For the purposes of this definition, "submitted"
+      means any form of electronic, verbal, or written communication sent
+      to the Licensor or its representatives, including but not limited to
+      communication on electronic mailing lists, source code control systems,
+      and issue tracking systems that are managed by, or on behalf of, the
+      Licensor for the purpose of discussing and improving the Work, but
+      excluding communication that is conspicuously marked or otherwise
+      designated in writing by the copyright owner as "Not a Contribution."
 
-  To protect your rights, we need to make restrictions that forbid
-anyone to deny you these rights or to ask you to surrender the rights.
-These restrictions translate to certain responsibilities for you if you
-distribute copies of the software, or if you modify it.
+      "Contributor" shall mean Licensor and any individual or Legal Entity
+      on behalf of whom a Contribution has been received by Licensor and
+      subsequently incorporated within the Work.
 
-  For example, if you distribute copies of such a program, whether
-gratis or for a fee, you must give the recipients all the rights that
-you have.  You must make sure that they, too, receive or can get the
-source code.  And you must show them these terms so they know their
-rights.
+   2. Grant of Copyright License. Subject to the terms and conditions of
+      this License, each Contributor hereby grants to You a perpetual,
+      worldwide, non-exclusive, no-charge, royalty-free, irrevocable
+      copyright license to reproduce, prepare Derivative Works of,
+      publicly display, publicly perform, sublicense, and distribute the
+      Work and such Derivative Works in Source or Object form.
 
-  We protect your rights with two steps: (1) copyright the software, and
-(2) offer you this license which gives you legal permission to copy,
-distribute and/or modify the software.
+   3. Grant of Patent License. Subject to the terms and conditions of
+      this License, each Contributor hereby grants to You a perpetual,
+      worldwide, non-exclusive, no-charge, royalty-free, irrevocable
+      (except as stated in this section) patent license to make, have made,
+      use, offer to sell, sell, import, and otherwise transfer the Work,
+      where such license applies only to those patent claims licensable
+      by such Contributor that are necessarily infringed by their
+      Contribution(s) alone or by combination of their Contribution(s)
+      with the Work to which such Contribution(s) was submitted. If You
+      institute patent litigation against any entity (including a
+      cross-claim or counterclaim in a lawsuit) alleging that the Work
+      or a Contribution incorporated within the Work constitutes direct
+      or contributory patent infringement, then any patent licenses
+      granted to You under this License for that Work shall terminate
+      as of the date such litigation is filed.
 
-  Also, for each author's protection and ours, we want to make certain
-that everyone understands that there is no warranty for this free
-software.  If the software is modified by someone else and passed on, we
-want its recipients to know that what they have is not the original, so
-that any problems introduced by others will not reflect on the original
-authors' reputations.
+   4. Redistribution. You may reproduce and distribute copies of the
+      Work or Derivative Works thereof in any medium, with or without
+      modifications, and in Source or Object form, provided that You
+      meet the following conditions:
 
-  Finally, any free program is threatened constantly by software
-patents.  We wish to avoid the danger that redistributors of a free
-program will individually obtain patent licenses, in effect making the
-program proprietary.  To prevent this, we have made it clear that any
-patent must be licensed for everyone's free use or not licensed at all.
+      (a) You must give any other recipients of the Work or
+          Derivative Works a copy of this License; and
 
-  The precise terms and conditions for copying, distribution and
-modification follow.
+      (b) You must cause any modified files to carry prominent notices
+          stating that You changed the files; and
 
-		    GNU GENERAL PUBLIC LICENSE
-   TERMS AND CONDITIONS FOR COPYING, DISTRIBUTION AND MODIFICATION
+      (c) You must retain, in the Source form of any Derivative Works
+          that You distribute, all copyright, patent, trademark, and
+          attribution notices from the Source form of the Work,
+          excluding those notices that do not pertain to any part of
+          the Derivative Works; and
 
-  0. This License applies to any program or other work which contains
-a notice placed by the copyright holder saying it may be distributed
-under the terms of this General Public License.  The "Program", below,
-refers to any such program or work, and a "work based on the Program"
-means either the Program or any derivative work under copyright law:
-that is to say, a work containing the Program or a portion of it,
-either verbatim or with modifications and/or translated into another
-language.  (Hereinafter, translation is included without limitation in
-the term "modification".)  Each licensee is addressed as "you".
+      (d) If the Work includes a "NOTICE" text file as part of its
+          distribution, then any Derivative Works that You distribute must
+          include a readable copy of the attribution notices contained
+          within such NOTICE file, excluding those notices that do not
+          pertain to any part of the Derivative Works, in at least one
+          of the following places: within a NOTICE text file distributed
+          as part of the Derivative Works; within the Source form or
+          documentation, if provided along with the Derivative Works; or,
+          within a display generated by the Derivative Works, if and
+          wherever such third-party notices normally appear. The contents
+          of the NOTICE file are for informational purposes only and
+          do not modify the License. You may add Your own attribution
+          notices within Derivative Works that You distribute, alongside
+          or as an addendum to the NOTICE text from the Work, provided
+          that such additional attribution notices cannot be construed
+          as modifying the License.
 
-Activities other than copying, distribution and modification are not
-covered by this License; they are outside its scope.  The act of
-running the Program is not restricted, and the output from the Program
-is covered only if its contents constitute a work based on the
-Program (independent of having been made by running the Program).
-Whether that is true depends on what the Program does.
+      You may add Your own copyright statement to Your modifications and
+      may provide additional or different license terms and conditions
+      for use, reproduction, or distribution of Your modifications, or
+      for any such Derivative Works as a whole, provided Your use,
+      reproduction, and distribution of the Work otherwise complies with
+      the conditions stated in this License.
 
-  1. You may copy and distribute verbatim copies of the Program's
-source code as you receive it, in any medium, provided that you
-conspicuously and appropriately publish on each copy an appropriate
-copyright notice and disclaimer of warranty; keep intact all the
-notices that refer to this License and to the absence of any warranty;
-and give any other recipients of the Program a copy of this License
-along with the Program.
+   5. Submission of Contributions. Unless You explicitly state otherwise,
+      any Contribution intentionally submitted for inclusion in the Work
+      by You to the Licensor shall be under the terms and conditions of
+      this License, without any additional terms or conditions.
+      Notwithstanding the above, nothing herein shall supersede or modify
+      the terms of any separate license agreement you may have executed
+      with Licensor regarding such Contributions.
 
-You may charge a fee for the physical act of transferring a copy, and
-you may at your option offer warranty protection in exchange for a fee.
+   6. Trademarks. This License does not grant permission to use the trade
+      names, trademarks, service marks, or product names of the Licensor,
+      except as required for reasonable and customary use in describing the
+      origin of the Work and reproducing the content of the NOTICE file.
 
-  2. You may modify your copy or copies of the Program or any portion
-of it, thus forming a work based on the Program, and copy and
-distribute such modifications or work under the terms of Section 1
-above, provided that you also meet all of these conditions:
+   7. Disclaimer of Warranty. Unless required by applicable law or
+      agreed to in writing, Licensor provides the Work (and each
+      Contributor provides its Contributions) on an "AS IS" BASIS,
+      WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or
+      implied, including, without limitation, any warranties or conditions
+      of TITLE, NON-INFRINGEMENT, MERCHANTABILITY, or FITNESS FOR A
+      PARTICULAR PURPOSE. You are solely responsible for determining the
+      appropriateness of using or redistributing the Work and assume any
+      risks associated with Your exercise of permissions under this License.
 
-    a) You must cause the modified files to carry prominent notices
-    stating that you changed the files and the date of any change.
+   8. Limitation of Liability. In no event and under no legal theory,
+      whether in tort (including negligence), contract, or otherwise,
+      unless required by applicable law (such as deliberate and grossly
+      negligent acts) or agreed to in writing, shall any Contributor be
+      liable to You for damages, including any direct, indirect, special,
+      incidental, or consequential damages of any character arising as a
+      result of this License or out of the use or inability to use the
+      Work (including but not limited to damages for loss of goodwill,
+      work stoppage, computer failure or malfunction, or any and all
+      other commercial damages or losses), even if such Contributor
+      has been advised of the possibility of such damages.
 
-    b) You must cause any work that you distribute or publish, that in
-    whole or in part contains or is derived from the Program or any
-    part thereof, to be licensed as a whole at no charge to all third
-    parties under the terms of this License.
+   9. Accepting Warranty or Additional Liability. While redistributing
+      the Work or Derivative Works thereof, You may choose to offer,
+      and charge a fee for, acceptance of support, warranty, indemnity,
+      or other liability obligations and/or rights consistent with this
+      License. However, in accepting such obligations, You may act only
+      on Your own behalf and on Your sole responsibility, not on behalf
+      of any other Contributor, and only if You agree to indemnify,
+      defend, and hold each Contributor harmless for any liability
+      incurred by, or claims asserted against, such Contributor by reason
+      of your accepting any such warranty or additional liability.
 
-    c) If the modified program normally reads commands interactively
-    when run, you must cause it, when started running for such
-    interactive use in the most ordinary way, to print or display an
-    announcement including an appropriate copyright notice and a
-    notice that there is no warranty (or else, saying that you provide
-    a warranty) and that users may redistribute the program under
-    these conditions, and telling the user how to view a copy of this
-    License.  (Exception: if the Program itself is interactive but
-    does not normally print such an announcement, your work based on
-    the Program is not required to print an announcement.)
+   END OF TERMS AND CONDITIONS
 
-These requirements apply to the modified work as a whole.  If
-identifiable sections of that work are not derived from the Program,
-and can be reasonably considered independent and separate works in
-themselves, then this License, and its terms, do not apply to those
-sections when you distribute them as separate works.  But when you
-distribute the same sections as part of a whole which is a work based
-on the Program, the distribution of the whole must be on the terms of
-this License, whose permissions for other licensees extend to the
-entire whole, and thus to each and every part regardless of who wrote it.
+   APPENDIX: How to apply the Apache License to your work.
 
-Thus, it is not the intent of this section to claim rights or contest
-your rights to work written entirely by you; rather, the intent is to
-exercise the right to control the distribution of derivative or
-collective works based on the Program.
+      To apply the Apache License to your work, attach the following
+      boilerplate notice, with the fields enclosed by brackets "[]"
+      replaced with your own identifying information. (Don't include
+      the brackets!)  The text should be enclosed in the appropriate
+      comment syntax for the file format. We also recommend that a
+      file or class name and description of purpose be included on the
+      same "printed page" as the copyright notice for easier
+      identification within third-party archives.
 
-In addition, mere aggregation of another work not based on the Program
-with the Program (or with a work based on the Program) on a volume of
-a storage or distribution medium does not bring the other work under
-the scope of this License.
+   Copyright 2013 Google Inc.
 
-  3. You may copy and distribute the Program (or a work based on it,
-under Section 2) in object code or executable form under the terms of
-Sections 1 and 2 above provided that you also do one of the following:
+   Licensed under the Apache License, Version 2.0 (the "License");
+   you may not use this file except in compliance with the License.
+   You may obtain a copy of the License at
 
-    a) Accompany it with the complete corresponding machine-readable
-    source code, which must be distributed under the terms of Sections
-    1 and 2 above on a medium customarily used for software interchange; or,
+       http://www.apache.org/licenses/LICENSE-2.0
 
-    b) Accompany it with a written offer, valid for at least three
-    years, to give any third party, for a charge no more than your
-    cost of physically performing source distribution, a complete
-    machine-readable copy of the corresponding source code, to be
-    distributed under the terms of Sections 1 and 2 above on a medium
-    customarily used for software interchange; or,
+   Unless required by applicable law or agreed to in writing, software
+   distributed under the License is distributed on an "AS IS" BASIS,
+   WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+   See the License for the specific language governing permissions and
+   limitations under the License.
+
+
- c) Accompany it with the information you received as to the offer - to distribute corresponding source code. (This alternative is - allowed only for noncommercial distribution and only if you - received the program in object code or executable form with such - an offer, in accord with Subsection b above.) +
+Google Toolbox for Mac +show license +homepage +
+
See src/COPYING
+
+
+
-The source code for a work means the preferred form of the work for -making modifications to it. For an executable work, complete source -code means all the source code for all modules it contains, plus any -associated interface definition files, plus the scripts used to -control compilation and installation of the executable. However, as a -special exception, the source code distributed need not include -anything that is normally distributed (in either source or binary -form) with the major components (compiler, kernel, and so on) of the -operating system on which the executable runs, unless that component -itself accompanies the executable. +
+Google code support upload script +show license +homepage +
+
+                                 Apache License
+                           Version 2.0, January 2004
+                        http://www.apache.org/licenses/
 
-If distribution of executable or object code is made by offering
-access to copy from a designated place, then offering equivalent
-access to copy the source code from the same place counts as
-distribution of the source code, even though third parties are not
-compelled to copy the source along with the object code.
+   TERMS AND CONDITIONS FOR USE, REPRODUCTION, AND DISTRIBUTION
 
-  4. You may not copy, modify, sublicense, or distribute the Program
-except as expressly provided under this License.  Any attempt
-otherwise to copy, modify, sublicense or distribute the Program is
-void, and will automatically terminate your rights under this License.
-However, parties who have received copies, or rights, from you under
-this License will not have their licenses terminated so long as such
-parties remain in full compliance.
+   1. Definitions.
 
-  5. You are not required to accept this License, since you have not
-signed it.  However, nothing else grants you permission to modify or
-distribute the Program or its derivative works.  These actions are
-prohibited by law if you do not accept this License.  Therefore, by
-modifying or distributing the Program (or any work based on the
-Program), you indicate your acceptance of this License to do so, and
-all its terms and conditions for copying, distributing or modifying
-the Program or works based on it.
+      "License" shall mean the terms and conditions for use, reproduction,
+      and distribution as defined by Sections 1 through 9 of this document.
 
-  6. Each time you redistribute the Program (or any work based on the
-Program), the recipient automatically receives a license from the
-original licensor to copy, distribute or modify the Program subject to
-these terms and conditions.  You may not impose any further
-restrictions on the recipients' exercise of the rights granted herein.
-You are not responsible for enforcing compliance by third parties to
-this License.
+      "Licensor" shall mean the copyright owner or entity authorized by
+      the copyright owner that is granting the License.
 
-  7. If, as a consequence of a court judgment or allegation of patent
-infringement or for any other reason (not limited to patent issues),
-conditions are imposed on you (whether by court order, agreement or
-otherwise) that contradict the conditions of this License, they do not
-excuse you from the conditions of this License.  If you cannot
-distribute so as to satisfy simultaneously your obligations under this
-License and any other pertinent obligations, then as a consequence you
-may not distribute the Program at all.  For example, if a patent
-license would not permit royalty-free redistribution of the Program by
-all those who receive copies directly or indirectly through you, then
-the only way you could satisfy both it and this License would be to
-refrain entirely from distribution of the Program.
+      "Legal Entity" shall mean the union of the acting entity and all
+      other entities that control, are controlled by, or are under common
+      control with that entity. For the purposes of this definition,
+      "control" means (i) the power, direct or indirect, to cause the
+      direction or management of such entity, whether by contract or
+      otherwise, or (ii) ownership of fifty percent (50%) or more of the
+      outstanding shares, or (iii) beneficial ownership of such entity.
 
-If any portion of this section is held invalid or unenforceable under
-any particular circumstance, the balance of the section is intended to
-apply and the section as a whole is intended to apply in other
-circumstances.
+      "You" (or "Your") shall mean an individual or Legal Entity
+      exercising permissions granted by this License.
 
-It is not the purpose of this section to induce you to infringe any
-patents or other property right claims or to contest validity of any
-such claims; this section has the sole purpose of protecting the
-integrity of the free software distribution system, which is
-implemented by public license practices.  Many people have made
-generous contributions to the wide range of software distributed
-through that system in reliance on consistent application of that
-system; it is up to the author/donor to decide if he or she is willing
-to distribute software through any other system and a licensee cannot
-impose that choice.
+      "Source" form shall mean the preferred form for making modifications,
+      including but not limited to software source code, documentation
+      source, and configuration files.
 
-This section is intended to make thoroughly clear what is believed to
-be a consequence of the rest of this License.
+      "Object" form shall mean any form resulting from mechanical
+      transformation or translation of a Source form, including but
+      not limited to compiled object code, generated documentation,
+      and conversions to other media types.
 
-  8. If the distribution and/or use of the Program is restricted in
-certain countries either by patents or by copyrighted interfaces, the
-original copyright holder who places the Program under this License
-may add an explicit geographical distribution limitation excluding
-those countries, so that distribution is permitted only in or among
-countries not thus excluded.  In such case, this License incorporates
-the limitation as if written in the body of this License.
+      "Work" shall mean the work of authorship, whether in Source or
+      Object form, made available under the License, as indicated by a
+      copyright notice that is included in or attached to the work
+      (an example is provided in the Appendix below).
 
-  9. The Free Software Foundation may publish revised and/or new versions
-of the General Public License from time to time.  Such new versions will
-be similar in spirit to the present version, but may differ in detail to
-address new problems or concerns.
+      "Derivative Works" shall mean any work, whether in Source or Object
+      form, that is based on (or derived from) the Work and for which the
+      editorial revisions, annotations, elaborations, or other modifications
+      represent, as a whole, an original work of authorship. For the purposes
+      of this License, Derivative Works shall not include works that remain
+      separable from, or merely link (or bind by name) to the interfaces of,
+      the Work and Derivative Works thereof.
 
-Each version is given a distinguishing version number.  If the Program
-specifies a version number of this License which applies to it and "any
-later version", you have the option of following the terms and conditions
-either of that version or of any later version published by the Free
-Software Foundation.  If the Program does not specify a version number of
-this License, you may choose any version ever published by the Free Software
-Foundation.
+      "Contribution" shall mean any work of authorship, including
+      the original version of the Work and any modifications or additions
+      to that Work or Derivative Works thereof, that is intentionally
+      submitted to Licensor for inclusion in the Work by the copyright owner
+      or by an individual or Legal Entity authorized to submit on behalf of
+      the copyright owner. For the purposes of this definition, "submitted"
+      means any form of electronic, verbal, or written communication sent
+      to the Licensor or its representatives, including but not limited to
+      communication on electronic mailing lists, source code control systems,
+      and issue tracking systems that are managed by, or on behalf of, the
+      Licensor for the purpose of discussing and improving the Work, but
+      excluding communication that is conspicuously marked or otherwise
+      designated in writing by the copyright owner as "Not a Contribution."
 
-  10. If you wish to incorporate parts of the Program into other free
-programs whose distribution conditions are different, write to the author
-to ask for permission.  For software which is copyrighted by the Free
-Software Foundation, write to the Free Software Foundation; we sometimes
-make exceptions for this.  Our decision will be guided by the two goals
-of preserving the free status of all derivatives of our free software and
-of promoting the sharing and reuse of software generally.
+      "Contributor" shall mean Licensor and any individual or Legal Entity
+      on behalf of whom a Contribution has been received by Licensor and
+      subsequently incorporated within the Work.
 
-			    NO WARRANTY
+   2. Grant of Copyright License. Subject to the terms and conditions of
+      this License, each Contributor hereby grants to You a perpetual,
+      worldwide, non-exclusive, no-charge, royalty-free, irrevocable
+      copyright license to reproduce, prepare Derivative Works of,
+      publicly display, publicly perform, sublicense, and distribute the
+      Work and such Derivative Works in Source or Object form.
 
-  11. BECAUSE THE PROGRAM IS LICENSED FREE OF CHARGE, THERE IS NO WARRANTY
-FOR THE PROGRAM, TO THE EXTENT PERMITTED BY APPLICABLE LAW.  EXCEPT WHEN
-OTHERWISE STATED IN WRITING THE COPYRIGHT HOLDERS AND/OR OTHER PARTIES
-PROVIDE THE PROGRAM "AS IS" WITHOUT WARRANTY OF ANY KIND, EITHER EXPRESSED
-OR IMPLIED, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF
-MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE.  THE ENTIRE RISK AS
-TO THE QUALITY AND PERFORMANCE OF THE PROGRAM IS WITH YOU.  SHOULD THE
-PROGRAM PROVE DEFECTIVE, YOU ASSUME THE COST OF ALL NECESSARY SERVICING,
-REPAIR OR CORRECTION.
+   3. Grant of Patent License. Subject to the terms and conditions of
+      this License, each Contributor hereby grants to You a perpetual,
+      worldwide, non-exclusive, no-charge, royalty-free, irrevocable
+      (except as stated in this section) patent license to make, have made,
+      use, offer to sell, sell, import, and otherwise transfer the Work,
+      where such license applies only to those patent claims licensable
+      by such Contributor that are necessarily infringed by their
+      Contribution(s) alone or by combination of their Contribution(s)
+      with the Work to which such Contribution(s) was submitted. If You
+      institute patent litigation against any entity (including a
+      cross-claim or counterclaim in a lawsuit) alleging that the Work
+      or a Contribution incorporated within the Work constitutes direct
+      or contributory patent infringement, then any patent licenses
+      granted to You under this License for that Work shall terminate
+      as of the date such litigation is filed.
 
-  12. IN NO EVENT UNLESS REQUIRED BY APPLICABLE LAW OR AGREED TO IN WRITING
-WILL ANY COPYRIGHT HOLDER, OR ANY OTHER PARTY WHO MAY MODIFY AND/OR
-REDISTRIBUTE THE PROGRAM AS PERMITTED ABOVE, BE LIABLE TO YOU FOR DAMAGES,
-INCLUDING ANY GENERAL, SPECIAL, INCIDENTAL OR CONSEQUENTIAL DAMAGES ARISING
-OUT OF THE USE OR INABILITY TO USE THE PROGRAM (INCLUDING BUT NOT LIMITED
-TO LOSS OF DATA OR DATA BEING RENDERED INACCURATE OR LOSSES SUSTAINED BY
-YOU OR THIRD PARTIES OR A FAILURE OF THE PROGRAM TO OPERATE WITH ANY OTHER
-PROGRAMS), EVEN IF SUCH HOLDER OR OTHER PARTY HAS BEEN ADVISED OF THE
-POSSIBILITY OF SUCH DAMAGES.
+   4. Redistribution. You may reproduce and distribute copies of the
+      Work or Derivative Works thereof in any medium, with or without
+      modifications, and in Source or Object form, provided that You
+      meet the following conditions:
 
-		     END OF TERMS AND CONDITIONS
+      (a) You must give any other recipients of the Work or
+          Derivative Works a copy of this License; and
 
-	    How to Apply These Terms to Your New Programs
+      (b) You must cause any modified files to carry prominent notices
+          stating that You changed the files; and
 
-  If you develop a new program, and you want it to be of the greatest
-possible use to the public, the best way to achieve this is to make it
-free software which everyone can redistribute and change under these terms.
+      (c) You must retain, in the Source form of any Derivative Works
+          that You distribute, all copyright, patent, trademark, and
+          attribution notices from the Source form of the Work,
+          excluding those notices that do not pertain to any part of
+          the Derivative Works; and
 
-  To do so, attach the following notices to the program.  It is safest
-to attach them to the start of each source file to most effectively
-convey the exclusion of warranty; and each file should have at least
-the "copyright" line and a pointer to where the full notice is found.
+      (d) If the Work includes a "NOTICE" text file as part of its
+          distribution, then any Derivative Works that You distribute must
+          include a readable copy of the attribution notices contained
+          within such NOTICE file, excluding those notices that do not
+          pertain to any part of the Derivative Works, in at least one
+          of the following places: within a NOTICE text file distributed
+          as part of the Derivative Works; within the Source form or
+          documentation, if provided along with the Derivative Works; or,
+          within a display generated by the Derivative Works, if and
+          wherever such third-party notices normally appear. The contents
+          of the NOTICE file are for informational purposes only and
+          do not modify the License. You may add Your own attribution
+          notices within Derivative Works that You distribute, alongside
+          or as an addendum to the NOTICE text from the Work, provided
+          that such additional attribution notices cannot be construed
+          as modifying the License.
 
-    <one line to give the program's name and a brief idea of what it does.>
-    Copyright (C) <year>  <name of author>
+      You may add Your own copyright statement to Your modifications and
+      may provide additional or different license terms and conditions
+      for use, reproduction, or distribution of Your modifications, or
+      for any such Derivative Works as a whole, provided Your use,
+      reproduction, and distribution of the Work otherwise complies with
+      the conditions stated in this License.
 
-    This program is free software; you can redistribute it and/or modify
-    it under the terms of the GNU General Public License as published by
-    the Free Software Foundation; either version 2 of the License, or
-    (at your option) any later version.
+   5. Submission of Contributions. Unless You explicitly state otherwise,
+      any Contribution intentionally submitted for inclusion in the Work
+      by You to the Licensor shall be under the terms and conditions of
+      this License, without any additional terms or conditions.
+      Notwithstanding the above, nothing herein shall supersede or modify
+      the terms of any separate license agreement you may have executed
+      with Licensor regarding such Contributions.
 
-    This program is distributed in the hope that it will be useful,
-    but WITHOUT ANY WARRANTY; without even the implied warranty of
-    MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
-    GNU General Public License for more details.
+   6. Trademarks. This License does not grant permission to use the trade
+      names, trademarks, service marks, or product names of the Licensor,
+      except as required for reasonable and customary use in describing the
+      origin of the Work and reproducing the content of the NOTICE file.
 
-    You should have received a copy of the GNU General Public License
-    along with this program; if not, write to the Free Software
-    Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA  02110-1301, USA
+   7. Disclaimer of Warranty. Unless required by applicable law or
+      agreed to in writing, Licensor provides the Work (and each
+      Contributor provides its Contributions) on an "AS IS" BASIS,
+      WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or
+      implied, including, without limitation, any warranties or conditions
+      of TITLE, NON-INFRINGEMENT, MERCHANTABILITY, or FITNESS FOR A
+      PARTICULAR PURPOSE. You are solely responsible for determining the
+      appropriateness of using or redistributing the Work and assume any
+      risks associated with Your exercise of permissions under this License.
 
+   8. Limitation of Liability. In no event and under no legal theory,
+      whether in tort (including negligence), contract, or otherwise,
+      unless required by applicable law (such as deliberate and grossly
+      negligent acts) or agreed to in writing, shall any Contributor be
+      liable to You for damages, including any direct, indirect, special,
+      incidental, or consequential damages of any character arising as a
+      result of this License or out of the use or inability to use the
+      Work (including but not limited to damages for loss of goodwill,
+      work stoppage, computer failure or malfunction, or any and all
+      other commercial damages or losses), even if such Contributor
+      has been advised of the possibility of such damages.
 
-Also add information on how to contact you by electronic and paper mail.
+   9. Accepting Warranty or Additional Liability. While redistributing
+      the Work or Derivative Works thereof, You may choose to offer,
+      and charge a fee for, acceptance of support, warranty, indemnity,
+      or other liability obligations and/or rights consistent with this
+      License. However, in accepting such obligations, You may act only
+      on Your own behalf and on Your sole responsibility, not on behalf
+      of any other Contributor, and only if You agree to indemnify,
+      defend, and hold each Contributor harmless for any liability
+      incurred by, or claims asserted against, such Contributor by reason
+      of your accepting any such warranty or additional liability.
 
-If the program is interactive, make it output a short notice like this
-when it starts in an interactive mode:
+   END OF TERMS AND CONDITIONS
 
-    Gnomovision version 69, Copyright (C) year name of author
-    Gnomovision comes with ABSOLUTELY NO WARRANTY; for details type `show w'.
-    This is free software, and you are welcome to redistribute it
-    under certain conditions; type `show c' for details.
+   APPENDIX: How to apply the Apache License to your work.
 
-The hypothetical commands `show w' and `show c' should show the appropriate
-parts of the General Public License.  Of course, the commands you use may
-be called something other than `show w' and `show c'; they could even be
-mouse-clicks or menu items--whatever suits your program.
+      To apply the Apache License to your work, attach the following
+      boilerplate notice, with the fields enclosed by brackets "[]"
+      replaced with your own identifying information. (Don't include
+      the brackets!)  The text should be enclosed in the appropriate
+      comment syntax for the file format. We also recommend that a
+      file or class name and description of purpose be included on the
+      same "printed page" as the copyright notice for easier
+      identification within third-party archives.
 
-You should also get your employer (if you work as a programmer) or your
-school, if any, to sign a "copyright disclaimer" for the program, if
-necessary.  Here is a sample; alter the names:
+   Copyright 2007-2009 Google Inc.
+   Copyright 2007-2009 WebDriver committers
 
-  Yoyodyne, Inc., hereby disclaims all copyright interest in the program
-  `Gnomovision' (which makes passes at compilers) written by James Hacker.
+   Licensed under the Apache License, Version 2.0 (the "License");
+   you may not use this file except in compliance with the License.
+   You may obtain a copy of the License at
 
-  <signature of Ty Coon>, 1 April 1989
-  Ty Coon, President of Vice
+       http://www.apache.org/licenses/LICENSE-2.0
 
-This General Public License does not permit incorporating your program into
-proprietary programs.  If your program is a subroutine library, you may
-consider it more useful to permit linking proprietary applications with the
-library.  If this is what you want to do, use the GNU Lesser General
-Public License instead of this License.
+   Unless required by applicable law or agreed to in writing, software
+   distributed under the License is distributed on an "AS IS" BASIS,
+   WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+   See the License for the specific language governing permissions and
+   limitations under the License.
 
 
-Khronos header files +Hardware Composer Plus show license -homepage +homepage
-
Copyright (c) 2007-2010 The Khronos Group Inc.
-
-Permission is hereby granted, free of charge, to any person obtaining a
-copy of this software and/or associated documentation files (the
-"Materials"), to deal in the Materials without restriction, including
-without limitation the rights to use, copy, modify, merge, publish,
-distribute, sublicense, and/or sell copies of the Materials, and to
-permit persons to whom the Materials are furnished to do so, subject to
-the following conditions:
-
-The above copyright notice and this permission notice shall be included
-in all copies or substantial portions of the Materials.
+
// Copyright 2014 The Chromium Authors. All rights reserved.
+//
+// Redistribution and use in source and binary forms, with or without
+// modification, are permitted provided that the following conditions are
+// met:
+//
+//    * Redistributions of source code must retain the above copyright
+// notice, this list of conditions and the following disclaimer.
+//    * Redistributions in binary form must reproduce the above
+// copyright notice, this list of conditions and the following disclaimer
+// in the documentation and/or other materials provided with the
+// distribution.
+//    * Neither the name of Google Inc. nor the names of its
+// contributors may be used to endorse or promote products derived from
+// this software without specific prior written permission.
+//
+// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
+// "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
+// LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
+// A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
+// OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
+// SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
+// LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
+// DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
+// THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
+// (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
+// OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+
+
+
-THE MATERIALS ARE PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, -EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF -MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. -IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY -CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, -TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE -MATERIALS OR THE USE OR OTHER DEALINGS IN THE MATERIALS. - - -SGI FREE SOFTWARE LICENSE B (Version 2.0, Sept. 18, 2008) +
+IAccessible2 COM interfaces for accessibility +show license +homepage +
+
/*************************************************************************
+ *
+ *  IAccessible2 IDL Specification 
+ * 
+ *  Copyright (c) 2007, 2010 Linux Foundation 
+ *  Copyright (c) 2006 IBM Corporation 
+ *  Copyright (c) 2000, 2006 Sun Microsystems, Inc. 
+ *  All rights reserved. 
+ *   
+ *   
+ *  Redistribution and use in source and binary forms, with or without 
+ *  modification, are permitted provided that the following conditions 
+ *  are met: 
+ *   
+ *   1. Redistributions of source code must retain the above copyright 
+ *      notice, this list of conditions and the following disclaimer. 
+ *   
+ *   2. Redistributions in binary form must reproduce the above 
+ *      copyright notice, this list of conditions and the following 
+ *      disclaimer in the documentation and/or other materials 
+ *      provided with the distribution. 
+ *
+ *   3. Neither the name of the Linux Foundation nor the names of its 
+ *      contributors may be used to endorse or promote products 
+ *      derived from this software without specific prior written 
+ *      permission. 
+ *   
+ *  THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND 
+ *  CONTRIBUTORS "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, 
+ *  INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF 
+ *  MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE 
+ *  DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR 
+ *  CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, 
+ *  SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT 
+ *  NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; 
+ *  LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) 
+ *  HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN 
+ *  CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR 
+ *  OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, 
+ *  EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. 
+ *   
+ *  This BSD License conforms to the Open Source Initiative "Simplified 
+ *  BSD License" as published at: 
+ *  http://www.opensource.org/licenses/bsd-license.php 
+ *   
+ *  IAccessible2 is a trademark of the Linux Foundation. The IAccessible2 
+ *  mark may be used in accordance with the Linux Foundation Trademark 
+ *  Policy to indicate compliance with the IAccessible2 specification. 
+ * 
+ ************************************************************************/ 
+
+
+
-Copyright (C) 1992 Silicon Graphics, Inc. All Rights Reserved. +
+ISimpleDOM COM interfaces for accessibility +show license +homepage +
+
/* ***** BEGIN LICENSE BLOCK *****
+ * Version: MPL 1.1/GPL 2.0/LGPL 2.1
+ *
+ * The contents of this file are subject to the Mozilla Public License Version
+ * 1.1 (the "License"); you may not use this file except in compliance with
+ * the License. You may obtain a copy of the License at
+ * http://www.mozilla.org/MPL/
+ *
+ * Software distributed under the License is distributed on an "AS IS" basis,
+ * WITHOUT WARRANTY OF ANY KIND, either express or implied. See the License
+ * for the specific language governing rights and limitations under the
+ * License.
+ *
+ * The Original Code is mozilla.org code.
+ *
+ * The Initial Developer of the Original Code is
+ * Netscape Communications Corporation.
+ * Portions created by the Initial Developer are Copyright (C) 2002
+ * the Initial Developer. All Rights Reserved.
+ *
+ * Contributor(s):
+ *
+ * Alternatively, the contents of this file may be used under the terms of
+ * either the GNU General Public License Version 2 or later (the "GPL"), or
+ * the GNU Lesser General Public License Version 2.1 or later (the "LGPL"),
+ * in which case the provisions of the GPL or the LGPL are applicable instead
+ * of those above. If you wish to allow use of your version of this file only
+ * under the terms of either the GPL or the LGPL, and not to allow others to
+ * use your version of this file under the terms of the MPL, indicate your
+ * decision by deleting the provisions above and replace them with the notice
+ * and other provisions required by the GPL or the LGPL. If you do not delete
+ * the provisions above, a recipient may use your version of this file under
+ * the terms of any one of the MPL, the GPL or the LGPL.
+ *
+ * ***** END LICENSE BLOCK ***** */
+
+
+
-Permission is hereby granted, free of charge, to any person obtaining a copy of -this software and associated documentation files (the "Software"), to deal in -the Software without restriction, including without limitation the rights to -use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies -of the Software, and to permit persons to whom the Software is furnished to do -so, subject to the following conditions: +
+International Phone Number Library +show license +homepage +
+
Copyright (C) 2011 Google Inc.
 
-The above copyright notice including the dates of first publication and either
-this permission notice or a reference to http://oss.sgi.com/projects/FreeB/
-shall be included in all copies or substantial portions of the Software. 
+Licensed under the Apache License, Version 2.0 (the "License");
+you may not use this file except in compliance with the License.
+You may obtain a copy of the License at
 
-THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
-IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
-FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL SILICON
-GRAPHICS, INC. BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN
-AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION
-WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
+http://www.apache.org/licenses/LICENSE-2.0
 
-Except as contained in this notice, the name of Silicon Graphics, Inc. shall
-not be used in advertising or otherwise to promote the sale, use or other
-dealings in this Software without prior written authorization from Silicon
-Graphics, Inc.
+Unless required by applicable law or agreed to in writing, software
+distributed under the License is distributed on an "AS IS" BASIS,
+WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+See the License for the specific language governing permissions and
+limitations under the License.
 
-LCOV - the LTP GCOV extension +JMake show license -homepage +homepage
		    GNU GENERAL PUBLIC LICENSE
 		       Version 2, June 1991
 
- Copyright (C) 1989, 1991 Free Software Foundation, Inc.,
- 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA
+ Copyright (C) 1989, 1991 Free Software Foundation, Inc.
+ 51 Franklin Street, Fifth Floor, Boston, MA  02110-1301, USA
  Everyone is permitted to copy and distribute verbatim copies
  of this license document, but changing it is not allowed.
 
@@ -4666,7 +4931,7 @@
 General Public License applies to most of the Free Software
 Foundation's software and to any other program whose authors commit to
 using it.  (Some other Free Software Foundation software is covered by
-the GNU Lesser General Public License instead.)  You can apply it to
+the GNU Library General Public License instead.)  You can apply it to
 your programs, too.
 
   When we speak of free software, we are referring to freedom, not
@@ -4954,9 +5219,10 @@
     MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
     GNU General Public License for more details.
 
-    You should have received a copy of the GNU General Public License along
-    with this program; if not, write to the Free Software Foundation, Inc.,
-    51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA.
+    You should have received a copy of the GNU General Public License
+    along with this program; if not, write to the Free Software
+    Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA  02110-1301, USA
+
 
 Also add information on how to contact you by electronic and paper mail.
 
@@ -4988,544 +5254,679 @@
 consider it more useful to permit linking proprietary applications with the
 library.  If this is what you want to do, use the GNU Lesser General
 Public License instead of this License.
-
-
-
-
-LZMA SDK -show license -homepage -
-
LZMA SDK is placed in the public domain.
 
-LevelDB: A Fast Persistent Key-Value Store +Khronos header files show license -homepage +homepage
-
Copyright (c) 2011 The LevelDB Authors. All rights reserved.
+
Copyright (c) 2007-2010 The Khronos Group Inc.
 
-Redistribution and use in source and binary forms, with or without
-modification, are permitted provided that the following conditions are
-met:
+Permission is hereby granted, free of charge, to any person obtaining a
+copy of this software and/or associated documentation files (the
+"Materials"), to deal in the Materials without restriction, including
+without limitation the rights to use, copy, modify, merge, publish,
+distribute, sublicense, and/or sell copies of the Materials, and to
+permit persons to whom the Materials are furnished to do so, subject to
+the following conditions:
 
-   * Redistributions of source code must retain the above copyright
-notice, this list of conditions and the following disclaimer.
-   * Redistributions in binary form must reproduce the above
-copyright notice, this list of conditions and the following disclaimer
-in the documentation and/or other materials provided with the
-distribution.
-   * Neither the name of Google Inc. nor the names of its
-contributors may be used to endorse or promote products derived from
-this software without specific prior written permission.
+The above copyright notice and this permission notice shall be included
+in all copies or substantial portions of the Materials.
 
-THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
-"AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
-LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
-A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
-OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
-SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
-LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
-DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
-THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
-(INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
-OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+THE MATERIALS ARE PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
+EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
+MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT.
+IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY
+CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT,
+TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE
+MATERIALS OR THE USE OR OTHER DEALINGS IN THE MATERIALS.
+
+
+SGI FREE SOFTWARE LICENSE B (Version 2.0, Sept. 18, 2008)
+
+Copyright (C) 1992 Silicon Graphics, Inc. All Rights Reserved.
+
+Permission is hereby granted, free of charge, to any person obtaining a copy of
+this software and associated documentation files (the "Software"), to deal in
+the Software without restriction, including without limitation the rights to
+use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies
+of the Software, and to permit persons to whom the Software is furnished to do
+so, subject to the following conditions:
+
+The above copyright notice including the dates of first publication and either
+this permission notice or a reference to http://oss.sgi.com/projects/FreeB/
+shall be included in all copies or substantial portions of the Software. 
+
+THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
+IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
+FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL SILICON
+GRAPHICS, INC. BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN
+AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION
+WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
+
+Except as contained in this notice, the name of Silicon Graphics, Inc. shall
+not be used in advertising or otherwise to promote the sale, use or other
+dealings in this Software without prior written authorization from Silicon
+Graphics, Inc.
 
-MediaController android sample. +LCOV - the LTP GCOV extension show license -homepage +homepage
-
-                                 Apache License
-                           Version 2.0, January 2004
-                        http://www.apache.org/licenses/
+
		    GNU GENERAL PUBLIC LICENSE
+		       Version 2, June 1991
 
-   TERMS AND CONDITIONS FOR USE, REPRODUCTION, AND DISTRIBUTION
+ Copyright (C) 1989, 1991 Free Software Foundation, Inc.,
+ 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA
+ Everyone is permitted to copy and distribute verbatim copies
+ of this license document, but changing it is not allowed.
 
-   1. Definitions.
+			    Preamble
 
-      "License" shall mean the terms and conditions for use, reproduction,
-      and distribution as defined by Sections 1 through 9 of this document.
-
-      "Licensor" shall mean the copyright owner or entity authorized by
-      the copyright owner that is granting the License.
-
-      "Legal Entity" shall mean the union of the acting entity and all
-      other entities that control, are controlled by, or are under common
-      control with that entity. For the purposes of this definition,
-      "control" means (i) the power, direct or indirect, to cause the
-      direction or management of such entity, whether by contract or
-      otherwise, or (ii) ownership of fifty percent (50%) or more of the
-      outstanding shares, or (iii) beneficial ownership of such entity.
+  The licenses for most software are designed to take away your
+freedom to share and change it.  By contrast, the GNU General Public
+License is intended to guarantee your freedom to share and change free
+software--to make sure the software is free for all its users.  This
+General Public License applies to most of the Free Software
+Foundation's software and to any other program whose authors commit to
+using it.  (Some other Free Software Foundation software is covered by
+the GNU Lesser General Public License instead.)  You can apply it to
+your programs, too.
 
-      "You" (or "Your") shall mean an individual or Legal Entity
-      exercising permissions granted by this License.
+  When we speak of free software, we are referring to freedom, not
+price.  Our General Public Licenses are designed to make sure that you
+have the freedom to distribute copies of free software (and charge for
+this service if you wish), that you receive source code or can get it
+if you want it, that you can change the software or use pieces of it
+in new free programs; and that you know you can do these things.
 
-      "Source" form shall mean the preferred form for making modifications,
-      including but not limited to software source code, documentation
-      source, and configuration files.
+  To protect your rights, we need to make restrictions that forbid
+anyone to deny you these rights or to ask you to surrender the rights.
+These restrictions translate to certain responsibilities for you if you
+distribute copies of the software, or if you modify it.
 
-      "Object" form shall mean any form resulting from mechanical
-      transformation or translation of a Source form, including but
-      not limited to compiled object code, generated documentation,
-      and conversions to other media types.
+  For example, if you distribute copies of such a program, whether
+gratis or for a fee, you must give the recipients all the rights that
+you have.  You must make sure that they, too, receive or can get the
+source code.  And you must show them these terms so they know their
+rights.
 
-      "Work" shall mean the work of authorship, whether in Source or
-      Object form, made available under the License, as indicated by a
-      copyright notice that is included in or attached to the work
-      (an example is provided in the Appendix below).
+  We protect your rights with two steps: (1) copyright the software, and
+(2) offer you this license which gives you legal permission to copy,
+distribute and/or modify the software.
 
-      "Derivative Works" shall mean any work, whether in Source or Object
-      form, that is based on (or derived from) the Work and for which the
-      editorial revisions, annotations, elaborations, or other modifications
-      represent, as a whole, an original work of authorship. For the purposes
-      of this License, Derivative Works shall not include works that remain
-      separable from, or merely link (or bind by name) to the interfaces of,
-      the Work and Derivative Works thereof.
+  Also, for each author's protection and ours, we want to make certain
+that everyone understands that there is no warranty for this free
+software.  If the software is modified by someone else and passed on, we
+want its recipients to know that what they have is not the original, so
+that any problems introduced by others will not reflect on the original
+authors' reputations.
 
-      "Contribution" shall mean any work of authorship, including
-      the original version of the Work and any modifications or additions
-      to that Work or Derivative Works thereof, that is intentionally
-      submitted to Licensor for inclusion in the Work by the copyright owner
-      or by an individual or Legal Entity authorized to submit on behalf of
-      the copyright owner. For the purposes of this definition, "submitted"
-      means any form of electronic, verbal, or written communication sent
-      to the Licensor or its representatives, including but not limited to
-      communication on electronic mailing lists, source code control systems,
-      and issue tracking systems that are managed by, or on behalf of, the
-      Licensor for the purpose of discussing and improving the Work, but
-      excluding communication that is conspicuously marked or otherwise
-      designated in writing by the copyright owner as "Not a Contribution."
+  Finally, any free program is threatened constantly by software
+patents.  We wish to avoid the danger that redistributors of a free
+program will individually obtain patent licenses, in effect making the
+program proprietary.  To prevent this, we have made it clear that any
+patent must be licensed for everyone's free use or not licensed at all.
 
-      "Contributor" shall mean Licensor and any individual or Legal Entity
-      on behalf of whom a Contribution has been received by Licensor and
-      subsequently incorporated within the Work.
+  The precise terms and conditions for copying, distribution and
+modification follow.
 
-   2. Grant of Copyright License. Subject to the terms and conditions of
-      this License, each Contributor hereby grants to You a perpetual,
-      worldwide, non-exclusive, no-charge, royalty-free, irrevocable
-      copyright license to reproduce, prepare Derivative Works of,
-      publicly display, publicly perform, sublicense, and distribute the
-      Work and such Derivative Works in Source or Object form.
+		    GNU GENERAL PUBLIC LICENSE
+   TERMS AND CONDITIONS FOR COPYING, DISTRIBUTION AND MODIFICATION
 
-   3. Grant of Patent License. Subject to the terms and conditions of
-      this License, each Contributor hereby grants to You a perpetual,
-      worldwide, non-exclusive, no-charge, royalty-free, irrevocable
-      (except as stated in this section) patent license to make, have made,
-      use, offer to sell, sell, import, and otherwise transfer the Work,
-      where such license applies only to those patent claims licensable
-      by such Contributor that are necessarily infringed by their
-      Contribution(s) alone or by combination of their Contribution(s)
-      with the Work to which such Contribution(s) was submitted. If You
-      institute patent litigation against any entity (including a
-      cross-claim or counterclaim in a lawsuit) alleging that the Work
-      or a Contribution incorporated within the Work constitutes direct
-      or contributory patent infringement, then any patent licenses
-      granted to You under this License for that Work shall terminate
-      as of the date such litigation is filed.
+  0. This License applies to any program or other work which contains
+a notice placed by the copyright holder saying it may be distributed
+under the terms of this General Public License.  The "Program", below,
+refers to any such program or work, and a "work based on the Program"
+means either the Program or any derivative work under copyright law:
+that is to say, a work containing the Program or a portion of it,
+either verbatim or with modifications and/or translated into another
+language.  (Hereinafter, translation is included without limitation in
+the term "modification".)  Each licensee is addressed as "you".
 
-   4. Redistribution. You may reproduce and distribute copies of the
-      Work or Derivative Works thereof in any medium, with or without
-      modifications, and in Source or Object form, provided that You
-      meet the following conditions:
+Activities other than copying, distribution and modification are not
+covered by this License; they are outside its scope.  The act of
+running the Program is not restricted, and the output from the Program
+is covered only if its contents constitute a work based on the
+Program (independent of having been made by running the Program).
+Whether that is true depends on what the Program does.
 
-      (a) You must give any other recipients of the Work or
-          Derivative Works a copy of this License; and
+  1. You may copy and distribute verbatim copies of the Program's
+source code as you receive it, in any medium, provided that you
+conspicuously and appropriately publish on each copy an appropriate
+copyright notice and disclaimer of warranty; keep intact all the
+notices that refer to this License and to the absence of any warranty;
+and give any other recipients of the Program a copy of this License
+along with the Program.
 
-      (b) You must cause any modified files to carry prominent notices
-          stating that You changed the files; and
+You may charge a fee for the physical act of transferring a copy, and
+you may at your option offer warranty protection in exchange for a fee.
 
-      (c) You must retain, in the Source form of any Derivative Works
-          that You distribute, all copyright, patent, trademark, and
-          attribution notices from the Source form of the Work,
-          excluding those notices that do not pertain to any part of
-          the Derivative Works; and
+  2. You may modify your copy or copies of the Program or any portion
+of it, thus forming a work based on the Program, and copy and
+distribute such modifications or work under the terms of Section 1
+above, provided that you also meet all of these conditions:
 
-      (d) If the Work includes a "NOTICE" text file as part of its
-          distribution, then any Derivative Works that You distribute must
-          include a readable copy of the attribution notices contained
-          within such NOTICE file, excluding those notices that do not
-          pertain to any part of the Derivative Works, in at least one
-          of the following places: within a NOTICE text file distributed
-          as part of the Derivative Works; within the Source form or
-          documentation, if provided along with the Derivative Works; or,
-          within a display generated by the Derivative Works, if and
-          wherever such third-party notices normally appear. The contents
-          of the NOTICE file are for informational purposes only and
-          do not modify the License. You may add Your own attribution
-          notices within Derivative Works that You distribute, alongside
-          or as an addendum to the NOTICE text from the Work, provided
-          that such additional attribution notices cannot be construed
-          as modifying the License.
+    a) You must cause the modified files to carry prominent notices
+    stating that you changed the files and the date of any change.
 
-      You may add Your own copyright statement to Your modifications and
-      may provide additional or different license terms and conditions
-      for use, reproduction, or distribution of Your modifications, or
-      for any such Derivative Works as a whole, provided Your use,
-      reproduction, and distribution of the Work otherwise complies with
-      the conditions stated in this License.
+    b) You must cause any work that you distribute or publish, that in
+    whole or in part contains or is derived from the Program or any
+    part thereof, to be licensed as a whole at no charge to all third
+    parties under the terms of this License.
 
-   5. Submission of Contributions. Unless You explicitly state otherwise,
-      any Contribution intentionally submitted for inclusion in the Work
-      by You to the Licensor shall be under the terms and conditions of
-      this License, without any additional terms or conditions.
-      Notwithstanding the above, nothing herein shall supersede or modify
-      the terms of any separate license agreement you may have executed
-      with Licensor regarding such Contributions.
+    c) If the modified program normally reads commands interactively
+    when run, you must cause it, when started running for such
+    interactive use in the most ordinary way, to print or display an
+    announcement including an appropriate copyright notice and a
+    notice that there is no warranty (or else, saying that you provide
+    a warranty) and that users may redistribute the program under
+    these conditions, and telling the user how to view a copy of this
+    License.  (Exception: if the Program itself is interactive but
+    does not normally print such an announcement, your work based on
+    the Program is not required to print an announcement.)
 
-   6. Trademarks. This License does not grant permission to use the trade
-      names, trademarks, service marks, or product names of the Licensor,
-      except as required for reasonable and customary use in describing the
-      origin of the Work and reproducing the content of the NOTICE file.
+These requirements apply to the modified work as a whole.  If
+identifiable sections of that work are not derived from the Program,
+and can be reasonably considered independent and separate works in
+themselves, then this License, and its terms, do not apply to those
+sections when you distribute them as separate works.  But when you
+distribute the same sections as part of a whole which is a work based
+on the Program, the distribution of the whole must be on the terms of
+this License, whose permissions for other licensees extend to the
+entire whole, and thus to each and every part regardless of who wrote it.
 
-   7. Disclaimer of Warranty. Unless required by applicable law or
-      agreed to in writing, Licensor provides the Work (and each
-      Contributor provides its Contributions) on an "AS IS" BASIS,
-      WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or
-      implied, including, without limitation, any warranties or conditions
-      of TITLE, NON-INFRINGEMENT, MERCHANTABILITY, or FITNESS FOR A
-      PARTICULAR PURPOSE. You are solely responsible for determining the
-      appropriateness of using or redistributing the Work and assume any
-      risks associated with Your exercise of permissions under this License.
+Thus, it is not the intent of this section to claim rights or contest
+your rights to work written entirely by you; rather, the intent is to
+exercise the right to control the distribution of derivative or
+collective works based on the Program.
 
-   8. Limitation of Liability. In no event and under no legal theory,
-      whether in tort (including negligence), contract, or otherwise,
-      unless required by applicable law (such as deliberate and grossly
-      negligent acts) or agreed to in writing, shall any Contributor be
-      liable to You for damages, including any direct, indirect, special,
-      incidental, or consequential damages of any character arising as a
-      result of this License or out of the use or inability to use the
-      Work (including but not limited to damages for loss of goodwill,
-      work stoppage, computer failure or malfunction, or any and all
-      other commercial damages or losses), even if such Contributor
-      has been advised of the possibility of such damages.
+In addition, mere aggregation of another work not based on the Program
+with the Program (or with a work based on the Program) on a volume of
+a storage or distribution medium does not bring the other work under
+the scope of this License.
 
-   9. Accepting Warranty or Additional Liability. While redistributing
-      the Work or Derivative Works thereof, You may choose to offer,
-      and charge a fee for, acceptance of support, warranty, indemnity,
-      or other liability obligations and/or rights consistent with this
-      License. However, in accepting such obligations, You may act only
-      on Your own behalf and on Your sole responsibility, not on behalf
-      of any other Contributor, and only if You agree to indemnify,
-      defend, and hold each Contributor harmless for any liability
-      incurred by, or claims asserted against, such Contributor by reason
-      of your accepting any such warranty or additional liability.
+  3. You may copy and distribute the Program (or a work based on it,
+under Section 2) in object code or executable form under the terms of
+Sections 1 and 2 above provided that you also do one of the following:
 
-   END OF TERMS AND CONDITIONS
+    a) Accompany it with the complete corresponding machine-readable
+    source code, which must be distributed under the terms of Sections
+    1 and 2 above on a medium customarily used for software interchange; or,
 
-   APPENDIX: How to apply the Apache License to your work.
+    b) Accompany it with a written offer, valid for at least three
+    years, to give any third party, for a charge no more than your
+    cost of physically performing source distribution, a complete
+    machine-readable copy of the corresponding source code, to be
+    distributed under the terms of Sections 1 and 2 above on a medium
+    customarily used for software interchange; or,
 
-      To apply the Apache License to your work, attach the following
-      boilerplate notice, with the fields enclosed by brackets "[]"
-      replaced with your own identifying information. (Don't include
-      the brackets!)  The text should be enclosed in the appropriate
-      comment syntax for the file format. We also recommend that a
-      file or class name and description of purpose be included on the
-      same "printed page" as the copyright notice for easier
-      identification within third-party archives.
+    c) Accompany it with the information you received as to the offer
+    to distribute corresponding source code.  (This alternative is
+    allowed only for noncommercial distribution and only if you
+    received the program in object code or executable form with such
+    an offer, in accord with Subsection b above.)
 
-   Copyright [yyyy] [name of copyright owner]
+The source code for a work means the preferred form of the work for
+making modifications to it.  For an executable work, complete source
+code means all the source code for all modules it contains, plus any
+associated interface definition files, plus the scripts used to
+control compilation and installation of the executable.  However, as a
+special exception, the source code distributed need not include
+anything that is normally distributed (in either source or binary
+form) with the major components (compiler, kernel, and so on) of the
+operating system on which the executable runs, unless that component
+itself accompanies the executable.
 
-   Licensed under the Apache License, Version 2.0 (the "License");
-   you may not use this file except in compliance with the License.
-   You may obtain a copy of the License at
+If distribution of executable or object code is made by offering
+access to copy from a designated place, then offering equivalent
+access to copy the source code from the same place counts as
+distribution of the source code, even though third parties are not
+compelled to copy the source along with the object code.
 
-       http://www.apache.org/licenses/LICENSE-2.0
+  4. You may not copy, modify, sublicense, or distribute the Program
+except as expressly provided under this License.  Any attempt
+otherwise to copy, modify, sublicense or distribute the Program is
+void, and will automatically terminate your rights under this License.
+However, parties who have received copies, or rights, from you under
+this License will not have their licenses terminated so long as such
+parties remain in full compliance.
 
-   Unless required by applicable law or agreed to in writing, software
-   distributed under the License is distributed on an "AS IS" BASIS,
-   WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-   See the License for the specific language governing permissions and
-   limitations under the License.
+  5. You are not required to accept this License, since you have not
+signed it.  However, nothing else grants you permission to modify or
+distribute the Program or its derivative works.  These actions are
+prohibited by law if you do not accept this License.  Therefore, by
+modifying or distributing the Program (or any work based on the
+Program), you indicate your acceptance of this License to do so, and
+all its terms and conditions for copying, distributing or modifying
+the Program or works based on it.
+
+  6. Each time you redistribute the Program (or any work based on the
+Program), the recipient automatically receives a license from the
+original licensor to copy, distribute or modify the Program subject to
+these terms and conditions.  You may not impose any further
+restrictions on the recipients' exercise of the rights granted herein.
+You are not responsible for enforcing compliance by third parties to
+this License.
+
+  7. If, as a consequence of a court judgment or allegation of patent
+infringement or for any other reason (not limited to patent issues),
+conditions are imposed on you (whether by court order, agreement or
+otherwise) that contradict the conditions of this License, they do not
+excuse you from the conditions of this License.  If you cannot
+distribute so as to satisfy simultaneously your obligations under this
+License and any other pertinent obligations, then as a consequence you
+may not distribute the Program at all.  For example, if a patent
+license would not permit royalty-free redistribution of the Program by
+all those who receive copies directly or indirectly through you, then
+the only way you could satisfy both it and this License would be to
+refrain entirely from distribution of the Program.
+
+If any portion of this section is held invalid or unenforceable under
+any particular circumstance, the balance of the section is intended to
+apply and the section as a whole is intended to apply in other
+circumstances.
+
+It is not the purpose of this section to induce you to infringe any
+patents or other property right claims or to contest validity of any
+such claims; this section has the sole purpose of protecting the
+integrity of the free software distribution system, which is
+implemented by public license practices.  Many people have made
+generous contributions to the wide range of software distributed
+through that system in reliance on consistent application of that
+system; it is up to the author/donor to decide if he or she is willing
+to distribute software through any other system and a licensee cannot
+impose that choice.
+
+This section is intended to make thoroughly clear what is believed to
+be a consequence of the rest of this License.
+
+  8. If the distribution and/or use of the Program is restricted in
+certain countries either by patents or by copyrighted interfaces, the
+original copyright holder who places the Program under this License
+may add an explicit geographical distribution limitation excluding
+those countries, so that distribution is permitted only in or among
+countries not thus excluded.  In such case, this License incorporates
+the limitation as if written in the body of this License.
+
+  9. The Free Software Foundation may publish revised and/or new versions
+of the General Public License from time to time.  Such new versions will
+be similar in spirit to the present version, but may differ in detail to
+address new problems or concerns.
+
+Each version is given a distinguishing version number.  If the Program
+specifies a version number of this License which applies to it and "any
+later version", you have the option of following the terms and conditions
+either of that version or of any later version published by the Free
+Software Foundation.  If the Program does not specify a version number of
+this License, you may choose any version ever published by the Free Software
+Foundation.
+
+  10. If you wish to incorporate parts of the Program into other free
+programs whose distribution conditions are different, write to the author
+to ask for permission.  For software which is copyrighted by the Free
+Software Foundation, write to the Free Software Foundation; we sometimes
+make exceptions for this.  Our decision will be guided by the two goals
+of preserving the free status of all derivatives of our free software and
+of promoting the sharing and reuse of software generally.
+
+			    NO WARRANTY
+
+  11. BECAUSE THE PROGRAM IS LICENSED FREE OF CHARGE, THERE IS NO WARRANTY
+FOR THE PROGRAM, TO THE EXTENT PERMITTED BY APPLICABLE LAW.  EXCEPT WHEN
+OTHERWISE STATED IN WRITING THE COPYRIGHT HOLDERS AND/OR OTHER PARTIES
+PROVIDE THE PROGRAM "AS IS" WITHOUT WARRANTY OF ANY KIND, EITHER EXPRESSED
+OR IMPLIED, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF
+MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE.  THE ENTIRE RISK AS
+TO THE QUALITY AND PERFORMANCE OF THE PROGRAM IS WITH YOU.  SHOULD THE
+PROGRAM PROVE DEFECTIVE, YOU ASSUME THE COST OF ALL NECESSARY SERVICING,
+REPAIR OR CORRECTION.
+
+  12. IN NO EVENT UNLESS REQUIRED BY APPLICABLE LAW OR AGREED TO IN WRITING
+WILL ANY COPYRIGHT HOLDER, OR ANY OTHER PARTY WHO MAY MODIFY AND/OR
+REDISTRIBUTE THE PROGRAM AS PERMITTED ABOVE, BE LIABLE TO YOU FOR DAMAGES,
+INCLUDING ANY GENERAL, SPECIAL, INCIDENTAL OR CONSEQUENTIAL DAMAGES ARISING
+OUT OF THE USE OR INABILITY TO USE THE PROGRAM (INCLUDING BUT NOT LIMITED
+TO LOSS OF DATA OR DATA BEING RENDERED INACCURATE OR LOSSES SUSTAINED BY
+YOU OR THIRD PARTIES OR A FAILURE OF THE PROGRAM TO OPERATE WITH ANY OTHER
+PROGRAMS), EVEN IF SUCH HOLDER OR OTHER PARTY HAS BEEN ADVISED OF THE
+POSSIBILITY OF SUCH DAMAGES.
+
+		     END OF TERMS AND CONDITIONS
+
+	    How to Apply These Terms to Your New Programs
+
+  If you develop a new program, and you want it to be of the greatest
+possible use to the public, the best way to achieve this is to make it
+free software which everyone can redistribute and change under these terms.
+
+  To do so, attach the following notices to the program.  It is safest
+to attach them to the start of each source file to most effectively
+convey the exclusion of warranty; and each file should have at least
+the "copyright" line and a pointer to where the full notice is found.
+
+    <one line to give the program's name and a brief idea of what it does.>
+    Copyright (C) <year>  <name of author>
+
+    This program is free software; you can redistribute it and/or modify
+    it under the terms of the GNU General Public License as published by
+    the Free Software Foundation; either version 2 of the License, or
+    (at your option) any later version.
+
+    This program is distributed in the hope that it will be useful,
+    but WITHOUT ANY WARRANTY; without even the implied warranty of
+    MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+    GNU General Public License for more details.
+
+    You should have received a copy of the GNU General Public License along
+    with this program; if not, write to the Free Software Foundation, Inc.,
+    51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA.
+
+Also add information on how to contact you by electronic and paper mail.
+
+If the program is interactive, make it output a short notice like this
+when it starts in an interactive mode:
+
+    Gnomovision version 69, Copyright (C) year name of author
+    Gnomovision comes with ABSOLUTELY NO WARRANTY; for details type `show w'.
+    This is free software, and you are welcome to redistribute it
+    under certain conditions; type `show c' for details.
+
+The hypothetical commands `show w' and `show c' should show the appropriate
+parts of the General Public License.  Of course, the commands you use may
+be called something other than `show w' and `show c'; they could even be
+mouse-clicks or menu items--whatever suits your program.
+
+You should also get your employer (if you work as a programmer) or your
+school, if any, to sign a "copyright disclaimer" for the program, if
+necessary.  Here is a sample; alter the names:
+
+  Yoyodyne, Inc., hereby disclaims all copyright interest in the program
+  `Gnomovision' (which makes passes at compilers) written by James Hacker.
+
+  <signature of Ty Coon>, 1 April 1989
+  Ty Coon, President of Vice
+
+This General Public License does not permit incorporating your program into
+proprietary programs.  If your program is a subroutine library, you may
+consider it more useful to permit linking proprietary applications with the
+library.  If this is what you want to do, use the GNU Lesser General
+Public License instead of this License.
 
-Mojo +LZMA SDK show license -homepage +homepage
-
// Copyright 2014 The Chromium Authors. All rights reserved.
-//
-// Redistribution and use in source and binary forms, with or without
-// modification, are permitted provided that the following conditions are
-// met:
-//
-//    * Redistributions of source code must retain the above copyright
-// notice, this list of conditions and the following disclaimer.
-//    * Redistributions in binary form must reproduce the above
-// copyright notice, this list of conditions and the following disclaimer
-// in the documentation and/or other materials provided with the
-// distribution.
-//    * Neither the name of Google Inc. nor the names of its
-// contributors may be used to endorse or promote products derived from
-// this software without specific prior written permission.
-//
-// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
-// "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
-// LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
-// A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
-// OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
-// SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
-// LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
-// DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
-// THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
-// (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
-// OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+
LZMA SDK is placed in the public domain.
 
-Mozilla Personal Security Manager +LevelDB: A Fast Persistent Key-Value Store show license -homepage +homepage
-
/* ***** BEGIN LICENSE BLOCK *****
- * Version: MPL 1.1/GPL 2.0/LGPL 2.1
- *
- * The contents of this file are subject to the Mozilla Public License Version
- * 1.1 (the "License"); you may not use this file except in compliance with
- * the License. You may obtain a copy of the License at
- * http://www.mozilla.org/MPL/
- *
- * Software distributed under the License is distributed on an "AS IS" basis,
- * WITHOUT WARRANTY OF ANY KIND, either express or implied. See the License
- * for the specific language governing rights and limitations under the
- * License.
- *
- * The Original Code is the Netscape security libraries.
- *
- * The Initial Developer of the Original Code is
- * Netscape Communications Corporation.
- * Portions created by the Initial Developer are Copyright (C) 2000
- * the Initial Developer. All Rights Reserved.
- *
- * Contributor(s):
- *
- * Alternatively, the contents of this file may be used under the terms of
- * either the GNU General Public License Version 2 or later (the "GPL"), or
- * the GNU Lesser General Public License Version 2.1 or later (the "LGPL"),
- * in which case the provisions of the GPL or the LGPL are applicable instead
- * of those above. If you wish to allow use of your version of this file only
- * under the terms of either the GPL or the LGPL, and not to allow others to
- * use your version of this file under the terms of the MPL, indicate your
- * decision by deleting the provisions above and replace them with the notice
- * and other provisions required by the GPL or the LGPL. If you do not delete
- * the provisions above, a recipient may use your version of this file under
- * the terms of any one of the MPL, the GPL or the LGPL.
- *
- * ***** END LICENSE BLOCK ***** */
-
-
-
- -
-NSBezierPath additions from Sean Patrick O'Brien -show license -homepage -
-
Copyright 2008 MolokoCacao
-All rights reserved
+
Copyright (c) 2011 The LevelDB Authors. All rights reserved.
 
 Redistribution and use in source and binary forms, with or without
-modification, are permitted providing that the following conditions 
-are met:
-1. Redistributions of source code must retain the above copyright
-   notice, this list of conditions and the following disclaimer.
-2. Redistributions in binary form must reproduce the above copyright
-   notice, this list of conditions and the following disclaimer in the
-   documentation and/or other materials provided with the distribution.
+modification, are permitted provided that the following conditions are
+met:
 
-THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``AS IS'' AND ANY EXPRESS OR
-IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED
-WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
-ARE DISCLAIMED.  IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY
-DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
-DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS
-OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
-HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT,
-STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING
-IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
-POSSIBILITY OF SUCH DAMAGE.
-
-
-
+ * Redistributions of source code must retain the above copyright +notice, this list of conditions and the following disclaimer. + * Redistributions in binary form must reproduce the above +copyright notice, this list of conditions and the following disclaimer +in the documentation and/or other materials provided with the +distribution. + * Neither the name of Google Inc. nor the names of its +contributors may be used to endorse or promote products derived from +this software without specific prior written permission. -
-NVidia Control X Extension Library -show license -homepage -
-
/*
- * Copyright (c) 2008 NVIDIA, Corporation
- *
- * Permission is hereby granted, free of charge, to any person obtaining a copy
- * of this software and associated documentation files (the "Software"), to deal
- * in the Software without restriction, including without limitation the rights
- * to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
- * copies of the Software, and to permit persons to whom the Software is
- * furnished to do so, subject to the following conditions:
- *
- * The above copyright notice and this permission notice (including the next
- * paragraph) shall be included in all copies or substantial portions of the
- * Software.
- *
- * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
- * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
- * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT.  IN NO EVENT SHALL THE
- * AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
- * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
- * OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
- * SOFTWARE.
- */
+THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS +"AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT +LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR +A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT +OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, +SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT +LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, +DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY +THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT +(INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE +OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. +
-Netscape Plugin Application Programming Interface (NPAPI) +MediaController android sample. show license -homepage +homepage
-
Version: MPL 1.1/GPL 2.0/LGPL 2.1
+
+                                 Apache License
+                           Version 2.0, January 2004
+                        http://www.apache.org/licenses/
 
-The contents of this file are subject to the Mozilla Public License Version
-1.1 (the "License"); you may not use this file except in compliance with
-the License. You may obtain a copy of the License at
-http://www.mozilla.org/MPL/
+   TERMS AND CONDITIONS FOR USE, REPRODUCTION, AND DISTRIBUTION
 
-Software distributed under the License is distributed on an "AS IS" basis,
-WITHOUT WARRANTY OF ANY KIND, either express or implied. See the License
-for the specific language governing rights and limitations under the
-License.
+   1. Definitions.
 
-The Original Code is mozilla.org code.
+      "License" shall mean the terms and conditions for use, reproduction,
+      and distribution as defined by Sections 1 through 9 of this document.
 
-The Initial Developer of the Original Code is
-Netscape Communications Corporation.
-Portions created by the Initial Developer are Copyright (C) 1998
-the Initial Developer. All Rights Reserved.
+      "Licensor" shall mean the copyright owner or entity authorized by
+      the copyright owner that is granting the License.
 
-Contributor(s):
+      "Legal Entity" shall mean the union of the acting entity and all
+      other entities that control, are controlled by, or are under common
+      control with that entity. For the purposes of this definition,
+      "control" means (i) the power, direct or indirect, to cause the
+      direction or management of such entity, whether by contract or
+      otherwise, or (ii) ownership of fifty percent (50%) or more of the
+      outstanding shares, or (iii) beneficial ownership of such entity.
 
-Alternatively, the contents of this file may be used under the terms of
-either the GNU General Public License Version 2 or later (the "GPL"), or
-the GNU Lesser General Public License Version 2.1 or later (the "LGPL"),
-in which case the provisions of the GPL or the LGPL are applicable instead
-of those above. If you wish to allow use of your version of this file only
-under the terms of either the GPL or the LGPL, and not to allow others to
-use your version of this file under the terms of the MPL, indicate your
-decision by deleting the provisions above and replace them with the notice
-and other provisions required by the GPL or the LGPL. If you do not delete
-the provisions above, a recipient may use your version of this file under
-the terms of any one of the MPL, the GPL or the LGPL.
-
-
-
+ "You" (or "Your") shall mean an individual or Legal Entity + exercising permissions granted by this License. -
-Netscape Portable Runtime (NSPR) -show license -homepage -
-
/* ***** BEGIN LICENSE BLOCK *****
- * Version: MPL 1.1/GPL 2.0/LGPL 2.1
- *
- * The contents of this file are subject to the Mozilla Public License Version
- * 1.1 (the "License"); you may not use this file except in compliance with
- * the License. You may obtain a copy of the License at
- * http://www.mozilla.org/MPL/
- *
- * Software distributed under the License is distributed on an "AS IS" basis,
- * WITHOUT WARRANTY OF ANY KIND, either express or implied. See the License
- * for the specific language governing rights and limitations under the
- * License.
- *
- * The Original Code is the Netscape Portable Runtime (NSPR).
- *
- * The Initial Developer of the Original Code is
- * Netscape Communications Corporation.
- * Portions created by the Initial Developer are Copyright (C) 1998-2000
- * the Initial Developer. All Rights Reserved.
- *
- * Contributor(s):
- *
- * Alternatively, the contents of this file may be used under the terms of
- * either the GNU General Public License Version 2 or later (the "GPL"), or
- * the GNU Lesser General Public License Version 2.1 or later (the "LGPL"),
- * in which case the provisions of the GPL or the LGPL are applicable instead
- * of those above. If you wish to allow use of your version of this file only
- * under the terms of either the GPL or the LGPL, and not to allow others to
- * use your version of this file under the terms of the MPL, indicate your
- * decision by deleting the provisions above and replace them with the notice
- * and other provisions required by the GPL or the LGPL. If you do not delete
- * the provisions above, a recipient may use your version of this file under
- * the terms of any one of the MPL, the GPL or the LGPL.
- *
- * ***** END LICENSE BLOCK ***** */
-
-
-
+ "Source" form shall mean the preferred form for making modifications, + including but not limited to software source code, documentation + source, and configuration files. -
-Network Security Services (NSS) -show license -homepage -
-
/* ***** BEGIN LICENSE BLOCK *****
- * Version: MPL 1.1/GPL 2.0/LGPL 2.1
- *
- * The contents of this file are subject to the Mozilla Public License Version
- * 1.1 (the "License"); you may not use this file except in compliance with
- * the License. You may obtain a copy of the License at
- * http://www.mozilla.org/MPL/
- *
- * Software distributed under the License is distributed on an "AS IS" basis,
- * WITHOUT WARRANTY OF ANY KIND, either express or implied. See the License
- * for the specific language governing rights and limitations under the
- * License.
- *
- * The Original Code is the Netscape security libraries.
- *
- * The Initial Developer of the Original Code is
- * Netscape Communications Corporation.
- * Portions created by the Initial Developer are Copyright (C) 1994-2000
- * the Initial Developer. All Rights Reserved.
- *
- * Contributor(s):
- *
- * Alternatively, the contents of this file may be used under the terms of
- * either the GNU General Public License Version 2 or later (the "GPL"), or
- * the GNU Lesser General Public License Version 2.1 or later (the "LGPL"),
- * in which case the provisions of the GPL or the LGPL are applicable instead
- * of those above. If you wish to allow use of your version of this file only
- * under the terms of either the GPL or the LGPL, and not to allow others to
- * use your version of this file under the terms of the MPL, indicate your
- * decision by deleting the provisions above and replace them with the notice
- * and other provisions required by the GPL or the LGPL. If you do not delete
- * the provisions above, a recipient may use your version of this file under
- * the terms of any one of the MPL, the GPL or the LGPL.
- *
- * ***** END LICENSE BLOCK ***** */
-
-
-
+ "Object" form shall mean any form resulting from mechanical + transformation or translation of a Source form, including but + not limited to compiled object code, generated documentation, + and conversions to other media types. -
-OTS (OpenType Sanitizer) + "Work" shall mean the work of authorship, whether in Source or + Object form, made available under the License, as indicated by a + copyright notice that is included in or attached to the work + (an example is provided in the Appendix below). + + "Derivative Works" shall mean any work, whether in Source or Object + form, that is based on (or derived from) the Work and for which the + editorial revisions, annotations, elaborations, or other modifications + represent, as a whole, an original work of authorship. For the purposes + of this License, Derivative Works shall not include works that remain + separable from, or merely link (or bind by name) to the interfaces of, + the Work and Derivative Works thereof. + + "Contribution" shall mean any work of authorship, including + the original version of the Work and any modifications or additions + to that Work or Derivative Works thereof, that is intentionally + submitted to Licensor for inclusion in the Work by the copyright owner + or by an individual or Legal Entity authorized to submit on behalf of + the copyright owner. For the purposes of this definition, "submitted" + means any form of electronic, verbal, or written communication sent + to the Licensor or its representatives, including but not limited to + communication on electronic mailing lists, source code control systems, + and issue tracking systems that are managed by, or on behalf of, the + Licensor for the purpose of discussing and improving the Work, but + excluding communication that is conspicuously marked or otherwise + designated in writing by the copyright owner as "Not a Contribution." + + "Contributor" shall mean Licensor and any individual or Legal Entity + on behalf of whom a Contribution has been received by Licensor and + subsequently incorporated within the Work. + + 2. Grant of Copyright License. Subject to the terms and conditions of + this License, each Contributor hereby grants to You a perpetual, + worldwide, non-exclusive, no-charge, royalty-free, irrevocable + copyright license to reproduce, prepare Derivative Works of, + publicly display, publicly perform, sublicense, and distribute the + Work and such Derivative Works in Source or Object form. + + 3. Grant of Patent License. Subject to the terms and conditions of + this License, each Contributor hereby grants to You a perpetual, + worldwide, non-exclusive, no-charge, royalty-free, irrevocable + (except as stated in this section) patent license to make, have made, + use, offer to sell, sell, import, and otherwise transfer the Work, + where such license applies only to those patent claims licensable + by such Contributor that are necessarily infringed by their + Contribution(s) alone or by combination of their Contribution(s) + with the Work to which such Contribution(s) was submitted. If You + institute patent litigation against any entity (including a + cross-claim or counterclaim in a lawsuit) alleging that the Work + or a Contribution incorporated within the Work constitutes direct + or contributory patent infringement, then any patent licenses + granted to You under this License for that Work shall terminate + as of the date such litigation is filed. + + 4. Redistribution. You may reproduce and distribute copies of the + Work or Derivative Works thereof in any medium, with or without + modifications, and in Source or Object form, provided that You + meet the following conditions: + + (a) You must give any other recipients of the Work or + Derivative Works a copy of this License; and + + (b) You must cause any modified files to carry prominent notices + stating that You changed the files; and + + (c) You must retain, in the Source form of any Derivative Works + that You distribute, all copyright, patent, trademark, and + attribution notices from the Source form of the Work, + excluding those notices that do not pertain to any part of + the Derivative Works; and + + (d) If the Work includes a "NOTICE" text file as part of its + distribution, then any Derivative Works that You distribute must + include a readable copy of the attribution notices contained + within such NOTICE file, excluding those notices that do not + pertain to any part of the Derivative Works, in at least one + of the following places: within a NOTICE text file distributed + as part of the Derivative Works; within the Source form or + documentation, if provided along with the Derivative Works; or, + within a display generated by the Derivative Works, if and + wherever such third-party notices normally appear. The contents + of the NOTICE file are for informational purposes only and + do not modify the License. You may add Your own attribution + notices within Derivative Works that You distribute, alongside + or as an addendum to the NOTICE text from the Work, provided + that such additional attribution notices cannot be construed + as modifying the License. + + You may add Your own copyright statement to Your modifications and + may provide additional or different license terms and conditions + for use, reproduction, or distribution of Your modifications, or + for any such Derivative Works as a whole, provided Your use, + reproduction, and distribution of the Work otherwise complies with + the conditions stated in this License. + + 5. Submission of Contributions. Unless You explicitly state otherwise, + any Contribution intentionally submitted for inclusion in the Work + by You to the Licensor shall be under the terms and conditions of + this License, without any additional terms or conditions. + Notwithstanding the above, nothing herein shall supersede or modify + the terms of any separate license agreement you may have executed + with Licensor regarding such Contributions. + + 6. Trademarks. This License does not grant permission to use the trade + names, trademarks, service marks, or product names of the Licensor, + except as required for reasonable and customary use in describing the + origin of the Work and reproducing the content of the NOTICE file. + + 7. Disclaimer of Warranty. Unless required by applicable law or + agreed to in writing, Licensor provides the Work (and each + Contributor provides its Contributions) on an "AS IS" BASIS, + WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or + implied, including, without limitation, any warranties or conditions + of TITLE, NON-INFRINGEMENT, MERCHANTABILITY, or FITNESS FOR A + PARTICULAR PURPOSE. You are solely responsible for determining the + appropriateness of using or redistributing the Work and assume any + risks associated with Your exercise of permissions under this License. + + 8. Limitation of Liability. In no event and under no legal theory, + whether in tort (including negligence), contract, or otherwise, + unless required by applicable law (such as deliberate and grossly + negligent acts) or agreed to in writing, shall any Contributor be + liable to You for damages, including any direct, indirect, special, + incidental, or consequential damages of any character arising as a + result of this License or out of the use or inability to use the + Work (including but not limited to damages for loss of goodwill, + work stoppage, computer failure or malfunction, or any and all + other commercial damages or losses), even if such Contributor + has been advised of the possibility of such damages. + + 9. Accepting Warranty or Additional Liability. While redistributing + the Work or Derivative Works thereof, You may choose to offer, + and charge a fee for, acceptance of support, warranty, indemnity, + or other liability obligations and/or rights consistent with this + License. However, in accepting such obligations, You may act only + on Your own behalf and on Your sole responsibility, not on behalf + of any other Contributor, and only if You agree to indemnify, + defend, and hold each Contributor harmless for any liability + incurred by, or claims asserted against, such Contributor by reason + of your accepting any such warranty or additional liability. + + END OF TERMS AND CONDITIONS + + APPENDIX: How to apply the Apache License to your work. + + To apply the Apache License to your work, attach the following + boilerplate notice, with the fields enclosed by brackets "[]" + replaced with your own identifying information. (Don't include + the brackets!) The text should be enclosed in the appropriate + comment syntax for the file format. We also recommend that a + file or class name and description of purpose be included on the + same "printed page" as the copyright notice for easier + identification within third-party archives. + + Copyright [yyyy] [name of copyright owner] + + Licensed under the Apache License, Version 2.0 (the "License"); + you may not use this file except in compliance with the License. + You may obtain a copy of the License at + + http://www.apache.org/licenses/LICENSE-2.0 + + Unless required by applicable law or agreed to in writing, software + distributed under the License is distributed on an "AS IS" BASIS, + WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + See the License for the specific language governing permissions and + limitations under the License. + +
+
+ +
+Mojo show license -homepage +homepage
-
// Copyright (c) 2009 The Chromium Authors. All rights reserved.
+
// Copyright 2014 The Chromium Authors. All rights reserved.
 //
 // Redistribution and use in source and binary forms, with or without
 // modification, are permitted provided that the following conditions are
@@ -5557,88 +5958,11 @@
 
-OpenH264 -show license -homepage -
-
Copyright (c) 2013, Cisco Systems
-All rights reserved.
-
-Redistribution and use in source and binary forms, with or without modification,
-are permitted provided that the following conditions are met:
-
-* Redistributions of source code must retain the above copyright notice, this
-  list of conditions and the following disclaimer.
-
-* Redistributions in binary form must reproduce the above copyright notice, this
-  list of conditions and the following disclaimer in the documentation and/or
-  other materials provided with the distribution.
-
-THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND
-ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED
-WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
-DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE FOR
-ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES
-(INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES;
-LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON
-ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
-(INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS
-SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
-
-
- -
-OpenMAX DL -show license -homepage -
-
Use of this source code is governed by a BSD-style license that can be
-found in the LICENSE file in the root of the source tree. All
-contributing project authors may be found in the AUTHORS file in the
-root of the source tree.
-
-The files were originally licensed by ARM Limited.
-
-The following files:
-
-    * dl/api/omxtypes.h
-    * dl/sp/api/omxSP.h
-
-are licensed by Khronos:
-
-Copyright © 2005-2008 The Khronos Group Inc. All Rights Reserved. 
-
-These materials are protected by copyright laws and contain material 
-proprietary to the Khronos Group, Inc.  You may use these materials 
-for implementing Khronos specifications, without altering or removing 
-any trademark, copyright or other notice from the specification.
-
-Khronos Group makes no, and expressly disclaims any, representations 
-or warranties, express or implied, regarding these materials, including, 
-without limitation, any implied warranties of merchantability or fitness 
-for a particular purpose or non-infringement of any intellectual property. 
-Khronos Group makes no, and expressly disclaims any, warranties, express 
-or implied, regarding the correctness, accuracy, completeness, timeliness, 
-and reliability of these materials. 
-
-Under no circumstances will the Khronos Group, or any of its Promoters, 
-Contributors or Members or their respective partners, officers, directors, 
-employees, agents or representatives be liable for any damages, whether 
-direct, indirect, special or consequential damages for lost revenues, 
-lost profits, or otherwise, arising from or in connection with these 
-materials.
-
-Khronos and OpenMAX are trademarks of the Khronos Group Inc. 
-
-
-
- -
-PDFium +MojoServices show license -homepage +homepage
-
// Copyright 2014 PDFium Authors. All rights reserved.
+
// Copyright 2014 The Chromium Authors. All rights reserved.
 //
 // Redistribution and use in source and binary forms, with or without
 // modification, are permitted provided that the following conditions are
@@ -5670,28 +5994,26 @@
 
-PLY (Python Lex-Yacc) +Mozc Japanese Input Method Editor show license -homepage +homepage
-
PLY (Python Lex-Yacc)                   Version 3.4
-
-Copyright (C) 2001-2011,
-David M. Beazley (Dabeaz LLC)
+
Copyright 2010-2011, Google Inc.
 All rights reserved.
 
 Redistribution and use in source and binary forms, with or without
 modification, are permitted provided that the following conditions are
 met:
 
-* Redistributions of source code must retain the above copyright notice,
-  this list of conditions and the following disclaimer.  
-* Redistributions in binary form must reproduce the above copyright notice, 
-  this list of conditions and the following disclaimer in the documentation
-  and/or other materials provided with the distribution.  
-* Neither the name of the David Beazley or Dabeaz LLC may be used to
-  endorse or promote products derived from this software without
-  specific prior written permission. 
+* Redistributions of source code must retain the above copyright
+notice, this list of conditions and the following disclaimer.
+* Redistributions in binary form must reproduce the above
+copyright notice, this list of conditions and the following disclaimer
+in the documentation and/or other materials provided with the
+distribution.
+* Neither the name of Google Inc. nor the names of its
+contributors may be used to endorse or promote products derived from
+this software without specific prior written permission.
 
 THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
 "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
@@ -5703,147 +6025,751 @@
 DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
 THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
 (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
-OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. + +
-Paul Hsieh's SuperFastHash +Mozilla Personal Security Manager show license -homepage +homepage
-
Paul Hsieh OLD BSD license
-
-Copyright (c) 2010, Paul Hsieh
-All rights reserved.
+
/* ***** BEGIN LICENSE BLOCK *****
+ * Version: MPL 1.1/GPL 2.0/LGPL 2.1
+ *
+ * The contents of this file are subject to the Mozilla Public License Version
+ * 1.1 (the "License"); you may not use this file except in compliance with
+ * the License. You may obtain a copy of the License at
+ * http://www.mozilla.org/MPL/
+ *
+ * Software distributed under the License is distributed on an "AS IS" basis,
+ * WITHOUT WARRANTY OF ANY KIND, either express or implied. See the License
+ * for the specific language governing rights and limitations under the
+ * License.
+ *
+ * The Original Code is the Netscape security libraries.
+ *
+ * The Initial Developer of the Original Code is
+ * Netscape Communications Corporation.
+ * Portions created by the Initial Developer are Copyright (C) 2000
+ * the Initial Developer. All Rights Reserved.
+ *
+ * Contributor(s):
+ *
+ * Alternatively, the contents of this file may be used under the terms of
+ * either the GNU General Public License Version 2 or later (the "GPL"), or
+ * the GNU Lesser General Public License Version 2.1 or later (the "LGPL"),
+ * in which case the provisions of the GPL or the LGPL are applicable instead
+ * of those above. If you wish to allow use of your version of this file only
+ * under the terms of either the GPL or the LGPL, and not to allow others to
+ * use your version of this file under the terms of the MPL, indicate your
+ * decision by deleting the provisions above and replace them with the notice
+ * and other provisions required by the GPL or the LGPL. If you do not delete
+ * the provisions above, a recipient may use your version of this file under
+ * the terms of any one of the MPL, the GPL or the LGPL.
+ *
+ * ***** END LICENSE BLOCK ***** */
+
+
+
-Redistribution and use in source and binary forms, with or without modification, -are permitted provided that the following conditions are met: +
+NSBezierPath additions from Sean Patrick O'Brien +show license +homepage +
+
Copyright 2008 MolokoCacao
+All rights reserved
 
-* Redistributions of source code must retain the above copyright notice, this
-  list of conditions and the following disclaimer.
-* Redistributions in binary form must reproduce the above copyright notice, this
-  list of conditions and the following disclaimer in the documentation and/or
-  other materials provided with the distribution.
-* Neither my name, Paul Hsieh, nor the names of any other contributors to the
-  code use may not be used to endorse or promote products derived from this
-  software without specific prior written permission.
+Redistribution and use in source and binary forms, with or without
+modification, are permitted providing that the following conditions 
+are met:
+1. Redistributions of source code must retain the above copyright
+   notice, this list of conditions and the following disclaimer.
+2. Redistributions in binary form must reproduce the above copyright
+   notice, this list of conditions and the following disclaimer in the
+   documentation and/or other materials provided with the distribution.
 
-THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND
-ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED
-WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
-DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR
-ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES
-(INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES;
-LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON
-ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
-(INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS
-SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``AS IS'' AND ANY EXPRESS OR
+IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED
+WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
+ARE DISCLAIMED.  IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY
+DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
+DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS
+OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
+HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT,
+STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING
+IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
+POSSIBILITY OF SUCH DAMAGE.
 
-Polymer +NVidia Control X Extension Library show license -homepage +homepage
-
// Copyright (c) 2012 The Polymer Authors. All rights reserved.
-//
-// Redistribution and use in source and binary forms, with or without
-// modification, are permitted provided that the following conditions are
-// met:
-//
-//    * Redistributions of source code must retain the above copyright
-// notice, this list of conditions and the following disclaimer.
-//    * Redistributions in binary form must reproduce the above
-// copyright notice, this list of conditions and the following disclaimer
-// in the documentation and/or other materials provided with the
-// distribution.
-//    * Neither the name of Google Inc. nor the names of its
-// contributors may be used to endorse or promote products derived from
-// this software without specific prior written permission.
-//
-// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
-// "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
-// LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
-// A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
-// OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
-// SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
-// LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
-// DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
-// THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
-// (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
-// OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
-
+
/*
+ * Copyright (c) 2008 NVIDIA, Corporation
+ *
+ * Permission is hereby granted, free of charge, to any person obtaining a copy
+ * of this software and associated documentation files (the "Software"), to deal
+ * in the Software without restriction, including without limitation the rights
+ * to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
+ * copies of the Software, and to permit persons to whom the Software is
+ * furnished to do so, subject to the following conditions:
+ *
+ * The above copyright notice and this permission notice (including the next
+ * paragraph) shall be included in all copies or substantial portions of the
+ * Software.
+ *
+ * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
+ * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
+ * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT.  IN NO EVENT SHALL THE
+ * AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
+ * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
+ * OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
+ * SOFTWARE.
+ */
-Proguard +Netscape Plugin Application Programming Interface (NPAPI) show license -homepage +homepage
-
                    GNU GENERAL PUBLIC LICENSE
-                       Version 2, June 1991
-
- Copyright (C) 1989, 1991 Free Software Foundation, Inc.
-     51 Franklin Street, Fifth Floor, Boston, MA  02110-1301  USA
- Everyone is permitted to copy and distribute verbatim copies
- of this license document, but changing it is not allowed.
-
-                            Preamble
-
-  The licenses for most software are designed to take away your
-freedom to share and change it.  By contrast, the GNU General Public
-License is intended to guarantee your freedom to share and change free
-software--to make sure the software is free for all its users.  This
-General Public License applies to most of the Free Software
-Foundation's software and to any other program whose authors commit to
-using it.  (Some other Free Software Foundation software is covered by
-the GNU Library General Public License instead.)  You can apply it to
-your programs, too.
+
Version: MPL 1.1/GPL 2.0/LGPL 2.1
 
-  When we speak of free software, we are referring to freedom, not
-price.  Our General Public Licenses are designed to make sure that you
-have the freedom to distribute copies of free software (and charge for
-this service if you wish), that you receive source code or can get it
-if you want it, that you can change the software or use pieces of it
-in new free programs; and that you know you can do these things.
+The contents of this file are subject to the Mozilla Public License Version
+1.1 (the "License"); you may not use this file except in compliance with
+the License. You may obtain a copy of the License at
+http://www.mozilla.org/MPL/
 
-  To protect your rights, we need to make restrictions that forbid
-anyone to deny you these rights or to ask you to surrender the rights.
-These restrictions translate to certain responsibilities for you if you
-distribute copies of the software, or if you modify it.
+Software distributed under the License is distributed on an "AS IS" basis,
+WITHOUT WARRANTY OF ANY KIND, either express or implied. See the License
+for the specific language governing rights and limitations under the
+License.
 
-  For example, if you distribute copies of such a program, whether
-gratis or for a fee, you must give the recipients all the rights that
-you have.  You must make sure that they, too, receive or can get the
-source code.  And you must show them these terms so they know their
-rights.
+The Original Code is mozilla.org code.
 
-  We protect your rights with two steps: (1) copyright the software, and
-(2) offer you this license which gives you legal permission to copy,
-distribute and/or modify the software.
+The Initial Developer of the Original Code is
+Netscape Communications Corporation.
+Portions created by the Initial Developer are Copyright (C) 1998
+the Initial Developer. All Rights Reserved.
 
-  Also, for each author's protection and ours, we want to make certain
-that everyone understands that there is no warranty for this free
-software.  If the software is modified by someone else and passed on, we
-want its recipients to know that what they have is not the original, so
-that any problems introduced by others will not reflect on the original
-authors' reputations.
+Contributor(s):
 
-  Finally, any free program is threatened constantly by software
-patents.  We wish to avoid the danger that redistributors of a free
-program will individually obtain patent licenses, in effect making the
-program proprietary.  To prevent this, we have made it clear that any
-patent must be licensed for everyone's free use or not licensed at all.
+Alternatively, the contents of this file may be used under the terms of
+either the GNU General Public License Version 2 or later (the "GPL"), or
+the GNU Lesser General Public License Version 2.1 or later (the "LGPL"),
+in which case the provisions of the GPL or the LGPL are applicable instead
+of those above. If you wish to allow use of your version of this file only
+under the terms of either the GPL or the LGPL, and not to allow others to
+use your version of this file under the terms of the MPL, indicate your
+decision by deleting the provisions above and replace them with the notice
+and other provisions required by the GPL or the LGPL. If you do not delete
+the provisions above, a recipient may use your version of this file under
+the terms of any one of the MPL, the GPL or the LGPL.
+
+
+
- The precise terms and conditions for copying, distribution and -modification follow. - - GNU GENERAL PUBLIC LICENSE - TERMS AND CONDITIONS FOR COPYING, DISTRIBUTION AND MODIFICATION +
+Netscape Portable Runtime (NSPR) +show license +homepage +
+
/* ***** BEGIN LICENSE BLOCK *****
+ * Version: MPL 1.1/GPL 2.0/LGPL 2.1
+ *
+ * The contents of this file are subject to the Mozilla Public License Version
+ * 1.1 (the "License"); you may not use this file except in compliance with
+ * the License. You may obtain a copy of the License at
+ * http://www.mozilla.org/MPL/
+ *
+ * Software distributed under the License is distributed on an "AS IS" basis,
+ * WITHOUT WARRANTY OF ANY KIND, either express or implied. See the License
+ * for the specific language governing rights and limitations under the
+ * License.
+ *
+ * The Original Code is the Netscape Portable Runtime (NSPR).
+ *
+ * The Initial Developer of the Original Code is
+ * Netscape Communications Corporation.
+ * Portions created by the Initial Developer are Copyright (C) 1998-2000
+ * the Initial Developer. All Rights Reserved.
+ *
+ * Contributor(s):
+ *
+ * Alternatively, the contents of this file may be used under the terms of
+ * either the GNU General Public License Version 2 or later (the "GPL"), or
+ * the GNU Lesser General Public License Version 2.1 or later (the "LGPL"),
+ * in which case the provisions of the GPL or the LGPL are applicable instead
+ * of those above. If you wish to allow use of your version of this file only
+ * under the terms of either the GPL or the LGPL, and not to allow others to
+ * use your version of this file under the terms of the MPL, indicate your
+ * decision by deleting the provisions above and replace them with the notice
+ * and other provisions required by the GPL or the LGPL. If you do not delete
+ * the provisions above, a recipient may use your version of this file under
+ * the terms of any one of the MPL, the GPL or the LGPL.
+ *
+ * ***** END LICENSE BLOCK ***** */
+
+
+
+ +
+Network Security Services (NSS) +show license +homepage +
+
/* ***** BEGIN LICENSE BLOCK *****
+ * Version: MPL 1.1/GPL 2.0/LGPL 2.1
+ *
+ * The contents of this file are subject to the Mozilla Public License Version
+ * 1.1 (the "License"); you may not use this file except in compliance with
+ * the License. You may obtain a copy of the License at
+ * http://www.mozilla.org/MPL/
+ *
+ * Software distributed under the License is distributed on an "AS IS" basis,
+ * WITHOUT WARRANTY OF ANY KIND, either express or implied. See the License
+ * for the specific language governing rights and limitations under the
+ * License.
+ *
+ * The Original Code is the Netscape security libraries.
+ *
+ * The Initial Developer of the Original Code is
+ * Netscape Communications Corporation.
+ * Portions created by the Initial Developer are Copyright (C) 1994-2000
+ * the Initial Developer. All Rights Reserved.
+ *
+ * Contributor(s):
+ *
+ * Alternatively, the contents of this file may be used under the terms of
+ * either the GNU General Public License Version 2 or later (the "GPL"), or
+ * the GNU Lesser General Public License Version 2.1 or later (the "LGPL"),
+ * in which case the provisions of the GPL or the LGPL are applicable instead
+ * of those above. If you wish to allow use of your version of this file only
+ * under the terms of either the GPL or the LGPL, and not to allow others to
+ * use your version of this file under the terms of the MPL, indicate your
+ * decision by deleting the provisions above and replace them with the notice
+ * and other provisions required by the GPL or the LGPL. If you do not delete
+ * the provisions above, a recipient may use your version of this file under
+ * the terms of any one of the MPL, the GPL or the LGPL.
+ *
+ * ***** END LICENSE BLOCK ***** */
+
+
+
+ +
+OTS (OpenType Sanitizer) +show license +homepage +
+
// Copyright (c) 2009 The Chromium Authors. All rights reserved.
+//
+// Redistribution and use in source and binary forms, with or without
+// modification, are permitted provided that the following conditions are
+// met:
+//
+//    * Redistributions of source code must retain the above copyright
+// notice, this list of conditions and the following disclaimer.
+//    * Redistributions in binary form must reproduce the above
+// copyright notice, this list of conditions and the following disclaimer
+// in the documentation and/or other materials provided with the
+// distribution.
+//    * Neither the name of Google Inc. nor the names of its
+// contributors may be used to endorse or promote products derived from
+// this software without specific prior written permission.
+//
+// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
+// "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
+// LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
+// A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
+// OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
+// SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
+// LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
+// DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
+// THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
+// (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
+// OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+
+
+
+ +
+Omaha (Google Update) +show license +homepage +
+
+                                 Apache License
+                           Version 2.0, January 2004
+                        http://www.apache.org/licenses/
+
+   TERMS AND CONDITIONS FOR USE, REPRODUCTION, AND DISTRIBUTION
+
+   1. Definitions.
+
+      "License" shall mean the terms and conditions for use, reproduction,
+      and distribution as defined by Sections 1 through 9 of this document.
+
+      "Licensor" shall mean the copyright owner or entity authorized by
+      the copyright owner that is granting the License.
+
+      "Legal Entity" shall mean the union of the acting entity and all
+      other entities that control, are controlled by, or are under common
+      control with that entity. For the purposes of this definition,
+      "control" means (i) the power, direct or indirect, to cause the
+      direction or management of such entity, whether by contract or
+      otherwise, or (ii) ownership of fifty percent (50%) or more of the
+      outstanding shares, or (iii) beneficial ownership of such entity.
+
+      "You" (or "Your") shall mean an individual or Legal Entity
+      exercising permissions granted by this License.
+
+      "Source" form shall mean the preferred form for making modifications,
+      including but not limited to software source code, documentation
+      source, and configuration files.
+
+      "Object" form shall mean any form resulting from mechanical
+      transformation or translation of a Source form, including but
+      not limited to compiled object code, generated documentation,
+      and conversions to other media types.
+
+      "Work" shall mean the work of authorship, whether in Source or
+      Object form, made available under the License, as indicated by a
+      copyright notice that is included in or attached to the work
+      (an example is provided in the Appendix below).
+
+      "Derivative Works" shall mean any work, whether in Source or Object
+      form, that is based on (or derived from) the Work and for which the
+      editorial revisions, annotations, elaborations, or other modifications
+      represent, as a whole, an original work of authorship. For the purposes
+      of this License, Derivative Works shall not include works that remain
+      separable from, or merely link (or bind by name) to the interfaces of,
+      the Work and Derivative Works thereof.
+
+      "Contribution" shall mean any work of authorship, including
+      the original version of the Work and any modifications or additions
+      to that Work or Derivative Works thereof, that is intentionally
+      submitted to Licensor for inclusion in the Work by the copyright owner
+      or by an individual or Legal Entity authorized to submit on behalf of
+      the copyright owner. For the purposes of this definition, "submitted"
+      means any form of electronic, verbal, or written communication sent
+      to the Licensor or its representatives, including but not limited to
+      communication on electronic mailing lists, source code control systems,
+      and issue tracking systems that are managed by, or on behalf of, the
+      Licensor for the purpose of discussing and improving the Work, but
+      excluding communication that is conspicuously marked or otherwise
+      designated in writing by the copyright owner as "Not a Contribution."
+
+      "Contributor" shall mean Licensor and any individual or Legal Entity
+      on behalf of whom a Contribution has been received by Licensor and
+      subsequently incorporated within the Work.
+
+   2. Grant of Copyright License. Subject to the terms and conditions of
+      this License, each Contributor hereby grants to You a perpetual,
+      worldwide, non-exclusive, no-charge, royalty-free, irrevocable
+      copyright license to reproduce, prepare Derivative Works of,
+      publicly display, publicly perform, sublicense, and distribute the
+      Work and such Derivative Works in Source or Object form.
+
+   3. Grant of Patent License. Subject to the terms and conditions of
+      this License, each Contributor hereby grants to You a perpetual,
+      worldwide, non-exclusive, no-charge, royalty-free, irrevocable
+      (except as stated in this section) patent license to make, have made,
+      use, offer to sell, sell, import, and otherwise transfer the Work,
+      where such license applies only to those patent claims licensable
+      by such Contributor that are necessarily infringed by their
+      Contribution(s) alone or by combination of their Contribution(s)
+      with the Work to which such Contribution(s) was submitted. If You
+      institute patent litigation against any entity (including a
+      cross-claim or counterclaim in a lawsuit) alleging that the Work
+      or a Contribution incorporated within the Work constitutes direct
+      or contributory patent infringement, then any patent licenses
+      granted to You under this License for that Work shall terminate
+      as of the date such litigation is filed.
+
+   4. Redistribution. You may reproduce and distribute copies of the
+      Work or Derivative Works thereof in any medium, with or without
+      modifications, and in Source or Object form, provided that You
+      meet the following conditions:
+
+      (a) You must give any other recipients of the Work or
+          Derivative Works a copy of this License; and
+
+      (b) You must cause any modified files to carry prominent notices
+          stating that You changed the files; and
+
+      (c) You must retain, in the Source form of any Derivative Works
+          that You distribute, all copyright, patent, trademark, and
+          attribution notices from the Source form of the Work,
+          excluding those notices that do not pertain to any part of
+          the Derivative Works; and
+
+      (d) If the Work includes a "NOTICE" text file as part of its
+          distribution, then any Derivative Works that You distribute must
+          include a readable copy of the attribution notices contained
+          within such NOTICE file, excluding those notices that do not
+          pertain to any part of the Derivative Works, in at least one
+          of the following places: within a NOTICE text file distributed
+          as part of the Derivative Works; within the Source form or
+          documentation, if provided along with the Derivative Works; or,
+          within a display generated by the Derivative Works, if and
+          wherever such third-party notices normally appear. The contents
+          of the NOTICE file are for informational purposes only and
+          do not modify the License. You may add Your own attribution
+          notices within Derivative Works that You distribute, alongside
+          or as an addendum to the NOTICE text from the Work, provided
+          that such additional attribution notices cannot be construed
+          as modifying the License.
+
+      You may add Your own copyright statement to Your modifications and
+      may provide additional or different license terms and conditions
+      for use, reproduction, or distribution of Your modifications, or
+      for any such Derivative Works as a whole, provided Your use,
+      reproduction, and distribution of the Work otherwise complies with
+      the conditions stated in this License.
+
+   5. Submission of Contributions. Unless You explicitly state otherwise,
+      any Contribution intentionally submitted for inclusion in the Work
+      by You to the Licensor shall be under the terms and conditions of
+      this License, without any additional terms or conditions.
+      Notwithstanding the above, nothing herein shall supersede or modify
+      the terms of any separate license agreement you may have executed
+      with Licensor regarding such Contributions.
+
+   6. Trademarks. This License does not grant permission to use the trade
+      names, trademarks, service marks, or product names of the Licensor,
+      except as required for reasonable and customary use in describing the
+      origin of the Work and reproducing the content of the NOTICE file.
+
+   7. Disclaimer of Warranty. Unless required by applicable law or
+      agreed to in writing, Licensor provides the Work (and each
+      Contributor provides its Contributions) on an "AS IS" BASIS,
+      WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or
+      implied, including, without limitation, any warranties or conditions
+      of TITLE, NON-INFRINGEMENT, MERCHANTABILITY, or FITNESS FOR A
+      PARTICULAR PURPOSE. You are solely responsible for determining the
+      appropriateness of using or redistributing the Work and assume any
+      risks associated with Your exercise of permissions under this License.
+
+   8. Limitation of Liability. In no event and under no legal theory,
+      whether in tort (including negligence), contract, or otherwise,
+      unless required by applicable law (such as deliberate and grossly
+      negligent acts) or agreed to in writing, shall any Contributor be
+      liable to You for damages, including any direct, indirect, special,
+      incidental, or consequential damages of any character arising as a
+      result of this License or out of the use or inability to use the
+      Work (including but not limited to damages for loss of goodwill,
+      work stoppage, computer failure or malfunction, or any and all
+      other commercial damages or losses), even if such Contributor
+      has been advised of the possibility of such damages.
+
+   9. Accepting Warranty or Additional Liability. While redistributing
+      the Work or Derivative Works thereof, You may choose to offer,
+      and charge a fee for, acceptance of support, warranty, indemnity,
+      or other liability obligations and/or rights consistent with this
+      License. However, in accepting such obligations, You may act only
+      on Your own behalf and on Your sole responsibility, not on behalf
+      of any other Contributor, and only if You agree to indemnify,
+      defend, and hold each Contributor harmless for any liability
+      incurred by, or claims asserted against, such Contributor by reason
+      of your accepting any such warranty or additional liability.
+
+   END OF TERMS AND CONDITIONS
+
+   APPENDIX: How to apply the Apache License to your work.
+
+      To apply the Apache License to your work, attach the following
+      boilerplate notice, with the fields enclosed by brackets "[]"
+      replaced with your own identifying information. (Don't include
+      the brackets!)  The text should be enclosed in the appropriate
+      comment syntax for the file format. We also recommend that a
+      file or class name and description of purpose be included on the
+      same "printed page" as the copyright notice for easier
+      identification within third-party archives.
+
+   Copyright [yyyy] [name of copyright owner]
+
+   Licensed under the Apache License, Version 2.0 (the "License");
+   you may not use this file except in compliance with the License.
+   You may obtain a copy of the License at
+
+       http://www.apache.org/licenses/LICENSE-2.0
+
+   Unless required by applicable law or agreed to in writing, software
+   distributed under the License is distributed on an "AS IS" BASIS,
+   WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+   See the License for the specific language governing permissions and
+   limitations under the License.
+
+
+
+ +
+OpenMAX DL +show license +homepage +
+
Use of this source code is governed by a BSD-style license that can be
+found in the LICENSE file in the root of the source tree. All
+contributing project authors may be found in the AUTHORS file in the
+root of the source tree.
+
+The files were originally licensed by ARM Limited.
+
+The following files:
+
+    * dl/api/omxtypes.h
+    * dl/sp/api/omxSP.h
+
+are licensed by Khronos:
+
+Copyright © 2005-2008 The Khronos Group Inc. All Rights Reserved. 
+
+These materials are protected by copyright laws and contain material 
+proprietary to the Khronos Group, Inc.  You may use these materials 
+for implementing Khronos specifications, without altering or removing 
+any trademark, copyright or other notice from the specification.
+
+Khronos Group makes no, and expressly disclaims any, representations 
+or warranties, express or implied, regarding these materials, including, 
+without limitation, any implied warranties of merchantability or fitness 
+for a particular purpose or non-infringement of any intellectual property. 
+Khronos Group makes no, and expressly disclaims any, warranties, express 
+or implied, regarding the correctness, accuracy, completeness, timeliness, 
+and reliability of these materials. 
+
+Under no circumstances will the Khronos Group, or any of its Promoters, 
+Contributors or Members or their respective partners, officers, directors, 
+employees, agents or representatives be liable for any damages, whether 
+direct, indirect, special or consequential damages for lost revenues, 
+lost profits, or otherwise, arising from or in connection with these 
+materials.
+
+Khronos and OpenMAX are trademarks of the Khronos Group Inc. 
+
+
+
+ +
+PDFium +show license +homepage +
+
// Copyright 2014 PDFium Authors. All rights reserved.
+//
+// Redistribution and use in source and binary forms, with or without
+// modification, are permitted provided that the following conditions are
+// met:
+//
+//    * Redistributions of source code must retain the above copyright
+// notice, this list of conditions and the following disclaimer.
+//    * Redistributions in binary form must reproduce the above
+// copyright notice, this list of conditions and the following disclaimer
+// in the documentation and/or other materials provided with the
+// distribution.
+//    * Neither the name of Google Inc. nor the names of its
+// contributors may be used to endorse or promote products derived from
+// this software without specific prior written permission.
+//
+// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
+// "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
+// LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
+// A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
+// OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
+// SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
+// LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
+// DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
+// THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
+// (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
+// OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+
+
+
+ +
+PLY (Python Lex-Yacc) +show license +homepage +
+
PLY (Python Lex-Yacc)                   Version 3.4
+
+Copyright (C) 2001-2011,
+David M. Beazley (Dabeaz LLC)
+All rights reserved.
+
+Redistribution and use in source and binary forms, with or without
+modification, are permitted provided that the following conditions are
+met:
+
+* Redistributions of source code must retain the above copyright notice,
+  this list of conditions and the following disclaimer.  
+* Redistributions in binary form must reproduce the above copyright notice, 
+  this list of conditions and the following disclaimer in the documentation
+  and/or other materials provided with the distribution.  
+* Neither the name of the David Beazley or Dabeaz LLC may be used to
+  endorse or promote products derived from this software without
+  specific prior written permission. 
+
+THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
+"AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
+LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
+A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
+OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
+SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
+LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
+DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
+THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
+(INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
+OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+
+
+ +
+Paul Hsieh's SuperFastHash +show license +homepage +
+
Paul Hsieh OLD BSD license
+
+Copyright (c) 2010, Paul Hsieh
+All rights reserved.
+
+Redistribution and use in source and binary forms, with or without modification,
+are permitted provided that the following conditions are met:
+
+* Redistributions of source code must retain the above copyright notice, this
+  list of conditions and the following disclaimer.
+* Redistributions in binary form must reproduce the above copyright notice, this
+  list of conditions and the following disclaimer in the documentation and/or
+  other materials provided with the distribution.
+* Neither my name, Paul Hsieh, nor the names of any other contributors to the
+  code use may not be used to endorse or promote products derived from this
+  software without specific prior written permission.
+
+THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND
+ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED
+WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
+DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR
+ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES
+(INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES;
+LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON
+ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
+(INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS
+SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+
+
+
+ +
+Polymer +show license +homepage +
+
// Copyright (c) 2012 The Polymer Authors. All rights reserved.
+//
+// Redistribution and use in source and binary forms, with or without
+// modification, are permitted provided that the following conditions are
+// met:
+//
+//    * Redistributions of source code must retain the above copyright
+// notice, this list of conditions and the following disclaimer.
+//    * Redistributions in binary form must reproduce the above
+// copyright notice, this list of conditions and the following disclaimer
+// in the documentation and/or other materials provided with the
+// distribution.
+//    * Neither the name of Google Inc. nor the names of its
+// contributors may be used to endorse or promote products derived from
+// this software without specific prior written permission.
+//
+// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
+// "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
+// LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
+// A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
+// OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
+// SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
+// LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
+// DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
+// THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
+// (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
+// OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+
+
+
+ +
+Proguard +show license +homepage +
+
                    GNU GENERAL PUBLIC LICENSE
+                       Version 2, June 1991
+
+ Copyright (C) 1989, 1991 Free Software Foundation, Inc.
+     51 Franklin Street, Fifth Floor, Boston, MA  02110-1301  USA
+ Everyone is permitted to copy and distribute verbatim copies
+ of this license document, but changing it is not allowed.
+
+                            Preamble
+
+  The licenses for most software are designed to take away your
+freedom to share and change it.  By contrast, the GNU General Public
+License is intended to guarantee your freedom to share and change free
+software--to make sure the software is free for all its users.  This
+General Public License applies to most of the Free Software
+Foundation's software and to any other program whose authors commit to
+using it.  (Some other Free Software Foundation software is covered by
+the GNU Library General Public License instead.)  You can apply it to
+your programs, too.
+
+  When we speak of free software, we are referring to freedom, not
+price.  Our General Public Licenses are designed to make sure that you
+have the freedom to distribute copies of free software (and charge for
+this service if you wish), that you receive source code or can get it
+if you want it, that you can change the software or use pieces of it
+in new free programs; and that you know you can do these things.
+
+  To protect your rights, we need to make restrictions that forbid
+anyone to deny you these rights or to ask you to surrender the rights.
+These restrictions translate to certain responsibilities for you if you
+distribute copies of the software, or if you modify it.
+
+  For example, if you distribute copies of such a program, whether
+gratis or for a fee, you must give the recipients all the rights that
+you have.  You must make sure that they, too, receive or can get the
+source code.  And you must show them these terms so they know their
+rights.
+
+  We protect your rights with two steps: (1) copyright the software, and
+(2) offer you this license which gives you legal permission to copy,
+distribute and/or modify the software.
+
+  Also, for each author's protection and ours, we want to make certain
+that everyone understands that there is no warranty for this free
+software.  If the software is modified by someone else and passed on, we
+want its recipients to know that what they have is not the original, so
+that any problems introduced by others will not reflect on the original
+authors' reputations.
+
+  Finally, any free program is threatened constantly by software
+patents.  We wish to avoid the danger that redistributors of a free
+program will individually obtain patent licenses, in effect making the
+program proprietary.  To prevent this, we have made it clear that any
+patent must be licensed for everyone's free use or not licensed at all.
+
+  The precise terms and conditions for copying, distribution and
+modification follow.
+
+                    GNU GENERAL PUBLIC LICENSE
+   TERMS AND CONDITIONS FOR COPYING, DISTRIBUTION AND MODIFICATION
 
   0. This License applies to any program or other work which contains
 a notice placed by the copyright holder saying it may be distributed
@@ -6170,6 +7096,37 @@
 
+
+Python FTP server library +show license +homepage +
+
======================================================================
+Copyright (C) 2007-2012  Giampaolo Rodola' <g.rodola@gmail.com>
+
+                         All Rights Reserved
+
+Permission to use, copy, modify, and distribute this software and
+its documentation for any purpose and without fee is hereby
+granted, provided that the above copyright notice appear in all
+copies and that both that copyright notice and this permission
+notice appear in supporting documentation, and that the name of
+Giampaolo Rodola' not be used in advertising or publicity pertaining to
+distribution of the software without specific, written prior
+permission.
+
+Giampaolo Rodola' DISCLAIMS ALL WARRANTIES WITH REGARD TO THIS SOFTWARE,
+INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS, IN
+NO EVENT Giampaolo Rodola' BE LIABLE FOR ANY SPECIAL, INDIRECT OR
+CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS
+OF USE, DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT,
+NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF OR IN
+CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
+======================================================================
+
+
+
+
Quick Color Management System show license @@ -6470,18 +7427,6 @@ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the License for the specific language governing permissions and limitations under the License. - --------------------------------------------------------------------------------- -Some files under resources are under the following license: - -Unlimited Commercial Use -We try to make it clear that you may use all clipart from Openclipart even for unlimited commercial use. We believe that giving away our images is a great way to share with the world our talents and that will come back around in a better form. - -May I Use Openclipart for? -We put together a small chart of as many possibilities and questions we have heard from people asking how they may use Openclipart. If you have an additional question, please email love@openclipart.org. - -All Clipart are Released into the Public Domain. -Each artist at Openclipart releases all rights to the images they share at Openclipart. The reason is so that there is no friction in using and sharing images authors make available at this website so that each artist might also receive the same benefit in using other artists clipart totally for any possible reason.
@@ -6489,7 +7434,7 @@
Snappy: A fast compressor/decompressor show license -homepage +homepage
Copyright 2011, Google Inc.
 All rights reserved.
@@ -7309,168 +8254,445 @@
 of all derivatives of our free software and of promoting the sharing
 and reuse of software generally.
 
-                            NO WARRANTY
+                            NO WARRANTY
+
+  15. BECAUSE THE LIBRARY IS LICENSED FREE OF CHARGE, THERE IS NO
+WARRANTY FOR THE LIBRARY, TO THE EXTENT PERMITTED BY APPLICABLE LAW.
+EXCEPT WHEN OTHERWISE STATED IN WRITING THE COPYRIGHT HOLDERS AND/OR
+OTHER PARTIES PROVIDE THE LIBRARY "AS IS" WITHOUT WARRANTY OF ANY
+KIND, EITHER EXPRESSED OR IMPLIED, INCLUDING, BUT NOT LIMITED TO, THE
+IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR
+PURPOSE.  THE ENTIRE RISK AS TO THE QUALITY AND PERFORMANCE OF THE
+LIBRARY IS WITH YOU.  SHOULD THE LIBRARY PROVE DEFECTIVE, YOU ASSUME
+THE COST OF ALL NECESSARY SERVICING, REPAIR OR CORRECTION.
+
+  16. IN NO EVENT UNLESS REQUIRED BY APPLICABLE LAW OR AGREED TO IN
+WRITING WILL ANY COPYRIGHT HOLDER, OR ANY OTHER PARTY WHO MAY MODIFY
+AND/OR REDISTRIBUTE THE LIBRARY AS PERMITTED ABOVE, BE LIABLE TO YOU
+FOR DAMAGES, INCLUDING ANY GENERAL, SPECIAL, INCIDENTAL OR
+CONSEQUENTIAL DAMAGES ARISING OUT OF THE USE OR INABILITY TO USE THE
+LIBRARY (INCLUDING BUT NOT LIMITED TO LOSS OF DATA OR DATA BEING
+RENDERED INACCURATE OR LOSSES SUSTAINED BY YOU OR THIRD PARTIES OR A
+FAILURE OF THE LIBRARY TO OPERATE WITH ANY OTHER SOFTWARE), EVEN IF
+SUCH HOLDER OR OTHER PARTY HAS BEEN ADVISED OF THE POSSIBILITY OF SUCH
+DAMAGES.
+
+                     END OF TERMS AND CONDITIONS
+
+
+
+
+
+
+ +
+Strongtalk +show license +homepage +
+
Copyright (c) 1994-2006 Sun Microsystems Inc.
+All Rights Reserved.
+
+Redistribution and use in source and binary forms, with or without
+modification, are permitted provided that the following conditions are
+met:
+
+- Redistributions of source code must retain the above copyright notice,
+this list of conditions and the following disclaimer.
+
+- Redistribution in binary form must reproduce the above copyright
+notice, this list of conditions and the following disclaimer in the
+documentation and/or other materials provided with the distribution.
+
+- Neither the name of Sun Microsystems or the names of contributors may
+be used to endorse or promote products derived from this software without
+specific prior written permission.
+
+THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS
+IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO,
+THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR
+PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR
+CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL,
+EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO,
+PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR
+PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF
+LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING
+NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS
+SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+
+
+
+ +
+Sudden Motion Sensor library +show license +homepage +
+
SMSLib Sudden Motion Sensor Access Library
+Copyright (c) 2010 Suitable Systems
+All rights reserved.
+
+Developed by: Daniel Griscom
+              Suitable Systems
+              http://www.suitable.com
+
+Permission is hereby granted, free of charge, to any person obtaining a
+copy of this software and associated documentation files (the
+"Software"), to deal with the Software without restriction, including
+without limitation the rights to use, copy, modify, merge, publish,
+distribute, sublicense, and/or sell copies of the Software, and to
+permit persons to whom the Software is furnished to do so, subject to
+the following conditions:
+
+- Redistributions of source code must retain the above copyright notice,
+this list of conditions and the following disclaimers.
+
+- Redistributions in binary form must reproduce the above copyright
+notice, this list of conditions and the following disclaimers in the
+documentation and/or other materials provided with the distribution.
+
+- Neither the names of Suitable Systems nor the names of its
+contributors may be used to endorse or promote products derived from
+this Software without specific prior written permission.
+
+THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS
+OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
+MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT.
+IN NO EVENT SHALL THE CONTRIBUTORS OR COPYRIGHT HOLDERS BE LIABLE FOR
+ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT,
+TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE
+SOFTWARE OR THE USE OR OTHER DEALINGS WITH THE SOFTWARE.
+
+For more information about SMSLib, see
+   <http://www.suitable.com/tools/smslib.html>
+or contact
+   Daniel Griscom
+   Suitable Systems
+   1 Centre Street, Suite 204
+   Wakefield, MA 01880
+   (781) 665-0053
+
+
+
+ +
+SwiftShader software renderer. +show license +homepage +
+
This product includes SwiftShader Software GPU Tookit,
+Copyright(c)2003-2011 TransGaming Inc
+
+
+
+ +
+The USB ID Repository +show license +homepage +
+
Copyright (c) 2012, Linux USB Project
+All rights reserved.
+
+Redistribution and use in source and binary forms, with or without modification, are permitted provided that the following conditions are met:
+
+o Redistributions of source code must retain the above copyright notice,
+  this list of conditions and the following disclaimer.
+
+o Redistributions in binary form must reproduce the above copyright
+  notice, this list of conditions and the following disclaimer in the
+  documentation and/or other materials provided with the distribution.
+
+o Neither the name of the Linux USB Project nor the names of its
+  contributors may be used to endorse or promote products derived from
+  this software without specific prior written permission.
+
+THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+
+
+
+ +
+The library to input, validate, and display addresses. +show license +homepage +
+
+                                 Apache License
+                           Version 2.0, January 2004
+                        http://www.apache.org/licenses/
+
+   TERMS AND CONDITIONS FOR USE, REPRODUCTION, AND DISTRIBUTION
+
+   1. Definitions.
+
+      "License" shall mean the terms and conditions for use, reproduction,
+      and distribution as defined by Sections 1 through 9 of this document.
+
+      "Licensor" shall mean the copyright owner or entity authorized by
+      the copyright owner that is granting the License.
+
+      "Legal Entity" shall mean the union of the acting entity and all
+      other entities that control, are controlled by, or are under common
+      control with that entity. For the purposes of this definition,
+      "control" means (i) the power, direct or indirect, to cause the
+      direction or management of such entity, whether by contract or
+      otherwise, or (ii) ownership of fifty percent (50%) or more of the
+      outstanding shares, or (iii) beneficial ownership of such entity.
+
+      "You" (or "Your") shall mean an individual or Legal Entity
+      exercising permissions granted by this License.
+
+      "Source" form shall mean the preferred form for making modifications,
+      including but not limited to software source code, documentation
+      source, and configuration files.
+
+      "Object" form shall mean any form resulting from mechanical
+      transformation or translation of a Source form, including but
+      not limited to compiled object code, generated documentation,
+      and conversions to other media types.
+
+      "Work" shall mean the work of authorship, whether in Source or
+      Object form, made available under the License, as indicated by a
+      copyright notice that is included in or attached to the work
+      (an example is provided in the Appendix below).
+
+      "Derivative Works" shall mean any work, whether in Source or Object
+      form, that is based on (or derived from) the Work and for which the
+      editorial revisions, annotations, elaborations, or other modifications
+      represent, as a whole, an original work of authorship. For the purposes
+      of this License, Derivative Works shall not include works that remain
+      separable from, or merely link (or bind by name) to the interfaces of,
+      the Work and Derivative Works thereof.
+
+      "Contribution" shall mean any work of authorship, including
+      the original version of the Work and any modifications or additions
+      to that Work or Derivative Works thereof, that is intentionally
+      submitted to Licensor for inclusion in the Work by the copyright owner
+      or by an individual or Legal Entity authorized to submit on behalf of
+      the copyright owner. For the purposes of this definition, "submitted"
+      means any form of electronic, verbal, or written communication sent
+      to the Licensor or its representatives, including but not limited to
+      communication on electronic mailing lists, source code control systems,
+      and issue tracking systems that are managed by, or on behalf of, the
+      Licensor for the purpose of discussing and improving the Work, but
+      excluding communication that is conspicuously marked or otherwise
+      designated in writing by the copyright owner as "Not a Contribution."
 
-  15. BECAUSE THE LIBRARY IS LICENSED FREE OF CHARGE, THERE IS NO
-WARRANTY FOR THE LIBRARY, TO THE EXTENT PERMITTED BY APPLICABLE LAW.
-EXCEPT WHEN OTHERWISE STATED IN WRITING THE COPYRIGHT HOLDERS AND/OR
-OTHER PARTIES PROVIDE THE LIBRARY "AS IS" WITHOUT WARRANTY OF ANY
-KIND, EITHER EXPRESSED OR IMPLIED, INCLUDING, BUT NOT LIMITED TO, THE
-IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR
-PURPOSE.  THE ENTIRE RISK AS TO THE QUALITY AND PERFORMANCE OF THE
-LIBRARY IS WITH YOU.  SHOULD THE LIBRARY PROVE DEFECTIVE, YOU ASSUME
-THE COST OF ALL NECESSARY SERVICING, REPAIR OR CORRECTION.
+      "Contributor" shall mean Licensor and any individual or Legal Entity
+      on behalf of whom a Contribution has been received by Licensor and
+      subsequently incorporated within the Work.
 
-  16. IN NO EVENT UNLESS REQUIRED BY APPLICABLE LAW OR AGREED TO IN
-WRITING WILL ANY COPYRIGHT HOLDER, OR ANY OTHER PARTY WHO MAY MODIFY
-AND/OR REDISTRIBUTE THE LIBRARY AS PERMITTED ABOVE, BE LIABLE TO YOU
-FOR DAMAGES, INCLUDING ANY GENERAL, SPECIAL, INCIDENTAL OR
-CONSEQUENTIAL DAMAGES ARISING OUT OF THE USE OR INABILITY TO USE THE
-LIBRARY (INCLUDING BUT NOT LIMITED TO LOSS OF DATA OR DATA BEING
-RENDERED INACCURATE OR LOSSES SUSTAINED BY YOU OR THIRD PARTIES OR A
-FAILURE OF THE LIBRARY TO OPERATE WITH ANY OTHER SOFTWARE), EVEN IF
-SUCH HOLDER OR OTHER PARTY HAS BEEN ADVISED OF THE POSSIBILITY OF SUCH
-DAMAGES.
+   2. Grant of Copyright License. Subject to the terms and conditions of
+      this License, each Contributor hereby grants to You a perpetual,
+      worldwide, non-exclusive, no-charge, royalty-free, irrevocable
+      copyright license to reproduce, prepare Derivative Works of,
+      publicly display, publicly perform, sublicense, and distribute the
+      Work and such Derivative Works in Source or Object form.
 
-                     END OF TERMS AND CONDITIONS
+   3. Grant of Patent License. Subject to the terms and conditions of
+      this License, each Contributor hereby grants to You a perpetual,
+      worldwide, non-exclusive, no-charge, royalty-free, irrevocable
+      (except as stated in this section) patent license to make, have made,
+      use, offer to sell, sell, import, and otherwise transfer the Work,
+      where such license applies only to those patent claims licensable
+      by such Contributor that are necessarily infringed by their
+      Contribution(s) alone or by combination of their Contribution(s)
+      with the Work to which such Contribution(s) was submitted. If You
+      institute patent litigation against any entity (including a
+      cross-claim or counterclaim in a lawsuit) alleging that the Work
+      or a Contribution incorporated within the Work constitutes direct
+      or contributory patent infringement, then any patent licenses
+      granted to You under this License for that Work shall terminate
+      as of the date such litigation is filed.
 
+   4. Redistribution. You may reproduce and distribute copies of the
+      Work or Derivative Works thereof in any medium, with or without
+      modifications, and in Source or Object form, provided that You
+      meet the following conditions:
 
+      (a) You must give any other recipients of the Work or
+          Derivative Works a copy of this License; and
 
-
-
-
+ (b) You must cause any modified files to carry prominent notices + stating that You changed the files; and -
-Strongtalk -show license -homepage -
-
Copyright (c) 1994-2006 Sun Microsystems Inc.
-All Rights Reserved.
+      (c) You must retain, in the Source form of any Derivative Works
+          that You distribute, all copyright, patent, trademark, and
+          attribution notices from the Source form of the Work,
+          excluding those notices that do not pertain to any part of
+          the Derivative Works; and
 
-Redistribution and use in source and binary forms, with or without
-modification, are permitted provided that the following conditions are
-met:
+      (d) If the Work includes a "NOTICE" text file as part of its
+          distribution, then any Derivative Works that You distribute must
+          include a readable copy of the attribution notices contained
+          within such NOTICE file, excluding those notices that do not
+          pertain to any part of the Derivative Works, in at least one
+          of the following places: within a NOTICE text file distributed
+          as part of the Derivative Works; within the Source form or
+          documentation, if provided along with the Derivative Works; or,
+          within a display generated by the Derivative Works, if and
+          wherever such third-party notices normally appear. The contents
+          of the NOTICE file are for informational purposes only and
+          do not modify the License. You may add Your own attribution
+          notices within Derivative Works that You distribute, alongside
+          or as an addendum to the NOTICE text from the Work, provided
+          that such additional attribution notices cannot be construed
+          as modifying the License.
 
-- Redistributions of source code must retain the above copyright notice,
-this list of conditions and the following disclaimer.
+      You may add Your own copyright statement to Your modifications and
+      may provide additional or different license terms and conditions
+      for use, reproduction, or distribution of Your modifications, or
+      for any such Derivative Works as a whole, provided Your use,
+      reproduction, and distribution of the Work otherwise complies with
+      the conditions stated in this License.
 
-- Redistribution in binary form must reproduce the above copyright
-notice, this list of conditions and the following disclaimer in the
-documentation and/or other materials provided with the distribution.
+   5. Submission of Contributions. Unless You explicitly state otherwise,
+      any Contribution intentionally submitted for inclusion in the Work
+      by You to the Licensor shall be under the terms and conditions of
+      this License, without any additional terms or conditions.
+      Notwithstanding the above, nothing herein shall supersede or modify
+      the terms of any separate license agreement you may have executed
+      with Licensor regarding such Contributions.
 
-- Neither the name of Sun Microsystems or the names of contributors may
-be used to endorse or promote products derived from this software without
-specific prior written permission.
+   6. Trademarks. This License does not grant permission to use the trade
+      names, trademarks, service marks, or product names of the Licensor,
+      except as required for reasonable and customary use in describing the
+      origin of the Work and reproducing the content of the NOTICE file.
 
-THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS
-IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO,
-THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR
-PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR
-CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL,
-EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO,
-PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR
-PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF
-LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING
-NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS
-SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
-
-
-
+ 7. Disclaimer of Warranty. Unless required by applicable law or + agreed to in writing, Licensor provides the Work (and each + Contributor provides its Contributions) on an "AS IS" BASIS, + WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or + implied, including, without limitation, any warranties or conditions + of TITLE, NON-INFRINGEMENT, MERCHANTABILITY, or FITNESS FOR A + PARTICULAR PURPOSE. You are solely responsible for determining the + appropriateness of using or redistributing the Work and assume any + risks associated with Your exercise of permissions under this License. -
-Sudden Motion Sensor library -show license -homepage -
-
SMSLib Sudden Motion Sensor Access Library
-Copyright (c) 2010 Suitable Systems
-All rights reserved.
+   8. Limitation of Liability. In no event and under no legal theory,
+      whether in tort (including negligence), contract, or otherwise,
+      unless required by applicable law (such as deliberate and grossly
+      negligent acts) or agreed to in writing, shall any Contributor be
+      liable to You for damages, including any direct, indirect, special,
+      incidental, or consequential damages of any character arising as a
+      result of this License or out of the use or inability to use the
+      Work (including but not limited to damages for loss of goodwill,
+      work stoppage, computer failure or malfunction, or any and all
+      other commercial damages or losses), even if such Contributor
+      has been advised of the possibility of such damages.
 
-Developed by: Daniel Griscom
-              Suitable Systems
-              http://www.suitable.com
+   9. Accepting Warranty or Additional Liability. While redistributing
+      the Work or Derivative Works thereof, You may choose to offer,
+      and charge a fee for, acceptance of support, warranty, indemnity,
+      or other liability obligations and/or rights consistent with this
+      License. However, in accepting such obligations, You may act only
+      on Your own behalf and on Your sole responsibility, not on behalf
+      of any other Contributor, and only if You agree to indemnify,
+      defend, and hold each Contributor harmless for any liability
+      incurred by, or claims asserted against, such Contributor by reason
+      of your accepting any such warranty or additional liability.
 
-Permission is hereby granted, free of charge, to any person obtaining a
-copy of this software and associated documentation files (the
-"Software"), to deal with the Software without restriction, including
-without limitation the rights to use, copy, modify, merge, publish,
-distribute, sublicense, and/or sell copies of the Software, and to
-permit persons to whom the Software is furnished to do so, subject to
-the following conditions:
+   END OF TERMS AND CONDITIONS
 
-- Redistributions of source code must retain the above copyright notice,
-this list of conditions and the following disclaimers.
+   APPENDIX: How to apply the Apache License to your work.
 
-- Redistributions in binary form must reproduce the above copyright
-notice, this list of conditions and the following disclaimers in the
-documentation and/or other materials provided with the distribution.
+      To apply the Apache License to your work, attach the following
+      boilerplate notice, with the fields enclosed by brackets "[]"
+      replaced with your own identifying information. (Don't include
+      the brackets!)  The text should be enclosed in the appropriate
+      comment syntax for the file format. We also recommend that a
+      file or class name and description of purpose be included on the
+      same "printed page" as the copyright notice for easier
+      identification within third-party archives.
 
-- Neither the names of Suitable Systems nor the names of its
-contributors may be used to endorse or promote products derived from
-this Software without specific prior written permission.
+   Copyright [yyyy] [name of copyright owner]
 
-THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS
-OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
-MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT.
-IN NO EVENT SHALL THE CONTRIBUTORS OR COPYRIGHT HOLDERS BE LIABLE FOR
-ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT,
-TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE
-SOFTWARE OR THE USE OR OTHER DEALINGS WITH THE SOFTWARE.
+   Licensed under the Apache License, Version 2.0 (the "License");
+   you may not use this file except in compliance with the License.
+   You may obtain a copy of the License at
 
-For more information about SMSLib, see
-   <http://www.suitable.com/tools/smslib.html>
-or contact
-   Daniel Griscom
-   Suitable Systems
-   1 Centre Street, Suite 204
-   Wakefield, MA 01880
-   (781) 665-0053
+       http://www.apache.org/licenses/LICENSE-2.0
+
+   Unless required by applicable law or agreed to in writing, software
+   distributed under the License is distributed on an "AS IS" BASIS,
+   WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+   See the License for the specific language governing permissions and
+   limitations under the License.
 
-SwiftShader software renderer. +V8 JavaScript Engine show license -homepage +homepage
-
This product includes SwiftShader Software GPU Tookit,
-Copyright(c)2003-2011 TransGaming Inc
-
-
-
+
This license applies to all parts of V8 that are not externally
+maintained libraries.  The externally maintained libraries used by V8
+are:
+
+  - PCRE test suite, located in
+    test/mjsunit/third_party/regexp-pcre/regexp-pcre.js.  This is based on the
+    test suite from PCRE-7.3, which is copyrighted by the University
+    of Cambridge and Google, Inc.  The copyright notice and license
+    are embedded in regexp-pcre.js.
+
+  - Layout tests, located in test/mjsunit/third_party/object-keys.  These are
+    based on layout tests from webkit.org which are copyrighted by
+    Apple Computer, Inc. and released under a 3-clause BSD license.
+
+  - Strongtalk assembler, the basis of the files assembler-arm-inl.h,
+    assembler-arm.cc, assembler-arm.h, assembler-ia32-inl.h,
+    assembler-ia32.cc, assembler-ia32.h, assembler-x64-inl.h,
+    assembler-x64.cc, assembler-x64.h, assembler-mips-inl.h,
+    assembler-mips.cc, assembler-mips.h, assembler.cc and assembler.h.
+    This code is copyrighted by Sun Microsystems Inc. and released
+    under a 3-clause BSD license.
 
-
-The USB ID Repository -show license -homepage -
-
Copyright (c) 2012, Linux USB Project
-All rights reserved.
+  - Valgrind client API header, located at third_party/valgrind/valgrind.h
+    This is release under the BSD license.
 
-Redistribution and use in source and binary forms, with or without modification, are permitted provided that the following conditions are met:
+These libraries have their own licenses; we recommend you read them,
+as their terms may differ from the terms below.
 
-o Redistributions of source code must retain the above copyright notice,
-  this list of conditions and the following disclaimer.
+Further license information can be found in LICENSE files located in 
+sub-directories.
 
-o Redistributions in binary form must reproduce the above copyright
-  notice, this list of conditions and the following disclaimer in the
-  documentation and/or other materials provided with the distribution.
+Copyright 2014, the V8 project authors. All rights reserved.
+Redistribution and use in source and binary forms, with or without
+modification, are permitted provided that the following conditions are
+met:
 
-o Neither the name of the Linux USB Project nor the names of its
-  contributors may be used to endorse or promote products derived from
-  this software without specific prior written permission.
+    * Redistributions of source code must retain the above copyright
+      notice, this list of conditions and the following disclaimer.
+    * Redistributions in binary form must reproduce the above
+      copyright notice, this list of conditions and the following
+      disclaimer in the documentation and/or other materials provided
+      with the distribution.
+    * Neither the name of Google Inc. nor the names of its
+      contributors may be used to endorse or promote products derived
+      from this software without specific prior written permission.
 
-THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
+"AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
+LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
+A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
+OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
+SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
+LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
+DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
+THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
+(INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
+OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
 
-The library to input, validate, and display addresses. +Web Animations JS show license -homepage +homepage
                                  Apache License
@@ -7679,368 +8901,530 @@
 
-V8 JavaScript Engine +WebKit show license -homepage +homepage
-
This license applies to all parts of V8 that are not externally
-maintained libraries.  The externally maintained libraries used by V8
-are:
+
(WebKit doesn't distribute an explicit license.  This LICENSE is derived from
+license text in the source.)
 
-  - PCRE test suite, located in
-    test/mjsunit/third_party/regexp-pcre/regexp-pcre.js.  This is based on the
-    test suite from PCRE-7.3, which is copyrighted by the University
-    of Cambridge and Google, Inc.  The copyright notice and license
-    are embedded in regexp-pcre.js.
+Copyright (c) 1997, 1998, 1999, 2000, 2001, 2002, 2003, 2004, 2005,
+2006, 2007 Alexander Kellett, Alexey Proskuryakov, Alex Mathews, Allan
+Sandfeld Jensen, Alp Toker, Anders Carlsson, Andrew Wellington, Antti
+Koivisto, Apple Inc., Arthur Langereis, Baron Schwartz, Bjoern Graf,
+Brent Fulgham, Cameron Zwarich, Charles Samuels, Christian Dywan,
+Collabora Ltd., Cyrus Patel, Daniel Molkentin, Dave Maclachlan, David
+Smith, Dawit Alemayehu, Dirk Mueller, Dirk Schulze, Don Gibson, Enrico
+Ros, Eric Seidel, Frederik Holljen, Frerich Raabe, Friedmann Kleint,
+George Staikos, Google Inc., Graham Dennis, Harri Porten, Henry Mason,
+Hiroyuki Ikezoe, Holger Hans Peter Freyther, IBM, James G. Speth, Jan
+Alonzo, Jean-Loup Gailly, John Reis, Jonas Witt, Jon Shier, Jonas
+Witt, Julien Chaffraix, Justin Haygood, Kevin Ollivier, Kevin Watters,
+Kimmo Kinnunen, Kouhei Sutou, Krzysztof Kowalczyk, Lars Knoll, Luca
+Bruno, Maks Orlovich, Malte Starostik, Mark Adler, Martin Jones,
+Marvin Decker, Matt Lilek, Michael Emmel, Mitz Pettel, mozilla.org,
+Netscape Communications Corporation, Nicholas Shanks, Nikolas
+Zimmermann, Nokia, Oliver Hunt, Opened Hand, Paul Johnston, Peter
+Kelly, Pioneer Research Center USA, Rich Moore, Rob Buis, Robin Dunn,
+Ronald Tschalär, Samuel Weinig, Simon Hausmann, Staikos Computing
+Services Inc., Stefan Schimanski, Symantec Corporation, The Dojo
+Foundation, The Karbon Developers, Thomas Boyer, Tim Copperfield,
+Tobias Anton, Torben Weis, Trolltech, University of Cambridge, Vaclav
+Slavik, Waldo Bastian, Xan Lopez, Zack Rusin
 
-  - Layout tests, located in test/mjsunit/third_party/object-keys.  These are
-    based on layout tests from webkit.org which are copyrighted by
-    Apple Computer, Inc. and released under a 3-clause BSD license.
+The terms and conditions vary from file to file, but are one of:
 
-  - Strongtalk assembler, the basis of the files assembler-arm-inl.h,
-    assembler-arm.cc, assembler-arm.h, assembler-ia32-inl.h,
-    assembler-ia32.cc, assembler-ia32.h, assembler-x64-inl.h,
-    assembler-x64.cc, assembler-x64.h, assembler-mips-inl.h,
-    assembler-mips.cc, assembler-mips.h, assembler.cc and assembler.h.
-    This code is copyrighted by Sun Microsystems Inc. and released
-    under a 3-clause BSD license.
+Redistribution and use in source and binary forms, with or without
+modification, are permitted provided that the following conditions are
+met:
 
-  - Valgrind client API header, located at third_party/valgrind/valgrind.h
-    This is release under the BSD license.
+1. Redistributions of source code must retain the above copyright
+   notice, this list of conditions and the following disclaimer.
 
-These libraries have their own licenses; we recommend you read them,
-as their terms may differ from the terms below.
+2. Redistributions in binary form must reproduce the above copyright
+   notice, this list of conditions and the following disclaimer in the
+   documentation and/or other materials provided with the
+   distribution.
 
-Further license information can be found in LICENSE files located in 
-sub-directories.
+*OR*
 
-Copyright 2014, the V8 project authors. All rights reserved.
 Redistribution and use in source and binary forms, with or without
 modification, are permitted provided that the following conditions are
 met:
 
-    * Redistributions of source code must retain the above copyright
-      notice, this list of conditions and the following disclaimer.
-    * Redistributions in binary form must reproduce the above
-      copyright notice, this list of conditions and the following
-      disclaimer in the documentation and/or other materials provided
-      with the distribution.
-    * Neither the name of Google Inc. nor the names of its
-      contributors may be used to endorse or promote products derived
-      from this software without specific prior written permission.
+1. Redistributions of source code must retain the above copyright
+   notice, this list of conditions and the following disclaimer.
+2. Redistributions in binary form must reproduce the above copyright
+   notice, this list of conditions and the following disclaimer in the
+   documentation and/or other materials provided with the
+   distribution.
+3. Neither the name of Apple Computer, Inc. ("Apple") nor the names of
+   its contributors may be used to endorse or promote products derived
+   from this software without specific prior written permission.
 
-THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
-"AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
-LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
-A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
-OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
-SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
-LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
-DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
-THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
+THIS SOFTWARE IS PROVIDED BY APPLE COMPUTER, INC. ``AS IS'' AND ANY
+EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
+IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR
+PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL APPLE COMPUTER, INC. OR
+CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL,
+EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO,
+PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR
+PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY
+
+OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
 (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
 OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
-
-
-
-
-Web Animations JS -show license -homepage -
-
-                                 Apache License
-                           Version 2.0, January 2004
-                        http://www.apache.org/licenses/
 
-   TERMS AND CONDITIONS FOR USE, REPRODUCTION, AND DISTRIBUTION
+                  GNU LIBRARY GENERAL PUBLIC LICENSE
+                       Version 2, June 1991
+
+ Copyright (C) 1991 Free Software Foundation, Inc.
+ 51 Franklin Street, Fifth Floor, Boston, MA  02110-1301  USA
+ Everyone is permitted to copy and distribute verbatim copies
+ of this license document, but changing it is not allowed.
+
+[This is the first released version of the library GPL.  It is
+ numbered 2 because it goes with version 2 of the ordinary GPL.]
+
+                            Preamble
+
+  The licenses for most software are designed to take away your
+freedom to share and change it.  By contrast, the GNU General Public
+Licenses are intended to guarantee your freedom to share and change
+free software--to make sure the software is free for all its users.
+
+  This license, the Library General Public License, applies to some
+specially designated Free Software Foundation software, and to any
+other libraries whose authors decide to use it.  You can use it for
+your libraries, too.
+
+  When we speak of free software, we are referring to freedom, not
+price.  Our General Public Licenses are designed to make sure that you
+have the freedom to distribute copies of free software (and charge for
+this service if you wish), that you receive source code or can get it
+if you want it, that you can change the software or use pieces of it
+in new free programs; and that you know you can do these things.
+
+  To protect your rights, we need to make restrictions that forbid
+anyone to deny you these rights or to ask you to surrender the rights.
+These restrictions translate to certain responsibilities for you if
+you distribute copies of the library, or if you modify it.
+
+  For example, if you distribute copies of the library, whether gratis
+or for a fee, you must give the recipients all the rights that we gave
+you.  You must make sure that they, too, receive or can get the source
+code.  If you link a program with the library, you must provide
+complete object files to the recipients so that they can relink them
+with the library, after making changes to the library and recompiling
+it.  And you must show them these terms so they know their rights.
+
+  Our method of protecting your rights has two steps: (1) copyright
+the library, and (2) offer you this license which gives you legal
+permission to copy, distribute and/or modify the library.
+
+  Also, for each distributor's protection, we want to make certain
+that everyone understands that there is no warranty for this free
+library.  If the library is modified by someone else and passed on, we
+want its recipients to know that what they have is not the original
+version, so that any problems introduced by others will not reflect on
+the original authors' reputations.
+
+  Finally, any free program is threatened constantly by software
+patents.  We wish to avoid the danger that companies distributing free
+software will individually obtain patent licenses, thus in effect
+transforming the program into proprietary software.  To prevent this,
+we have made it clear that any patent must be licensed for everyone's
+free use or not licensed at all.
+
+  Most GNU software, including some libraries, is covered by the ordinary
+GNU General Public License, which was designed for utility programs.  This
+license, the GNU Library General Public License, applies to certain
+designated libraries.  This license is quite different from the ordinary
+one; be sure to read it in full, and don't assume that anything in it is
+the same as in the ordinary license.
+
+  The reason we have a separate public license for some libraries is that
+they blur the distinction we usually make between modifying or adding to a
+program and simply using it.  Linking a program with a library, without
+changing the library, is in some sense simply using the library, and is
+analogous to running a utility program or application program.  However, in
+a textual and legal sense, the linked executable is a combined work, a
+derivative of the original library, and the ordinary General Public License
+treats it as such.
+
+  Because of this blurred distinction, using the ordinary General
+Public License for libraries did not effectively promote software
+sharing, because most developers did not use the libraries.  We
+concluded that weaker conditions might promote sharing better.
+
+  However, unrestricted linking of non-free programs would deprive the
+users of those programs of all benefit from the free status of the
+libraries themselves.  This Library General Public License is intended to
+permit developers of non-free programs to use free libraries, while
+preserving your freedom as a user of such programs to change the free
+libraries that are incorporated in them.  (We have not seen how to achieve
+this as regards changes in header files, but we have achieved it as regards
+changes in the actual functions of the Library.)  The hope is that this
+will lead to faster development of free libraries.
+
+  The precise terms and conditions for copying, distribution and
+modification follow.  Pay close attention to the difference between a
+"work based on the library" and a "work that uses the library".  The
+former contains code derived from the library, while the latter only
+works together with the library.
+
+  Note that it is possible for a library to be covered by the ordinary
+General Public License rather than by this special one.
+
+                  GNU LIBRARY GENERAL PUBLIC LICENSE
+   TERMS AND CONDITIONS FOR COPYING, DISTRIBUTION AND MODIFICATION
+
+  0. This License Agreement applies to any software library which
+contains a notice placed by the copyright holder or other authorized
+party saying it may be distributed under the terms of this Library
+General Public License (also called "this License").  Each licensee is
+addressed as "you".
 
-   1. Definitions.
+  A "library" means a collection of software functions and/or data
+prepared so as to be conveniently linked with application programs
+(which use some of those functions and data) to form executables.
 
-      "License" shall mean the terms and conditions for use, reproduction,
-      and distribution as defined by Sections 1 through 9 of this document.
+  The "Library", below, refers to any such software library or work
+which has been distributed under these terms.  A "work based on the
+Library" means either the Library or any derivative work under
+copyright law: that is to say, a work containing the Library or a
+portion of it, either verbatim or with modifications and/or translated
+straightforwardly into another language.  (Hereinafter, translation is
+included without limitation in the term "modification".)
 
-      "Licensor" shall mean the copyright owner or entity authorized by
-      the copyright owner that is granting the License.
+  "Source code" for a work means the preferred form of the work for
+making modifications to it.  For a library, complete source code means
+all the source code for all modules it contains, plus any associated
+interface definition files, plus the scripts used to control compilation
+and installation of the library.
 
-      "Legal Entity" shall mean the union of the acting entity and all
-      other entities that control, are controlled by, or are under common
-      control with that entity. For the purposes of this definition,
-      "control" means (i) the power, direct or indirect, to cause the
-      direction or management of such entity, whether by contract or
-      otherwise, or (ii) ownership of fifty percent (50%) or more of the
-      outstanding shares, or (iii) beneficial ownership of such entity.
+  Activities other than copying, distribution and modification are not
+covered by this License; they are outside its scope.  The act of
+running a program using the Library is not restricted, and output from
+such a program is covered only if its contents constitute a work based
+on the Library (independent of the use of the Library in a tool for
+writing it).  Whether that is true depends on what the Library does
+and what the program that uses the Library does.
+  
+  1. You may copy and distribute verbatim copies of the Library's
+complete source code as you receive it, in any medium, provided that
+you conspicuously and appropriately publish on each copy an
+appropriate copyright notice and disclaimer of warranty; keep intact
+all the notices that refer to this License and to the absence of any
+warranty; and distribute a copy of this License along with the
+Library.
 
-      "You" (or "Your") shall mean an individual or Legal Entity
-      exercising permissions granted by this License.
+  You may charge a fee for the physical act of transferring a copy,
+and you may at your option offer warranty protection in exchange for a
+fee.
+
+  2. You may modify your copy or copies of the Library or any portion
+of it, thus forming a work based on the Library, and copy and
+distribute such modifications or work under the terms of Section 1
+above, provided that you also meet all of these conditions:
 
-      "Source" form shall mean the preferred form for making modifications,
-      including but not limited to software source code, documentation
-      source, and configuration files.
+    a) The modified work must itself be a software library.
 
-      "Object" form shall mean any form resulting from mechanical
-      transformation or translation of a Source form, including but
-      not limited to compiled object code, generated documentation,
-      and conversions to other media types.
+    b) You must cause the files modified to carry prominent notices
+    stating that you changed the files and the date of any change.
 
-      "Work" shall mean the work of authorship, whether in Source or
-      Object form, made available under the License, as indicated by a
-      copyright notice that is included in or attached to the work
-      (an example is provided in the Appendix below).
+    c) You must cause the whole of the work to be licensed at no
+    charge to all third parties under the terms of this License.
 
-      "Derivative Works" shall mean any work, whether in Source or Object
-      form, that is based on (or derived from) the Work and for which the
-      editorial revisions, annotations, elaborations, or other modifications
-      represent, as a whole, an original work of authorship. For the purposes
-      of this License, Derivative Works shall not include works that remain
-      separable from, or merely link (or bind by name) to the interfaces of,
-      the Work and Derivative Works thereof.
+    d) If a facility in the modified Library refers to a function or a
+    table of data to be supplied by an application program that uses
+    the facility, other than as an argument passed when the facility
+    is invoked, then you must make a good faith effort to ensure that,
+    in the event an application does not supply such function or
+    table, the facility still operates, and performs whatever part of
+    its purpose remains meaningful.
 
-      "Contribution" shall mean any work of authorship, including
-      the original version of the Work and any modifications or additions
-      to that Work or Derivative Works thereof, that is intentionally
-      submitted to Licensor for inclusion in the Work by the copyright owner
-      or by an individual or Legal Entity authorized to submit on behalf of
-      the copyright owner. For the purposes of this definition, "submitted"
-      means any form of electronic, verbal, or written communication sent
-      to the Licensor or its representatives, including but not limited to
-      communication on electronic mailing lists, source code control systems,
-      and issue tracking systems that are managed by, or on behalf of, the
-      Licensor for the purpose of discussing and improving the Work, but
-      excluding communication that is conspicuously marked or otherwise
-      designated in writing by the copyright owner as "Not a Contribution."
+    (For example, a function in a library to compute square roots has
+    a purpose that is entirely well-defined independent of the
+    application.  Therefore, Subsection 2d requires that any
+    application-supplied function or table used by this function must
+    be optional: if the application does not supply it, the square
+    root function must still compute square roots.)
 
-      "Contributor" shall mean Licensor and any individual or Legal Entity
-      on behalf of whom a Contribution has been received by Licensor and
-      subsequently incorporated within the Work.
+These requirements apply to the modified work as a whole.  If
+identifiable sections of that work are not derived from the Library,
+and can be reasonably considered independent and separate works in
+themselves, then this License, and its terms, do not apply to those
+sections when you distribute them as separate works.  But when you
+distribute the same sections as part of a whole which is a work based
+on the Library, the distribution of the whole must be on the terms of
+this License, whose permissions for other licensees extend to the
+entire whole, and thus to each and every part regardless of who wrote
+it.
 
-   2. Grant of Copyright License. Subject to the terms and conditions of
-      this License, each Contributor hereby grants to You a perpetual,
-      worldwide, non-exclusive, no-charge, royalty-free, irrevocable
-      copyright license to reproduce, prepare Derivative Works of,
-      publicly display, publicly perform, sublicense, and distribute the
-      Work and such Derivative Works in Source or Object form.
+Thus, it is not the intent of this section to claim rights or contest
+your rights to work written entirely by you; rather, the intent is to
+exercise the right to control the distribution of derivative or
+collective works based on the Library.
 
-   3. Grant of Patent License. Subject to the terms and conditions of
-      this License, each Contributor hereby grants to You a perpetual,
-      worldwide, non-exclusive, no-charge, royalty-free, irrevocable
-      (except as stated in this section) patent license to make, have made,
-      use, offer to sell, sell, import, and otherwise transfer the Work,
-      where such license applies only to those patent claims licensable
-      by such Contributor that are necessarily infringed by their
-      Contribution(s) alone or by combination of their Contribution(s)
-      with the Work to which such Contribution(s) was submitted. If You
-      institute patent litigation against any entity (including a
-      cross-claim or counterclaim in a lawsuit) alleging that the Work
-      or a Contribution incorporated within the Work constitutes direct
-      or contributory patent infringement, then any patent licenses
-      granted to You under this License for that Work shall terminate
-      as of the date such litigation is filed.
+In addition, mere aggregation of another work not based on the Library
+with the Library (or with a work based on the Library) on a volume of
+a storage or distribution medium does not bring the other work under
+the scope of this License.
 
-   4. Redistribution. You may reproduce and distribute copies of the
-      Work or Derivative Works thereof in any medium, with or without
-      modifications, and in Source or Object form, provided that You
-      meet the following conditions:
+  3. You may opt to apply the terms of the ordinary GNU General Public
+License instead of this License to a given copy of the Library.  To do
+this, you must alter all the notices that refer to this License, so
+that they refer to the ordinary GNU General Public License, version 2,
+instead of to this License.  (If a newer version than version 2 of the
+ordinary GNU General Public License has appeared, then you can specify
+that version instead if you wish.)  Do not make any other change in
+these notices.
+
+  Once this change is made in a given copy, it is irreversible for
+that copy, so the ordinary GNU General Public License applies to all
+subsequent copies and derivative works made from that copy.
 
-      (a) You must give any other recipients of the Work or
-          Derivative Works a copy of this License; and
+  This option is useful when you wish to copy part of the code of
+the Library into a program that is not a library.
 
-      (b) You must cause any modified files to carry prominent notices
-          stating that You changed the files; and
+  4. You may copy and distribute the Library (or a portion or
+derivative of it, under Section 2) in object code or executable form
+under the terms of Sections 1 and 2 above provided that you accompany
+it with the complete corresponding machine-readable source code, which
+must be distributed under the terms of Sections 1 and 2 above on a
+medium customarily used for software interchange.
 
-      (c) You must retain, in the Source form of any Derivative Works
-          that You distribute, all copyright, patent, trademark, and
-          attribution notices from the Source form of the Work,
-          excluding those notices that do not pertain to any part of
-          the Derivative Works; and
+  If distribution of object code is made by offering access to copy
+from a designated place, then offering equivalent access to copy the
+source code from the same place satisfies the requirement to
+distribute the source code, even though third parties are not
+compelled to copy the source along with the object code.
 
-      (d) If the Work includes a "NOTICE" text file as part of its
-          distribution, then any Derivative Works that You distribute must
-          include a readable copy of the attribution notices contained
-          within such NOTICE file, excluding those notices that do not
-          pertain to any part of the Derivative Works, in at least one
-          of the following places: within a NOTICE text file distributed
-          as part of the Derivative Works; within the Source form or
-          documentation, if provided along with the Derivative Works; or,
-          within a display generated by the Derivative Works, if and
-          wherever such third-party notices normally appear. The contents
-          of the NOTICE file are for informational purposes only and
-          do not modify the License. You may add Your own attribution
-          notices within Derivative Works that You distribute, alongside
-          or as an addendum to the NOTICE text from the Work, provided
-          that such additional attribution notices cannot be construed
-          as modifying the License.
+  5. A program that contains no derivative of any portion of the
+Library, but is designed to work with the Library by being compiled or
+linked with it, is called a "work that uses the Library".  Such a
+work, in isolation, is not a derivative work of the Library, and
+therefore falls outside the scope of this License.
 
-      You may add Your own copyright statement to Your modifications and
-      may provide additional or different license terms and conditions
-      for use, reproduction, or distribution of Your modifications, or
-      for any such Derivative Works as a whole, provided Your use,
-      reproduction, and distribution of the Work otherwise complies with
-      the conditions stated in this License.
+  However, linking a "work that uses the Library" with the Library
+creates an executable that is a derivative of the Library (because it
+contains portions of the Library), rather than a "work that uses the
+library".  The executable is therefore covered by this License.
+Section 6 states terms for distribution of such executables.
 
-   5. Submission of Contributions. Unless You explicitly state otherwise,
-      any Contribution intentionally submitted for inclusion in the Work
-      by You to the Licensor shall be under the terms and conditions of
-      this License, without any additional terms or conditions.
-      Notwithstanding the above, nothing herein shall supersede or modify
-      the terms of any separate license agreement you may have executed
-      with Licensor regarding such Contributions.
+  When a "work that uses the Library" uses material from a header file
+that is part of the Library, the object code for the work may be a
+derivative work of the Library even though the source code is not.
+Whether this is true is especially significant if the work can be
+linked without the Library, or if the work is itself a library.  The
+threshold for this to be true is not precisely defined by law.
 
-   6. Trademarks. This License does not grant permission to use the trade
-      names, trademarks, service marks, or product names of the Licensor,
-      except as required for reasonable and customary use in describing the
-      origin of the Work and reproducing the content of the NOTICE file.
+  If such an object file uses only numerical parameters, data
+structure layouts and accessors, and small macros and small inline
+functions (ten lines or less in length), then the use of the object
+file is unrestricted, regardless of whether it is legally a derivative
+work.  (Executables containing this object code plus portions of the
+Library will still fall under Section 6.)
 
-   7. Disclaimer of Warranty. Unless required by applicable law or
-      agreed to in writing, Licensor provides the Work (and each
-      Contributor provides its Contributions) on an "AS IS" BASIS,
-      WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or
-      implied, including, without limitation, any warranties or conditions
-      of TITLE, NON-INFRINGEMENT, MERCHANTABILITY, or FITNESS FOR A
-      PARTICULAR PURPOSE. You are solely responsible for determining the
-      appropriateness of using or redistributing the Work and assume any
-      risks associated with Your exercise of permissions under this License.
+  Otherwise, if the work is a derivative of the Library, you may
+distribute the object code for the work under the terms of Section 6.
+Any executables containing that work also fall under Section 6,
+whether or not they are linked directly with the Library itself.
+
+  6. As an exception to the Sections above, you may also compile or
+link a "work that uses the Library" with the Library to produce a
+work containing portions of the Library, and distribute that work
+under terms of your choice, provided that the terms permit
+modification of the work for the customer's own use and reverse
+engineering for debugging such modifications.
 
-   8. Limitation of Liability. In no event and under no legal theory,
-      whether in tort (including negligence), contract, or otherwise,
-      unless required by applicable law (such as deliberate and grossly
-      negligent acts) or agreed to in writing, shall any Contributor be
-      liable to You for damages, including any direct, indirect, special,
-      incidental, or consequential damages of any character arising as a
-      result of this License or out of the use or inability to use the
-      Work (including but not limited to damages for loss of goodwill,
-      work stoppage, computer failure or malfunction, or any and all
-      other commercial damages or losses), even if such Contributor
-      has been advised of the possibility of such damages.
+  You must give prominent notice with each copy of the work that the
+Library is used in it and that the Library and its use are covered by
+this License.  You must supply a copy of this License.  If the work
+during execution displays copyright notices, you must include the
+copyright notice for the Library among them, as well as a reference
+directing the user to the copy of this License.  Also, you must do one
+of these things:
 
-   9. Accepting Warranty or Additional Liability. While redistributing
-      the Work or Derivative Works thereof, You may choose to offer,
-      and charge a fee for, acceptance of support, warranty, indemnity,
-      or other liability obligations and/or rights consistent with this
-      License. However, in accepting such obligations, You may act only
-      on Your own behalf and on Your sole responsibility, not on behalf
-      of any other Contributor, and only if You agree to indemnify,
-      defend, and hold each Contributor harmless for any liability
-      incurred by, or claims asserted against, such Contributor by reason
-      of your accepting any such warranty or additional liability.
+    a) Accompany the work with the complete corresponding
+    machine-readable source code for the Library including whatever
+    changes were used in the work (which must be distributed under
+    Sections 1 and 2 above); and, if the work is an executable linked
+    with the Library, with the complete machine-readable "work that
+    uses the Library", as object code and/or source code, so that the
+    user can modify the Library and then relink to produce a modified
+    executable containing the modified Library.  (It is understood
+    that the user who changes the contents of definitions files in the
+    Library will not necessarily be able to recompile the application
+    to use the modified definitions.)
 
-   END OF TERMS AND CONDITIONS
+    b) Accompany the work with a written offer, valid for at
+    least three years, to give the same user the materials
+    specified in Subsection 6a, above, for a charge no more
+    than the cost of performing this distribution.
 
-   APPENDIX: How to apply the Apache License to your work.
+    c) If distribution of the work is made by offering access to copy
+    from a designated place, offer equivalent access to copy the above
+    specified materials from the same place.
 
-      To apply the Apache License to your work, attach the following
-      boilerplate notice, with the fields enclosed by brackets "[]"
-      replaced with your own identifying information. (Don't include
-      the brackets!)  The text should be enclosed in the appropriate
-      comment syntax for the file format. We also recommend that a
-      file or class name and description of purpose be included on the
-      same "printed page" as the copyright notice for easier
-      identification within third-party archives.
+    d) Verify that the user has already received a copy of these
+    materials or that you have already sent this user a copy.
 
-   Copyright [yyyy] [name of copyright owner]
+  For an executable, the required form of the "work that uses the
+Library" must include any data and utility programs needed for
+reproducing the executable from it.  However, as a special exception,
+the source code distributed need not include anything that is normally
+distributed (in either source or binary form) with the major
+components (compiler, kernel, and so on) of the operating system on
+which the executable runs, unless that component itself accompanies
+the executable.
 
-   Licensed under the Apache License, Version 2.0 (the "License");
-   you may not use this file except in compliance with the License.
-   You may obtain a copy of the License at
+  It may happen that this requirement contradicts the license
+restrictions of other proprietary libraries that do not normally
+accompany the operating system.  Such a contradiction means you cannot
+use both them and the Library together in an executable that you
+distribute.
+
+  7. You may place library facilities that are a work based on the
+Library side-by-side in a single library together with other library
+facilities not covered by this License, and distribute such a combined
+library, provided that the separate distribution of the work based on
+the Library and of the other library facilities is otherwise
+permitted, and provided that you do these two things:
 
-       http://www.apache.org/licenses/LICENSE-2.0
+    a) Accompany the combined library with a copy of the same work
+    based on the Library, uncombined with any other library
+    facilities.  This must be distributed under the terms of the
+    Sections above.
 
-   Unless required by applicable law or agreed to in writing, software
-   distributed under the License is distributed on an "AS IS" BASIS,
-   WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-   See the License for the specific language governing permissions and
-   limitations under the License.
-
-
-
+ b) Give prominent notice with the combined library of the fact + that part of it is a work based on the Library, and explaining + where to find the accompanying uncombined form of the same work. -
-WebKit -show license -homepage -
-
(WebKit doesn't distribute an explicit license.  This LICENSE is derived from
-license text in the source.)
+  8. You may not copy, modify, sublicense, link with, or distribute
+the Library except as expressly provided under this License.  Any
+attempt otherwise to copy, modify, sublicense, link with, or
+distribute the Library is void, and will automatically terminate your
+rights under this License.  However, parties who have received copies,
+or rights, from you under this License will not have their licenses
+terminated so long as such parties remain in full compliance.
 
-Copyright (c) 1997, 1998, 1999, 2000, 2001, 2002, 2003, 2004, 2005,
-2006, 2007 Alexander Kellett, Alexey Proskuryakov, Alex Mathews, Allan
-Sandfeld Jensen, Alp Toker, Anders Carlsson, Andrew Wellington, Antti
-Koivisto, Apple Inc., Arthur Langereis, Baron Schwartz, Bjoern Graf,
-Brent Fulgham, Cameron Zwarich, Charles Samuels, Christian Dywan,
-Collabora Ltd., Cyrus Patel, Daniel Molkentin, Dave Maclachlan, David
-Smith, Dawit Alemayehu, Dirk Mueller, Dirk Schulze, Don Gibson, Enrico
-Ros, Eric Seidel, Frederik Holljen, Frerich Raabe, Friedmann Kleint,
-George Staikos, Google Inc., Graham Dennis, Harri Porten, Henry Mason,
-Hiroyuki Ikezoe, Holger Hans Peter Freyther, IBM, James G. Speth, Jan
-Alonzo, Jean-Loup Gailly, John Reis, Jonas Witt, Jon Shier, Jonas
-Witt, Julien Chaffraix, Justin Haygood, Kevin Ollivier, Kevin Watters,
-Kimmo Kinnunen, Kouhei Sutou, Krzysztof Kowalczyk, Lars Knoll, Luca
-Bruno, Maks Orlovich, Malte Starostik, Mark Adler, Martin Jones,
-Marvin Decker, Matt Lilek, Michael Emmel, Mitz Pettel, mozilla.org,
-Netscape Communications Corporation, Nicholas Shanks, Nikolas
-Zimmermann, Nokia, Oliver Hunt, Opened Hand, Paul Johnston, Peter
-Kelly, Pioneer Research Center USA, Rich Moore, Rob Buis, Robin Dunn,
-Ronald Tschalär, Samuel Weinig, Simon Hausmann, Staikos Computing
-Services Inc., Stefan Schimanski, Symantec Corporation, The Dojo
-Foundation, The Karbon Developers, Thomas Boyer, Tim Copperfield,
-Tobias Anton, Torben Weis, Trolltech, University of Cambridge, Vaclav
-Slavik, Waldo Bastian, Xan Lopez, Zack Rusin
+  9. You are not required to accept this License, since you have not
+signed it.  However, nothing else grants you permission to modify or
+distribute the Library or its derivative works.  These actions are
+prohibited by law if you do not accept this License.  Therefore, by
+modifying or distributing the Library (or any work based on the
+Library), you indicate your acceptance of this License to do so, and
+all its terms and conditions for copying, distributing or modifying
+the Library or works based on it.
 
-The terms and conditions vary from file to file, but are one of:
+  10. Each time you redistribute the Library (or any work based on the
+Library), the recipient automatically receives a license from the
+original licensor to copy, distribute, link with or modify the Library
+subject to these terms and conditions.  You may not impose any further
+restrictions on the recipients' exercise of the rights granted herein.
+You are not responsible for enforcing compliance by third parties to
+this License.
+
+  11. If, as a consequence of a court judgment or allegation of patent
+infringement or for any other reason (not limited to patent issues),
+conditions are imposed on you (whether by court order, agreement or
+otherwise) that contradict the conditions of this License, they do not
+excuse you from the conditions of this License.  If you cannot
+distribute so as to satisfy simultaneously your obligations under this
+License and any other pertinent obligations, then as a consequence you
+may not distribute the Library at all.  For example, if a patent
+license would not permit royalty-free redistribution of the Library by
+all those who receive copies directly or indirectly through you, then
+the only way you could satisfy both it and this License would be to
+refrain entirely from distribution of the Library.
 
-Redistribution and use in source and binary forms, with or without
-modification, are permitted provided that the following conditions are
-met:
+If any portion of this section is held invalid or unenforceable under any
+particular circumstance, the balance of the section is intended to apply,
+and the section as a whole is intended to apply in other circumstances.
 
-1. Redistributions of source code must retain the above copyright
-   notice, this list of conditions and the following disclaimer.
+It is not the purpose of this section to induce you to infringe any
+patents or other property right claims or to contest validity of any
+such claims; this section has the sole purpose of protecting the
+integrity of the free software distribution system which is
+implemented by public license practices.  Many people have made
+generous contributions to the wide range of software distributed
+through that system in reliance on consistent application of that
+system; it is up to the author/donor to decide if he or she is willing
+to distribute software through any other system and a licensee cannot
+impose that choice.
 
-2. Redistributions in binary form must reproduce the above copyright
-   notice, this list of conditions and the following disclaimer in the
-   documentation and/or other materials provided with the
-   distribution.
+This section is intended to make thoroughly clear what is believed to
+be a consequence of the rest of this License.
 
-*OR*
+  12. If the distribution and/or use of the Library is restricted in
+certain countries either by patents or by copyrighted interfaces, the
+original copyright holder who places the Library under this License may add
+an explicit geographical distribution limitation excluding those countries,
+so that distribution is permitted only in or among countries not thus
+excluded.  In such case, this License incorporates the limitation as if
+written in the body of this License.
 
-Redistribution and use in source and binary forms, with or without
-modification, are permitted provided that the following conditions are
-met:
+  13. The Free Software Foundation may publish revised and/or new
+versions of the Library General Public License from time to time.
+Such new versions will be similar in spirit to the present version,
+but may differ in detail to address new problems or concerns.
 
-1. Redistributions of source code must retain the above copyright
-   notice, this list of conditions and the following disclaimer.
-2. Redistributions in binary form must reproduce the above copyright
-   notice, this list of conditions and the following disclaimer in the
-   documentation and/or other materials provided with the
-   distribution.
-3. Neither the name of Apple Computer, Inc. ("Apple") nor the names of
-   its contributors may be used to endorse or promote products derived
-   from this software without specific prior written permission.
+Each version is given a distinguishing version number.  If the Library
+specifies a version number of this License which applies to it and
+"any later version", you have the option of following the terms and
+conditions either of that version or of any later version published by
+the Free Software Foundation.  If the Library does not specify a
+license version number, you may choose any version ever published by
+the Free Software Foundation.
+
+  14. If you wish to incorporate parts of the Library into other free
+programs whose distribution conditions are incompatible with these,
+write to the author to ask for permission.  For software which is
+copyrighted by the Free Software Foundation, write to the Free
+Software Foundation; we sometimes make exceptions for this.  Our
+decision will be guided by the two goals of preserving the free status
+of all derivatives of our free software and of promoting the sharing
+and reuse of software generally.
 
-THIS SOFTWARE IS PROVIDED BY APPLE COMPUTER, INC. ``AS IS'' AND ANY
-EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
+                            NO WARRANTY
+
+  15. BECAUSE THE LIBRARY IS LICENSED FREE OF CHARGE, THERE IS NO
+WARRANTY FOR THE LIBRARY, TO THE EXTENT PERMITTED BY APPLICABLE LAW.
+EXCEPT WHEN OTHERWISE STATED IN WRITING THE COPYRIGHT HOLDERS AND/OR
+OTHER PARTIES PROVIDE THE LIBRARY "AS IS" WITHOUT WARRANTY OF ANY
+KIND, EITHER EXPRESSED OR IMPLIED, INCLUDING, BUT NOT LIMITED TO, THE
 IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR
-PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL APPLE COMPUTER, INC. OR
-CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL,
-EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO,
-PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR
-PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY
+PURPOSE.  THE ENTIRE RISK AS TO THE QUALITY AND PERFORMANCE OF THE
+LIBRARY IS WITH YOU.  SHOULD THE LIBRARY PROVE DEFECTIVE, YOU ASSUME
+THE COST OF ALL NECESSARY SERVICING, REPAIR OR CORRECTION.
 
-OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
-(INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
-OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+  16. IN NO EVENT UNLESS REQUIRED BY APPLICABLE LAW OR AGREED TO IN
+WRITING WILL ANY COPYRIGHT HOLDER, OR ANY OTHER PARTY WHO MAY MODIFY
+AND/OR REDISTRIBUTE THE LIBRARY AS PERMITTED ABOVE, BE LIABLE TO YOU
+FOR DAMAGES, INCLUDING ANY GENERAL, SPECIAL, INCIDENTAL OR
+CONSEQUENTIAL DAMAGES ARISING OUT OF THE USE OR INABILITY TO USE THE
+LIBRARY (INCLUDING BUT NOT LIMITED TO LOSS OF DATA OR DATA BEING
+RENDERED INACCURATE OR LOSSES SUSTAINED BY YOU OR THIRD PARTIES OR A
+FAILURE OF THE LIBRARY TO OPERATE WITH ANY OTHER SOFTWARE), EVEN IF
+SUCH HOLDER OR OTHER PARTY HAS BEEN ADVISED OF THE POSSIBILITY OF SUCH
+DAMAGES.
 
+                     END OF TERMS AND CONDITIONS
 
-                  GNU LIBRARY GENERAL PUBLIC LICENSE
-                       Version 2, June 1991
+                  GNU LESSER GENERAL PUBLIC LICENSE
+                       Version 2.1, February 1999
 
- Copyright (C) 1991 Free Software Foundation, Inc.
+ Copyright (C) 1991, 1999 Free Software Foundation, Inc.
  51 Franklin Street, Fifth Floor, Boston, MA  02110-1301  USA
  Everyone is permitted to copy and distribute verbatim copies
  of this license document, but changing it is not allowed.
 
-[This is the first released version of the library GPL.  It is
- numbered 2 because it goes with version 2 of the ordinary GPL.]
+[This is the first released version of the Lesser GPL.  It also counts
+ as the successor of the GNU Library Public License, version 2, hence
+ the version number 2.1.]
 
                             Preamble
 
@@ -8049,97 +9433,109 @@
 Licenses are intended to guarantee your freedom to share and change
 free software--to make sure the software is free for all its users.
 
-  This license, the Library General Public License, applies to some
-specially designated Free Software Foundation software, and to any
-other libraries whose authors decide to use it.  You can use it for
-your libraries, too.
+  This license, the Lesser General Public License, applies to some
+specially designated software packages--typically libraries--of the
+Free Software Foundation and other authors who decide to use it.  You
+can use it too, but we suggest you first think carefully about whether
+this license or the ordinary General Public License is the better
+strategy to use in any particular case, based on the explanations below.
 
-  When we speak of free software, we are referring to freedom, not
-price.  Our General Public Licenses are designed to make sure that you
-have the freedom to distribute copies of free software (and charge for
-this service if you wish), that you receive source code or can get it
-if you want it, that you can change the software or use pieces of it
-in new free programs; and that you know you can do these things.
+  When we speak of free software, we are referring to freedom of use,
+not price.  Our General Public Licenses are designed to make sure that
+you have the freedom to distribute copies of free software (and charge
+for this service if you wish); that you receive source code or can get
+it if you want it; that you can change the software and use pieces of
+it in new free programs; and that you are informed that you can do
+these things.
 
   To protect your rights, we need to make restrictions that forbid
-anyone to deny you these rights or to ask you to surrender the rights.
-These restrictions translate to certain responsibilities for you if
-you distribute copies of the library, or if you modify it.
+distributors to deny you these rights or to ask you to surrender these
+rights.  These restrictions translate to certain responsibilities for
+you if you distribute copies of the library or if you modify it.
 
   For example, if you distribute copies of the library, whether gratis
 or for a fee, you must give the recipients all the rights that we gave
 you.  You must make sure that they, too, receive or can get the source
-code.  If you link a program with the library, you must provide
-complete object files to the recipients so that they can relink them
-with the library, after making changes to the library and recompiling
+code.  If you link other code with the library, you must provide
+complete object files to the recipients, so that they can relink them
+with the library after making changes to the library and recompiling
 it.  And you must show them these terms so they know their rights.
 
-  Our method of protecting your rights has two steps: (1) copyright
-the library, and (2) offer you this license which gives you legal
+  We protect your rights with a two-step method: (1) we copyright the
+library, and (2) we offer you this license, which gives you legal
 permission to copy, distribute and/or modify the library.
 
-  Also, for each distributor's protection, we want to make certain
-that everyone understands that there is no warranty for this free
-library.  If the library is modified by someone else and passed on, we
-want its recipients to know that what they have is not the original
-version, so that any problems introduced by others will not reflect on
-the original authors' reputations.
+  To protect each distributor, we want to make it very clear that
+there is no warranty for the free library.  Also, if the library is
+modified by someone else and passed on, the recipients should know
+that what they have is not the original version, so that the original
+author's reputation will not be affected by problems that might be
+introduced by others.
 
-  Finally, any free program is threatened constantly by software
-patents.  We wish to avoid the danger that companies distributing free
-software will individually obtain patent licenses, thus in effect
-transforming the program into proprietary software.  To prevent this,
-we have made it clear that any patent must be licensed for everyone's
-free use or not licensed at all.
+  Finally, software patents pose a constant threat to the existence of
+any free program.  We wish to make sure that a company cannot
+effectively restrict the users of a free program by obtaining a
+restrictive license from a patent holder.  Therefore, we insist that
+any patent license obtained for a version of the library must be
+consistent with the full freedom of use specified in this license.
 
-  Most GNU software, including some libraries, is covered by the ordinary
-GNU General Public License, which was designed for utility programs.  This
-license, the GNU Library General Public License, applies to certain
-designated libraries.  This license is quite different from the ordinary
-one; be sure to read it in full, and don't assume that anything in it is
-the same as in the ordinary license.
+  Most GNU software, including some libraries, is covered by the
+ordinary GNU General Public License.  This license, the GNU Lesser
+General Public License, applies to certain designated libraries, and
+is quite different from the ordinary General Public License.  We use
+this license for certain libraries in order to permit linking those
+libraries into non-free programs.
 
-  The reason we have a separate public license for some libraries is that
-they blur the distinction we usually make between modifying or adding to a
-program and simply using it.  Linking a program with a library, without
-changing the library, is in some sense simply using the library, and is
-analogous to running a utility program or application program.  However, in
-a textual and legal sense, the linked executable is a combined work, a
-derivative of the original library, and the ordinary General Public License
-treats it as such.
+  When a program is linked with a library, whether statically or using
+a shared library, the combination of the two is legally speaking a
+combined work, a derivative of the original library.  The ordinary
+General Public License therefore permits such linking only if the
+entire combination fits its criteria of freedom.  The Lesser General
+Public License permits more lax criteria for linking other code with
+the library.
 
-  Because of this blurred distinction, using the ordinary General
-Public License for libraries did not effectively promote software
-sharing, because most developers did not use the libraries.  We
-concluded that weaker conditions might promote sharing better.
+  We call this license the "Lesser" General Public License because it
+does Less to protect the user's freedom than the ordinary General
+Public License.  It also provides other free software developers Less
+of an advantage over competing non-free programs.  These disadvantages
+are the reason we use the ordinary General Public License for many
+libraries.  However, the Lesser license provides advantages in certain
+special circumstances.
 
-  However, unrestricted linking of non-free programs would deprive the
-users of those programs of all benefit from the free status of the
-libraries themselves.  This Library General Public License is intended to
-permit developers of non-free programs to use free libraries, while
-preserving your freedom as a user of such programs to change the free
-libraries that are incorporated in them.  (We have not seen how to achieve
-this as regards changes in header files, but we have achieved it as regards
-changes in the actual functions of the Library.)  The hope is that this
-will lead to faster development of free libraries.
+  For example, on rare occasions, there may be a special need to
+encourage the widest possible use of a certain library, so that it becomes
+a de-facto standard.  To achieve this, non-free programs must be
+allowed to use the library.  A more frequent case is that a free
+library does the same job as widely used non-free libraries.  In this
+case, there is little to gain by limiting the free library to free
+software only, so we use the Lesser General Public License.
+
+  In other cases, permission to use a particular library in non-free
+programs enables a greater number of people to use a large body of
+free software.  For example, permission to use the GNU C Library in
+non-free programs enables many more people to use the whole GNU
+operating system, as well as its variant, the GNU/Linux operating
+system.
+
+  Although the Lesser General Public License is Less protective of the
+users' freedom, it does ensure that the user of a program that is
+linked with the Library has the freedom and the wherewithal to run
+that program using a modified version of the Library.
 
   The precise terms and conditions for copying, distribution and
 modification follow.  Pay close attention to the difference between a
 "work based on the library" and a "work that uses the library".  The
-former contains code derived from the library, while the latter only
-works together with the library.
-
-  Note that it is possible for a library to be covered by the ordinary
-General Public License rather than by this special one.
+former contains code derived from the library, whereas the latter must
+be combined with the library in order to run.
 
-                  GNU LIBRARY GENERAL PUBLIC LICENSE
+                  GNU LESSER GENERAL PUBLIC LICENSE
    TERMS AND CONDITIONS FOR COPYING, DISTRIBUTION AND MODIFICATION
 
-  0. This License Agreement applies to any software library which
-contains a notice placed by the copyright holder or other authorized
-party saying it may be distributed under the terms of this Library
-General Public License (also called "this License").  Each licensee is
-addressed as "you".
+  0. This License Agreement applies to any software library or other
+program which contains a notice placed by the copyright holder or
+other authorized party saying it may be distributed under the terms of
+this Lesser General Public License (also called "this License").
+Each licensee is addressed as "you".
 
   A "library" means a collection of software functions and/or data
 prepared so as to be conveniently linked with application programs
@@ -8166,7 +9562,7 @@
 on the Library (independent of the use of the Library in a tool for
 writing it).  Whether that is true depends on what the Library does
 and what the program that uses the Library does.
-  
+
   1. You may copy and distribute verbatim copies of the Library's
 complete source code as you receive it, in any medium, provided that
 you conspicuously and appropriately publish on each copy an
@@ -8288,7 +9684,7 @@
 Any executables containing that work also fall under Section 6,
 whether or not they are linked directly with the Library itself.
 
-  6. As an exception to the Sections above, you may also compile or
+  6. As an exception to the Sections above, you may also combine or
 link a "work that uses the Library" with the Library to produce a
 work containing portions of the Library, and distribute that work
 under terms of your choice, provided that the terms permit
@@ -8315,23 +9711,31 @@
     Library will not necessarily be able to recompile the application
     to use the modified definitions.)
 
-    b) Accompany the work with a written offer, valid for at
+    b) Use a suitable shared library mechanism for linking with the
+    Library.  A suitable mechanism is one that (1) uses at run time a
+    copy of the library already present on the user's computer system,
+    rather than copying library functions into the executable, and (2)
+    will operate properly with a modified version of the library, if
+    the user installs one, as long as the modified version is
+    interface-compatible with the version that the work was made with.
+
+    c) Accompany the work with a written offer, valid for at
     least three years, to give the same user the materials
     specified in Subsection 6a, above, for a charge no more
     than the cost of performing this distribution.
 
-    c) If distribution of the work is made by offering access to copy
+    d) If distribution of the work is made by offering access to copy
     from a designated place, offer equivalent access to copy the above
     specified materials from the same place.
 
-    d) Verify that the user has already received a copy of these
+    e) Verify that the user has already received a copy of these
     materials or that you have already sent this user a copy.
 
   For an executable, the required form of the "work that uses the
 Library" must include any data and utility programs needed for
 reproducing the executable from it.  However, as a special exception,
-the source code distributed need not include anything that is normally
-distributed (in either source or binary form) with the major
+the materials to be distributed need not include anything that is
+normally distributed (in either source or binary form) with the major
 components (compiler, kernel, and so on) of the operating system on
 which the executable runs, unless that component itself accompanies
 the executable.
@@ -8380,7 +9784,7 @@
 original licensor to copy, distribute, link with or modify the Library
 subject to these terms and conditions.  You may not impose any further
 restrictions on the recipients' exercise of the rights granted herein.
-You are not responsible for enforcing compliance by third parties to
+You are not responsible for enforcing compliance by third parties with
 this License.
 
   11. If, as a consequence of a court judgment or allegation of patent
@@ -8423,7 +9827,7 @@
 written in the body of this License.
 
   13. The Free Software Foundation may publish revised and/or new
-versions of the Library General Public License from time to time.
+versions of the Lesser General Public License from time to time.
 Such new versions will be similar in spirit to the present version,
 but may differ in detail to address new problems or concerns.
 
@@ -8459,1140 +9863,2065 @@
   16. IN NO EVENT UNLESS REQUIRED BY APPLICABLE LAW OR AGREED TO IN
 WRITING WILL ANY COPYRIGHT HOLDER, OR ANY OTHER PARTY WHO MAY MODIFY
 AND/OR REDISTRIBUTE THE LIBRARY AS PERMITTED ABOVE, BE LIABLE TO YOU
-FOR DAMAGES, INCLUDING ANY GENERAL, SPECIAL, INCIDENTAL OR
-CONSEQUENTIAL DAMAGES ARISING OUT OF THE USE OR INABILITY TO USE THE
-LIBRARY (INCLUDING BUT NOT LIMITED TO LOSS OF DATA OR DATA BEING
-RENDERED INACCURATE OR LOSSES SUSTAINED BY YOU OR THIRD PARTIES OR A
-FAILURE OF THE LIBRARY TO OPERATE WITH ANY OTHER SOFTWARE), EVEN IF
-SUCH HOLDER OR OTHER PARTY HAS BEEN ADVISED OF THE POSSIBILITY OF SUCH
-DAMAGES.
-
-                     END OF TERMS AND CONDITIONS
-
-                  GNU LESSER GENERAL PUBLIC LICENSE
-                       Version 2.1, February 1999
-
- Copyright (C) 1991, 1999 Free Software Foundation, Inc.
- 51 Franklin Street, Fifth Floor, Boston, MA  02110-1301  USA
- Everyone is permitted to copy and distribute verbatim copies
- of this license document, but changing it is not allowed.
-
-[This is the first released version of the Lesser GPL.  It also counts
- as the successor of the GNU Library Public License, version 2, hence
- the version number 2.1.]
-
-                            Preamble
-
-  The licenses for most software are designed to take away your
-freedom to share and change it.  By contrast, the GNU General Public
-Licenses are intended to guarantee your freedom to share and change
-free software--to make sure the software is free for all its users.
-
-  This license, the Lesser General Public License, applies to some
-specially designated software packages--typically libraries--of the
-Free Software Foundation and other authors who decide to use it.  You
-can use it too, but we suggest you first think carefully about whether
-this license or the ordinary General Public License is the better
-strategy to use in any particular case, based on the explanations below.
-
-  When we speak of free software, we are referring to freedom of use,
-not price.  Our General Public Licenses are designed to make sure that
-you have the freedom to distribute copies of free software (and charge
-for this service if you wish); that you receive source code or can get
-it if you want it; that you can change the software and use pieces of
-it in new free programs; and that you are informed that you can do
-these things.
+FOR DAMAGES, INCLUDING ANY GENERAL, SPECIAL, INCIDENTAL OR
+CONSEQUENTIAL DAMAGES ARISING OUT OF THE USE OR INABILITY TO USE THE
+LIBRARY (INCLUDING BUT NOT LIMITED TO LOSS OF DATA OR DATA BEING
+RENDERED INACCURATE OR LOSSES SUSTAINED BY YOU OR THIRD PARTIES OR A
+FAILURE OF THE LIBRARY TO OPERATE WITH ANY OTHER SOFTWARE), EVEN IF
+SUCH HOLDER OR OTHER PARTY HAS BEEN ADVISED OF THE POSSIBILITY OF SUCH
+DAMAGES.
 
-  To protect your rights, we need to make restrictions that forbid
-distributors to deny you these rights or to ask you to surrender these
-rights.  These restrictions translate to certain responsibilities for
-you if you distribute copies of the library or if you modify it.
+                     END OF TERMS AND CONDITIONS
+
+
+
- For example, if you distribute copies of the library, whether gratis -or for a fee, you must give the recipients all the rights that we gave -you. You must make sure that they, too, receive or can get the source -code. If you link other code with the library, you must provide -complete object files to the recipients, so that they can relink them -with the library after making changes to the library and recompiling -it. And you must show them these terms so they know their rights. +
+WebM container parser and writer. +show license +homepage +
+
Copyright (c) 2010, Google Inc. All rights reserved.
 
-  We protect your rights with a two-step method: (1) we copyright the
-library, and (2) we offer you this license, which gives you legal
-permission to copy, distribute and/or modify the library.
+Redistribution and use in source and binary forms, with or without
+modification, are permitted provided that the following conditions are
+met:
 
-  To protect each distributor, we want to make it very clear that
-there is no warranty for the free library.  Also, if the library is
-modified by someone else and passed on, the recipients should know
-that what they have is not the original version, so that the original
-author's reputation will not be affected by problems that might be
-introduced by others.
-
-  Finally, software patents pose a constant threat to the existence of
-any free program.  We wish to make sure that a company cannot
-effectively restrict the users of a free program by obtaining a
-restrictive license from a patent holder.  Therefore, we insist that
-any patent license obtained for a version of the library must be
-consistent with the full freedom of use specified in this license.
+  * Redistributions of source code must retain the above copyright
+    notice, this list of conditions and the following disclaimer.
 
-  Most GNU software, including some libraries, is covered by the
-ordinary GNU General Public License.  This license, the GNU Lesser
-General Public License, applies to certain designated libraries, and
-is quite different from the ordinary General Public License.  We use
-this license for certain libraries in order to permit linking those
-libraries into non-free programs.
+  * Redistributions in binary form must reproduce the above copyright
+    notice, this list of conditions and the following disclaimer in
+    the documentation and/or other materials provided with the
+    distribution.
 
-  When a program is linked with a library, whether statically or using
-a shared library, the combination of the two is legally speaking a
-combined work, a derivative of the original library.  The ordinary
-General Public License therefore permits such linking only if the
-entire combination fits its criteria of freedom.  The Lesser General
-Public License permits more lax criteria for linking other code with
-the library.
+  * Neither the name of Google nor the names of its contributors may
+    be used to endorse or promote products derived from this software
+    without specific prior written permission.
 
-  We call this license the "Lesser" General Public License because it
-does Less to protect the user's freedom than the ordinary General
-Public License.  It also provides other free software developers Less
-of an advantage over competing non-free programs.  These disadvantages
-are the reason we use the ordinary General Public License for many
-libraries.  However, the Lesser license provides advantages in certain
-special circumstances.
+THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
+"AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
+LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
+A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
+HOLDER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
+SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
+LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
+DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
+THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
+(INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
+OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
 
-  For example, on rare occasions, there may be a special need to
-encourage the widest possible use of a certain library, so that it becomes
-a de-facto standard.  To achieve this, non-free programs must be
-allowed to use the library.  A more frequent case is that a free
-library does the same job as widely used non-free libraries.  In this
-case, there is little to gain by limiting the free library to free
-software only, so we use the Lesser General Public License.
+
+
+
- In other cases, permission to use a particular library in non-free -programs enables a greater number of people to use a large body of -free software. For example, permission to use the GNU C Library in -non-free programs enables many more people to use the whole GNU -operating system, as well as its variant, the GNU/Linux operating -system. +
+WebP image encoder/decoder +show license +homepage +
+
Copyright (c) 2010, Google Inc. All rights reserved.
 
-  Although the Lesser General Public License is Less protective of the
-users' freedom, it does ensure that the user of a program that is
-linked with the Library has the freedom and the wherewithal to run
-that program using a modified version of the Library.
+Redistribution and use in source and binary forms, with or without
+modification, are permitted provided that the following conditions are
+met:
 
-  The precise terms and conditions for copying, distribution and
-modification follow.  Pay close attention to the difference between a
-"work based on the library" and a "work that uses the library".  The
-former contains code derived from the library, whereas the latter must
-be combined with the library in order to run.
-
-                  GNU LESSER GENERAL PUBLIC LICENSE
-   TERMS AND CONDITIONS FOR COPYING, DISTRIBUTION AND MODIFICATION
+  * Redistributions of source code must retain the above copyright
+    notice, this list of conditions and the following disclaimer.
 
-  0. This License Agreement applies to any software library or other
-program which contains a notice placed by the copyright holder or
-other authorized party saying it may be distributed under the terms of
-this Lesser General Public License (also called "this License").
-Each licensee is addressed as "you".
+  * Redistributions in binary form must reproduce the above copyright
+    notice, this list of conditions and the following disclaimer in
+    the documentation and/or other materials provided with the
+    distribution.
 
-  A "library" means a collection of software functions and/or data
-prepared so as to be conveniently linked with application programs
-(which use some of those functions and data) to form executables.
+  * Neither the name of Google nor the names of its contributors may
+    be used to endorse or promote products derived from this software
+    without specific prior written permission.
 
-  The "Library", below, refers to any such software library or work
-which has been distributed under these terms.  A "work based on the
-Library" means either the Library or any derivative work under
-copyright law: that is to say, a work containing the Library or a
-portion of it, either verbatim or with modifications and/or translated
-straightforwardly into another language.  (Hereinafter, translation is
-included without limitation in the term "modification".)
+THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
+"AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
+LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
+A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
+HOLDER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
+SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
+LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
+DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
+THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
+(INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
+OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
 
-  "Source code" for a work means the preferred form of the work for
-making modifications to it.  For a library, complete source code means
-all the source code for all modules it contains, plus any associated
-interface definition files, plus the scripts used to control compilation
-and installation of the library.
+Additional IP Rights Grant (Patents)
+------------------------------------
 
-  Activities other than copying, distribution and modification are not
-covered by this License; they are outside its scope.  The act of
-running a program using the Library is not restricted, and output from
-such a program is covered only if its contents constitute a work based
-on the Library (independent of the use of the Library in a tool for
-writing it).  Whether that is true depends on what the Library does
-and what the program that uses the Library does.
+"These implementations" means the copyrightable works that implement the WebM
+codecs distributed by Google as part of the WebM Project.
 
-  1. You may copy and distribute verbatim copies of the Library's
-complete source code as you receive it, in any medium, provided that
-you conspicuously and appropriately publish on each copy an
-appropriate copyright notice and disclaimer of warranty; keep intact
-all the notices that refer to this License and to the absence of any
-warranty; and distribute a copy of this License along with the
-Library.
+Google hereby grants to you a perpetual, worldwide, non-exclusive, no-charge,
+royalty-free, irrevocable (except as stated in this section) patent license to
+make, have made, use, offer to sell, sell, import, transfer, and otherwise
+run, modify and propagate the contents of these implementations of WebM, where
+such license applies only to those patent claims, both currently owned by
+Google and acquired in the future, licensable by Google that are necessarily
+infringed by these implementations of WebM. This grant does not include claims
+that would be infringed only as a consequence of further modification of these
+implementations. If you or your agent or exclusive licensee institute or order
+or agree to the institution of patent litigation or any other patent
+enforcement activity against any entity (including a cross-claim or
+counterclaim in a lawsuit) alleging that any of these implementations of WebM
+or any code incorporated within any of these implementations of WebM
+constitutes direct or contributory patent infringement, or inducement of
+patent infringement, then any patent rights granted to you under this License
+for these implementations of WebM shall terminate as of the date such
+litigation is filed.
+
+
+
- You may charge a fee for the physical act of transferring a copy, -and you may at your option offer warranty protection in exchange for a -fee. - - 2. You may modify your copy or copies of the Library or any portion -of it, thus forming a work based on the Library, and copy and -distribute such modifications or work under the terms of Section 1 -above, provided that you also meet all of these conditions: +
+WebRTC +show license +homepage +
+
Copyright (c) 2011, The WebRTC project authors. All rights reserved.
 
-    a) The modified work must itself be a software library.
+Redistribution and use in source and binary forms, with or without
+modification, are permitted provided that the following conditions are
+met:
 
-    b) You must cause the files modified to carry prominent notices
-    stating that you changed the files and the date of any change.
+  * Redistributions of source code must retain the above copyright
+    notice, this list of conditions and the following disclaimer.
 
-    c) You must cause the whole of the work to be licensed at no
-    charge to all third parties under the terms of this License.
+  * Redistributions in binary form must reproduce the above copyright
+    notice, this list of conditions and the following disclaimer in
+    the documentation and/or other materials provided with the
+    distribution.
 
-    d) If a facility in the modified Library refers to a function or a
-    table of data to be supplied by an application program that uses
-    the facility, other than as an argument passed when the facility
-    is invoked, then you must make a good faith effort to ensure that,
-    in the event an application does not supply such function or
-    table, the facility still operates, and performs whatever part of
-    its purpose remains meaningful.
+  * Neither the name of Google nor the names of its contributors may
+    be used to endorse or promote products derived from this software
+    without specific prior written permission.
 
-    (For example, a function in a library to compute square roots has
-    a purpose that is entirely well-defined independent of the
-    application.  Therefore, Subsection 2d requires that any
-    application-supplied function or table used by this function must
-    be optional: if the application does not supply it, the square
-    root function must still compute square roots.)
+THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
+"AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
+LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
+A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
+HOLDER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
+SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
+LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
+DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
+THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
+(INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
+OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+
+
+
-These requirements apply to the modified work as a whole. If -identifiable sections of that work are not derived from the Library, -and can be reasonably considered independent and separate works in -themselves, then this License, and its terms, do not apply to those -sections when you distribute them as separate works. But when you -distribute the same sections as part of a whole which is a work based -on the Library, the distribution of the whole must be on the terms of -this License, whose permissions for other licensees extend to the -entire whole, and thus to each and every part regardless of who wrote -it. +
+WebRTC +show license +homepage +
+
Copyright (c) 2011, The WebRTC project authors. All rights reserved.
 
-Thus, it is not the intent of this section to claim rights or contest
-your rights to work written entirely by you; rather, the intent is to
-exercise the right to control the distribution of derivative or
-collective works based on the Library.
+Redistribution and use in source and binary forms, with or without
+modification, are permitted provided that the following conditions are
+met:
 
-In addition, mere aggregation of another work not based on the Library
-with the Library (or with a work based on the Library) on a volume of
-a storage or distribution medium does not bring the other work under
-the scope of this License.
+  * Redistributions of source code must retain the above copyright
+    notice, this list of conditions and the following disclaimer.
 
-  3. You may opt to apply the terms of the ordinary GNU General Public
-License instead of this License to a given copy of the Library.  To do
-this, you must alter all the notices that refer to this License, so
-that they refer to the ordinary GNU General Public License, version 2,
-instead of to this License.  (If a newer version than version 2 of the
-ordinary GNU General Public License has appeared, then you can specify
-that version instead if you wish.)  Do not make any other change in
-these notices.
-
-  Once this change is made in a given copy, it is irreversible for
-that copy, so the ordinary GNU General Public License applies to all
-subsequent copies and derivative works made from that copy.
+  * Redistributions in binary form must reproduce the above copyright
+    notice, this list of conditions and the following disclaimer in
+    the documentation and/or other materials provided with the
+    distribution.
 
-  This option is useful when you wish to copy part of the code of
-the Library into a program that is not a library.
+  * Neither the name of Google nor the names of its contributors may
+    be used to endorse or promote products derived from this software
+    without specific prior written permission.
 
-  4. You may copy and distribute the Library (or a portion or
-derivative of it, under Section 2) in object code or executable form
-under the terms of Sections 1 and 2 above provided that you accompany
-it with the complete corresponding machine-readable source code, which
-must be distributed under the terms of Sections 1 and 2 above on a
-medium customarily used for software interchange.
+THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
+"AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
+LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
+A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
+HOLDER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
+SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
+LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
+DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
+THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
+(INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
+OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+
+
+
- If distribution of object code is made by offering access to copy -from a designated place, then offering equivalent access to copy the -source code from the same place satisfies the requirement to -distribute the source code, even though third parties are not -compelled to copy the source along with the object code. +
+Webdriver +show license +homepage +
+
NAME: WebDriver
+URL: http://selenium.googlecode.com/svn/trunk/py
+LICENSE: Apache 2 
+
+
+
- 5. A program that contains no derivative of any portion of the -Library, but is designed to work with the Library by being compiled or -linked with it, is called a "work that uses the Library". Such a -work, in isolation, is not a derivative work of the Library, and -therefore falls outside the scope of this License. +
+Windows Template Library (WTL) +show license +homepage +
+
Microsoft Permissive License (Ms-PL)
+Published: October 12, 2006
 
-  However, linking a "work that uses the Library" with the Library
-creates an executable that is a derivative of the Library (because it
-contains portions of the Library), rather than a "work that uses the
-library".  The executable is therefore covered by this License.
-Section 6 states terms for distribution of such executables.
 
-  When a "work that uses the Library" uses material from a header file
-that is part of the Library, the object code for the work may be a
-derivative work of the Library even though the source code is not.
-Whether this is true is especially significant if the work can be
-linked without the Library, or if the work is itself a library.  The
-threshold for this to be true is not precisely defined by law.
+This license governs use of the accompanying software. If you use the software,
+you accept this license. If you do not accept the license, do not use the
+software.
 
-  If such an object file uses only numerical parameters, data
-structure layouts and accessors, and small macros and small inline
-functions (ten lines or less in length), then the use of the object
-file is unrestricted, regardless of whether it is legally a derivative
-work.  (Executables containing this object code plus portions of the
-Library will still fall under Section 6.)
 
-  Otherwise, if the work is a derivative of the Library, you may
-distribute the object code for the work under the terms of Section 6.
-Any executables containing that work also fall under Section 6,
-whether or not they are linked directly with the Library itself.
-
-  6. As an exception to the Sections above, you may also combine or
-link a "work that uses the Library" with the Library to produce a
-work containing portions of the Library, and distribute that work
-under terms of your choice, provided that the terms permit
-modification of the work for the customer's own use and reverse
-engineering for debugging such modifications.
+1. Definitions
 
-  You must give prominent notice with each copy of the work that the
-Library is used in it and that the Library and its use are covered by
-this License.  You must supply a copy of this License.  If the work
-during execution displays copyright notices, you must include the
-copyright notice for the Library among them, as well as a reference
-directing the user to the copy of this License.  Also, you must do one
-of these things:
+The terms "reproduce," "reproduction," "derivative works," and "distribution"
+have the same meaning here as under U.S. copyright law.
 
-    a) Accompany the work with the complete corresponding
-    machine-readable source code for the Library including whatever
-    changes were used in the work (which must be distributed under
-    Sections 1 and 2 above); and, if the work is an executable linked
-    with the Library, with the complete machine-readable "work that
-    uses the Library", as object code and/or source code, so that the
-    user can modify the Library and then relink to produce a modified
-    executable containing the modified Library.  (It is understood
-    that the user who changes the contents of definitions files in the
-    Library will not necessarily be able to recompile the application
-    to use the modified definitions.)
+A "contribution" is the original software, or any additions or changes to the
+software.
 
-    b) Use a suitable shared library mechanism for linking with the
-    Library.  A suitable mechanism is one that (1) uses at run time a
-    copy of the library already present on the user's computer system,
-    rather than copying library functions into the executable, and (2)
-    will operate properly with a modified version of the library, if
-    the user installs one, as long as the modified version is
-    interface-compatible with the version that the work was made with.
+A "contributor" is any person that distributes its contribution under this
+license.
 
-    c) Accompany the work with a written offer, valid for at
-    least three years, to give the same user the materials
-    specified in Subsection 6a, above, for a charge no more
-    than the cost of performing this distribution.
+"Licensed patents" are a contributor’s patent claims that read directly on its
+contribution.
 
-    d) If distribution of the work is made by offering access to copy
-    from a designated place, offer equivalent access to copy the above
-    specified materials from the same place.
 
-    e) Verify that the user has already received a copy of these
-    materials or that you have already sent this user a copy.
+2. Grant of Rights
 
-  For an executable, the required form of the "work that uses the
-Library" must include any data and utility programs needed for
-reproducing the executable from it.  However, as a special exception,
-the materials to be distributed need not include anything that is
-normally distributed (in either source or binary form) with the major
-components (compiler, kernel, and so on) of the operating system on
-which the executable runs, unless that component itself accompanies
-the executable.
+(A) Copyright Grant- Subject to the terms of this license, including the
+license conditions and limitations in section 3, each contributor grants you a
+non-exclusive, worldwide, royalty-free copyright license to reproduce its
+contribution, prepare derivative works of its contribution, and distribute its
+contribution or any derivative works that you create.
 
-  It may happen that this requirement contradicts the license
-restrictions of other proprietary libraries that do not normally
-accompany the operating system.  Such a contradiction means you cannot
-use both them and the Library together in an executable that you
-distribute.
-
-  7. You may place library facilities that are a work based on the
-Library side-by-side in a single library together with other library
-facilities not covered by this License, and distribute such a combined
-library, provided that the separate distribution of the work based on
-the Library and of the other library facilities is otherwise
-permitted, and provided that you do these two things:
+(B) Patent Grant- Subject to the terms of this license, including the license
+conditions and limitations in section 3, each contributor grants you a
+non-exclusive, worldwide, royalty-free license under its licensed patents to
+make, have made, use, sell, offer for sale, import, and/or otherwise dispose of
+its contribution in the software or derivative works of the contribution in the
+software.
 
-    a) Accompany the combined library with a copy of the same work
-    based on the Library, uncombined with any other library
-    facilities.  This must be distributed under the terms of the
-    Sections above.
 
-    b) Give prominent notice with the combined library of the fact
-    that part of it is a work based on the Library, and explaining
-    where to find the accompanying uncombined form of the same work.
+3. Conditions and Limitations
 
-  8. You may not copy, modify, sublicense, link with, or distribute
-the Library except as expressly provided under this License.  Any
-attempt otherwise to copy, modify, sublicense, link with, or
-distribute the Library is void, and will automatically terminate your
-rights under this License.  However, parties who have received copies,
-or rights, from you under this License will not have their licenses
-terminated so long as such parties remain in full compliance.
+(A) No Trademark License- This license does not grant you rights to use any
+contributors’ name, logo, or trademarks.
 
-  9. You are not required to accept this License, since you have not
-signed it.  However, nothing else grants you permission to modify or
-distribute the Library or its derivative works.  These actions are
-prohibited by law if you do not accept this License.  Therefore, by
-modifying or distributing the Library (or any work based on the
-Library), you indicate your acceptance of this License to do so, and
-all its terms and conditions for copying, distributing or modifying
-the Library or works based on it.
+(B) If you bring a patent claim against any contributor over patents that you
+claim are infringed by the software, your patent license from such contributor
+to the software ends automatically.
 
-  10. Each time you redistribute the Library (or any work based on the
-Library), the recipient automatically receives a license from the
-original licensor to copy, distribute, link with or modify the Library
-subject to these terms and conditions.  You may not impose any further
-restrictions on the recipients' exercise of the rights granted herein.
-You are not responsible for enforcing compliance by third parties with
-this License.
-
-  11. If, as a consequence of a court judgment or allegation of patent
-infringement or for any other reason (not limited to patent issues),
-conditions are imposed on you (whether by court order, agreement or
-otherwise) that contradict the conditions of this License, they do not
-excuse you from the conditions of this License.  If you cannot
-distribute so as to satisfy simultaneously your obligations under this
-License and any other pertinent obligations, then as a consequence you
-may not distribute the Library at all.  For example, if a patent
-license would not permit royalty-free redistribution of the Library by
-all those who receive copies directly or indirectly through you, then
-the only way you could satisfy both it and this License would be to
-refrain entirely from distribution of the Library.
+(C) If you distribute any portion of the software, you must retain all
+copyright, patent, trademark, and attribution notices that are present in the
+software.
+
+(D) If you distribute any portion of the software in source code form, you may
+do so only under this license by including a complete copy of this license with
+your distribution. If you distribute any portion of the software in compiled or
+object code form, you may only do so under a license that complies with this
+license.
 
-If any portion of this section is held invalid or unenforceable under any
-particular circumstance, the balance of the section is intended to apply,
-and the section as a whole is intended to apply in other circumstances.
+(E) The software is licensed "as-is." You bear the risk of using it. The
+contributors give no express warranties, guarantees or conditions. You may have
+additional consumer rights under your local laws which this license cannot
+change. To the extent permitted under your local laws, the contributors exclude
+the implied warranties of merchantability, fitness for a particular purpose and
+non-infringement.
+
+
+
-It is not the purpose of this section to induce you to infringe any -patents or other property right claims or to contest validity of any -such claims; this section has the sole purpose of protecting the -integrity of the free software distribution system which is -implemented by public license practices. Many people have made -generous contributions to the wide range of software distributed -through that system in reliance on consistent application of that -system; it is up to the author/donor to decide if he or she is willing -to distribute software through any other system and a licensee cannot -impose that choice. +
+XZ Utils +show license +homepage +
+
See http://src.chromium.org/viewvc/chrome/trunk/deps/third_party/xz/COPYING
+
+
+
-This section is intended to make thoroughly clear what is believed to -be a consequence of the rest of this License. +
+altgraph +show license +homepage +
+
License
+=======
 
-  12. If the distribution and/or use of the Library is restricted in
-certain countries either by patents or by copyrighted interfaces, the
-original copyright holder who places the Library under this License may add
-an explicit geographical distribution limitation excluding those countries,
-so that distribution is permitted only in or among countries not thus
-excluded.  In such case, this License incorporates the limitation as if
-written in the body of this License.
+Copyright (c) 2004 Istvan Albert unless otherwise noted.
 
-  13. The Free Software Foundation may publish revised and/or new
-versions of the Lesser General Public License from time to time.
-Such new versions will be similar in spirit to the present version,
-but may differ in detail to address new problems or concerns.
+Parts are copyright (c) Bob Ippolito
 
-Each version is given a distinguishing version number.  If the Library
-specifies a version number of this License which applies to it and
-"any later version", you have the option of following the terms and
-conditions either of that version or of any later version published by
-the Free Software Foundation.  If the Library does not specify a
-license version number, you may choose any version ever published by
-the Free Software Foundation.
-
-  14. If you wish to incorporate parts of the Library into other free
-programs whose distribution conditions are incompatible with these,
-write to the author to ask for permission.  For software which is
-copyrighted by the Free Software Foundation, write to the Free
-Software Foundation; we sometimes make exceptions for this.  Our
-decision will be guided by the two goals of preserving the free status
-of all derivatives of our free software and of promoting the sharing
-and reuse of software generally.
+Parts are copyright (c) 2010-2014 Ronald Oussoren
 
-                            NO WARRANTY
+MIT License
+...........
 
-  15. BECAUSE THE LIBRARY IS LICENSED FREE OF CHARGE, THERE IS NO
-WARRANTY FOR THE LIBRARY, TO THE EXTENT PERMITTED BY APPLICABLE LAW.
-EXCEPT WHEN OTHERWISE STATED IN WRITING THE COPYRIGHT HOLDERS AND/OR
-OTHER PARTIES PROVIDE THE LIBRARY "AS IS" WITHOUT WARRANTY OF ANY
-KIND, EITHER EXPRESSED OR IMPLIED, INCLUDING, BUT NOT LIMITED TO, THE
-IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR
-PURPOSE.  THE ENTIRE RISK AS TO THE QUALITY AND PERFORMANCE OF THE
-LIBRARY IS WITH YOU.  SHOULD THE LIBRARY PROVE DEFECTIVE, YOU ASSUME
-THE COST OF ALL NECESSARY SERVICING, REPAIR OR CORRECTION.
+Permission is hereby granted, free of charge, to any person obtaining a copy of this software
+and associated documentation files (the "Software"), to deal in the Software without restriction,
+including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense,
+and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do
+so.
 
-  16. IN NO EVENT UNLESS REQUIRED BY APPLICABLE LAW OR AGREED TO IN
-WRITING WILL ANY COPYRIGHT HOLDER, OR ANY OTHER PARTY WHO MAY MODIFY
-AND/OR REDISTRIBUTE THE LIBRARY AS PERMITTED ABOVE, BE LIABLE TO YOU
-FOR DAMAGES, INCLUDING ANY GENERAL, SPECIAL, INCIDENTAL OR
-CONSEQUENTIAL DAMAGES ARISING OUT OF THE USE OR INABILITY TO USE THE
-LIBRARY (INCLUDING BUT NOT LIMITED TO LOSS OF DATA OR DATA BEING
-RENDERED INACCURATE OR LOSSES SUSTAINED BY YOU OR THIRD PARTIES OR A
-FAILURE OF THE LIBRARY TO OPERATE WITH ANY OTHER SOFTWARE), EVEN IF
-SUCH HOLDER OR OTHER PARTY HAS BEEN ADVISED OF THE POSSIBILITY OF SUCH
-DAMAGES.
+THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED,
+INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR
+PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE
+FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE,
+ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
+THE SOFTWARE.
 
-                     END OF TERMS AND CONDITIONS
 
-WebM container parser and writer. +blink HTMLTokenizer show license -homepage +homepage
-
Copyright (c) 2010, Google Inc. All rights reserved.
+
Copyright (C) 2008 Apple Inc. All Rights Reserved.
+Copyright (C) 2009 Torch Mobile, Inc. http://www.torchmobile.com/
+Copyright (C) 2010 Google, Inc. All Rights Reserved.
 
 Redistribution and use in source and binary forms, with or without
-modification, are permitted provided that the following conditions are
-met:
+modification, are permitted provided that the following conditions
+are met:
+1. Redistributions of source code must retain the above copyright
+   notice, this list of conditions and the following disclaimer.
+2. Redistributions in binary form must reproduce the above copyright
+   notice, this list of conditions and the following disclaimer in the
+   documentation and/or other materials provided with the distribution.
+ *
+THIS SOFTWARE IS PROVIDED BY APPLE INC. ``AS IS'' AND ANY
+EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
+IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR
+PURPOSE ARE DISCLAIMED.  IN NO EVENT SHALL APPLE INC. OR
+CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL,
+EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO,
+PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR
+PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY
+OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
+(INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
+OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+
+
+
- * Redistributions of source code must retain the above copyright - notice, this list of conditions and the following disclaimer. +
+boringssl +show license +homepage +
+
+  LICENSE ISSUES
+  ==============
 
-  * Redistributions in binary form must reproduce the above copyright
-    notice, this list of conditions and the following disclaimer in
-    the documentation and/or other materials provided with the
-    distribution.
+  The OpenSSL toolkit stays under a dual license, i.e. both the conditions of
+  the OpenSSL License and the original SSLeay license apply to the toolkit.
+  See below for the actual license texts. Actually both licenses are BSD-style
+  Open Source licenses. In case of any license issues related to OpenSSL
+  please contact openssl-core@openssl.org.
 
-  * Neither the name of Google nor the names of its contributors may
-    be used to endorse or promote products derived from this software
-    without specific prior written permission.
+  OpenSSL License
+  ---------------
 
-THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
-"AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
-LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
-A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
-HOLDER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
-SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
-LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
-DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
-THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
-(INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
-OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+/* ====================================================================
+ * Copyright (c) 1998-2011 The OpenSSL Project.  All rights reserved.
+ *
+ * Redistribution and use in source and binary forms, with or without
+ * modification, are permitted provided that the following conditions
+ * are met:
+ *
+ * 1. Redistributions of source code must retain the above copyright
+ *    notice, this list of conditions and the following disclaimer. 
+ *
+ * 2. Redistributions in binary form must reproduce the above copyright
+ *    notice, this list of conditions and the following disclaimer in
+ *    the documentation and/or other materials provided with the
+ *    distribution.
+ *
+ * 3. All advertising materials mentioning features or use of this
+ *    software must display the following acknowledgment:
+ *    "This product includes software developed by the OpenSSL Project
+ *    for use in the OpenSSL Toolkit. (http://www.openssl.org/)"
+ *
+ * 4. The names "OpenSSL Toolkit" and "OpenSSL Project" must not be used to
+ *    endorse or promote products derived from this software without
+ *    prior written permission. For written permission, please contact
+ *    openssl-core@openssl.org.
+ *
+ * 5. Products derived from this software may not be called "OpenSSL"
+ *    nor may "OpenSSL" appear in their names without prior written
+ *    permission of the OpenSSL Project.
+ *
+ * 6. Redistributions of any form whatsoever must retain the following
+ *    acknowledgment:
+ *    "This product includes software developed by the OpenSSL Project
+ *    for use in the OpenSSL Toolkit (http://www.openssl.org/)"
+ *
+ * THIS SOFTWARE IS PROVIDED BY THE OpenSSL PROJECT ``AS IS'' AND ANY
+ * EXPRESSED OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
+ * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR
+ * PURPOSE ARE DISCLAIMED.  IN NO EVENT SHALL THE OpenSSL PROJECT OR
+ * ITS CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
+ * SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT
+ * NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES;
+ * LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
+ * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT,
+ * STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
+ * ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED
+ * OF THE POSSIBILITY OF SUCH DAMAGE.
+ * ====================================================================
+ *
+ * This product includes cryptographic software written by Eric Young
+ * (eay@cryptsoft.com).  This product includes software written by Tim
+ * Hudson (tjh@cryptsoft.com).
+ *
+ */
+
+ Original SSLeay License
+ -----------------------
+
+/* Copyright (C) 1995-1998 Eric Young (eay@cryptsoft.com)
+ * All rights reserved.
+ *
+ * This package is an SSL implementation written
+ * by Eric Young (eay@cryptsoft.com).
+ * The implementation was written so as to conform with Netscapes SSL.
+ * 
+ * This library is free for commercial and non-commercial use as long as
+ * the following conditions are aheared to.  The following conditions
+ * apply to all code found in this distribution, be it the RC4, RSA,
+ * lhash, DES, etc., code; not just the SSL code.  The SSL documentation
+ * included with this distribution is covered by the same copyright terms
+ * except that the holder is Tim Hudson (tjh@cryptsoft.com).
+ * 
+ * Copyright remains Eric Young's, and as such any Copyright notices in
+ * the code are not to be removed.
+ * If this package is used in a product, Eric Young should be given attribution
+ * as the author of the parts of the library used.
+ * This can be in the form of a textual message at program startup or
+ * in documentation (online or textual) provided with the package.
+ * 
+ * Redistribution and use in source and binary forms, with or without
+ * modification, are permitted provided that the following conditions
+ * are met:
+ * 1. Redistributions of source code must retain the copyright
+ *    notice, this list of conditions and the following disclaimer.
+ * 2. Redistributions in binary form must reproduce the above copyright
+ *    notice, this list of conditions and the following disclaimer in the
+ *    documentation and/or other materials provided with the distribution.
+ * 3. All advertising materials mentioning features or use of this software
+ *    must display the following acknowledgement:
+ *    "This product includes cryptographic software written by
+ *     Eric Young (eay@cryptsoft.com)"
+ *    The word 'cryptographic' can be left out if the rouines from the library
+ *    being used are not cryptographic related :-).
+ * 4. If you include any Windows specific code (or a derivative thereof) from 
+ *    the apps directory (application code) you must include an acknowledgement:
+ *    "This product includes software written by Tim Hudson (tjh@cryptsoft.com)"
+ * 
+ * THIS SOFTWARE IS PROVIDED BY ERIC YOUNG ``AS IS'' AND
+ * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
+ * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
+ * ARE DISCLAIMED.  IN NO EVENT SHALL THE AUTHOR OR CONTRIBUTORS BE LIABLE
+ * FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
+ * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS
+ * OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
+ * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
+ * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY
+ * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
+ * SUCH DAMAGE.
+ * 
+ * The licence and distribution terms for any publically available version or
+ * derivative of this code cannot be changed.  i.e. this code cannot simply be
+ * copied and put under another distribution licence
+ * [including the GNU Public Licence.]
+ */
 
 
-WebP image encoder/decoder +bspatch show license -homepage +homepage
-
Copyright (c) 2010, Google Inc. All rights reserved.
+
BSD Protection License
+February 2002
 
-Redistribution and use in source and binary forms, with or without
-modification, are permitted provided that the following conditions are
-met:
+Preamble
+--------
 
-  * Redistributions of source code must retain the above copyright
-    notice, this list of conditions and the following disclaimer.
+The Berkeley Software Distribution ("BSD") license has proven very effective
+over the years at allowing for a wide spread of work throughout both
+commercial and non-commercial products.  For programmers whose primary
+intention is to improve the general quality of available software, it is
+arguable that there is no better license than the BSD license, as it
+permits improvements to be used wherever they will help, without idealogical
+or metallic constraint.
 
-  * Redistributions in binary form must reproduce the above copyright
-    notice, this list of conditions and the following disclaimer in
-    the documentation and/or other materials provided with the
-    distribution.
+This is of particular value to those who produce reference implementations
+of proposed standards: The case of TCP/IP clearly illustrates that freely
+and universally available implementations leads the rapid acceptance of
+standards -- often even being used instead of a de jure standard (eg, OSI
+network models).
 
-  * Neither the name of Google nor the names of its contributors may
-    be used to endorse or promote products derived from this software
-    without specific prior written permission.
+With the rapid proliferation of software licensed under the GNU General
+Public License, however, the continued success of this role is called into
+question.  Given that the inclusion of a few lines of "GPL-tainted" work
+into a larger body of work will result in restricted distribution -- and
+given that further work will likely build upon the "tainted" portions,
+making them difficult to remove at a future date -- there are inevitable
+circumstances where authors would, in order to protect their goal of
+providing for the widespread usage of their work, wish to guard against
+such "GPL-taint".
 
-THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
-"AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
-LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
-A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
-HOLDER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
-SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
-LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
-DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
-THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
-(INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
-OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+In addition, one can imagine that companies which operate by producing and
+selling (possibly closed-source) code would wish to protect themselves
+against the rise of a GPL-licensed competitor.  While under existing
+licenses this would mean not releasing their code under any form of open
+license, if a license existed under which they could incorporate any
+improvements back into their own (commercial) products then they might be
+far more willing to provide for non-closed distribution.
 
-Additional IP Rights Grant (Patents)
-------------------------------------
+For the above reasons, we put forth this "BSD Protection License": A
+license designed to retain the freedom granted by the BSD license to use
+licensed works in a wide variety of settings, both non-commercial and
+commercial, while protecting the work from having future contributors
+restrict that freedom.
 
-"These implementations" means the copyrightable works that implement the WebM
-codecs distributed by Google as part of the WebM Project.
+The precise terms and conditions for copying, distribution, and
+modification follow.
 
-Google hereby grants to you a perpetual, worldwide, non-exclusive, no-charge,
-royalty-free, irrevocable (except as stated in this section) patent license to
-make, have made, use, offer to sell, sell, import, transfer, and otherwise
-run, modify and propagate the contents of these implementations of WebM, where
-such license applies only to those patent claims, both currently owned by
-Google and acquired in the future, licensable by Google that are necessarily
-infringed by these implementations of WebM. This grant does not include claims
-that would be infringed only as a consequence of further modification of these
-implementations. If you or your agent or exclusive licensee institute or order
-or agree to the institution of patent litigation or any other patent
-enforcement activity against any entity (including a cross-claim or
-counterclaim in a lawsuit) alleging that any of these implementations of WebM
-or any code incorporated within any of these implementations of WebM
-constitute direct or contributory patent infringement, or inducement of
-patent infringement, then any patent rights granted to you under this License
-for these implementations of WebM shall terminate as of the date such
-litigation is filed.
+BSD PROTECTION LICENSE
+TERMS AND CONDITIONS FOR COPYING, DISTRIBUTION, AND MODIFICATION
+----------------------------------------------------------------
+
+0. Definitions.
+   a) "Program", below, refers to any program or work distributed under
+      the terms of this license.
+   b) A "work based on the Program", below, refers to either the Program
+      or any derivative work under copyright law.
+   c) "Modification", below, refers to the act of creating derivative works.
+   d) "You", below, refers to each licensee.
+
+1. Scope.
+   This license governs the copying, distribution, and modification of the
+   Program.  Other activities are outside the scope of this license; The
+   act of running the Program is not restricted, and the output from the
+   Program is covered only if its contents constitute a work based on the
+   Program.
+
+2. Verbatim copies.
+   You may copy and distribute verbatim copies of the Program as you
+   receive it, in any medium, provided that you conspicuously and
+   appropriately publish on each copy an appropriate copyright notice; keep
+   intact all the notices that refer to this License and to the absence of
+   any warranty; and give any other recipients of the Program a copy of this
+   License along with the Program.
+
+3. Modification and redistribution under closed license.
+   You may modify your copy or copies of the Program, and distribute
+   the resulting derivative works, provided that you meet the
+   following conditions:
+   a) The copyright notice and disclaimer on the Program must be reproduced
+      and included in the source code, documentation, and/or other materials
+      provided in a manner in which such notices are normally distributed.
+   b) The derivative work must be clearly identified as such, in order that
+      it may not be confused with the original work.
+   c) The license under which the derivative work is distributed must
+      expressly prohibit the distribution of further derivative works.
+
+4. Modification and redistribution under open license.
+   You may modify your copy or copies of the Program, and distribute
+   the resulting derivative works, provided that you meet the
+   following conditions:
+   a) The copyright notice and disclaimer on the Program must be reproduced
+      and included in the source code, documentation, and/or other materials
+      provided in a manner in which such notices are normally distributed.
+   b) You must clearly indicate the nature and date of any changes made
+      to the Program.  The full details need not necessarily be included in
+      the individual modified files, provided that each modified file is
+      clearly marked as such and instructions are included on where the
+      full details of the modifications may be found.
+   c) You must cause any work that you distribute or publish, that in whole
+      or in part contains or is derived from the Program or any part
+      thereof, to be licensed as a whole at no charge to all third
+      parties under the terms of this License.
+
+5. Implied acceptance.
+   You may not copy or distribute the Program or any derivative works except
+   as expressly provided under this license.  Consequently, any such action
+   will be taken as implied acceptance of the terms of this license.
+
+6. NO WARRANTY.
+   THIS SOFTWARE IS PROVIDED "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES,
+   INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY
+   AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED.  IN NO EVENT SHALL
+   THE COPYRIGHT HOLDER, OR ANY OTHER PARTY WHO MAY MODIFY AND/OR
+   REDISTRIBUTE THE PROGRAM AS PERMITTED ABOVE, BE LIABLE FOR ANY DIRECT,
+   INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES
+   ARISING OUT OF THE USE OR INABILITY TO USE THE PROGRAM (INCLUDING, BUT
+   NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF
+   USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND
+   ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR
+   TORT, EVEN IF SUCH HOLDER OR OTHER PARTY HAS BEEN ADVISED OF THE
+   POSSIBILITY OF SUCH DAMAGES.
 
-WebRTC +chromite show license -homepage +homepage
-
Copyright (c) 2011, The WebRTC project authors. All rights reserved.
-
-Redistribution and use in source and binary forms, with or without
-modification, are permitted provided that the following conditions are
-met:
-
-  * Redistributions of source code must retain the above copyright
-    notice, this list of conditions and the following disclaimer.
-
-  * Redistributions in binary form must reproduce the above copyright
-    notice, this list of conditions and the following disclaimer in
-    the documentation and/or other materials provided with the
-    distribution.
-
-  * Neither the name of Google nor the names of its contributors may
-    be used to endorse or promote products derived from this software
-    without specific prior written permission.
+
// Copyright (c) 2006-2009 The Chromium OS Authors. All rights reserved.
+//
+// Redistribution and use in source and binary forms, with or without
+// modification, are permitted provided that the following conditions are
+// met:
+//
+//    * Redistributions of source code must retain the above copyright
+// notice, this list of conditions and the following disclaimer.
+//    * Redistributions in binary form must reproduce the above
+// copyright notice, this list of conditions and the following disclaimer
+// in the documentation and/or other materials provided with the
+// distribution.
+//    * Neither the name of Google Inc. nor the names of its
+// contributors may be used to endorse or promote products derived from
+// this software without specific prior written permission.
+//
+// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
+// "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
+// LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
+// A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
+// OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
+// SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
+// LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
+// DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
+// THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
+// (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
+// OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+
+
+
-THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS -"AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT -LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR -A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT -HOLDER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, -SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT -LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, -DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY -THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT -(INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE -OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. +
+chromite +show license +homepage +
+
// Copyright (c) 2006-2009 The Chromium OS Authors. All rights reserved.
+//
+// Redistribution and use in source and binary forms, with or without
+// modification, are permitted provided that the following conditions are
+// met:
+//
+//    * Redistributions of source code must retain the above copyright
+// notice, this list of conditions and the following disclaimer.
+//    * Redistributions in binary form must reproduce the above
+// copyright notice, this list of conditions and the following disclaimer
+// in the documentation and/or other materials provided with the
+// distribution.
+//    * Neither the name of Google Inc. nor the names of its
+// contributors may be used to endorse or promote products derived from
+// this software without specific prior written permission.
+//
+// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
+// "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
+// LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
+// A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
+// OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
+// SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
+// LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
+// DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
+// THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
+// (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
+// OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
 
-WebRTC +chromite show license -homepage +homepage
-
Copyright (c) 2011, The WebRTC project authors. All rights reserved.
+
+                                 Apache License
+                           Version 2.0, January 2004
+                        http://www.apache.org/licenses/
 
-Redistribution and use in source and binary forms, with or without
-modification, are permitted provided that the following conditions are
-met:
+   TERMS AND CONDITIONS FOR USE, REPRODUCTION, AND DISTRIBUTION
 
-  * Redistributions of source code must retain the above copyright
-    notice, this list of conditions and the following disclaimer.
+   1. Definitions.
 
-  * Redistributions in binary form must reproduce the above copyright
-    notice, this list of conditions and the following disclaimer in
-    the documentation and/or other materials provided with the
-    distribution.
+      "License" shall mean the terms and conditions for use, reproduction,
+      and distribution as defined by Sections 1 through 9 of this document.
 
-  * Neither the name of Google nor the names of its contributors may
-    be used to endorse or promote products derived from this software
-    without specific prior written permission.
+      "Licensor" shall mean the copyright owner or entity authorized by
+      the copyright owner that is granting the License.
 
-THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
-"AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
-LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
-A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
-HOLDER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
-SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
-LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
-DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
-THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
-(INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
-OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
-
-
-
+ "Legal Entity" shall mean the union of the acting entity and all + other entities that control, are controlled by, or are under common + control with that entity. For the purposes of this definition, + "control" means (i) the power, direct or indirect, to cause the + direction or management of such entity, whether by contract or + otherwise, or (ii) ownership of fifty percent (50%) or more of the + outstanding shares, or (iii) beneficial ownership of such entity. -
-Windows Template Library (WTL) -show license -homepage -
-
Microsoft Permissive License (Ms-PL)
-Published: October 12, 2006
+      "You" (or "Your") shall mean an individual or Legal Entity
+      exercising permissions granted by this License.
 
+      "Source" form shall mean the preferred form for making modifications,
+      including but not limited to software source code, documentation
+      source, and configuration files.
 
-This license governs use of the accompanying software. If you use the software,
-you accept this license. If you do not accept the license, do not use the
-software.
+      "Object" form shall mean any form resulting from mechanical
+      transformation or translation of a Source form, including but
+      not limited to compiled object code, generated documentation,
+      and conversions to other media types.
 
+      "Work" shall mean the work of authorship, whether in Source or
+      Object form, made available under the License, as indicated by a
+      copyright notice that is included in or attached to the work
+      (an example is provided in the Appendix below).
 
-1. Definitions
+      "Derivative Works" shall mean any work, whether in Source or Object
+      form, that is based on (or derived from) the Work and for which the
+      editorial revisions, annotations, elaborations, or other modifications
+      represent, as a whole, an original work of authorship. For the purposes
+      of this License, Derivative Works shall not include works that remain
+      separable from, or merely link (or bind by name) to the interfaces of,
+      the Work and Derivative Works thereof.
 
-The terms "reproduce," "reproduction," "derivative works," and "distribution"
-have the same meaning here as under U.S. copyright law.
+      "Contribution" shall mean any work of authorship, including
+      the original version of the Work and any modifications or additions
+      to that Work or Derivative Works thereof, that is intentionally
+      submitted to Licensor for inclusion in the Work by the copyright owner
+      or by an individual or Legal Entity authorized to submit on behalf of
+      the copyright owner. For the purposes of this definition, "submitted"
+      means any form of electronic, verbal, or written communication sent
+      to the Licensor or its representatives, including but not limited to
+      communication on electronic mailing lists, source code control systems,
+      and issue tracking systems that are managed by, or on behalf of, the
+      Licensor for the purpose of discussing and improving the Work, but
+      excluding communication that is conspicuously marked or otherwise
+      designated in writing by the copyright owner as "Not a Contribution."
 
-A "contribution" is the original software, or any additions or changes to the
-software.
+      "Contributor" shall mean Licensor and any individual or Legal Entity
+      on behalf of whom a Contribution has been received by Licensor and
+      subsequently incorporated within the Work.
 
-A "contributor" is any person that distributes its contribution under this
-license.
+   2. Grant of Copyright License. Subject to the terms and conditions of
+      this License, each Contributor hereby grants to You a perpetual,
+      worldwide, non-exclusive, no-charge, royalty-free, irrevocable
+      copyright license to reproduce, prepare Derivative Works of,
+      publicly display, publicly perform, sublicense, and distribute the
+      Work and such Derivative Works in Source or Object form.
 
-"Licensed patents" are a contributor’s patent claims that read directly on its
-contribution.
+   3. Grant of Patent License. Subject to the terms and conditions of
+      this License, each Contributor hereby grants to You a perpetual,
+      worldwide, non-exclusive, no-charge, royalty-free, irrevocable
+      (except as stated in this section) patent license to make, have made,
+      use, offer to sell, sell, import, and otherwise transfer the Work,
+      where such license applies only to those patent claims licensable
+      by such Contributor that are necessarily infringed by their
+      Contribution(s) alone or by combination of their Contribution(s)
+      with the Work to which such Contribution(s) was submitted. If You
+      institute patent litigation against any entity (including a
+      cross-claim or counterclaim in a lawsuit) alleging that the Work
+      or a Contribution incorporated within the Work constitutes direct
+      or contributory patent infringement, then any patent licenses
+      granted to You under this License for that Work shall terminate
+      as of the date such litigation is filed.
 
+   4. Redistribution. You may reproduce and distribute copies of the
+      Work or Derivative Works thereof in any medium, with or without
+      modifications, and in Source or Object form, provided that You
+      meet the following conditions:
 
-2. Grant of Rights
+      (a) You must give any other recipients of the Work or
+          Derivative Works a copy of this License; and
 
-(A) Copyright Grant- Subject to the terms of this license, including the
-license conditions and limitations in section 3, each contributor grants you a
-non-exclusive, worldwide, royalty-free copyright license to reproduce its
-contribution, prepare derivative works of its contribution, and distribute its
-contribution or any derivative works that you create.
+      (b) You must cause any modified files to carry prominent notices
+          stating that You changed the files; and
 
-(B) Patent Grant- Subject to the terms of this license, including the license
-conditions and limitations in section 3, each contributor grants you a
-non-exclusive, worldwide, royalty-free license under its licensed patents to
-make, have made, use, sell, offer for sale, import, and/or otherwise dispose of
-its contribution in the software or derivative works of the contribution in the
-software.
+      (c) You must retain, in the Source form of any Derivative Works
+          that You distribute, all copyright, patent, trademark, and
+          attribution notices from the Source form of the Work,
+          excluding those notices that do not pertain to any part of
+          the Derivative Works; and
+
+      (d) If the Work includes a "NOTICE" text file as part of its
+          distribution, then any Derivative Works that You distribute must
+          include a readable copy of the attribution notices contained
+          within such NOTICE file, excluding those notices that do not
+          pertain to any part of the Derivative Works, in at least one
+          of the following places: within a NOTICE text file distributed
+          as part of the Derivative Works; within the Source form or
+          documentation, if provided along with the Derivative Works; or,
+          within a display generated by the Derivative Works, if and
+          wherever such third-party notices normally appear. The contents
+          of the NOTICE file are for informational purposes only and
+          do not modify the License. You may add Your own attribution
+          notices within Derivative Works that You distribute, alongside
+          or as an addendum to the NOTICE text from the Work, provided
+          that such additional attribution notices cannot be construed
+          as modifying the License.
+
+      You may add Your own copyright statement to Your modifications and
+      may provide additional or different license terms and conditions
+      for use, reproduction, or distribution of Your modifications, or
+      for any such Derivative Works as a whole, provided Your use,
+      reproduction, and distribution of the Work otherwise complies with
+      the conditions stated in this License.
+
+   5. Submission of Contributions. Unless You explicitly state otherwise,
+      any Contribution intentionally submitted for inclusion in the Work
+      by You to the Licensor shall be under the terms and conditions of
+      this License, without any additional terms or conditions.
+      Notwithstanding the above, nothing herein shall supersede or modify
+      the terms of any separate license agreement you may have executed
+      with Licensor regarding such Contributions.
+
+   6. Trademarks. This License does not grant permission to use the trade
+      names, trademarks, service marks, or product names of the Licensor,
+      except as required for reasonable and customary use in describing the
+      origin of the Work and reproducing the content of the NOTICE file.
+
+   7. Disclaimer of Warranty. Unless required by applicable law or
+      agreed to in writing, Licensor provides the Work (and each
+      Contributor provides its Contributions) on an "AS IS" BASIS,
+      WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or
+      implied, including, without limitation, any warranties or conditions
+      of TITLE, NON-INFRINGEMENT, MERCHANTABILITY, or FITNESS FOR A
+      PARTICULAR PURPOSE. You are solely responsible for determining the
+      appropriateness of using or redistributing the Work and assume any
+      risks associated with Your exercise of permissions under this License.
+
+   8. Limitation of Liability. In no event and under no legal theory,
+      whether in tort (including negligence), contract, or otherwise,
+      unless required by applicable law (such as deliberate and grossly
+      negligent acts) or agreed to in writing, shall any Contributor be
+      liable to You for damages, including any direct, indirect, special,
+      incidental, or consequential damages of any character arising as a
+      result of this License or out of the use or inability to use the
+      Work (including but not limited to damages for loss of goodwill,
+      work stoppage, computer failure or malfunction, or any and all
+      other commercial damages or losses), even if such Contributor
+      has been advised of the possibility of such damages.
+
+   9. Accepting Warranty or Additional Liability. While redistributing
+      the Work or Derivative Works thereof, You may choose to offer,
+      and charge a fee for, acceptance of support, warranty, indemnity,
+      or other liability obligations and/or rights consistent with this
+      License. However, in accepting such obligations, You may act only
+      on Your own behalf and on Your sole responsibility, not on behalf
+      of any other Contributor, and only if You agree to indemnify,
+      defend, and hold each Contributor harmless for any liability
+      incurred by, or claims asserted against, such Contributor by reason
+      of your accepting any such warranty or additional liability.
+
+   END OF TERMS AND CONDITIONS
+
+   APPENDIX: How to apply the Apache License to your work.
+
+      To apply the Apache License to your work, attach the following
+      boilerplate notice, with the fields enclosed by brackets "[]"
+      replaced with your own identifying information. (Don't include
+      the brackets!)  The text should be enclosed in the appropriate
+      comment syntax for the file format. We also recommend that a
+      file or class name and description of purpose be included on the
+      same "printed page" as the copyright notice for easier
+      identification within third-party archives.
+
+   Copyright [yyyy] [name of copyright owner]
+
+   Licensed under the Apache License, Version 2.0 (the "License");
+   you may not use this file except in compliance with the License.
+   You may obtain a copy of the License at
+
+       http://www.apache.org/licenses/LICENSE-2.0
+
+   Unless required by applicable law or agreed to in writing, software
+   distributed under the License is distributed on an "AS IS" BASIS,
+   WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+   See the License for the specific language governing permissions and
+   limitations under the License.
+
+
+
+
+class-dump +show license +homepage +
+
(Copied from the README.)
 
-3. Conditions and Limitations
+--------------------------------------------------------------------------------
 
-(A) No Trademark License- This license does not grant you rights to use any
-contributors’ name, logo, or trademarks.
+This file is part of class-dump, a utility for examining the
+Objective-C segment of Mach-O files.
+Copyright (C) 1997-1998, 2000-2001, 2004-2013 Steve Nygard.
 
-(B) If you bring a patent claim against any contributor over patents that you
-claim are infringed by the software, your patent license from such contributor
-to the software ends automatically.
+This program is free software; you can redistribute it and/or modify
+it under the terms of the GNU General Public License as published by
+the Free Software Foundation; either version 2 of the License, or
+(at your option) any later version.
 
-(C) If you distribute any portion of the software, you must retain all
-copyright, patent, trademark, and attribution notices that are present in the
-software.
+This program is distributed in the hope that it will be useful,
+but WITHOUT ANY WARRANTY; without even the implied warranty of
+MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+GNU General Public License for more details.
 
-(D) If you distribute any portion of the software in source code form, you may
-do so only under this license by including a complete copy of this license with
-your distribution. If you distribute any portion of the software in compiled or
-object code form, you may only do so under a license that complies with this
-license.
+You should have received a copy of the GNU General Public License
+along with this program; if not, write to the Free Software
+Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
 
-(E) The software is licensed "as-is." You bear the risk of using it. The
-contributors give no express warranties, guarantees or conditions. You may have
-additional consumer rights under your local laws which this license cannot
-change. To the extent permitted under your local laws, the contributors exclude
-the implied warranties of merchantability, fitness for a particular purpose and
-non-infringement.
-
+Contact +------- + +You may contact the author by: + e-mail: nygard at gmail.com
-XZ Utils +codesighs show license -homepage +homepage
-
See http://src.chromium.org/viewvc/chrome/trunk/deps/third_party/xz/COPYING
+
                          MOZILLA PUBLIC LICENSE
+                                Version 1.1
+
+                              ---------------
+
+1. Definitions.
+
+     1.0.1. "Commercial Use" means distribution or otherwise making the
+     Covered Code available to a third party.
+
+     1.1. "Contributor" means each entity that creates or contributes to
+     the creation of Modifications.
+
+     1.2. "Contributor Version" means the combination of the Original
+     Code, prior Modifications used by a Contributor, and the Modifications
+     made by that particular Contributor.
+
+     1.3. "Covered Code" means the Original Code or Modifications or the
+     combination of the Original Code and Modifications, in each case
+     including portions thereof.
+
+     1.4. "Electronic Distribution Mechanism" means a mechanism generally
+     accepted in the software development community for the electronic
+     transfer of data.
+
+     1.5. "Executable" means Covered Code in any form other than Source
+     Code.
+
+     1.6. "Initial Developer" means the individual or entity identified
+     as the Initial Developer in the Source Code notice required by Exhibit
+     A.
+
+     1.7. "Larger Work" means a work which combines Covered Code or
+     portions thereof with code not governed by the terms of this License.
+
+     1.8. "License" means this document.
+
+     1.8.1. "Licensable" means having the right to grant, to the maximum
+     extent possible, whether at the time of the initial grant or
+     subsequently acquired, any and all of the rights conveyed herein.
+
+     1.9. "Modifications" means any addition to or deletion from the
+     substance or structure of either the Original Code or any previous
+     Modifications. When Covered Code is released as a series of files, a
+     Modification is:
+          A. Any addition to or deletion from the contents of a file
+          containing Original Code or previous Modifications.
+
+          B. Any new file that contains any part of the Original Code or
+          previous Modifications.
+
+     1.10. "Original Code" means Source Code of computer software code
+     which is described in the Source Code notice required by Exhibit A as
+     Original Code, and which, at the time of its release under this
+     License is not already Covered Code governed by this License.
+
+     1.10.1. "Patent Claims" means any patent claim(s), now owned or
+     hereafter acquired, including without limitation, method, process,
+     and apparatus claims, in any patent Licensable by grantor.
+
+     1.11. "Source Code" means the preferred form of the Covered Code for
+     making modifications to it, including all modules it contains, plus
+     any associated interface definition files, scripts used to control
+     compilation and installation of an Executable, or source code
+     differential comparisons against either the Original Code or another
+     well known, available Covered Code of the Contributor's choice. The
+     Source Code can be in a compressed or archival form, provided the
+     appropriate decompression or de-archiving software is widely available
+     for no charge.
+
+     1.12. "You" (or "Your") means an individual or a legal entity
+     exercising rights under, and complying with all of the terms of, this
+     License or a future version of this License issued under Section 6.1.
+     For legal entities, "You" includes any entity which controls, is
+     controlled by, or is under common control with You. For purposes of
+     this definition, "control" means (a) the power, direct or indirect,
+     to cause the direction or management of such entity, whether by
+     contract or otherwise, or (b) ownership of more than fifty percent
+     (50%) of the outstanding shares or beneficial ownership of such
+     entity.
+
+2. Source Code License.
+
+     2.1. The Initial Developer Grant.
+     The Initial Developer hereby grants You a world-wide, royalty-free,
+     non-exclusive license, subject to third party intellectual property
+     claims:
+          (a) under intellectual property rights (other than patent or
+          trademark) Licensable by Initial Developer to use, reproduce,
+          modify, display, perform, sublicense and distribute the Original
+          Code (or portions thereof) with or without Modifications, and/or
+          as part of a Larger Work; and
+
+          (b) under Patents Claims infringed by the making, using or
+          selling of Original Code, to make, have made, use, practice,
+          sell, and offer for sale, and/or otherwise dispose of the
+          Original Code (or portions thereof).
+
+          (c) the licenses granted in this Section 2.1(a) and (b) are
+          effective on the date Initial Developer first distributes
+          Original Code under the terms of this License.
+
+          (d) Notwithstanding Section 2.1(b) above, no patent license is
+          granted: 1) for code that You delete from the Original Code; 2)
+          separate from the Original Code; or 3) for infringements caused
+          by: i) the modification of the Original Code or ii) the
+          combination of the Original Code with other software or devices.
+
+     2.2. Contributor Grant.
+     Subject to third party intellectual property claims, each Contributor
+     hereby grants You a world-wide, royalty-free, non-exclusive license
+
+          (a) under intellectual property rights (other than patent or
+          trademark) Licensable by Contributor, to use, reproduce, modify,
+          display, perform, sublicense and distribute the Modifications
+          created by such Contributor (or portions thereof) either on an
+          unmodified basis, with other Modifications, as Covered Code
+          and/or as part of a Larger Work; and
+
+          (b) under Patent Claims infringed by the making, using, or
+          selling of Modifications made by that Contributor either alone
+          and/or in combination with its Contributor Version (or portions
+          of such combination), to make, use, sell, offer for sale, have
+          made, and/or otherwise dispose of: 1) Modifications made by that
+          Contributor (or portions thereof); and 2) the combination of
+          Modifications made by that Contributor with its Contributor
+          Version (or portions of such combination).
+
+          (c) the licenses granted in Sections 2.2(a) and 2.2(b) are
+          effective on the date Contributor first makes Commercial Use of
+          the Covered Code.
+
+          (d) Notwithstanding Section 2.2(b) above, no patent license is
+          granted: 1) for any code that Contributor has deleted from the
+          Contributor Version; 2) separate from the Contributor Version;
+          3) for infringements caused by: i) third party modifications of
+          Contributor Version or ii) the combination of Modifications made
+          by that Contributor with other software (except as part of the
+          Contributor Version) or other devices; or 4) under Patent Claims
+          infringed by Covered Code in the absence of Modifications made by
+          that Contributor.
+
+3. Distribution Obligations.
+
+     3.1. Application of License.
+     The Modifications which You create or to which You contribute are
+     governed by the terms of this License, including without limitation
+     Section 2.2. The Source Code version of Covered Code may be
+     distributed only under the terms of this License or a future version
+     of this License released under Section 6.1, and You must include a
+     copy of this License with every copy of the Source Code You
+     distribute. You may not offer or impose any terms on any Source Code
+     version that alters or restricts the applicable version of this
+     License or the recipients' rights hereunder. However, You may include
+     an additional document offering the additional rights described in
+     Section 3.5.
+
+     3.2. Availability of Source Code.
+     Any Modification which You create or to which You contribute must be
+     made available in Source Code form under the terms of this License
+     either on the same media as an Executable version or via an accepted
+     Electronic Distribution Mechanism to anyone to whom you made an
+     Executable version available; and if made available via Electronic
+     Distribution Mechanism, must remain available for at least twelve (12)
+     months after the date it initially became available, or at least six
+     (6) months after a subsequent version of that particular Modification
+     has been made available to such recipients. You are responsible for
+     ensuring that the Source Code version remains available even if the
+     Electronic Distribution Mechanism is maintained by a third party.
+
+     3.3. Description of Modifications.
+     You must cause all Covered Code to which You contribute to contain a
+     file documenting the changes You made to create that Covered Code and
+     the date of any change. You must include a prominent statement that
+     the Modification is derived, directly or indirectly, from Original
+     Code provided by the Initial Developer and including the name of the
+     Initial Developer in (a) the Source Code, and (b) in any notice in an
+     Executable version or related documentation in which You describe the
+     origin or ownership of the Covered Code.
+
+     3.4. Intellectual Property Matters
+          (a) Third Party Claims.
+          If Contributor has knowledge that a license under a third party's
+          intellectual property rights is required to exercise the rights
+          granted by such Contributor under Sections 2.1 or 2.2,
+          Contributor must include a text file with the Source Code
+          distribution titled "LEGAL" which describes the claim and the
+          party making the claim in sufficient detail that a recipient will
+          know whom to contact. If Contributor obtains such knowledge after
+          the Modification is made available as described in Section 3.2,
+          Contributor shall promptly modify the LEGAL file in all copies
+          Contributor makes available thereafter and shall take other steps
+          (such as notifying appropriate mailing lists or newsgroups)
+          reasonably calculated to inform those who received the Covered
+          Code that new knowledge has been obtained.
+
+          (b) Contributor APIs.
+          If Contributor's Modifications include an application programming
+          interface and Contributor has knowledge of patent licenses which
+          are reasonably necessary to implement that API, Contributor must
+          also include this information in the LEGAL file.
+
+          (c) Representations.
+          Contributor represents that, except as disclosed pursuant to
+          Section 3.4(a) above, Contributor believes that Contributor's
+          Modifications are Contributor's original creation(s) and/or
+          Contributor has sufficient rights to grant the rights conveyed by
+          this License.
+
+     3.5. Required Notices.
+     You must duplicate the notice in Exhibit A in each file of the Source
+     Code. If it is not possible to put such notice in a particular Source
+     Code file due to its structure, then You must include such notice in a
+     location (such as a relevant directory) where a user would be likely
+     to look for such a notice. If You created one or more Modification(s)
+     You may add your name as a Contributor to the notice described in
+     Exhibit A. You must also duplicate this License in any documentation
+     for the Source Code where You describe recipients' rights or ownership
+     rights relating to Covered Code. You may choose to offer, and to
+     charge a fee for, warranty, support, indemnity or liability
+     obligations to one or more recipients of Covered Code. However, You
+     may do so only on Your own behalf, and not on behalf of the Initial
+     Developer or any Contributor. You must make it absolutely clear than
+     any such warranty, support, indemnity or liability obligation is
+     offered by You alone, and You hereby agree to indemnify the Initial
+     Developer and every Contributor for any liability incurred by the
+     Initial Developer or such Contributor as a result of warranty,
+     support, indemnity or liability terms You offer.
+
+     3.6. Distribution of Executable Versions.
+     You may distribute Covered Code in Executable form only if the
+     requirements of Section 3.1-3.5 have been met for that Covered Code,
+     and if You include a notice stating that the Source Code version of
+     the Covered Code is available under the terms of this License,
+     including a description of how and where You have fulfilled the
+     obligations of Section 3.2. The notice must be conspicuously included
+     in any notice in an Executable version, related documentation or
+     collateral in which You describe recipients' rights relating to the
+     Covered Code. You may distribute the Executable version of Covered
+     Code or ownership rights under a license of Your choice, which may
+     contain terms different from this License, provided that You are in
+     compliance with the terms of this License and that the license for the
+     Executable version does not attempt to limit or alter the recipient's
+     rights in the Source Code version from the rights set forth in this
+     License. If You distribute the Executable version under a different
+     license You must make it absolutely clear that any terms which differ
+     from this License are offered by You alone, not by the Initial
+     Developer or any Contributor. You hereby agree to indemnify the
+     Initial Developer and every Contributor for any liability incurred by
+     the Initial Developer or such Contributor as a result of any such
+     terms You offer.
+
+     3.7. Larger Works.
+     You may create a Larger Work by combining Covered Code with other code
+     not governed by the terms of this License and distribute the Larger
+     Work as a single product. In such a case, You must make sure the
+     requirements of this License are fulfilled for the Covered Code.
+
+4. Inability to Comply Due to Statute or Regulation.
+
+     If it is impossible for You to comply with any of the terms of this
+     License with respect to some or all of the Covered Code due to
+     statute, judicial order, or regulation then You must: (a) comply with
+     the terms of this License to the maximum extent possible; and (b)
+     describe the limitations and the code they affect. Such description
+     must be included in the LEGAL file described in Section 3.4 and must
+     be included with all distributions of the Source Code. Except to the
+     extent prohibited by statute or regulation, such description must be
+     sufficiently detailed for a recipient of ordinary skill to be able to
+     understand it.
+
+5. Application of this License.
+
+     This License applies to code to which the Initial Developer has
+     attached the notice in Exhibit A and to related Covered Code.
+
+6. Versions of the License.
+
+     6.1. New Versions.
+     Netscape Communications Corporation ("Netscape") may publish revised
+     and/or new versions of the License from time to time. Each version
+     will be given a distinguishing version number.
+
+     6.2. Effect of New Versions.
+     Once Covered Code has been published under a particular version of the
+     License, You may always continue to use it under the terms of that
+     version. You may also choose to use such Covered Code under the terms
+     of any subsequent version of the License published by Netscape. No one
+     other than Netscape has the right to modify the terms applicable to
+     Covered Code created under this License.
+
+     6.3. Derivative Works.
+     If You create or use a modified version of this License (which you may
+     only do in order to apply it to code which is not already Covered Code
+     governed by this License), You must (a) rename Your license so that
+     the phrases "Mozilla", "MOZILLAPL", "MOZPL", "Netscape",
+     "MPL", "NPL" or any confusingly similar phrase do not appear in your
+     license (except to note that your license differs from this License)
+     and (b) otherwise make it clear that Your version of the license
+     contains terms which differ from the Mozilla Public License and
+     Netscape Public License. (Filling in the name of the Initial
+     Developer, Original Code or Contributor in the notice described in
+     Exhibit A shall not of themselves be deemed to be modifications of
+     this License.)
+
+7. DISCLAIMER OF WARRANTY.
+
+     COVERED CODE IS PROVIDED UNDER THIS LICENSE ON AN "AS IS" BASIS,
+     WITHOUT WARRANTY OF ANY KIND, EITHER EXPRESSED OR IMPLIED, INCLUDING,
+     WITHOUT LIMITATION, WARRANTIES THAT THE COVERED CODE IS FREE OF
+     DEFECTS, MERCHANTABLE, FIT FOR A PARTICULAR PURPOSE OR NON-INFRINGING.
+     THE ENTIRE RISK AS TO THE QUALITY AND PERFORMANCE OF THE COVERED CODE
+     IS WITH YOU. SHOULD ANY COVERED CODE PROVE DEFECTIVE IN ANY RESPECT,
+     YOU (NOT THE INITIAL DEVELOPER OR ANY OTHER CONTRIBUTOR) ASSUME THE
+     COST OF ANY NECESSARY SERVICING, REPAIR OR CORRECTION. THIS DISCLAIMER
+     OF WARRANTY CONSTITUTES AN ESSENTIAL PART OF THIS LICENSE. NO USE OF
+     ANY COVERED CODE IS AUTHORIZED HEREUNDER EXCEPT UNDER THIS DISCLAIMER.
+
+8. TERMINATION.
+
+     8.1. This License and the rights granted hereunder will terminate
+     automatically if You fail to comply with terms herein and fail to cure
+     such breach within 30 days of becoming aware of the breach. All
+     sublicenses to the Covered Code which are properly granted shall
+     survive any termination of this License. Provisions which, by their
+     nature, must remain in effect beyond the termination of this License
+     shall survive.
+
+     8.2. If You initiate litigation by asserting a patent infringement
+     claim (excluding declatory judgment actions) against Initial Developer
+     or a Contributor (the Initial Developer or Contributor against whom
+     You file such action is referred to as "Participant") alleging that:
+
+     (a) such Participant's Contributor Version directly or indirectly
+     infringes any patent, then any and all rights granted by such
+     Participant to You under Sections 2.1 and/or 2.2 of this License
+     shall, upon 60 days notice from Participant terminate prospectively,
+     unless if within 60 days after receipt of notice You either: (i)
+     agree in writing to pay Participant a mutually agreeable reasonable
+     royalty for Your past and future use of Modifications made by such
+     Participant, or (ii) withdraw Your litigation claim with respect to
+     the Contributor Version against such Participant. If within 60 days
+     of notice, a reasonable royalty and payment arrangement are not
+     mutually agreed upon in writing by the parties or the litigation claim
+     is not withdrawn, the rights granted by Participant to You under
+     Sections 2.1 and/or 2.2 automatically terminate at the expiration of
+     the 60 day notice period specified above.
+
+     (b) any software, hardware, or device, other than such Participant's
+     Contributor Version, directly or indirectly infringes any patent, then
+     any rights granted to You by such Participant under Sections 2.1(b)
+     and 2.2(b) are revoked effective as of the date You first made, used,
+     sold, distributed, or had made, Modifications made by that
+     Participant.
+
+     8.3. If You assert a patent infringement claim against Participant
+     alleging that such Participant's Contributor Version directly or
+     indirectly infringes any patent where such claim is resolved (such as
+     by license or settlement) prior to the initiation of patent
+     infringement litigation, then the reasonable value of the licenses
+     granted by such Participant under Sections 2.1 or 2.2 shall be taken
+     into account in determining the amount or value of any payment or
+     license.
+
+     8.4. In the event of termination under Sections 8.1 or 8.2 above,
+     all end user license agreements (excluding distributors and resellers)
+     which have been validly granted by You or any distributor hereunder
+     prior to termination shall survive termination.
+
+9. LIMITATION OF LIABILITY.
+
+     UNDER NO CIRCUMSTANCES AND UNDER NO LEGAL THEORY, WHETHER TORT
+     (INCLUDING NEGLIGENCE), CONTRACT, OR OTHERWISE, SHALL YOU, THE INITIAL
+     DEVELOPER, ANY OTHER CONTRIBUTOR, OR ANY DISTRIBUTOR OF COVERED CODE,
+     OR ANY SUPPLIER OF ANY OF SUCH PARTIES, BE LIABLE TO ANY PERSON FOR
+     ANY INDIRECT, SPECIAL, INCIDENTAL, OR CONSEQUENTIAL DAMAGES OF ANY
+     CHARACTER INCLUDING, WITHOUT LIMITATION, DAMAGES FOR LOSS OF GOODWILL,
+     WORK STOPPAGE, COMPUTER FAILURE OR MALFUNCTION, OR ANY AND ALL OTHER
+     COMMERCIAL DAMAGES OR LOSSES, EVEN IF SUCH PARTY SHALL HAVE BEEN
+     INFORMED OF THE POSSIBILITY OF SUCH DAMAGES. THIS LIMITATION OF
+     LIABILITY SHALL NOT APPLY TO LIABILITY FOR DEATH OR PERSONAL INJURY
+     RESULTING FROM SUCH PARTY'S NEGLIGENCE TO THE EXTENT APPLICABLE LAW
+     PROHIBITS SUCH LIMITATION. SOME JURISDICTIONS DO NOT ALLOW THE
+     EXCLUSION OR LIMITATION OF INCIDENTAL OR CONSEQUENTIAL DAMAGES, SO
+     THIS EXCLUSION AND LIMITATION MAY NOT APPLY TO YOU.
+
+10. U.S. GOVERNMENT END USERS.
+
+     The Covered Code is a "commercial item," as that term is defined in
+     48 C.F.R. 2.101 (Oct. 1995), consisting of "commercial computer
+     software" and "commercial computer software documentation," as such
+     terms are used in 48 C.F.R. 12.212 (Sept. 1995). Consistent with 48
+     C.F.R. 12.212 and 48 C.F.R. 227.7202-1 through 227.7202-4 (June 1995),
+     all U.S. Government End Users acquire Covered Code with only those
+     rights set forth herein.
+
+11. MISCELLANEOUS.
+
+     This License represents the complete agreement concerning subject
+     matter hereof. If any provision of this License is held to be
+     unenforceable, such provision shall be reformed only to the extent
+     necessary to make it enforceable. This License shall be governed by
+     California law provisions (except to the extent applicable law, if
+     any, provides otherwise), excluding its conflict-of-law provisions.
+     With respect to disputes in which at least one party is a citizen of,
+     or an entity chartered or registered to do business in the United
+     States of America, any litigation relating to this License shall be
+     subject to the jurisdiction of the Federal Courts of the Northern
+     District of California, with venue lying in Santa Clara County,
+     California, with the losing party responsible for costs, including
+     without limitation, court costs and reasonable attorneys' fees and
+     expenses. The application of the United Nations Convention on
+     Contracts for the International Sale of Goods is expressly excluded.
+     Any law or regulation which provides that the language of a contract
+     shall be construed against the drafter shall not apply to this
+     License.
+
+12. RESPONSIBILITY FOR CLAIMS.
+
+     As between Initial Developer and the Contributors, each party is
+     responsible for claims and damages arising, directly or indirectly,
+     out of its utilization of rights under this License and You agree to
+     work with Initial Developer and Contributors to distribute such
+     responsibility on an equitable basis. Nothing herein is intended or
+     shall be deemed to constitute any admission of liability.
+
+13. MULTIPLE-LICENSED CODE.
+
+     Initial Developer may designate portions of the Covered Code as
+     "Multiple-Licensed". "Multiple-Licensed" means that the Initial
+     Developer permits you to utilize portions of the Covered Code under
+     Your choice of the NPL or the alternative licenses, if any, specified
+     by the Initial Developer in the file described in Exhibit A.
+
+EXHIBIT A -Mozilla Public License.
+
+     ``The contents of this file are subject to the Mozilla Public License
+     Version 1.1 (the "License"); you may not use this file except in
+     compliance with the License. You may obtain a copy of the License at
+     http://www.mozilla.org/MPL/
+
+     Software distributed under the License is distributed on an "AS IS"
+     basis, WITHOUT WARRANTY OF ANY KIND, either express or implied. See the
+     License for the specific language governing rights and limitations
+     under the License.
+
+     The Original Code is ______________________________________.
+
+     The Initial Developer of the Original Code is ________________________.
+     Portions created by ______________________ are Copyright (C) ______
+     _______________________. All Rights Reserved.
+
+     Contributor(s): ______________________________________.
+
+     Alternatively, the contents of this file may be used under the terms
+     of the _____ license (the "[___] License"), in which case the
+     provisions of [______] License are applicable instead of those
+     above. If you wish to allow use of your version of this file only
+     under the terms of the [____] License and not to allow others to use
+     your version of this file under the MPL, indicate your decision by
+     deleting the provisions above and replace them with the notice and
+     other provisions required by the [___] License. If you do not delete
+     the provisions above, a recipient may use your version of this file
+     under either the MPL or the [___] License."
+
+     [NOTE: The text of this Exhibit A may differ slightly from the text of
+     the notices in the Source Code files of the Original Code. You should
+     use the text of this Exhibit A rather than the text found in the
+     Original Code Source Code for Your Modifications.]
+
+     ----------------------------------------------------------------------
+
+     AMENDMENTS
+
+     The Netscape Public License Version 1.1 ("NPL") consists of the
+     Mozilla Public License Version 1.1 with the following Amendments,
+     including Exhibit A-Netscape Public License. Files identified with
+     "Exhibit A-Netscape Public License" are governed by the Netscape
+     Public License Version 1.1.
+
+     Additional Terms applicable to the Netscape Public License.
+          I. Effect.
+          These additional terms described in this Netscape Public
+          License -- Amendments shall apply to the Mozilla Communicator
+          client code and to all Covered Code under this License.
+
+          II. "Netscape's Branded Code" means Covered Code that Netscape
+          distributes and/or permits others to distribute under one or more
+          trademark(s) which are controlled by Netscape but which are not
+          licensed for use under this License.
+
+          III. Netscape and logo.
+          This License does not grant any rights to use the trademarks
+          "Netscape", the "Netscape N and horizon" logo or the "Netscape
+          lighthouse" logo, "Netcenter", "Gecko", "Java" or "JavaScript",
+          "Smart Browsing" even if such marks are included in the Original
+          Code or Modifications.
+
+          IV. Inability to Comply Due to Contractual Obligation.
+          Prior to licensing the Original Code under this License, Netscape
+          has licensed third party code for use in Netscape's Branded Code.
+          To the extent that Netscape is limited contractually from making
+          such third party code available under this License, Netscape may
+          choose to reintegrate such code into Covered Code without being
+          required to distribute such code in Source Code form, even if
+          such code would otherwise be considered "Modifications" under
+          this License.
+
+          V. Use of Modifications and Covered Code by Initial Developer.
+               V.1. In General.
+               The obligations of Section 3 apply to Netscape, except to
+               the extent specified in this Amendment, Section V.2 and V.3.
+
+               V.2. Other Products.
+               Netscape may include Covered Code in products other than the
+               Netscape's Branded Code which are released by Netscape
+               during the two (2) years following the release date of the
+               Original Code, without such additional products becoming
+               subject to the terms of this License, and may license such
+               additional products on different terms from those contained
+               in this License.
+
+               V.3. Alternative Licensing.
+               Netscape may license the Source Code of Netscape's Branded
+               Code, including Modifications incorporated therein, without
+               such Netscape Branded Code becoming subject to the terms of
+               this License, and may license such Netscape Branded Code on
+               different terms from those contained in this License.
+
+          VI. Litigation.
+          Notwithstanding the limitations of Section 11 above, the
+          provisions regarding litigation in Section 11(a), (b) and (c) of
+          the License shall apply to all disputes relating to this License.
+
+     EXHIBIT A-Netscape Public License.
+
+          "The contents of this file are subject to the Netscape Public
+          License Version 1.1 (the "License"); you may not use this file
+          except in compliance with the License. You may obtain a copy of
+          the License at http://www.mozilla.org/NPL/
+
+          Software distributed under the License is distributed on an "AS
+          IS" basis, WITHOUT WARRANTY OF ANY KIND, either express or
+          implied. See the License for the specific language governing
+          rights and limitations under the License.
+
+          The Original Code is Mozilla Communicator client code, released
+          March 31, 1998.
+
+          The Initial Developer of the Original Code is Netscape
+          Communications Corporation. Portions created by Netscape are
+          Copyright (C) 1998-1999 Netscape Communications Corporation. All
+          Rights Reserved.
+
+          Contributor(s): ______________________________________.
+
+          Alternatively, the contents of this file may be used under the
+          terms of the _____ license (the "[___] License"), in which case
+          the provisions of [______] License are applicable  instead of
+          those above. If you wish to allow use of your version of this
+          file only under the terms of the [____] License and not to allow
+          others to use your version of this file under the NPL, indicate
+          your decision by deleting the provisions above and replace  them
+          with the notice and other provisions required by the [___]
+          License. If you do not delete the provisions above, a recipient
+          may use your version of this file under either the NPL or the
+          [___] License."
 
-blink HTMLTokenizer +colorama show license -homepage +homepage
-
Copyright (C) 2008 Apple Inc. All Rights Reserved.
-Copyright (C) 2009 Torch Mobile, Inc. http://www.torchmobile.com/
-Copyright (C) 2010 Google, Inc. All Rights Reserved.
+
Copyright (c) 2010 Jonathan Hartley
+All rights reserved.
 
 Redistribution and use in source and binary forms, with or without
-modification, are permitted provided that the following conditions
-are met:
-1. Redistributions of source code must retain the above copyright
-   notice, this list of conditions and the following disclaimer.
-2. Redistributions in binary form must reproduce the above copyright
-   notice, this list of conditions and the following disclaimer in the
-   documentation and/or other materials provided with the distribution.
- *
-THIS SOFTWARE IS PROVIDED BY APPLE INC. ``AS IS'' AND ANY
-EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
-IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR
-PURPOSE ARE DISCLAIMED.  IN NO EVENT SHALL APPLE INC. OR
-CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL,
-EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO,
-PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR
-PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY
-OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
-(INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
+modification, are permitted provided that the following conditions are met:
+
+* Redistributions of source code must retain the above copyright notice, this
+  list of conditions and the following disclaimer.
+
+* Redistributions in binary form must reproduce the above copyright notice,
+  this list of conditions and the following disclaimer in the documentation
+  and/or other materials provided with the distribution.
+
+* Neither the name of the copyright holders, nor those of its contributors
+  may be used to endorse or promote products derived from this software without
+  specific prior written permission.
+
+THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND
+ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED
+WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
+DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE
+FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
+DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR
+SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER
+CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,
+OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
 OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+
 
-boringssl +coverage show license -homepage +homepage
-
-  LICENSE ISSUES
-  ==============
+
"""Code coverage measurement for Python.
+
+Ned Batchelder
+http://nedbatchelder.com/code/coverage
+
+"""
+
+from coverage.version import __version__, __url__
+
+from coverage.control import coverage, process_startup
+from coverage.data import CoverageData
+from coverage.cmdline import main, CoverageScript
+from coverage.misc import CoverageException
+
+# Module-level functions.  The original API to this module was based on
+# functions defined directly in the module, with a singleton of the coverage()
+# class.  That design hampered programmability, so the current api uses
+# explicitly-created coverage objects.  But for backward compatibility, here we
+# define the top-level functions to create the singleton when they are first
+# called.
+
+# Singleton object for use with module-level functions.  The singleton is
+# created as needed when one of the module-level functions is called.
+_the_coverage = None
+
+def _singleton_method(name):
+    """Return a function to the `name` method on a singleton `coverage` object.
+
+    The singleton object is created the first time one of these functions is
+    called.
+
+    """
+    # Disable pylint msg W0612, because a bunch of variables look unused, but
+    # they're accessed via locals().
+    # pylint: disable=W0612
+
+    def wrapper(*args, **kwargs):
+        """Singleton wrapper around a coverage method."""
+        global _the_coverage
+        if not _the_coverage:
+            _the_coverage = coverage(auto_data=True)
+        return getattr(_the_coverage, name)(*args, **kwargs)
+
+    import inspect
+    meth = getattr(coverage, name)
+    args, varargs, kw, defaults = inspect.getargspec(meth)
+    argspec = inspect.formatargspec(args[1:], varargs, kw, defaults)
+    docstring = meth.__doc__
+    wrapper.__doc__ = ("""\
+        A first-use-singleton wrapper around coverage.%(name)s.
+
+        This wrapper is provided for backward compatibility with legacy code.
+        New code should use coverage.%(name)s directly.
+
+        %(name)s%(argspec)s:
+
+        %(docstring)s
+        """ % locals()
+        )
+
+    return wrapper
+
+
+# Define the module-level functions.
+use_cache = _singleton_method('use_cache')
+start =     _singleton_method('start')
+stop =      _singleton_method('stop')
+erase =     _singleton_method('erase')
+exclude =   _singleton_method('exclude')
+analysis =  _singleton_method('analysis')
+analysis2 = _singleton_method('analysis2')
+report =    _singleton_method('report')
+annotate =  _singleton_method('annotate')
+
+
+# On Windows, we encode and decode deep enough that something goes wrong and
+# the encodings.utf_8 module is loaded and then unloaded, I don't know why.
+# Adding a reference here prevents it from being unloaded.  Yuk.
+import encodings.utf_8
+
+# Because of the "from coverage.control import fooey" lines at the top of the
+# file, there's an entry for coverage.coverage in sys.modules, mapped to None.
+# This makes some inspection tools (like pydoc) unable to find the class
+# coverage.coverage.  So remove that entry.
+import sys
+try:
+    del sys.modules['coverage.coverage']
+except KeyError:
+    pass
+
+
+# COPYRIGHT AND LICENSE
+#
+# Copyright 2001 Gareth Rees.  All rights reserved.
+# Copyright 2004-2013 Ned Batchelder.  All rights reserved.
+#
+# Redistribution and use in source and binary forms, with or without
+# modification, are permitted provided that the following conditions are
+# met:
+#
+# 1. Redistributions of source code must retain the above copyright
+#    notice, this list of conditions and the following disclaimer.
+#
+# 2. Redistributions in binary form must reproduce the above copyright
+#    notice, this list of conditions and the following disclaimer in the
+#    documentation and/or other materials provided with the
+#    distribution.
+#
+# THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
+# "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
+# LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
+# A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
+# HOLDERS AND CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT,
+# INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING,
+# BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS
+# OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND
+# ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR
+# TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE
+# USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH
+# DAMAGE.
+
+
+
- The OpenSSL toolkit stays under a dual license, i.e. both the conditions of - the OpenSSL License and the original SSLeay license apply to the toolkit. - See below for the actual license texts. Actually both licenses are BSD-style - Open Source licenses. In case of any license issues related to OpenSSL - please contact openssl-core@openssl.org. +
+d3 +show license +homepage +
+
Copyright (c) 2010-2014, Michael Bostock
+All rights reserved.
 
-  OpenSSL License
-  ---------------
+Redistribution and use in source and binary forms, with or without
+modification, are permitted provided that the following conditions are met:
 
-/* ====================================================================
- * Copyright (c) 1998-2011 The OpenSSL Project.  All rights reserved.
- *
- * Redistribution and use in source and binary forms, with or without
- * modification, are permitted provided that the following conditions
- * are met:
- *
- * 1. Redistributions of source code must retain the above copyright
- *    notice, this list of conditions and the following disclaimer. 
- *
- * 2. Redistributions in binary form must reproduce the above copyright
- *    notice, this list of conditions and the following disclaimer in
- *    the documentation and/or other materials provided with the
- *    distribution.
- *
- * 3. All advertising materials mentioning features or use of this
- *    software must display the following acknowledgment:
- *    "This product includes software developed by the OpenSSL Project
- *    for use in the OpenSSL Toolkit. (http://www.openssl.org/)"
- *
- * 4. The names "OpenSSL Toolkit" and "OpenSSL Project" must not be used to
- *    endorse or promote products derived from this software without
- *    prior written permission. For written permission, please contact
- *    openssl-core@openssl.org.
- *
- * 5. Products derived from this software may not be called "OpenSSL"
- *    nor may "OpenSSL" appear in their names without prior written
- *    permission of the OpenSSL Project.
- *
- * 6. Redistributions of any form whatsoever must retain the following
- *    acknowledgment:
- *    "This product includes software developed by the OpenSSL Project
- *    for use in the OpenSSL Toolkit (http://www.openssl.org/)"
- *
- * THIS SOFTWARE IS PROVIDED BY THE OpenSSL PROJECT ``AS IS'' AND ANY
- * EXPRESSED OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
- * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR
- * PURPOSE ARE DISCLAIMED.  IN NO EVENT SHALL THE OpenSSL PROJECT OR
- * ITS CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
- * SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT
- * NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES;
- * LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
- * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT,
- * STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
- * ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED
- * OF THE POSSIBILITY OF SUCH DAMAGE.
- * ====================================================================
- *
- * This product includes cryptographic software written by Eric Young
- * (eay@cryptsoft.com).  This product includes software written by Tim
- * Hudson (tjh@cryptsoft.com).
- *
- */
+* Redistributions of source code must retain the above copyright notice, this
+  list of conditions and the following disclaimer.
 
- Original SSLeay License
- -----------------------
+* Redistributions in binary form must reproduce the above copyright notice,
+  this list of conditions and the following disclaimer in the documentation
+  and/or other materials provided with the distribution.
 
-/* Copyright (C) 1995-1998 Eric Young (eay@cryptsoft.com)
- * All rights reserved.
- *
- * This package is an SSL implementation written
- * by Eric Young (eay@cryptsoft.com).
- * The implementation was written so as to conform with Netscapes SSL.
- * 
- * This library is free for commercial and non-commercial use as long as
- * the following conditions are aheared to.  The following conditions
- * apply to all code found in this distribution, be it the RC4, RSA,
- * lhash, DES, etc., code; not just the SSL code.  The SSL documentation
- * included with this distribution is covered by the same copyright terms
- * except that the holder is Tim Hudson (tjh@cryptsoft.com).
- * 
- * Copyright remains Eric Young's, and as such any Copyright notices in
- * the code are not to be removed.
- * If this package is used in a product, Eric Young should be given attribution
- * as the author of the parts of the library used.
- * This can be in the form of a textual message at program startup or
- * in documentation (online or textual) provided with the package.
- * 
- * Redistribution and use in source and binary forms, with or without
- * modification, are permitted provided that the following conditions
- * are met:
- * 1. Redistributions of source code must retain the copyright
- *    notice, this list of conditions and the following disclaimer.
- * 2. Redistributions in binary form must reproduce the above copyright
- *    notice, this list of conditions and the following disclaimer in the
- *    documentation and/or other materials provided with the distribution.
- * 3. All advertising materials mentioning features or use of this software
- *    must display the following acknowledgement:
- *    "This product includes cryptographic software written by
- *     Eric Young (eay@cryptsoft.com)"
- *    The word 'cryptographic' can be left out if the rouines from the library
- *    being used are not cryptographic related :-).
- * 4. If you include any Windows specific code (or a derivative thereof) from 
- *    the apps directory (application code) you must include an acknowledgement:
- *    "This product includes software written by Tim Hudson (tjh@cryptsoft.com)"
- * 
- * THIS SOFTWARE IS PROVIDED BY ERIC YOUNG ``AS IS'' AND
- * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
- * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
- * ARE DISCLAIMED.  IN NO EVENT SHALL THE AUTHOR OR CONTRIBUTORS BE LIABLE
- * FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
- * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS
- * OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
- * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
- * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY
- * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
- * SUCH DAMAGE.
- * 
- * The licence and distribution terms for any publically available version or
- * derivative of this code cannot be changed.  i.e. this code cannot simply be
- * copied and put under another distribution licence
- * [including the GNU Public Licence.]
- */
+* The name Michael Bostock may not be used to endorse or promote products
+  derived from this software without specific prior written permission.
 
+THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS"
+AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
+IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
+DISCLAIMED. IN NO EVENT SHALL MICHAEL BOSTOCK BE LIABLE FOR ANY DIRECT,
+INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING,
+BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
+DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY
+OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING
+NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE,
+EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
 
-bspatch +devscripts show license -homepage +homepage
-
BSD Protection License
-February 2002
+
		    GNU GENERAL PUBLIC LICENSE
+		       Version 2, June 1991
 
-Preamble
---------
+ Copyright (C) 1989, 1991 Free Software Foundation, Inc.
+       51 Franklin St, Fifth Floor, Boston, MA 02110-1301, USA
+ Everyone is permitted to copy and distribute verbatim copies
+ of this license document, but changing it is not allowed.
 
-The Berkeley Software Distribution ("BSD") license has proven very effective
-over the years at allowing for a wide spread of work throughout both
-commercial and non-commercial products.  For programmers whose primary
-intention is to improve the general quality of available software, it is
-arguable that there is no better license than the BSD license, as it
-permits improvements to be used wherever they will help, without idealogical
-or metallic constraint.
+			    Preamble
 
-This is of particular value to those who produce reference implementations
-of proposed standards: The case of TCP/IP clearly illustrates that freely
-and universally available implementations leads the rapid acceptance of
-standards -- often even being used instead of a de jure standard (eg, OSI
-network models).
+  The licenses for most software are designed to take away your
+freedom to share and change it.  By contrast, the GNU General Public
+License is intended to guarantee your freedom to share and change free
+software--to make sure the software is free for all its users.  This
+General Public License applies to most of the Free Software
+Foundation's software and to any other program whose authors commit to
+using it.  (Some other Free Software Foundation software is covered by
+the GNU Library General Public License instead.)  You can apply it to
+your programs, too.
 
-With the rapid proliferation of software licensed under the GNU General
-Public License, however, the continued success of this role is called into
-question.  Given that the inclusion of a few lines of "GPL-tainted" work
-into a larger body of work will result in restricted distribution -- and
-given that further work will likely build upon the "tainted" portions,
-making them difficult to remove at a future date -- there are inevitable
-circumstances where authors would, in order to protect their goal of
-providing for the widespread usage of their work, wish to guard against
-such "GPL-taint".
+  When we speak of free software, we are referring to freedom, not
+price.  Our General Public Licenses are designed to make sure that you
+have the freedom to distribute copies of free software (and charge for
+this service if you wish), that you receive source code or can get it
+if you want it, that you can change the software or use pieces of it
+in new free programs; and that you know you can do these things.
 
-In addition, one can imagine that companies which operate by producing and
-selling (possibly closed-source) code would wish to protect themselves
-against the rise of a GPL-licensed competitor.  While under existing
-licenses this would mean not releasing their code under any form of open
-license, if a license existed under which they could incorporate any
-improvements back into their own (commercial) products then they might be
-far more willing to provide for non-closed distribution.
+  To protect your rights, we need to make restrictions that forbid
+anyone to deny you these rights or to ask you to surrender the rights.
+These restrictions translate to certain responsibilities for you if you
+distribute copies of the software, or if you modify it.
 
-For the above reasons, we put forth this "BSD Protection License": A
-license designed to retain the freedom granted by the BSD license to use
-licensed works in a wide variety of settings, both non-commercial and
-commercial, while protecting the work from having future contributors
-restrict that freedom.
+  For example, if you distribute copies of such a program, whether
+gratis or for a fee, you must give the recipients all the rights that
+you have.  You must make sure that they, too, receive or can get the
+source code.  And you must show them these terms so they know their
+rights.
 
-The precise terms and conditions for copying, distribution, and
+  We protect your rights with two steps: (1) copyright the software, and
+(2) offer you this license which gives you legal permission to copy,
+distribute and/or modify the software.
+
+  Also, for each author's protection and ours, we want to make certain
+that everyone understands that there is no warranty for this free
+software.  If the software is modified by someone else and passed on, we
+want its recipients to know that what they have is not the original, so
+that any problems introduced by others will not reflect on the original
+authors' reputations.
+
+  Finally, any free program is threatened constantly by software
+patents.  We wish to avoid the danger that redistributors of a free
+program will individually obtain patent licenses, in effect making the
+program proprietary.  To prevent this, we have made it clear that any
+patent must be licensed for everyone's free use or not licensed at all.
+
+  The precise terms and conditions for copying, distribution and
 modification follow.
+
+		    GNU GENERAL PUBLIC LICENSE
+   TERMS AND CONDITIONS FOR COPYING, DISTRIBUTION AND MODIFICATION
+
+  0. This License applies to any program or other work which contains
+a notice placed by the copyright holder saying it may be distributed
+under the terms of this General Public License.  The "Program", below,
+refers to any such program or work, and a "work based on the Program"
+means either the Program or any derivative work under copyright law:
+that is to say, a work containing the Program or a portion of it,
+either verbatim or with modifications and/or translated into another
+language.  (Hereinafter, translation is included without limitation in
+the term "modification".)  Each licensee is addressed as "you".
+
+Activities other than copying, distribution and modification are not
+covered by this License; they are outside its scope.  The act of
+running the Program is not restricted, and the output from the Program
+is covered only if its contents constitute a work based on the
+Program (independent of having been made by running the Program).
+Whether that is true depends on what the Program does.
+
+  1. You may copy and distribute verbatim copies of the Program's
+source code as you receive it, in any medium, provided that you
+conspicuously and appropriately publish on each copy an appropriate
+copyright notice and disclaimer of warranty; keep intact all the
+notices that refer to this License and to the absence of any warranty;
+and give any other recipients of the Program a copy of this License
+along with the Program.
+
+You may charge a fee for the physical act of transferring a copy, and
+you may at your option offer warranty protection in exchange for a fee.
+
+  2. You may modify your copy or copies of the Program or any portion
+of it, thus forming a work based on the Program, and copy and
+distribute such modifications or work under the terms of Section 1
+above, provided that you also meet all of these conditions:
+
+    a) You must cause the modified files to carry prominent notices
+    stating that you changed the files and the date of any change.
+
+    b) You must cause any work that you distribute or publish, that in
+    whole or in part contains or is derived from the Program or any
+    part thereof, to be licensed as a whole at no charge to all third
+    parties under the terms of this License.
+
+    c) If the modified program normally reads commands interactively
+    when run, you must cause it, when started running for such
+    interactive use in the most ordinary way, to print or display an
+    announcement including an appropriate copyright notice and a
+    notice that there is no warranty (or else, saying that you provide
+    a warranty) and that users may redistribute the program under
+    these conditions, and telling the user how to view a copy of this
+    License.  (Exception: if the Program itself is interactive but
+    does not normally print such an announcement, your work based on
+    the Program is not required to print an announcement.)
+
+These requirements apply to the modified work as a whole.  If
+identifiable sections of that work are not derived from the Program,
+and can be reasonably considered independent and separate works in
+themselves, then this License, and its terms, do not apply to those
+sections when you distribute them as separate works.  But when you
+distribute the same sections as part of a whole which is a work based
+on the Program, the distribution of the whole must be on the terms of
+this License, whose permissions for other licensees extend to the
+entire whole, and thus to each and every part regardless of who wrote it.
+
+Thus, it is not the intent of this section to claim rights or contest
+your rights to work written entirely by you; rather, the intent is to
+exercise the right to control the distribution of derivative or
+collective works based on the Program.
+
+In addition, mere aggregation of another work not based on the Program
+with the Program (or with a work based on the Program) on a volume of
+a storage or distribution medium does not bring the other work under
+the scope of this License.
+
+  3. You may copy and distribute the Program (or a work based on it,
+under Section 2) in object code or executable form under the terms of
+Sections 1 and 2 above provided that you also do one of the following:
+
+    a) Accompany it with the complete corresponding machine-readable
+    source code, which must be distributed under the terms of Sections
+    1 and 2 above on a medium customarily used for software interchange; or,
+
+    b) Accompany it with a written offer, valid for at least three
+    years, to give any third party, for a charge no more than your
+    cost of physically performing source distribution, a complete
+    machine-readable copy of the corresponding source code, to be
+    distributed under the terms of Sections 1 and 2 above on a medium
+    customarily used for software interchange; or,
+
+    c) Accompany it with the information you received as to the offer
+    to distribute corresponding source code.  (This alternative is
+    allowed only for noncommercial distribution and only if you
+    received the program in object code or executable form with such
+    an offer, in accord with Subsection b above.)
+
+The source code for a work means the preferred form of the work for
+making modifications to it.  For an executable work, complete source
+code means all the source code for all modules it contains, plus any
+associated interface definition files, plus the scripts used to
+control compilation and installation of the executable.  However, as a
+special exception, the source code distributed need not include
+anything that is normally distributed (in either source or binary
+form) with the major components (compiler, kernel, and so on) of the
+operating system on which the executable runs, unless that component
+itself accompanies the executable.
+
+If distribution of executable or object code is made by offering
+access to copy from a designated place, then offering equivalent
+access to copy the source code from the same place counts as
+distribution of the source code, even though third parties are not
+compelled to copy the source along with the object code.
+
+  4. You may not copy, modify, sublicense, or distribute the Program
+except as expressly provided under this License.  Any attempt
+otherwise to copy, modify, sublicense or distribute the Program is
+void, and will automatically terminate your rights under this License.
+However, parties who have received copies, or rights, from you under
+this License will not have their licenses terminated so long as such
+parties remain in full compliance.
+
+  5. You are not required to accept this License, since you have not
+signed it.  However, nothing else grants you permission to modify or
+distribute the Program or its derivative works.  These actions are
+prohibited by law if you do not accept this License.  Therefore, by
+modifying or distributing the Program (or any work based on the
+Program), you indicate your acceptance of this License to do so, and
+all its terms and conditions for copying, distributing or modifying
+the Program or works based on it.
+
+  6. Each time you redistribute the Program (or any work based on the
+Program), the recipient automatically receives a license from the
+original licensor to copy, distribute or modify the Program subject to
+these terms and conditions.  You may not impose any further
+restrictions on the recipients' exercise of the rights granted herein.
+You are not responsible for enforcing compliance by third parties to
+this License.
+
+  7. If, as a consequence of a court judgment or allegation of patent
+infringement or for any other reason (not limited to patent issues),
+conditions are imposed on you (whether by court order, agreement or
+otherwise) that contradict the conditions of this License, they do not
+excuse you from the conditions of this License.  If you cannot
+distribute so as to satisfy simultaneously your obligations under this
+License and any other pertinent obligations, then as a consequence you
+may not distribute the Program at all.  For example, if a patent
+license would not permit royalty-free redistribution of the Program by
+all those who receive copies directly or indirectly through you, then
+the only way you could satisfy both it and this License would be to
+refrain entirely from distribution of the Program.
+
+If any portion of this section is held invalid or unenforceable under
+any particular circumstance, the balance of the section is intended to
+apply and the section as a whole is intended to apply in other
+circumstances.
+
+It is not the purpose of this section to induce you to infringe any
+patents or other property right claims or to contest validity of any
+such claims; this section has the sole purpose of protecting the
+integrity of the free software distribution system, which is
+implemented by public license practices.  Many people have made
+generous contributions to the wide range of software distributed
+through that system in reliance on consistent application of that
+system; it is up to the author/donor to decide if he or she is willing
+to distribute software through any other system and a licensee cannot
+impose that choice.
 
-BSD PROTECTION LICENSE
-TERMS AND CONDITIONS FOR COPYING, DISTRIBUTION, AND MODIFICATION
-----------------------------------------------------------------
+This section is intended to make thoroughly clear what is believed to
+be a consequence of the rest of this License.
+
+  8. If the distribution and/or use of the Program is restricted in
+certain countries either by patents or by copyrighted interfaces, the
+original copyright holder who places the Program under this License
+may add an explicit geographical distribution limitation excluding
+those countries, so that distribution is permitted only in or among
+countries not thus excluded.  In such case, this License incorporates
+the limitation as if written in the body of this License.
 
-0. Definitions.
-   a) "Program", below, refers to any program or work distributed under
-      the terms of this license.
-   b) A "work based on the Program", below, refers to either the Program
-      or any derivative work under copyright law.
-   c) "Modification", below, refers to the act of creating derivative works.
-   d) "You", below, refers to each licensee.
+  9. The Free Software Foundation may publish revised and/or new versions
+of the General Public License from time to time.  Such new versions will
+be similar in spirit to the present version, but may differ in detail to
+address new problems or concerns.
 
-1. Scope.
-   This license governs the copying, distribution, and modification of the
-   Program.  Other activities are outside the scope of this license; The
-   act of running the Program is not restricted, and the output from the
-   Program is covered only if its contents constitute a work based on the
-   Program.
+Each version is given a distinguishing version number.  If the Program
+specifies a version number of this License which applies to it and "any
+later version", you have the option of following the terms and conditions
+either of that version or of any later version published by the Free
+Software Foundation.  If the Program does not specify a version number of
+this License, you may choose any version ever published by the Free Software
+Foundation.
 
-2. Verbatim copies.
-   You may copy and distribute verbatim copies of the Program as you
-   receive it, in any medium, provided that you conspicuously and
-   appropriately publish on each copy an appropriate copyright notice; keep
-   intact all the notices that refer to this License and to the absence of
-   any warranty; and give any other recipients of the Program a copy of this
-   License along with the Program.
+  10. If you wish to incorporate parts of the Program into other free
+programs whose distribution conditions are different, write to the author
+to ask for permission.  For software which is copyrighted by the Free
+Software Foundation, write to the Free Software Foundation; we sometimes
+make exceptions for this.  Our decision will be guided by the two goals
+of preserving the free status of all derivatives of our free software and
+of promoting the sharing and reuse of software generally.
 
-3. Modification and redistribution under closed license.
-   You may modify your copy or copies of the Program, and distribute
-   the resulting derivative works, provided that you meet the
-   following conditions:
-   a) The copyright notice and disclaimer on the Program must be reproduced
-      and included in the source code, documentation, and/or other materials
-      provided in a manner in which such notices are normally distributed.
-   b) The derivative work must be clearly identified as such, in order that
-      it may not be confused with the original work.
-   c) The license under which the derivative work is distributed must
-      expressly prohibit the distribution of further derivative works.
+			    NO WARRANTY
 
-4. Modification and redistribution under open license.
-   You may modify your copy or copies of the Program, and distribute
-   the resulting derivative works, provided that you meet the
-   following conditions:
-   a) The copyright notice and disclaimer on the Program must be reproduced
-      and included in the source code, documentation, and/or other materials
-      provided in a manner in which such notices are normally distributed.
-   b) You must clearly indicate the nature and date of any changes made
-      to the Program.  The full details need not necessarily be included in
-      the individual modified files, provided that each modified file is
-      clearly marked as such and instructions are included on where the
-      full details of the modifications may be found.
-   c) You must cause any work that you distribute or publish, that in whole
-      or in part contains or is derived from the Program or any part
-      thereof, to be licensed as a whole at no charge to all third
-      parties under the terms of this License.
+  11. BECAUSE THE PROGRAM IS LICENSED FREE OF CHARGE, THERE IS NO WARRANTY
+FOR THE PROGRAM, TO THE EXTENT PERMITTED BY APPLICABLE LAW.  EXCEPT WHEN
+OTHERWISE STATED IN WRITING THE COPYRIGHT HOLDERS AND/OR OTHER PARTIES
+PROVIDE THE PROGRAM "AS IS" WITHOUT WARRANTY OF ANY KIND, EITHER EXPRESSED
+OR IMPLIED, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF
+MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE.  THE ENTIRE RISK AS
+TO THE QUALITY AND PERFORMANCE OF THE PROGRAM IS WITH YOU.  SHOULD THE
+PROGRAM PROVE DEFECTIVE, YOU ASSUME THE COST OF ALL NECESSARY SERVICING,
+REPAIR OR CORRECTION.
 
-5. Implied acceptance.
-   You may not copy or distribute the Program or any derivative works except
-   as expressly provided under this license.  Consequently, any such action
-   will be taken as implied acceptance of the terms of this license.
+  12. IN NO EVENT UNLESS REQUIRED BY APPLICABLE LAW OR AGREED TO IN WRITING
+WILL ANY COPYRIGHT HOLDER, OR ANY OTHER PARTY WHO MAY MODIFY AND/OR
+REDISTRIBUTE THE PROGRAM AS PERMITTED ABOVE, BE LIABLE TO YOU FOR DAMAGES,
+INCLUDING ANY GENERAL, SPECIAL, INCIDENTAL OR CONSEQUENTIAL DAMAGES ARISING
+OUT OF THE USE OR INABILITY TO USE THE PROGRAM (INCLUDING BUT NOT LIMITED
+TO LOSS OF DATA OR DATA BEING RENDERED INACCURATE OR LOSSES SUSTAINED BY
+YOU OR THIRD PARTIES OR A FAILURE OF THE PROGRAM TO OPERATE WITH ANY OTHER
+PROGRAMS), EVEN IF SUCH HOLDER OR OTHER PARTY HAS BEEN ADVISED OF THE
+POSSIBILITY OF SUCH DAMAGES.
 
-6. NO WARRANTY.
-   THIS SOFTWARE IS PROVIDED "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES,
-   INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY
-   AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED.  IN NO EVENT SHALL
-   THE COPYRIGHT HOLDER, OR ANY OTHER PARTY WHO MAY MODIFY AND/OR
-   REDISTRIBUTE THE PROGRAM AS PERMITTED ABOVE, BE LIABLE FOR ANY DIRECT,
-   INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES
-   ARISING OUT OF THE USE OR INABILITY TO USE THE PROGRAM (INCLUDING, BUT
-   NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF
-   USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND
-   ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR
-   TORT, EVEN IF SUCH HOLDER OR OTHER PARTY HAS BEEN ADVISED OF THE
-   POSSIBILITY OF SUCH DAMAGES.
-
-
-
+ END OF TERMS AND CONDITIONS + + How to Apply These Terms to Your New Programs -
-chromite -show license -homepage -
-
// Copyright (c) 2006-2009 The Chromium OS Authors. All rights reserved.
-//
-// Redistribution and use in source and binary forms, with or without
-// modification, are permitted provided that the following conditions are
-// met:
-//
-//    * Redistributions of source code must retain the above copyright
-// notice, this list of conditions and the following disclaimer.
-//    * Redistributions in binary form must reproduce the above
-// copyright notice, this list of conditions and the following disclaimer
-// in the documentation and/or other materials provided with the
-// distribution.
-//    * Neither the name of Google Inc. nor the names of its
-// contributors may be used to endorse or promote products derived from
-// this software without specific prior written permission.
-//
-// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
-// "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
-// LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
-// A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
-// OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
-// SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
-// LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
-// DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
-// THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
-// (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
-// OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
-
-
-
+ If you develop a new program, and you want it to be of the greatest +possible use to the public, the best way to achieve this is to make it +free software which everyone can redistribute and change under these terms. -
-class-dump -show license -homepage -
-
(Copied from the README.)
+  To do so, attach the following notices to the program.  It is safest
+to attach them to the start of each source file to most effectively
+convey the exclusion of warranty; and each file should have at least
+the "copyright" line and a pointer to where the full notice is found.
 
---------------------------------------------------------------------------------
+    <one line to give the program's name and a brief idea of what it does.>
+    Copyright (C) 19yy  <name of author>
 
-This file is part of class-dump, a utility for examining the
-Objective-C segment of Mach-O files.
-Copyright (C) 1997-1998, 2000-2001, 2004-2013 Steve Nygard.
+    This program is free software; you can redistribute it and/or modify
+    it under the terms of the GNU General Public License as published by
+    the Free Software Foundation; either version 2 of the License, or
+    (at your option) any later version.
 
-This program is free software; you can redistribute it and/or modify
-it under the terms of the GNU General Public License as published by
-the Free Software Foundation; either version 2 of the License, or
-(at your option) any later version.
+    This program is distributed in the hope that it will be useful,
+    but WITHOUT ANY WARRANTY; without even the implied warranty of
+    MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+    GNU General Public License for more details.
 
-This program is distributed in the hope that it will be useful,
-but WITHOUT ANY WARRANTY; without even the implied warranty of
-MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
-GNU General Public License for more details.
+    You should have received a copy of the GNU General Public License
+    along with this program; if not, write to the Free Software
+    Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301, USA
 
-You should have received a copy of the GNU General Public License
-along with this program; if not, write to the Free Software
-Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
 
-Contact
--------
+Also add information on how to contact you by electronic and paper mail.
 
-You may contact the author by:
-   e-mail:  nygard at gmail.com
-
-
+If the program is interactive, make it output a short notice like this +when it starts in an interactive mode: -
-d3 -show license -homepage -
-
Copyright (c) 2010-2014, Michael Bostock
-All rights reserved.
+    Gnomovision version 69, Copyright (C) 19yy name of author
+    Gnomovision comes with ABSOLUTELY NO WARRANTY; for details type `show w'.
+    This is free software, and you are welcome to redistribute it
+    under certain conditions; type `show c' for details.
 
-Redistribution and use in source and binary forms, with or without
-modification, are permitted provided that the following conditions are met:
+The hypothetical commands `show w' and `show c' should show the appropriate
+parts of the General Public License.  Of course, the commands you use may
+be called something other than `show w' and `show c'; they could even be
+mouse-clicks or menu items--whatever suits your program.
 
-* Redistributions of source code must retain the above copyright notice, this
-  list of conditions and the following disclaimer.
+You should also get your employer (if you work as a programmer) or your
+school, if any, to sign a "copyright disclaimer" for the program, if
+necessary.  Here is a sample; alter the names:
 
-* Redistributions in binary form must reproduce the above copyright notice,
-  this list of conditions and the following disclaimer in the documentation
-  and/or other materials provided with the distribution.
+  Yoyodyne, Inc., hereby disclaims all copyright interest in the program
+  `Gnomovision' (which makes passes at compilers) written by James Hacker.
 
-* The name Michael Bostock may not be used to endorse or promote products
-  derived from this software without specific prior written permission.
+  <signature of Ty Coon>, 1 April 1989
+  Ty Coon, President of Vice
 
-THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS"
-AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
-IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
-DISCLAIMED. IN NO EVENT SHALL MICHAEL BOSTOCK BE LIABLE FOR ANY DIRECT,
-INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING,
-BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
-DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY
-OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING
-NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE,
-EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+This General Public License does not permit incorporating your program into
+proprietary programs.  If your program is a subroutine library, you may
+consider it more useful to permit linking proprietary applications with the
+library.  If this is what you want to do, use the GNU Library General
+Public License instead of this License.
 
@@ -9974,6 +12303,46 @@
+
+fancy_urllib +show license +homepage +
+
Name: fancy_urllib
+URL: http://googleappengine.googlecode.com/svn/trunk/python/lib/fancy_urllib
+License: Apache 2.0
+License File: README.chromium
+Security Critical: no
+
+The fancy_urllib library was obtained from
+http://googleappengine.googlecode.com/svn/trunk/python/lib/fancy_urllib/fancy_urllib/__init__.py
+under the following license (http://googleappengine.googlecode.com/svn/trunk/python/LICENSE):
+
+GOOGLE APP ENGINE SDK
+=====================
+Copyright 2008 Google Inc.
+All rights reserved.
+
+Licensed under the Apache License, Version 2.0 (the "License");
+you may not use this file except in compliance with the License.
+You may obtain a copy of the License at
+
+    http://www.apache.org/licenses/LICENSE-2.0
+
+Unless required by applicable law or agreed to in writing, software
+distributed under the License is distributed on an "AS IS" BASIS,
+WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+See the License for the specific language governing permissions and
+limitations under the License.
+
+Local Modifications:
+- Python 2.7.9 adds an additional parameter to urllib2.HTTPSHandler.do_open. I
+  modified FancyHTTPSHandler.do_open to take this parameter and forward it to
+  the super function.
+
+
+
+
fdlibm show license @@ -11130,46 +13499,279 @@
-google-glog's symbolization library +google-glog's symbolization library +show license +homepage +
+
// Copyright (c) 2006, Google Inc.
+// All rights reserved.
+//
+// Redistribution and use in source and binary forms, with or without
+// modification, are permitted provided that the following conditions are
+// met:
+//
+//     * Redistributions of source code must retain the above copyright
+// notice, this list of conditions and the following disclaimer.
+//     * Redistributions in binary form must reproduce the above
+// copyright notice, this list of conditions and the following disclaimer
+// in the documentation and/or other materials provided with the
+// distribution.
+//     * Neither the name of Google Inc. nor the names of its
+// contributors may be used to endorse or promote products derived from
+// this software without specific prior written permission.
+//
+// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
+// "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
+// LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
+// A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
+// OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
+// SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
+// LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
+// DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
+// THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
+// (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
+// OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+
+
+
+ +
+google-jstemplate +show license +homepage +
+
+                                 Apache License
+                           Version 2.0, January 2004
+                        http://www.apache.org/licenses/
+
+   TERMS AND CONDITIONS FOR USE, REPRODUCTION, AND DISTRIBUTION
+
+   1. Definitions.
+
+      "License" shall mean the terms and conditions for use, reproduction,
+      and distribution as defined by Sections 1 through 9 of this document.
+
+      "Licensor" shall mean the copyright owner or entity authorized by
+      the copyright owner that is granting the License.
+
+      "Legal Entity" shall mean the union of the acting entity and all
+      other entities that control, are controlled by, or are under common
+      control with that entity. For the purposes of this definition,
+      "control" means (i) the power, direct or indirect, to cause the
+      direction or management of such entity, whether by contract or
+      otherwise, or (ii) ownership of fifty percent (50%) or more of the
+      outstanding shares, or (iii) beneficial ownership of such entity.
+
+      "You" (or "Your") shall mean an individual or Legal Entity
+      exercising permissions granted by this License.
+
+      "Source" form shall mean the preferred form for making modifications,
+      including but not limited to software source code, documentation
+      source, and configuration files.
+
+      "Object" form shall mean any form resulting from mechanical
+      transformation or translation of a Source form, including but
+      not limited to compiled object code, generated documentation,
+      and conversions to other media types.
+
+      "Work" shall mean the work of authorship, whether in Source or
+      Object form, made available under the License, as indicated by a
+      copyright notice that is included in or attached to the work
+      (an example is provided in the Appendix below).
+
+      "Derivative Works" shall mean any work, whether in Source or Object
+      form, that is based on (or derived from) the Work and for which the
+      editorial revisions, annotations, elaborations, or other modifications
+      represent, as a whole, an original work of authorship. For the purposes
+      of this License, Derivative Works shall not include works that remain
+      separable from, or merely link (or bind by name) to the interfaces of,
+      the Work and Derivative Works thereof.
+
+      "Contribution" shall mean any work of authorship, including
+      the original version of the Work and any modifications or additions
+      to that Work or Derivative Works thereof, that is intentionally
+      submitted to Licensor for inclusion in the Work by the copyright owner
+      or by an individual or Legal Entity authorized to submit on behalf of
+      the copyright owner. For the purposes of this definition, "submitted"
+      means any form of electronic, verbal, or written communication sent
+      to the Licensor or its representatives, including but not limited to
+      communication on electronic mailing lists, source code control systems,
+      and issue tracking systems that are managed by, or on behalf of, the
+      Licensor for the purpose of discussing and improving the Work, but
+      excluding communication that is conspicuously marked or otherwise
+      designated in writing by the copyright owner as "Not a Contribution."
+
+      "Contributor" shall mean Licensor and any individual or Legal Entity
+      on behalf of whom a Contribution has been received by Licensor and
+      subsequently incorporated within the Work.
+
+   2. Grant of Copyright License. Subject to the terms and conditions of
+      this License, each Contributor hereby grants to You a perpetual,
+      worldwide, non-exclusive, no-charge, royalty-free, irrevocable
+      copyright license to reproduce, prepare Derivative Works of,
+      publicly display, publicly perform, sublicense, and distribute the
+      Work and such Derivative Works in Source or Object form.
+
+   3. Grant of Patent License. Subject to the terms and conditions of
+      this License, each Contributor hereby grants to You a perpetual,
+      worldwide, non-exclusive, no-charge, royalty-free, irrevocable
+      (except as stated in this section) patent license to make, have made,
+      use, offer to sell, sell, import, and otherwise transfer the Work,
+      where such license applies only to those patent claims licensable
+      by such Contributor that are necessarily infringed by their
+      Contribution(s) alone or by combination of their Contribution(s)
+      with the Work to which such Contribution(s) was submitted. If You
+      institute patent litigation against any entity (including a
+      cross-claim or counterclaim in a lawsuit) alleging that the Work
+      or a Contribution incorporated within the Work constitutes direct
+      or contributory patent infringement, then any patent licenses
+      granted to You under this License for that Work shall terminate
+      as of the date such litigation is filed.
+
+   4. Redistribution. You may reproduce and distribute copies of the
+      Work or Derivative Works thereof in any medium, with or without
+      modifications, and in Source or Object form, provided that You
+      meet the following conditions:
+
+      (a) You must give any other recipients of the Work or
+          Derivative Works a copy of this License; and
+
+      (b) You must cause any modified files to carry prominent notices
+          stating that You changed the files; and
+
+      (c) You must retain, in the Source form of any Derivative Works
+          that You distribute, all copyright, patent, trademark, and
+          attribution notices from the Source form of the Work,
+          excluding those notices that do not pertain to any part of
+          the Derivative Works; and
+
+      (d) If the Work includes a "NOTICE" text file as part of its
+          distribution, then any Derivative Works that You distribute must
+          include a readable copy of the attribution notices contained
+          within such NOTICE file, excluding those notices that do not
+          pertain to any part of the Derivative Works, in at least one
+          of the following places: within a NOTICE text file distributed
+          as part of the Derivative Works; within the Source form or
+          documentation, if provided along with the Derivative Works; or,
+          within a display generated by the Derivative Works, if and
+          wherever such third-party notices normally appear. The contents
+          of the NOTICE file are for informational purposes only and
+          do not modify the License. You may add Your own attribution
+          notices within Derivative Works that You distribute, alongside
+          or as an addendum to the NOTICE text from the Work, provided
+          that such additional attribution notices cannot be construed
+          as modifying the License.
+
+      You may add Your own copyright statement to Your modifications and
+      may provide additional or different license terms and conditions
+      for use, reproduction, or distribution of Your modifications, or
+      for any such Derivative Works as a whole, provided Your use,
+      reproduction, and distribution of the Work otherwise complies with
+      the conditions stated in this License.
+
+   5. Submission of Contributions. Unless You explicitly state otherwise,
+      any Contribution intentionally submitted for inclusion in the Work
+      by You to the Licensor shall be under the terms and conditions of
+      this License, without any additional terms or conditions.
+      Notwithstanding the above, nothing herein shall supersede or modify
+      the terms of any separate license agreement you may have executed
+      with Licensor regarding such Contributions.
+
+   6. Trademarks. This License does not grant permission to use the trade
+      names, trademarks, service marks, or product names of the Licensor,
+      except as required for reasonable and customary use in describing the
+      origin of the Work and reproducing the content of the NOTICE file.
+
+   7. Disclaimer of Warranty. Unless required by applicable law or
+      agreed to in writing, Licensor provides the Work (and each
+      Contributor provides its Contributions) on an "AS IS" BASIS,
+      WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or
+      implied, including, without limitation, any warranties or conditions
+      of TITLE, NON-INFRINGEMENT, MERCHANTABILITY, or FITNESS FOR A
+      PARTICULAR PURPOSE. You are solely responsible for determining the
+      appropriateness of using or redistributing the Work and assume any
+      risks associated with Your exercise of permissions under this License.
+
+   8. Limitation of Liability. In no event and under no legal theory,
+      whether in tort (including negligence), contract, or otherwise,
+      unless required by applicable law (such as deliberate and grossly
+      negligent acts) or agreed to in writing, shall any Contributor be
+      liable to You for damages, including any direct, indirect, special,
+      incidental, or consequential damages of any character arising as a
+      result of this License or out of the use or inability to use the
+      Work (including but not limited to damages for loss of goodwill,
+      work stoppage, computer failure or malfunction, or any and all
+      other commercial damages or losses), even if such Contributor
+      has been advised of the possibility of such damages.
+
+   9. Accepting Warranty or Additional Liability. While redistributing
+      the Work or Derivative Works thereof, You may choose to offer,
+      and charge a fee for, acceptance of support, warranty, indemnity,
+      or other liability obligations and/or rights consistent with this
+      License. However, in accepting such obligations, You may act only
+      on Your own behalf and on Your sole responsibility, not on behalf
+      of any other Contributor, and only if You agree to indemnify,
+      defend, and hold each Contributor harmless for any liability
+      incurred by, or claims asserted against, such Contributor by reason
+      of your accepting any such warranty or additional liability.
+
+   END OF TERMS AND CONDITIONS
+
+   APPENDIX: How to apply the Apache License to your work.
+
+      To apply the Apache License to your work, attach the following
+      boilerplate notice, with the fields enclosed by brackets "[]"
+      replaced with your own identifying information. (Don't include
+      the brackets!)  The text should be enclosed in the appropriate
+      comment syntax for the file format. We also recommend that a
+      file or class name and description of purpose be included on the
+      same "printed page" as the copyright notice for easier
+      identification within third-party archives.
+
+   Copyright [yyyy] [name of copyright owner]
+
+   Licensed under the Apache License, Version 2.0 (the "License");
+   you may not use this file except in compliance with the License.
+   You may obtain a copy of the License at
+
+       http://www.apache.org/licenses/LICENSE-2.0
+
+   Unless required by applicable law or agreed to in writing, software
+   distributed under the License is distributed on an "AS IS" BASIS,
+   WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+   See the License for the specific language governing permissions and
+   limitations under the License.
+
+
+
+ +
+google-safe-browsing show license -homepage +homepage
-
// Copyright (c) 2006, Google Inc.
-// All rights reserved.
-//
-// Redistribution and use in source and binary forms, with or without
-// modification, are permitted provided that the following conditions are
-// met:
-//
-//     * Redistributions of source code must retain the above copyright
-// notice, this list of conditions and the following disclaimer.
-//     * Redistributions in binary form must reproduce the above
-// copyright notice, this list of conditions and the following disclaimer
-// in the documentation and/or other materials provided with the
-// distribution.
-//     * Neither the name of Google Inc. nor the names of its
-// contributors may be used to endorse or promote products derived from
-// this software without specific prior written permission.
-//
-// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
-// "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
-// LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
-// A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
-// OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
-// SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
-// LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
-// DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
-// THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
-// (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
-// OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+
Copyright 2009 Google Inc.
+
+Licensed under the Apache License, Version 2.0 (the "License");
+you may not use this file except in compliance with the License.
+You may obtain a copy of the License at
+
+     http://www.apache.org/licenses/LICENSE-2.0
+
+Unless required by applicable law or agreed to in writing, software
+distributed under the License is distributed on an "AS IS" BASIS,
+WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+See the License for the specific language governing permissions and
+limitations under the License.
 
-google-jstemplate +gsutil show license -homepage +homepage
                                  Apache License
@@ -11377,28 +13979,6 @@
 
-
-google-safe-browsing -show license -homepage -
-
Copyright 2009 Google Inc.
-
-Licensed under the Apache License, Version 2.0 (the "License");
-you may not use this file except in compliance with the License.
-You may obtain a copy of the License at
-
-     http://www.apache.org/licenses/LICENSE-2.0
-
-Unless required by applicable law or agreed to in writing, software
-distributed under the License is distributed on an "AS IS" BASIS,
-WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-See the License for the specific language governing permissions and
-limitations under the License.
-
-
-
-
harfbuzz-ng show license @@ -12241,7 +14821,7 @@ University of Illinois/NCSA Open Source License -Copyright (c) 2009-2015 by the contributors listed in CREDITS.TXT +Copyright (c) 2009-2014 by the contributors listed in CREDITS.TXT All rights reserved. @@ -12306,16 +14886,97 @@
-libevent +libcxxabi show license -homepage +homepage
-
Libevent is available for use under the following license, commonly known
-as the 3-clause (or "modified") BSD license:
+
==============================================================================
+libc++abi License
+==============================================================================
+
+The libc++abi library is dual licensed under both the University of Illinois
+"BSD-Like" license and the MIT license.  As a user of this code you may choose
+to use it under either license.  As a contributor, you agree to allow your code
+to be used under both.
+
+Full text of the relevant licenses is included below.
+
+==============================================================================
+
+University of Illinois/NCSA
+Open Source License
+
+Copyright (c) 2009-2014 by the contributors listed in CREDITS.TXT
+
+All rights reserved.
+
+Developed by:
+
+    LLVM Team
+
+    University of Illinois at Urbana-Champaign
+
+    http://llvm.org
+
+Permission is hereby granted, free of charge, to any person obtaining a copy of
+this software and associated documentation files (the "Software"), to deal with
+the Software without restriction, including without limitation the rights to
+use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies
+of the Software, and to permit persons to whom the Software is furnished to do
+so, subject to the following conditions:
+
+    * Redistributions of source code must retain the above copyright notice,
+      this list of conditions and the following disclaimers.
+
+    * Redistributions in binary form must reproduce the above copyright notice,
+      this list of conditions and the following disclaimers in the
+      documentation and/or other materials provided with the distribution.
+
+    * Neither the names of the LLVM Team, University of Illinois at
+      Urbana-Champaign, nor the names of its contributors may be used to
+      endorse or promote products derived from this Software without specific
+      prior written permission.
+
+THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
+IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS
+FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT.  IN NO EVENT SHALL THE
+CONTRIBUTORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
+LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
+OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS WITH THE
+SOFTWARE.
 
-==============================
-Copyright (c) 2000-2007 Niels Provos <provos@citi.umich.edu>
-Copyright (c) 2007-2010 Niels Provos and Nick Mathewson
+==============================================================================
+
+Copyright (c) 2009-2014 by the contributors listed in CREDITS.TXT
+
+Permission is hereby granted, free of charge, to any person obtaining a copy
+of this software and associated documentation files (the "Software"), to deal
+in the Software without restriction, including without limitation the rights
+to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
+copies of the Software, and to permit persons to whom the Software is
+furnished to do so, subject to the following conditions:
+
+The above copyright notice and this permission notice shall be included in
+all copies or substantial portions of the Software.
+
+THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
+IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
+FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
+AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
+LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
+OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
+THE SOFTWARE.
+
+
+
+ +
+libevent +show license +homepage +
+
Copyright 2000-2007 Niels Provos <provos@citi.umich.edu>
+Copyright 2007-2009 Niels Provos and Nick Mathewson
 
 Redistribution and use in source and binary forms, with or without
 modification, are permitted provided that the following conditions
@@ -12338,31 +14999,6 @@
 THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
 (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF
 THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
-==============================
-
-Portions of Libevent are based on works by others, also made available by
-them under the three-clause BSD license above.  The copyright notices are
-available in the corresponding source files; the license is as above.  Here's
-a list:
-
-log.c:
-   Copyright (c) 2000 Dug Song <dugsong@monkey.org>
-   Copyright (c) 1993 The Regents of the University of California.
-
-strlcpy.c:
-   Copyright (c) 1998 Todd C. Miller <Todd.Miller@courtesan.com>
-
-win32.c:
-   Copyright (c) 2003 Michael A. Davis <mike@datanerds.net>
-
-evport.c:
-   Copyright (c) 2007 Sun Microsystems
-
-min_heap.h:
-   Copyright (c) 2006 Maxim Yegorushkin <maxim.yegorushkin@gmail.com>
-
-tree.h:
-   Copyright 2002 Niels Provos <provos@citi.umich.edu>
 
@@ -12883,7 +15519,7 @@
libjingle show license -homepage +homepage
Copyright (c) 2013, Google Inc.
 All rights reserved.
@@ -13059,15 +15695,20 @@
 
 This code is released under the libpng license.
 
-libpng versions 1.0.7, July 1, 2000, through 1.2.54, November 12, 2015, are
-Copyright (c) 2000-2002, 2004, 2006-2015 Glenn Randers-Pehrson, are
-derived from libpng-1.0.6, and are distributed according to the same
-disclaimer and license as libpng-1.0.6 with the following individuals
-added to the list of Contributing Authors:
+libpng versions 1.2.6, August 15, 2004, through 1.2.52, November 20, 2014, are
+Copyright (c) 2004, 2006-2014 Glenn Randers-Pehrson, and are
+distributed according to the same disclaimer and license as libpng-1.2.5
+with the following individual added to the list of Contributing Authors
+
+   Cosmin Truta
+
+libpng versions 1.0.7, July 1, 2000, through 1.2.5 - October 3, 2002, are
+Copyright (c) 2000-2002 Glenn Randers-Pehrson, and are
+distributed according to the same disclaimer and license as libpng-1.0.6
+with the following individuals added to the list of Contributing Authors
 
    Simon-Pierre Cadieux
    Eric S. Raymond
-   Cosmin Truta
    Gilles Vollant
 
 and with the following additions to the disclaimer:
@@ -13080,20 +15721,18 @@
    the user.
 
 libpng versions 0.97, January 1998, through 1.0.6, March 20, 2000, are
-Copyright (c) 1998-2000 Glenn Randers-Pehrson, are derived from
-libpng-0.96, and are distributed according to the same disclaimer and
-license as libpng-0.96, with the following individuals added to the list
-of Contributing Authors:
+Copyright (c) 1998, 1999 Glenn Randers-Pehrson, and are
+distributed according to the same disclaimer and license as libpng-0.96,
+with the following individuals added to the list of Contributing Authors:
 
    Tom Lane
    Glenn Randers-Pehrson
    Willem van Schaik
 
 libpng versions 0.89, June 1996, through 0.96, May 1997, are
-Copyright (c) 1996-1997 Andreas Dilger, are derived from libpng-0.88,
-and are distributed according to the same disclaimer and license as
-libpng-0.88, with the following individuals added to the list of
-Contributing Authors:
+Copyright (c) 1996, 1997 Andreas Dilger
+Distributed according to the same disclaimer and license as libpng-0.88,
+with the following individuals added to the list of Contributing Authors:
 
    John Bowler
    Kevin Bracey
@@ -13103,7 +15742,7 @@
    Tom Tanner
 
 libpng versions 0.5, May 1995, through 0.88, January 1996, are
-Copyright (c) 1995-1996 Guy Eric Schalnat, Group 42, Inc.
+Copyright (c) 1995, 1996 Guy Eric Schalnat, Group 42, Inc.
 
 For the purposes of this copyright and license, "Contributing Authors"
 is defined as the following set of individuals:
@@ -13126,13 +15765,13 @@
 source code, or portions hereof, for any purpose, without fee, subject
 to the following restrictions:
 
-  1. The origin of this source code must not be misrepresented.
+1. The origin of this source code must not be misrepresented.
 
-  2. Altered versions must be plainly marked as such and must not
-     be misrepresented as being the original source.
+2. Altered versions must be plainly marked as such and must not
+   be misrepresented as being the original source.
 
-  3. This Copyright notice may not be removed or altered from any
-     source or altered source distribution.
+3. This Copyright notice may not be removed or altered from any
+   source or altered source distribution.
 
 The Contributing Authors and Group 42, Inc. specifically permit, without
 fee, and encourage the use of this source code as a component to
@@ -13140,23 +15779,21 @@
 source code in a product, acknowledgment is not required but would be
 appreciated.
 
-END OF COPYRIGHT NOTICE, DISCLAIMER, and LICENSE.
 
 A "png_get_copyright" function is available, for convenient use in "about"
 boxes and the like:
 
-   printf("%s", png_get_copyright(NULL));
+   printf("%s",png_get_copyright(NULL));
 
 Also, the PNG logo (in PNG format, of course) is supplied in the
 files "pngbar.png" and "pngbar.jpg (88x31) and "pngnow.png" (98x31).
 
-Libpng is OSI Certified Open Source Software.  OSI Certified Open Source is
-a certification mark of the Open Source Initiative. OSI has not addressed
-the additional disclaimers inserted at version 1.0.7.
+Libpng is OSI Certified Open Source Software.  OSI Certified Open Source is a
+certification mark of the Open Source Initiative.
 
 Glenn Randers-Pehrson
 glennrp at users.sourceforge.net
-November 12, 2015
+November 20, 2014
 
@@ -13718,7 +16355,7 @@
libudev show license -homepage +homepage
                  GNU LESSER GENERAL PUBLIC LICENSE
                        Version 2.1, February 1999
@@ -15572,37 +18209,135 @@
 
-minigbm +minigbm +show license +homepage +
+
// Copyright 2014 The Chromium OS Authors. All rights reserved.
+//
+// Redistribution and use in source and binary forms, with or without
+// modification, are permitted provided that the following conditions are
+// met:
+//
+//    * Redistributions of source code must retain the above copyright
+// notice, this list of conditions and the following disclaimer.
+//    * Redistributions in binary form must reproduce the above
+// copyright notice, this list of conditions and the following disclaimer
+// in the documentation and/or other materials provided with the
+// distribution.
+//    * Neither the name of Google Inc. nor the names of its
+// contributors may be used to endorse or promote products derived from
+// this software without specific prior written permission.
+//
+// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
+// "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
+// LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
+// A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
+// OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
+// SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
+// LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
+// DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
+// THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
+// (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
+// OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+
+
+
+ +
+mock +show license +homepage +
+
Copyright (c) 2003-2012, Michael Foord
+All rights reserved.
+
+Redistribution and use in source and binary forms, with or without
+modification, are permitted provided that the following conditions are
+met:
+
+    * Redistributions of source code must retain the above copyright
+      notice, this list of conditions and the following disclaimer.
+
+    * Redistributions in binary form must reproduce the above
+      copyright notice, this list of conditions and the following
+      disclaimer in the documentation and/or other materials provided
+      with the distribution.
+
+THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
+"AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
+LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
+A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
+OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
+SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
+LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
+DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
+THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
+(INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
+OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+
+
+
+ +
+mock +show license +homepage +
+
Copyright (c) 2003-2012, Michael Foord
+All rights reserved.
+
+Redistribution and use in source and binary forms, with or without
+modification, are permitted provided that the following conditions are
+met:
+
+    * Redistributions of source code must retain the above copyright
+      notice, this list of conditions and the following disclaimer.
+
+    * Redistributions in binary form must reproduce the above
+      copyright notice, this list of conditions and the following
+      disclaimer in the documentation and/or other materials provided
+      with the distribution.
+
+THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
+"AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
+LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
+A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
+OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
+SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
+LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
+DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
+THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
+(INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
+OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+
+
+
+ +
+mock4js show license -homepage +homepage
-
// Copyright 2014 The Chromium OS Authors. All rights reserved.
-//
-// Redistribution and use in source and binary forms, with or without
-// modification, are permitted provided that the following conditions are
-// met:
-//
-//    * Redistributions of source code must retain the above copyright
-// notice, this list of conditions and the following disclaimer.
-//    * Redistributions in binary form must reproduce the above
-// copyright notice, this list of conditions and the following disclaimer
-// in the documentation and/or other materials provided with the
-// distribution.
-//    * Neither the name of Google Inc. nor the names of its
-// contributors may be used to endorse or promote products derived from
-// this software without specific prior written permission.
-//
-// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
-// "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
-// LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
-// A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
-// OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
-// SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
-// LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
-// DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
-// THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
-// (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
-// OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+
Copyright (C) 2009 by Tung Mac.
+
+Permission is hereby granted, free of charge, to any person obtaining a copy
+of this software and associated documentation files (the "Software"), to deal
+in the Software without restriction, including without limitation the rights
+to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
+copies of the Software, and to permit persons to whom the Software is
+furnished to do so, subject to the following conditions:
+
+The above copyright notice and this permission notice shall be included in
+all copies or substantial portions of the Software.
+
+THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
+IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
+FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
+AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
+LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
+OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
+THE SOFTWARE.
 
@@ -15610,7 +18345,7 @@
modp base64 decoder show license -homepage +homepage
 * MODP_B64 - High performance base64 encoder/decoder
  * Version 1.3 -- 17-Mar-2006
@@ -15649,6 +18384,249 @@
 
+
+modulegraph +show license +homepage +
+
License
+=======
+
+Copyright (c) Bob Ippolito
+
+Parts are copyright (c) 2010-2014 Ronald Oussoren
+
+MIT License
+...........
+
+Permission is hereby granted, free of charge, to any person obtaining a copy of this software
+and associated documentation files (the "Software"), to deal in the Software without restriction,
+including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense,
+and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do
+so.
+
+THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED,
+INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR
+PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE
+FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE,
+ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
+THE SOFTWARE.
+
+
+
+
+ +
+mox3 +show license +homepage +
+
+                                 Apache License
+                           Version 2.0, January 2004
+                        http://www.apache.org/licenses/
+
+   TERMS AND CONDITIONS FOR USE, REPRODUCTION, AND DISTRIBUTION
+
+   1. Definitions.
+
+      "License" shall mean the terms and conditions for use, reproduction,
+      and distribution as defined by Sections 1 through 9 of this document.
+
+      "Licensor" shall mean the copyright owner or entity authorized by
+      the copyright owner that is granting the License.
+
+      "Legal Entity" shall mean the union of the acting entity and all
+      other entities that control, are controlled by, or are under common
+      control with that entity. For the purposes of this definition,
+      "control" means (i) the power, direct or indirect, to cause the
+      direction or management of such entity, whether by contract or
+      otherwise, or (ii) ownership of fifty percent (50%) or more of the
+      outstanding shares, or (iii) beneficial ownership of such entity.
+
+      "You" (or "Your") shall mean an individual or Legal Entity
+      exercising permissions granted by this License.
+
+      "Source" form shall mean the preferred form for making modifications,
+      including but not limited to software source code, documentation
+      source, and configuration files.
+
+      "Object" form shall mean any form resulting from mechanical
+      transformation or translation of a Source form, including but
+      not limited to compiled object code, generated documentation,
+      and conversions to other media types.
+
+      "Work" shall mean the work of authorship, whether in Source or
+      Object form, made available under the License, as indicated by a
+      copyright notice that is included in or attached to the work
+      (an example is provided in the Appendix below).
+
+      "Derivative Works" shall mean any work, whether in Source or Object
+      form, that is based on (or derived from) the Work and for which the
+      editorial revisions, annotations, elaborations, or other modifications
+      represent, as a whole, an original work of authorship. For the purposes
+      of this License, Derivative Works shall not include works that remain
+      separable from, or merely link (or bind by name) to the interfaces of,
+      the Work and Derivative Works thereof.
+
+      "Contribution" shall mean any work of authorship, including
+      the original version of the Work and any modifications or additions
+      to that Work or Derivative Works thereof, that is intentionally
+      submitted to Licensor for inclusion in the Work by the copyright owner
+      or by an individual or Legal Entity authorized to submit on behalf of
+      the copyright owner. For the purposes of this definition, "submitted"
+      means any form of electronic, verbal, or written communication sent
+      to the Licensor or its representatives, including but not limited to
+      communication on electronic mailing lists, source code control systems,
+      and issue tracking systems that are managed by, or on behalf of, the
+      Licensor for the purpose of discussing and improving the Work, but
+      excluding communication that is conspicuously marked or otherwise
+      designated in writing by the copyright owner as "Not a Contribution."
+
+      "Contributor" shall mean Licensor and any individual or Legal Entity
+      on behalf of whom a Contribution has been received by Licensor and
+      subsequently incorporated within the Work.
+
+   2. Grant of Copyright License. Subject to the terms and conditions of
+      this License, each Contributor hereby grants to You a perpetual,
+      worldwide, non-exclusive, no-charge, royalty-free, irrevocable
+      copyright license to reproduce, prepare Derivative Works of,
+      publicly display, publicly perform, sublicense, and distribute the
+      Work and such Derivative Works in Source or Object form.
+
+   3. Grant of Patent License. Subject to the terms and conditions of
+      this License, each Contributor hereby grants to You a perpetual,
+      worldwide, non-exclusive, no-charge, royalty-free, irrevocable
+      (except as stated in this section) patent license to make, have made,
+      use, offer to sell, sell, import, and otherwise transfer the Work,
+      where such license applies only to those patent claims licensable
+      by such Contributor that are necessarily infringed by their
+      Contribution(s) alone or by combination of their Contribution(s)
+      with the Work to which such Contribution(s) was submitted. If You
+      institute patent litigation against any entity (including a
+      cross-claim or counterclaim in a lawsuit) alleging that the Work
+      or a Contribution incorporated within the Work constitutes direct
+      or contributory patent infringement, then any patent licenses
+      granted to You under this License for that Work shall terminate
+      as of the date such litigation is filed.
+
+   4. Redistribution. You may reproduce and distribute copies of the
+      Work or Derivative Works thereof in any medium, with or without
+      modifications, and in Source or Object form, provided that You
+      meet the following conditions:
+
+      (a) You must give any other recipients of the Work or
+          Derivative Works a copy of this License; and
+
+      (b) You must cause any modified files to carry prominent notices
+          stating that You changed the files; and
+
+      (c) You must retain, in the Source form of any Derivative Works
+          that You distribute, all copyright, patent, trademark, and
+          attribution notices from the Source form of the Work,
+          excluding those notices that do not pertain to any part of
+          the Derivative Works; and
+
+      (d) If the Work includes a "NOTICE" text file as part of its
+          distribution, then any Derivative Works that You distribute must
+          include a readable copy of the attribution notices contained
+          within such NOTICE file, excluding those notices that do not
+          pertain to any part of the Derivative Works, in at least one
+          of the following places: within a NOTICE text file distributed
+          as part of the Derivative Works; within the Source form or
+          documentation, if provided along with the Derivative Works; or,
+          within a display generated by the Derivative Works, if and
+          wherever such third-party notices normally appear. The contents
+          of the NOTICE file are for informational purposes only and
+          do not modify the License. You may add Your own attribution
+          notices within Derivative Works that You distribute, alongside
+          or as an addendum to the NOTICE text from the Work, provided
+          that such additional attribution notices cannot be construed
+          as modifying the License.
+
+      You may add Your own copyright statement to Your modifications and
+      may provide additional or different license terms and conditions
+      for use, reproduction, or distribution of Your modifications, or
+      for any such Derivative Works as a whole, provided Your use,
+      reproduction, and distribution of the Work otherwise complies with
+      the conditions stated in this License.
+
+   5. Submission of Contributions. Unless You explicitly state otherwise,
+      any Contribution intentionally submitted for inclusion in the Work
+      by You to the Licensor shall be under the terms and conditions of
+      this License, without any additional terms or conditions.
+      Notwithstanding the above, nothing herein shall supersede or modify
+      the terms of any separate license agreement you may have executed
+      with Licensor regarding such Contributions.
+
+   6. Trademarks. This License does not grant permission to use the trade
+      names, trademarks, service marks, or product names of the Licensor,
+      except as required for reasonable and customary use in describing the
+      origin of the Work and reproducing the content of the NOTICE file.
+
+   7. Disclaimer of Warranty. Unless required by applicable law or
+      agreed to in writing, Licensor provides the Work (and each
+      Contributor provides its Contributions) on an "AS IS" BASIS,
+      WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or
+      implied, including, without limitation, any warranties or conditions
+      of TITLE, NON-INFRINGEMENT, MERCHANTABILITY, or FITNESS FOR A
+      PARTICULAR PURPOSE. You are solely responsible for determining the
+      appropriateness of using or redistributing the Work and assume any
+      risks associated with Your exercise of permissions under this License.
+
+   8. Limitation of Liability. In no event and under no legal theory,
+      whether in tort (including negligence), contract, or otherwise,
+      unless required by applicable law (such as deliberate and grossly
+      negligent acts) or agreed to in writing, shall any Contributor be
+      liable to You for damages, including any direct, indirect, special,
+      incidental, or consequential damages of any character arising as a
+      result of this License or out of the use or inability to use the
+      Work (including but not limited to damages for loss of goodwill,
+      work stoppage, computer failure or malfunction, or any and all
+      other commercial damages or losses), even if such Contributor
+      has been advised of the possibility of such damages.
+
+   9. Accepting Warranty or Additional Liability. While redistributing
+      the Work or Derivative Works thereof, You may choose to offer,
+      and charge a fee for, acceptance of support, warranty, indemnity,
+      or other liability obligations and/or rights consistent with this
+      License. However, in accepting such obligations, You may act only
+      on Your own behalf and on Your sole responsibility, not on behalf
+      of any other Contributor, and only if You agree to indemnify,
+      defend, and hold each Contributor harmless for any liability
+      incurred by, or claims asserted against, such Contributor by reason
+      of your accepting any such warranty or additional liability.
+
+   END OF TERMS AND CONDITIONS
+
+   APPENDIX: How to apply the Apache License to your work.
+
+      To apply the Apache License to your work, attach the following
+      boilerplate notice, with the fields enclosed by brackets "[]"
+      replaced with your own identifying information. (Don't include
+      the brackets!)  The text should be enclosed in the appropriate
+      comment syntax for the file format. We also recommend that a
+      file or class name and description of purpose be included on the
+      same "printed page" as the copyright notice for easier
+      identification within third-party archives.
+
+   Copyright [yyyy] [name of copyright owner]
+
+   Licensed under the Apache License, Version 2.0 (the "License");
+   you may not use this file except in compliance with the License.
+   You may obtain a copy of the License at
+
+       http://www.apache.org/licenses/LICENSE-2.0
+
+   Unless required by applicable law or agreed to in writing, software
+   distributed under the License is distributed on an "AS IS" BASIS,
+   WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+   See the License for the specific language governing permissions and
+   limitations under the License.
+
+
+
+
mt19937ar show license @@ -16232,62 +19210,326 @@ automake --cygnus Makefile -Let's say you create a new machine directory XXXX off of newlib/libc/machine. -After creating a new configure.in and Makefile.am file, you would issue: +Let's say you create a new machine directory XXXX off of newlib/libc/machine. +After creating a new configure.in and Makefile.am file, you would issue: + + aclocal -I ../../.. + autoconf + automake --cygnus Makefile + +from newlib/libc/machine/XXXX + +It is strongly advised that you use an adequate version of autotools. +For this latest release, the following were used: autoconf 2.68, aclocal 1.11.6, and +automake 1.11.6. + +Reporting Bugs +============== + +The correct address for reporting bugs found in NEWLIB is +"newlib@sourceware.org". Please email all bug reports to that +address. Please include the NEWLIB version number (e.g., newlib-2.0.0), +and how you configured it (e.g., "sun4 host and m68k-aout target"). +Since NEWLIB supports many different configurations, it is important +that you be precise about this. + +Archives of the newlib mailing list are on-line, see + http://sourceware.org/ml/newlib/ + +
+
+ +
+ocmock +show license +homepage +
+
  
+  Copyright (c) 2004-2012 by Mulle Kybernetik. All rights reserved.
+
+  Permission to use, copy, modify and distribute this software and its documentation
+  is hereby granted, provided that both the copyright notice and this permission
+  notice appear in all copies of the software, derivative works or modified versions,
+  and any portions thereof, and that both notices appear in supporting documentation,
+  and that credit is given to Mulle Kybernetik in all documents and publicity
+  pertaining to direct or indirect use of this code or its derivatives.
+
+  THIS IS EXPERIMENTAL SOFTWARE AND IT IS KNOWN TO HAVE BUGS, SOME OF WHICH MAY HAVE
+  SERIOUS CONSEQUENCES. THE COPYRIGHT HOLDER ALLOWS FREE USE OF THIS SOFTWARE IN ITS
+  "AS IS" CONDITION. THE COPYRIGHT HOLDER DISCLAIMS ANY LIABILITY OF ANY KIND FOR ANY
+  DAMAGES WHATSOEVER RESULTING DIRECTLY OR INDIRECTLY FROM THE USE OF THIS SOFTWARE
+  OR OF ANY DERIVATIVE WORK.
+
+
+ +
+open-vcdiff +show license +homepage +
+
+                                 Apache License
+                           Version 2.0, January 2004
+                        http://www.apache.org/licenses/
+
+   TERMS AND CONDITIONS FOR USE, REPRODUCTION, AND DISTRIBUTION
+
+   1. Definitions.
+
+      "License" shall mean the terms and conditions for use, reproduction,
+      and distribution as defined by Sections 1 through 9 of this document.
+
+      "Licensor" shall mean the copyright owner or entity authorized by
+      the copyright owner that is granting the License.
+
+      "Legal Entity" shall mean the union of the acting entity and all
+      other entities that control, are controlled by, or are under common
+      control with that entity. For the purposes of this definition,
+      "control" means (i) the power, direct or indirect, to cause the
+      direction or management of such entity, whether by contract or
+      otherwise, or (ii) ownership of fifty percent (50%) or more of the
+      outstanding shares, or (iii) beneficial ownership of such entity.
+
+      "You" (or "Your") shall mean an individual or Legal Entity
+      exercising permissions granted by this License.
+
+      "Source" form shall mean the preferred form for making modifications,
+      including but not limited to software source code, documentation
+      source, and configuration files.
+
+      "Object" form shall mean any form resulting from mechanical
+      transformation or translation of a Source form, including but
+      not limited to compiled object code, generated documentation,
+      and conversions to other media types.
+
+      "Work" shall mean the work of authorship, whether in Source or
+      Object form, made available under the License, as indicated by a
+      copyright notice that is included in or attached to the work
+      (an example is provided in the Appendix below).
+
+      "Derivative Works" shall mean any work, whether in Source or Object
+      form, that is based on (or derived from) the Work and for which the
+      editorial revisions, annotations, elaborations, or other modifications
+      represent, as a whole, an original work of authorship. For the purposes
+      of this License, Derivative Works shall not include works that remain
+      separable from, or merely link (or bind by name) to the interfaces of,
+      the Work and Derivative Works thereof.
+
+      "Contribution" shall mean any work of authorship, including
+      the original version of the Work and any modifications or additions
+      to that Work or Derivative Works thereof, that is intentionally
+      submitted to Licensor for inclusion in the Work by the copyright owner
+      or by an individual or Legal Entity authorized to submit on behalf of
+      the copyright owner. For the purposes of this definition, "submitted"
+      means any form of electronic, verbal, or written communication sent
+      to the Licensor or its representatives, including but not limited to
+      communication on electronic mailing lists, source code control systems,
+      and issue tracking systems that are managed by, or on behalf of, the
+      Licensor for the purpose of discussing and improving the Work, but
+      excluding communication that is conspicuously marked or otherwise
+      designated in writing by the copyright owner as "Not a Contribution."
+
+      "Contributor" shall mean Licensor and any individual or Legal Entity
+      on behalf of whom a Contribution has been received by Licensor and
+      subsequently incorporated within the Work.
+
+   2. Grant of Copyright License. Subject to the terms and conditions of
+      this License, each Contributor hereby grants to You a perpetual,
+      worldwide, non-exclusive, no-charge, royalty-free, irrevocable
+      copyright license to reproduce, prepare Derivative Works of,
+      publicly display, publicly perform, sublicense, and distribute the
+      Work and such Derivative Works in Source or Object form.
+
+   3. Grant of Patent License. Subject to the terms and conditions of
+      this License, each Contributor hereby grants to You a perpetual,
+      worldwide, non-exclusive, no-charge, royalty-free, irrevocable
+      (except as stated in this section) patent license to make, have made,
+      use, offer to sell, sell, import, and otherwise transfer the Work,
+      where such license applies only to those patent claims licensable
+      by such Contributor that are necessarily infringed by their
+      Contribution(s) alone or by combination of their Contribution(s)
+      with the Work to which such Contribution(s) was submitted. If You
+      institute patent litigation against any entity (including a
+      cross-claim or counterclaim in a lawsuit) alleging that the Work
+      or a Contribution incorporated within the Work constitutes direct
+      or contributory patent infringement, then any patent licenses
+      granted to You under this License for that Work shall terminate
+      as of the date such litigation is filed.
+
+   4. Redistribution. You may reproduce and distribute copies of the
+      Work or Derivative Works thereof in any medium, with or without
+      modifications, and in Source or Object form, provided that You
+      meet the following conditions:
+
+      (a) You must give any other recipients of the Work or
+          Derivative Works a copy of this License; and
+
+      (b) You must cause any modified files to carry prominent notices
+          stating that You changed the files; and
+
+      (c) You must retain, in the Source form of any Derivative Works
+          that You distribute, all copyright, patent, trademark, and
+          attribution notices from the Source form of the Work,
+          excluding those notices that do not pertain to any part of
+          the Derivative Works; and
+
+      (d) If the Work includes a "NOTICE" text file as part of its
+          distribution, then any Derivative Works that You distribute must
+          include a readable copy of the attribution notices contained
+          within such NOTICE file, excluding those notices that do not
+          pertain to any part of the Derivative Works, in at least one
+          of the following places: within a NOTICE text file distributed
+          as part of the Derivative Works; within the Source form or
+          documentation, if provided along with the Derivative Works; or,
+          within a display generated by the Derivative Works, if and
+          wherever such third-party notices normally appear. The contents
+          of the NOTICE file are for informational purposes only and
+          do not modify the License. You may add Your own attribution
+          notices within Derivative Works that You distribute, alongside
+          or as an addendum to the NOTICE text from the Work, provided
+          that such additional attribution notices cannot be construed
+          as modifying the License.
+
+      You may add Your own copyright statement to Your modifications and
+      may provide additional or different license terms and conditions
+      for use, reproduction, or distribution of Your modifications, or
+      for any such Derivative Works as a whole, provided Your use,
+      reproduction, and distribution of the Work otherwise complies with
+      the conditions stated in this License.
+
+   5. Submission of Contributions. Unless You explicitly state otherwise,
+      any Contribution intentionally submitted for inclusion in the Work
+      by You to the Licensor shall be under the terms and conditions of
+      this License, without any additional terms or conditions.
+      Notwithstanding the above, nothing herein shall supersede or modify
+      the terms of any separate license agreement you may have executed
+      with Licensor regarding such Contributions.
+
+   6. Trademarks. This License does not grant permission to use the trade
+      names, trademarks, service marks, or product names of the Licensor,
+      except as required for reasonable and customary use in describing the
+      origin of the Work and reproducing the content of the NOTICE file.
+
+   7. Disclaimer of Warranty. Unless required by applicable law or
+      agreed to in writing, Licensor provides the Work (and each
+      Contributor provides its Contributions) on an "AS IS" BASIS,
+      WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or
+      implied, including, without limitation, any warranties or conditions
+      of TITLE, NON-INFRINGEMENT, MERCHANTABILITY, or FITNESS FOR A
+      PARTICULAR PURPOSE. You are solely responsible for determining the
+      appropriateness of using or redistributing the Work and assume any
+      risks associated with Your exercise of permissions under this License.
+
+   8. Limitation of Liability. In no event and under no legal theory,
+      whether in tort (including negligence), contract, or otherwise,
+      unless required by applicable law (such as deliberate and grossly
+      negligent acts) or agreed to in writing, shall any Contributor be
+      liable to You for damages, including any direct, indirect, special,
+      incidental, or consequential damages of any character arising as a
+      result of this License or out of the use or inability to use the
+      Work (including but not limited to damages for loss of goodwill,
+      work stoppage, computer failure or malfunction, or any and all
+      other commercial damages or losses), even if such Contributor
+      has been advised of the possibility of such damages.
+
+   9. Accepting Warranty or Additional Liability. While redistributing
+      the Work or Derivative Works thereof, You may choose to offer,
+      and charge a fee for, acceptance of support, warranty, indemnity,
+      or other liability obligations and/or rights consistent with this
+      License. However, in accepting such obligations, You may act only
+      on Your own behalf and on Your sole responsibility, not on behalf
+      of any other Contributor, and only if You agree to indemnify,
+      defend, and hold each Contributor harmless for any liability
+      incurred by, or claims asserted against, such Contributor by reason
+      of your accepting any such warranty or additional liability.
+
+   END OF TERMS AND CONDITIONS
 
-   aclocal -I ../../..
-   autoconf
-   automake --cygnus Makefile
+   APPENDIX: How to apply the Apache License to your work.
 
-from newlib/libc/machine/XXXX
+      To apply the Apache License to your work, attach the following
+      boilerplate notice, with the fields enclosed by brackets "[]"
+      replaced with your own identifying information. (Don't include
+      the brackets!)  The text should be enclosed in the appropriate
+      comment syntax for the file format. We also recommend that a
+      file or class name and description of purpose be included on the
+      same "printed page" as the copyright notice for easier
+      identification within third-party archives.
 
-It is strongly advised that you use an adequate version of autotools.
-For this latest release, the following were used: autoconf 2.68, aclocal 1.11.6, and 
-automake 1.11.6.
+   Copyright 2008 The open-vcdiff Authors. All Rights Reserved.
 
-Reporting Bugs
-==============
+   Licensed under the Apache License, Version 2.0 (the "License");
+   you may not use this file except in compliance with the License.
+   You may obtain a copy of the License at
 
-The correct address for reporting bugs found in NEWLIB is
-"newlib@sourceware.org".  Please email all bug reports to that
-address.  Please include the NEWLIB version number (e.g., newlib-2.0.0),
-and how you configured it (e.g., "sun4 host and m68k-aout target").
-Since NEWLIB supports many different configurations, it is important
-that you be precise about this.
+       http://www.apache.org/licenses/LICENSE-2.0
 
-Archives of the newlib mailing list are on-line, see
-	http://sourceware.org/ml/newlib/
+   Unless required by applicable law or agreed to in writing, software
+   distributed under the License is distributed on an "AS IS" BASIS,
+   WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+   See the License for the specific language governing permissions and
+   limitations under the License.
 
-ocmock +opus show license -homepage +homepage
-
  
-  Copyright (c) 2004-2012 by Mulle Kybernetik. All rights reserved.
+
Copyright 2001-2011 Xiph.Org, Skype Limited, Octasic,
+                    Jean-Marc Valin, Timothy B. Terriberry,
+                    CSIRO, Gregory Maxwell, Mark Borgerding,
+                    Erik de Castro Lopo
 
-  Permission to use, copy, modify and distribute this software and its documentation
-  is hereby granted, provided that both the copyright notice and this permission
-  notice appear in all copies of the software, derivative works or modified versions,
-  and any portions thereof, and that both notices appear in supporting documentation,
-  and that credit is given to Mulle Kybernetik in all documents and publicity
-  pertaining to direct or indirect use of this code or its derivatives.
+Redistribution and use in source and binary forms, with or without
+modification, are permitted provided that the following conditions
+are met:
 
-  THIS IS EXPERIMENTAL SOFTWARE AND IT IS KNOWN TO HAVE BUGS, SOME OF WHICH MAY HAVE
-  SERIOUS CONSEQUENCES. THE COPYRIGHT HOLDER ALLOWS FREE USE OF THIS SOFTWARE IN ITS
-  "AS IS" CONDITION. THE COPYRIGHT HOLDER DISCLAIMS ANY LIABILITY OF ANY KIND FOR ANY
-  DAMAGES WHATSOEVER RESULTING DIRECTLY OR INDIRECTLY FROM THE USE OF THIS SOFTWARE
-  OR OF ANY DERIVATIVE WORK.
+- Redistributions of source code must retain the above copyright +notice, this list of conditions and the following disclaimer. + +- Redistributions in binary form must reproduce the above copyright +notice, this list of conditions and the following disclaimer in the +documentation and/or other materials provided with the distribution. + +- Neither the name of Internet Society, IETF or IETF Trust, nor the +names of specific contributors, may be used to endorse or promote +products derived from this software without specific prior written +permission. + +THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS +``AS IS'' AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT +LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR +A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER +OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, +EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, +PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR +PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF +LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING +NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS +SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. + +Opus is subject to the royalty-free patent licenses which are +specified at: + +Xiph.Org Foundation: +https://datatracker.ietf.org/ipr/1524/ + +Microsoft Corporation: +https://datatracker.ietf.org/ipr/1914/ + +Broadcom Corporation: +https://datatracker.ietf.org/ipr/1526/ +
-open-vcdiff +pdfsqueeze show license -homepage +homepage
                                  Apache License
@@ -16419,139 +19661,427 @@
       reproduction, and distribution of the Work otherwise complies with
       the conditions stated in this License.
 
-   5. Submission of Contributions. Unless You explicitly state otherwise,
-      any Contribution intentionally submitted for inclusion in the Work
-      by You to the Licensor shall be under the terms and conditions of
-      this License, without any additional terms or conditions.
-      Notwithstanding the above, nothing herein shall supersede or modify
-      the terms of any separate license agreement you may have executed
-      with Licensor regarding such Contributions.
+   5. Submission of Contributions. Unless You explicitly state otherwise,
+      any Contribution intentionally submitted for inclusion in the Work
+      by You to the Licensor shall be under the terms and conditions of
+      this License, without any additional terms or conditions.
+      Notwithstanding the above, nothing herein shall supersede or modify
+      the terms of any separate license agreement you may have executed
+      with Licensor regarding such Contributions.
+
+   6. Trademarks. This License does not grant permission to use the trade
+      names, trademarks, service marks, or product names of the Licensor,
+      except as required for reasonable and customary use in describing the
+      origin of the Work and reproducing the content of the NOTICE file.
+
+   7. Disclaimer of Warranty. Unless required by applicable law or
+      agreed to in writing, Licensor provides the Work (and each
+      Contributor provides its Contributions) on an "AS IS" BASIS,
+      WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or
+      implied, including, without limitation, any warranties or conditions
+      of TITLE, NON-INFRINGEMENT, MERCHANTABILITY, or FITNESS FOR A
+      PARTICULAR PURPOSE. You are solely responsible for determining the
+      appropriateness of using or redistributing the Work and assume any
+      risks associated with Your exercise of permissions under this License.
+
+   8. Limitation of Liability. In no event and under no legal theory,
+      whether in tort (including negligence), contract, or otherwise,
+      unless required by applicable law (such as deliberate and grossly
+      negligent acts) or agreed to in writing, shall any Contributor be
+      liable to You for damages, including any direct, indirect, special,
+      incidental, or consequential damages of any character arising as a
+      result of this License or out of the use or inability to use the
+      Work (including but not limited to damages for loss of goodwill,
+      work stoppage, computer failure or malfunction, or any and all
+      other commercial damages or losses), even if such Contributor
+      has been advised of the possibility of such damages.
+
+   9. Accepting Warranty or Additional Liability. While redistributing
+      the Work or Derivative Works thereof, You may choose to offer,
+      and charge a fee for, acceptance of support, warranty, indemnity,
+      or other liability obligations and/or rights consistent with this
+      License. However, in accepting such obligations, You may act only
+      on Your own behalf and on Your sole responsibility, not on behalf
+      of any other Contributor, and only if You agree to indemnify,
+      defend, and hold each Contributor harmless for any liability
+      incurred by, or claims asserted against, such Contributor by reason
+      of your accepting any such warranty or additional liability.
+
+   END OF TERMS AND CONDITIONS
+
+   APPENDIX: How to apply the Apache License to your work.
+
+      To apply the Apache License to your work, attach the following
+      boilerplate notice, with the fields enclosed by brackets "[]"
+      replaced with your own identifying information. (Don't include
+      the brackets!)  The text should be enclosed in the appropriate
+      comment syntax for the file format. We also recommend that a
+      file or class name and description of purpose be included on the
+      same "printed page" as the copyright notice for easier
+      identification within third-party archives.
+
+   Copyright 2007 Google Inc.
+
+   Licensed under the Apache License, Version 2.0 (the "License");
+   you may not use this file except in compliance with the License.
+   You may obtain a copy of the License at
+
+       http://www.apache.org/licenses/LICENSE-2.0
+
+   Unless required by applicable law or agreed to in writing, software
+   distributed under the License is distributed on an "AS IS" BASIS,
+   WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+   See the License for the specific language governing permissions and
+   limitations under the License.
+
+
+ +
+powergadget_lib +show license +homepage +
+
Copyright (c) 2014, Intel Corporation
+All rights reserved.
+
+Redistribution and use in source and binary forms, with or without
+modification, are permitted provided that the following conditions are
+met:
+
+    * Redistributions of source code must retain the above copyright
+notice, this list of conditions and the following disclaimer.
+    * Redistributions in binary form must reproduce the above
+copyright notice, this list of conditions and the following disclaimer
+in the documentation and/or other materials provided with the
+distribution.
+    * Neither the name of Intel Corporation nor the names of its
+contributors may be used to endorse or promote products derived from
+this software without specific prior written permission.
+
+THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
+"AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
+LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
+A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
+OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
+SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
+LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
+DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
+THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
+(INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
+OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+
+
+ +
+pthreads-win32 +show license +homepage +
+
	pthreads-win32 - a POSIX threads library for Microsoft Windows
+
+
+This file is Copyrighted
+------------------------
+
+    This file is covered under the following Copyright:
+
+	Copyright (C) 2001,2006 Ross P. Johnson
+	All rights reserved.
+
+	Everyone is permitted to copy and distribute verbatim copies
+	of this license document, but changing it is not allowed.
+
+Pthreads-win32 is covered by the GNU Lesser General Public License
+------------------------------------------------------------------
+
+    Pthreads-win32 is open software; you can redistribute it and/or
+    modify it under the terms of the GNU Lesser General Public License
+    as published by the Free Software Foundation version 2.1 of the
+    License.
+
+    Pthreads-win32 is several binary link libraries, several modules,
+    associated interface definition files and scripts used to control
+    its compilation and installation.
+
+    Pthreads-win32 is distributed in the hope that it will be useful,
+    but WITHOUT ANY WARRANTY; without even the implied warranty of
+    MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+    GNU Lesser General Public License for more details.
+
+    A copy of the GNU Lesser General Public License is distributed with
+    pthreads-win32 under the filename:
+
+	    COPYING.LIB
+
+    You should have received a copy of the version 2.1 GNU Lesser General
+    Public License with pthreads-win32; if not, write to:
+
+	    Free Software Foundation, Inc.
+	    59 Temple Place
+	    Suite 330
+	    Boston, MA	02111-1307
+	    USA
+
+    The contact addresses for pthreads-win32 is as follows:
+
+        Web:	http://sources.redhat.com/pthreads-win32
+        Email:  Ross Johnson
+                Please use: Firstname.Lastname@homemail.com.au
+
+
+
+Pthreads-win32 copyrights and exception files
+---------------------------------------------
+
+    With the exception of the files listed below, Pthreads-win32
+    is covered under the following GNU Lesser General Public License
+    Copyrights:
+
+	Pthreads-win32 - POSIX Threads Library for Win32
+	Copyright(C) 1998 John E. Bossom
+	Copyright(C) 1999,2006 Pthreads-win32 contributors
+
+	The current list of contributors is contained
+        in the file CONTRIBUTORS included with the source
+	code distribution. The current list of CONTRIBUTORS
+	can also be seen at the following WWW location:
+        http://sources.redhat.com/pthreads-win32/contributors.html
+
+    Contact Email: Ross Johnson
+                   Please use: Firstname.Lastname@homemail.com.au
+
+    These files are not covered under one of the Copyrights listed above:
+
+            COPYING
+	    COPYING.LIB
+            tests/rwlock7.c
+
+    This file, COPYING, is distributed under the Copyright found at the
+    top of this file.  It is important to note that you may distribute
+    verbatim copies of this file but you may not modify this file.
+
+    The file COPYING.LIB, which contains a copy of the version 2.1
+    GNU Lesser General Public License, is itself copyrighted by the
+    Free Software Foundation, Inc.  Please note that the Free Software
+    Foundation, Inc. does NOT have a copyright over Pthreads-win32,
+    only the COPYING.LIB that is supplied with pthreads-win32.
+
+    The file tests/rwlock7.c is derived from code written by
+    Dave Butenhof for his book 'Programming With POSIX(R) Threads'.
+    The original code was obtained by free download from his website
+    http://home.earthlink.net/~anneart/family/Threads/source.html
+    and did not contain a copyright or author notice. It is assumed to
+    be freely distributable.
+
+    In all cases one may use and distribute these exception files freely.
+    And because one may freely distribute the LGPL covered files, the
+    entire pthreads-win32 source may be freely used and distributed.
+
+
+
+General Copyleft and License info
+---------------------------------
+
+    For general information on Copylefts, see:
+
+	http://www.gnu.org/copyleft/
+
+    For information on GNU Lesser General Public Licenses, see:
+
+	http://www.gnu.org/copyleft/lesser.html
+	http://www.gnu.org/copyleft/lesser.txt
+
+
+Why pthreads-win32 did not use the GNU General Public License
+-------------------------------------------------------------
 
-   6. Trademarks. This License does not grant permission to use the trade
-      names, trademarks, service marks, or product names of the Licensor,
-      except as required for reasonable and customary use in describing the
-      origin of the Work and reproducing the content of the NOTICE file.
+    The goal of the pthreads-win32 project has been to
+    provide a quality and complete implementation of the POSIX
+    threads API for Microsoft Windows within the limits imposed
+    by virtue of it being a stand-alone library and not
+    linked directly to other POSIX compliant libraries. For
+    example, some functions and features, such as those based
+    on POSIX signals, are missing.
 
-   7. Disclaimer of Warranty. Unless required by applicable law or
-      agreed to in writing, Licensor provides the Work (and each
-      Contributor provides its Contributions) on an "AS IS" BASIS,
-      WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or
-      implied, including, without limitation, any warranties or conditions
-      of TITLE, NON-INFRINGEMENT, MERCHANTABILITY, or FITNESS FOR A
-      PARTICULAR PURPOSE. You are solely responsible for determining the
-      appropriateness of using or redistributing the Work and assume any
-      risks associated with Your exercise of permissions under this License.
+    Pthreads-win32 is a library, available in several different
+    versions depending on supported compilers, and may be used
+    as a dynamically linked module or a statically linked set of
+    binary modules. It is not an application on it's own.
 
-   8. Limitation of Liability. In no event and under no legal theory,
-      whether in tort (including negligence), contract, or otherwise,
-      unless required by applicable law (such as deliberate and grossly
-      negligent acts) or agreed to in writing, shall any Contributor be
-      liable to You for damages, including any direct, indirect, special,
-      incidental, or consequential damages of any character arising as a
-      result of this License or out of the use or inability to use the
-      Work (including but not limited to damages for loss of goodwill,
-      work stoppage, computer failure or malfunction, or any and all
-      other commercial damages or losses), even if such Contributor
-      has been advised of the possibility of such damages.
+    It was fully intended that pthreads-win32 be usable with
+    commercial software not covered by either the GPL or the LGPL
+    licenses. Pthreads-win32 has many contributors to it's
+    code base, many of whom have done so because they have
+    used the library in commercial or proprietry software
+    projects.
 
-   9. Accepting Warranty or Additional Liability. While redistributing
-      the Work or Derivative Works thereof, You may choose to offer,
-      and charge a fee for, acceptance of support, warranty, indemnity,
-      or other liability obligations and/or rights consistent with this
-      License. However, in accepting such obligations, You may act only
-      on Your own behalf and on Your sole responsibility, not on behalf
-      of any other Contributor, and only if You agree to indemnify,
-      defend, and hold each Contributor harmless for any liability
-      incurred by, or claims asserted against, such Contributor by reason
-      of your accepting any such warranty or additional liability.
+    Releasing pthreads-win32 under the LGPL ensures that the
+    library can be used widely, while at the same time ensures
+    that bug fixes and improvements to the pthreads-win32 code
+    itself is returned to benefit all current and future users
+    of the library.
 
-   END OF TERMS AND CONDITIONS
+    Although pthreads-win32 makes it possible for applications
+    that use POSIX threads to be ported to Win32 platforms, the
+    broader goal of the project is to encourage the use of open
+    standards, and in particular, to make it just a little easier
+    for developers writing Win32 applications to consider
+    widening the potential market for their products.
+
+
+
- APPENDIX: How to apply the Apache License to your work. +
+pySerial +show license +homepage +
+
Copyright (c) 2001-2013 Chris Liechti <cliechti@gmx.net>;
+All Rights Reserved.
 
-      To apply the Apache License to your work, attach the following
-      boilerplate notice, with the fields enclosed by brackets "[]"
-      replaced with your own identifying information. (Don't include
-      the brackets!)  The text should be enclosed in the appropriate
-      comment syntax for the file format. We also recommend that a
-      file or class name and description of purpose be included on the
-      same "printed page" as the copyright notice for easier
-      identification within third-party archives.
+This is the Python license. In short, you can use this product in
+commercial and non-commercial applications, modify it, redistribute it.
+A notification to the author when you use and/or modify it is welcome.
 
-   Copyright 2008 The open-vcdiff Authors. All Rights Reserved.
 
-   Licensed under the Apache License, Version 2.0 (the "License");
-   you may not use this file except in compliance with the License.
-   You may obtain a copy of the License at
+TERMS AND CONDITIONS FOR ACCESSING OR OTHERWISE USING THIS SOFTWARE
+===================================================================
 
-       http://www.apache.org/licenses/LICENSE-2.0
+LICENSE AGREEMENT
+-----------------
+
+1. This LICENSE AGREEMENT is between the copyright holder of this
+product, and the Individual or Organization ("Licensee") accessing
+and otherwise using this product in source or binary form and its
+associated documentation.
+
+2. Subject to the terms and conditions of this License Agreement,
+the copyright holder hereby grants Licensee a nonexclusive,
+royalty-free, world-wide license to reproduce, analyze, test,
+perform and/or display publicly, prepare derivative works, distribute,
+and otherwise use this product alone or in any derivative version,
+provided, however, that copyright holders License Agreement and
+copyright holders notice of copyright are retained in this product
+alone or in any derivative version prepared by Licensee.
+
+3. In the event Licensee prepares a derivative work that is based on
+or incorporates this product or any part thereof, and wants to make
+the derivative work available to others as provided herein, then
+Licensee hereby agrees to include in any such work a brief summary of
+the changes made to this product.
+
+4. The copyright holder is making this product available to Licensee on
+an "AS IS" basis. THE COPYRIGHT HOLDER MAKES NO REPRESENTATIONS OR
+WARRANTIES, EXPRESS OR IMPLIED.  BY WAY OF EXAMPLE, BUT NOT LIMITATION,
+THE COPYRIGHT HOLDER MAKES NO AND DISCLAIMS ANY REPRESENTATION OR
+WARRANTY OF MERCHANTABILITY OR FITNESS FOR ANY PARTICULAR PURPOSE OR
+THAT THE USE OF THIS PRODUCT WILL NOT INFRINGE ANY THIRD PARTY RIGHTS.
+
+5. THE COPYRIGHT HOLDER SHALL NOT BE LIABLE TO LICENSEE OR ANY OTHER
+USERS OF THIS PRODUCT FOR ANY INCIDENTAL, SPECIAL, OR CONSEQUENTIAL
+DAMAGES OR LOSS AS A RESULT OF MODIFYING, DISTRIBUTING, OR OTHERWISE
+USING THIS PRODUCT, OR ANY DERIVATIVE THEREOF, EVEN IF ADVISED OF THE
+POSSIBILITY THEREOF.
+
+6. This License Agreement will automatically terminate upon a material
+breach of its terms and conditions.
+
+7. Nothing in this License Agreement shall be deemed to create any
+relationship of agency, partnership, or joint venture between the
+copyright holder and Licensee. This License Agreement does not grant
+permission to use trademarks or trade names from the copyright holder
+in a trademark sense to endorse or promote products or services of
+Licensee, or any third party.
+
+8. By copying, installing or otherwise using this product, Licensee
+agrees to be bound by the terms and conditions of this License
+Agreement.
 
-   Unless required by applicable law or agreed to in writing, software
-   distributed under the License is distributed on an "AS IS" BASIS,
-   WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-   See the License for the specific language governing permissions and
-   limitations under the License.
 
-opus +py_trace_event show license -homepage +homepage
-
Copyright 2001-2011 Xiph.Org, Skype Limited, Octasic,
-                    Jean-Marc Valin, Timothy B. Terriberry,
-                    CSIRO, Gregory Maxwell, Mark Borgerding,
-                    Erik de Castro Lopo
+
// Copyright (c) 2011 The Chromium Authors. All rights reserved.
+//
+// Redistribution and use in source and binary forms, with or without
+// modification, are permitted provided that the following conditions are
+// met:
+//
+//    * Redistributions of source code must retain the above copyright
+// notice, this list of conditions and the following disclaimer.
+//    * Redistributions in binary form must reproduce the above
+// copyright notice, this list of conditions and the following disclaimer
+// in the documentation and/or other materials provided with the
+// distribution.
+//    * Neither the name of Google Inc. nor the names of its
+// contributors may be used to endorse or promote products derived from
+// this software without specific prior written permission.
+//
+// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
+// "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
+// LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
+// A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
+// OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
+// SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
+// LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
+// DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
+// THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
+// (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
+// OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+
+
-Redistribution and use in source and binary forms, with or without -modification, are permitted provided that the following conditions -are met: +
+pyelftools +show license +homepage +
+
pyelftools is in the public domain (see below if you need more details).
 
-- Redistributions of source code must retain the above copyright
-notice, this list of conditions and the following disclaimer.
+pyelftools uses the construct library for structured parsing of a binary
+stream. construct is packaged in pyelftools/construct - see its LICENSE
+file for the license.
 
-- Redistributions in binary form must reproduce the above copyright
-notice, this list of conditions and the following disclaimer in the
-documentation and/or other materials provided with the distribution.
+-------------------------------------------------------------------------------
 
-- Neither the name of Internet Society, IETF or IETF Trust, nor the
-names of specific contributors, may be used to endorse or promote
-products derived from this software without specific prior written
-permission.
+This is free and unencumbered software released into the public domain.
 
-THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
-``AS IS'' AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
-LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
-A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER
-OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL,
-EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO,
-PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR
-PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF
-LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING
-NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS
-SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+Anyone is free to copy, modify, publish, use, compile, sell, or
+distribute this software, either in source code form or as a compiled
+binary, for any purpose, commercial or non-commercial, and by any
+means.
 
-Opus is subject to the royalty-free patent licenses which are
-specified at:
+In jurisdictions that recognize copyright laws, the author or authors
+of this software dedicate any and all copyright interest in the
+software to the public domain. We make this dedication for the benefit
+of the public at large and to the detriment of our heirs and
+successors. We intend this dedication to be an overt act of
+relinquishment in perpetuity of all present and future rights to this
+software under copyright law.
 
-Xiph.Org Foundation:
-https://datatracker.ietf.org/ipr/1524/
+THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
+EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
+MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT.
+IN NO EVENT SHALL THE AUTHORS BE LIABLE FOR ANY CLAIM, DAMAGES OR
+OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE,
+ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR
+OTHER DEALINGS IN THE SOFTWARE.
 
-Microsoft Corporation:
-https://datatracker.ietf.org/ipr/1914/
+For more information, please refer to <http://unlicense.org/>
 
-Broadcom Corporation:
-https://datatracker.ietf.org/ipr/1526/
 
-pdfsqueeze +pyfakefs show license -homepage +homepage
                                  Apache License
@@ -16703,99 +20233,31 @@
       implied, including, without limitation, any warranties or conditions
       of TITLE, NON-INFRINGEMENT, MERCHANTABILITY, or FITNESS FOR A
       PARTICULAR PURPOSE. You are solely responsible for determining the
-      appropriateness of using or redistributing the Work and assume any
-      risks associated with Your exercise of permissions under this License.
-
-   8. Limitation of Liability. In no event and under no legal theory,
-      whether in tort (including negligence), contract, or otherwise,
-      unless required by applicable law (such as deliberate and grossly
-      negligent acts) or agreed to in writing, shall any Contributor be
-      liable to You for damages, including any direct, indirect, special,
-      incidental, or consequential damages of any character arising as a
-      result of this License or out of the use or inability to use the
-      Work (including but not limited to damages for loss of goodwill,
-      work stoppage, computer failure or malfunction, or any and all
-      other commercial damages or losses), even if such Contributor
-      has been advised of the possibility of such damages.
-
-   9. Accepting Warranty or Additional Liability. While redistributing
-      the Work or Derivative Works thereof, You may choose to offer,
-      and charge a fee for, acceptance of support, warranty, indemnity,
-      or other liability obligations and/or rights consistent with this
-      License. However, in accepting such obligations, You may act only
-      on Your own behalf and on Your sole responsibility, not on behalf
-      of any other Contributor, and only if You agree to indemnify,
-      defend, and hold each Contributor harmless for any liability
-      incurred by, or claims asserted against, such Contributor by reason
-      of your accepting any such warranty or additional liability.
-
-   END OF TERMS AND CONDITIONS
-
-   APPENDIX: How to apply the Apache License to your work.
-
-      To apply the Apache License to your work, attach the following
-      boilerplate notice, with the fields enclosed by brackets "[]"
-      replaced with your own identifying information. (Don't include
-      the brackets!)  The text should be enclosed in the appropriate
-      comment syntax for the file format. We also recommend that a
-      file or class name and description of purpose be included on the
-      same "printed page" as the copyright notice for easier
-      identification within third-party archives.
-
-   Copyright 2007 Google Inc.
-
-   Licensed under the Apache License, Version 2.0 (the "License");
-   you may not use this file except in compliance with the License.
-   You may obtain a copy of the License at
-
-       http://www.apache.org/licenses/LICENSE-2.0
-
-   Unless required by applicable law or agreed to in writing, software
-   distributed under the License is distributed on an "AS IS" BASIS,
-   WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-   See the License for the specific language governing permissions and
-   limitations under the License.
-
-
- -
-pyelftools -show license -homepage -
-
pyelftools is in the public domain (see below if you need more details).
-
-pyelftools uses the construct library for structured parsing of a binary
-stream. construct is packaged in pyelftools/construct - see its LICENSE
-file for the license.
-
--------------------------------------------------------------------------------
-
-This is free and unencumbered software released into the public domain.
-
-Anyone is free to copy, modify, publish, use, compile, sell, or
-distribute this software, either in source code form or as a compiled
-binary, for any purpose, commercial or non-commercial, and by any
-means.
-
-In jurisdictions that recognize copyright laws, the author or authors
-of this software dedicate any and all copyright interest in the
-software to the public domain. We make this dedication for the benefit
-of the public at large and to the detriment of our heirs and
-successors. We intend this dedication to be an overt act of
-relinquishment in perpetuity of all present and future rights to this
-software under copyright law.
-
-THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
-EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
-MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT.
-IN NO EVENT SHALL THE AUTHORS BE LIABLE FOR ANY CLAIM, DAMAGES OR
-OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE,
-ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR
-OTHER DEALINGS IN THE SOFTWARE.
+      appropriateness of using or redistributing the Work and assume any
+      risks associated with Your exercise of permissions under this License.
 
-For more information, please refer to <http://unlicense.org/>
+   8. Limitation of Liability. In no event and under no legal theory,
+      whether in tort (including negligence), contract, or otherwise,
+      unless required by applicable law (such as deliberate and grossly
+      negligent acts) or agreed to in writing, shall any Contributor be
+      liable to You for damages, including any direct, indirect, special,
+      incidental, or consequential damages of any character arising as a
+      result of this License or out of the use or inability to use the
+      Work (including but not limited to damages for loss of goodwill,
+      work stoppage, computer failure or malfunction, or any and all
+      other commercial damages or losses), even if such Contributor
+      has been advised of the possibility of such damages.
 
+   9. Accepting Warranty or Additional Liability. While redistributing
+      the Work or Derivative Works thereof, You may choose to offer,
+      and charge a fee for, acceptance of support, warranty, indemnity,
+      or other liability obligations and/or rights consistent with this
+      License. However, in accepting such obligations, You may act only
+      on Your own behalf and on Your sole responsibility, not on behalf
+      of any other Contributor, and only if You agree to indemnify,
+      defend, and hold each Contributor harmless for any liability
+      incurred by, or claims asserted against, such Contributor by reason
+      of your accepting any such warranty or additional liability.
 
@@ -16803,7 +20265,7 @@
re2 - an efficient, principled regular expression library show license -homepage +homepage
// Copyright (c) 2009 The RE2 Authors. All rights reserved.
 //
@@ -16836,6 +20298,28 @@
 
+
+readability +show license +homepage +
+
Copyright 2010 Arc90 Inc
+
+Licensed under the Apache License, Version 2.0 (the "License");
+you may not use this file except in compliance with the License.
+You may obtain a copy of the License at
+
+    http://www.apache.org/licenses/LICENSE-2.0
+
+Unless required by applicable law or agreed to in writing, software
+distributed under the License is distributed on an "AS IS" BASIS,
+WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+See the License for the specific language governing permissions and
+limitations under the License.
+
+
+
+
sfntly show license @@ -17312,7 +20796,7 @@
usrsctp show license -homepage +homepage
(Copied from the COPYRIGHT file of
 https://code.google.com/p/sctp-refimpl/source/browse/trunk/COPYRIGHT)
@@ -17916,81 +21400,212 @@
 
-wayland +webtreemap show license -homepage +homepage
-
Copyright © 2008-2012 Kristian Høgsberg
-Copyright © 2010-2012 Intel Corporation
-Copyright © 2011 Benjamin Franzke
-Copyright © 2012 Collabora, Ltd.
+
+                                 Apache License
+                           Version 2.0, January 2010
+                        http://www.apache.org/licenses/
 
-Permission is hereby granted, free of charge, to any person obtaining a
-copy of this software and associated documentation files (the "Software"),
-to deal in the Software without restriction, including without limitation
-the rights to use, copy, modify, merge, publish, distribute, sublicense,
-and/or sell copies of the Software, and to permit persons to whom the
-Software is furnished to do so, subject to the following conditions:
+   TERMS AND CONDITIONS FOR USE, REPRODUCTION, AND DISTRIBUTION
 
-The above copyright notice and this permission notice (including the next
-paragraph) shall be included in all copies or substantial portions of the
-Software.
+   1. Definitions.
 
-THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
-IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
-FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT.  IN NO EVENT SHALL
-THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
-LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING
-FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER
-DEALINGS IN THE SOFTWARE.
+      "License" shall mean the terms and conditions for use, reproduction,
+      and distribution as defined by Sections 1 through 9 of this document.
+
+      "Licensor" shall mean the copyright owner or entity authorized by
+      the copyright owner that is granting the License.
+
+      "Legal Entity" shall mean the union of the acting entity and all
+      other entities that control, are controlled by, or are under common
+      control with that entity. For the purposes of this definition,
+      "control" means (i) the power, direct or indirect, to cause the
+      direction or management of such entity, whether by contract or
+      otherwise, or (ii) ownership of fifty percent (50%) or more of the
+      outstanding shares, or (iii) beneficial ownership of such entity.
 
----
+      "You" (or "Your") shall mean an individual or Legal Entity
+      exercising permissions granted by this License.
 
-The above is the version of the MIT "Expat" License used by X.org:
+      "Source" form shall mean the preferred form for making modifications,
+      including but not limited to software source code, documentation
+      source, and configuration files.
 
-    http://cgit.freedesktop.org/xorg/xserver/tree/COPYING
-
-
-
+ "Object" form shall mean any form resulting from mechanical + transformation or translation of a Source form, including but + not limited to compiled object code, generated documentation, + and conversions to other media types. -
-wayland-protocols -show license -homepage -
-
Copyright © 2008-2013 Kristian Høgsberg
-Copyright © 2010-2013 Intel Corporation
-Copyright © 2013      Rafael Antognolli
-Copyright © 2013      Jasper St. Pierre
-Copyright © 2014      Jonas Ådahl
-Copyright © 2014      Jason Ekstrand
-Copyright © 2014-2015 Collabora, Ltd.
-Copyright © 2015      Red Hat Inc.
+      "Work" shall mean the work of authorship, whether in Source or
+      Object form, made available under the License, as indicated by a
+      copyright notice that is included in or attached to the work
+      (an example is provided in the Appendix below).
 
-Permission is hereby granted, free of charge, to any person obtaining a
-copy of this software and associated documentation files (the "Software"),
-to deal in the Software without restriction, including without limitation
-the rights to use, copy, modify, merge, publish, distribute, sublicense,
-and/or sell copies of the Software, and to permit persons to whom the
-Software is furnished to do so, subject to the following conditions:
+      "Derivative Works" shall mean any work, whether in Source or Object
+      form, that is based on (or derived from) the Work and for which the
+      editorial revisions, annotations, elaborations, or other modifications
+      represent, as a whole, an original work of authorship. For the purposes
+      of this License, Derivative Works shall not include works that remain
+      separable from, or merely link (or bind by name) to the interfaces of,
+      the Work and Derivative Works thereof.
+
+      "Contribution" shall mean any work of authorship, including
+      the original version of the Work and any modifications or additions
+      to that Work or Derivative Works thereof, that is intentionally
+      submitted to Licensor for inclusion in the Work by the copyright owner
+      or by an individual or Legal Entity authorized to submit on behalf of
+      the copyright owner. For the purposes of this definition, "submitted"
+      means any form of electronic, verbal, or written communication sent
+      to the Licensor or its representatives, including but not limited to
+      communication on electronic mailing lists, source code control systems,
+      and issue tracking systems that are managed by, or on behalf of, the
+      Licensor for the purpose of discussing and improving the Work, but
+      excluding communication that is conspicuously marked or otherwise
+      designated in writing by the copyright owner as "Not a Contribution."
 
-The above copyright notice and this permission notice (including the next
-paragraph) shall be included in all copies or substantial portions of the
-Software.
+      "Contributor" shall mean Licensor and any individual or Legal Entity
+      on behalf of whom a Contribution has been received by Licensor and
+      subsequently incorporated within the Work.
 
-THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
-IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
-FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT.  IN NO EVENT SHALL
-THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
-LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING
-FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER
-DEALINGS IN THE SOFTWARE.
+   2. Grant of Copyright License. Subject to the terms and conditions of
+      this License, each Contributor hereby grants to You a perpetual,
+      worldwide, non-exclusive, no-charge, royalty-free, irrevocable
+      copyright license to reproduce, prepare Derivative Works of,
+      publicly display, publicly perform, sublicense, and distribute the
+      Work and such Derivative Works in Source or Object form.
+
+   3. Grant of Patent License. Subject to the terms and conditions of
+      this License, each Contributor hereby grants to You a perpetual,
+      worldwide, non-exclusive, no-charge, royalty-free, irrevocable
+      (except as stated in this section) patent license to make, have made,
+      use, offer to sell, sell, import, and otherwise transfer the Work,
+      where such license applies only to those patent claims licensable
+      by such Contributor that are necessarily infringed by their
+      Contribution(s) alone or by combination of their Contribution(s)
+      with the Work to which such Contribution(s) was submitted. If You
+      institute patent litigation against any entity (including a
+      cross-claim or counterclaim in a lawsuit) alleging that the Work
+      or a Contribution incorporated within the Work constitutes direct
+      or contributory patent infringement, then any patent licenses
+      granted to You under this License for that Work shall terminate
+      as of the date such litigation is filed.
+
+   4. Redistribution. You may reproduce and distribute copies of the
+      Work or Derivative Works thereof in any medium, with or without
+      modifications, and in Source or Object form, provided that You
+      meet the following conditions:
+
+      (a) You must give any other recipients of the Work or
+          Derivative Works a copy of this License; and
+
+      (b) You must cause any modified files to carry prominent notices
+          stating that You changed the files; and
+
+      (c) You must retain, in the Source form of any Derivative Works
+          that You distribute, all copyright, patent, trademark, and
+          attribution notices from the Source form of the Work,
+          excluding those notices that do not pertain to any part of
+          the Derivative Works; and
+
+      (d) If the Work includes a "NOTICE" text file as part of its
+          distribution, then any Derivative Works that You distribute must
+          include a readable copy of the attribution notices contained
+          within such NOTICE file, excluding those notices that do not
+          pertain to any part of the Derivative Works, in at least one
+          of the following places: within a NOTICE text file distributed
+          as part of the Derivative Works; within the Source form or
+          documentation, if provided along with the Derivative Works; or,
+          within a display generated by the Derivative Works, if and
+          wherever such third-party notices normally appear. The contents
+          of the NOTICE file are for informational purposes only and
+          do not modify the License. You may add Your own attribution
+          notices within Derivative Works that You distribute, alongside
+          or as an addendum to the NOTICE text from the Work, provided
+          that such additional attribution notices cannot be construed
+          as modifying the License.
+
+      You may add Your own copyright statement to Your modifications and
+      may provide additional or different license terms and conditions
+      for use, reproduction, or distribution of Your modifications, or
+      for any such Derivative Works as a whole, provided Your use,
+      reproduction, and distribution of the Work otherwise complies with
+      the conditions stated in this License.
+
+   5. Submission of Contributions. Unless You explicitly state otherwise,
+      any Contribution intentionally submitted for inclusion in the Work
+      by You to the Licensor shall be under the terms and conditions of
+      this License, without any additional terms or conditions.
+      Notwithstanding the above, nothing herein shall supersede or modify
+      the terms of any separate license agreement you may have executed
+      with Licensor regarding such Contributions.
+
+   6. Trademarks. This License does not grant permission to use the trade
+      names, trademarks, service marks, or product names of the Licensor,
+      except as required for reasonable and customary use in describing the
+      origin of the Work and reproducing the content of the NOTICE file.
+
+   7. Disclaimer of Warranty. Unless required by applicable law or
+      agreed to in writing, Licensor provides the Work (and each
+      Contributor provides its Contributions) on an "AS IS" BASIS,
+      WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or
+      implied, including, without limitation, any warranties or conditions
+      of TITLE, NON-INFRINGEMENT, MERCHANTABILITY, or FITNESS FOR A
+      PARTICULAR PURPOSE. You are solely responsible for determining the
+      appropriateness of using or redistributing the Work and assume any
+      risks associated with Your exercise of permissions under this License.
+
+   8. Limitation of Liability. In no event and under no legal theory,
+      whether in tort (including negligence), contract, or otherwise,
+      unless required by applicable law (such as deliberate and grossly
+      negligent acts) or agreed to in writing, shall any Contributor be
+      liable to You for damages, including any direct, indirect, special,
+      incidental, or consequential damages of any character arising as a
+      result of this License or out of the use or inability to use the
+      Work (including but not limited to damages for loss of goodwill,
+      work stoppage, computer failure or malfunction, or any and all
+      other commercial damages or losses), even if such Contributor
+      has been advised of the possibility of such damages.
+
+   9. Accepting Warranty or Additional Liability. While redistributing
+      the Work or Derivative Works thereof, You may choose to offer,
+      and charge a fee for, acceptance of support, warranty, indemnity,
+      or other liability obligations and/or rights consistent with this
+      License. However, in accepting such obligations, You may act only
+      on Your own behalf and on Your sole responsibility, not on behalf
+      of any other Contributor, and only if You agree to indemnify,
+      defend, and hold each Contributor harmless for any liability
+      incurred by, or claims asserted against, such Contributor by reason
+      of your accepting any such warranty or additional liability.
+
+   END OF TERMS AND CONDITIONS
+
+   APPENDIX: How to apply the Apache License to your work.
+
+      To apply the Apache License to your work, attach the following
+      boilerplate notice, with the fields enclosed by brackets "[]"
+      replaced with your own identifying information. (Don't include
+      the brackets!)  The text should be enclosed in the appropriate
+      comment syntax for the file format. We also recommend that a
+      file or class name and description of purpose be included on the
+      same "printed page" as the copyright notice for easier
+      identification within third-party archives.
+
+   Copyright [yyyy] [name of copyright owner]
 
----
+   Licensed under the Apache License, Version 2.0 (the "License");
+   you may not use this file except in compliance with the License.
+   You may obtain a copy of the License at
 
-The above is the version of the MIT "Expat" License used by X.org:
+       http://www.apache.org/licenses/LICENSE-2.0
 
-    http://cgit.freedesktop.org/xorg/xserver/tree/COPYING
+   Unless required by applicable law or agreed to in writing, software
+   distributed under the License is distributed on an "AS IS" BASIS,
+   WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+   See the License for the specific language governing permissions and
+   limitations under the License.
 
diff --git a/release/Fastlane-darwin-x64/version b/release/Fastlane-darwin-x64/version index 2b2fee3..9a519f4 100644 --- a/release/Fastlane-darwin-x64/version +++ b/release/Fastlane-darwin-x64/version @@ -1 +1 @@ -v0.37.3 \ No newline at end of file +v0.36.6 \ No newline at end of file diff --git a/src/api/index.js b/src/api/index.js new file mode 100644 index 0000000..e778ff4 --- /dev/null +++ b/src/api/index.js @@ -0,0 +1,104 @@ +/* eslint new-cap: 0 */ +import { Router } from 'express'; +import uber from './service/uber'; +import geolocation from './service/geolocation'; +import { DOMAIN } from '../../config'; + +export default function () { + const api = Router(); + + api.use((req, res, next) => { + res.header('Access-Control-Allow-Origin', DOMAIN); + res.header('Access-Control-Allow-Methods', 'DELETE'); + res.header('Access-Control-Allow-Credentials', true); + next(); + }); + + /** + * Geolocation + * GET /geolocation + */ + api.get('/geolocation', async (req, res) => res.json(await geolocation.lookup())); + + /** + * Authenticate + * GET /oauth/v2/authorize + * @param {code} + */ + api.post('/auth', async (req, res) => + res.json(await uber.authenticate(req.query.code))); + + /** + * Product types + * GET /v1/products + * @param {latitude} + * @param {longitude} + */ + api.get('/products', async (req, res) => + res.json(await uber.request('v1/products', req.query))); + + /** + * Time estimates + * GET /v1/estimates/time + * @param {start_latitude} + * @param {start_longitude} + * @param {customer_uuid?} + * @param {product_id?} + */ + api.get('/estimates/time', async (req, res) => + res.json(await uber.request('v1/estimates/time', req.query))); + + /** + * Price estimates + * GET /v1/estimates/price + * @param {start_latitude} + * @param {start_longitude} + * @param {end_latitude} + * @param {end_longitude} + */ + api.get('/estimates/price', async (req, res) => + res.json(await uber.request('v1/estimates/price', req.query))); + + /** + * Ride request - Map + * GET /v1/request + * @param {request_id} + */ + api.get('/request/:request_id/map', async (req, res) => + res.json(await uber.request(`v1/requests/${req.params.request_id}/map`, req.query))); + + /** + * Ride request + * POST /v1/request + * @param {start_latitude} + * @param {start_longitude} + * @param {product_id?} + * @param {start_nickname?} + * @param {start_address?} + * @param {end_latitude?} + * @param {end_longitude?} + * @param {end_nickname?} + * @param {end_address?} + * @param {surge_confirmation_id?} + */ + api.post('/request', async (req, res) => + res.json(await uber.request('v1/requests', req.query, 'POST'))); + + /** + * Ride request - Details + * GET /v1/request + * @param {request_id} + */ + api.get('/request/:request_id', async (req, res) => + res.json(await uber.request(`v1/requests/${req.params.request_id}`, req.query))); + + /** + * Ride request - Delete + * DELETE /v1/request + * @param {request_id} + */ + api.delete('/request/:request_id', async (req, res) => + res.json(await uber.delete(`v1/requests/${req.params.request_id}`, req.query))); + + return api; +} diff --git a/release/Fastlane-darwin-x64/Fastlane.app/Contents/Resources/app/api/service/geolocation.js b/src/api/service/geolocation.js similarity index 100% rename from release/Fastlane-darwin-x64/Fastlane.app/Contents/Resources/app/api/service/geolocation.js rename to src/api/service/geolocation.js diff --git a/release/Fastlane-darwin-x64/Fastlane.app/Contents/Resources/app/api/service/uber.js b/src/api/service/uber.js similarity index 96% rename from release/Fastlane-darwin-x64/Fastlane.app/Contents/Resources/app/api/service/uber.js rename to src/api/service/uber.js index ffc4ba9..3ac0339 100644 --- a/release/Fastlane-darwin-x64/Fastlane.app/Contents/Resources/app/api/service/uber.js +++ b/src/api/service/uber.js @@ -1,7 +1,7 @@ import Promise from 'bluebird'; import qs from 'query-string'; import fetch from 'node-fetch'; -import config from '../../config.json'; +import config from '../../../config'; const { CLIENT_ID, diff --git a/src/component/EnRoute.jsx b/src/component/EnRoute.jsx index d9add5a..eec1be7 100644 --- a/src/component/EnRoute.jsx +++ b/src/component/EnRoute.jsx @@ -41,7 +41,7 @@ export default class Confirm extends React.Component { {order.driver.name} {order.driver.rating} - +
diff --git a/src/component/Start.jsx b/src/component/Start.jsx index c59e055..bda1a36 100644 --- a/src/component/Start.jsx +++ b/src/component/Start.jsx @@ -13,7 +13,7 @@ export default class Start extends React.Component {
- Uber + Uber
diff --git a/src/sass/main.scss b/src/sass/main.scss index c676f00..5bf10b3 100644 --- a/src/sass/main.scss +++ b/src/sass/main.scss @@ -123,7 +123,7 @@ a { animation-timing-function: ease; position: relative; z-index: 0; - background: url('/assets/img/bg.png') no-repeat; + background: url('/public/img/bg.png') no-repeat; background-size: 495px; } } diff --git a/src/server.js b/src/server.js index a400632..2689643 100755 --- a/src/server.js +++ b/src/server.js @@ -1,25 +1,22 @@ import path from 'path'; import express from 'express'; -import webpack from 'webpack'; -import settings from '../webpack.config'; -import config from '../config'; +import api from './api'; +import { PORT } from '../config'; const server = express(); -const compiler = webpack(settings); -const { PORT } = config; +// Api endpoints +server.use('/api', api()); -server.use(require('webpack-dev-middleware')(compiler, { - publicPath: settings.output.publicPath, - stats: { - colors: true, - }, -})); +// Serve static files +server.use('/public', express.static('public')); -server.use(require('webpack-hot-middleware')(compiler)); -server.use('/static', express.static('public')); -server.use('/assets', express.static('assets')); +// Serve bundle +server.get('/bundle', (req, res) => { + res.sendFile(path.join(__dirname, '../public/bundle.js')); +}); +// Serve html for react server.get('*', (req, res) => { res.sendFile(path.join(__dirname, '../index.html')); }); diff --git a/webpack.config.js b/webpack.dev.config.js similarity index 70% rename from webpack.config.js rename to webpack.dev.config.js index 020c5ba..552a1f9 100755 --- a/webpack.config.js +++ b/webpack.dev.config.js @@ -3,7 +3,6 @@ const path = require('path'); module.exports = { entry: [ - 'webpack-hot-middleware/client?path=http://localhost:5555/__webpack_hmr', './src/client', ], output: { @@ -14,13 +13,6 @@ module.exports = { plugins: [ new webpack.HotModuleReplacementPlugin(), new webpack.NoErrorsPlugin(), - // new webpack.optimize.OccurenceOrderPlugin(), - // new webpack.optimize.UglifyJsPlugin({ - // compress: { - // warnings: false, - // }, - // }), - // new webpack.optimize.DedupePlugin(), ], module: { loaders: [ diff --git a/webpack.prod.config.js b/webpack.prod.config.js new file mode 100644 index 0000000..b5f6f14 --- /dev/null +++ b/webpack.prod.config.js @@ -0,0 +1,55 @@ +const webpack = require('webpack'); +const path = require('path'); + +module.exports = { + entry: [ + './src/client', + ], + output: { + path: path.join(__dirname, 'public'), + filename: 'bundle.js', + publicPath: '/public/', + }, + plugins: [ + new webpack.NoErrorsPlugin(), + new webpack.optimize.UglifyJsPlugin({ + compress: { + warnings: false, + screw_ie8: true, + sequences: true, + dead_code: true, + drop_debugger: true, + comparisons: true, + conditionals: true, + evaluate: true, + booleans: true, + loops: true, + unused: true, + hoist_funs: true, + if_return: true, + join_vars: true, + cascade: true, + drop_console: true, + }, + output: { + comments: false, + }, + sourceMap: false, + }), + new webpack.optimize.DedupePlugin(), + new webpack.DefinePlugin({ + 'process.env.NODE_ENV': JSON.stringify('production'), + }), + ], + module: { + loaders: [ + { test: /\.jsx?$/, loaders: ['babel'], include: path.join(__dirname, 'src') }, + { test: /\.scss$/, loader: 'style!css!sass' }, + { test: /\.json$/, loader: 'json' }, + { test: /\.woff2?($|\?)/, loader: 'url?limit=10000&mimetype=application/font-woff' }, + ], + }, + resolve: { + extensions: ['', '.js'], + }, +};