From 8b8622960b5fd5684da6d5f3b03a51937fceb0d3 Mon Sep 17 00:00:00 2001 From: Jesse Rosenberger Date: Wed, 6 Sep 2017 00:23:41 +0300 Subject: [PATCH 0001/1355] Replace Underscore methods with native ECMAScript. This removes `underscore` entirely from `allow-deny`. --- packages/allow-deny/allow-deny.js | 51 ++++++++++++++++++------------- packages/allow-deny/package.js | 1 - 2 files changed, 29 insertions(+), 23 deletions(-) diff --git a/packages/allow-deny/allow-deny.js b/packages/allow-deny/allow-deny.js index 819a4dfc59..6fb235d00e 100644 --- a/packages/allow-deny/allow-deny.js +++ b/packages/allow-deny/allow-deny.js @@ -2,6 +2,8 @@ /// Remote methods and access control. /// +const hasOwn = Object.prototype.hasOwnProperty; + // Restrict default mutators on collection. allow() and deny() take the // same options: // @@ -108,7 +110,7 @@ CollectionPrototype._defineMutationMethods = function(options) { if (self._connection && (self._connection === Meteor.server || Meteor.isClient)) { const m = {}; - _.each(['insert', 'update', 'remove'], function (method) { + ['insert', 'update', 'remove'].forEach((method) => { const methodName = self._prefix + method; if (options.useExisting) { @@ -122,7 +124,7 @@ CollectionPrototype._defineMutationMethods = function(options) { m[methodName] = function (/* ... */) { // All the methods do their own validation, instead of using check(). check(arguments, [Match.Any]); - const args = _.toArray(arguments); + const args = Array.from(arguments); try { // For an insert, if the client didn't specify an _id, generate one // now; because this uses DDP.randomStream, it will be consistent with @@ -136,7 +138,7 @@ CollectionPrototype._defineMutationMethods = function(options) { // between arbitrary client-specified _id fields and merely // client-controlled-via-randomSeed fields. let generatedId = null; - if (method === "insert" && !_.has(args[0], '_id')) { + if (method === "insert" && !hasOwn.call(args[0], '_id')) { generatedId = self._makeNewID(); } @@ -208,7 +210,9 @@ CollectionPrototype._updateFetch = function (fields) { if (!self._validators.fetchAllFields) { if (fields) { - self._validators.fetch = _.union(self._validators.fetch, fields); + self._validators.fetch = + // union + Array.from(new Set([...self._validators.fetch, ...fields])); } else { self._validators.fetchAllFields = true; // clear fetch just to make sure we don't accidentally read it @@ -230,13 +234,13 @@ CollectionPrototype._validatedInsert = function (userId, doc, // call user validators. // Any deny returns true means denied. - if (_.any(self._validators.insert.deny, function(validator) { + if (self._validators.insert.deny.some((validator) => { return validator(userId, docToValidate(validator, doc, generatedId)); })) { throw new Meteor.Error(403, "Access denied"); } // Any allow returns true means proceed. Throw error if they all fail. - if (_.all(self._validators.insert.allow, function(validator) { + if (self._validators.insert.allow.every((validator) => { return !validator(userId, docToValidate(validator, doc, generatedId)); })) { throw new Meteor.Error(403, "Access denied"); @@ -260,7 +264,7 @@ CollectionPrototype._validatedUpdate = function( check(mutator, Object); - options = _.clone(options) || {}; + options = Object.assign(Object.create(null), options); if (!LocalCollection._selectorIsIdPerhapsAsObject(selector)) throw new Error("validated update should be of a single ID"); @@ -275,26 +279,29 @@ CollectionPrototype._validatedUpdate = function( " update documents, not replace them. Use a Mongo update operator, such " + "as '$set'."; + const mutatorKeys = Object.keys(mutator); + // compute modified fields const fields = []; - if (_.isEmpty(mutator)) { + if (mutatorKeys.length === 0) { throw new Meteor.Error(403, noReplaceError); } - _.each(mutator, function (params, op) { + mutatorKeys.forEach((op) => { + const params = mutator[op]; if (op.charAt(0) !== '$') { throw new Meteor.Error(403, noReplaceError); - } else if (!_.has(ALLOWED_UPDATE_OPERATIONS, op)) { + } else if (!hasOwn.call(ALLOWED_UPDATE_OPERATIONS, op)) { throw new Meteor.Error( 403, "Access denied. Operator " + op + " not allowed in a restricted collection."); } else { - _.each(_.keys(params), function (field) { + Object.keys(params).forEach((field) => { // treat dotted fields as if they are replacing their // top-level part if (field.indexOf('.') !== -1) field = field.substring(0, field.indexOf('.')); // record the field we are trying to change - if (!_.contains(fields, field)) + if (!fields.includes(field)) fields.push(field); }); } @@ -303,7 +310,7 @@ CollectionPrototype._validatedUpdate = function( const findOptions = {transform: null}; if (!self._validators.fetchAllFields) { findOptions.fields = {}; - _.each(self._validators.fetch, function(fieldName) { + self._validators.fetch.forEach((fieldName) => { findOptions.fields[fieldName] = 1; }); } @@ -314,7 +321,7 @@ CollectionPrototype._validatedUpdate = function( // call user validators. // Any deny returns true means denied. - if (_.any(self._validators.update.deny, function(validator) { + if (self._validators.update.deny.some((validator) => { const factoriedDoc = transformDoc(validator, doc); return validator(userId, factoriedDoc, @@ -324,7 +331,7 @@ CollectionPrototype._validatedUpdate = function( throw new Meteor.Error(403, "Access denied"); } // Any allow returns true means proceed. Throw error if they all fail. - if (_.all(self._validators.update.allow, function(validator) { + if (self._validators.update.allow.every((validator) => { const factoriedDoc = transformDoc(validator, doc); return !validator(userId, factoriedDoc, @@ -364,7 +371,7 @@ CollectionPrototype._validatedRemove = function(userId, selector) { const findOptions = {transform: null}; if (!self._validators.fetchAllFields) { findOptions.fields = {}; - _.each(self._validators.fetch, function(fieldName) { + self._validators.fetch.forEach((fieldName) => { findOptions.fields[fieldName] = 1; }); } @@ -375,13 +382,13 @@ CollectionPrototype._validatedRemove = function(userId, selector) { // call user validators. // Any deny returns true means denied. - if (_.any(self._validators.remove.deny, function(validator) { + if (self._validators.remove.deny.some((validator) => { return validator(userId, transformDoc(validator, doc)); })) { throw new Meteor.Error(403, "Access denied"); } // Any allow returns true means proceed. Throw error if they all fail. - if (_.all(self._validators.remove.allow, function(validator) { + if (self._validators.remove.allow.every((validator) => { return !validator(userId, transformDoc(validator, doc)); })) { throw new Meteor.Error(403, "Access denied"); @@ -451,15 +458,15 @@ function docToValidate(validator, doc, generatedId) { function addValidator(collection, allowOrDeny, options) { // validate keys const VALID_KEYS = ['insert', 'update', 'remove', 'fetch', 'transform']; - _.each(_.keys(options), function (key) { - if (!_.contains(VALID_KEYS, key)) + Object.keys(options).forEach((key) => { + if (!VALID_KEYS.includes(key)) throw new Error(allowOrDeny + ": Invalid key: " + key); }); collection._restricted = true; - _.each(['insert', 'update', 'remove'], function (name) { - if (options.hasOwnProperty(name)) { + ['insert', 'update', 'remove'].forEach((name) => { + if (hasOwn.call(options, name)) { if (!(options[name] instanceof Function)) { throw new Error(allowOrDeny + ": Value for `" + name + "` must be a function"); } diff --git a/packages/allow-deny/package.js b/packages/allow-deny/package.js index 4f84375323..34dc7bda9a 100644 --- a/packages/allow-deny/package.js +++ b/packages/allow-deny/package.js @@ -13,7 +13,6 @@ Package.describe({ Package.onUse(function(api) { api.use([ 'ecmascript', - 'underscore', 'minimongo', // Just for LocalCollection.wrapTransform :[ 'check', 'ejson', From 174f3dc1353bcf831244e98eebdf882476ee98e6 Mon Sep 17 00:00:00 2001 From: Ben Newman Date: Tue, 12 Sep 2017 12:56:49 -0400 Subject: [PATCH 0002/1355] Avoid Array.from, Set, and spread elements when computing union. --- packages/allow-deny/allow-deny.js | 8 +++++--- 1 file changed, 5 insertions(+), 3 deletions(-) diff --git a/packages/allow-deny/allow-deny.js b/packages/allow-deny/allow-deny.js index 6fb235d00e..96684e35c3 100644 --- a/packages/allow-deny/allow-deny.js +++ b/packages/allow-deny/allow-deny.js @@ -210,9 +210,11 @@ CollectionPrototype._updateFetch = function (fields) { if (!self._validators.fetchAllFields) { if (fields) { - self._validators.fetch = - // union - Array.from(new Set([...self._validators.fetch, ...fields])); + const union = Object.create(null); + const add = names => names && names.forEach(name => union[name] = 1); + add(self._validators.fetch); + add(fields); + self._validators.fetch = Object.keys(union); } else { self._validators.fetchAllFields = true; // clear fetch just to make sure we don't accidentally read it From 8b87abe41a4edb92443dad90fc3d2e70e60a7554 Mon Sep 17 00:00:00 2001 From: Jesse Rosenberger Date: Wed, 13 Sep 2017 23:53:16 +0300 Subject: [PATCH 0003/1355] Bump allow-deny package patch version. --- packages/allow-deny/package.js | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/packages/allow-deny/package.js b/packages/allow-deny/package.js index 34dc7bda9a..65f0afe4ee 100644 --- a/packages/allow-deny/package.js +++ b/packages/allow-deny/package.js @@ -1,6 +1,6 @@ Package.describe({ name: 'allow-deny', - version: '1.0.5', + version: '1.0.9', // Brief, one-line summary of the package. summary: 'Implements functionality for allow/deny and client-side db operations', // URL to the Git repository containing the source code for this package. From 7308d46a863cdc11ab98af711df095228bb1df02 Mon Sep 17 00:00:00 2001 From: Jesse Rosenberger Date: Thu, 14 Sep 2017 15:07:02 +0300 Subject: [PATCH 0004/1355] Avoid Array.prototype.includes. Array.prototype.includes was not available in older implementations and this avoids tighter version contraints and maximum compatibility. --- packages/allow-deny/allow-deny.js | 12 +++++++----- 1 file changed, 7 insertions(+), 5 deletions(-) diff --git a/packages/allow-deny/allow-deny.js b/packages/allow-deny/allow-deny.js index 96684e35c3..9b5cb9ce20 100644 --- a/packages/allow-deny/allow-deny.js +++ b/packages/allow-deny/allow-deny.js @@ -284,7 +284,8 @@ CollectionPrototype._validatedUpdate = function( const mutatorKeys = Object.keys(mutator); // compute modified fields - const fields = []; + const modifiedFields = {}; + if (mutatorKeys.length === 0) { throw new Meteor.Error(403, noReplaceError); } @@ -303,12 +304,13 @@ CollectionPrototype._validatedUpdate = function( field = field.substring(0, field.indexOf('.')); // record the field we are trying to change - if (!fields.includes(field)) - fields.push(field); + modifiedFields[field] = true; }); } }); + const fields = Object.keys(modifiedFields); + const findOptions = {transform: null}; if (!self._validators.fetchAllFields) { findOptions.fields = {}; @@ -459,9 +461,9 @@ function docToValidate(validator, doc, generatedId) { function addValidator(collection, allowOrDeny, options) { // validate keys - const VALID_KEYS = ['insert', 'update', 'remove', 'fetch', 'transform']; + const validKeysRegEx = /^(?:insert|update|remove|fetch|transform)$/; Object.keys(options).forEach((key) => { - if (!VALID_KEYS.includes(key)) + if (!validKeysRegEx.test(key)) throw new Error(allowOrDeny + ": Invalid key: " + key); }); From 49cf456d05f3a50824a7c24a0c5b7c293470a72f Mon Sep 17 00:00:00 2001 From: Jesse Rosenberger Date: Thu, 14 Sep 2017 15:12:24 +0300 Subject: [PATCH 0005/1355] Bump allow-deny package patch version. From 5cc99149d0ba15a9b9bf3a04c28574d6df5d28b4 Mon Sep 17 00:00:00 2001 From: Jesse Rosenberger Date: Mon, 25 Sep 2017 20:48:27 +0300 Subject: [PATCH 0006/1355] Bump package versions for 1.4.4.4-rc.0 release. --- packages/meteor-tool/package.js | 2 +- scripts/admin/meteor-release-experimental.json | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/packages/meteor-tool/package.js b/packages/meteor-tool/package.js index 531b6c0664..11b63bb0cc 100644 --- a/packages/meteor-tool/package.js +++ b/packages/meteor-tool/package.js @@ -1,6 +1,6 @@ Package.describe({ summary: "The Meteor command-line tool", - version: '1.4.4_3' + version: "1.4.4-4-rc.0" }); Package.includeTool(); diff --git a/scripts/admin/meteor-release-experimental.json b/scripts/admin/meteor-release-experimental.json index 9f5fdbb490..358d96f1eb 100644 --- a/scripts/admin/meteor-release-experimental.json +++ b/scripts/admin/meteor-release-experimental.json @@ -1,6 +1,6 @@ { "track": "METEOR", - "version": "1.4.4.3-rc.0", + "version": "1.4.4.4-rc.0", "recommended": false, "official": false, "description": "Meteor" From cb85625520a3bc63267717bdf3cffc08654c7c54 Mon Sep 17 00:00:00 2001 From: Ben Newman Date: Mon, 23 Oct 2017 18:57:47 -0400 Subject: [PATCH 0007/1355] Remove dev_bundle/.npm (-30MB due to .npm/_cacache). --- scripts/generate-dev-bundle.sh | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/scripts/generate-dev-bundle.sh b/scripts/generate-dev-bundle.sh index 85a95af5b8..820cb60c65 100755 --- a/scripts/generate-dev-bundle.sh +++ b/scripts/generate-dev-bundle.sh @@ -171,7 +171,7 @@ echo BUNDLING cd "$DIR" echo "${BUNDLE_VERSION}" > .bundle_version.txt -rm -rf build CHANGELOG.md ChangeLog LICENSE README.md +rm -rf build CHANGELOG.md ChangeLog LICENSE README.md .npm tar czf "${CHECKOUT_DIR}/dev_bundle_${PLATFORM}_${BUNDLE_VERSION}.tar.gz" . From 8841080c9eaf5f390388ab7a12d700e2b4e15fda Mon Sep 17 00:00:00 2001 From: Jesse Rosenberger Date: Tue, 24 Oct 2017 15:58:11 -0700 Subject: [PATCH 0008/1355] Bump $NODE_BUILD_NUMBER to 113 before rebuilding dev bundle. --- scripts/build-dev-bundle-common.sh | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/scripts/build-dev-bundle-common.sh b/scripts/build-dev-bundle-common.sh index 2fb80fec3a..2d2a7d4c77 100644 --- a/scripts/build-dev-bundle-common.sh +++ b/scripts/build-dev-bundle-common.sh @@ -10,7 +10,7 @@ NODE_VERSION=4.8.4 NPM_VERSION=4.6.1 # If we built Node from source on Jenkins, this is the build number. -NODE_BUILD_NUMBER=111 +NODE_BUILD_NUMBER=113 if [ "$UNAME" == "Linux" ] ; then if [ "$ARCH" != "i686" -a "$ARCH" != "x86_64" ] ; then From cc2608f4a05883fe5dff3ff5d4214123361ae90f Mon Sep 17 00:00:00 2001 From: Jesse Rosenberger Date: Tue, 24 Oct 2017 15:46:27 -0700 Subject: [PATCH 0009/1355] Bump $BUNDLE_VERSION to 4.8.42 before rebuilding dev bundle. --- meteor | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/meteor b/meteor index 1e608a01c3..e36cb96f1d 100755 --- a/meteor +++ b/meteor @@ -1,6 +1,6 @@ #!/usr/bin/env bash -BUNDLE_VERSION=4.8.41 +BUNDLE_VERSION=4.8.42 # OS Check. Put here because here is where we download the precompiled # bundles that are arch specific. From 16a4bbab041d3a9d5637d1fedb57fb9b3fa2ec8e Mon Sep 17 00:00:00 2001 From: Jesse Rosenberger Date: Tue, 24 Oct 2017 16:03:07 -0700 Subject: [PATCH 0010/1355] Bump $NODE_VERSION to 4.8.5 before rebuilding dev bundle. While the actual version included for Unix developers will be our own build at NODE_VERSION, this is important for the Windows version, since it is not being rebuilt by our Jenkins at the moment. --- scripts/build-dev-bundle-common.sh | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/scripts/build-dev-bundle-common.sh b/scripts/build-dev-bundle-common.sh index 2d2a7d4c77..6a74e0c7d0 100644 --- a/scripts/build-dev-bundle-common.sh +++ b/scripts/build-dev-bundle-common.sh @@ -6,7 +6,7 @@ set -u UNAME=$(uname) ARCH=$(uname -m) MONGO_VERSION=3.2.15 -NODE_VERSION=4.8.4 +NODE_VERSION=4.8.5 NPM_VERSION=4.6.1 # If we built Node from source on Jenkins, this is the build number. From 6cee042b545ee7f74cbbf5b156c7e82561c5e73b Mon Sep 17 00:00:00 2001 From: Ben Newman Date: Fri, 6 Oct 2017 18:38:12 -0400 Subject: [PATCH 0011/1355] Simplify checking/setting file.imported in ImportScanner#_scanFile. By checking and setting this property earlier, we can avoid scanning files more than once. --- tools/isobuild/import-scanner.js | 88 +++++++++++++++----------------- 1 file changed, 42 insertions(+), 46 deletions(-) diff --git a/tools/isobuild/import-scanner.js b/tools/isobuild/import-scanner.js index dcd26d956d..0301c4cf72 100644 --- a/tools/isobuild/import-scanner.js +++ b/tools/isobuild/import-scanner.js @@ -204,10 +204,11 @@ export default class ImportScanner { file.data = new Buffer(file.dataString, "utf8"); } - // Files that are not eagerly evaluated (lazy) will only be included - // in the bundle if they are actually imported. Files that are - // eagerly evaluated are effectively "imported" as entry points. - file.imported = ! file.lazy; + // This property can have values false, true, "dynamic" (which + // indicates that the file has been imported, but only dynamically), + // or "fake" (which indicates it is a temporary file that should + // never be returned from getOutputFiles). + file.imported = false; file.installPath = file.installPath || this._getInstallPath(absPath); @@ -353,8 +354,8 @@ export default class ImportScanner { scanImports() { this.outputFiles.forEach(file => { - if (! file.lazy || file.imported) { - this._scanFile(file, file.imported === "dynamic"); + if (! file.lazy) { + this._scanFile(file); } }); @@ -538,6 +539,36 @@ export default class ImportScanner { } _scanFile(file, forDynamicImport = false) { + if (file.imported === true) { + // If we've already scanned this file non-dynamically, then we don't + // need to scan it again. + return; + } + + if (forDynamicImport && + file.imported === "dynamic") { + // If we've already scanned this file dynamically, then we don't + // need to scan it dynamically again. + return; + } + + // Make sure file.imported is set to a truthy value, but allow values + // other than "dynamic" or true (e.g. "fake"). + file.imported = file.imported || ( + forDynamicImport ? "dynamic" : true + ); + + if (file.error) { + // Any errors reported to InputFile#error were saved but not + // reported at compilation time. Now that we know the file has been + // imported, it's time to report those errors. + buildmessage.error( + depFile.error.message, + depFile.error.info + ); + return; + } + const absPath = pathJoin(this.sourceRoot, file.sourcePath); try { @@ -582,45 +613,7 @@ export default class ImportScanner { } } - // Avoid scanning files that we've scanned before, but mark them - // as imported so we know to include them in the bundle if they - // are lazy. Eager files and files that we have imported before do - // not need to be scanned again. Lazy files that we have not - // imported before still need to be scanned, however. Note that - // alreadyScanned will be "dynamic" (which is truthy) if the file - // has only been scanned because of a dynamic import(...). - const alreadyScanned = ! depFile.lazy || depFile.imported; - - // Whether the file is eager or lazy, mark it as imported. For - // lazy files, this makes the difference between being included in - // or omitted from the bundle. For eager files, this just ensures - // we won't scan them again. If this scan began from a dynamic - // import(...), we set depFile.imported = "dynamic" unless it's - // already been set true. - depFile.imported = dynamic - ? depFile.imported || "dynamic" - : true; - - const needsToBeScanned = ! alreadyScanned || - // If the file has already been scanned, but only because of a - // dynamic import(...), then it needs to be scanned again, so that - // we mark it and its dependencies as non-dynamic. This will be - // cheaper than before because we've already computed depFile.deps. - (alreadyScanned === "dynamic" && - depFile.imported === true); - - if (needsToBeScanned) { - if (depFile.error) { - // Since this file is lazy, it might never have been imported, - // so any errors reported to InputFile#error were saved but - // not reported at compilation time. Now that we know the file - // has been imported, it's time to report those errors. - buildmessage.error(depFile.error.message, - depFile.error.info); - } else { - this._scanFile(depFile, dynamic); - } - } + this._scanFile(depFile, dynamic); return; } @@ -646,7 +639,7 @@ export default class ImportScanner { depFile.installPath = installPath; depFile.servePath = installPath; depFile.lazy = true; - depFile.imported = dynamic ? "dynamic" : true; + depFile.imported = false; // Append this file to the output array and record its index. this._addFile(absImportedPath, depFile); @@ -664,6 +657,9 @@ export default class ImportScanner { // still evaluate this module natively on the server. What we // really care about is watching the file for changes. ! shouldWatch(absImportedPath)) { + // Since we're not going to call this._scanFile(depFile, dynamic) + // below, this is our last chance to update depFile.imported. + depFile.imported = dynamic ? "dynamic" : true; return; } From 9ac6d60ba2244ec17b6f74b3829283ea795eb303 Mon Sep 17 00:00:00 2001 From: Ben Newman Date: Fri, 6 Oct 2017 18:53:32 -0400 Subject: [PATCH 0012/1355] Track all failed imports separately. Previously, if more than one module in a package tried and failed to import the same identifier, we would record information about only the last failed import. This was good enough for later attempting to resolve the failed import in other packges or the application's `node_modules` directory (a concept known as "peer dependencies"), but it sometimes discarded information about whether the failed imports were dynamic. In particular, if the last recorded failed import was a dynamic import, it could accidentally render the entire peer dependency tree dynamic. Although it's a bit more complicated than what we did before, I believe the simplest solution is for the ImportScanner to maintain a mapping from failed identifiers to lists of import information objects, rather than a single object, so that no information is lost. --- tools/isobuild/compiler-plugin.js | 67 ++++++++++-------- tools/isobuild/import-scanner.js | 109 ++++++++++++++++++------------ 2 files changed, 106 insertions(+), 70 deletions(-) diff --git a/tools/isobuild/compiler-plugin.js b/tools/isobuild/compiler-plugin.js index 1f18fbc8fa..cb52f25699 100644 --- a/tools/isobuild/compiler-plugin.js +++ b/tools/isobuild/compiler-plugin.js @@ -999,10 +999,13 @@ export class PackageSourceBatch { return true; }); - const allMissingNodeModules = Object.create(null); - // Records the subset of allMissingNodeModules that were successfully + // Map from module identifiers that previously could not be imported + // to lists of info objects describing the failed imports. + const allMissingModules = Object.create(null); + + // Records the subset of allMissingModules that were successfully // relocated to a source batch that could handle them. - const allRelocatedNodeModules = Object.create(null); + const allRelocatedModules = Object.create(null); const scannerMap = new Map; sourceBatches.forEach(batch => { @@ -1038,16 +1041,19 @@ export class PackageSourceBatch { if (batch.useMeteorInstall) { scanner.scanImports(); - _.extend(allMissingNodeModules, scanner.allMissingNodeModules); + ImportScanner.mergeMissing( + allMissingModules, + scanner.allMissingModules + ); } scannerMap.set(name, scanner); }); - function handleMissing(missingNodeModules) { + function handleMissing(missingModules) { const missingMap = new Map; - _.each(missingNodeModules, (info, id) => { + _.each(missingModules, (importInfoList, id) => { const parts = id.split("/"); let name = null; @@ -1079,39 +1085,36 @@ export class PackageSourceBatch { } if (! missingMap.has(name)) { - missingMap.set(name, {}); + missingMap.set(name, Object.create(null)); } - const missing = missingMap.get(name); - if (! _.has(missing, id) || - ! info.possiblySpurious) { - // Allow any non-spurious identifier to replace an existing - // possibly spurious identifier. - missing[id] = info; - } + ImportScanner.mergeMissing( + missingMap.get(name), + { [id]: importInfoList } + ); }); - const nextMissingNodeModules = Object.create(null); + const nextMissingModules = Object.create(null); - missingMap.forEach((ids, name) => { + missingMap.forEach((missing, name) => { const { newlyAdded, newlyMissing } = - scannerMap.get(name).addNodeModules(ids); - _.extend(allRelocatedNodeModules, newlyAdded); - _.extend(nextMissingNodeModules, newlyMissing); + scannerMap.get(name).scanMissingModules(missing); + ImportScanner.mergeMissing(allRelocatedModules, newlyAdded); + ImportScanner.mergeMissing(nextMissingModules, newlyMissing); }); - if (! _.isEmpty(nextMissingNodeModules)) { - handleMissing(nextMissingNodeModules); + if (! _.isEmpty(nextMissingModules)) { + handleMissing(nextMissingModules); } } - handleMissing(allMissingNodeModules); + handleMissing(allMissingModules); - _.each(allRelocatedNodeModules, (info, id) => { - delete allMissingNodeModules[id]; + Object.keys(allRelocatedModules).forEach(id => { + delete allMissingModules[id]; }); - this._warnAboutMissingModules(allMissingNodeModules); + this._warnAboutMissingModules(allMissingModules); scannerMap.forEach((scanner, name) => { const isApp = ! name; @@ -1151,11 +1154,17 @@ export class PackageSourceBatch { return map; } - static _warnAboutMissingModules(missingNodeModules) { + static _warnAboutMissingModules(missingModules) { const topLevelMissingIDs = {}; const warnings = []; - _.each(missingNodeModules, (info, id) => { + Object.keys(missingModules).forEach(id => { + // Issue at most one warning per module identifier, even if there + // are multiple parent modules that failed to import it. + missingModules[id].some(info => maybeWarn(id, info)); + }); + + function maybeWarn(id, info) { if (info.packageName) { // Silence warnings generated by Meteor packages, since package // authors can be trusted to test their packages, and may have @@ -1220,7 +1229,9 @@ export class PackageSourceBatch { warnings.push(` ${JSON.stringify(id)} in ${ info.parentPath} (${info.bundleArch})`); - }); + + return true; + } if (warnings.length > 0) { Console.rawWarn("\nUnable to resolve some modules:\n\n"); diff --git a/tools/isobuild/import-scanner.js b/tools/isobuild/import-scanner.js index 0301c4cf72..150de5aaea 100644 --- a/tools/isobuild/import-scanner.js +++ b/tools/isobuild/import-scanner.js @@ -119,7 +119,7 @@ export default class ImportScanner { this.nodeModulesPaths = nodeModulesPaths; this.watchSet = watchSet; this.absPathToOutputIndex = Object.create(null); - this.allMissingNodeModules = Object.create(null); + this.allMissingModules = Object.create(null); this.outputFiles = []; this.resolver = Resolver.getOrCreate({ @@ -339,7 +339,7 @@ export default class ImportScanner { // If either oldFile or newFile has been imported non-dynamically, // then oldFile.imported needs to be === true. Otherwise we simply set // oldFile.imported = oldFile.imported || newFile.imported, which - // could be either false, "dynamic", or "fake" (see addNodeModules). + // could be either false, "dynamic", or "fake" (see scanMissingModules). oldFile.imported = oldFile.imported === true || newFile.imported === true || @@ -362,20 +362,22 @@ export default class ImportScanner { return this; } - addNodeModules(identifiers) { - assert.ok(identifiers); - assert.ok(typeof identifiers === "object"); - assert.ok(! Array.isArray(identifiers)); + scanMissingModules(missingModules) { + assert.ok(missingModules); + assert.ok(typeof missingModules === "object"); + assert.ok(! Array.isArray(missingModules)); const newlyMissing = Object.create(null); const newlyAdded = Object.create(null); - if (! isEmpty(identifiers)) { - const previousAllMissingNodeModules = this.allMissingNodeModules; - this.allMissingNodeModules = newlyMissing; + if (! isEmpty(missingModules)) { + const previousAllMissingModules = this.allMissingModules; + this.allMissingModules = newlyMissing; - try { - this._scanFile({ + Object.keys(missingModules).forEach(id => { + // TODO Call this._scanFile fewer times in case missingModules[id] + // is a long and redundant list? + missingModules[id].forEach(importInfo => this._scanFile({ sourcePath: "fake.js", // It's important that the fake.js file itself never gets // scanned or bundled. See the _scanFile and getOutputFiles @@ -383,32 +385,33 @@ export default class ImportScanner { imported: "fake", lazy: true, // By specifying the .deps property of this fake file ahead of - // time, we can avoid calling findImportedModuleIdentifiers in the - // _scanFile method. - deps: identifiers, - }); + // time, we can avoid calling findImportedModuleIdentifiers in + // the _scanFile method. + deps: { [id]: importInfo } + })); + }); - } finally { - this.allMissingNodeModules = previousAllMissingNodeModules; + this.allMissingModules = previousAllMissingModules; - each(identifiers, (info, id) => { - if (! has(newlyMissing, id)) { - newlyAdded[id] = info; - } - }); + Object.keys(missingModules).forEach(id => { + if (! has(newlyMissing, id)) { + newlyAdded[id] = missingModules[id]; + } + }); - // Remove previously seen missing module identifiers from - // newlyMissing and merge the new identifiers back into - // this.allMissingNodeModules. - each(keys(newlyMissing), key => { - if (has(previousAllMissingNodeModules, key)) { - delete newlyMissing[key]; - } else { - previousAllMissingNodeModules[key] = - newlyMissing[key]; - } - }); - } + // Remove previously seen missing module identifiers from + // newlyMissing and merge the new identifiers back into + // this.allMissingModules. + Object.keys(newlyMissing).forEach(id => { + if (has(previousAllMissingModules, id)) { + delete newlyMissing[id]; + } else { + ImportScanner.mergeMissing( + previousAllMissingModules, + { [id]: newlyMissing[id] } + ); + } + }); } return { @@ -417,6 +420,30 @@ export default class ImportScanner { }; } + static mergeMissing(target, source) { + keys(source).forEach(id => { + const importInfoList = source[id]; + const pathToIndex = Object.create(null); + + if (! has(target, id)) { + target[id] = []; + } else { + target[id].forEach((info, index) => { + pathToIndex[info.parentPath] = index; + }); + } + + importInfoList.forEach(info => { + const index = pathToIndex[info.parentPath]; + if (typeof index === "number") { + target[id][index] = info; + } else { + target[id].push(info); + } + }); + }); + } + getOutputFiles() { // Return all installable output files that are either eager or // imported (statically or dynamically). @@ -900,18 +927,16 @@ export default class ImportScanner { // missing dependency so that we can include it in the app bundle. if (parentFile) { const missing = - parentFile.missingNodeModules || + parentFile.missingModules || Object.create(null); missing[id] = info; - parentFile.missingNodeModules = missing; + parentFile.missingModules = missing; } - if (! has(this.allMissingNodeModules, id) || - ! info.possiblySpurious) { - // Allow any non-spurious identifier to replace an existing - // possibly spurious identifier. - this.allMissingNodeModules[id] = info; - } + ImportScanner.mergeMissing( + this.allMissingModules, + { [id]: [info] } + ); } _addPkgJsonToOutput(pkgJsonPath, pkg, forDynamicImport = false) { From 4e778b6e17ba5ac6813ee0bd3a2610de5babb1b6 Mon Sep 17 00:00:00 2001 From: Ben Newman Date: Mon, 11 Sep 2017 16:42:06 -0400 Subject: [PATCH 0013/1355] Rename installPath property to absModuleId, and make absolute. The `installPath` property was always essentially an absolute module identifier that was simply missing the leading '/' character, so this commit acknowledges that role by renaming the property to `absModuleId` and adding the leading slash. --- tools/isobuild/compiler-plugin.js | 10 ++-- tools/isobuild/import-scanner.js | 81 +++++++++++++++++-------------- tools/isobuild/linker.js | 22 +++++---- 3 files changed, 64 insertions(+), 49 deletions(-) diff --git a/tools/isobuild/compiler-plugin.js b/tools/isobuild/compiler-plugin.js index cb52f25699..f164544092 100644 --- a/tools/isobuild/compiler-plugin.js +++ b/tools/isobuild/compiler-plugin.js @@ -8,6 +8,7 @@ var linker = require('./linker.js'); var util = require('util'); var _ = require('underscore'); var Profile = require('../tool-env/profile.js').Profile; +import assert from "assert"; import {sha1, readAndWatchFileWithHash} from '../fs/watch.js'; import LRU from 'lru-cache'; import {sourceMapLength} from '../utils/utils.js'; @@ -1124,11 +1125,12 @@ export class PackageSourceBatch { const appFilesWithoutNodeModules = []; outputFiles.forEach(file => { - const parts = file.installPath.split("/"); + const parts = file.absModuleId.split("/"); + assert.strictEqual(parts[0], ""); const nodeModulesIndex = parts.indexOf("node_modules"); - if (nodeModulesIndex === -1 || (nodeModulesIndex === 0 && - parts[1] === "meteor")) { + if (nodeModulesIndex === -1 || (nodeModulesIndex === 1 && + parts[2] === "meteor")) { appFilesWithoutNodeModules.push(file); } else { // This file is going to be installed in a node_modules @@ -1308,7 +1310,7 @@ export class PackageSourceBatch { files: jsResources.map((inputFile) => { fileHashes.push(inputFile.hash); return { - installPath: inputFile.installPath, + absModuleId: inputFile.absModuleId, sourceMap: !! inputFile.sourceMap, mainModule: inputFile.mainModule, imported: inputFile.imported, diff --git a/tools/isobuild/import-scanner.js b/tools/isobuild/import-scanner.js index 150de5aaea..0491a3352d 100644 --- a/tools/isobuild/import-scanner.js +++ b/tools/isobuild/import-scanner.js @@ -86,6 +86,14 @@ function canBeParsedAsPlainJS(dataString, hash) { return result; } +function stripLeadingSlash(path) { + if (path.charAt(0) === "/") { + return path.slice(1); + } + + return path; +} + // Map from SHA (which is already calculated, so free for us) // to the results of calling findImportedModuleIdentifiers. // Each entry is an array of strings, and this is a case where @@ -210,7 +218,7 @@ export default class ImportScanner { // never be returned from getOutputFiles). file.imported = false; - file.installPath = file.installPath || this._getInstallPath(absPath); + file.absModuleId = file.absModuleId || this._getAbsModuleId(absPath); if (! this._addFile(absPath, file)) { // Collisions can happen if a compiler plugin calls addJavaScript @@ -244,12 +252,12 @@ export default class ImportScanner { // to have the same .sourcePath but different .targetPaths. let sourceFile = this._getFile(absSourcePath); if (! sourceFile) { - const installPath = this._getInstallPath(absSourcePath); + const absModuleId = this._getAbsModuleId(absSourcePath); sourceFile = this._addFile(absSourcePath, { type: file.type, sourcePath: file.sourcePath, - servePath: installPath, - installPath, + servePath: stripLeadingSlash(absModuleId), + absModuleId, dataString: "", deps: {}, lazy: true, @@ -258,7 +266,7 @@ export default class ImportScanner { // Make sure the original file gets installed at the target path // instead of the source path. - file.installPath = this._getInstallPath(absTargetPath); + file.absModuleId = this._getAbsModuleId(absTargetPath); file.sourcePath = file.targetPath; const relativeId = this._getRelativeImportId( @@ -448,7 +456,7 @@ export default class ImportScanner { // Return all installable output files that are either eager or // imported (statically or dynamically). return this.outputFiles.filter(file => { - return file.installPath && + return file.absModuleId && (! file.lazy || file.imported === true || file.imported === "dynamic"); @@ -527,7 +535,7 @@ export default class ImportScanner { const packageJsonFile = this._addPkgJsonToOutput(path, pkg, forDynamicImport); - if (! parentFile.installPath) { + if (! parentFile.absModuleId) { // If parentFile is not installable, then we won't return it // from getOutputFiles, so we don't need to worry about // recording any parentFile.deps[id].helpers. @@ -535,8 +543,8 @@ export default class ImportScanner { } const relativeId = this._getRelativeImportId( - parentFile.installPath, - packageJsonFile.installPath + parentFile.absModuleId, + packageJsonFile.absModuleId ); // Although not explicitly imported, any package.json modules @@ -631,7 +639,7 @@ export default class ImportScanner { // If the module is an implicit package.json stub, update to the // explicit version now. if (depFile.jsonData && - depFile.installPath.endsWith("/package.json") && + depFile.absModuleId.endsWith("/package.json") && depFile.implicit === true) { const file = this._readModule(absImportedPath); if (file) { @@ -645,13 +653,13 @@ export default class ImportScanner { return; } - const installPath = this._getInstallPath(absImportedPath); - if (! installPath) { + const absModuleId = this._getAbsModuleId(absImportedPath); + if (! absModuleId) { // The given path cannot be installed on this architecture. return; } - info.installPath = installPath; + info.absModuleId = absModuleId; // If the module is not readable, _readModule may return // null. Otherwise it will return an object with .data, .dataString, @@ -663,8 +671,8 @@ export default class ImportScanner { depFile.type = "js"; // TODO Is this correct? depFile.sourcePath = pathRelative(this.sourceRoot, absImportedPath); - depFile.installPath = installPath; - depFile.servePath = installPath; + depFile.absModuleId = absModuleId; + depFile.servePath = stripLeadingSlash(absModuleId); depFile.lazy = true; depFile.imported = false; @@ -675,7 +683,7 @@ export default class ImportScanner { // handled natively by Node, so we don't need to build a // meteorInstall-style bundle beyond the entry-point module. if (! this.isWeb() && - depFile.installPath.startsWith("node_modules/") && + depFile.absModuleId.startsWith("/node_modules/") && // If optimistic functions care about this file, e.g. because it // resides in a linked npm package, then we should allow it to // be watched by including it in the server bundle by not @@ -770,13 +778,13 @@ export default class ImportScanner { return info; } - // Returns a relative path indicating where to install the given file - // via meteorInstall. May return undefined if the file should not be - // installed on the current architecture. - _getInstallPath(absPath) { + // Returns an absolute module identifier indicating where to install the + // given file via meteorInstall. May return undefined if the file should + // not be installed on the current architecture. + _getAbsModuleId(absPath) { let path = - this._getNodeModulesInstallPath(absPath) || - this._getSourceRootInstallPath(absPath); + this._getNodeModulesAbsModuleId(absPath) || + this._getSourceRootAbsModuleId(absPath); if (! path) { return; @@ -794,11 +802,11 @@ export default class ImportScanner { } // Install paths should always be delimited by /. - return convertToPosixPath(path); + return "/" + stripLeadingSlash(convertToPosixPath(path)); } - _getNodeModulesInstallPath(absPath) { - let installPath; + _getNodeModulesAbsModuleId(absPath) { + let absModuleId; this.nodeModulesPaths.some(path => { const relPathWithinNodeModules = pathRelative(path, absPath); @@ -810,24 +818,24 @@ export default class ImportScanner { // Install the module into the local node_modules directory within // this app or package. - return installPath = pathJoin( + return absModuleId = pathJoin( "node_modules", relPathWithinNodeModules ); }); - return installPath; + return absModuleId; } - _getSourceRootInstallPath(absPath) { - const installPath = pathRelative(this.sourceRoot, absPath); + _getSourceRootAbsModuleId(absPath) { + const absModuleId = pathRelative(this.sourceRoot, absPath); - if (installPath.startsWith("..")) { + if (absModuleId.startsWith("..")) { // absPath is not a subdirectory of this.sourceRoot. return; } - const dirs = this._splitPath(pathDirname(installPath)); + const dirs = this._splitPath(pathDirname(absModuleId)); const isApp = ! this.name; const bundlingForWeb = this.isWeb(); @@ -864,11 +872,11 @@ export default class ImportScanner { if (dir === "node_modules") { // Accept any file within a node_modules directory. - return installPath; + return absModuleId; } } - return installPath; + return absModuleId; } _splitPath(path) { @@ -961,6 +969,7 @@ export default class ImportScanner { }).join("")); const relPkgJsonPath = pathRelative(this.sourceRoot, pkgJsonPath); + const absModuleId = this._getAbsModuleId(pkgJsonPath); const pkgFile = { type: "js", // We represent the JSON module with JS. @@ -968,8 +977,8 @@ export default class ImportScanner { jsonData: pkg, deps: {}, // Avoid accidentally re-scanning this file. sourcePath: relPkgJsonPath, - installPath: this._getInstallPath(pkgJsonPath), - servePath: relPkgJsonPath, + absModuleId, + servePath: stripLeadingSlash(absModuleId), hash: sha1(data), lazy: true, imported: forDynamicImport ? "dynamic" : true, @@ -994,7 +1003,7 @@ export default class ImportScanner { } each(["_readFile", "_findImportedModuleIdentifiers", - "_getInstallPath"], funcName => { + "_getAbsModuleId"], funcName => { ImportScanner.prototype[funcName] = Profile( `ImportScanner#${funcName}`, ImportScanner.prototype[funcName]); }); diff --git a/tools/isobuild/linker.js b/tools/isobuild/linker.js index 5a7b09fa60..204b96f9ea 100644 --- a/tools/isobuild/linker.js +++ b/tools/isobuild/linker.js @@ -246,7 +246,7 @@ _.extend(Module.prototype, { } if (file.isDynamic()) { - const servePath = "dynamic/" + file.installPath; + const servePath = files.pathJoin("dynamic", file.absModuleId); const { code: source, map } = file.getPrelinkedOutput({ sourceWidth: sourceWidth, @@ -264,7 +264,7 @@ _.extend(Module.prototype, { const stubArray = file.deps.slice(0); - if (file.installPath.endsWith("/package.json") && + if (file.absModuleId.endsWith("/package.json") && file.jsonData) { const stub = {}; @@ -281,12 +281,12 @@ _.extend(Module.prototype, { stubArray.push(stub); } - addToTree(stubArray, file.installPath, tree); + addToTree(stubArray, file.absModuleId, tree); } else { // If the file is not dynamic, then it should be included in the // initial bundle, so we add it to the static tree. - addToTree(file, file.installPath, tree); + addToTree(file, file.absModuleId, tree); } }); @@ -420,7 +420,7 @@ _.extend(Module.prototype, { chunks.push( file.mainModule ? "\nvar " + exportsName + " = " : "\n", "require(", - JSON.stringify("./" + file.installPath), + JSON.stringify(file.absModuleId), ");" ); }); @@ -437,6 +437,10 @@ export function addToTree(value, path, tree) { const parts = path.split("/"); const lastIndex = parts.length - 1; parts.forEach((part, i) => { + if (part === "") { + return; + } + tree = _.has(tree, part) ? tree[part] : tree[part] = i < lastIndex ? {} : value; @@ -515,9 +519,9 @@ var File = function (inputFile, module) { self.sourcePath = inputFile.sourcePath; // Absolute module identifier to use when installing this file via - // meteorInstall. If the inputFile has no .installPath, then this file + // meteorInstall. If the inputFile has no .absModuleId, then this file // cannot be installed as a module. - self.installPath = inputFile.installPath || null; + self.absModuleId = inputFile.absModuleId || null; // the path where this file would prefer to be served if possible self.servePath = inputFile.servePath; @@ -575,8 +579,8 @@ _.extend(File.prototype, { computeAssignedVariables: Profile("linker File#computeAssignedVariables", function () { var self = this; - if (self.installPath) { - const parts = self.installPath.split("/"); + if (self.absModuleId) { + const parts = self.absModuleId.split("/"); const nmi = parts.indexOf("node_modules"); if (nmi >= 0 && parts[nmi + 1] !== "meteor") { // If this file is in a node_modules directory and is not part of From 1470bc841f45db71be1ab2c01fd5e94a0d738b81 Mon Sep 17 00:00:00 2001 From: Ben Newman Date: Fri, 6 Oct 2017 19:08:18 -0400 Subject: [PATCH 0014/1355] Remember whether parent module of failed import was dynamic. Fixes #9182. --- tools/isobuild/import-scanner.js | 16 +++++++++++++++- 1 file changed, 15 insertions(+), 1 deletion(-) diff --git a/tools/isobuild/import-scanner.js b/tools/isobuild/import-scanner.js index 0491a3352d..6c51fd0b6f 100644 --- a/tools/isobuild/import-scanner.js +++ b/tools/isobuild/import-scanner.js @@ -625,7 +625,9 @@ export default class ImportScanner { // browser (even though it works equally well on the server), so // it's better if forDynamicImport never becomes true on the server. const dynamic = this.isWebBrowser() && - (forDynamicImport || info.dynamic); + (forDynamicImport || + info.parentWasDynamic || + info.dynamic); const resolved = this._resolve(file, id, dynamic); if (! resolved) { @@ -919,6 +921,12 @@ export default class ImportScanner { bundleArch: this.bundleArch, possiblySpurious: false, dynamic: false, + // When we later attempt to resolve this id in the application's + // node_modules directory or in other packages, we need to remember + // if the parent module was imported dynamically, since that makes + // this import effectively dynamic, even if the parent module + // imported the given id with a static import or require. + parentWasDynamic: forDynamicImport, }; if (parentFile && @@ -926,6 +934,12 @@ export default class ImportScanner { has(parentFile.deps, id)) { const importInfo = parentFile.deps[id]; info.possiblySpurious = importInfo.possiblySpurious; + // Remember that this property only indicates whether or not the + // parent module used a dynamic import(...) to import this module. + // Even if info.dynamic is false (because the parent module used a + // static import or require for this import), this module may still + // be effectively dynamic if the parent was imported dynamically, as + // indicated by info.parentWasDynamic. info.dynamic = importInfo.dynamic; } From 202e913faa33e5e5ddad4677309a777f2e781ee6 Mon Sep 17 00:00:00 2001 From: Ben Newman Date: Sat, 7 Oct 2017 10:11:02 -0400 Subject: [PATCH 0015/1355] Call _scanFile far fewer times in ImportScanner#scanMissingModules. --- tools/isobuild/import-scanner.js | 64 +++++++++++++++++++++++++------- 1 file changed, 50 insertions(+), 14 deletions(-) diff --git a/tools/isobuild/import-scanner.js b/tools/isobuild/import-scanner.js index 6c51fd0b6f..68653fbb25 100644 --- a/tools/isobuild/import-scanner.js +++ b/tools/isobuild/import-scanner.js @@ -43,6 +43,18 @@ const fakeFileStat = { } }; +// Used in ImportScanner#scanMissingModules. +const fakeScanFileOptions = { + // A temporary file that does not really exist and will never be added + // to scanner.outputFiles or returned by scanner.getOutputFiles. + sourcePath: "fake.js", + // It's important that the fake.js file itself never gets scanned or + // bundled. See the _scanFile and getOutputFiles methods for logic that + // deals with file.imported values. + imported: "fake", + lazy: true, +}; + // Default handlers for well-known file extensions. // Note that these function expect strings, not Buffer objects. const defaultExtensionHandlers = { @@ -383,20 +395,44 @@ export default class ImportScanner { this.allMissingModules = newlyMissing; Object.keys(missingModules).forEach(id => { - // TODO Call this._scanFile fewer times in case missingModules[id] - // is a long and redundant list? - missingModules[id].forEach(importInfo => this._scanFile({ - sourcePath: "fake.js", - // It's important that the fake.js file itself never gets - // scanned or bundled. See the _scanFile and getOutputFiles - // methods for logic that deals with file.imported values. - imported: "fake", - lazy: true, - // By specifying the .deps property of this fake file ahead of - // time, we can avoid calling findImportedModuleIdentifiers in - // the _scanFile method. - deps: { [id]: importInfo } - })); + let staticImportInfo = null; + let dynamicImportInfo = null; + + // Although it would be logically valid to call this._scanFile for + // each and every importInfo object, there can be a lot of them + // (hundreds, maybe thousands). The only relevant difference is + // whether the file is being scanned as a dynamic import or not, + // so we can get away with calling this._scanFile at most twice, + // with a representative importInfo object of each kind. + missingModules[id].some(importInfo => { + if (importInfo.parentWasDynamic || + importInfo.dynamic) { + dynamicImportInfo = dynamicImportInfo || importInfo; + } else { + staticImportInfo = staticImportInfo || importInfo; + } + + // Stop when/if both variables have been initialized. + return staticImportInfo && dynamicImportInfo; + }); + + if (staticImportInfo) { + this._scanFile({ + ...fakeScanFileOptions, + // By specifying the .deps property of this fake file ahead of + // time, we can avoid calling findImportedModuleIdentifiers in + // the _scanFile method, which is important because this file + // doesn't have a .data or .dataString property. + deps: { [id]: staticImportInfo } + }, false); // !forDynamicImport + } + + if (dynamicImportInfo) { + this._scanFile({ + ...fakeScanFileOptions, + deps: { [id]: dynamicImportInfo } + }, true); // forDynamicImport + } }); this.allMissingModules = previousAllMissingModules; From 3b7943f6318e427f4edeade0a44d2fc1a1591927 Mon Sep 17 00:00:00 2001 From: Ben Newman Date: Sat, 7 Oct 2017 14:10:37 -0400 Subject: [PATCH 0016/1355] Add more comments to recently-modified ImportScanner logic. --- tools/isobuild/import-scanner.js | 34 ++++++++++++++++++++++++-------- 1 file changed, 26 insertions(+), 8 deletions(-) diff --git a/tools/isobuild/import-scanner.js b/tools/isobuild/import-scanner.js index 68653fbb25..03a0ff79c9 100644 --- a/tools/isobuild/import-scanner.js +++ b/tools/isobuild/import-scanner.js @@ -439,6 +439,8 @@ export default class ImportScanner { Object.keys(missingModules).forEach(id => { if (! has(newlyMissing, id)) { + // We don't need to use ImportScanner.mergeMissing here because + // this is the first time newlyAdded[id] has been assigned. newlyAdded[id] = missingModules[id]; } }); @@ -464,6 +466,10 @@ export default class ImportScanner { }; } + // Helper for copying the properties of source into target, + // concatenating values (which must be arrays) if a property already + // exists. The array elements should be importInfo objects, and will be + // deduplicated according to their .parentPath properties. static mergeMissing(target, source) { keys(source).forEach(id => { const importInfoList = source[id]; @@ -472,18 +478,24 @@ export default class ImportScanner { if (! has(target, id)) { target[id] = []; } else { - target[id].forEach((info, index) => { - pathToIndex[info.parentPath] = index; + target[id].forEach((importInfo, index) => { + pathToIndex[importInfo.parentPath] = index; }); } - importInfoList.forEach(info => { - const index = pathToIndex[info.parentPath]; - if (typeof index === "number") { - target[id][index] = info; - } else { - target[id].push(info); + importInfoList.forEach(importInfo => { + const { parentPath } = importInfo; + if (typeof parentPath === "string") { + const index = pathToIndex[parentPath]; + if (typeof index === "number") { + // If an importInfo object with this .parentPath is already + // present in the target[id] array, replace it. + target[id][index] = importInfo; + return; + } } + + target[id].push(importInfo); }); }); } @@ -686,6 +698,9 @@ export default class ImportScanner { } } + // If depFile has already been scanned, this._scanFile will return + // immediately thanks to the depFile.imported-checking logic at + // the top of the method. this._scanFile(depFile, dynamic); return; @@ -712,6 +727,9 @@ export default class ImportScanner { depFile.absModuleId = absModuleId; depFile.servePath = stripLeadingSlash(absModuleId); depFile.lazy = true; + // Setting depFile.imported = false is necessary so that + // this._scanFile(depFile, dynamic) doesn't think the file has been + // scanned already and return immediately. depFile.imported = false; // Append this file to the output array and record its index. From c03a46f70fdf6ab59af53f0172f34a91f09f1a60 Mon Sep 17 00:00:00 2001 From: Ben Newman Date: Tue, 10 Oct 2017 14:52:15 -0400 Subject: [PATCH 0017/1355] Regression test for #9185 (fixed by #9187). --- tools/tests/apps/dynamic-import/package.json | 1 + .../packages/helper-package/import-peer.js | 1 + tools/tests/apps/dynamic-import/tests.js | 18 +++++++++++++++++- 3 files changed, 19 insertions(+), 1 deletion(-) create mode 100644 tools/tests/apps/dynamic-import/packages/helper-package/import-peer.js diff --git a/tools/tests/apps/dynamic-import/package.json b/tools/tests/apps/dynamic-import/package.json index 1a6a568e7c..dcd499275d 100644 --- a/tools/tests/apps/dynamic-import/package.json +++ b/tools/tests/apps/dynamic-import/package.json @@ -11,6 +11,7 @@ "babel-runtime": "^6.20.0", "meteor-node-stubs": "~0.2.4", "moment": "^2.17.1", + "optimism": "^0.3.3", "private": "^0.1.7", "react": "^15.4.2" } diff --git a/tools/tests/apps/dynamic-import/packages/helper-package/import-peer.js b/tools/tests/apps/dynamic-import/packages/helper-package/import-peer.js new file mode 100644 index 0000000000..b36427b5ca --- /dev/null +++ b/tools/tests/apps/dynamic-import/packages/helper-package/import-peer.js @@ -0,0 +1 @@ +export { wrap } from "optimism"; diff --git a/tools/tests/apps/dynamic-import/tests.js b/tools/tests/apps/dynamic-import/tests.js index 33646bf625..a04f11dcc4 100644 --- a/tools/tests/apps/dynamic-import/tests.js +++ b/tools/tests/apps/dynamic-import/tests.js @@ -209,10 +209,26 @@ describe("dynamic import(...)", function () { assert.strictEqual(version, null); } - import("meteor/user:colon-name/dynamic.js").then(dynamic => { + return import("meteor/user:colon-name/dynamic.js").then(dynamic => { assert.strictEqual(dynamic.name, expectedAbsId); }); }); + + it("should track dynamic peer imports from packages (#9187)", () => { + const version = require( + "meteor/dynamic-import/dynamic-versions.js" + ).get("/node_modules/optimism/lib/index.js"); + + if (Meteor.isClient) { + assert.strictEqual(typeof version, "string"); + } else { + assert.strictEqual(version, null); + } + + return import("meteor/helper-package/import-peer.js").then(m => { + assert.strictEqual(typeof m.wrap, "function"); + }); + }); }); function maybeClearDynamicImportCache() { From 6323a34d6a7cf84c87f5b82c4ae7428ac3178c79 Mon Sep 17 00:00:00 2001 From: Ben Newman Date: Mon, 23 Oct 2017 19:37:44 -0400 Subject: [PATCH 0018/1355] Adjust npm update notifier opt-out environment variable. https://github.com/zkat/npx/issues/98#issuecomment-316936135 https://www.npmjs.com/package/update-notifier#user-settings --- tools/cli/dev-bundle-bin-helpers.js | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/tools/cli/dev-bundle-bin-helpers.js b/tools/cli/dev-bundle-bin-helpers.js index d0b36db9f4..19e7fcfe11 100644 --- a/tools/cli/dev-bundle-bin-helpers.js +++ b/tools/cli/dev-bundle-bin-helpers.js @@ -78,7 +78,7 @@ exports.getEnv = function (options) { var env = Object.create(process.env); // Make sure notifications to update npm aren't presented to the user. - env.NPM_CONFIG_NO_UPDATE_NOTIFIER = true; + env.NO_UPDATE_NOTIFIER = true; // Make sure `meteor npm install --global ...` installs into // dev_bundle/lib/node_modules by default. From 8dc1fc35123c28c13573c5af3c9d37313ac1042d Mon Sep 17 00:00:00 2001 From: Ben Newman Date: Mon, 9 Oct 2017 09:48:23 -0400 Subject: [PATCH 0019/1355] Fix typo in ImportScanner#_scanFile. Introduced by 3faee05eede683dd14fa922464ef2ba0c081a051. cc @cpury @JanMP --- tools/isobuild/import-scanner.js | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/tools/isobuild/import-scanner.js b/tools/isobuild/import-scanner.js index 03a0ff79c9..d930e6cbea 100644 --- a/tools/isobuild/import-scanner.js +++ b/tools/isobuild/import-scanner.js @@ -646,8 +646,8 @@ export default class ImportScanner { // reported at compilation time. Now that we know the file has been // imported, it's time to report those errors. buildmessage.error( - depFile.error.message, - depFile.error.info + file.error.message, + file.error.info ); return; } From e5211e48763cf9c0a44e36a0381a487bac68bbd1 Mon Sep 17 00:00:00 2001 From: Jesse Rosenberger Date: Fri, 27 Oct 2017 11:39:02 -0700 Subject: [PATCH 0020/1355] Bump package versions for 1.5.3-rc.0 release. --- packages/meteor-tool/package.js | 2 +- scripts/admin/meteor-release-experimental.json | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/packages/meteor-tool/package.js b/packages/meteor-tool/package.js index 4a5ba7e2a8..38841667cb 100644 --- a/packages/meteor-tool/package.js +++ b/packages/meteor-tool/package.js @@ -1,6 +1,6 @@ Package.describe({ summary: "The Meteor command-line tool", - version: "1.5.2_2" + version: "1.5.3-rc.0" }); Package.includeTool(); diff --git a/scripts/admin/meteor-release-experimental.json b/scripts/admin/meteor-release-experimental.json index 0d65e4a5f9..93dbc89693 100644 --- a/scripts/admin/meteor-release-experimental.json +++ b/scripts/admin/meteor-release-experimental.json @@ -1,6 +1,6 @@ { "track": "METEOR", - "version": "1.5.2.2-rc.1", + "version": "1.5.3-rc.0", "recommended": false, "official": false, "description": "Meteor" From 9c62a55137a0d27796e6328a822dc08f586fbc7a Mon Sep 17 00:00:00 2001 From: Jesse Rosenberger Date: Fri, 27 Oct 2017 14:47:06 -0700 Subject: [PATCH 0021/1355] Bump $NODE_BUILD_NUMBER to 116 before rebuilding dev bundle. --- scripts/build-dev-bundle-common.sh | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/scripts/build-dev-bundle-common.sh b/scripts/build-dev-bundle-common.sh index 6a74e0c7d0..068cde70af 100644 --- a/scripts/build-dev-bundle-common.sh +++ b/scripts/build-dev-bundle-common.sh @@ -10,7 +10,7 @@ NODE_VERSION=4.8.5 NPM_VERSION=4.6.1 # If we built Node from source on Jenkins, this is the build number. -NODE_BUILD_NUMBER=113 +NODE_BUILD_NUMBER=116 if [ "$UNAME" == "Linux" ] ; then if [ "$ARCH" != "i686" -a "$ARCH" != "x86_64" ] ; then From d6fc953ba66a26813f0b800057bbdc7331202cc9 Mon Sep 17 00:00:00 2001 From: Jesse Rosenberger Date: Fri, 27 Oct 2017 15:15:05 -0700 Subject: [PATCH 0022/1355] Bump $NODE_BUILD_NUMBER to 120 before rebuilding dev bundle. --- scripts/build-dev-bundle-common.sh | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/scripts/build-dev-bundle-common.sh b/scripts/build-dev-bundle-common.sh index 068cde70af..6073692997 100644 --- a/scripts/build-dev-bundle-common.sh +++ b/scripts/build-dev-bundle-common.sh @@ -10,7 +10,7 @@ NODE_VERSION=4.8.5 NPM_VERSION=4.6.1 # If we built Node from source on Jenkins, this is the build number. -NODE_BUILD_NUMBER=116 +NODE_BUILD_NUMBER=120 if [ "$UNAME" == "Linux" ] ; then if [ "$ARCH" != "i686" -a "$ARCH" != "x86_64" ] ; then From 1995c8d44522d9db31742dcd1428d5b2dc9274c9 Mon Sep 17 00:00:00 2001 From: Jesse Rosenberger Date: Fri, 27 Oct 2017 14:47:17 -0700 Subject: [PATCH 0023/1355] Bump $BUNDLE_VERSION to 4.8.43 before rebuilding dev bundle. --- meteor | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/meteor b/meteor index e36cb96f1d..448bbca4ef 100755 --- a/meteor +++ b/meteor @@ -1,6 +1,6 @@ #!/usr/bin/env bash -BUNDLE_VERSION=4.8.42 +BUNDLE_VERSION=4.8.43 # OS Check. Put here because here is where we download the precompiled # bundles that are arch specific. From 8647e4647bb7ed4b5f08b742e85953cd66a6705e Mon Sep 17 00:00:00 2001 From: Ben Newman Date: Mon, 30 Oct 2017 15:07:25 -0400 Subject: [PATCH 0024/1355] Update npm to version 5.5.1. I also took this opportunity to rebase our fork of the pacote package against the latest upstream version (6.1.0). --- History.md | 4 ++++ scripts/build-dev-bundle-common.sh | 2 +- scripts/dev-bundle-tool-package.js | 4 ++-- 3 files changed, 7 insertions(+), 3 deletions(-) diff --git a/History.md b/History.md index 255600872d..626a08f535 100644 --- a/History.md +++ b/History.md @@ -1,5 +1,9 @@ ## v.NEXT +* The `npm` npm package has been upgraded to version 5.5.1, which supports + several new features, including two-factor authentication, as described + in the [release notes](https://github.com/npm/npm/blob/latest/CHANGELOG.md#v551-2017-10-04). + * iOS icons and launch screens have been updated to support iOS 11 [Issue #9196](https://github.com/meteor/meteor/issues/9196) [PR #9198](https://github.com/meteor/meteor/pull/9198) diff --git a/scripts/build-dev-bundle-common.sh b/scripts/build-dev-bundle-common.sh index 9c65745ac8..1b306f35cd 100644 --- a/scripts/build-dev-bundle-common.sh +++ b/scripts/build-dev-bundle-common.sh @@ -8,7 +8,7 @@ ARCH=$(uname -m) NODE_VERSION=8.8.1 MONGO_VERSION_64BIT=3.2.15 MONGO_VERSION_32BIT=3.2.15 -NPM_VERSION=5.4.2 +NPM_VERSION=5.5.1 # If we built Node from source on Jenkins, this is the build number. NODE_BUILD_NUMBER=111 diff --git a/scripts/dev-bundle-tool-package.js b/scripts/dev-bundle-tool-package.js index fdde521a2d..580e76361d 100644 --- a/scripts/dev-bundle-tool-package.js +++ b/scripts/dev-bundle-tool-package.js @@ -11,8 +11,8 @@ var packageJson = { dependencies: { // Explicit dependency because we are replacing it with a bundled version // and we want to make sure there are no dependencies on a higher version - npm: "5.4.2", - pacote: "https://github.com/meteor/pacote/tarball/4e58fa55e2a0ba7dc75b26ff5273730d98335a85", + npm: "5.5.1", + pacote: "https://github.com/meteor/pacote/tarball/dea6a20a68057237a498f6c047e9b3ecf5df749d", "node-gyp": "3.6.2", "node-pre-gyp": "0.6.36", "meteor-babel": "7.0.0-beta.3-1", From a60b32afc66e0878b4fa6a398174006664e9ae9b Mon Sep 17 00:00:00 2001 From: Ben Newman Date: Mon, 30 Oct 2017 15:08:24 -0400 Subject: [PATCH 0025/1355] Bump $BUNDLE_VERSION to 8.8.2 before rebuilding dev bundle. --- meteor | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/meteor b/meteor index 8c40c4bd26..38a2f73cae 100755 --- a/meteor +++ b/meteor @@ -1,6 +1,6 @@ #!/usr/bin/env bash -BUNDLE_VERSION=8.8.1 +BUNDLE_VERSION=8.8.2 # OS Check. Put here because here is where we download the precompiled # bundles that are arch specific. From 55a6d1b50b785a5c8d6e70c17089875e97a3874f Mon Sep 17 00:00:00 2001 From: Ben Newman Date: Sun, 8 Oct 2017 15:54:46 -0400 Subject: [PATCH 0026/1355] Revert "Rename installPath property to absModuleId, and make absolute." This reverts commit b9f0a54b396e76966364a6edcd99401287103e53. Though probably a good idea for the future, this change was not really necessary for Meteor 1.6, and probably too risky for a release candidate. --- tools/isobuild/compiler-plugin.js | 10 ++-- tools/isobuild/import-scanner.js | 81 ++++++++++++++----------------- tools/isobuild/linker.js | 22 ++++----- 3 files changed, 49 insertions(+), 64 deletions(-) diff --git a/tools/isobuild/compiler-plugin.js b/tools/isobuild/compiler-plugin.js index f164544092..cb52f25699 100644 --- a/tools/isobuild/compiler-plugin.js +++ b/tools/isobuild/compiler-plugin.js @@ -8,7 +8,6 @@ var linker = require('./linker.js'); var util = require('util'); var _ = require('underscore'); var Profile = require('../tool-env/profile.js').Profile; -import assert from "assert"; import {sha1, readAndWatchFileWithHash} from '../fs/watch.js'; import LRU from 'lru-cache'; import {sourceMapLength} from '../utils/utils.js'; @@ -1125,12 +1124,11 @@ export class PackageSourceBatch { const appFilesWithoutNodeModules = []; outputFiles.forEach(file => { - const parts = file.absModuleId.split("/"); - assert.strictEqual(parts[0], ""); + const parts = file.installPath.split("/"); const nodeModulesIndex = parts.indexOf("node_modules"); - if (nodeModulesIndex === -1 || (nodeModulesIndex === 1 && - parts[2] === "meteor")) { + if (nodeModulesIndex === -1 || (nodeModulesIndex === 0 && + parts[1] === "meteor")) { appFilesWithoutNodeModules.push(file); } else { // This file is going to be installed in a node_modules @@ -1310,7 +1308,7 @@ export class PackageSourceBatch { files: jsResources.map((inputFile) => { fileHashes.push(inputFile.hash); return { - absModuleId: inputFile.absModuleId, + installPath: inputFile.installPath, sourceMap: !! inputFile.sourceMap, mainModule: inputFile.mainModule, imported: inputFile.imported, diff --git a/tools/isobuild/import-scanner.js b/tools/isobuild/import-scanner.js index d930e6cbea..4d34d533bf 100644 --- a/tools/isobuild/import-scanner.js +++ b/tools/isobuild/import-scanner.js @@ -98,14 +98,6 @@ function canBeParsedAsPlainJS(dataString, hash) { return result; } -function stripLeadingSlash(path) { - if (path.charAt(0) === "/") { - return path.slice(1); - } - - return path; -} - // Map from SHA (which is already calculated, so free for us) // to the results of calling findImportedModuleIdentifiers. // Each entry is an array of strings, and this is a case where @@ -230,7 +222,7 @@ export default class ImportScanner { // never be returned from getOutputFiles). file.imported = false; - file.absModuleId = file.absModuleId || this._getAbsModuleId(absPath); + file.installPath = file.installPath || this._getInstallPath(absPath); if (! this._addFile(absPath, file)) { // Collisions can happen if a compiler plugin calls addJavaScript @@ -264,12 +256,12 @@ export default class ImportScanner { // to have the same .sourcePath but different .targetPaths. let sourceFile = this._getFile(absSourcePath); if (! sourceFile) { - const absModuleId = this._getAbsModuleId(absSourcePath); + const installPath = this._getInstallPath(absSourcePath); sourceFile = this._addFile(absSourcePath, { type: file.type, sourcePath: file.sourcePath, - servePath: stripLeadingSlash(absModuleId), - absModuleId, + servePath: installPath, + installPath, dataString: "", deps: {}, lazy: true, @@ -278,7 +270,7 @@ export default class ImportScanner { // Make sure the original file gets installed at the target path // instead of the source path. - file.absModuleId = this._getAbsModuleId(absTargetPath); + file.installPath = this._getInstallPath(absTargetPath); file.sourcePath = file.targetPath; const relativeId = this._getRelativeImportId( @@ -504,7 +496,7 @@ export default class ImportScanner { // Return all installable output files that are either eager or // imported (statically or dynamically). return this.outputFiles.filter(file => { - return file.absModuleId && + return file.installPath && (! file.lazy || file.imported === true || file.imported === "dynamic"); @@ -583,7 +575,7 @@ export default class ImportScanner { const packageJsonFile = this._addPkgJsonToOutput(path, pkg, forDynamicImport); - if (! parentFile.absModuleId) { + if (! parentFile.installPath) { // If parentFile is not installable, then we won't return it // from getOutputFiles, so we don't need to worry about // recording any parentFile.deps[id].helpers. @@ -591,8 +583,8 @@ export default class ImportScanner { } const relativeId = this._getRelativeImportId( - parentFile.absModuleId, - packageJsonFile.absModuleId + parentFile.installPath, + packageJsonFile.installPath ); // Although not explicitly imported, any package.json modules @@ -689,7 +681,7 @@ export default class ImportScanner { // If the module is an implicit package.json stub, update to the // explicit version now. if (depFile.jsonData && - depFile.absModuleId.endsWith("/package.json") && + depFile.installPath.endsWith("/package.json") && depFile.implicit === true) { const file = this._readModule(absImportedPath); if (file) { @@ -706,13 +698,13 @@ export default class ImportScanner { return; } - const absModuleId = this._getAbsModuleId(absImportedPath); - if (! absModuleId) { + const installPath = this._getInstallPath(absImportedPath); + if (! installPath) { // The given path cannot be installed on this architecture. return; } - info.absModuleId = absModuleId; + info.installPath = installPath; // If the module is not readable, _readModule may return // null. Otherwise it will return an object with .data, .dataString, @@ -724,8 +716,8 @@ export default class ImportScanner { depFile.type = "js"; // TODO Is this correct? depFile.sourcePath = pathRelative(this.sourceRoot, absImportedPath); - depFile.absModuleId = absModuleId; - depFile.servePath = stripLeadingSlash(absModuleId); + depFile.installPath = installPath; + depFile.servePath = installPath; depFile.lazy = true; // Setting depFile.imported = false is necessary so that // this._scanFile(depFile, dynamic) doesn't think the file has been @@ -739,7 +731,7 @@ export default class ImportScanner { // handled natively by Node, so we don't need to build a // meteorInstall-style bundle beyond the entry-point module. if (! this.isWeb() && - depFile.absModuleId.startsWith("/node_modules/") && + depFile.installPath.startsWith("node_modules/") && // If optimistic functions care about this file, e.g. because it // resides in a linked npm package, then we should allow it to // be watched by including it in the server bundle by not @@ -834,13 +826,13 @@ export default class ImportScanner { return info; } - // Returns an absolute module identifier indicating where to install the - // given file via meteorInstall. May return undefined if the file should - // not be installed on the current architecture. - _getAbsModuleId(absPath) { + // Returns a relative path indicating where to install the given file + // via meteorInstall. May return undefined if the file should not be + // installed on the current architecture. + _getInstallPath(absPath) { let path = - this._getNodeModulesAbsModuleId(absPath) || - this._getSourceRootAbsModuleId(absPath); + this._getNodeModulesInstallPath(absPath) || + this._getSourceRootInstallPath(absPath); if (! path) { return; @@ -858,11 +850,11 @@ export default class ImportScanner { } // Install paths should always be delimited by /. - return "/" + stripLeadingSlash(convertToPosixPath(path)); + return convertToPosixPath(path); } - _getNodeModulesAbsModuleId(absPath) { - let absModuleId; + _getNodeModulesInstallPath(absPath) { + let installPath; this.nodeModulesPaths.some(path => { const relPathWithinNodeModules = pathRelative(path, absPath); @@ -874,24 +866,24 @@ export default class ImportScanner { // Install the module into the local node_modules directory within // this app or package. - return absModuleId = pathJoin( + return installPath = pathJoin( "node_modules", relPathWithinNodeModules ); }); - return absModuleId; + return installPath; } - _getSourceRootAbsModuleId(absPath) { - const absModuleId = pathRelative(this.sourceRoot, absPath); + _getSourceRootInstallPath(absPath) { + const installPath = pathRelative(this.sourceRoot, absPath); - if (absModuleId.startsWith("..")) { + if (installPath.startsWith("..")) { // absPath is not a subdirectory of this.sourceRoot. return; } - const dirs = this._splitPath(pathDirname(absModuleId)); + const dirs = this._splitPath(pathDirname(installPath)); const isApp = ! this.name; const bundlingForWeb = this.isWeb(); @@ -928,11 +920,11 @@ export default class ImportScanner { if (dir === "node_modules") { // Accept any file within a node_modules directory. - return absModuleId; + return installPath; } } - return absModuleId; + return installPath; } _splitPath(path) { @@ -1037,7 +1029,6 @@ export default class ImportScanner { }).join("")); const relPkgJsonPath = pathRelative(this.sourceRoot, pkgJsonPath); - const absModuleId = this._getAbsModuleId(pkgJsonPath); const pkgFile = { type: "js", // We represent the JSON module with JS. @@ -1045,8 +1036,8 @@ export default class ImportScanner { jsonData: pkg, deps: {}, // Avoid accidentally re-scanning this file. sourcePath: relPkgJsonPath, - absModuleId, - servePath: stripLeadingSlash(absModuleId), + installPath: this._getInstallPath(pkgJsonPath), + servePath: relPkgJsonPath, hash: sha1(data), lazy: true, imported: forDynamicImport ? "dynamic" : true, @@ -1071,7 +1062,7 @@ export default class ImportScanner { } each(["_readFile", "_findImportedModuleIdentifiers", - "_getAbsModuleId"], funcName => { + "_getInstallPath"], funcName => { ImportScanner.prototype[funcName] = Profile( `ImportScanner#${funcName}`, ImportScanner.prototype[funcName]); }); diff --git a/tools/isobuild/linker.js b/tools/isobuild/linker.js index 204b96f9ea..5a7b09fa60 100644 --- a/tools/isobuild/linker.js +++ b/tools/isobuild/linker.js @@ -246,7 +246,7 @@ _.extend(Module.prototype, { } if (file.isDynamic()) { - const servePath = files.pathJoin("dynamic", file.absModuleId); + const servePath = "dynamic/" + file.installPath; const { code: source, map } = file.getPrelinkedOutput({ sourceWidth: sourceWidth, @@ -264,7 +264,7 @@ _.extend(Module.prototype, { const stubArray = file.deps.slice(0); - if (file.absModuleId.endsWith("/package.json") && + if (file.installPath.endsWith("/package.json") && file.jsonData) { const stub = {}; @@ -281,12 +281,12 @@ _.extend(Module.prototype, { stubArray.push(stub); } - addToTree(stubArray, file.absModuleId, tree); + addToTree(stubArray, file.installPath, tree); } else { // If the file is not dynamic, then it should be included in the // initial bundle, so we add it to the static tree. - addToTree(file, file.absModuleId, tree); + addToTree(file, file.installPath, tree); } }); @@ -420,7 +420,7 @@ _.extend(Module.prototype, { chunks.push( file.mainModule ? "\nvar " + exportsName + " = " : "\n", "require(", - JSON.stringify(file.absModuleId), + JSON.stringify("./" + file.installPath), ");" ); }); @@ -437,10 +437,6 @@ export function addToTree(value, path, tree) { const parts = path.split("/"); const lastIndex = parts.length - 1; parts.forEach((part, i) => { - if (part === "") { - return; - } - tree = _.has(tree, part) ? tree[part] : tree[part] = i < lastIndex ? {} : value; @@ -519,9 +515,9 @@ var File = function (inputFile, module) { self.sourcePath = inputFile.sourcePath; // Absolute module identifier to use when installing this file via - // meteorInstall. If the inputFile has no .absModuleId, then this file + // meteorInstall. If the inputFile has no .installPath, then this file // cannot be installed as a module. - self.absModuleId = inputFile.absModuleId || null; + self.installPath = inputFile.installPath || null; // the path where this file would prefer to be served if possible self.servePath = inputFile.servePath; @@ -579,8 +575,8 @@ _.extend(File.prototype, { computeAssignedVariables: Profile("linker File#computeAssignedVariables", function () { var self = this; - if (self.absModuleId) { - const parts = self.absModuleId.split("/"); + if (self.installPath) { + const parts = self.installPath.split("/"); const nmi = parts.indexOf("node_modules"); if (nmi >= 0 && parts[nmi + 1] !== "meteor") { // If this file is in a node_modules directory and is not part of From f2b800c92799bdf8de2cdf71966b9664207e89a4 Mon Sep 17 00:00:00 2001 From: Ben Newman Date: Sun, 8 Oct 2017 19:59:56 -0400 Subject: [PATCH 0027/1355] Remove target directory in files.rename to avoid Windows EPERM errors. These errors are especially harmful because they cause files.rename to fall back to copying rather than atomically renaming, which is both much slower and not even remotely atomic. --- tools/fs/files.js | 17 ++++++++++++----- 1 file changed, 12 insertions(+), 5 deletions(-) diff --git a/tools/fs/files.js b/tools/fs/files.js index 8c3789c5ae..5dd318c269 100644 --- a/tools/fs/files.js +++ b/tools/fs/files.js @@ -1755,15 +1755,21 @@ files.existsSync = function (path, callback) { }; if (files.isWindowsLikeFilesystem()) { - var rename = files.rename; + const rename = files.rename; files.rename = function (from, to) { - // retries are necessarily only on Windows, because the rename call can fail - // with EBUSY, which means the file is "busy" - var maxTries = 10; - var success = false; + // Retries are necessary only on Windows, because the rename call can + // fail with EBUSY, which means the file is in use. + let maxTries = 10; + let success = false; + const osTo = files.convertToOSPath(to); + while (! success && maxTries-- > 0) { try { + // Despite previous failures, the top-level destination directory + // may have been successfully created, so we must remove it to + // avoid moving the source file *into* the destination directory. + rimraf.sync(osTo); rename(from, to); success = true; } catch (err) { @@ -1772,6 +1778,7 @@ if (files.isWindowsLikeFilesystem()) { } } } + if (! success) { files.cp_r(from, to); files.rm_recursive(from); From 699768f39dfd8ae176b9a00a945f0e498053efb2 Mon Sep 17 00:00:00 2001 From: Ben Newman Date: Mon, 9 Oct 2017 16:45:08 -0400 Subject: [PATCH 0028/1355] Stop using file.imported to mark fake files in the ImportScanner. Using a Symbol ensures compiler plugins can't mark files fake accidentally (or maliciously) when calling inputFile.addJavaScript(options). --- tools/isobuild/import-scanner.js | 45 +++++++++++++++----------------- 1 file changed, 21 insertions(+), 24 deletions(-) diff --git a/tools/isobuild/import-scanner.js b/tools/isobuild/import-scanner.js index 4d34d533bf..c5d55eb3d6 100644 --- a/tools/isobuild/import-scanner.js +++ b/tools/isobuild/import-scanner.js @@ -43,17 +43,9 @@ const fakeFileStat = { } }; -// Used in ImportScanner#scanMissingModules. -const fakeScanFileOptions = { - // A temporary file that does not really exist and will never be added - // to scanner.outputFiles or returned by scanner.getOutputFiles. - sourcePath: "fake.js", - // It's important that the fake.js file itself never gets scanned or - // bundled. See the _scanFile and getOutputFiles methods for logic that - // deals with file.imported values. - imported: "fake", - lazy: true, -}; +// Symbol used by scanMissingModules to mark certain files as temporary, +// to prevent them from being added to scanner.outputFiles. +const fakeSymbol = Symbol("fake"); // Default handlers for well-known file extensions. // Note that these function expect strings, not Buffer objects. @@ -168,6 +160,11 @@ export default class ImportScanner { } _addFile(absPath, file) { + if (! file || file[fakeSymbol]) { + // Return file without adding it to this.outputFiles. + return file; + } + absPath = absPath.toLowerCase(); const old = this.absPathToOutputIndex[absPath]; @@ -217,9 +214,7 @@ export default class ImportScanner { } // This property can have values false, true, "dynamic" (which - // indicates that the file has been imported, but only dynamically), - // or "fake" (which indicates it is a temporary file that should - // never be returned from getOutputFiles). + // indicates that the file has been imported, but only dynamically). file.imported = false; file.installPath = file.installPath || this._getInstallPath(absPath); @@ -351,7 +346,7 @@ export default class ImportScanner { // If either oldFile or newFile has been imported non-dynamically, // then oldFile.imported needs to be === true. Otherwise we simply set // oldFile.imported = oldFile.imported || newFile.imported, which - // could be either false, "dynamic", or "fake" (see scanMissingModules). + // could be either "dynamic" or false. oldFile.imported = oldFile.imported === true || newFile.imported === true || @@ -410,7 +405,8 @@ export default class ImportScanner { if (staticImportInfo) { this._scanFile({ - ...fakeScanFileOptions, + sourcePath: "fake.js", + [fakeSymbol]: true, // By specifying the .deps property of this fake file ahead of // time, we can avoid calling findImportedModuleIdentifiers in // the _scanFile method, which is important because this file @@ -421,7 +417,8 @@ export default class ImportScanner { if (dynamicImportInfo) { this._scanFile({ - ...fakeScanFileOptions, + sourcePath: "fake.js", + [fakeSymbol]: true, deps: { [id]: dynamicImportInfo } }, true); // forDynamicImport } @@ -497,6 +494,7 @@ export default class ImportScanner { // imported (statically or dynamically). return this.outputFiles.filter(file => { return file.installPath && + ! file[fakeSymbol] && (! file.lazy || file.imported === true || file.imported === "dynamic"); @@ -627,11 +625,8 @@ export default class ImportScanner { return; } - // Make sure file.imported is set to a truthy value, but allow values - // other than "dynamic" or true (e.g. "fake"). - file.imported = file.imported || ( - forDynamicImport ? "dynamic" : true - ); + // Set file.imported to a truthy value (either "dynamic" or true). + file.imported = forDynamicImport ? "dynamic" : true; if (file.error) { // Any errors reported to InputFile#error were saved but not @@ -644,8 +639,6 @@ export default class ImportScanner { return; } - const absPath = pathJoin(this.sourceRoot, file.sourcePath); - try { file.deps = file.deps || this._findImportedModuleIdentifiers(file); } catch (e) { @@ -678,6 +671,10 @@ export default class ImportScanner { let depFile = this._getFile(absImportedPath); if (depFile) { + // We should never have stored a fake file in this.outputFiles, so + // it's surprising if depFile[fakeSymbol] is true. + assert.notStrictEqual(depFile[fakeSymbol], true); + // If the module is an implicit package.json stub, update to the // explicit version now. if (depFile.jsonData && From ddc490c66d33c5ebb9a6e2c6f05490d09f707f81 Mon Sep 17 00:00:00 2001 From: Ben Newman Date: Wed, 11 Oct 2017 15:09:55 -0400 Subject: [PATCH 0029/1355] Use module.watch live bindings to solve #9176. Further explanation / discussion: https://github.com/meteor/meteor/issues/9176#issuecomment-335913296 Another (complementary) solution to the same problem: #9190 --- tools/isobuild/import-scanner.js | 37 +++++++++++++++++++++++--------- 1 file changed, 27 insertions(+), 10 deletions(-) diff --git a/tools/isobuild/import-scanner.js b/tools/isobuild/import-scanner.js index c5d55eb3d6..5c07960b6c 100644 --- a/tools/isobuild/import-scanner.js +++ b/tools/isobuild/import-scanner.js @@ -260,6 +260,7 @@ export default class ImportScanner { dataString: "", deps: {}, lazy: true, + imported: false, }); } @@ -274,17 +275,33 @@ export default class ImportScanner { ); // Set the contents of the source module to import the target - // module(s). Note that module.exports will be set to the exports of - // the last target module. This is not perfect, but (1) it's better - // than trying to merge exports, (2) it does the right thing when - // there's only one target module, (3) the plugin author can easily - // control which file comes last, and (4) it's always possible to - // import the target modules individually. - sourceFile.dataString += "module.exports = require(" + - JSON.stringify(relativeId) + ");\n"; - sourceFile.data = new Buffer(sourceFile.dataString, "utf8"); + // module(s), combining their exports on the source module's exports + // object using the module.watch live binding system. This is better + // than `Object.assign(exports, require(relativeId))` because it + // allows the exports to change in the future, and better than + // `module.exports = require(relativeId)` because it preserves the + // original module.exports object, avoiding problems with circular + // dependencies (#9176, #9190). + // + // If there could be only one target module, we could do something + // less clever here (like using an identifier string alias), but + // unfortunately we have to tolerate the possibility of a compiler + // plugin calling inputFile.addJavaScript multiple times for the + // same source file (see discussion in #9176), with different target + // paths, code, laziness, etc. + sourceFile.dataString += [ + "module.watch(require(" + JSON.stringify(relativeId) + "), {", + ' "*": module.makeNsSetter()', + "});", + "" + ].join("\n"); + sourceFile.data = Buffer.from(sourceFile.dataString, "utf8"); sourceFile.hash = sha1(sourceFile.data); - sourceFile.deps[relativeId] = {}; + sourceFile.deps[relativeId] = { + installPath: file.installPath, + possiblySpurious: false, + dynamic: false + }; } } From b567fa0a39736561a84f1e74d100b08f0df782e7 Mon Sep 17 00:00:00 2001 From: Ben Newman Date: Thu, 12 Oct 2017 16:45:04 -0400 Subject: [PATCH 0030/1355] Allow asynchronous meteor command implementations. --- tools/cli/main.js | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/tools/cli/main.js b/tools/cli/main.js index 7434ac66d0..79269b7afb 100644 --- a/tools/cli/main.js +++ b/tools/cli/main.js @@ -1480,7 +1480,10 @@ Fiber(function () { }); } - var ret = command.func(options, {rawOptions}); + var ret = Promise.resolve( + command.func(options, { rawOptions }) + ).await(); + } catch (e) { Console.enableProgressDisplay(false); From f73c7207e2886517133ca966c2e6c5836350e8fa Mon Sep 17 00:00:00 2001 From: Ben Newman Date: Thu, 12 Oct 2017 16:45:12 -0400 Subject: [PATCH 0031/1355] Use files.rm_recursive_async to implement `meteor reset`. This should hopefully prevent ENOTEMPTY errors on Windows. --- tools/cli/commands.js | 9 +++++---- 1 file changed, 5 insertions(+), 4 deletions(-) diff --git a/tools/cli/commands.js b/tools/cli/commands.js index f01fc03f3a..7ffed6af7b 100644 --- a/tools/cli/commands.js +++ b/tools/cli/commands.js @@ -1265,10 +1265,11 @@ main.registerCommand({ return 1; } - var localDir = files.pathJoin(options.appDir, '.meteor', 'local'); - files.rm_recursive(localDir); - - Console.info("Project reset."); + return files.rm_recursive_async( + files.pathJoin(options.appDir, '.meteor', 'local') + ).then(() => { + Console.info("Project reset."); + }); }); /////////////////////////////////////////////////////////////////////////////// From b2db70a7276dc4a5e600767b426641ee0eeb9a3f Mon Sep 17 00:00:00 2001 From: Ben Newman Date: Mon, 16 Oct 2017 13:19:02 -0400 Subject: [PATCH 0032/1355] Allow files.rm_recursive to yield whenever possible. A while back, for performance reasons, we disabled yielding for all files.* operations unless METEOR_DISABLE_FS_FIBERS was set to false. This was safe for almost all files.* operations, because most of them have a synchronous fs.*Sync version available. For a more complicated operation like files.rm_recursive, however, there is no synchronous or asynchronous counterpart in the fs.* namespace, so the safety of disabling fibers is not guaranteed. Lately, files.rm_recursive has become a major source of uncaught ENOTEMPTY errors on Windows, because rimraf.sync fails with that error, and we don't give files.rm_recursive_async a chance to delete the directory in a more persistent, forgiving manner. The only reason we haven't been falling back to files.rm_recursive_async is that YIELD_ALLOWED is false by default, so canYield() returns false. This commit distinguishes between canYield() and mayYield(), and uses canYield() in files.rm_recursive to determine whether it is technically safe to yield, regardless of YIELD_ALLOWED. Anyone who ever asked "Can I go to the bathroom?" in elementary school, only to be mercilessly rebuked with "I don't know, CAN YOU?" should understand the difference between these two functions. --- tools/fs/files.js | 12 +++++++----- 1 file changed, 7 insertions(+), 5 deletions(-) diff --git a/tools/fs/files.js b/tools/fs/files.js index 5dd318c269..612fa13363 100644 --- a/tools/fs/files.js +++ b/tools/fs/files.js @@ -55,12 +55,15 @@ const YIELD_ALLOWED = !! ( ! JSON.parse(process.env.METEOR_DISABLE_FS_FIBERS)); function canYield() { - return YIELD_ALLOWED && - Fiber.current && + return Fiber.current && Fiber.yield && ! Fiber.yield.disallowed; } +function mayYield() { + return YIELD_ALLOWED && canYield(); +} + // given a predicate function and a starting path, traverse upwards // from the path until we find a path that satisfies the predicate. // @@ -303,8 +306,7 @@ files.rm_recursive = Profile("files.rm_recursive", (path) => { try { rimraf.sync(files.convertToOSPath(path)); } catch (e) { - if (e.code === "ENOTEMPTY" && - canYield()) { + if (e.code === "ENOTEMPTY" && canYield()) { files.rm_recursive_async(path).await(); return; } @@ -1561,7 +1563,7 @@ function wrapFsFunc(fsFuncName, pathArgIndices, options) { const dirty = options && options.dirty; const dirtyFn = typeof dirty === "function" ? dirty : null; - if (canYield() && + if (mayYield() && shouldBeSync && ! isQuickie) { const promise = new Promise((resolve, reject) => { From b7695d2e8b0ff3c54dbaf30f44cbd9a4050ce761 Mon Sep 17 00:00:00 2001 From: Ben Newman Date: Mon, 16 Oct 2017 13:55:16 -0400 Subject: [PATCH 0033/1355] Avoid creating symlinks in Builder#copyDirectory when forbidden. --- tools/isobuild/builder.js | 10 +++++++++- 1 file changed, 9 insertions(+), 1 deletion(-) diff --git a/tools/isobuild/builder.js b/tools/isobuild/builder.js index a6d567aa80..b0bef4aa53 100644 --- a/tools/isobuild/builder.js +++ b/tools/isobuild/builder.js @@ -6,6 +6,7 @@ import {Profile} from '../tool-env/profile.js'; import { optimisticReadFile, optimisticReaddir, + optimisticStatOrNull, optimisticLStatOrNull, } from "../fs/optimistic.js"; @@ -555,7 +556,7 @@ Previous builder: ${previousBuilder.outputPath}, this builder: ${outputPath}` if (isDirectory) { walk(thisAbsFrom, thisRelTo, _currentRealRootDir); - } else if (fileStatus.isSymbolicLink()) { + } else if (symlink && fileStatus.isSymbolicLink()) { symlinkWithOverwrite( // Symbolic links pointing to relative external paths are less // portable than absolute links, so getExternalPath() is @@ -569,6 +570,13 @@ Previous builder: ${previousBuilder.outputPath}, this builder: ${outputPath}` this.usedAsFile[thisRelTo] = true; } else { + // Fall back to copying the file, but make sure it's really a + // file first, just in case it was a forbidden symbolic link. + fileStatus = optimisticStatOrNull(thisAbsFrom); + if (! (fileStatus && fileStatus.isFile())) { + return; + } + // XXX can't really optimize this copying without reading // the file into memory to calculate the hash. files.writeFile( From fe5479400e4c35f1ba8c2bc181666f6d54f0034a Mon Sep 17 00:00:00 2001 From: Ben Newman Date: Mon, 16 Oct 2017 14:07:11 -0400 Subject: [PATCH 0034/1355] Avoid calling files.stat(source) in symlinkWithOverwrite. This was dangerous because source is often a path relative to the old target file, whereas files.stat was interpreting source as a path relative to process.cwd(). Fixes #9203. --- tools/isobuild/builder.js | 22 +++++++++------------- 1 file changed, 9 insertions(+), 13 deletions(-) diff --git a/tools/isobuild/builder.js b/tools/isobuild/builder.js index b0bef4aa53..8f42208122 100644 --- a/tools/isobuild/builder.js +++ b/tools/isobuild/builder.js @@ -734,23 +734,19 @@ function atomicallyRewriteFile(path, data, options) { // create a symlink, overwriting the target link, file, or directory // if it exists function symlinkWithOverwrite(source, target) { - const args = [source, target]; - - if (process.platform === "win32") { - if (! files.stat(source).isDirectory()) { - throw new Error("symlink source must be a directory: " + source); - } - - args[2] = "junction"; - } - try { - files.symlink(...args); + files.symlink(source, target); } catch (e) { - if (e.code === 'EEXIST') { + if (e.code === "EEXIST") { // overwrite existing link, file, or directory files.rm_recursive(target); - files.symlink(...args); + files.symlink(source, target); + } else if (e.code === "EPERM" && + process.platform === "win32") { + files.rm_recursive(target); + // This will work only if source refers to a directory, but that's a + // chance worth taking. + files.symlink(source, target, "junction"); } else { throw e; } From afd556f93150c3c494d13cbb9cc849834dee7c0d Mon Sep 17 00:00:00 2001 From: Ben Newman Date: Mon, 16 Oct 2017 14:57:02 -0400 Subject: [PATCH 0035/1355] Allow Builder#copyDirectory to re-create symlinks again. Commit 86ec7eb5db1ce13d0c27865fc6f432fd51241cf4 broke tests because we rely on symlinks even when the symlink option is false. --- tools/isobuild/builder.js | 45 +++++++++++++++++++++++++-------------- 1 file changed, 29 insertions(+), 16 deletions(-) diff --git a/tools/isobuild/builder.js b/tools/isobuild/builder.js index 8f42208122..310e5b3ba5 100644 --- a/tools/isobuild/builder.js +++ b/tools/isobuild/builder.js @@ -555,28 +555,32 @@ Previous builder: ${previousBuilder.outputPath}, this builder: ${outputPath}` if (isDirectory) { walk(thisAbsFrom, thisRelTo, _currentRealRootDir); + return; + } - } else if (symlink && fileStatus.isSymbolicLink()) { - symlinkWithOverwrite( - // Symbolic links pointing to relative external paths are less - // portable than absolute links, so getExternalPath() is - // preferred if it returns a path. - getExternalPath() || files.readlink(thisAbsFrom), - files.pathResolve(this.buildPath, thisRelTo) - ); + if (fileStatus.isSymbolicLink()) { + // Symbolic links pointing to relative external paths are less + // portable than absolute links, so getExternalPath() is + // preferred if it returns a path. + const linkSource = getExternalPath() || + files.readlink(thisAbsFrom); - // A symlink counts as a file, as far as "can you put something under - // it" goes. - this.usedAsFile[thisRelTo] = true; + const linkTarget = + files.pathResolve(this.buildPath, thisRelTo); - } else { - // Fall back to copying the file, but make sure it's really a - // file first, just in case it was a forbidden symbolic link. - fileStatus = optimisticStatOrNull(thisAbsFrom); - if (! (fileStatus && fileStatus.isFile())) { + if (symlinkIfPossible(linkSource, linkTarget)) { + // A symlink counts as a file, as far as "can you put + // something under it" goes. + this.usedAsFile[thisRelTo] = true; return; } + } + // Fall back to copying the file, but make sure it's really a file + // first, just in case it was a symbolic link to a directory that + // could not be created above. + fileStatus = optimisticStatOrNull(thisAbsFrom); + if (fileStatus && fileStatus.isFile()) { // XXX can't really optimize this copying without reading // the file into memory to calculate the hash. files.writeFile( @@ -731,6 +735,15 @@ function atomicallyRewriteFile(path, data, options) { } } +function symlinkIfPossible(source, target) { + try { + symlinkWithOverwrite(source, target); + return true; + } catch (e) { + return false; + } +} + // create a symlink, overwriting the target link, file, or directory // if it exists function symlinkWithOverwrite(source, target) { From c257183a55db9b2dec1e5b4964e69c390cf27eae Mon Sep 17 00:00:00 2001 From: Ben Newman Date: Mon, 16 Oct 2017 17:59:52 -0400 Subject: [PATCH 0036/1355] Use files.rm_recursive_async to implement files.freeTempDir. --- tools/fs/files.js | 48 ++++++++++++++++++----------------------------- 1 file changed, 18 insertions(+), 30 deletions(-) diff --git a/tools/fs/files.js b/tools/fs/files.js index 612fa13363..401733cb31 100644 --- a/tools/fs/files.js +++ b/tools/fs/files.js @@ -640,7 +640,7 @@ var copyFileHelper = function (from, to, mode) { // directory. Only the current user is allowed to read or write the // files in the directory (or add files to it). The directory will // be cleaned up on exit. -var tempDirs = []; +const tempDirs = Object.create(null); files.mkdtemp = function (prefix) { var make = function () { prefix = prefix || 'mt-'; @@ -675,55 +675,43 @@ files.mkdtemp = function (prefix) { throw new Error("failed to make temporary directory in " + tmpDir); }; var dir = make(); - tempDirs.push(dir); + tempDirs[dir] = true; return dir; }; // Call this if you're done using a temporary directory. It will asynchronously // be deleted. -files.freeTempDir = function (tempDir) { - if (! _.contains(tempDirs, tempDir)) { - throw Error("not a tracked temp dir: " + tempDir); +files.freeTempDir = function (dir) { + if (! tempDirs[dir]) { + throw Error("not a tracked temp dir: " + dir); } + if (process.env.METEOR_SAVE_TMPDIRS) { return; } - setImmediate(function () { - // note: rm_recursive can yield, so it's possible that during this - // rm_recursive call, the onExit rm_recursive fires too. (Or it could even - // start firing before the setImmediate handler is called.) But it should be - // OK for there to be overlapping rm_recursive calls, since rm_recursive - // ignores all ENOENT calls. And we don't remove tempDir from tempDirs until - // it's done, so that if mid-way through this rm_recursive the onExit one - // fires, it still gets removed. - try { - files.rm_recursive(tempDir); - } catch (err) { - // Don't crash and print a stack trace because we failed to delete a temp - // directory. This happens sometimes on Windows and seems to be - // unavoidable. - console.log(err); - } + delete tempDirs[dir]; - tempDirs = _.without(tempDirs, tempDir); + // Attach a .catch handler so that any errors resulting from + // files.rm_recursive_async will not trigger an unhandled promise + // rejection warning. + return files.rm_recursive_async(dir).catch(error => { + console.log(error); }); }; if (! process.env.METEOR_SAVE_TMPDIRS) { cleanup.onExit(function (sig) { - _.each(tempDirs, function (tempDir) { + Object.keys(tempDirs).forEach(dir => { + delete tempDirs[dir]; try { - files.rm_recursive(tempDir); + files.rm_recursive(dir); } catch (err) { - // Don't crash and print a stack trace because we failed to delete a temp - // directory. This happens sometimes on Windows and seems to be - // unavoidable. - console.log(err); + // Don't crash and print a stack trace because we failed to delete + // a temp directory. This happens sometimes on Windows and seems + // to be unavoidable. } }); - - tempDirs = []; }); } From f9a9e9f2f92f7f47a6438953901eccc77911f228 Mon Sep 17 00:00:00 2001 From: Ben Newman Date: Tue, 17 Oct 2017 10:21:01 -0400 Subject: [PATCH 0037/1355] Another small improvement to temp directory removal logic. --- tools/fs/files.js | 14 ++++++++------ 1 file changed, 8 insertions(+), 6 deletions(-) diff --git a/tools/fs/files.js b/tools/fs/files.js index 401733cb31..eeb66b1669 100644 --- a/tools/fs/files.js +++ b/tools/fs/files.js @@ -690,12 +690,14 @@ files.freeTempDir = function (dir) { return; } - delete tempDirs[dir]; - - // Attach a .catch handler so that any errors resulting from - // files.rm_recursive_async will not trigger an unhandled promise - // rejection warning. - return files.rm_recursive_async(dir).catch(error => { + return files.rm_recursive_async(dir).then(() => { + // Delete tempDirs[dir] only when the removal finishes, so that the + // cleanup.onExit handler can attempt the removal synchronously if it + // fires in the meantime. + delete tempDirs[dir]; + }, error => { + // Leave tempDirs[dir] in place so the cleanup.onExit handler can try + // to delete it again when the process exits. console.log(error); }); }; From 9efe9e8b8021e0c40e2277baaa765b1065d16056 Mon Sep 17 00:00:00 2001 From: Jesse Rosenberger Date: Tue, 31 Oct 2017 11:21:02 -0700 Subject: [PATCH 0038/1355] Bump package versions for 1.5.3-rc.1 release. --- packages/meteor-tool/package.js | 2 +- scripts/admin/meteor-release-experimental.json | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/packages/meteor-tool/package.js b/packages/meteor-tool/package.js index 38841667cb..960268d2b6 100644 --- a/packages/meteor-tool/package.js +++ b/packages/meteor-tool/package.js @@ -1,6 +1,6 @@ Package.describe({ summary: "The Meteor command-line tool", - version: "1.5.3-rc.0" + version: "1.5.3-rc.1" }); Package.includeTool(); diff --git a/scripts/admin/meteor-release-experimental.json b/scripts/admin/meteor-release-experimental.json index 93dbc89693..b4443b3b03 100644 --- a/scripts/admin/meteor-release-experimental.json +++ b/scripts/admin/meteor-release-experimental.json @@ -1,6 +1,6 @@ { "track": "METEOR", - "version": "1.5.3-rc.0", + "version": "1.5.3-rc.1", "recommended": false, "official": false, "description": "Meteor" From c35f1f11ede9b46b64f0fa0eb17727cb6fefa08b Mon Sep 17 00:00:00 2001 From: Ben Newman Date: Tue, 31 Oct 2017 14:59:56 -0400 Subject: [PATCH 0039/1355] Upgrade Node to version 8.9.0. https://nodejs.org/en/blog/release/v8.9.0/ --- History.md | 2 ++ scripts/build-dev-bundle-common.sh | 2 +- 2 files changed, 3 insertions(+), 1 deletion(-) diff --git a/History.md b/History.md index 626a08f535..63517aace8 100644 --- a/History.md +++ b/History.md @@ -1,5 +1,7 @@ ## v.NEXT +* Node.js has been upgraded to version 8.9.0. + * The `npm` npm package has been upgraded to version 5.5.1, which supports several new features, including two-factor authentication, as described in the [release notes](https://github.com/npm/npm/blob/latest/CHANGELOG.md#v551-2017-10-04). diff --git a/scripts/build-dev-bundle-common.sh b/scripts/build-dev-bundle-common.sh index 1b306f35cd..82777d4296 100644 --- a/scripts/build-dev-bundle-common.sh +++ b/scripts/build-dev-bundle-common.sh @@ -5,7 +5,7 @@ set -u UNAME=$(uname) ARCH=$(uname -m) -NODE_VERSION=8.8.1 +NODE_VERSION=8.9.0 MONGO_VERSION_64BIT=3.2.15 MONGO_VERSION_32BIT=3.2.15 NPM_VERSION=5.5.1 From a9fb4cd76a159cdd5c6917f850ccabc531a6a67f Mon Sep 17 00:00:00 2001 From: Ben Newman Date: Tue, 31 Oct 2017 15:01:18 -0400 Subject: [PATCH 0040/1355] Bump $BUNDLE_VERSION to 8.9.0 before rebuilding dev bundle. --- meteor | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/meteor b/meteor index 38a2f73cae..2ec09da9a0 100755 --- a/meteor +++ b/meteor @@ -1,6 +1,6 @@ #!/usr/bin/env bash -BUNDLE_VERSION=8.8.2 +BUNDLE_VERSION=8.9.0 # OS Check. Put here because here is where we download the precompiled # bundles that are arch specific. From f91ff783b7f2776bd1d0f9dd5ee5038eff1ff60f Mon Sep 17 00:00:00 2001 From: Ben Newman Date: Tue, 31 Oct 2017 15:19:04 -0400 Subject: [PATCH 0041/1355] Bump package versions for 1.6.1-beta.1 release. --- packages/meteor-tool/package.js | 2 +- scripts/admin/meteor-release-experimental.json | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/packages/meteor-tool/package.js b/packages/meteor-tool/package.js index 2d2fcb5841..b1d9fbc2ba 100644 --- a/packages/meteor-tool/package.js +++ b/packages/meteor-tool/package.js @@ -1,6 +1,6 @@ Package.describe({ summary: "The Meteor command-line tool", - version: '1.6.0' + version: '1.6.1-beta.1' }); Package.includeTool(); diff --git a/scripts/admin/meteor-release-experimental.json b/scripts/admin/meteor-release-experimental.json index 1036283268..ee81dec7ea 100644 --- a/scripts/admin/meteor-release-experimental.json +++ b/scripts/admin/meteor-release-experimental.json @@ -1,6 +1,6 @@ { "track": "METEOR", - "version": "1.6-rc.18", + "version": "1.6.1-beta.1", "recommended": false, "official": false, "description": "Meteor" From dff4325341b327ab0cd019acb854114a7ce84b57 Mon Sep 17 00:00:00 2001 From: Jesse Rosenberger Date: Tue, 17 Oct 2017 18:59:32 +0300 Subject: [PATCH 0042/1355] Basic Appveyor testing for Windows. This implements a first generation of Windows CI testing. Presently, this only runs valuable, hand-picked tests which have been known to work in the past, and whose failure would indicate a critical problem. A test which isn't passing doesn't mean that the feature being tested is not working. For example, the 'create' test fails ostentatiously, though the 'meteor create' command certainly works in practice. This points to problems some compatibility problems with the 'self-test' harness itself, some of which I'm aware of. Though, it likely will highlight some legitimate problems which Windows users experience too. There are a number of additional tests which should be enabled which likely pass already, and many more which are failing and we should fix. Additional tests can be added to the scripts/windows/appveyor/test.ps1 file as they've been deemed working. Altogether, this will take extensive work to achieve the same level of coverage our Unix test suite enjoy, but we've got to start somewhere! cc @benjamn --- appveyor.yml | 38 ++++++++++++++++++++++++++++ scripts/windows/appveyor/install.ps1 | 28 ++++++++++++++++++++ scripts/windows/appveyor/test.ps1 | 38 ++++++++++++++++++++++++++++ 3 files changed, 104 insertions(+) create mode 100644 appveyor.yml create mode 100644 scripts/windows/appveyor/install.ps1 create mode 100644 scripts/windows/appveyor/test.ps1 diff --git a/appveyor.yml b/appveyor.yml new file mode 100644 index 0000000000..ae24e9c82f --- /dev/null +++ b/appveyor.yml @@ -0,0 +1,38 @@ +version: '{build}' +clone_folder: C:\projects\meteor +os: Visual Studio 2015 +environment: + METEOR_PRETTY_OUTPUT: 0 + SELF_TEST_TOOL_NODE_FLAGS: " " + TOOL_NODE_FLAGS: --expose-gc + TIMEOUT_SCALE_FACTOR: 8 + METEOR_HEADLESS: true + SELF_TEST_EXCLUDE: "\ + ^old cli tests|\ + ^minifiers can't register non-js|\ + ^minifiers: apps can't use|\ + ^compiler plugins - addAssets|\ + ^NULL-LEAVE-THIS-HERE-NULL$" +platform: + - x64 + - x86 + +matrix: + fast_finish: true + allow_failures: + - platform: x64 + - platform: x86 + +# We don't need the actual "build", just the tests. +build: off + +install: + - ps: C:\projects\meteor\scripts\windows\appveyor\install.ps1 + +test_script: + - ps: C:\projects\meteor\scripts\windows\appveyor\test.ps1 + +cache: + - dev_bundle -> meteor + - .babel-cache + - .meteor diff --git a/scripts/windows/appveyor/install.ps1 b/scripts/windows/appveyor/install.ps1 new file mode 100644 index 0000000000..1f854d184e --- /dev/null +++ b/scripts/windows/appveyor/install.ps1 @@ -0,0 +1,28 @@ +# Appveyor already sets $PLATFORM to exactly what we don't want, so +# we'll prepend it with 'windows_' if that seems to be the case. +If ($env:PLATFORM -Match '^x86|x64$') { + $env:PLATFORM = "windows_${env:PLATFORM}" +} + +$dirCheckout = (Get-Item $PSScriptRoot).parent.parent.parent.FullName +$meteorBat = Join-Path $dirCheckout 'meteor.bat' + +Write-Host "Updating submodules recursively..." -ForegroundColor Magenta +# Appveyor suggests -q flag for 'git submodule...' https://goo.gl/4TFAHm +& git.exe -C "$dirCheckout" submodule -q update --init --recursive + +Write-Host "Running 'meteor --get-ready'..." -ForegroundColor Magenta +# By redirecting error to host, we avoid a shocking/false error color, +# since --get-ready and --version can print (anything) to STDERR and +# PowerShell will interpret that as something being terribly wrong. +& "$meteorBat" --get-ready 2>&1 | Write-Host -ForegroundColor Green + +# This should no longer be necessary with Meteor 1.6, which will +# automatically install these dependencies when they're not found in the +# dev bundle, but for good measure, we'll install them ahead of time, +# and to also cover Meteor 1.5. +Write-Host "Installing test npm dependencies..." ` + -ForegroundColor Magenta +& "$meteorBat" npm install --prefix "${dirCheckout}\dev_bundle\lib" ` + phantomjs-prebuilt ` + browserstack-webdriver diff --git a/scripts/windows/appveyor/test.ps1 b/scripts/windows/appveyor/test.ps1 new file mode 100644 index 0000000000..ecd056a48f --- /dev/null +++ b/scripts/windows/appveyor/test.ps1 @@ -0,0 +1,38 @@ +# For now, we only have one script. +$jUnit = Join-Path $env:TEMP 'self-test-junit-0.xml' + +$tests = @( + 'modules - test app' + '^assets' + 'autoupdate' + 'dynamic import' +) -Join '|' + +Write-Host "Running: $tests" -ForegroundColor Yellow +Write-Host "Excluded: $env:SELF_TEST_EXCLUDE" -ForegroundColor Yellow + +.\meteor.bat self-test --junit "$jUnit" "$tests" --exclude "$env:SELF_TEST_EXCLUDE" '2>&1' +$selfTestExitCode = $LASTEXITCODE + +If ($selfTestExitCode -eq 0) { + Write-Host "Success!" -ForegroundColor Green +} else { + Write-Host "FAILURE! (Exit: $selfTestExitCode)" -ForegroundColor Red +} + +Write-Host "Uploading JUnit test results..." -ForegroundColor Magenta +$wc = New-Object 'System.Net.WebClient' +Get-ChildItem $env:TEMP 'self-test-junit-*.xml' | Foreach-Object { + Write-Host " - $($_.FullName)" -ForegroundColor Magenta + Write-Host " - as Artifact..." -ForegroundColor Magenta + Push-AppveyorArtifact $_.FullName + Write-Host " - as Test Results..." -ForegroundColor Magenta + $artifactPostUrl = ` + "https://ci.appveyor.com/api/testresults/junit/", + $env:APPVEYOR_JOB_ID -Join '' + $wc.UploadFile($artifactPostUrl, ($_.FullName)) +} + +If ($selfTestExitCode -ne 0) { + Exit $selfTestExitCode +} From 975e12828c17735cc3ac926ddcf7e2422fdecb45 Mon Sep 17 00:00:00 2001 From: Jesse Rosenberger Date: Tue, 17 Oct 2017 23:45:55 +0300 Subject: [PATCH 0043/1355] Use YAML config for Appveyor settings, rather than their UI. These take precedence over the UI, and I'm not sure the UI is taking effect at the moment. We don't need to build branches which start with 'dev-bundle-' since those dev bundles won't be built yet when the tests are kicked off. --- appveyor.yml | 10 +++++++++- 1 file changed, 9 insertions(+), 1 deletion(-) diff --git a/appveyor.yml b/appveyor.yml index ae24e9c82f..7ce4f07bb1 100644 --- a/appveyor.yml +++ b/appveyor.yml @@ -1,6 +1,14 @@ version: '{build}' + +branches: + except: + - /^dev-bundle-/ + +skip_branch_with_pr: true + clone_folder: C:\projects\meteor -os: Visual Studio 2015 +image: Visual Studio 2015 + environment: METEOR_PRETTY_OUTPUT: 0 SELF_TEST_TOOL_NODE_FLAGS: " " From 790871796c4588b9d1abcbe1d71f56fb7d9649d0 Mon Sep 17 00:00:00 2001 From: Jesse Rosenberger Date: Tue, 17 Oct 2017 23:34:37 +0300 Subject: [PATCH 0044/1355] Remove problematic Windows test, until it can be researched further. Though it was thought to be reliable when running through 'self-test' on Windows, it's yet to be seen how reliable. The worst thing that could come of adding Windows testing would be that we have test failures again after such a string of green checkmarks and confidence. Also, reordered. --- scripts/windows/appveyor/test.ps1 | 5 ++--- 1 file changed, 2 insertions(+), 3 deletions(-) diff --git a/scripts/windows/appveyor/test.ps1 b/scripts/windows/appveyor/test.ps1 index ecd056a48f..2a6f2a817e 100644 --- a/scripts/windows/appveyor/test.ps1 +++ b/scripts/windows/appveyor/test.ps1 @@ -2,10 +2,9 @@ $jUnit = Join-Path $env:TEMP 'self-test-junit-0.xml' $tests = @( - 'modules - test app' '^assets' - 'autoupdate' - 'dynamic import' + '^autoupdate' + '^dynamic import' ) -Join '|' Write-Host "Running: $tests" -ForegroundColor Yellow From b0f624ae57a95f6cebcf39661a93cde77cfc31a8 Mon Sep 17 00:00:00 2001 From: Jesse Rosenberger Date: Mon, 23 Oct 2017 16:38:31 -0700 Subject: [PATCH 0045/1355] Throw an error when any external command fails during test preparation. Even with $ErrorActionPreference, PowerShell won't automatically fail when an external command fails with an error code. This explicitly checks those exit codes and throws an error when that occurs. Hopefully prevents false successes like that shown in this AppVeyor test run: https://goo.gl/xxRsF9. --- scripts/windows/appveyor/install.ps1 | 12 ++++++++++++ 1 file changed, 12 insertions(+) diff --git a/scripts/windows/appveyor/install.ps1 b/scripts/windows/appveyor/install.ps1 index 1f854d184e..edd5b66572 100644 --- a/scripts/windows/appveyor/install.ps1 +++ b/scripts/windows/appveyor/install.ps1 @@ -11,12 +11,20 @@ Write-Host "Updating submodules recursively..." -ForegroundColor Magenta # Appveyor suggests -q flag for 'git submodule...' https://goo.gl/4TFAHm & git.exe -C "$dirCheckout" submodule -q update --init --recursive +If ($LASTEXITCODE -ne 0) { + throw "Updating submodules failed." +} + Write-Host "Running 'meteor --get-ready'..." -ForegroundColor Magenta # By redirecting error to host, we avoid a shocking/false error color, # since --get-ready and --version can print (anything) to STDERR and # PowerShell will interpret that as something being terribly wrong. & "$meteorBat" --get-ready 2>&1 | Write-Host -ForegroundColor Green +If ($LASTEXITCODE -ne 0) { + throw "Running .\meteor --get-ready failed." +} + # This should no longer be necessary with Meteor 1.6, which will # automatically install these dependencies when they're not found in the # dev bundle, but for good measure, we'll install them ahead of time, @@ -26,3 +34,7 @@ Write-Host "Installing test npm dependencies..." ` & "$meteorBat" npm install --prefix "${dirCheckout}\dev_bundle\lib" ` phantomjs-prebuilt ` browserstack-webdriver + +If ($LASTEXITCODE -ne 0) { + throw "Installing npm dependencies required for testing has failed." +} From 5d8e5013fa7e8c36687b1b03701a36e02c0fe4fc Mon Sep 17 00:00:00 2001 From: Jesse Rosenberger Date: Sat, 4 Nov 2017 10:13:20 +0200 Subject: [PATCH 0046/1355] Bump package versions for the official 1.5.3 release. --- packages/meteor-tool/package.js | 2 +- scripts/admin/meteor-release-official.json | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/packages/meteor-tool/package.js b/packages/meteor-tool/package.js index 960268d2b6..bfe7f800df 100644 --- a/packages/meteor-tool/package.js +++ b/packages/meteor-tool/package.js @@ -1,6 +1,6 @@ Package.describe({ summary: "The Meteor command-line tool", - version: "1.5.3-rc.1" + version: "1.5.3" }); Package.includeTool(); diff --git a/scripts/admin/meteor-release-official.json b/scripts/admin/meteor-release-official.json index 63150a788a..de80597835 100644 --- a/scripts/admin/meteor-release-official.json +++ b/scripts/admin/meteor-release-official.json @@ -1,6 +1,6 @@ { "track": "METEOR", - "version": "1.5.2.2", + "version": "1.5.3", "recommended": false, "official": true, "description": "The Official Meteor Distribution" From c2157bb4bb4b0891850e341ef48da98ac330b259 Mon Sep 17 00:00:00 2001 From: Jesse Rosenberger Date: Sat, 4 Nov 2017 13:56:29 +0200 Subject: [PATCH 0047/1355] Update History.md with miscellaneous changes in Meteor 1.5.3. --- History.md | 19 +++++++++++++++++++ 1 file changed, 19 insertions(+) diff --git a/History.md b/History.md index 9e44e78482..3d173e897d 100644 --- a/History.md +++ b/History.md @@ -1,3 +1,22 @@ +## v1.5.3, 2017-11-04 + +* Node has been upgraded to version 4.8.5, a recommended security + release: https://nodejs.org/en/blog/release/v4.8.5/. While it was + expected that Node 4.8.5 would also include our fix of a faulty + backport of garbage collection-related logic in V8, the timing + of this security release has caused that to be delayed until 4.8.6. + Therefore, this Node still includes our patch for this issue. + [Issue #8648](https://github.com/meteor/meteor/issues/8648) + +* Various backports from Meteor 1.6. Consult the + [1.5.3 pull-request](https://github.com/meteor/meteor/pull/9266) + for additional details, but issues include: + * Child imports of dynamically imported modules within packages + [#9182](https://github.com/meteor/meteor/issues/9182) + * Unresolved circular dependencies + [#9176](https://github.com/meteor/meteor/issues/9176) + * Improvements to Windows temporary directory handling. + ## v1.5.2.2, 2017-10-02 * Fixes a regression in 1.5.2.1 which resulted in the macOS firewall From 12f45e9ad61c1ed15b6d37dc8acb25054c325094 Mon Sep 17 00:00:00 2001 From: Jesse Rosenberger Date: Sat, 4 Nov 2017 20:11:48 +0200 Subject: [PATCH 0048/1355] Tweaks to History.md for 1.5.3. [ci skip] (Hopefully.) --- History.md | 12 ++++++------ 1 file changed, 6 insertions(+), 6 deletions(-) diff --git a/History.md b/History.md index 3d173e897d..2115c65616 100644 --- a/History.md +++ b/History.md @@ -8,14 +8,14 @@ Therefore, this Node still includes our patch for this issue. [Issue #8648](https://github.com/meteor/meteor/issues/8648) -* Various backports from Meteor 1.6. Consult the - [1.5.3 pull-request](https://github.com/meteor/meteor/pull/9266) - for additional details, but issues include: - * Child imports of dynamically imported modules within packages +* Various backports from Meteor 1.6, as detailed in the + [PR for Meteor 1.5.3](https://github.com/meteor/meteor/pull/9266). + Briefly, these involve fixes for: + * Child imports of dynamically imported modules within packages. [#9182](https://github.com/meteor/meteor/issues/9182) - * Unresolved circular dependencies + * Unresolved circular dependencies. [#9176](https://github.com/meteor/meteor/issues/9176) - * Improvements to Windows temporary directory handling. + * Windows temporary directory handling. ## v1.5.2.2, 2017-10-02 From 99eb624168a9aea2cd58118f2d0f51ee7e5f722a Mon Sep 17 00:00:00 2001 From: Ben Newman Date: Mon, 6 Nov 2017 17:42:25 -0500 Subject: [PATCH 0049/1355] Bump package versions for 1.6.1-beta.2 release. --- packages/meteor-tool/package.js | 2 +- scripts/admin/meteor-release-experimental.json | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/packages/meteor-tool/package.js b/packages/meteor-tool/package.js index b1d9fbc2ba..5b5bc5c611 100644 --- a/packages/meteor-tool/package.js +++ b/packages/meteor-tool/package.js @@ -1,6 +1,6 @@ Package.describe({ summary: "The Meteor command-line tool", - version: '1.6.1-beta.1' + version: '1.6.1-beta.2' }); Package.includeTool(); diff --git a/scripts/admin/meteor-release-experimental.json b/scripts/admin/meteor-release-experimental.json index ee81dec7ea..57d4b36b73 100644 --- a/scripts/admin/meteor-release-experimental.json +++ b/scripts/admin/meteor-release-experimental.json @@ -1,6 +1,6 @@ { "track": "METEOR", - "version": "1.6.1-beta.1", + "version": "1.6.1-beta.2", "recommended": false, "official": false, "description": "Meteor" From 91dacaf67a27975d2f9534996bf88b6b5717cf5d Mon Sep 17 00:00:00 2001 From: Ben Newman Date: Tue, 7 Nov 2017 10:30:28 -0500 Subject: [PATCH 0050/1355] Guard against missing resolved.path in ImportScanner#_scanFile. Should fix this problem reported by @jamesmillerburgess: https://github.com/meteor/meteor/pull/9274#issuecomment-342397530 --- tools/isobuild/import-scanner.js | 3 +++ 1 file changed, 3 insertions(+) diff --git a/tools/isobuild/import-scanner.js b/tools/isobuild/import-scanner.js index 623964ec52..757ac0763c 100644 --- a/tools/isobuild/import-scanner.js +++ b/tools/isobuild/import-scanner.js @@ -731,6 +731,9 @@ export default class ImportScanner { } const absImportedPath = resolved.path; + if (! absImportedPath) { + return; + } let depFile = this._getFile(absImportedPath); if (depFile) { From f2009e2fa6a748bc0f4efec4593aa0ad8f5fbcae Mon Sep 17 00:00:00 2001 From: Jesse Rosenberger Date: Tue, 7 Nov 2017 19:52:31 +0200 Subject: [PATCH 0051/1355] Switch to official Node.js 4.8.6 and stop using a custom Meteor build. This puts Meteor back on the official release track of Node.js 4, rather than using its own custom build (from https://github.com/meteor/node/), which had previously been necessary to add the garbage collection fixes gained with https://github.com/nodejs/node/commit/751f1ac08ebf602968fc289615b9f0e553bb2572 and https://github.com/nodejs/node/commit/71f9cdf24197b34657a050cb455901994576f054, both of which are now officially included in Node.js 4.x as of 4.8.6. :tada: --- scripts/build-dev-bundle-common.sh | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/scripts/build-dev-bundle-common.sh b/scripts/build-dev-bundle-common.sh index 6073692997..5857646f75 100644 --- a/scripts/build-dev-bundle-common.sh +++ b/scripts/build-dev-bundle-common.sh @@ -6,11 +6,11 @@ set -u UNAME=$(uname) ARCH=$(uname -m) MONGO_VERSION=3.2.15 -NODE_VERSION=4.8.5 +NODE_VERSION=4.8.6 NPM_VERSION=4.6.1 # If we built Node from source on Jenkins, this is the build number. -NODE_BUILD_NUMBER=120 +NODE_BUILD_NUMBER= if [ "$UNAME" == "Linux" ] ; then if [ "$ARCH" != "i686" -a "$ARCH" != "x86_64" ] ; then From ca31a84dbf8d54a49eb5543ed98f2eae7b7ce63d Mon Sep 17 00:00:00 2001 From: Jesse Rosenberger Date: Tue, 7 Nov 2017 20:16:53 +0200 Subject: [PATCH 0052/1355] Only try to download $NODE_BUILD_NUMBER when defined. Alternatively, this was just failing when trying to download a file that was 404-ing. This just short-circuits before that inevitable failure. --- scripts/generate-dev-bundle.sh | 1 + 1 file changed, 1 insertion(+) diff --git a/scripts/generate-dev-bundle.sh b/scripts/generate-dev-bundle.sh index 820cb60c65..50578ed1b0 100755 --- a/scripts/generate-dev-bundle.sh +++ b/scripts/generate-dev-bundle.sh @@ -28,6 +28,7 @@ extractNodeFromTarGz() { } downloadNodeFromS3() { + test -n "${NODE_BUILD_NUMBER}" || return 1 S3_HOST="s3.amazonaws.com/com.meteor.jenkins" S3_TGZ="node_${UNAME}_${ARCH}_v${NODE_VERSION}.tar.gz" NODE_URL="https://${S3_HOST}/dev-bundle-node-${NODE_BUILD_NUMBER}/${S3_TGZ}" From 10a518487165081677b9ea663af75574cf1f5387 Mon Sep 17 00:00:00 2001 From: Jesse Rosenberger Date: Tue, 7 Nov 2017 20:05:21 +0200 Subject: [PATCH 0053/1355] Bump $BUNDLE_VERSION to 4.8.44 before rebuilding dev bundle. --- meteor | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/meteor b/meteor index 448bbca4ef..71dd736df0 100755 --- a/meteor +++ b/meteor @@ -1,6 +1,6 @@ #!/usr/bin/env bash -BUNDLE_VERSION=4.8.43 +BUNDLE_VERSION=4.8.44 # OS Check. Put here because here is where we download the precompiled # bundles that are arch specific. From 6faa67be8f7e9878eab929f3b363622736b834de Mon Sep 17 00:00:00 2001 From: Jesse Rosenberger Date: Tue, 7 Nov 2017 21:35:37 +0200 Subject: [PATCH 0054/1355] Bump package versions for 1.5.4-rc.0 release. --- packages/meteor-tool/package.js | 2 +- scripts/admin/meteor-release-experimental.json | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/packages/meteor-tool/package.js b/packages/meteor-tool/package.js index bfe7f800df..d441b907a6 100644 --- a/packages/meteor-tool/package.js +++ b/packages/meteor-tool/package.js @@ -1,6 +1,6 @@ Package.describe({ summary: "The Meteor command-line tool", - version: "1.5.3" + version: "1.5.4-rc.0" }); Package.includeTool(); diff --git a/scripts/admin/meteor-release-experimental.json b/scripts/admin/meteor-release-experimental.json index b4443b3b03..4a1f821563 100644 --- a/scripts/admin/meteor-release-experimental.json +++ b/scripts/admin/meteor-release-experimental.json @@ -1,6 +1,6 @@ { "track": "METEOR", - "version": "1.5.3-rc.1", + "version": "1.5.4-rc.0", "recommended": false, "official": false, "description": "Meteor" From cb3d4efea1c2d4f6fa5e703c9605ab216d8063c4 Mon Sep 17 00:00:00 2001 From: Ben Newman Date: Tue, 7 Nov 2017 15:21:34 -0500 Subject: [PATCH 0055/1355] Simplify application global imports. --- tools/isobuild/compiler-plugin.js | 3 +-- tools/isobuild/linker.js | 35 ++++++++++++++++--------------- 2 files changed, 19 insertions(+), 19 deletions(-) diff --git a/tools/isobuild/compiler-plugin.js b/tools/isobuild/compiler-plugin.js index 1b0abdbabf..7854ced001 100644 --- a/tools/isobuild/compiler-plugin.js +++ b/tools/isobuild/compiler-plugin.js @@ -1285,7 +1285,7 @@ export class PackageSourceBatch { const isApp = ! self.unibuild.pkg.name; const isWeb = archinfo.matches(self.unibuild.arch, "web"); const linkerOptions = { - useGlobalNamespace: isApp, + isApp, meteorInstallOptions, // I was confused about this, so I am leaving a comment -- the // combinedServePath is either [pkgname].js or [pluginName]:plugin.js. @@ -1299,7 +1299,6 @@ export class PackageSourceBatch { declaredExports: _.pluck(self.unibuild.declaredExports, 'name'), imports: self.importedSymbolToPackageName, // XXX report an error if there is a package called global-imports - importStubServePath: isApp && '/packages/global-imports.js', includeSourceMapInstructions: isWeb, noLineNumbers: !isWeb }; diff --git a/tools/isobuild/linker.js b/tools/isobuild/linker.js index 0e74142be7..899c907ac1 100644 --- a/tools/isobuild/linker.js +++ b/tools/isobuild/linker.js @@ -994,7 +994,7 @@ var getHeader = function (options) { return chunks.join(''); }; -var getImportCode = function (imports, header, omitvar) { +function getImportCode(imports, header, omitVar) { var self = this; if (_.isEmpty(imports)) { @@ -1011,13 +1011,13 @@ var getImportCode = function (imports, header, omitvar) { // Generate output var buf = header; _.each(tree, function (node, key) { - buf += (omitvar ? "" : "var " ) + + buf += (omitVar ? "" : "var " ) + key + " = " + writeSymbolTree(node) + ";\n"; }); buf += "\n"; return buf; -}; +} var getFooter = function ({ name, @@ -1073,11 +1073,12 @@ var getFooter = function ({ // Output is an array of output files: objects with keys source, servePath, // sourceMap. export var fullLink = Profile("linker.fullLink", function (inputFiles, { - // If true, make the top level namespace be the same as the global - // namespace, so that symbols are accessible from the console, and don't - // actually combine files into a single file. used when linking apps (as - // opposed to packages). - useGlobalNamespace, + // True if we're linking the application (as opposed to a + // package). Among other consequences, this makes the top level + // namespace be the same as the global namespace, so that symbols are + // accessible from the console, and avoids actually combining files into + // a single file. + isApp, // Options to pass as the second argument to meteorInstall. Falsy if // meteorInstall is disabled. meteorInstallOptions, @@ -1094,9 +1095,6 @@ export var fullLink = Profile("linker.fullLink", function (inputFiles, { // a map from imported symbol to the name of the package that it is // imported from imports, - // If useGlobalNamespace is set, this is the name of the file to create - // with imports into the global namespace. - importStubServePath, // True if JS files with source maps should have a comment explaining // how to use them in a browser. includeSourceMapInstructions, @@ -1107,7 +1105,7 @@ export var fullLink = Profile("linker.fullLink", function (inputFiles, { var module = new Module({ name, meteorInstallOptions, - useGlobalNamespace, + useGlobalNamespace: isApp, combinedServePath, noLineNumbers }); @@ -1118,12 +1116,15 @@ export var fullLink = Profile("linker.fullLink", function (inputFiles, { // If we're in the app, then we just add the import code as its own file in // the front. - if (useGlobalNamespace) { - if (!_.isEmpty(imports)) { + if (isApp) { + if (! _.isEmpty(imports)) { prelinkedFiles.unshift({ - source: getImportCode(imports, - "/* Imports for global scope */\n\n", true), - servePath: importStubServePath + source: getImportCode( + imports, + "/* Imports for global scope */\n\n", + true, // Omit the var keyword. + ), + servePath: "/global-imports.js" }); } return prelinkedFiles; From 3c575a62a8ca365de5311c4f703e7495d077abab Mon Sep 17 00:00:00 2001 From: Ben Newman Date: Tue, 7 Nov 2017 18:36:33 -0500 Subject: [PATCH 0056/1355] Upgrade Node to version 8.9.1. https://nodejs.org/en/blog/release/v8.9.1/ --- History.md | 2 +- scripts/build-dev-bundle-common.sh | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/History.md b/History.md index 6810b12625..30f6a8cfee 100644 --- a/History.md +++ b/History.md @@ -1,6 +1,6 @@ ## v.NEXT -* Node.js has been upgraded to version 8.9.0. +* Node.js has been upgraded to version 8.9.1. * The `npm` npm package has been upgraded to version 5.5.1, which supports several new features, including two-factor authentication, as described diff --git a/scripts/build-dev-bundle-common.sh b/scripts/build-dev-bundle-common.sh index 82777d4296..9e3dd1bab8 100644 --- a/scripts/build-dev-bundle-common.sh +++ b/scripts/build-dev-bundle-common.sh @@ -5,7 +5,7 @@ set -u UNAME=$(uname) ARCH=$(uname -m) -NODE_VERSION=8.9.0 +NODE_VERSION=8.9.1 MONGO_VERSION_64BIT=3.2.15 MONGO_VERSION_32BIT=3.2.15 NPM_VERSION=5.5.1 From 3bd44249513d32234bc624a6bc5eaf2af4752baa Mon Sep 17 00:00:00 2001 From: Ben Newman Date: Tue, 7 Nov 2017 18:36:59 -0500 Subject: [PATCH 0057/1355] Bump $BUNDLE_VERSION to 8.9.1 before rebuilding dev bundle. --- meteor | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/meteor b/meteor index 2ec09da9a0..5a820a6518 100755 --- a/meteor +++ b/meteor @@ -1,6 +1,6 @@ #!/usr/bin/env bash -BUNDLE_VERSION=8.9.0 +BUNDLE_VERSION=8.9.1 # OS Check. Put here because here is where we download the precompiled # bundles that are arch specific. From ee04a363904ae6629345fedd1fc77eca0bdd9705 Mon Sep 17 00:00:00 2001 From: Ben Newman Date: Tue, 7 Nov 2017 21:57:08 -0500 Subject: [PATCH 0058/1355] Bump package versions for 1.6.1-beta.3 release. --- packages/meteor-tool/package.js | 2 +- scripts/admin/meteor-release-experimental.json | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/packages/meteor-tool/package.js b/packages/meteor-tool/package.js index 5b5bc5c611..1a70b97f90 100644 --- a/packages/meteor-tool/package.js +++ b/packages/meteor-tool/package.js @@ -1,6 +1,6 @@ Package.describe({ summary: "The Meteor command-line tool", - version: '1.6.1-beta.2' + version: '1.6.1-beta.3' }); Package.includeTool(); diff --git a/scripts/admin/meteor-release-experimental.json b/scripts/admin/meteor-release-experimental.json index 57d4b36b73..7268b19eaa 100644 --- a/scripts/admin/meteor-release-experimental.json +++ b/scripts/admin/meteor-release-experimental.json @@ -1,6 +1,6 @@ { "track": "METEOR", - "version": "1.6.1-beta.2", + "version": "1.6.1-beta.3", "recommended": false, "official": false, "description": "Meteor" From e4cc95fec07c3c096288a9de1126d8938e1b35b4 Mon Sep 17 00:00:00 2001 From: Ben Newman Date: Wed, 8 Nov 2017 14:44:23 -0500 Subject: [PATCH 0059/1355] Bump package versions for 1.6.1-beta.4 release. --- packages/meteor-tool/package.js | 2 +- scripts/admin/meteor-release-experimental.json | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/packages/meteor-tool/package.js b/packages/meteor-tool/package.js index 1a70b97f90..4f441544bb 100644 --- a/packages/meteor-tool/package.js +++ b/packages/meteor-tool/package.js @@ -1,6 +1,6 @@ Package.describe({ summary: "The Meteor command-line tool", - version: '1.6.1-beta.3' + version: '1.6.1-beta.4' }); Package.includeTool(); diff --git a/scripts/admin/meteor-release-experimental.json b/scripts/admin/meteor-release-experimental.json index 7268b19eaa..7b2ba61395 100644 --- a/scripts/admin/meteor-release-experimental.json +++ b/scripts/admin/meteor-release-experimental.json @@ -1,6 +1,6 @@ { "track": "METEOR", - "version": "1.6.1-beta.3", + "version": "1.6.1-beta.4", "recommended": false, "official": false, "description": "Meteor" From 77b13e99416a9ae23f4a011fe21e9d937b85aa6d Mon Sep 17 00:00:00 2001 From: Jesse Rosenberger Date: Wed, 8 Nov 2017 22:18:14 +0200 Subject: [PATCH 0060/1355] Update History.md with changes in Meteor 1.5.4. --- History.md | 9 +++++++++ 1 file changed, 9 insertions(+) diff --git a/History.md b/History.md index 2115c65616..32382de094 100644 --- a/History.md +++ b/History.md @@ -1,3 +1,12 @@ +## v1.5.4, 2017-11-08 + +* Node has been updated to version 4.8.6. This release officially + includes our fix of a faulty backport of garbage collection-related + logic in V8 and ends Meteor's use of a custom Node with that patch. + In addition, it includes small OpenSSL updates as announced on the + Node blog: https://nodejs.org/en/blog/release/v4.8.6/. + [Issue #8648](https://github.com/meteor/meteor/issues/8648) + ## v1.5.3, 2017-11-04 * Node has been upgraded to version 4.8.5, a recommended security From 66e1a780a664bc04437805055c05e42c5ca435c6 Mon Sep 17 00:00:00 2001 From: Jesse Rosenberger Date: Wed, 8 Nov 2017 22:22:39 +0200 Subject: [PATCH 0061/1355] Bump package versions for 1.5.4 release. --- packages/meteor-tool/package.js | 2 +- scripts/admin/meteor-release-official.json | 3 ++- 2 files changed, 3 insertions(+), 2 deletions(-) diff --git a/packages/meteor-tool/package.js b/packages/meteor-tool/package.js index d441b907a6..19ea4363d8 100644 --- a/packages/meteor-tool/package.js +++ b/packages/meteor-tool/package.js @@ -1,6 +1,6 @@ Package.describe({ summary: "The Meteor command-line tool", - version: "1.5.4-rc.0" + version: "1.5.4" }); Package.includeTool(); diff --git a/scripts/admin/meteor-release-official.json b/scripts/admin/meteor-release-official.json index de80597835..024ef29517 100644 --- a/scripts/admin/meteor-release-official.json +++ b/scripts/admin/meteor-release-official.json @@ -1,7 +1,8 @@ { "track": "METEOR", - "version": "1.5.3", + "version": "1.5.4", "recommended": false, "official": true, + "patchFrom": ["1.5", "1.5.1", "1.5.2", "1.5.2.1", "1.5.2.2", "1.5.3"], "description": "The Official Meteor Distribution" } From 26832a7947a872a27233e49414226487c44934fc Mon Sep 17 00:00:00 2001 From: Jesse Rosenberger Date: Wed, 8 Nov 2017 22:18:14 +0200 Subject: [PATCH 0062/1355] Update History.md with changes in Meteor 1.5.4. --- History.md | 9 +++++++++ 1 file changed, 9 insertions(+) diff --git a/History.md b/History.md index ba43469845..ed58beb491 100644 --- a/History.md +++ b/History.md @@ -108,6 +108,15 @@ * You can now run `meteor test --driver-package user:package` without first running `meteor add user:package`. +## v1.5.4, 2017-11-08 + +* Node has been updated to version 4.8.6. This release officially + includes our fix of a faulty backport of garbage collection-related + logic in V8 and ends Meteor's use of a custom Node with that patch. + In addition, it includes small OpenSSL updates as announced on the + Node blog: https://nodejs.org/en/blog/release/v4.8.6/. + [Issue #8648](https://github.com/meteor/meteor/issues/8648) + ## v1.5.3, 2017-11-04 * Node has been upgraded to version 4.8.5, a recommended security From 31f230e8546b17ab1499eb5020c6691b2aa08ef5 Mon Sep 17 00:00:00 2001 From: Jesse Rosenberger Date: Thu, 9 Nov 2017 00:28:01 +0200 Subject: [PATCH 0063/1355] Only run AppVeyor tests for Windows 64-bit, and not also 32-. AppVeyor does provide us quite a bit of value at no cost since we're open-source software, but with only a single container at our disposal under that plan, our build queue is often maxed-out for hours. Since most Meteor developers are using 64-bit platforms, the 64-bit tests provide the most value. Meteor doesn't have much (if any?) in the way of 32-bit/64-bit exceptions so any functionality difference would be at the OS level. Some day, we might bring this back. --- appveyor.yml | 2 -- 1 file changed, 2 deletions(-) diff --git a/appveyor.yml b/appveyor.yml index 7ce4f07bb1..47dbafb91d 100644 --- a/appveyor.yml +++ b/appveyor.yml @@ -23,13 +23,11 @@ environment: ^NULL-LEAVE-THIS-HERE-NULL$" platform: - x64 - - x86 matrix: fast_finish: true allow_failures: - platform: x64 - - platform: x86 # We don't need the actual "build", just the tests. build: off From d7e660fff195c3d9038808f142495ce87fae7919 Mon Sep 17 00:00:00 2001 From: Jesse Rosenberger Date: Thu, 9 Nov 2017 15:53:47 +0200 Subject: [PATCH 0064/1355] In AppVeyor testing, only run a single dynamic import test. Currently, three 'dynamic import' tests exist in the self-test suite: * dynamic import(...) in development * dynamic import(...) in production * dynamic import(...) with cache These tests take quite some time to run; each test takes ~5 minutes. While it's great to test them in a faster environment (Unix), which Meteor will continue to do, the overall value of the three separate tests is not as great in a slower testing environment, like Windows. --- scripts/windows/appveyor/test.ps1 | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/scripts/windows/appveyor/test.ps1 b/scripts/windows/appveyor/test.ps1 index 2a6f2a817e..2f8a65c001 100644 --- a/scripts/windows/appveyor/test.ps1 +++ b/scripts/windows/appveyor/test.ps1 @@ -4,7 +4,7 @@ $jUnit = Join-Path $env:TEMP 'self-test-junit-0.xml' $tests = @( '^assets' '^autoupdate' - '^dynamic import' + '^dynamic import.*development' ) -Join '|' Write-Host "Running: $tests" -ForegroundColor Yellow From 70e815e7be5a47ff9fe766c182144e72760fcf2d Mon Sep 17 00:00:00 2001 From: James Baxley Date: Thu, 9 Nov 2017 10:52:25 -0500 Subject: [PATCH 0065/1355] Upgrade webapp package's Npm.depends dependencies. (#9315) --- .../webapp/.npm/package/npm-shrinkwrap.json | 470 +++++------------- packages/webapp/package.js | 16 +- packages/webapp/webapp_client.js | 4 +- packages/webapp/webapp_server.js | 16 +- packages/webapp/webapp_tests.js | 2 +- 5 files changed, 150 insertions(+), 358 deletions(-) diff --git a/packages/webapp/.npm/package/npm-shrinkwrap.json b/packages/webapp/.npm/package/npm-shrinkwrap.json index 0ccfe25a1b..5daf34cf83 100644 --- a/packages/webapp/.npm/package/npm-shrinkwrap.json +++ b/packages/webapp/.npm/package/npm-shrinkwrap.json @@ -2,136 +2,86 @@ "lockfileVersion": 1, "dependencies": { "accepts": { - "version": "1.2.13", - "resolved": "https://registry.npmjs.org/accepts/-/accepts-1.2.13.tgz", - "integrity": "sha1-5fHzkoxtlf2WVYw27D2dDeSm7Oo=" - }, - "base64-url": { - "version": "1.2.2", - "resolved": "https://registry.npmjs.org/base64-url/-/base64-url-1.2.2.tgz", - "integrity": "sha1-kK8m74sLZ7yAGwXsz5QzRWSQCLM=" - }, - "basic-auth": { - "version": "1.0.4", - "resolved": "https://registry.npmjs.org/basic-auth/-/basic-auth-1.0.4.tgz", - "integrity": "sha1-Awk1sB3nyblKgksp8/zLdQ06UpA=" + "version": "1.3.4", + "resolved": "https://registry.npmjs.org/accepts/-/accepts-1.3.4.tgz", + "integrity": "sha1-hiRnWMfdbSGmR0/whKR0DsBesh8=" }, "basic-auth-connect": { "version": "1.0.0", "resolved": "https://registry.npmjs.org/basic-auth-connect/-/basic-auth-connect-1.0.0.tgz", "integrity": "sha1-/bC0OWLKe0BFanwrtI/hc9otISI=" }, - "batch": { - "version": "0.5.3", - "resolved": "https://registry.npmjs.org/batch/-/batch-0.5.3.tgz", - "integrity": "sha1-PzQU84AyF0O/wQQvmoP/HVgk1GQ=" - }, - "body-parser": { - "version": "1.13.3", - "resolved": "https://registry.npmjs.org/body-parser/-/body-parser-1.13.3.tgz", - "integrity": "sha1-wIzzMMM1jhUQFqBXRvE/ApyX+pc=" - }, "bytes": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/bytes/-/bytes-2.1.0.tgz", - "integrity": "sha1-rJPEEOL/ycx89LRks4KJBn9eR7Q=" + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/bytes/-/bytes-3.0.0.tgz", + "integrity": "sha1-0ygVQE1olpn4Wk6k+odV3ROpYEg=" }, "compressible": { - "version": "2.0.8", - "resolved": "https://registry.npmjs.org/compressible/-/compressible-2.0.8.tgz", - "integrity": "sha1-cWLmxG07nSAP+0XLTkoPeDJzJQM=" + "version": "2.0.12", + "resolved": "https://registry.npmjs.org/compressible/-/compressible-2.0.12.tgz", + "integrity": "sha1-xZpcmdt2dn6YdlAOJx72OzSTvWY=" }, "compression": { - "version": "1.5.2", - "resolved": "https://registry.npmjs.org/compression/-/compression-1.5.2.tgz", - "integrity": "sha1-sDuNhub4rSloPLqN+R3cb/x3s5U=" + "version": "1.7.1", + "resolved": "https://registry.npmjs.org/compression/-/compression-1.7.1.tgz", + "integrity": "sha1-7/JgPvwuIs+G810uuTWJ+YdTc9s=" }, "connect": { - "version": "2.30.2", - "resolved": "https://registry.npmjs.org/connect/-/connect-2.30.2.tgz", - "integrity": "sha1-jam8vooFTT0xjXTf7JA7XDmhtgk=" - }, - "connect-timeout": { - "version": "1.6.2", - "resolved": "https://registry.npmjs.org/connect-timeout/-/connect-timeout-1.6.2.tgz", - "integrity": "sha1-3ppexh4zoStu2qt7XwYumMWZuI4=" - }, - "content-type": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/content-type/-/content-type-1.0.2.tgz", - "integrity": "sha1-t9ETrueo3Se9IRM8TcJSnfFyHu0=" + "version": "3.6.5", + "resolved": "https://registry.npmjs.org/connect/-/connect-3.6.5.tgz", + "integrity": "sha1-+43ee6B2OHfQ7J352sC0tA5yx9o=", + "dependencies": { + "parseurl": { + "version": "1.3.2", + "resolved": "https://registry.npmjs.org/parseurl/-/parseurl-1.3.2.tgz", + "integrity": "sha1-/CidTtiZMRlGDBViUyYs3I3mW/M=" + } + } }, "cookie": { - "version": "0.1.3", - "resolved": "https://registry.npmjs.org/cookie/-/cookie-0.1.3.tgz", - "integrity": "sha1-5zSlwUF/zkctWu+Cw4HKu2TRpDU=" + "version": "0.3.1", + "resolved": "https://registry.npmjs.org/cookie/-/cookie-0.3.1.tgz", + "integrity": "sha1-5+Ch+e9DtMi6klxcWpboBtFoc7s=" }, "cookie-parser": { - "version": "1.3.5", - "resolved": "https://registry.npmjs.org/cookie-parser/-/cookie-parser-1.3.5.tgz", - "integrity": "sha1-nXVVcPtdF4kHcSJ6AjFNm+fPg1Y=" + "version": "1.4.3", + "resolved": "https://registry.npmjs.org/cookie-parser/-/cookie-parser-1.4.3.tgz", + "integrity": "sha1-D+MfoZ0AC5X0qt8fU/3CuKIDuqU=" }, "cookie-signature": { "version": "1.0.6", "resolved": "https://registry.npmjs.org/cookie-signature/-/cookie-signature-1.0.6.tgz", "integrity": "sha1-4wOogrNCzD7oylE6eZmXNNqzriw=" }, - "core-util-is": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/core-util-is/-/core-util-is-1.0.2.tgz", - "integrity": "sha1-tf1UIgqivFq1eqtxQMlAdUUDwac=" - }, - "crc": { - "version": "3.3.0", - "resolved": "https://registry.npmjs.org/crc/-/crc-3.3.0.tgz", - "integrity": "sha1-+mIuG8OIvyVzCQgta2UgDOZwkLo=" - }, - "csrf": { - "version": "3.0.3", - "resolved": "https://registry.npmjs.org/csrf/-/csrf-3.0.3.tgz", - "integrity": "sha1-adEyIN6VdigIuxIPdTOplPxCk7U=" - }, - "csurf": { - "version": "1.8.3", - "resolved": "https://registry.npmjs.org/csurf/-/csurf-1.8.3.tgz", - "integrity": "sha1-I/KhO/HY/OHQyZZYg5RELLqGpWo=" - }, "debug": { - "version": "2.2.0", - "resolved": "https://registry.npmjs.org/debug/-/debug-2.2.0.tgz", - "integrity": "sha1-+HBX6ZWxofauaklgZkE3vFbwOdo=" + "version": "2.6.9", + "resolved": "https://registry.npmjs.org/debug/-/debug-2.6.9.tgz", + "integrity": "sha512-bC7ElrdJaJnPbAP+1EotYvqZsb3ecl5wi6Bfi6BJTUcNowp6cvspg0jXznRTKDjm/E7AdgFBVeAPVMNcKGsHMA==" }, "depd": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/depd/-/depd-1.0.1.tgz", - "integrity": "sha1-gK7GTJ1tl+ZcwqnKqTwKpqv3Oqo=" + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/depd/-/depd-1.1.1.tgz", + "integrity": "sha1-V4O04cRZ8G+lyif5kfPQbnoxA1k=" }, "destroy": { - "version": "1.0.3", - "resolved": "https://registry.npmjs.org/destroy/-/destroy-1.0.3.tgz", - "integrity": "sha1-tDO0ck5x/YVR2YhRdIUcX8N34sk=" + "version": "1.0.4", + "resolved": "https://registry.npmjs.org/destroy/-/destroy-1.0.4.tgz", + "integrity": "sha1-l4hXRCxEdJ5CBmE+N5RiBYJqvYA=" }, "ee-first": { "version": "1.1.1", "resolved": "https://registry.npmjs.org/ee-first/-/ee-first-1.1.1.tgz", "integrity": "sha1-WQxhFWsK4vTwJVcyoViyZrxWsh0=" }, + "encodeurl": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/encodeurl/-/encodeurl-1.0.1.tgz", + "integrity": "sha1-eePVhlU0aQn+bw9Fpd5oEDspTSA=" + }, "errorhandler": { - "version": "1.4.3", - "resolved": "https://registry.npmjs.org/errorhandler/-/errorhandler-1.4.3.tgz", - "integrity": "sha1-t7cO2PNZ6duICS8tIMD4MUIK2D8=", - "dependencies": { - "accepts": { - "version": "1.3.3", - "resolved": "https://registry.npmjs.org/accepts/-/accepts-1.3.3.tgz", - "integrity": "sha1-w8p0NJOGSMPg2cHjKN1otiLChMo=" - }, - "negotiator": { - "version": "0.6.1", - "resolved": "https://registry.npmjs.org/negotiator/-/negotiator-0.6.1.tgz", - "integrity": "sha1-KzJxhOiZIQEXeyhWP7XnECrNDKk=" - } - } + "version": "1.5.0", + "resolved": "https://registry.npmjs.org/errorhandler/-/errorhandler-1.5.0.tgz", + "integrity": "sha1-6rpkyl1UKjEayUX1gt78M2Fl2fQ=" }, "escape-html": { "version": "1.0.3", @@ -139,130 +89,66 @@ "integrity": "sha1-Aljq5NPQwJdN4cFpGI7wBR0dGYg=" }, "etag": { - "version": "1.7.0", - "resolved": "https://registry.npmjs.org/etag/-/etag-1.7.0.tgz", - "integrity": "sha1-A9MLX2fdbmMtKUXTDWZScxo01dg=" - }, - "express-session": { - "version": "1.11.3", - "resolved": "https://registry.npmjs.org/express-session/-/express-session-1.11.3.tgz", - "integrity": "sha1-XMmPP1/4Ttg1+Ry/CqvQxxB0AK8=", - "dependencies": { - "base64-url": { - "version": "1.2.1", - "resolved": "https://registry.npmjs.org/base64-url/-/base64-url-1.2.1.tgz", - "integrity": "sha1-GZ/WYXAqDnt9yubgaYuwicUvbXg=" - }, - "uid-safe": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/uid-safe/-/uid-safe-2.0.0.tgz", - "integrity": "sha1-p/PGymSh9qXQTsDvPkw9U2cxcTc=" - } - } + "version": "1.8.1", + "resolved": "https://registry.npmjs.org/etag/-/etag-1.8.1.tgz", + "integrity": "sha1-Qa4u62XvpiJorr/qg6x9eSmbCIc=" }, "finalhandler": { - "version": "0.4.0", - "resolved": "https://registry.npmjs.org/finalhandler/-/finalhandler-0.4.0.tgz", - "integrity": "sha1-llpS2ejQXSuFdUhUH7ibU6JJfZs=", + "version": "1.0.6", + "resolved": "https://registry.npmjs.org/finalhandler/-/finalhandler-1.0.6.tgz", + "integrity": "sha1-AHrqM9Gk0+QgF/YkhIrVjSEvgU8=", "dependencies": { - "escape-html": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/escape-html/-/escape-html-1.0.2.tgz", - "integrity": "sha1-130y+pjjjC9BroXpJ44ODmuhAiw=" + "parseurl": { + "version": "1.3.2", + "resolved": "https://registry.npmjs.org/parseurl/-/parseurl-1.3.2.tgz", + "integrity": "sha1-/CidTtiZMRlGDBViUyYs3I3mW/M=" } } }, "fresh": { - "version": "0.3.0", - "resolved": "https://registry.npmjs.org/fresh/-/fresh-0.3.0.tgz", - "integrity": "sha1-ZR+DjiJCTnVm3hYdg1jKoZn4PU8=" + "version": "0.5.2", + "resolved": "https://registry.npmjs.org/fresh/-/fresh-0.5.2.tgz", + "integrity": "sha1-PYyt2Q2XZWn6g1qx+OSyOhBWBac=" }, "http-errors": { - "version": "1.3.1", - "resolved": "https://registry.npmjs.org/http-errors/-/http-errors-1.3.1.tgz", - "integrity": "sha1-GX4izevUGYWF6GlO9nhhl7ke2UI=" - }, - "iconv-lite": { - "version": "0.4.11", - "resolved": "https://registry.npmjs.org/iconv-lite/-/iconv-lite-0.4.11.tgz", - "integrity": "sha1-LstC/SlHRJIiCaLnxATayHk9it4=" + "version": "1.6.2", + "resolved": "https://registry.npmjs.org/http-errors/-/http-errors-1.6.2.tgz", + "integrity": "sha1-CgAsyFcHGSp+eUbO7cERVfYOxzY=" }, "inherits": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/inherits/-/inherits-2.0.1.tgz", - "integrity": "sha1-sX0I0ya0Qj5Wjv9xn5GwscvfafE=" - }, - "isarray": { - "version": "0.0.1", - "resolved": "https://registry.npmjs.org/isarray/-/isarray-0.0.1.tgz", - "integrity": "sha1-ihis/Kmo9Bd+Cav8YDiTmwXR7t8=" + "version": "2.0.3", + "resolved": "https://registry.npmjs.org/inherits/-/inherits-2.0.3.tgz", + "integrity": "sha1-Yzwsg+PaQqUC9SRmAiSA9CCCYd4=" }, "lru-cache": { "version": "2.2.4", "resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-2.2.4.tgz", "integrity": "sha1-bGWGGb7PFAMdDQtZSxYELOTcBj0=" }, - "media-typer": { - "version": "0.3.0", - "resolved": "https://registry.npmjs.org/media-typer/-/media-typer-0.3.0.tgz", - "integrity": "sha1-hxDXrwqmJvj/+hzgAWhUUmMlV0g=" - }, - "method-override": { - "version": "2.3.6", - "resolved": "https://registry.npmjs.org/method-override/-/method-override-2.3.6.tgz", - "integrity": "sha1-IJJhzFiNRdnVoCL/INfV646SF54=", - "dependencies": { - "parseurl": { - "version": "1.3.1", - "resolved": "https://registry.npmjs.org/parseurl/-/parseurl-1.3.1.tgz", - "integrity": "sha1-yKuMkiO6NIiKpkopeyiFO+wY2lY=" - }, - "vary": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/vary/-/vary-1.1.0.tgz", - "integrity": "sha1-4eWv+70WrnaN0mdDlLmtMCJlMUA=" - } - } - }, - "methods": { - "version": "1.1.2", - "resolved": "https://registry.npmjs.org/methods/-/methods-1.1.2.tgz", - "integrity": "sha1-VSmk1nZUE07cxSZmVoNbD4Ua/O4=" - }, "mime": { - "version": "1.3.4", - "resolved": "https://registry.npmjs.org/mime/-/mime-1.3.4.tgz", - "integrity": "sha1-EV+eO2s9rylZmDyzjxSaLUDrXVM=" + "version": "1.4.1", + "resolved": "https://registry.npmjs.org/mime/-/mime-1.4.1.tgz", + "integrity": "sha512-KI1+qOZu5DcW6wayYHSzR/tXKCDC5Om4s1z2QJjDULzLcmf3DvzS7oluY4HCTrc+9FiKmWUgeNLg7W3uIQvxtQ==" }, "mime-db": { - "version": "1.23.0", - "resolved": "https://registry.npmjs.org/mime-db/-/mime-db-1.23.0.tgz", - "integrity": "sha1-oxtAcK2uon1zLqMzdApk0OyaZlk=" + "version": "1.30.0", + "resolved": "https://registry.npmjs.org/mime-db/-/mime-db-1.30.0.tgz", + "integrity": "sha1-dMZD2i3Z1qRTmZY0ZbJtXKfXHwE=" }, "mime-types": { - "version": "2.1.11", - "resolved": "https://registry.npmjs.org/mime-types/-/mime-types-2.1.11.tgz", - "integrity": "sha1-wlnEcb2oCKhdbNGTtDCl+uRHOzw=" - }, - "morgan": { - "version": "1.6.1", - "resolved": "https://registry.npmjs.org/morgan/-/morgan-1.6.1.tgz", - "integrity": "sha1-X9gYOYxoGcuiinzWZk8pL+HAu/I=" + "version": "2.1.17", + "resolved": "https://registry.npmjs.org/mime-types/-/mime-types-2.1.17.tgz", + "integrity": "sha1-Cdejk/A+mVp5+K+Fe3Cp4KsWVXo=" }, "ms": { - "version": "0.7.1", - "resolved": "https://registry.npmjs.org/ms/-/ms-0.7.1.tgz", - "integrity": "sha1-nNE8A62/8ltl7/3nzoZO6VIBcJg=" - }, - "multiparty": { - "version": "3.3.2", - "resolved": "https://registry.npmjs.org/multiparty/-/multiparty-3.3.2.tgz", - "integrity": "sha1-Nd5oBNwZZD5SSfPT473GyM4wHT8=" + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/ms/-/ms-2.0.0.tgz", + "integrity": "sha1-VgiurfwAvmwpAd9fmGF4jeDVl8g=" }, "negotiator": { - "version": "0.5.3", - "resolved": "https://registry.npmjs.org/negotiator/-/negotiator-0.5.3.tgz", - "integrity": "sha1-Jp1cR2gQ7JLtvntsLygxY4T5p+g=" + "version": "0.6.1", + "resolved": "https://registry.npmjs.org/negotiator/-/negotiator-0.6.1.tgz", + "integrity": "sha1-KzJxhOiZIQEXeyhWP7XnECrNDKk=" }, "on-finished": { "version": "2.3.0", @@ -274,158 +160,55 @@ "resolved": "https://registry.npmjs.org/on-headers/-/on-headers-1.0.1.tgz", "integrity": "sha1-ko9dD0cNSTQmUepnlLCFfBAGk/c=" }, - "parseurl": { - "version": "1.3.0", - "resolved": "https://registry.npmjs.org/parseurl/-/parseurl-1.3.0.tgz", - "integrity": "sha1-tYBG20Ij4UWvp2AJ5hush8wigbM=" + "os-tmpdir": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/os-tmpdir/-/os-tmpdir-1.0.2.tgz", + "integrity": "sha1-u+Z0BseaqFxc/sdm/lc0VV36EnQ=" }, - "pause": { - "version": "0.1.0", - "resolved": "https://registry.npmjs.org/pause/-/pause-0.1.0.tgz", - "integrity": "sha1-68ikqGGf8LioGsFRPDQ0/0af23Q=" + "parseurl": { + "version": "1.3.2", + "resolved": "https://registry.npmjs.org/parseurl/-/parseurl-1.3.2.tgz", + "integrity": "sha1-/CidTtiZMRlGDBViUyYs3I3mW/M=" }, "qs": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/qs/-/qs-4.0.0.tgz", - "integrity": "sha1-wx2bdOwn33XlQ6hseHKO2NRiNgc=" + "version": "6.4.0", + "resolved": "https://registry.npmjs.org/qs/-/qs-6.4.0.tgz", + "integrity": "sha1-E+JtKK1rD/qpExLNO/cI7TUecjM=" }, - "random-bytes": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/random-bytes/-/random-bytes-1.0.0.tgz", - "integrity": "sha1-T2ih3Arli9P7lYSMMDJNt11kNgs=" + "qs-middleware": { + "version": "1.0.3", + "resolved": "https://registry.npmjs.org/qs-middleware/-/qs-middleware-1.0.3.tgz", + "integrity": "sha1-hPNTUnW6IP0AwhIu+szmqwEJLBk=" }, "range-parser": { - "version": "1.0.3", - "resolved": "https://registry.npmjs.org/range-parser/-/range-parser-1.0.3.tgz", - "integrity": "sha1-aHKCNTXGkuLCoBA4Jq/YLC4P8XU=" - }, - "raw-body": { - "version": "2.1.7", - "resolved": "https://registry.npmjs.org/raw-body/-/raw-body-2.1.7.tgz", - "integrity": "sha1-rf6s4uT7MJgFgBTQjActzFl1h3Q=", - "dependencies": { - "bytes": { - "version": "2.4.0", - "resolved": "https://registry.npmjs.org/bytes/-/bytes-2.4.0.tgz", - "integrity": "sha1-fZcZb51br39pNeJZhVSe3SpsIzk=" - }, - "iconv-lite": { - "version": "0.4.13", - "resolved": "https://registry.npmjs.org/iconv-lite/-/iconv-lite-0.4.13.tgz", - "integrity": "sha1-H4irpKsLFQjoMSrMOTRfNumS4vI=" - } - } - }, - "readable-stream": { - "version": "1.1.14", - "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-1.1.14.tgz", - "integrity": "sha1-fPTFTvZI44EwhMY23SB54WbAgdk=" - }, - "response-time": { - "version": "2.3.1", - "resolved": "https://registry.npmjs.org/response-time/-/response-time-2.3.1.tgz", - "integrity": "sha1-K94ZGB3myBq5XjIHoo1h2WWzF5c=" - }, - "rndm": { "version": "1.2.0", - "resolved": "https://registry.npmjs.org/rndm/-/rndm-1.2.0.tgz", - "integrity": "sha1-8z/pz7Urv9UgqhgyO8ZdsRCht2w=" + "resolved": "https://registry.npmjs.org/range-parser/-/range-parser-1.2.0.tgz", + "integrity": "sha1-9JvmtIeJTdxA3MlKMi9hEJLgDV4=" + }, + "safe-buffer": { + "version": "5.1.1", + "resolved": "https://registry.npmjs.org/safe-buffer/-/safe-buffer-5.1.1.tgz", + "integrity": "sha512-kKvNJn6Mm93gAczWVJg7wH+wGYWNrDHdWvpUmHyEsgCtIwwo3bqPtV4tR5tuPaUhTOo/kvhVwd8XwwOllGYkbg==" }, "send": { - "version": "0.13.0", - "resolved": "https://registry.npmjs.org/send/-/send-0.13.0.tgz", - "integrity": "sha1-UY+SGusFYK7H3KspkLFM9vPM5d4=", - "dependencies": { - "escape-html": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/escape-html/-/escape-html-1.0.2.tgz", - "integrity": "sha1-130y+pjjjC9BroXpJ44ODmuhAiw=" - }, - "statuses": { - "version": "1.2.1", - "resolved": "https://registry.npmjs.org/statuses/-/statuses-1.2.1.tgz", - "integrity": "sha1-3e1FzBglbVHtQK7BQkidXGECbSg=" - } - } + "version": "0.16.1", + "resolved": "https://registry.npmjs.org/send/-/send-0.16.1.tgz", + "integrity": "sha512-ElCLJdJIKPk6ux/Hocwhk7NFHpI3pVm/IZOYWqUmoxcgeyM+MpxHHKhb8QmlJDX1pU6WrgaHBkVNm73Sv7uc2A==" }, - "serve-favicon": { - "version": "2.3.0", - "resolved": "https://registry.npmjs.org/serve-favicon/-/serve-favicon-2.3.0.tgz", - "integrity": "sha1-rtNsxoNAaabxicxyIsahqBHcWzk=" - }, - "serve-index": { - "version": "1.7.3", - "resolved": "https://registry.npmjs.org/serve-index/-/serve-index-1.7.3.tgz", - "integrity": "sha1-egV/xu4o3GP2RWbl+lexEahq7NI=", - "dependencies": { - "parseurl": { - "version": "1.3.1", - "resolved": "https://registry.npmjs.org/parseurl/-/parseurl-1.3.1.tgz", - "integrity": "sha1-yKuMkiO6NIiKpkopeyiFO+wY2lY=" - } - } - }, - "serve-static": { - "version": "1.10.3", - "resolved": "https://registry.npmjs.org/serve-static/-/serve-static-1.10.3.tgz", - "integrity": "sha1-zlpuzTEB/tXsCYJ9rCKpwpv7BTU=", - "dependencies": { - "depd": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/depd/-/depd-1.1.0.tgz", - "integrity": "sha1-4b2Cxqq2ztlluXuIsX7T5SjKGMM=" - }, - "destroy": { - "version": "1.0.4", - "resolved": "https://registry.npmjs.org/destroy/-/destroy-1.0.4.tgz", - "integrity": "sha1-l4hXRCxEdJ5CBmE+N5RiBYJqvYA=" - }, - "parseurl": { - "version": "1.3.1", - "resolved": "https://registry.npmjs.org/parseurl/-/parseurl-1.3.1.tgz", - "integrity": "sha1-yKuMkiO6NIiKpkopeyiFO+wY2lY=" - }, - "send": { - "version": "0.13.2", - "resolved": "https://registry.npmjs.org/send/-/send-0.13.2.tgz", - "integrity": "sha1-dl52B8gFVFK7pvCwUllTUJhgNt4=" - }, - "statuses": { - "version": "1.2.1", - "resolved": "https://registry.npmjs.org/statuses/-/statuses-1.2.1.tgz", - "integrity": "sha1-3e1FzBglbVHtQK7BQkidXGECbSg=" - } - } + "setprototypeof": { + "version": "1.0.3", + "resolved": "https://registry.npmjs.org/setprototypeof/-/setprototypeof-1.0.3.tgz", + "integrity": "sha1-ZlZ+NwQ+608E2RvWWMDL77VbjgQ=" }, "statuses": { - "version": "1.3.0", - "resolved": "https://registry.npmjs.org/statuses/-/statuses-1.3.0.tgz", - "integrity": "sha1-jlV1jLIOdoLB9Pzo3KswvwHR4Ho=" + "version": "1.3.1", + "resolved": "https://registry.npmjs.org/statuses/-/statuses-1.3.1.tgz", + "integrity": "sha1-+vUbnrdKrvOzrPStX2Gr8ky3uT4=" }, - "stream-counter": { - "version": "0.2.0", - "resolved": "https://registry.npmjs.org/stream-counter/-/stream-counter-0.2.0.tgz", - "integrity": "sha1-3tJmVWMZyLDiIoErnPOyb6fZR94=" - }, - "string_decoder": { - "version": "0.10.31", - "resolved": "https://registry.npmjs.org/string_decoder/-/string_decoder-0.10.31.tgz", - "integrity": "sha1-YuIDvEF2bGwoyfyEMB2rHFMQ+pQ=" - }, - "tsscmp": { - "version": "1.0.5", - "resolved": "https://registry.npmjs.org/tsscmp/-/tsscmp-1.0.5.tgz", - "integrity": "sha1-fcSjOvcVgatDN9qR2FylQn69mpc=" - }, - "type-is": { - "version": "1.6.13", - "resolved": "https://registry.npmjs.org/type-is/-/type-is-1.6.13.tgz", - "integrity": "sha1-boO6e8MM0zp7sLf7AHN6IIW/nQg=" - }, - "uid-safe": { - "version": "2.1.1", - "resolved": "https://registry.npmjs.org/uid-safe/-/uid-safe-2.1.1.tgz", - "integrity": "sha1-Pb+UNrUovp9SiCwFpiFsN2PbNmY=" + "tmp": { + "version": "0.0.33", + "resolved": "https://registry.npmjs.org/tmp/-/tmp-0.0.33.tgz", + "integrity": "sha512-jRCJlojKnZ3addtTOjdIqoRuPEKBvNXcGYqzO6zWZX8KfKEpnGY5jfggJQ3EjKuu8D4bJRr0y+cYJFmYbImXGw==" }, "unpipe": { "version": "1.0.0", @@ -433,24 +216,19 @@ "integrity": "sha1-sr9O6FFKrmFltIF4KdIbLvSZBOw=" }, "useragent": { - "version": "2.0.7", - "resolved": "https://registry.npmjs.org/useragent/-/useragent-2.0.7.tgz", - "integrity": "sha1-pEwH0VehXhPXPUr07Oaqtw8pgiQ=" + "version": "2.2.1", + "resolved": "https://registry.npmjs.org/useragent/-/useragent-2.2.1.tgz", + "integrity": "sha1-z1k+9PLRdYdei7ZY6pLhik/QbY4=" }, "utils-merge": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/utils-merge/-/utils-merge-1.0.0.tgz", - "integrity": "sha1-ApT7kiu5N1FTVBxPcJYjHyh8ivg=" + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/utils-merge/-/utils-merge-1.0.1.tgz", + "integrity": "sha1-n5VxD1CiZ5R7LMwSR0HBAoQn5xM=" }, "vary": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/vary/-/vary-1.0.1.tgz", - "integrity": "sha1-meSYFWaihhGN+yuBc1ffeZM3bRA=" - }, - "vhost": { - "version": "3.0.2", - "resolved": "https://registry.npmjs.org/vhost/-/vhost-3.0.2.tgz", - "integrity": "sha1-L7HezUxGaqiLD5NBrzPcGv8keNU=" + "version": "1.1.2", + "resolved": "https://registry.npmjs.org/vary/-/vary-1.1.2.tgz", + "integrity": "sha1-IpnwLG3tMNSllhsLn3RSShj2NPw=" } } } diff --git a/packages/webapp/package.js b/packages/webapp/package.js index b3ac99b303..1e35e0e4ab 100644 --- a/packages/webapp/package.js +++ b/packages/webapp/package.js @@ -1,12 +1,17 @@ Package.describe({ summary: "Serves a Meteor app over HTTP", - version: '1.4.0' + version: '1.5.0' }); -Npm.depends({connect: "2.30.2", - parseurl: "1.3.0", - send: "0.13.0", - useragent: "2.0.7"}); +Npm.depends({"basic-auth-connect": "1.0.0", + "cookie-parser": "1.4.3", + connect: "3.6.5", + compression: "1.7.1", + errorhandler: "1.5.0", + parseurl: "1.3.2", + send: "0.16.1", + "qs-middleware": "1.0.3", + useragent: "2.2.1"}); Npm.strip({ multiparty: ["test/"], @@ -23,7 +28,6 @@ Package.onUse(function (api) { api.use('ecmascript'); api.use(['logging', 'underscore', 'routepolicy', 'boilerplate-generator', 'webapp-hashing'], 'server'); - api.use(['underscore'], 'client'); // At response serving time, webapp uses browser-policy if it is loaded. If // browser-policy is loaded, then it must be loaded after webapp diff --git a/packages/webapp/webapp_client.js b/packages/webapp/webapp_client.js index 70d4a764e5..ca4cc4b763 100644 --- a/packages/webapp/webapp_client.js +++ b/packages/webapp/webapp_client.js @@ -4,12 +4,12 @@ export const WebApp = { return true; } - return _.find(document.styleSheets, sheet => { + return Array.prototype.find.call(document.styleSheets, sheet => { if (sheet.cssText && ! sheet.cssRules) { // IE8 return ! sheet.cssText.match(/meteor-css-not-found-error/); } - return ! _.find( + return ! Array.prototype.find.call( sheet.cssRules, rule => rule.selectorText === '.meteor-css-not-found-error' ); diff --git a/packages/webapp/webapp_server.js b/packages/webapp/webapp_server.js index d59d91d2e9..5f4be983a5 100644 --- a/packages/webapp/webapp_server.js +++ b/packages/webapp/webapp_server.js @@ -8,7 +8,11 @@ import { import { parse as parseUrl } from "url"; import { createHash } from "crypto"; import connect from "connect"; +import compress from "compression"; +import cookieParser from "cookie-parser"; +import query from "qs-middleware"; import parseRequest from "parseurl"; +import basicAuth from "basic-auth-connect"; import { lookup as lookupUserAgent } from "useragent"; import send from "send"; import { @@ -22,10 +26,13 @@ var LONG_SOCKET_TIMEOUT = 120*1000; export const WebApp = {}; export const WebAppInternals = {}; +// backwards compat to 2.0 of connect +connect.basicAuth = basicAuth; + WebAppInternals.NpmModules = { connect: { version: Npm.require('connect/package.json').version, - module: connect + module: connect, } }; @@ -654,7 +661,10 @@ function runWebAppServer() { app.use(rawConnectHandlers); // Auto-compress any json, javascript, or text. - app.use(connect.compress()); + app.use(compress()); + + // parse cookies into an object + app.use(cookieParser()); // We're not a proxy; reject (without crashing) attempts to treat us like // one. (See #1212.) @@ -693,7 +703,7 @@ function runWebAppServer() { // Parse the query string into res.query. Used by oauth_server, but it's // generally pretty handy.. - app.use(connect.query()); + app.use(query()); // Serve static files from the manifest. // This is inspired by the 'static' middleware. diff --git a/packages/webapp/webapp_tests.js b/packages/webapp/webapp_tests.js index 2c2dac7d97..034b2ff8db 100644 --- a/packages/webapp/webapp_tests.js +++ b/packages/webapp/webapp_tests.js @@ -235,7 +235,7 @@ __meteor_runtime_config__.WEBAPP_TEST_B = ''; Tinytest.add("webapp - npm modules", function (test) { // Make sure the version number looks like a version number. - test.matches(WebAppInternals.NpmModules.connect.version, /^2\.(\d+)\.(\d+)/); + test.matches(WebAppInternals.NpmModules.connect.version, /^3\.(\d+)\.(\d+)/); test.equal(typeof(WebAppInternals.NpmModules.connect.module), 'function'); test.equal(typeof(WebAppInternals.NpmModules.connect.module.basicAuth), 'function'); From 71e953e55cb63622beec088891989f9d5b20e085 Mon Sep 17 00:00:00 2001 From: Ben Newman Date: Thu, 9 Nov 2017 10:54:41 -0500 Subject: [PATCH 0066/1355] Bump $BUNDLE_VERSION to 8.9.2 before rebuilding dev bundle. --- meteor | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/meteor b/meteor index 5a820a6518..ab8809dd0b 100755 --- a/meteor +++ b/meteor @@ -1,6 +1,6 @@ #!/usr/bin/env bash -BUNDLE_VERSION=8.9.1 +BUNDLE_VERSION=8.9.2 # OS Check. Put here because here is where we download the precompiled # bundles that are arch specific. From 78700d772daddb1a2618ac805881e9537c695ebc Mon Sep 17 00:00:00 2001 From: Ben Newman Date: Thu, 9 Nov 2017 10:59:42 -0500 Subject: [PATCH 0067/1355] Bump package versions for 1.6.1-beta.5 release. --- packages/meteor-tool/package.js | 2 +- packages/webapp/package.js | 2 +- scripts/admin/meteor-release-experimental.json | 2 +- 3 files changed, 3 insertions(+), 3 deletions(-) diff --git a/packages/meteor-tool/package.js b/packages/meteor-tool/package.js index 4f441544bb..564434cc44 100644 --- a/packages/meteor-tool/package.js +++ b/packages/meteor-tool/package.js @@ -1,6 +1,6 @@ Package.describe({ summary: "The Meteor command-line tool", - version: '1.6.1-beta.4' + version: '1.6.1-beta.5' }); Package.includeTool(); diff --git a/packages/webapp/package.js b/packages/webapp/package.js index 1e35e0e4ab..3f8f66d60d 100644 --- a/packages/webapp/package.js +++ b/packages/webapp/package.js @@ -1,6 +1,6 @@ Package.describe({ summary: "Serves a Meteor app over HTTP", - version: '1.5.0' + version: '1.5.0-beta161.5' }); Npm.depends({"basic-auth-connect": "1.0.0", diff --git a/scripts/admin/meteor-release-experimental.json b/scripts/admin/meteor-release-experimental.json index 7b2ba61395..6794753fcd 100644 --- a/scripts/admin/meteor-release-experimental.json +++ b/scripts/admin/meteor-release-experimental.json @@ -1,6 +1,6 @@ { "track": "METEOR", - "version": "1.6.1-beta.4", + "version": "1.6.1-beta.5", "recommended": false, "official": false, "description": "Meteor" From cdc428535711224459a59636e5bcaef7034871dc Mon Sep 17 00:00:00 2001 From: Sashko Stubailo Date: Wed, 8 Nov 2017 08:10:18 -0800 Subject: [PATCH 0068/1355] Convert ddp-client to use only api.mainModule for client and server --- packages/ddp-client/client.js | 14 ++++ packages/ddp-client/livedata_common.js | 2 + packages/ddp-client/livedata_connection.js | 6 ++ packages/ddp-client/package.js | 15 +--- packages/ddp-client/random_stream.js | 1 + packages/ddp-client/server.js | 11 +++ packages/ddp-client/stream_client_common.js | 89 ++------------------- packages/ddp-client/stream_client_nodejs.js | 5 +- packages/ddp-client/stream_client_sockjs.js | 3 + packages/ddp-client/urlHelpers.js | 84 +++++++++++++++++++ 10 files changed, 133 insertions(+), 97 deletions(-) create mode 100644 packages/ddp-client/client.js create mode 100644 packages/ddp-client/server.js create mode 100644 packages/ddp-client/urlHelpers.js diff --git a/packages/ddp-client/client.js b/packages/ddp-client/client.js new file mode 100644 index 0000000000..d6dd158f49 --- /dev/null +++ b/packages/ddp-client/client.js @@ -0,0 +1,14 @@ +import { DDP, LivedataTest } from './namespace'; + +import './livedata_common'; + +import './sockjs-0.3.4'; +import './stream_client_sockjs'; +import './stream_client_common'; + +import './random_stream'; +import './livedata_connection'; + +import './client_convenience'; + +export { DDP, LivedataTest }; diff --git a/packages/ddp-client/livedata_common.js b/packages/ddp-client/livedata_common.js index 5e50aa0b23..8bd521e080 100644 --- a/packages/ddp-client/livedata_common.js +++ b/packages/ddp-client/livedata_common.js @@ -1,4 +1,6 @@ import { DDP, LivedataTest } from "./namespace.js"; +import { DDPCommon } from 'meteor/ddp-common'; +import { Meteor } from 'meteor/meteor'; LivedataTest.SUPPORTED_DDP_VERSIONS = DDPCommon.SUPPORTED_DDP_VERSIONS; diff --git a/packages/ddp-client/livedata_connection.js b/packages/ddp-client/livedata_connection.js index 7e1f1e6f17..dd1a26d381 100644 --- a/packages/ddp-client/livedata_connection.js +++ b/packages/ddp-client/livedata_connection.js @@ -1,5 +1,11 @@ import { DDP, LivedataTest } from "./namespace.js"; import { MongoIDMap } from "./id_map.js"; +import { Meteor } from 'meteor/meteor'; +import { _ } from 'meteor/underscore'; +import { DDPCommon } from 'meteor/ddp-common'; +import { Tracker } from 'meteor/tracker'; +import { EJSON } from 'meteor/ejson'; +import { Random } from 'meteor/random'; if (Meteor.isServer) { var Fiber = Npm.require('fibers'); diff --git a/packages/ddp-client/package.js b/packages/ddp-client/package.js index 49a5987a0d..8327a87bd3 100644 --- a/packages/ddp-client/package.js +++ b/packages/ddp-client/package.js @@ -27,19 +27,10 @@ Package.onUse(function (api) { // _idParse, _idStringify. api.use('mongo-id', ['client', 'server']); - api.addFiles(['sockjs-0.3.4.js', 'stream_client_sockjs.js'], 'client'); - api.addFiles('stream_client_nodejs.js', 'server'); - api.addFiles('stream_client_common.js', ['client', 'server']); - - api.addFiles('livedata_common.js', ['client', 'server']); - api.addFiles('random_stream.js', ['client', 'server']); - - api.addFiles('livedata_connection.js', ['client', 'server']); - - api.addFiles('client_convenience.js', 'client'); - - api.mainModule("namespace.js"); + // For backcompat where things use Package.ddp.DDP, etc api.export('DDP'); + api.mainModule("client.js", "client"); + api.mainModule("server.js", "server"); }); Package.onTest(function (api) { diff --git a/packages/ddp-client/random_stream.js b/packages/ddp-client/random_stream.js index 269cb7a9b0..515b8e8019 100644 --- a/packages/ddp-client/random_stream.js +++ b/packages/ddp-client/random_stream.js @@ -1,4 +1,5 @@ import { DDP } from "./namespace.js"; +import { DDPCommon } from 'meteor/ddp-common'; // Returns the named sequence of pseudo-random values. // The scope will be DDP._CurrentMethodInvocation.get(), so the stream will produce diff --git a/packages/ddp-client/server.js b/packages/ddp-client/server.js new file mode 100644 index 0000000000..82e8bd3a9d --- /dev/null +++ b/packages/ddp-client/server.js @@ -0,0 +1,11 @@ +import { DDP, LivedataTest } from './namespace'; + +import './livedata_common'; + +import './stream_client_nodejs'; +import './stream_client_common'; + +import './random_stream'; +import './livedata_connection'; + +export { DDP, LivedataTest }; diff --git a/packages/ddp-client/stream_client_common.js b/packages/ddp-client/stream_client_common.js index 14195f708f..0991f78038 100644 --- a/packages/ddp-client/stream_client_common.js +++ b/packages/ddp-client/stream_client_common.js @@ -1,90 +1,11 @@ import { DDP, LivedataTest } from "./namespace.js"; +import { Random } from 'meteor/random'; +import { Meteor } from 'meteor/meteor'; +import { _ } from 'meteor/underscore'; +import { Tracker } from 'meteor/tracker'; +import { Retry } from 'meteor/retry'; -// XXX from Underscore.String (http://epeli.github.com/underscore.string/) -var startsWith = function(str, starts) { - return str.length >= starts.length && - str.substring(0, starts.length) === starts; -}; -var endsWith = function(str, ends) { - return str.length >= ends.length && - str.substring(str.length - ends.length) === ends; -}; - -// @param url {String} URL to Meteor app, eg: -// "/" or "madewith.meteor.com" or "https://foo.meteor.com" -// or "ddp+sockjs://ddp--****-foo.meteor.com/sockjs" -// @returns {String} URL to the endpoint with the specific scheme and subPath, e.g. -// for scheme "http" and subPath "sockjs" -// "http://subdomain.meteor.com/sockjs" or "/sockjs" -// or "https://ddp--1234-foo.meteor.com/sockjs" -var translateUrl = function(url, newSchemeBase, subPath) { - if (! newSchemeBase) { - newSchemeBase = "http"; - } - - var ddpUrlMatch = url.match(/^ddp(i?)\+sockjs:\/\//); - var httpUrlMatch = url.match(/^http(s?):\/\//); - var newScheme; - if (ddpUrlMatch) { - // Remove scheme and split off the host. - var urlAfterDDP = url.substr(ddpUrlMatch[0].length); - newScheme = ddpUrlMatch[1] === "i" ? newSchemeBase : newSchemeBase + "s"; - var slashPos = urlAfterDDP.indexOf('/'); - var host = - slashPos === -1 ? urlAfterDDP : urlAfterDDP.substr(0, slashPos); - var rest = slashPos === -1 ? '' : urlAfterDDP.substr(slashPos); - - // In the host (ONLY!), change '*' characters into random digits. This - // allows different stream connections to connect to different hostnames - // and avoid browser per-hostname connection limits. - host = host.replace(/\*/g, function () { - return Math.floor(Random.fraction()*10); - }); - - return newScheme + '://' + host + rest; - } else if (httpUrlMatch) { - newScheme = !httpUrlMatch[1] ? newSchemeBase : newSchemeBase + "s"; - var urlAfterHttp = url.substr(httpUrlMatch[0].length); - url = newScheme + "://" + urlAfterHttp; - } - - // Prefix FQDNs but not relative URLs - if (url.indexOf("://") === -1 && !startsWith(url, "/")) { - url = newSchemeBase + "://" + url; - } - - // XXX This is not what we should be doing: if I have a site - // deployed at "/foo", then DDP.connect("/") should actually connect - // to "/", not to "/foo". "/" is an absolute path. (Contrast: if - // deployed at "/foo", it would be reasonable for DDP.connect("bar") - // to connect to "/foo/bar"). - // - // We should make this properly honor absolute paths rather than - // forcing the path to be relative to the site root. Simultaneously, - // we should set DDP_DEFAULT_CONNECTION_URL to include the site - // root. See also client_convenience.js #RationalizingRelativeDDPURLs - url = Meteor._relativeToSiteRootUrl(url); - - if (endsWith(url, "/")) - return url + subPath; - else - return url + "/" + subPath; -}; - -toSockjsUrl = function (url) { - return translateUrl(url, "http", "sockjs"); -}; - -toWebsocketUrl = function (url) { - var ret = translateUrl(url, "ws", "websocket"); - return ret; -}; - -LivedataTest.toSockjsUrl = toSockjsUrl; - - _.extend(LivedataTest.ClientStream.prototype, { - // Register for callbacks. on: function (name, callback) { var self = this; diff --git a/packages/ddp-client/stream_client_nodejs.js b/packages/ddp-client/stream_client_nodejs.js index 35d212c463..c84aa339a8 100644 --- a/packages/ddp-client/stream_client_nodejs.js +++ b/packages/ddp-client/stream_client_nodejs.js @@ -1,4 +1,7 @@ -import { DDP, LivedataTest } from "./namespace.js"; +import { DDP, LivedataTest } from "./namespace"; +import { _ } from 'meteor/underscore'; +import { toWebsocketUrl } from './urlHelpers'; +import { Meteor } from 'meteor/meteor'; // @param endpoint {String} URL to Meteor app // "http://subdomain.meteor.com/" or "/" or diff --git a/packages/ddp-client/stream_client_sockjs.js b/packages/ddp-client/stream_client_sockjs.js index 3170654547..b5cb03ba0a 100644 --- a/packages/ddp-client/stream_client_sockjs.js +++ b/packages/ddp-client/stream_client_sockjs.js @@ -1,4 +1,7 @@ import { DDP, LivedataTest } from "./namespace.js"; +import { _ } from 'meteor/underscore'; +import { Meteor } from 'meteor/meteor'; +import { toSockjsUrl } from './urlHelpers'; // @param url {String} URL to Meteor app // "http://subdomain.meteor.com/" or "/" or diff --git a/packages/ddp-client/urlHelpers.js b/packages/ddp-client/urlHelpers.js new file mode 100644 index 0000000000..7186c3d2e3 --- /dev/null +++ b/packages/ddp-client/urlHelpers.js @@ -0,0 +1,84 @@ +import { LivedataTest } from './namespace'; +import { Random } from 'meteor/random'; + +// XXX from Underscore.String (http://epeli.github.com/underscore.string/) +var startsWith = function(str, starts) { + return str.length >= starts.length && + str.substring(0, starts.length) === starts; +}; +var endsWith = function(str, ends) { + return str.length >= ends.length && + str.substring(str.length - ends.length) === ends; +}; + +// @param url {String} URL to Meteor app, eg: +// "/" or "madewith.meteor.com" or "https://foo.meteor.com" +// or "ddp+sockjs://ddp--****-foo.meteor.com/sockjs" +// @returns {String} URL to the endpoint with the specific scheme and subPath, e.g. +// for scheme "http" and subPath "sockjs" +// "http://subdomain.meteor.com/sockjs" or "/sockjs" +// or "https://ddp--1234-foo.meteor.com/sockjs" +var translateUrl = function(url, newSchemeBase, subPath) { + if (! newSchemeBase) { + newSchemeBase = "http"; + } + + var ddpUrlMatch = url.match(/^ddp(i?)\+sockjs:\/\//); + var httpUrlMatch = url.match(/^http(s?):\/\//); + var newScheme; + if (ddpUrlMatch) { + // Remove scheme and split off the host. + var urlAfterDDP = url.substr(ddpUrlMatch[0].length); + newScheme = ddpUrlMatch[1] === "i" ? newSchemeBase : newSchemeBase + "s"; + var slashPos = urlAfterDDP.indexOf('/'); + var host = + slashPos === -1 ? urlAfterDDP : urlAfterDDP.substr(0, slashPos); + var rest = slashPos === -1 ? '' : urlAfterDDP.substr(slashPos); + + // In the host (ONLY!), change '*' characters into random digits. This + // allows different stream connections to connect to different hostnames + // and avoid browser per-hostname connection limits. + host = host.replace(/\*/g, function () { + return Math.floor(Random.fraction()*10); + }); + + return newScheme + '://' + host + rest; + } else if (httpUrlMatch) { + newScheme = !httpUrlMatch[1] ? newSchemeBase : newSchemeBase + "s"; + var urlAfterHttp = url.substr(httpUrlMatch[0].length); + url = newScheme + "://" + urlAfterHttp; + } + + // Prefix FQDNs but not relative URLs + if (url.indexOf("://") === -1 && !startsWith(url, "/")) { + url = newSchemeBase + "://" + url; + } + + // XXX This is not what we should be doing: if I have a site + // deployed at "/foo", then DDP.connect("/") should actually connect + // to "/", not to "/foo". "/" is an absolute path. (Contrast: if + // deployed at "/foo", it would be reasonable for DDP.connect("bar") + // to connect to "/foo/bar"). + // + // We should make this properly honor absolute paths rather than + // forcing the path to be relative to the site root. Simultaneously, + // we should set DDP_DEFAULT_CONNECTION_URL to include the site + // root. See also client_convenience.js #RationalizingRelativeDDPURLs + url = Meteor._relativeToSiteRootUrl(url); + + if (endsWith(url, "/")) + return url + subPath; + else + return url + "/" + subPath; +}; + +export function toSockjsUrl(url) { + return translateUrl(url, "http", "sockjs"); +}; + +export function toWebsocketUrl(url) { + var ret = translateUrl(url, "ws", "websocket"); + return ret; +}; + +LivedataTest.toSockjsUrl = toSockjsUrl; From 266626f89710c80c2c10dac3d717bb26a76d2736 Mon Sep 17 00:00:00 2001 From: Sashko Stubailo Date: Wed, 8 Nov 2017 08:14:58 -0800 Subject: [PATCH 0069/1355] Add missing import --- packages/ddp-client/livedata_connection.js | 1 + 1 file changed, 1 insertion(+) diff --git a/packages/ddp-client/livedata_connection.js b/packages/ddp-client/livedata_connection.js index dd1a26d381..8874bd3523 100644 --- a/packages/ddp-client/livedata_connection.js +++ b/packages/ddp-client/livedata_connection.js @@ -6,6 +6,7 @@ import { DDPCommon } from 'meteor/ddp-common'; import { Tracker } from 'meteor/tracker'; import { EJSON } from 'meteor/ejson'; import { Random } from 'meteor/random'; +import { Hook } from 'meteor/callback-hook'; if (Meteor.isServer) { var Fiber = Npm.require('fibers'); From 36d8926b99114ff46240ccb75eab262074ddb19a Mon Sep 17 00:00:00 2001 From: Sashko Stubailo Date: Wed, 8 Nov 2017 08:30:16 -0800 Subject: [PATCH 0070/1355] Remove livedata_common entirely --- packages/ddp-client/client.js | 2 -- packages/ddp-client/livedata_common.js | 14 -------------- packages/ddp-client/namespace.js | 14 ++++++++++++++ packages/ddp-client/server.js | 2 -- 4 files changed, 14 insertions(+), 18 deletions(-) delete mode 100644 packages/ddp-client/livedata_common.js diff --git a/packages/ddp-client/client.js b/packages/ddp-client/client.js index d6dd158f49..b49b37e8c6 100644 --- a/packages/ddp-client/client.js +++ b/packages/ddp-client/client.js @@ -1,7 +1,5 @@ import { DDP, LivedataTest } from './namespace'; -import './livedata_common'; - import './sockjs-0.3.4'; import './stream_client_sockjs'; import './stream_client_common'; diff --git a/packages/ddp-client/livedata_common.js b/packages/ddp-client/livedata_common.js deleted file mode 100644 index 8bd521e080..0000000000 --- a/packages/ddp-client/livedata_common.js +++ /dev/null @@ -1,14 +0,0 @@ -import { DDP, LivedataTest } from "./namespace.js"; -import { DDPCommon } from 'meteor/ddp-common'; -import { Meteor } from 'meteor/meteor'; - -LivedataTest.SUPPORTED_DDP_VERSIONS = DDPCommon.SUPPORTED_DDP_VERSIONS; - -// This is private but it's used in a few places. accounts-base uses -// it to get the current user. Meteor.setTimeout and friends clear -// it. We can probably find a better way to factor this. -DDP._CurrentMethodInvocation = new Meteor.EnvironmentVariable; -DDP._CurrentPublicationInvocation = new Meteor.EnvironmentVariable; - -// XXX: Keep DDP._CurrentInvocation for backwards-compatibility. -DDP._CurrentInvocation = DDP._CurrentMethodInvocation; diff --git a/packages/ddp-client/namespace.js b/packages/ddp-client/namespace.js index 67d0bdb26e..bb23ac3f53 100644 --- a/packages/ddp-client/namespace.js +++ b/packages/ddp-client/namespace.js @@ -1,6 +1,20 @@ +import { DDPCommon } from 'meteor/ddp-common'; +import { Meteor } from 'meteor/meteor'; + /** * @namespace DDP * @summary Namespace for DDP-related methods/classes. */ export const DDP = {}; export const LivedataTest = {}; + +LivedataTest.SUPPORTED_DDP_VERSIONS = DDPCommon.SUPPORTED_DDP_VERSIONS; + +// This is private but it's used in a few places. accounts-base uses +// it to get the current user. Meteor.setTimeout and friends clear +// it. We can probably find a better way to factor this. +DDP._CurrentMethodInvocation = new Meteor.EnvironmentVariable; +DDP._CurrentPublicationInvocation = new Meteor.EnvironmentVariable; + +// XXX: Keep DDP._CurrentInvocation for backwards-compatibility. +DDP._CurrentInvocation = DDP._CurrentMethodInvocation; diff --git a/packages/ddp-client/server.js b/packages/ddp-client/server.js index 82e8bd3a9d..94689ed03e 100644 --- a/packages/ddp-client/server.js +++ b/packages/ddp-client/server.js @@ -1,7 +1,5 @@ import { DDP, LivedataTest } from './namespace'; -import './livedata_common'; - import './stream_client_nodejs'; import './stream_client_common'; From becfd8939b92c02460a34a9fa0dc81f798c83b4e Mon Sep 17 00:00:00 2001 From: Sashko Stubailo Date: Wed, 8 Nov 2017 08:37:15 -0800 Subject: [PATCH 0071/1355] Refactor stream_client_common to work more like a mixin --- packages/ddp-client/client.js | 2 - packages/ddp-client/namespace.js | 9 + packages/ddp-client/server.js | 1 - packages/ddp-client/stream_client_common.js | 291 ++++++++++---------- packages/ddp-client/stream_client_nodejs.js | 4 + packages/ddp-client/stream_client_sockjs.js | 7 + 6 files changed, 162 insertions(+), 152 deletions(-) diff --git a/packages/ddp-client/client.js b/packages/ddp-client/client.js index b49b37e8c6..c31996f016 100644 --- a/packages/ddp-client/client.js +++ b/packages/ddp-client/client.js @@ -1,8 +1,6 @@ import { DDP, LivedataTest } from './namespace'; -import './sockjs-0.3.4'; import './stream_client_sockjs'; -import './stream_client_common'; import './random_stream'; import './livedata_connection'; diff --git a/packages/ddp-client/namespace.js b/packages/ddp-client/namespace.js index bb23ac3f53..e641289de0 100644 --- a/packages/ddp-client/namespace.js +++ b/packages/ddp-client/namespace.js @@ -18,3 +18,12 @@ DDP._CurrentPublicationInvocation = new Meteor.EnvironmentVariable; // XXX: Keep DDP._CurrentInvocation for backwards-compatibility. DDP._CurrentInvocation = DDP._CurrentMethodInvocation; + +DDP.ConnectionError = Meteor.makeErrorType( + "DDP.ConnectionError", function (message) { + var self = this; + self.message = message; +}); + +DDP.ForcedReconnectError = Meteor.makeErrorType( + "DDP.ForcedReconnectError", function () {}); diff --git a/packages/ddp-client/server.js b/packages/ddp-client/server.js index 94689ed03e..272f239526 100644 --- a/packages/ddp-client/server.js +++ b/packages/ddp-client/server.js @@ -1,7 +1,6 @@ import { DDP, LivedataTest } from './namespace'; import './stream_client_nodejs'; -import './stream_client_common'; import './random_stream'; import './livedata_connection'; diff --git a/packages/ddp-client/stream_client_common.js b/packages/ddp-client/stream_client_common.js index 0991f78038..c9a0416bab 100644 --- a/packages/ddp-client/stream_client_common.js +++ b/packages/ddp-client/stream_client_common.js @@ -5,185 +5,178 @@ import { _ } from 'meteor/underscore'; import { Tracker } from 'meteor/tracker'; import { Retry } from 'meteor/retry'; -_.extend(LivedataTest.ClientStream.prototype, { - // Register for callbacks. - on: function (name, callback) { - var self = this; +export function addCommonMethodsToPrototype(proto) { + _.extend(proto, { + // Register for callbacks. + on: function (name, callback) { + var self = this; - if (name !== 'message' && name !== 'reset' && name !== 'disconnect') - throw new Error("unknown event type: " + name); + if (name !== 'message' && name !== 'reset' && name !== 'disconnect') + throw new Error("unknown event type: " + name); - if (!self.eventCallbacks[name]) - self.eventCallbacks[name] = []; - self.eventCallbacks[name].push(callback); - }, + if (!self.eventCallbacks[name]) + self.eventCallbacks[name] = []; + self.eventCallbacks[name].push(callback); + }, - _initCommon: function (options) { - var self = this; - options = options || {}; + _initCommon: function (options) { + var self = this; + options = options || {}; - //// Constants + //// Constants - // how long to wait until we declare the connection attempt - // failed. - self.CONNECT_TIMEOUT = options.connectTimeoutMs || 10000; + // how long to wait until we declare the connection attempt + // failed. + self.CONNECT_TIMEOUT = options.connectTimeoutMs || 10000; - self.eventCallbacks = {}; // name -> [callback] + self.eventCallbacks = {}; // name -> [callback] - self._forcedToDisconnect = false; + self._forcedToDisconnect = false; - //// Reactive status - self.currentStatus = { - status: "connecting", - connected: false, - retryCount: 0 - }; + //// Reactive status + self.currentStatus = { + status: "connecting", + connected: false, + retryCount: 0 + }; - self.statusListeners = typeof Tracker !== 'undefined' && new Tracker.Dependency; - self.statusChanged = function () { - if (self.statusListeners) - self.statusListeners.changed(); - }; + self.statusListeners = typeof Tracker !== 'undefined' && new Tracker.Dependency; + self.statusChanged = function () { + if (self.statusListeners) + self.statusListeners.changed(); + }; - //// Retry logic - self._retry = new Retry; - self.connectionTimer = null; + //// Retry logic + self._retry = new Retry; + self.connectionTimer = null; - }, + }, - // Trigger a reconnect. - reconnect: function (options) { - var self = this; - options = options || {}; + // Trigger a reconnect. + reconnect: function (options) { + var self = this; + options = options || {}; - if (options.url) { - self._changeUrl(options.url); - } + if (options.url) { + self._changeUrl(options.url); + } - if (options._sockjsOptions) { - self.options._sockjsOptions = options._sockjsOptions; - } + if (options._sockjsOptions) { + self.options._sockjsOptions = options._sockjsOptions; + } - if (self.currentStatus.connected) { - if (options._force || options.url) { - // force reconnect. - self._lostConnection(new DDP.ForcedReconnectError); - } // else, noop. - return; - } + if (self.currentStatus.connected) { + if (options._force || options.url) { + // force reconnect. + self._lostConnection(new DDP.ForcedReconnectError); + } // else, noop. + return; + } - // if we're mid-connection, stop it. - if (self.currentStatus.status === "connecting") { - // Pretend it's a clean close. - self._lostConnection(); - } + // if we're mid-connection, stop it. + if (self.currentStatus.status === "connecting") { + // Pretend it's a clean close. + self._lostConnection(); + } - self._retry.clear(); - self.currentStatus.retryCount -= 1; // don't count manual retries - self._retryNow(); - }, + self._retry.clear(); + self.currentStatus.retryCount -= 1; // don't count manual retries + self._retryNow(); + }, - disconnect: function (options) { - var self = this; - options = options || {}; + disconnect: function (options) { + var self = this; + options = options || {}; - // Failed is permanent. If we're failed, don't let people go back - // online by calling 'disconnect' then 'reconnect'. - if (self._forcedToDisconnect) - return; + // Failed is permanent. If we're failed, don't let people go back + // online by calling 'disconnect' then 'reconnect'. + if (self._forcedToDisconnect) + return; - // If _permanent is set, permanently disconnect a stream. Once a stream - // is forced to disconnect, it can never reconnect. This is for - // error cases such as ddp version mismatch, where trying again - // won't fix the problem. - if (options._permanent) { - self._forcedToDisconnect = true; - } + // If _permanent is set, permanently disconnect a stream. Once a stream + // is forced to disconnect, it can never reconnect. This is for + // error cases such as ddp version mismatch, where trying again + // won't fix the problem. + if (options._permanent) { + self._forcedToDisconnect = true; + } - self._cleanup(); - self._retry.clear(); + self._cleanup(); + self._retry.clear(); - self.currentStatus = { - status: (options._permanent ? "failed" : "offline"), - connected: false, - retryCount: 0 - }; + self.currentStatus = { + status: (options._permanent ? "failed" : "offline"), + connected: false, + retryCount: 0 + }; - if (options._permanent && options._error) - self.currentStatus.reason = options._error; + if (options._permanent && options._error) + self.currentStatus.reason = options._error; - self.statusChanged(); - }, + self.statusChanged(); + }, - // maybeError is set unless it's a clean protocol-level close. - _lostConnection: function (maybeError) { - var self = this; + // maybeError is set unless it's a clean protocol-level close. + _lostConnection: function (maybeError) { + var self = this; - self._cleanup(maybeError); - self._retryLater(maybeError); // sets status. no need to do it here. - }, + self._cleanup(maybeError); + self._retryLater(maybeError); // sets status. no need to do it here. + }, - // fired when we detect that we've gone online. try to reconnect - // immediately. - _online: function () { - // if we've requested to be offline by disconnecting, don't reconnect. - if (this.currentStatus.status != "offline") - this.reconnect(); - }, + // fired when we detect that we've gone online. try to reconnect + // immediately. + _online: function () { + // if we've requested to be offline by disconnecting, don't reconnect. + if (this.currentStatus.status != "offline") + this.reconnect(); + }, - _retryLater: function (maybeError) { - var self = this; + _retryLater: function (maybeError) { + var self = this; - var timeout = 0; - if (self.options.retry || - (maybeError && maybeError.errorType === "DDP.ForcedReconnectError")) { - timeout = self._retry.retryLater( - self.currentStatus.retryCount, - _.bind(self._retryNow, self) - ); - self.currentStatus.status = "waiting"; - self.currentStatus.retryTime = (new Date()).getTime() + timeout; - } else { - self.currentStatus.status = "failed"; + var timeout = 0; + if (self.options.retry || + (maybeError && maybeError.errorType === "DDP.ForcedReconnectError")) { + timeout = self._retry.retryLater( + self.currentStatus.retryCount, + _.bind(self._retryNow, self) + ); + self.currentStatus.status = "waiting"; + self.currentStatus.retryTime = (new Date()).getTime() + timeout; + } else { + self.currentStatus.status = "failed"; + delete self.currentStatus.retryTime; + } + + self.currentStatus.connected = false; + self.statusChanged(); + }, + + _retryNow: function () { + var self = this; + + if (self._forcedToDisconnect) + return; + + self.currentStatus.retryCount += 1; + self.currentStatus.status = "connecting"; + self.currentStatus.connected = false; delete self.currentStatus.retryTime; + self.statusChanged(); + + self._launchConnection(); + }, + + + // Get current status. Reactive. + status: function () { + var self = this; + if (self.statusListeners) + self.statusListeners.depend(); + return self.currentStatus; } - - self.currentStatus.connected = false; - self.statusChanged(); - }, - - _retryNow: function () { - var self = this; - - if (self._forcedToDisconnect) - return; - - self.currentStatus.retryCount += 1; - self.currentStatus.status = "connecting"; - self.currentStatus.connected = false; - delete self.currentStatus.retryTime; - self.statusChanged(); - - self._launchConnection(); - }, - - - // Get current status. Reactive. - status: function () { - var self = this; - if (self.statusListeners) - self.statusListeners.depend(); - return self.currentStatus; - } -}); - -DDP.ConnectionError = Meteor.makeErrorType( - "DDP.ConnectionError", function (message) { - var self = this; - self.message = message; -}); - -DDP.ForcedReconnectError = Meteor.makeErrorType( - "DDP.ForcedReconnectError", function () {}); + }); +} diff --git a/packages/ddp-client/stream_client_nodejs.js b/packages/ddp-client/stream_client_nodejs.js index c84aa339a8..cc9220a63c 100644 --- a/packages/ddp-client/stream_client_nodejs.js +++ b/packages/ddp-client/stream_client_nodejs.js @@ -3,6 +3,8 @@ import { _ } from 'meteor/underscore'; import { toWebsocketUrl } from './urlHelpers'; import { Meteor } from 'meteor/meteor'; +import { addCommonMethodsToPrototype } from './stream_client_common'; + // @param endpoint {String} URL to Meteor app // "http://subdomain.meteor.com/" or "/" or // "ddp+sockjs://foo-**.meteor.com/sockjs" @@ -205,3 +207,5 @@ LivedataTest.ClientStream = class ClientStream { }); } }; + +addCommonMethodsToPrototype(LivedataTest.ClientStream.prototype); diff --git a/packages/ddp-client/stream_client_sockjs.js b/packages/ddp-client/stream_client_sockjs.js index b5cb03ba0a..036f5381fd 100644 --- a/packages/ddp-client/stream_client_sockjs.js +++ b/packages/ddp-client/stream_client_sockjs.js @@ -3,6 +3,11 @@ import { _ } from 'meteor/underscore'; import { Meteor } from 'meteor/meteor'; import { toSockjsUrl } from './urlHelpers'; +// This populates a global variable +import './sockjs-0.3.4'; + +import { addCommonMethodsToPrototype } from './stream_client_common'; + // @param url {String} URL to Meteor app // "http://subdomain.meteor.com/" or "/" or // "ddp+sockjs://foo-**.meteor.com/sockjs" @@ -197,3 +202,5 @@ _.extend(LivedataTest.ClientStream.prototype, { }, self.CONNECT_TIMEOUT); } }); + +addCommonMethodsToPrototype(LivedataTest.ClientStream.prototype); From 2f099b476edc64a283575359739ab518146a2305 Mon Sep 17 00:00:00 2001 From: Sashko Stubailo Date: Wed, 8 Nov 2017 08:39:52 -0800 Subject: [PATCH 0072/1355] Get rid of random_stream --- packages/ddp-client/client.js | 1 - packages/ddp-client/namespace.js | 8 ++++++++ packages/ddp-client/random_stream.js | 12 ------------ packages/ddp-client/server.js | 1 - 4 files changed, 8 insertions(+), 14 deletions(-) delete mode 100644 packages/ddp-client/random_stream.js diff --git a/packages/ddp-client/client.js b/packages/ddp-client/client.js index c31996f016..e08adfcd11 100644 --- a/packages/ddp-client/client.js +++ b/packages/ddp-client/client.js @@ -2,7 +2,6 @@ import { DDP, LivedataTest } from './namespace'; import './stream_client_sockjs'; -import './random_stream'; import './livedata_connection'; import './client_convenience'; diff --git a/packages/ddp-client/namespace.js b/packages/ddp-client/namespace.js index e641289de0..915b9467a5 100644 --- a/packages/ddp-client/namespace.js +++ b/packages/ddp-client/namespace.js @@ -27,3 +27,11 @@ DDP.ConnectionError = Meteor.makeErrorType( DDP.ForcedReconnectError = Meteor.makeErrorType( "DDP.ForcedReconnectError", function () {}); + + // Returns the named sequence of pseudo-random values. +// The scope will be DDP._CurrentMethodInvocation.get(), so the stream will produce +// consistent values for method calls on the client and server. +DDP.randomStream = function (name) { + var scope = DDP._CurrentMethodInvocation.get(); + return DDPCommon.RandomStream.get(scope, name); +}; diff --git a/packages/ddp-client/random_stream.js b/packages/ddp-client/random_stream.js deleted file mode 100644 index 515b8e8019..0000000000 --- a/packages/ddp-client/random_stream.js +++ /dev/null @@ -1,12 +0,0 @@ -import { DDP } from "./namespace.js"; -import { DDPCommon } from 'meteor/ddp-common'; - -// Returns the named sequence of pseudo-random values. -// The scope will be DDP._CurrentMethodInvocation.get(), so the stream will produce -// consistent values for method calls on the client and server. -DDP.randomStream = function (name) { - var scope = DDP._CurrentMethodInvocation.get(); - return DDPCommon.RandomStream.get(scope, name); -}; - - diff --git a/packages/ddp-client/server.js b/packages/ddp-client/server.js index 272f239526..eac4c408e0 100644 --- a/packages/ddp-client/server.js +++ b/packages/ddp-client/server.js @@ -2,7 +2,6 @@ import { DDP, LivedataTest } from './namespace'; import './stream_client_nodejs'; -import './random_stream'; import './livedata_connection'; export { DDP, LivedataTest }; From 5bc54cabcedeb2a2b10c1eb48149e90221edf25f Mon Sep 17 00:00:00 2001 From: Sashko Stubailo Date: Wed, 8 Nov 2017 08:49:14 -0800 Subject: [PATCH 0073/1355] Organize files into directories: client, common, server, test --- packages/ddp-client/{ => client}/client.js | 5 ++--- .../{ => client}/client_convenience.js | 2 +- .../ddp-client/{ => client}/sockjs-0.3.4.js | 0 .../{ => client}/stream_client_sockjs.js | 6 +++--- packages/ddp-client/{ => common}/id_map.js | 0 .../{ => common}/livedata_connection.js | 5 +++-- packages/ddp-client/{ => common}/namespace.js | 0 .../{ => common}/stream_client_common.js | 3 ++- packages/ddp-client/{ => common}/urlHelpers.js | 0 packages/ddp-client/package.js | 18 +++++++++--------- packages/ddp-client/server.js | 7 ------- packages/ddp-client/server/server.js | 7 +++++++ .../{ => server}/stream_client_nodejs.js | 6 +++--- .../{ => test}/livedata_connection_tests.js | 2 +- .../{ => test}/livedata_test_service.js | 0 .../ddp-client/{ => test}/livedata_tests.js | 2 +- .../{ => test}/random_stream_tests.js | 0 .../{ => test}/stream_client_tests.js | 2 +- packages/ddp-client/{ => test}/stream_tests.js | 2 +- packages/ddp-client/{ => test}/stub_stream.js | 0 20 files changed, 34 insertions(+), 33 deletions(-) rename packages/ddp-client/{ => client}/client.js (50%) rename packages/ddp-client/{ => client}/client_convenience.js (98%) rename packages/ddp-client/{ => client}/sockjs-0.3.4.js (100%) rename packages/ddp-client/{ => client}/stream_client_sockjs.js (97%) rename packages/ddp-client/{ => common}/id_map.js (100%) rename packages/ddp-client/{ => common}/livedata_connection.js (99%) rename packages/ddp-client/{ => common}/namespace.js (100%) rename packages/ddp-client/{ => common}/stream_client_common.js (99%) rename packages/ddp-client/{ => common}/urlHelpers.js (100%) delete mode 100644 packages/ddp-client/server.js create mode 100644 packages/ddp-client/server/server.js rename packages/ddp-client/{ => server}/stream_client_nodejs.js (97%) rename packages/ddp-client/{ => test}/livedata_connection_tests.js (99%) rename packages/ddp-client/{ => test}/livedata_test_service.js (100%) rename packages/ddp-client/{ => test}/livedata_tests.js (99%) rename packages/ddp-client/{ => test}/random_stream_tests.js (100%) rename packages/ddp-client/{ => test}/stream_client_tests.js (91%) rename packages/ddp-client/{ => test}/stream_tests.js (99%) rename packages/ddp-client/{ => test}/stub_stream.js (100%) diff --git a/packages/ddp-client/client.js b/packages/ddp-client/client/client.js similarity index 50% rename from packages/ddp-client/client.js rename to packages/ddp-client/client/client.js index e08adfcd11..d138503233 100644 --- a/packages/ddp-client/client.js +++ b/packages/ddp-client/client/client.js @@ -1,8 +1,7 @@ -import { DDP, LivedataTest } from './namespace'; - +import { DDP, LivedataTest } from '../common/namespace'; import './stream_client_sockjs'; -import './livedata_connection'; +import '../common/livedata_connection'; import './client_convenience'; diff --git a/packages/ddp-client/client_convenience.js b/packages/ddp-client/client/client_convenience.js similarity index 98% rename from packages/ddp-client/client_convenience.js rename to packages/ddp-client/client/client_convenience.js index ece26a963f..62823bddbe 100644 --- a/packages/ddp-client/client_convenience.js +++ b/packages/ddp-client/client/client_convenience.js @@ -1,4 +1,4 @@ -import { DDP } from "./namespace.js"; +import { DDP } from "../common/namespace.js"; // Meteor.refresh can be called on the client (if you're in common code) but it // only has an effect on the server. diff --git a/packages/ddp-client/sockjs-0.3.4.js b/packages/ddp-client/client/sockjs-0.3.4.js similarity index 100% rename from packages/ddp-client/sockjs-0.3.4.js rename to packages/ddp-client/client/sockjs-0.3.4.js diff --git a/packages/ddp-client/stream_client_sockjs.js b/packages/ddp-client/client/stream_client_sockjs.js similarity index 97% rename from packages/ddp-client/stream_client_sockjs.js rename to packages/ddp-client/client/stream_client_sockjs.js index 036f5381fd..b2154a5d13 100644 --- a/packages/ddp-client/stream_client_sockjs.js +++ b/packages/ddp-client/client/stream_client_sockjs.js @@ -1,12 +1,12 @@ -import { DDP, LivedataTest } from "./namespace.js"; import { _ } from 'meteor/underscore'; import { Meteor } from 'meteor/meteor'; -import { toSockjsUrl } from './urlHelpers'; // This populates a global variable import './sockjs-0.3.4'; -import { addCommonMethodsToPrototype } from './stream_client_common'; +import { DDP, LivedataTest } from "../common/namespace.js"; +import { toSockjsUrl } from '../common/urlHelpers'; +import { addCommonMethodsToPrototype } from '../common/stream_client_common'; // @param url {String} URL to Meteor app // "http://subdomain.meteor.com/" or "/" or diff --git a/packages/ddp-client/id_map.js b/packages/ddp-client/common/id_map.js similarity index 100% rename from packages/ddp-client/id_map.js rename to packages/ddp-client/common/id_map.js diff --git a/packages/ddp-client/livedata_connection.js b/packages/ddp-client/common/livedata_connection.js similarity index 99% rename from packages/ddp-client/livedata_connection.js rename to packages/ddp-client/common/livedata_connection.js index 8874bd3523..e948ebe85c 100644 --- a/packages/ddp-client/livedata_connection.js +++ b/packages/ddp-client/common/livedata_connection.js @@ -1,5 +1,3 @@ -import { DDP, LivedataTest } from "./namespace.js"; -import { MongoIDMap } from "./id_map.js"; import { Meteor } from 'meteor/meteor'; import { _ } from 'meteor/underscore'; import { DDPCommon } from 'meteor/ddp-common'; @@ -13,6 +11,9 @@ if (Meteor.isServer) { var Future = Npm.require('fibers/future'); } +import { DDP, LivedataTest } from "./namespace.js"; +import { MongoIDMap } from "./id_map.js"; + // @param url {String|Object} URL to Meteor app, // or an object as a test hook (see code) // Options: diff --git a/packages/ddp-client/namespace.js b/packages/ddp-client/common/namespace.js similarity index 100% rename from packages/ddp-client/namespace.js rename to packages/ddp-client/common/namespace.js diff --git a/packages/ddp-client/stream_client_common.js b/packages/ddp-client/common/stream_client_common.js similarity index 99% rename from packages/ddp-client/stream_client_common.js rename to packages/ddp-client/common/stream_client_common.js index c9a0416bab..3c68bd9aa3 100644 --- a/packages/ddp-client/stream_client_common.js +++ b/packages/ddp-client/common/stream_client_common.js @@ -1,10 +1,11 @@ -import { DDP, LivedataTest } from "./namespace.js"; import { Random } from 'meteor/random'; import { Meteor } from 'meteor/meteor'; import { _ } from 'meteor/underscore'; import { Tracker } from 'meteor/tracker'; import { Retry } from 'meteor/retry'; +import { DDP, LivedataTest } from "./namespace.js"; + export function addCommonMethodsToPrototype(proto) { _.extend(proto, { // Register for callbacks. diff --git a/packages/ddp-client/urlHelpers.js b/packages/ddp-client/common/urlHelpers.js similarity index 100% rename from packages/ddp-client/urlHelpers.js rename to packages/ddp-client/common/urlHelpers.js diff --git a/packages/ddp-client/package.js b/packages/ddp-client/package.js index 8327a87bd3..8d03a5609e 100644 --- a/packages/ddp-client/package.js +++ b/packages/ddp-client/package.js @@ -29,8 +29,8 @@ Package.onUse(function (api) { // For backcompat where things use Package.ddp.DDP, etc api.export('DDP'); - api.mainModule("client.js", "client"); - api.mainModule("server.js", "server"); + api.mainModule("client/client.js", "client"); + api.mainModule("server/server.js", "server"); }); Package.onTest(function (api) { @@ -49,14 +49,14 @@ Package.onTest(function (api) { 'ejson' ]); - api.addFiles('stub_stream.js'); - api.addFiles('livedata_connection_tests.js', ['client', 'server']); - api.addFiles('livedata_tests.js', ['client', 'server']); - api.addFiles('livedata_test_service.js', ['client', 'server']); - api.addFiles('random_stream_tests.js', ['client', 'server']); + api.addFiles('test/stub_stream.js'); + api.addFiles('test/livedata_connection_tests.js', ['client', 'server']); + api.addFiles('test/livedata_tests.js', ['client', 'server']); + api.addFiles('test/livedata_test_service.js', ['client', 'server']); + api.addFiles('test/random_stream_tests.js', ['client', 'server']); api.use('http', 'client'); - api.addFiles(['stream_tests.js'], 'client'); - api.addFiles('stream_client_tests.js', 'server'); + api.addFiles('test/stream_tests.js', 'client'); + api.addFiles('test/stream_client_tests.js', 'server'); api.use('check', ['client', 'server']); }); diff --git a/packages/ddp-client/server.js b/packages/ddp-client/server.js deleted file mode 100644 index eac4c408e0..0000000000 --- a/packages/ddp-client/server.js +++ /dev/null @@ -1,7 +0,0 @@ -import { DDP, LivedataTest } from './namespace'; - -import './stream_client_nodejs'; - -import './livedata_connection'; - -export { DDP, LivedataTest }; diff --git a/packages/ddp-client/server/server.js b/packages/ddp-client/server/server.js new file mode 100644 index 0000000000..6239d2e55e --- /dev/null +++ b/packages/ddp-client/server/server.js @@ -0,0 +1,7 @@ +import { DDP, LivedataTest } from '../common/namespace'; + +import './stream_client_nodejs'; + +import '../common/livedata_connection'; + +export { DDP, LivedataTest }; diff --git a/packages/ddp-client/stream_client_nodejs.js b/packages/ddp-client/server/stream_client_nodejs.js similarity index 97% rename from packages/ddp-client/stream_client_nodejs.js rename to packages/ddp-client/server/stream_client_nodejs.js index cc9220a63c..999da1c8bb 100644 --- a/packages/ddp-client/stream_client_nodejs.js +++ b/packages/ddp-client/server/stream_client_nodejs.js @@ -1,9 +1,9 @@ -import { DDP, LivedataTest } from "./namespace"; import { _ } from 'meteor/underscore'; -import { toWebsocketUrl } from './urlHelpers'; import { Meteor } from 'meteor/meteor'; -import { addCommonMethodsToPrototype } from './stream_client_common'; +import { DDP, LivedataTest } from "../common/namespace"; +import { toWebsocketUrl } from '../common/urlHelpers'; +import { addCommonMethodsToPrototype } from '../common/stream_client_common'; // @param endpoint {String} URL to Meteor app // "http://subdomain.meteor.com/" or "/" or diff --git a/packages/ddp-client/livedata_connection_tests.js b/packages/ddp-client/test/livedata_connection_tests.js similarity index 99% rename from packages/ddp-client/livedata_connection_tests.js rename to packages/ddp-client/test/livedata_connection_tests.js index 4b7c71e45e..4f23650931 100644 --- a/packages/ddp-client/livedata_connection_tests.js +++ b/packages/ddp-client/test/livedata_connection_tests.js @@ -1,5 +1,5 @@ import lolex from 'lolex'; -import { DDP, LivedataTest } from "./namespace.js"; +import { DDP, LivedataTest } from "../common/namespace.js"; var newConnection = function (stream, options) { // Some of these tests leave outstanding methods with no result yet diff --git a/packages/ddp-client/livedata_test_service.js b/packages/ddp-client/test/livedata_test_service.js similarity index 100% rename from packages/ddp-client/livedata_test_service.js rename to packages/ddp-client/test/livedata_test_service.js diff --git a/packages/ddp-client/livedata_tests.js b/packages/ddp-client/test/livedata_tests.js similarity index 99% rename from packages/ddp-client/livedata_tests.js rename to packages/ddp-client/test/livedata_tests.js index a7befa817e..403bab7840 100644 --- a/packages/ddp-client/livedata_tests.js +++ b/packages/ddp-client/test/livedata_tests.js @@ -1,4 +1,4 @@ -import { DDP, LivedataTest } from "./namespace.js"; +import { DDP, LivedataTest } from "../common/namespace.js"; // XXX should check error codes var failure = function (test, code, reason) { diff --git a/packages/ddp-client/random_stream_tests.js b/packages/ddp-client/test/random_stream_tests.js similarity index 100% rename from packages/ddp-client/random_stream_tests.js rename to packages/ddp-client/test/random_stream_tests.js diff --git a/packages/ddp-client/stream_client_tests.js b/packages/ddp-client/test/stream_client_tests.js similarity index 91% rename from packages/ddp-client/stream_client_tests.js rename to packages/ddp-client/test/stream_client_tests.js index 24a184f1d3..e9a6545606 100644 --- a/packages/ddp-client/stream_client_tests.js +++ b/packages/ddp-client/test/stream_client_tests.js @@ -1,4 +1,4 @@ -import { LivedataTest } from "./namespace.js"; +import { LivedataTest } from "../common/namespace.js"; var Fiber = Npm.require('fibers'); diff --git a/packages/ddp-client/stream_tests.js b/packages/ddp-client/test/stream_tests.js similarity index 99% rename from packages/ddp-client/stream_tests.js rename to packages/ddp-client/test/stream_tests.js index 8afc63e85a..88c8f672a1 100644 --- a/packages/ddp-client/stream_tests.js +++ b/packages/ddp-client/test/stream_tests.js @@ -1,4 +1,4 @@ -import { LivedataTest } from "./namespace.js"; +import { LivedataTest } from "../common/namespace.js"; Tinytest.add("stream - status", function (test) { // Very basic test. Just see that it runs and returns something. Not a diff --git a/packages/ddp-client/stub_stream.js b/packages/ddp-client/test/stub_stream.js similarity index 100% rename from packages/ddp-client/stub_stream.js rename to packages/ddp-client/test/stub_stream.js From 0dcc4f18e14eeab60ab1f83b64c7e3bd1785f058 Mon Sep 17 00:00:00 2001 From: Sashko Stubailo Date: Thu, 9 Nov 2017 08:23:34 -0800 Subject: [PATCH 0074/1355] Use export from instead of import then export --- packages/ddp-client/client/client.js | 5 ++--- packages/ddp-client/server/server.js | 4 +--- 2 files changed, 3 insertions(+), 6 deletions(-) diff --git a/packages/ddp-client/client/client.js b/packages/ddp-client/client/client.js index d138503233..242154a50e 100644 --- a/packages/ddp-client/client/client.js +++ b/packages/ddp-client/client/client.js @@ -1,8 +1,7 @@ -import { DDP, LivedataTest } from '../common/namespace'; +export { DDP, LivedataTest } from '../common/namespace'; + import './stream_client_sockjs'; import '../common/livedata_connection'; import './client_convenience'; - -export { DDP, LivedataTest }; diff --git a/packages/ddp-client/server/server.js b/packages/ddp-client/server/server.js index 6239d2e55e..2f98545fab 100644 --- a/packages/ddp-client/server/server.js +++ b/packages/ddp-client/server/server.js @@ -1,7 +1,5 @@ -import { DDP, LivedataTest } from '../common/namespace'; +export { DDP, LivedataTest } from '../common/namespace'; import './stream_client_nodejs'; import '../common/livedata_connection'; - -export { DDP, LivedataTest }; From 0749a1890a619f787252fb62850a8ad354b87bfd Mon Sep 17 00:00:00 2001 From: Sashko Stubailo Date: Thu, 9 Nov 2017 12:10:19 -0800 Subject: [PATCH 0075/1355] Make ddp-client more aligned with code style (#9337) - single quotes - 80 char line width --- .../ddp-client/client/client_convenience.js | 44 +- .../ddp-client/client/stream_client_sockjs.js | 116 +- packages/ddp-client/common/id_map.js | 5 +- .../ddp-client/common/livedata_connection.js | 695 +++--- packages/ddp-client/common/namespace.js | 21 +- .../ddp-client/common/stream_client_common.js | 73 +- packages/ddp-client/common/urlHelpers.js | 48 +- packages/ddp-client/package.js | 32 +- .../ddp-client/server/stream_client_nodejs.js | 83 +- .../test/livedata_connection_tests.js | 2041 ++++++++++------- .../ddp-client/test/livedata_test_service.js | 221 +- packages/ddp-client/test/livedata_tests.js | 1238 ++++++---- .../ddp-client/test/random_stream_tests.js | 8 +- .../ddp-client/test/stream_client_tests.js | 34 +- packages/ddp-client/test/stream_tests.js | 191 +- packages/ddp-client/test/stub_stream.js | 29 +- 16 files changed, 2789 insertions(+), 2090 deletions(-) diff --git a/packages/ddp-client/client/client_convenience.js b/packages/ddp-client/client/client_convenience.js index 62823bddbe..3eef31533f 100644 --- a/packages/ddp-client/client/client_convenience.js +++ b/packages/ddp-client/client/client_convenience.js @@ -1,9 +1,8 @@ -import { DDP } from "../common/namespace.js"; +import { DDP } from '../common/namespace.js'; // Meteor.refresh can be called on the client (if you're in common code) but it // only has an effect on the server. -Meteor.refresh = function (notification) { -}; +Meteor.refresh = function(notification) {}; if (Meteor.isClient) { // By default, try to connect back to the same endpoint as the page @@ -22,40 +21,49 @@ if (Meteor.isClient) { // to be treated like relative paths. See also // stream_client_common.js #RationalizingRelativeDDPURLs var ddpUrl = '/'; - if (typeof __meteor_runtime_config__ !== "undefined") { + if (typeof __meteor_runtime_config__ !== 'undefined') { if (__meteor_runtime_config__.DDP_DEFAULT_CONNECTION_URL) ddpUrl = __meteor_runtime_config__.DDP_DEFAULT_CONNECTION_URL; } var retry = new Retry(); - var onDDPVersionNegotiationFailure = function (description) { + var onDDPVersionNegotiationFailure = function(description) { Meteor._debug(description); if (Package.reload) { - var migrationData = Package.reload.Reload._migrationData('livedata') || {}; + var migrationData = + Package.reload.Reload._migrationData('livedata') || {}; var failures = migrationData.DDPVersionNegotiationFailures || 0; ++failures; - Package.reload.Reload._onMigrate('livedata', function () { - return [true, {DDPVersionNegotiationFailures: failures}]; + Package.reload.Reload._onMigrate('livedata', function() { + return [true, { DDPVersionNegotiationFailures: failures }]; }); - retry.retryLater(failures, function () { + retry.retryLater(failures, function() { Package.reload.Reload._reload(); }); } }; - Meteor.connection = - DDP.connect(ddpUrl, { - onDDPVersionNegotiationFailure: onDDPVersionNegotiationFailure - }); + Meteor.connection = DDP.connect(ddpUrl, { + onDDPVersionNegotiationFailure: onDDPVersionNegotiationFailure + }); // Proxy the public methods of Meteor.connection so they can // be called directly on Meteor. - _.each(['subscribe', 'methods', 'call', 'apply', 'status', 'reconnect', - 'disconnect'], - function (name) { - Meteor[name] = _.bind(Meteor.connection[name], Meteor.connection); - }); + _.each( + [ + 'subscribe', + 'methods', + 'call', + 'apply', + 'status', + 'reconnect', + 'disconnect' + ], + function(name) { + Meteor[name] = _.bind(Meteor.connection[name], Meteor.connection); + } + ); } else { // Never set up a default connection on the server. Don't even map // subscribe/call/etc onto Meteor. diff --git a/packages/ddp-client/client/stream_client_sockjs.js b/packages/ddp-client/client/stream_client_sockjs.js index b2154a5d13..c5710d6bb8 100644 --- a/packages/ddp-client/client/stream_client_sockjs.js +++ b/packages/ddp-client/client/stream_client_sockjs.js @@ -4,23 +4,25 @@ import { Meteor } from 'meteor/meteor'; // This populates a global variable import './sockjs-0.3.4'; -import { DDP, LivedataTest } from "../common/namespace.js"; +import { DDP, LivedataTest } from '../common/namespace.js'; import { toSockjsUrl } from '../common/urlHelpers'; import { addCommonMethodsToPrototype } from '../common/stream_client_common'; // @param url {String} URL to Meteor app // "http://subdomain.meteor.com/" or "/" or // "ddp+sockjs://foo-**.meteor.com/sockjs" -LivedataTest.ClientStream = function (url, options) { +LivedataTest.ClientStream = function(url, options) { var self = this; - self.options = _.extend({ - retry: true - }, options); + self.options = _.extend( + { + retry: true + }, + options + ); self._initCommon(self.options); //// Constants - // how long between hearing heartbeat from the server until we declare // the connection dead. heartbeats come every 45s (stream_server.js) // @@ -30,7 +32,7 @@ LivedataTest.ClientStream = function (url, options) { // this timeout fires. This is kept around for compatibility (when // talking to a server that doesn't support DDP heartbeats) and can be // removed later. - self.HEARTBEAT_TIMEOUT = 100*1000; + self.HEARTBEAT_TIMEOUT = 100 * 1000; self.rawUrl = url; self.socket = null; @@ -40,19 +42,21 @@ LivedataTest.ClientStream = function (url, options) { // Listen to global 'online' event if we are running in a browser. // (IE8 does not support addEventListener) if (typeof window !== 'undefined' && window.addEventListener) - window.addEventListener("online", _.bind(self._online, self), - false /* useCapture. make FF3.6 happy. */); + window.addEventListener( + 'online', + _.bind(self._online, self), + false /* useCapture. make FF3.6 happy. */ + ); //// Kickoff! self._launchConnection(); }; _.extend(LivedataTest.ClientStream.prototype, { - // data is a utf8 string. Data sent while not connected is dropped on // the floor, and it is up the user of this API to retransmit lost // messages on 'reset' - send: function (data) { + send: function(data) { var self = this; if (self.currentStatus.connected) { self.socket.send(data); @@ -60,12 +64,12 @@ _.extend(LivedataTest.ClientStream.prototype, { }, // Changes where this connection points - _changeUrl: function (url) { + _changeUrl: function(url) { var self = this; self.rawUrl = url; }, - _connected: function () { + _connected: function() { var self = this; if (self.connectionTimer) { @@ -79,34 +83,35 @@ _.extend(LivedataTest.ClientStream.prototype, { } // update status - self.currentStatus.status = "connected"; + self.currentStatus.status = 'connected'; self.currentStatus.connected = true; self.currentStatus.retryCount = 0; self.statusChanged(); // fire resets. This must come after status change so that clients // can call send from within a reset callback. - _.each(self.eventCallbacks.reset, function (callback) { callback(); }); - + _.each(self.eventCallbacks.reset, function(callback) { + callback(); + }); }, - _cleanup: function (maybeError) { + _cleanup: function(maybeError) { var self = this; self._clearConnectionAndHeartbeatTimers(); if (self.socket) { - self.socket.onmessage = self.socket.onclose - = self.socket.onerror = self.socket.onheartbeat = function () {}; + self.socket.onmessage = self.socket.onclose = () => {}; + self.socket.onerror = self.socket.onheartbeat = () => {}; self.socket.close(); self.socket = null; } - _.each(self.eventCallbacks.disconnect, function (callback) { + _.each(self.eventCallbacks.disconnect, function(callback) { callback(maybeError); }); }, - _clearConnectionAndHeartbeatTimers: function () { + _clearConnectionAndHeartbeatTimers: function() { var self = this; if (self.connectionTimer) { clearTimeout(self.connectionTimer); @@ -118,30 +123,33 @@ _.extend(LivedataTest.ClientStream.prototype, { } }, - _heartbeat_timeout: function () { + _heartbeat_timeout: function() { var self = this; - Meteor._debug("Connection timeout. No sockjs heartbeat received."); - self._lostConnection(new DDP.ConnectionError("Heartbeat timed out")); + Meteor._debug('Connection timeout. No sockjs heartbeat received.'); + self._lostConnection(new DDP.ConnectionError('Heartbeat timed out')); }, - _heartbeat_received: function () { + _heartbeat_received: function() { var self = this; // If we've already permanently shut down this stream, the timeout is // already cleared, and we don't need to set it again. - if (self._forcedToDisconnect) - return; - if (self.heartbeatTimer) - clearTimeout(self.heartbeatTimer); + if (self._forcedToDisconnect) return; + if (self.heartbeatTimer) clearTimeout(self.heartbeatTimer); self.heartbeatTimer = setTimeout( _.bind(self._heartbeat_timeout, self), - self.HEARTBEAT_TIMEOUT); + self.HEARTBEAT_TIMEOUT + ); }, - _sockjsProtocolsWhitelist: function () { + _sockjsProtocolsWhitelist: function() { // only allow polling protocols. no streaming. streaming // makes safari spin. var protocolsWhitelist = [ - 'xdr-polling', 'xhr-polling', 'iframe-xhr-polling', 'jsonp-polling']; + 'xdr-polling', + 'xhr-polling', + 'iframe-xhr-polling', + 'jsonp-polling' + ]; // iOS 4 and 5 and below crash when using websockets over certain // proxies. this seems to be resolved with iOS 6. eg @@ -149,9 +157,10 @@ _.extend(LivedataTest.ClientStream.prototype, { // // iOS <4 doesn't support websockets at all so sockjs will just // immediately fall back to http - var noWebsockets = navigator && - /iPhone|iPad|iPod/.test(navigator.userAgent) && - /OS 4_|OS 5_/.test(navigator.userAgent); + var noWebsockets = + navigator && + /iPhone|iPad|iPod/.test(navigator.userAgent) && + /OS 4_|OS 5_/.test(navigator.userAgent); if (!noWebsockets) protocolsWhitelist = ['websocket'].concat(protocolsWhitelist); @@ -159,46 +168,51 @@ _.extend(LivedataTest.ClientStream.prototype, { return protocolsWhitelist; }, - _launchConnection: function () { + _launchConnection: function() { var self = this; self._cleanup(); // cleanup the old socket, if there was one. - var options = _.extend({ - protocols_whitelist:self._sockjsProtocolsWhitelist() - }, self.options._sockjsOptions); + var options = _.extend( + { + protocols_whitelist: self._sockjsProtocolsWhitelist() + }, + self.options._sockjsOptions + ); // Convert raw URL to SockJS URL each time we open a connection, so that we // can connect to random hostnames and get around browser per-host // connection limits. self.socket = new SockJS(toSockjsUrl(self.rawUrl), undefined, options); - self.socket.onopen = function (data) { + self.socket.onopen = function(data) { self._connected(); }; - self.socket.onmessage = function (data) { + self.socket.onmessage = function(data) { self._heartbeat_received(); if (self.currentStatus.connected) - _.each(self.eventCallbacks.message, function (callback) { + _.each(self.eventCallbacks.message, function(callback) { callback(data.data); }); }; - self.socket.onclose = function () { + self.socket.onclose = function() { self._lostConnection(); }; - self.socket.onerror = function () { + self.socket.onerror = function() { // XXX is this ever called? - Meteor._debug("stream error", _.toArray(arguments), (new Date()).toDateString()); + Meteor._debug( + 'stream error', + _.toArray(arguments), + new Date().toDateString() + ); }; - self.socket.onheartbeat = function () { + self.socket.onheartbeat = function() { self._heartbeat_received(); }; - if (self.connectionTimer) - clearTimeout(self.connectionTimer); - self.connectionTimer = setTimeout(function () { - self._lostConnection( - new DDP.ConnectionError("DDP connection timed out")); + if (self.connectionTimer) clearTimeout(self.connectionTimer); + self.connectionTimer = setTimeout(function() { + self._lostConnection(new DDP.ConnectionError('DDP connection timed out')); }, self.CONNECT_TIMEOUT); } }); diff --git a/packages/ddp-client/common/id_map.js b/packages/ddp-client/common/id_map.js index abefefc5e4..c2a648720f 100644 --- a/packages/ddp-client/common/id_map.js +++ b/packages/ddp-client/common/id_map.js @@ -1,8 +1,5 @@ export class MongoIDMap extends IdMap { constructor() { - super( - MongoID.idStringify, - MongoID.idParse, - ); + super(MongoID.idStringify, MongoID.idParse); } } diff --git a/packages/ddp-client/common/livedata_connection.js b/packages/ddp-client/common/livedata_connection.js index e948ebe85c..4bee5804d4 100644 --- a/packages/ddp-client/common/livedata_connection.js +++ b/packages/ddp-client/common/livedata_connection.js @@ -11,8 +11,8 @@ if (Meteor.isServer) { var Future = Npm.require('fibers/future'); } -import { DDP, LivedataTest } from "./namespace.js"; -import { MongoIDMap } from "./id_map.js"; +import { DDP, LivedataTest } from './namespace.js'; +import { MongoIDMap } from './id_map.js'; // @param url {String|Object} URL to Meteor app, // or an object as a test hook (see code) @@ -34,26 +34,29 @@ import { MongoIDMap } from "./id_map.js"; // fails. We should have better usability in the latter case (while // still transparently reconnecting if it's just a transient failure // or the server migrating us). -var Connection = function (url, options) { +var Connection = function(url, options) { var self = this; - options = _.extend({ - onConnected: function () {}, - onDDPVersionNegotiationFailure: function (description) { - Meteor._debug(description); + options = _.extend( + { + onConnected: function() {}, + onDDPVersionNegotiationFailure: function(description) { + Meteor._debug(description); + }, + heartbeatInterval: 17500, + heartbeatTimeout: 15000, + npmFayeOptions: {}, + // These options are only for testing. + reloadWithOutstanding: false, + supportedDDPVersions: DDPCommon.SUPPORTED_DDP_VERSIONS, + retry: true, + respondToPings: true, + // When updates are coming within this ms interval, batch them together. + bufferedWritesInterval: 5, + // Flush buffers immediately if writes are happening continuously for more than this many ms. + bufferedWritesMaxAge: 500 }, - heartbeatInterval: 17500, - heartbeatTimeout: 15000, - npmFayeOptions: {}, - // These options are only for testing. - reloadWithOutstanding: false, - supportedDDPVersions: DDPCommon.SUPPORTED_DDP_VERSIONS, - retry: true, - respondToPings: true, - // When updates are coming within this ms interval, batch them together. - bufferedWritesInterval: 5, - // Flush buffers immediately if writes are happening continuously for more than this many ms. - bufferedWritesMaxAge: 500 - }, options); + options + ); // If set, called when we reconnect, queuing method calls _before_ the // existing outstanding ones. @@ -63,7 +66,7 @@ var Connection = function (url, options) { self.onReconnect = null; // as a test hook, allow passing a stream instead of a url. - if (typeof url === "object") { + if (typeof url === 'object') { self._stream = url; } else { self._stream = new LivedataTest.ClientStream(url, { @@ -82,8 +85,8 @@ var Connection = function (url, options) { } self._lastSessionId = null; - self._versionSuggestion = null; // The last proposed DDP version. - self._version = null; // The DDP version agreed on by client and server. + self._versionSuggestion = null; // The last proposed DDP version. + self._version = null; // The DDP version agreed on by client and server. self._stores = {}; // name -> object with methods self._methodHandlers = {}; // name -> func self._nextMethodId = 1; @@ -191,7 +194,10 @@ var Connection = function (url, options) { self._retryMigrate = null; self.__flushBufferedWrites = Meteor.bindEnvironment( - self._flushBufferedWrites, "flushing DDP buffered writes", self); + self._flushBufferedWrites, + 'flushing DDP buffered writes', + self + ); // Collection name -> array of messages. self._bufferedWrites = {}; // When current buffer of updates must be flushed at, in ms timestamp. @@ -217,14 +223,13 @@ var Connection = function (url, options) { // Reactive userId. self._userId = null; - self._userIdDeps = new Tracker.Dependency; + self._userIdDeps = new Tracker.Dependency(); // Block auto-reload while we're waiting for method responses. if (Meteor.isClient && Package.reload && !options.reloadWithOutstanding) { - Package.reload.Reload._onMigrate(function (retry) { + Package.reload.Reload._onMigrate(function(retry) { if (!self._readyToMigrate()) { - if (self._retryMigrate) - throw new Error("Two migrations in progress?"); + if (self._retryMigrate) throw new Error('Two migrations in progress?'); self._retryMigrate = retry; return false; } else { @@ -233,11 +238,11 @@ var Connection = function (url, options) { }); } - var onMessage = function (raw_msg) { + var onMessage = function(raw_msg) { try { var msg = DDPCommon.parseDDP(raw_msg); } catch (e) { - Meteor._debug("Exception while parsing DDP", e); + Meteor._debug('Exception while parsing DDP', e); return; } @@ -251,8 +256,8 @@ var Connection = function (url, options) { // XXX COMPAT WITH 0.6.6. ignore the old welcome message for back // compat. Remove this 'if' once the server stops sending welcome // messages (stream_server.js). - if (! (msg && msg.server_id)) - Meteor._debug("discarding invalid livedata message", msg); + if (!(msg && msg.server_id)) + Meteor._debug('discarding invalid livedata message', msg); return; } @@ -260,43 +265,37 @@ var Connection = function (url, options) { self._version = self._versionSuggestion; self._livedata_connected(msg); options.onConnected(); - } - else if (msg.msg === 'failed') { + } else if (msg.msg === 'failed') { if (_.contains(self._supportedDDPVersions, msg.version)) { self._versionSuggestion = msg.version; - self._stream.reconnect({_force: true}); + self._stream.reconnect({ _force: true }); } else { var description = - "DDP version negotiation failed; server requested version " + msg.version; - self._stream.disconnect({_permanent: true, _error: description}); + 'DDP version negotiation failed; server requested version ' + + msg.version; + self._stream.disconnect({ _permanent: true, _error: description }); options.onDDPVersionNegotiationFailure(description); } - } - else if (msg.msg === 'ping' && options.respondToPings) { - self._send({msg: "pong", id: msg.id}); - } - else if (msg.msg === 'pong') { + } else if (msg.msg === 'ping' && options.respondToPings) { + self._send({ msg: 'pong', id: msg.id }); + } else if (msg.msg === 'pong') { // noop, as we assume everything's a pong - } - else if (_.include(['added', 'changed', 'removed', 'ready', 'updated'], msg.msg)) + } else if ( + _.include(['added', 'changed', 'removed', 'ready', 'updated'], msg.msg) + ) self._livedata_data(msg); - else if (msg.msg === 'nosub') - self._livedata_nosub(msg); - else if (msg.msg === 'result') - self._livedata_result(msg); - else if (msg.msg === 'error') - self._livedata_error(msg); - else - Meteor._debug("discarding unknown livedata message type", msg); + else if (msg.msg === 'nosub') self._livedata_nosub(msg); + else if (msg.msg === 'result') self._livedata_result(msg); + else if (msg.msg === 'error') self._livedata_error(msg); + else Meteor._debug('discarding unknown livedata message type', msg); }; - var onReset = function () { + var onReset = function() { // Send a connect message at the beginning of the stream. // NOTE: reset is called even on the first connection, so this is // the only place we send this message. - var msg = {msg: 'connect'}; - if (self._lastSessionId) - msg.session = self._lastSessionId; + var msg = { msg: 'connect' }; + if (self._lastSessionId) msg.session = self._lastSessionId; msg.version = self._versionSuggestion || self._supportedDDPVersions[0]; self._versionSuggestion = msg.version; msg.support = self._supportedDDPVersions; @@ -312,22 +311,27 @@ var Connection = function (url, options) { // If there is an outstanding method block, we only care about the first one as that is the // one that could have already sent messages with no response, that are not allowed to retry. const currentMethodBlock = self._outstandingMethodBlocks[0].methods; - self._outstandingMethodBlocks[0].methods = currentMethodBlock.filter((methodInvoker) => { + self._outstandingMethodBlocks[0].methods = currentMethodBlock.filter( + methodInvoker => { + // Methods with 'noRetry' option set are not allowed to re-send after + // recovering dropped connection. + if (methodInvoker.sentMessage && methodInvoker.noRetry) { + // Make sure that the method is told that it failed. + methodInvoker.receiveResult( + new Meteor.Error( + 'invocation-failed', + 'Method invocation might have failed due to dropped connection. ' + + 'Failing because `noRetry` option was passed to Meteor.apply.' + ) + ); + } - // Methods with 'noRetry' option set are not allowed to re-send after - // recovering dropped connection. - if (methodInvoker.sentMessage && methodInvoker.noRetry) { - // Make sure that the method is told that it failed. - methodInvoker.receiveResult(new Meteor.Error('invocation-failed', - 'Method invocation might have failed due to dropped connection. ' + - 'Failing because `noRetry` option was passed to Meteor.apply.')); + // Only keep a method if it wasn't sent or it's allowed to retry. + // This may leave the block empty, but we don't move on to the next + // block until the callback has been delivered, in _outstandingMethodFinished. + return !(methodInvoker.sentMessage && methodInvoker.noRetry); } - - // Only keep a method if it wasn't sent or it's allowed to retry. - // This may leave the block empty, but we don't move on to the next - // block until the callback has been delivered, in _outstandingMethodFinished. - return !(methodInvoker.sentMessage && methodInvoker.noRetry); - }); + ); } // Now, to minimize setup latency, go ahead and blast out all of @@ -341,14 +345,16 @@ var Connection = function (url, options) { // If the current block of methods all got their results (but didn't all get // their data visible), discard the empty block now. - if (! _.isEmpty(self._outstandingMethodBlocks) && - _.isEmpty(self._outstandingMethodBlocks[0].methods)) { + if ( + !_.isEmpty(self._outstandingMethodBlocks) && + _.isEmpty(self._outstandingMethodBlocks[0].methods) + ) { self._outstandingMethodBlocks.shift(); } // Mark all messages as unsent, they have not yet been sent on this // connection. - _.each(self._methodInvokers, function (m) { + _.each(self._methodInvokers, function(m) { m.sentMessage = false; }); @@ -361,7 +367,7 @@ var Connection = function (url, options) { // add new subscriptions at the end. this way they take effect after // the handlers and we don't see flicker. - _.each(self._subscriptions, function (sub, id) { + _.each(self._subscriptions, function(sub, id) { self._send({ msg: 'sub', id: id, @@ -371,7 +377,7 @@ var Connection = function (url, options) { }); }; - var onDisconnect = function () { + var onDisconnect = function() { if (self._heartbeat) { self._heartbeat.stop(); self._heartbeat = null; @@ -379,9 +385,18 @@ var Connection = function (url, options) { }; if (Meteor.isServer) { - self._stream.on('message', Meteor.bindEnvironment(onMessage, "handling DDP message")); - self._stream.on('reset', Meteor.bindEnvironment(onReset, "handling DDP reset")); - self._stream.on('disconnect', Meteor.bindEnvironment(onDisconnect, "handling DDP disconnect")); + self._stream.on( + 'message', + Meteor.bindEnvironment(onMessage, 'handling DDP message') + ); + self._stream.on( + 'reset', + Meteor.bindEnvironment(onReset, 'handling DDP reset') + ); + self._stream.on( + 'disconnect', + Meteor.bindEnvironment(onDisconnect, 'handling DDP disconnect') + ); } else { self._stream.on('message', onMessage); self._stream.on('reset', onReset); @@ -394,7 +409,7 @@ var Connection = function (url, options) { // _methodInvokers map; it removes itself once the method is fully finished and // the callback is invoked. This occurs when it has both received a result, // and the data written by it is fully visible. -var MethodInvoker = function (options) { +var MethodInvoker = function(options) { var self = this; // Public (within this file) fields. @@ -404,7 +419,7 @@ var MethodInvoker = function (options) { self._callback = options.callback; self._connection = options.connection; self._message = options.message; - self._onResultReceived = options.onResultReceived || function () {}; + self._onResultReceived = options.onResultReceived || function() {}; self._wait = options.wait; self.noRetry = options.noRetry; self._methodResult = null; @@ -416,14 +431,13 @@ var MethodInvoker = function (options) { _.extend(MethodInvoker.prototype, { // Sends the method message to the server. May be called additional times if // we lose the connection and reconnect before receiving a result. - sendMessage: function () { + sendMessage: function() { var self = this; // This function is called before sending a method (including resending on // reconnect). We should only (re)send methods where we don't already have a // result! if (self.gotResult()) - throw new Error("sendingMethod is called on method with result"); - + throw new Error('sendingMethod is called on method with result'); // If we're re-sending it, it doesn't matter if data was written the first // time. @@ -440,7 +454,7 @@ _.extend(MethodInvoker.prototype, { }, // Invoke the callback, if we have both a result and know that all data has // been written to the local cache. - _maybeInvokeCallback: function () { + _maybeInvokeCallback: function() { var self = this; if (self._methodResult && self._dataVisible) { // Call the callback. (This won't throw: the callback was wrapped with @@ -459,10 +473,10 @@ _.extend(MethodInvoker.prototype, { // once; once it is called, you should not call sendMessage again. // If the user provided an onResultReceived callback, call it immediately. // Then invoke the main callback if data is also visible. - receiveResult: function (err, result) { + receiveResult: function(err, result) { var self = this; if (self.gotResult()) - throw new Error("Methods should only receive results once"); + throw new Error('Methods should only receive results once'); self._methodResult = [err, result]; self._onResultReceived(err, result); self._maybeInvokeCallback(); @@ -471,13 +485,13 @@ _.extend(MethodInvoker.prototype, { // the method has returns its "data is done" message *AND* all server // documents that are buffered at that time have been written to the local // cache. Invokes the main callback if the result has been received. - dataVisible: function () { + dataVisible: function() { var self = this; self._dataVisible = true; self._maybeInvokeCallback(); }, // True if receiveResult has been called. - gotResult: function () { + gotResult: function() { var self = this; return !!self._methodResult; } @@ -487,31 +501,39 @@ _.extend(Connection.prototype, { // 'name' is the name of the data on the wire that should go in the // store. 'wrappedStore' should be an object with methods beginUpdate, update, // endUpdate, saveOriginals, retrieveOriginals. see Collection for an example. - registerStore: function (name, wrappedStore) { + registerStore: function(name, wrappedStore) { var self = this; - if (name in self._stores) - return false; + if (name in self._stores) return false; // Wrap the input object in an object which makes any store method not // implemented by 'store' into a no-op. var store = {}; - _.each(['update', 'beginUpdate', 'endUpdate', 'saveOriginals', - 'retrieveOriginals', 'getDoc', - '_getCollection'], function (method) { - store[method] = function () { - return (wrappedStore[method] - ? wrappedStore[method].apply(wrappedStore, arguments) - : undefined); - }; - }); + _.each( + [ + 'update', + 'beginUpdate', + 'endUpdate', + 'saveOriginals', + 'retrieveOriginals', + 'getDoc', + '_getCollection' + ], + function(method) { + store[method] = function() { + return wrappedStore[method] + ? wrappedStore[method].apply(wrappedStore, arguments) + : undefined; + }; + } + ); self._stores[name] = store; var queued = self._updatesForUnknownStores[name]; if (queued) { store.beginUpdate(queued.length, false); - _.each(queued, function (msg) { + _.each(queued, function(msg) { store.update(msg); }); store.endUpdate(); @@ -536,7 +558,7 @@ _.extend(Connection.prototype, { * argument to `onStop`. If a function is passed instead of an object, it * is interpreted as an `onReady` callback. */ - subscribe: function (name /* .. [arguments] .. (callback|callbacks) */) { + subscribe: function(name /* .. [arguments] .. (callback|callbacks) */) { var self = this; var params = Array.prototype.slice.call(arguments, 1); @@ -545,11 +567,15 @@ _.extend(Connection.prototype, { var lastParam = params[params.length - 1]; if (_.isFunction(lastParam)) { callbacks.onReady = params.pop(); - } else if (lastParam && + } else if ( + lastParam && // XXX COMPAT WITH 1.0.3.1 onError used to exist, but now we use // onStop with an error callback instead. - _.any([lastParam.onReady, lastParam.onError, lastParam.onStop], - _.isFunction)) { + _.any( + [lastParam.onReady, lastParam.onError, lastParam.onStop], + _.isFunction + ) + ) { callbacks = params.pop(); } } @@ -572,9 +598,10 @@ _.extend(Connection.prototype, { // We only look for one such sub; if there are N apparently-identical subs // being invalidated, we will require N matching subscribe calls to keep // them all active. - var existing = _.find(self._subscriptions, function (sub) { - return sub.inactive && sub.name === name && - EJSON.equals(sub.params, params); + var existing = _.find(self._subscriptions, function(sub) { + return ( + sub.inactive && sub.name === name && EJSON.equals(sub.params, params) + ); }); var id; @@ -619,7 +646,7 @@ _.extend(Connection.prototype, { params: EJSON.clone(params), inactive: false, ready: false, - readyDeps: new Tracker.Dependency, + readyDeps: new Tracker.Dependency(), readyCallback: callbacks.onReady, // XXX COMPAT WITH 1.0.3.1 #errorCallback errorCallback: callbacks.onError, @@ -630,7 +657,7 @@ _.extend(Connection.prototype, { this.ready && this.readyDeps.changed(); }, stop: function() { - this.connection._send({msg: 'unsub', id: id}); + this.connection._send({ msg: 'unsub', id: id }); this.remove(); if (callbacks.onStop) { @@ -638,21 +665,19 @@ _.extend(Connection.prototype, { } } }; - self._send({msg: 'sub', id: id, name: name, params: params}); + self._send({ msg: 'sub', id: id, name: name, params: params }); } // return a handle to the application. var handle = { - stop: function () { - if (!_.has(self._subscriptions, id)) - return; + stop: function() { + if (!_.has(self._subscriptions, id)) return; self._subscriptions[id].stop(); }, - ready: function () { + ready: function() { // return false if we've unsubscribed. - if (!_.has(self._subscriptions, id)) - return false; + if (!_.has(self._subscriptions, id)) return false; var record = self._subscriptions[id]; record.readyDeps.depend(); return record.ready; @@ -667,13 +692,15 @@ _.extend(Connection.prototype, { // as a change to mark the subscription "inactive" so that it can // be reused from the rerun. If it isn't reused, it's killed from // an afterFlush. - Tracker.onInvalidate(function (c) { + Tracker.onInvalidate(function(c) { if (_.has(self._subscriptions, id)) self._subscriptions[id].inactive = true; - Tracker.afterFlush(function () { - if (_.has(self._subscriptions, id) && - self._subscriptions[id].inactive) + Tracker.afterFlush(function() { + if ( + _.has(self._subscriptions, id) && + self._subscriptions[id].inactive + ) handle.stop(); }); }); @@ -685,22 +712,20 @@ _.extend(Connection.prototype, { // options: // - onLateError {Function(error)} called if an error was received after the ready event. // (errors received before ready cause an error to be thrown) - _subscribeAndWait: function (name, args, options) { + _subscribeAndWait: function(name, args, options) { var self = this; var f = new Future(); var ready = false; var handle; args = args || []; args.push({ - onReady: function () { + onReady: function() { ready = true; f['return'](); }, - onError: function (e) { - if (!ready) - f['throw'](e); - else - options && options.onLateError && options.onLateError(e); + onError: function(e) { + if (!ready) f['throw'](e); + else options && options.onLateError && options.onLateError(e); } }); @@ -709,9 +734,9 @@ _.extend(Connection.prototype, { return handle; }, - methods: function (methods) { + methods: function(methods) { var self = this; - _.each(methods, function (func, name) { + _.each(methods, function(func, name) { if (typeof func !== 'function') throw new Error("Method '" + name + "' must be a function"); if (self._methodHandlers[name]) @@ -729,11 +754,11 @@ _.extend(Connection.prototype, { * @param {EJSONable} [arg1,arg2...] Optional method arguments * @param {Function} [asyncCallback] Optional callback, which is called asynchronously with the error or result after the method is complete. If not provided, the method runs synchronously if possible (see below). */ - call: function (name /* .. [arguments] .. callback */) { + call: function(name /* .. [arguments] .. callback */) { // if it's a function, the last argument is the result callback, // not a parameter to the remote method. var args = Array.prototype.slice.call(arguments, 1); - if (args.length && typeof args[args.length - 1] === "function") + if (args.length && typeof args[args.length - 1] === 'function') var callback = args.pop(); return this.apply(name, args, callback); }, @@ -773,7 +798,7 @@ _.extend(Connection.prototype, { * @param {Boolean} options.throwStubExceptions (Client only) If true, exceptions thrown by method stubs will be thrown instead of logged, and the method will not be invoked on the server. * @param {Function} [asyncCallback] Optional callback; same semantics as in [`Meteor.call`](#meteor_call). */ - apply: function (name, args, options, callback) { + apply: function(name, args, options, callback) { var self = this; // We were passed 3 arguments. They may be either (name, args, options) @@ -799,11 +824,10 @@ _.extend(Connection.prototype, { args = EJSON.clone(args); // Lazily allocate method ID once we know that it'll be needed. - var methodId = (function () { + var methodId = (function() { var id; - return function () { - if (id === undefined) - id = '' + (self._nextMethodId++); + return function() { + if (id === undefined) id = '' + self._nextMethodId++; return id; }; })(); @@ -822,7 +846,7 @@ _.extend(Connection.prototype, { // randomSeed to save bandwidth, and we don't even generate it to save a // bit of CPU and to avoid consuming entropy. var randomSeed = null; - var randomSeedGenerator = function () { + var randomSeedGenerator = function() { if (randomSeed === null) { randomSeed = DDPCommon.makeRpcSeed(enclosing, name); } @@ -851,34 +875,36 @@ _.extend(Connection.prototype, { isSimulation: true, userId: self.userId(), setUserId: setUserId, - randomSeed: function () { return randomSeedGenerator(); } + randomSeed: function() { + return randomSeedGenerator(); + } }); - if (!alreadyInSimulation) - self._saveOriginals(); + if (!alreadyInSimulation) self._saveOriginals(); try { // Note that unlike in the corresponding server code, we never audit // that stubs check() their arguments. - var stubReturnValue = DDP._CurrentMethodInvocation.withValue(invocation, function () { - if (Meteor.isServer) { - // Because saveOriginals and retrieveOriginals aren't reentrant, - // don't allow stubs to yield. - return Meteor._noYieldsAllowed(function () { - // re-clone, so that the stub can't affect our caller's values + var stubReturnValue = DDP._CurrentMethodInvocation.withValue( + invocation, + function() { + if (Meteor.isServer) { + // Because saveOriginals and retrieveOriginals aren't reentrant, + // don't allow stubs to yield. + return Meteor._noYieldsAllowed(function() { + // re-clone, so that the stub can't affect our caller's values + return stub.apply(invocation, EJSON.clone(args)); + }); + } else { return stub.apply(invocation, EJSON.clone(args)); - }); - } else { - return stub.apply(invocation, EJSON.clone(args)); + } } - }); - } - catch (e) { + ); + } catch (e) { var exception = e; } - if (!alreadyInSimulation) - self._retrieveAndStoreOriginals(methodId()); + if (!alreadyInSimulation) self._retrieveAndStoreOriginals(methodId()); } // If we're in a simulation, stop and return the result we have, @@ -889,8 +915,7 @@ _.extend(Connection.prototype, { callback(exception, stubReturnValue); return undefined; } - if (exception) - throw exception; + if (exception) throw exception; return stubReturnValue; } @@ -905,12 +930,14 @@ _.extend(Connection.prototype, { if (options.throwStubExceptions) { throw exception; } else if (!exception.expected) { - Meteor._debug("Exception while simulating the effect of invoking '" + - name + "'", exception, exception.stack); + Meteor._debug( + "Exception while simulating the effect of invoking '" + name + "'", + exception, + exception.stack + ); } } - // At this point we're definitely doing an RPC, and we're going to // return the value of the RPC to the caller. @@ -921,14 +948,14 @@ _.extend(Connection.prototype, { // only thing we can do is to return undefined and discard the // result of the RPC. If an error occurred then print the error // to the console. - callback = function (err) { - err && Meteor._debug("Error invoking Method '" + name + "':", - err.message); + callback = function(err) { + err && + Meteor._debug("Error invoking Method '" + name + "':", err.message); }; } else { // On the server, make the function synchronous. Throw on // errors, return on success. - var future = new Future; + var future = new Future(); callback = future.resolver(); } } @@ -959,20 +986,23 @@ _.extend(Connection.prototype, { if (options.wait) { // It's a wait method! Wait methods go in their own block. - self._outstandingMethodBlocks.push( - {wait: true, methods: [methodInvoker]}); + self._outstandingMethodBlocks.push({ + wait: true, + methods: [methodInvoker] + }); } else { // Not a wait method. Start a new block if the previous block was a wait // block, and add it to the last block of methods. - if (_.isEmpty(self._outstandingMethodBlocks) || - _.last(self._outstandingMethodBlocks).wait) - self._outstandingMethodBlocks.push({wait: false, methods: []}); + if ( + _.isEmpty(self._outstandingMethodBlocks) || + _.last(self._outstandingMethodBlocks).wait + ) + self._outstandingMethodBlocks.push({ wait: false, methods: [] }); _.last(self._outstandingMethodBlocks).methods.push(methodInvoker); } // If we added it to the first block, send it out now. - if (self._outstandingMethodBlocks.length === 1) - methodInvoker.sendMessage(); + if (self._outstandingMethodBlocks.length === 1) methodInvoker.sendMessage(); // If we're using the default callback on the server, // block waiting for the result. @@ -985,32 +1015,30 @@ _.extend(Connection.prototype, { // Before calling a method stub, prepare all stores to track changes and allow // _retrieveAndStoreOriginals to get the original versions of changed // documents. - _saveOriginals: function () { + _saveOriginals: function() { var self = this; - if (!self._waitingForQuiescence()) - self._flushBufferedWrites(); - _.each(self._stores, function (s) { + if (!self._waitingForQuiescence()) self._flushBufferedWrites(); + _.each(self._stores, function(s) { s.saveOriginals(); }); }, // Retrieves the original versions of all documents modified by the stub for // method 'methodId' from all stores and saves them to _serverDocuments (keyed // by document) and _documentsWrittenByStub (keyed by method ID). - _retrieveAndStoreOriginals: function (methodId) { + _retrieveAndStoreOriginals: function(methodId) { var self = this; if (self._documentsWrittenByStub[methodId]) - throw new Error("Duplicate methodId in _retrieveAndStoreOriginals"); + throw new Error('Duplicate methodId in _retrieveAndStoreOriginals'); var docsWritten = []; - _.each(self._stores, function (s, collection) { + _.each(self._stores, function(s, collection) { var originals = s.retrieveOriginals(); // not all stores define retrieveOriginals - if (!originals) - return; - originals.forEach(function (doc, id) { - docsWritten.push({collection: collection, id: id}); + if (!originals) return; + originals.forEach(function(doc, id) { + docsWritten.push({ collection: collection, id: id }); if (!_.has(self._serverDocuments, collection)) - self._serverDocuments[collection] = new MongoIDMap; + self._serverDocuments[collection] = new MongoIDMap(); var serverDoc = self._serverDocuments[collection].setDefault(id, {}); if (serverDoc.writtenByStubs) { // We're not the first stub to write this doc. Just add our method ID @@ -1032,9 +1060,9 @@ _.extend(Connection.prototype, { // This is very much a private function we use to make the tests // take up fewer server resources after they complete. - _unsubscribeAll: function () { + _unsubscribeAll: function() { var self = this; - _.each(_.clone(self._subscriptions), function (sub, id) { + _.each(_.clone(self._subscriptions), function(sub, id) { // Avoid killing the autoupdate subscription so that developers // still get hot code pushes when writing tests. // @@ -1048,7 +1076,7 @@ _.extend(Connection.prototype, { }, // Sends the DDP stringification of the given message object - _send: function (obj) { + _send: function(obj) { var self = this; self._stream.send(DDPCommon.stringifyDDP(obj)); }, @@ -1056,7 +1084,7 @@ _.extend(Connection.prototype, { // We detected via DDP-level heartbeats that we've lost the // connection. Unlike `disconnect` or `close`, a lost connection // will be automatically retried. - _lostConnection: function (error) { + _lostConnection: function(error) { var self = this; self._stream._lostConnection(error); }, @@ -1067,7 +1095,7 @@ _.extend(Connection.prototype, { * @memberOf Meteor * @importFromPackage meteor */ - status: function (/*passthrough args*/) { + status: function(/*passthrough args*/) { var self = this; return self._stream.status.apply(self._stream, arguments); }, @@ -1080,7 +1108,7 @@ _.extend(Connection.prototype, { * @memberOf Meteor * @importFromPackage meteor */ - reconnect: function (/*passthrough args*/) { + reconnect: function(/*passthrough args*/) { var self = this; return self._stream.reconnect.apply(self._stream, arguments); }, @@ -1091,76 +1119,75 @@ _.extend(Connection.prototype, { * @memberOf Meteor * @importFromPackage meteor */ - disconnect: function (/*passthrough args*/) { + disconnect: function(/*passthrough args*/) { var self = this; return self._stream.disconnect.apply(self._stream, arguments); }, - close: function () { + close: function() { var self = this; - return self._stream.disconnect({_permanent: true}); + return self._stream.disconnect({ _permanent: true }); }, /// /// Reactive user system /// - userId: function () { + userId: function() { var self = this; - if (self._userIdDeps) - self._userIdDeps.depend(); + if (self._userIdDeps) self._userIdDeps.depend(); return self._userId; }, - setUserId: function (userId) { + setUserId: function(userId) { var self = this; // Avoid invalidating dependents if setUserId is called with current value. - if (self._userId === userId) - return; + if (self._userId === userId) return; self._userId = userId; - if (self._userIdDeps) - self._userIdDeps.changed(); + if (self._userIdDeps) self._userIdDeps.changed(); }, // Returns true if we are in a state after reconnect of waiting for subs to be // revived or early methods to finish their data, or we are waiting for a // "wait" method to finish. - _waitingForQuiescence: function () { + _waitingForQuiescence: function() { var self = this; - return (! _.isEmpty(self._subsBeingRevived) || - ! _.isEmpty(self._methodsBlockingQuiescence)); + return ( + !_.isEmpty(self._subsBeingRevived) || + !_.isEmpty(self._methodsBlockingQuiescence) + ); }, // Returns true if any method whose message has been sent to the server has // not yet invoked its user callback. - _anyMethodsAreOutstanding: function () { + _anyMethodsAreOutstanding: function() { var self = this; return _.any(_.pluck(self._methodInvokers, 'sentMessage')); }, - _livedata_connected: function (msg) { + _livedata_connected: function(msg) { var self = this; if (self._version !== 'pre1' && self._heartbeatInterval !== 0) { self._heartbeat = new DDPCommon.Heartbeat({ heartbeatInterval: self._heartbeatInterval, heartbeatTimeout: self._heartbeatTimeout, - onTimeout: function () { + onTimeout: function() { self._lostConnection( - new DDP.ConnectionError("DDP heartbeat timed out")); + new DDP.ConnectionError('DDP heartbeat timed out') + ); }, - sendPing: function () { - self._send({msg: 'ping'}); + sendPing: function() { + self._send({ msg: 'ping' }); } }); self._heartbeat.start(); } // If this is a reconnect, we'll have to reset all stores. - if (self._lastSessionId) - self._resetStores = true; + if (self._lastSessionId) self._resetStores = true; - if (typeof (msg.session) === "string") { - var reconnectedToPreviousSession = (self._lastSessionId === msg.session); + if (typeof msg.session === 'string') { + var reconnectedToPreviousSession = self._lastSessionId === msg.session; self._lastSessionId = msg.session; } @@ -1194,9 +1221,8 @@ _.extend(Connection.prototype, { // XXX We should also block reconnect quiescence until unnamed subscriptions // (eg, autopublish) are done re-publishing to avoid flicker! self._subsBeingRevived = {}; - _.each(self._subscriptions, function (sub, id) { - if (sub.ready) - self._subsBeingRevived[id] = true; + _.each(self._subscriptions, function(sub, id) { + if (sub.ready) self._subsBeingRevived[id] = true; }); // Arrange for "half-finished" methods to have their callbacks run, and @@ -1208,7 +1234,7 @@ _.extend(Connection.prototype, { // that we drop here will be restored by the loop below. self._methodsBlockingQuiescence = {}; if (self._resetStores) { - _.each(self._methodInvokers, function (invoker) { + _.each(self._methodInvokers, function(invoker) { if (invoker.gotResult()) { // This method already got its result, but it didn't call its callback // because its data didn't become visible. We did not resend the @@ -1236,7 +1262,7 @@ _.extend(Connection.prototype, { // call the callbacks immediately. if (!self._waitingForQuiescence()) { if (self._resetStores) { - _.each(self._stores, function (s) { + _.each(self._stores, function(s) { s.beginUpdate(0, true); s.endUpdate(); }); @@ -1246,37 +1272,33 @@ _.extend(Connection.prototype, { } }, - - _processOneDataMessage: function (msg, updates) { + _processOneDataMessage: function(msg, updates) { var self = this; // Using underscore here so as not to need to capitalize. self['_process_' + msg.msg](msg, updates); }, - - _livedata_data: function (msg) { + _livedata_data: function(msg) { var self = this; if (self._waitingForQuiescence()) { self._messagesBufferedUntilQuiescence.push(msg); - if (msg.msg === "nosub") - delete self._subsBeingRevived[msg.id]; + if (msg.msg === 'nosub') delete self._subsBeingRevived[msg.id]; - _.each(msg.subs || [], function (subId) { + _.each(msg.subs || [], function(subId) { delete self._subsBeingRevived[subId]; }); - _.each(msg.methods || [], function (methodId) { + _.each(msg.methods || [], function(methodId) { delete self._methodsBlockingQuiescence[methodId]; }); - if (self._waitingForQuiescence()) - return; + if (self._waitingForQuiescence()) return; // No methods or subs are blocking quiescence! // We'll now process and all of our buffered messages, reset all stores, // and apply them all at once. - _.each(self._messagesBufferedUntilQuiescence, function (bufferedMsg) { + _.each(self._messagesBufferedUntilQuiescence, function(bufferedMsg) { self._processOneDataMessage(bufferedMsg, self._bufferedWrites); }); self._messagesBufferedUntilQuiescence = []; @@ -1294,9 +1316,9 @@ _.extend(Connection.prototype, { } if (self._bufferedWritesFlushAt === null) { - self._bufferedWritesFlushAt = new Date().valueOf() + self._bufferedWritesMaxAge; - } - else if (self._bufferedWritesFlushAt < new Date().valueOf()) { + self._bufferedWritesFlushAt = + new Date().valueOf() + self._bufferedWritesMaxAge; + } else if (self._bufferedWritesFlushAt < new Date().valueOf()) { self._flushBufferedWrites(); return; } @@ -1304,11 +1326,13 @@ _.extend(Connection.prototype, { if (self._bufferedWritesFlushHandle) { clearTimeout(self._bufferedWritesFlushHandle); } - self._bufferedWritesFlushHandle = setTimeout(self.__flushBufferedWrites, - self._bufferedWritesInterval); + self._bufferedWritesFlushHandle = setTimeout( + self.__flushBufferedWrites, + self._bufferedWritesInterval + ); }, - _flushBufferedWrites: function () { + _flushBufferedWrites: function() { var self = this; if (self._bufferedWritesFlushHandle) { clearTimeout(self._bufferedWritesFlushHandle); @@ -1324,21 +1348,23 @@ _.extend(Connection.prototype, { self._performWrites(writes); }, - _performWrites: function(updates){ + _performWrites: function(updates) { var self = this; if (self._resetStores || !_.isEmpty(updates)) { // Begin a transactional update of each store. - _.each(self._stores, function (s, storeName) { - s.beginUpdate(_.has(updates, storeName) ? updates[storeName].length : 0, - self._resetStores); + _.each(self._stores, function(s, storeName) { + s.beginUpdate( + _.has(updates, storeName) ? updates[storeName].length : 0, + self._resetStores + ); }); self._resetStores = false; - _.each(updates, function (updateMessages, storeName) { + _.each(updates, function(updateMessages, storeName) { var store = self._stores[storeName]; if (store) { - _.each(updateMessages, function (updateMessage) { + _.each(updateMessages, function(updateMessage) { store.update(updateMessage); }); } else { @@ -1349,13 +1375,17 @@ _.extend(Connection.prototype, { // to have to do something about that. if (!_.has(self._updatesForUnknownStores, storeName)) self._updatesForUnknownStores[storeName] = []; - Array.prototype.push.apply(self._updatesForUnknownStores[storeName], - updateMessages); + Array.prototype.push.apply( + self._updatesForUnknownStores[storeName], + updateMessages + ); } }); // End update transaction. - _.each(self._stores, function (s) { s.endUpdate(); }); + _.each(self._stores, function(s) { + s.endUpdate(); + }); } self._runAfterUpdateCallbacks(); @@ -1364,16 +1394,16 @@ _.extend(Connection.prototype, { // Call any callbacks deferred with _runWhenAllServerDocsAreFlushed whose // relevant docs have been flushed, as well as dataVisible callbacks at // reconnect-quiescence time. - _runAfterUpdateCallbacks: function () { + _runAfterUpdateCallbacks: function() { var self = this; var callbacks = self._afterUpdateCallbacks; self._afterUpdateCallbacks = []; - _.each(callbacks, function (c) { + _.each(callbacks, function(c) { c(); }); }, - _pushUpdate: function (updates, collection, msg) { + _pushUpdate: function(updates, collection, msg) { var self = this; if (!_.has(updates, collection)) { updates[collection] = []; @@ -1381,21 +1411,20 @@ _.extend(Connection.prototype, { updates[collection].push(msg); }, - _getServerDoc: function (collection, id) { + _getServerDoc: function(collection, id) { var self = this; - if (!_.has(self._serverDocuments, collection)) - return null; + if (!_.has(self._serverDocuments, collection)) return null; var serverDocsForCollection = self._serverDocuments[collection]; return serverDocsForCollection.get(id) || null; }, - _process_added: function (msg, updates) { + _process_added: function(msg, updates) { var self = this; var id = MongoID.idParse(msg.id); var serverDoc = self._getServerDoc(msg.collection, id); if (serverDoc) { // Some outstanding stub wrote here. - var isExisting = (serverDoc.document !== undefined); + var isExisting = serverDoc.document !== undefined; serverDoc.document = msg.fields || {}; serverDoc.document._id = id; @@ -1406,39 +1435,36 @@ _.extend(Connection.prototype, { // reset. Use current version of the document for this update, so // that stub-written values are preserved. var currentDoc = self._stores[msg.collection].getDoc(msg.id); - if (currentDoc !== undefined) - msg.fields = currentDoc; + if (currentDoc !== undefined) msg.fields = currentDoc; self._pushUpdate(updates, msg.collection, msg); } else if (isExisting) { - throw new Error("Server sent add for existing id: " + msg.id); + throw new Error('Server sent add for existing id: ' + msg.id); } } else { self._pushUpdate(updates, msg.collection, msg); } }, - _process_changed: function (msg, updates) { + _process_changed: function(msg, updates) { var self = this; - var serverDoc = self._getServerDoc( - msg.collection, MongoID.idParse(msg.id)); + var serverDoc = self._getServerDoc(msg.collection, MongoID.idParse(msg.id)); if (serverDoc) { if (serverDoc.document === undefined) - throw new Error("Server sent changed for nonexisting id: " + msg.id); + throw new Error('Server sent changed for nonexisting id: ' + msg.id); DiffSequence.applyChanges(serverDoc.document, msg.fields); } else { self._pushUpdate(updates, msg.collection, msg); } }, - _process_removed: function (msg, updates) { + _process_removed: function(msg, updates) { var self = this; - var serverDoc = self._getServerDoc( - msg.collection, MongoID.idParse(msg.id)); + var serverDoc = self._getServerDoc(msg.collection, MongoID.idParse(msg.id)); if (serverDoc) { // Some outstanding stub wrote here. if (serverDoc.document === undefined) - throw new Error("Server sent removed for nonexisting id:" + msg.id); + throw new Error('Server sent removed for nonexisting id:' + msg.id); serverDoc.document = undefined; } else { self._pushUpdate(updates, msg.collection, { @@ -1449,17 +1475,21 @@ _.extend(Connection.prototype, { } }, - _process_updated: function (msg, updates) { + _process_updated: function(msg, updates) { var self = this; // Process "method done" messages. - _.each(msg.methods, function (methodId) { - _.each(self._documentsWrittenByStub[methodId], function (written) { + _.each(msg.methods, function(methodId) { + _.each(self._documentsWrittenByStub[methodId], function(written) { var serverDoc = self._getServerDoc(written.collection, written.id); if (!serverDoc) - throw new Error("Lost serverDoc for " + JSON.stringify(written)); + throw new Error('Lost serverDoc for ' + JSON.stringify(written)); if (!serverDoc.writtenByStubs[methodId]) - throw new Error("Doc " + JSON.stringify(written) + - " not written by method " + methodId); + throw new Error( + 'Doc ' + + JSON.stringify(written) + + ' not written by method ' + + methodId + ); delete serverDoc.writtenByStubs[methodId]; if (_.isEmpty(serverDoc.writtenByStubs)) { // All methods whose stubs wrote this method have completed! We can @@ -1476,7 +1506,7 @@ _.extend(Connection.prototype, { replace: serverDoc.document }); // Call all flush callbacks. - _.each(serverDoc.flushCallbacks, function (c) { + _.each(serverDoc.flushCallbacks, function(c) { c(); }); @@ -1492,26 +1522,25 @@ _.extend(Connection.prototype, { // currently buffered messages are flushed. var callbackInvoker = self._methodInvokers[methodId]; if (!callbackInvoker) - throw new Error("No callback invoker for method " + methodId); + throw new Error('No callback invoker for method ' + methodId); self._runWhenAllServerDocsAreFlushed( - _.bind(callbackInvoker.dataVisible, callbackInvoker)); + _.bind(callbackInvoker.dataVisible, callbackInvoker) + ); }); }, - _process_ready: function (msg, updates) { + _process_ready: function(msg, updates) { var self = this; // Process "sub ready" messages. "sub ready" messages don't take effect // until all current server documents have been flushed to the local // database. We can use a write fence to implement this. - _.each(msg.subs, function (subId) { - self._runWhenAllServerDocsAreFlushed(function () { + _.each(msg.subs, function(subId) { + self._runWhenAllServerDocsAreFlushed(function() { var subRecord = self._subscriptions[subId]; // Did we already unsubscribe? - if (!subRecord) - return; + if (!subRecord) return; // Did we already receive a ready message? (Oops!) - if (subRecord.ready) - return; + if (subRecord.ready) return; subRecord.ready = true; subRecord.readyCallback && subRecord.readyCallback(); subRecord.readyDeps.changed(); @@ -1522,13 +1551,13 @@ _.extend(Connection.prototype, { // Ensures that "f" will be called after all documents currently in // _serverDocuments have been written to the local cache. f will not be called // if the connection is lost before then! - _runWhenAllServerDocsAreFlushed: function (f) { + _runWhenAllServerDocsAreFlushed: function(f) { var self = this; - var runFAfterUpdates = function () { + var runFAfterUpdates = function() { self._afterUpdateCallbacks.push(f); }; var unflushedServerDocCount = 0; - var onServerDocFlush = function () { + var onServerDocFlush = function() { --unflushedServerDocCount; if (unflushedServerDocCount === 0) { // This was the last doc to flush! Arrange to run f after the updates @@ -1536,13 +1565,15 @@ _.extend(Connection.prototype, { runFAfterUpdates(); } }; - _.each(self._serverDocuments, function (collectionDocs) { - collectionDocs.forEach(function (serverDoc) { + _.each(self._serverDocuments, function(collectionDocs) { + collectionDocs.forEach(function(serverDoc) { var writtenByStubForAMethodWithSentMessage = _.any( - serverDoc.writtenByStubs, function (dummy, methodId) { + serverDoc.writtenByStubs, + function(dummy, methodId) { var invoker = self._methodInvokers[methodId]; return invoker && invoker.sentMessage; - }); + } + ); if (writtenByStubForAMethodWithSentMessage) { ++unflushedServerDocCount; serverDoc.flushCallbacks.push(onServerDocFlush); @@ -1556,7 +1587,7 @@ _.extend(Connection.prototype, { } }, - _livedata_nosub: function (msg) { + _livedata_nosub: function(msg) { var self = this; // First pass it through _livedata_data, which only uses it to help get @@ -1567,8 +1598,7 @@ _.extend(Connection.prototype, { // buffering-until-quiescence. // we weren't subbed anyway, or we initiated the unsub. - if (!_.has(self._subscriptions, msg.id)) - return; + if (!_.has(self._subscriptions, msg.id)) return; // XXX COMPAT WITH 1.0.3.1 #errorCallback var errorCallback = self._subscriptions[msg.id].errorCallback; @@ -1576,10 +1606,17 @@ _.extend(Connection.prototype, { self._subscriptions[msg.id].remove(); - var meteorErrorFromMsg = function (msgArg) { - return msgArg && msgArg.error && new Meteor.Error( - msgArg.error.error, msgArg.error.reason, msgArg.error.details); - } + var meteorErrorFromMsg = function(msgArg) { + return ( + msgArg && + msgArg.error && + new Meteor.Error( + msgArg.error.error, + msgArg.error.reason, + msgArg.error.details + ) + ); + }; // XXX COMPAT WITH 1.0.3.1 #errorCallback if (errorCallback && msg.error) { @@ -1591,7 +1628,7 @@ _.extend(Connection.prototype, { } }, - _process_nosub: function () { + _process_nosub: function() { // This is called as part of the "buffer until quiescence" process, but // nosub's effect is always immediate. It only goes in the buffer at all // because it's possible for a nosub to be the thing that triggers @@ -1599,7 +1636,7 @@ _.extend(Connection.prototype, { // instead. }, - _livedata_result: function (msg) { + _livedata_result: function(msg) { // id, result or error. error has error (code), reason, details var self = this; @@ -1612,15 +1649,14 @@ _.extend(Connection.prototype, { // find the outstanding request // should be O(1) in nearly all realistic use cases if (_.isEmpty(self._outstandingMethodBlocks)) { - Meteor._debug("Received method result but no methods outstanding"); + Meteor._debug('Received method result but no methods outstanding'); return; } var currentMethodBlock = self._outstandingMethodBlocks[0].methods; var m; for (var i = 0; i < currentMethodBlock.length; i++) { m = currentMethodBlock[i]; - if (m.methodId === msg.id) - break; + if (m.methodId === msg.id) break; } if (!m) { @@ -1634,9 +1670,9 @@ _.extend(Connection.prototype, { currentMethodBlock.splice(i, 1); if (_.has(msg, 'error')) { - m.receiveResult(new Meteor.Error( - msg.error.error, msg.error.reason, - msg.error.details)); + m.receiveResult( + new Meteor.Error(msg.error.error, msg.error.reason, msg.error.details) + ); } else { // msg.result may be undefined if the method didn't return a // value @@ -1647,19 +1683,20 @@ _.extend(Connection.prototype, { // Called by MethodInvoker after a method's callback is invoked. If this was // the last outstanding method in the current block, runs the next block. If // there are no more methods, consider accepting a hot code push. - _outstandingMethodFinished: function () { + _outstandingMethodFinished: function() { var self = this; - if (self._anyMethodsAreOutstanding()) - return; + if (self._anyMethodsAreOutstanding()) return; // No methods are outstanding. This should mean that the first block of // methods is empty. (Or it might not exist, if this was a method that // half-finished before disconnect/reconnect.) - if (! _.isEmpty(self._outstandingMethodBlocks)) { + if (!_.isEmpty(self._outstandingMethodBlocks)) { var firstBlock = self._outstandingMethodBlocks.shift(); - if (! _.isEmpty(firstBlock.methods)) - throw new Error("No methods outstanding but nonempty block: " + - JSON.stringify(firstBlock)); + if (!_.isEmpty(firstBlock.methods)) + throw new Error( + 'No methods outstanding but nonempty block: ' + + JSON.stringify(firstBlock) + ); // Send the outstanding methods now in the first block. if (!_.isEmpty(self._outstandingMethodBlocks)) @@ -1674,17 +1711,15 @@ _.extend(Connection.prototype, { // _outstandingMethodBlocks. _sendOutstandingMethods: function() { var self = this; - if (_.isEmpty(self._outstandingMethodBlocks)) - return; - _.each(self._outstandingMethodBlocks[0].methods, function (m) { + if (_.isEmpty(self._outstandingMethodBlocks)) return; + _.each(self._outstandingMethodBlocks[0].methods, function(m) { m.sendMessage(); }); }, - _livedata_error: function (msg) { - Meteor._debug("Received error from server: ", msg.reason); - if (msg.offendingMessage) - Meteor._debug("For: ", msg.offendingMessage); + _livedata_error: function(msg) { + Meteor._debug('Received error from server: ', msg.reason); + if (msg.offendingMessage) Meteor._debug('For: ', msg.offendingMessage); }, _callOnReconnectAndSendAppropriateOutstandingMethods: function() { @@ -1693,13 +1728,12 @@ _.extend(Connection.prototype, { self._outstandingMethodBlocks = []; self.onReconnect && self.onReconnect(); - DDP._reconnectHook.each(function (callback) { + DDP._reconnectHook.each(function(callback) { callback(self); return true; }); - if (_.isEmpty(oldOutstandingMethodBlocks)) - return; + if (_.isEmpty(oldOutstandingMethodBlocks)) return; // We have at least one block worth of old outstanding methods to try // again. First: did onReconnect actually send anything? If not, we just @@ -1713,21 +1747,22 @@ _.extend(Connection.prototype, { // OK, there are blocks on both sides. Special case: merge the last block of // the reconnect methods with the first block of the original methods, if // neither of them are "wait" blocks. - if (!_.last(self._outstandingMethodBlocks).wait && - !oldOutstandingMethodBlocks[0].wait) { - _.each(oldOutstandingMethodBlocks[0].methods, function (m) { + if ( + !_.last(self._outstandingMethodBlocks).wait && + !oldOutstandingMethodBlocks[0].wait + ) { + _.each(oldOutstandingMethodBlocks[0].methods, function(m) { _.last(self._outstandingMethodBlocks).methods.push(m); // If this "last block" is also the first block, send the message. - if (self._outstandingMethodBlocks.length === 1) - m.sendMessage(); + if (self._outstandingMethodBlocks.length === 1) m.sendMessage(); }); oldOutstandingMethodBlocks.shift(); } // Now add the rest of the original blocks on. - _.each(oldOutstandingMethodBlocks, function (block) { + _.each(oldOutstandingMethodBlocks, function(block) { self._outstandingMethodBlocks.push(block); }); }, @@ -1740,7 +1775,7 @@ _.extend(Connection.prototype, { // If we were blocking a migration, see if it's now possible to continue. // Call whenever the set of outstanding/blocked methods shrinks. - _maybeMigrate: function () { + _maybeMigrate: function() { var self = this; if (self._retryMigrate && self._readyToMigrate()) { self._retryMigrate(); @@ -1763,7 +1798,7 @@ LivedataTest.Connection = Connection; * @locus Anywhere * @param {String} url The URL of another Meteor application. */ -DDP.connect = function (url, options) { +DDP.connect = function(url, options) { var ret = new Connection(url, options); allConnections.push(ret); // hack. see below. return ret; @@ -1780,7 +1815,7 @@ DDP._reconnectHook = new Hook({ bindEnvironment: false }); * @param {Function} callback The function to call. It will be called with a * single argument, the [connection object](#ddp_connect) that is reconnecting. */ -DDP.onReconnect = function (callback) { +DDP.onReconnect = function(callback) { return DDP._reconnectHook.register(callback); }; @@ -1788,9 +1823,9 @@ DDP.onReconnect = function (callback) { // loading all the data it needs. // allConnections = []; -DDP._allSubscriptionsReady = function () { - return _.all(allConnections, function (conn) { - return _.all(conn._subscriptions, function (sub) { +DDP._allSubscriptionsReady = function() { + return _.all(allConnections, function(conn) { + return _.all(conn._subscriptions, function(sub) { return sub.ready; }); }); diff --git a/packages/ddp-client/common/namespace.js b/packages/ddp-client/common/namespace.js index 915b9467a5..29f378ad28 100644 --- a/packages/ddp-client/common/namespace.js +++ b/packages/ddp-client/common/namespace.js @@ -13,25 +13,28 @@ LivedataTest.SUPPORTED_DDP_VERSIONS = DDPCommon.SUPPORTED_DDP_VERSIONS; // This is private but it's used in a few places. accounts-base uses // it to get the current user. Meteor.setTimeout and friends clear // it. We can probably find a better way to factor this. -DDP._CurrentMethodInvocation = new Meteor.EnvironmentVariable; -DDP._CurrentPublicationInvocation = new Meteor.EnvironmentVariable; +DDP._CurrentMethodInvocation = new Meteor.EnvironmentVariable(); +DDP._CurrentPublicationInvocation = new Meteor.EnvironmentVariable(); // XXX: Keep DDP._CurrentInvocation for backwards-compatibility. DDP._CurrentInvocation = DDP._CurrentMethodInvocation; -DDP.ConnectionError = Meteor.makeErrorType( - "DDP.ConnectionError", function (message) { - var self = this; - self.message = message; +DDP.ConnectionError = Meteor.makeErrorType('DDP.ConnectionError', function( + message +) { + var self = this; + self.message = message; }); DDP.ForcedReconnectError = Meteor.makeErrorType( - "DDP.ForcedReconnectError", function () {}); + 'DDP.ForcedReconnectError', + function() {} +); - // Returns the named sequence of pseudo-random values. +// Returns the named sequence of pseudo-random values. // The scope will be DDP._CurrentMethodInvocation.get(), so the stream will produce // consistent values for method calls on the client and server. -DDP.randomStream = function (name) { +DDP.randomStream = function(name) { var scope = DDP._CurrentMethodInvocation.get(); return DDPCommon.RandomStream.get(scope, name); }; diff --git a/packages/ddp-client/common/stream_client_common.js b/packages/ddp-client/common/stream_client_common.js index 3c68bd9aa3..0c971570a6 100644 --- a/packages/ddp-client/common/stream_client_common.js +++ b/packages/ddp-client/common/stream_client_common.js @@ -4,24 +4,22 @@ import { _ } from 'meteor/underscore'; import { Tracker } from 'meteor/tracker'; import { Retry } from 'meteor/retry'; -import { DDP, LivedataTest } from "./namespace.js"; +import { DDP, LivedataTest } from './namespace.js'; export function addCommonMethodsToPrototype(proto) { _.extend(proto, { // Register for callbacks. - on: function (name, callback) { + on: function(name, callback) { var self = this; if (name !== 'message' && name !== 'reset' && name !== 'disconnect') - throw new Error("unknown event type: " + name); + throw new Error('unknown event type: ' + name); - if (!self.eventCallbacks[name]) - self.eventCallbacks[name] = []; + if (!self.eventCallbacks[name]) self.eventCallbacks[name] = []; self.eventCallbacks[name].push(callback); }, - - _initCommon: function (options) { + _initCommon: function(options) { var self = this; options = options || {}; @@ -37,26 +35,24 @@ export function addCommonMethodsToPrototype(proto) { //// Reactive status self.currentStatus = { - status: "connecting", + status: 'connecting', connected: false, retryCount: 0 }; - - self.statusListeners = typeof Tracker !== 'undefined' && new Tracker.Dependency; - self.statusChanged = function () { - if (self.statusListeners) - self.statusListeners.changed(); + self.statusListeners = + typeof Tracker !== 'undefined' && new Tracker.Dependency(); + self.statusChanged = function() { + if (self.statusListeners) self.statusListeners.changed(); }; //// Retry logic - self._retry = new Retry; + self._retry = new Retry(); self.connectionTimer = null; - }, // Trigger a reconnect. - reconnect: function (options) { + reconnect: function(options) { var self = this; options = options || {}; @@ -71,13 +67,13 @@ export function addCommonMethodsToPrototype(proto) { if (self.currentStatus.connected) { if (options._force || options.url) { // force reconnect. - self._lostConnection(new DDP.ForcedReconnectError); + self._lostConnection(new DDP.ForcedReconnectError()); } // else, noop. return; } // if we're mid-connection, stop it. - if (self.currentStatus.status === "connecting") { + if (self.currentStatus.status === 'connecting') { // Pretend it's a clean close. self._lostConnection(); } @@ -87,14 +83,13 @@ export function addCommonMethodsToPrototype(proto) { self._retryNow(); }, - disconnect: function (options) { + disconnect: function(options) { var self = this; options = options || {}; // Failed is permanent. If we're failed, don't let people go back // online by calling 'disconnect' then 'reconnect'. - if (self._forcedToDisconnect) - return; + if (self._forcedToDisconnect) return; // If _permanent is set, permanently disconnect a stream. Once a stream // is forced to disconnect, it can never reconnect. This is for @@ -108,7 +103,7 @@ export function addCommonMethodsToPrototype(proto) { self._retry.clear(); self.currentStatus = { - status: (options._permanent ? "failed" : "offline"), + status: options._permanent ? 'failed' : 'offline', connected: false, retryCount: 0 }; @@ -120,7 +115,7 @@ export function addCommonMethodsToPrototype(proto) { }, // maybeError is set unless it's a clean protocol-level close. - _lostConnection: function (maybeError) { + _lostConnection: function(maybeError) { var self = this; self._cleanup(maybeError); @@ -129,26 +124,27 @@ export function addCommonMethodsToPrototype(proto) { // fired when we detect that we've gone online. try to reconnect // immediately. - _online: function () { + _online: function() { // if we've requested to be offline by disconnecting, don't reconnect. - if (this.currentStatus.status != "offline") - this.reconnect(); + if (this.currentStatus.status != 'offline') this.reconnect(); }, - _retryLater: function (maybeError) { + _retryLater: function(maybeError) { var self = this; var timeout = 0; - if (self.options.retry || - (maybeError && maybeError.errorType === "DDP.ForcedReconnectError")) { + if ( + self.options.retry || + (maybeError && maybeError.errorType === 'DDP.ForcedReconnectError') + ) { timeout = self._retry.retryLater( self.currentStatus.retryCount, _.bind(self._retryNow, self) ); - self.currentStatus.status = "waiting"; - self.currentStatus.retryTime = (new Date()).getTime() + timeout; + self.currentStatus.status = 'waiting'; + self.currentStatus.retryTime = new Date().getTime() + timeout; } else { - self.currentStatus.status = "failed"; + self.currentStatus.status = 'failed'; delete self.currentStatus.retryTime; } @@ -156,14 +152,13 @@ export function addCommonMethodsToPrototype(proto) { self.statusChanged(); }, - _retryNow: function () { + _retryNow: function() { var self = this; - if (self._forcedToDisconnect) - return; + if (self._forcedToDisconnect) return; self.currentStatus.retryCount += 1; - self.currentStatus.status = "connecting"; + self.currentStatus.status = 'connecting'; self.currentStatus.connected = false; delete self.currentStatus.retryTime; self.statusChanged(); @@ -171,12 +166,10 @@ export function addCommonMethodsToPrototype(proto) { self._launchConnection(); }, - // Get current status. Reactive. - status: function () { + status: function() { var self = this; - if (self.statusListeners) - self.statusListeners.depend(); + if (self.statusListeners) self.statusListeners.depend(); return self.currentStatus; } }); diff --git a/packages/ddp-client/common/urlHelpers.js b/packages/ddp-client/common/urlHelpers.js index 7186c3d2e3..5aa2243161 100644 --- a/packages/ddp-client/common/urlHelpers.js +++ b/packages/ddp-client/common/urlHelpers.js @@ -3,12 +3,15 @@ import { Random } from 'meteor/random'; // XXX from Underscore.String (http://epeli.github.com/underscore.string/) var startsWith = function(str, starts) { - return str.length >= starts.length && - str.substring(0, starts.length) === starts; + return ( + str.length >= starts.length && str.substring(0, starts.length) === starts + ); }; var endsWith = function(str, ends) { - return str.length >= ends.length && - str.substring(str.length - ends.length) === ends; + return ( + str.length >= ends.length && + str.substring(str.length - ends.length) === ends + ); }; // @param url {String} URL to Meteor app, eg: @@ -18,9 +21,9 @@ var endsWith = function(str, ends) { // for scheme "http" and subPath "sockjs" // "http://subdomain.meteor.com/sockjs" or "/sockjs" // or "https://ddp--1234-foo.meteor.com/sockjs" -var translateUrl = function(url, newSchemeBase, subPath) { - if (! newSchemeBase) { - newSchemeBase = "http"; +var translateUrl = function(url, newSchemeBase, subPath) { + if (!newSchemeBase) { + newSchemeBase = 'http'; } var ddpUrlMatch = url.match(/^ddp(i?)\+sockjs:\/\//); @@ -29,29 +32,28 @@ var translateUrl = function(url, newSchemeBase, subPath) { if (ddpUrlMatch) { // Remove scheme and split off the host. var urlAfterDDP = url.substr(ddpUrlMatch[0].length); - newScheme = ddpUrlMatch[1] === "i" ? newSchemeBase : newSchemeBase + "s"; + newScheme = ddpUrlMatch[1] === 'i' ? newSchemeBase : newSchemeBase + 's'; var slashPos = urlAfterDDP.indexOf('/'); - var host = - slashPos === -1 ? urlAfterDDP : urlAfterDDP.substr(0, slashPos); + var host = slashPos === -1 ? urlAfterDDP : urlAfterDDP.substr(0, slashPos); var rest = slashPos === -1 ? '' : urlAfterDDP.substr(slashPos); // In the host (ONLY!), change '*' characters into random digits. This // allows different stream connections to connect to different hostnames // and avoid browser per-hostname connection limits. - host = host.replace(/\*/g, function () { - return Math.floor(Random.fraction()*10); + host = host.replace(/\*/g, function() { + return Math.floor(Random.fraction() * 10); }); return newScheme + '://' + host + rest; } else if (httpUrlMatch) { - newScheme = !httpUrlMatch[1] ? newSchemeBase : newSchemeBase + "s"; + newScheme = !httpUrlMatch[1] ? newSchemeBase : newSchemeBase + 's'; var urlAfterHttp = url.substr(httpUrlMatch[0].length); - url = newScheme + "://" + urlAfterHttp; + url = newScheme + '://' + urlAfterHttp; } // Prefix FQDNs but not relative URLs - if (url.indexOf("://") === -1 && !startsWith(url, "/")) { - url = newSchemeBase + "://" + url; + if (url.indexOf('://') === -1 && !startsWith(url, '/')) { + url = newSchemeBase + '://' + url; } // XXX This is not what we should be doing: if I have a site @@ -66,19 +68,17 @@ var translateUrl = function(url, newSchemeBase, subPath) { // root. See also client_convenience.js #RationalizingRelativeDDPURLs url = Meteor._relativeToSiteRootUrl(url); - if (endsWith(url, "/")) - return url + subPath; - else - return url + "/" + subPath; + if (endsWith(url, '/')) return url + subPath; + else return url + '/' + subPath; }; export function toSockjsUrl(url) { - return translateUrl(url, "http", "sockjs"); -}; + return translateUrl(url, 'http', 'sockjs'); +} export function toWebsocketUrl(url) { - var ret = translateUrl(url, "ws", "websocket"); + var ret = translateUrl(url, 'ws', 'websocket'); return ret; -}; +} LivedataTest.toSockjsUrl = toSockjsUrl; diff --git a/packages/ddp-client/package.js b/packages/ddp-client/package.js index 8d03a5609e..330429616e 100644 --- a/packages/ddp-client/package.js +++ b/packages/ddp-client/package.js @@ -5,22 +5,32 @@ Package.describe({ }); Npm.depends({ - "faye-websocket": "0.11.1", - "lolex": "1.4.0", - "permessage-deflate": "0.1.6" + 'faye-websocket': '0.11.1', + lolex: '1.4.0', + 'permessage-deflate': '0.1.6' }); -Package.onUse(function (api) { - api.use(['check', 'random', 'ejson', 'underscore', 'tracker', - 'retry', 'id-map', 'ecmascript'], - ['client', 'server']); +Package.onUse(function(api) { + api.use( + [ + 'check', + 'random', + 'ejson', + 'underscore', + 'tracker', + 'retry', + 'id-map', + 'ecmascript' + ], + ['client', 'server'] + ); api.use('callback-hook', ['client', 'server']); // common functionality api.use('ddp-common', ['client', 'server']); - api.use('reload', 'client', {weak: true}); + api.use('reload', 'client', { weak: true }); // we depend on _diffObjects, _applyChanges, api.use('diff-sequence', ['client', 'server']); @@ -29,11 +39,11 @@ Package.onUse(function (api) { // For backcompat where things use Package.ddp.DDP, etc api.export('DDP'); - api.mainModule("client/client.js", "client"); - api.mainModule("server/server.js", "server"); + api.mainModule('client/client.js', 'client'); + api.mainModule('server/server.js', 'server'); }); -Package.onTest(function (api) { +Package.onTest(function(api) { api.use('livedata', ['client', 'server']); api.use('mongo', ['client', 'server']); api.use('test-helpers', ['client', 'server']); diff --git a/packages/ddp-client/server/stream_client_nodejs.js b/packages/ddp-client/server/stream_client_nodejs.js index 999da1c8bb..20ad93d9be 100644 --- a/packages/ddp-client/server/stream_client_nodejs.js +++ b/packages/ddp-client/server/stream_client_nodejs.js @@ -1,7 +1,7 @@ import { _ } from 'meteor/underscore'; import { Meteor } from 'meteor/meteor'; -import { DDP, LivedataTest } from "../common/namespace"; +import { DDP, LivedataTest } from '../common/namespace'; import { toWebsocketUrl } from '../common/urlHelpers'; import { addCommonMethodsToPrototype } from '../common/stream_client_common'; @@ -21,11 +21,14 @@ LivedataTest.ClientStream = class ClientStream { const self = this; options = options || {}; - self.options = Object.assign({ - retry: true - }, options); + self.options = Object.assign( + { + retry: true + }, + options + ); - self.client = null; // created in _launchConnection + self.client = null; // created in _launchConnection self.endpoint = endpoint; self.headers = self.options.headers || {}; @@ -61,7 +64,7 @@ LivedataTest.ClientStream = class ClientStream { // But _launchConnection calls _cleanup which closes previous connections. // It's our belief that this stifles future 'open' events, but maybe // we are wrong? - throw new Error("Got open from inactive client " + !!self.client); + throw new Error('Got open from inactive client ' + !!self.client); } if (self._forcedToDisconnect) { @@ -78,20 +81,22 @@ LivedataTest.ClientStream = class ClientStream { // 'reconnect now' on a hanging connection and we had no way to cancel the // connection attempt.) But this shouldn't happen (similarly to the client // !== self.client check above). - throw new Error("Two parallel connections?"); + throw new Error('Two parallel connections?'); } self._clearConnectionTimer(); // update status - self.currentStatus.status = "connected"; + self.currentStatus.status = 'connected'; self.currentStatus.connected = true; self.currentStatus.retryCount = 0; self.statusChanged(); // fire resets. This must come after status change so that clients // can call send from within a reset callback. - _.each(self.eventCallbacks.reset, function (callback) { callback(); }); + _.each(self.eventCallbacks.reset, function(callback) { + callback(); + }); } _cleanup(maybeError) { @@ -103,7 +108,7 @@ LivedataTest.ClientStream = class ClientStream { self.client = null; client.close(); - _.each(self.eventCallbacks.disconnect, function (callback) { + _.each(self.eventCallbacks.disconnect, function(callback) { callback(maybeError); }); } @@ -148,7 +153,7 @@ LivedataTest.ClientStream = class ClientStream { var proxyUrl = self._getProxyUrl(targetUrl); if (proxyUrl) { fayeOptions.proxy = { origin: proxyUrl }; - }; + } // We would like to specify 'ddp' as the subprotocol here. The npm module we // used to use as a client would fail the handshake if we ask for a @@ -157,51 +162,53 @@ LivedataTest.ClientStream = class ClientStream { // Faye is erroneous or not. So for now, we don't specify protocols. var subprotocols = []; - var client = self.client = new FayeWebSocket.Client( - targetUrl, subprotocols, fayeOptions); + var client = (self.client = new FayeWebSocket.Client( + targetUrl, + subprotocols, + fayeOptions + )); self._clearConnectionTimer(); - self.connectionTimer = Meteor.setTimeout( - function () { - self._lostConnection( - new DDP.ConnectionError("DDP connection timed out")); - }, - self.CONNECT_TIMEOUT); + self.connectionTimer = Meteor.setTimeout(function() { + self._lostConnection(new DDP.ConnectionError('DDP connection timed out')); + }, self.CONNECT_TIMEOUT); - self.client.on('open', Meteor.bindEnvironment(function () { - return self._onConnect(client); - }, "stream connect callback")); + self.client.on( + 'open', + Meteor.bindEnvironment(function() { + return self._onConnect(client); + }, 'stream connect callback') + ); - var clientOnIfCurrent = function (event, description, f) { - self.client.on(event, Meteor.bindEnvironment(function () { - // Ignore events from any connection we've already cleaned up. - if (client !== self.client) - return; - f.apply(this, arguments); - }, description)); + var clientOnIfCurrent = function(event, description, f) { + self.client.on( + event, + Meteor.bindEnvironment(function() { + // Ignore events from any connection we've already cleaned up. + if (client !== self.client) return; + f.apply(this, arguments); + }, description) + ); }; - clientOnIfCurrent('error', 'stream error callback', function (error) { + clientOnIfCurrent('error', 'stream error callback', function(error) { if (!self.options._dontPrintErrors) - Meteor._debug("stream error", error.message); + Meteor._debug('stream error', error.message); // Faye's 'error' object is not a JS error (and among other things, // doesn't stringify well). Convert it to one. self._lostConnection(new DDP.ConnectionError(error.message)); }); - - clientOnIfCurrent('close', 'stream close callback', function () { + clientOnIfCurrent('close', 'stream close callback', function() { self._lostConnection(); }); - - clientOnIfCurrent('message', 'stream message callback', function (message) { + clientOnIfCurrent('message', 'stream message callback', function(message) { // Ignore binary frames, where message.data is a Buffer - if (typeof message.data !== "string") - return; + if (typeof message.data !== 'string') return; - _.each(self.eventCallbacks.message, function (callback) { + _.each(self.eventCallbacks.message, function(callback) { callback(message.data); }); }); diff --git a/packages/ddp-client/test/livedata_connection_tests.js b/packages/ddp-client/test/livedata_connection_tests.js index 4f23650931..b6eca04c1b 100644 --- a/packages/ddp-client/test/livedata_connection_tests.js +++ b/packages/ddp-client/test/livedata_connection_tests.js @@ -1,25 +1,30 @@ import lolex from 'lolex'; -import { DDP, LivedataTest } from "../common/namespace.js"; +import { DDP, LivedataTest } from '../common/namespace.js'; -var newConnection = function (stream, options) { +var newConnection = function(stream, options) { // Some of these tests leave outstanding methods with no result yet // returned. This should not block us from re-running tests when sources // change. - return new LivedataTest.Connection(stream, _.extend({ - reloadWithOutstanding: true, - bufferedWritesInterval: 0 - }, options)); + return new LivedataTest.Connection( + stream, + _.extend( + { + reloadWithOutstanding: true, + bufferedWritesInterval: 0 + }, + options + ) + ); }; -var makeConnectMessage = function (session) { +var makeConnectMessage = function(session) { var msg = { msg: 'connect', version: LivedataTest.SUPPORTED_DDP_VERSIONS[0], support: LivedataTest.SUPPORTED_DDP_VERSIONS }; - if (session) - msg.session = session; + if (session) msg.session = session; return msg; }; @@ -29,9 +34,9 @@ var makeConnectMessage = function (session) { // Returns the message (parsed as a JSON object if expected is an object); // which is particularly handy if you want to extract a value that was // matched as a wildcard. -var testGotMessage = function (test, stream, expected) { +var testGotMessage = function(test, stream, expected) { if (stream.sent.length === 0) { - test.fail({error: 'no message received', expected: expected}); + test.fail({ error: 'no message received', expected: expected }); return undefined; } @@ -45,11 +50,10 @@ var testGotMessage = function (test, stream, expected) { // function. if (typeof expected === 'object') { var keysWithStarValues = []; - _.each(expected, function (v, k) { - if (v === '*') - keysWithStarValues.push(k); + _.each(expected, function(v, k) { + if (v === '*') keysWithStarValues.push(k); }); - _.each(keysWithStarValues, function (k) { + _.each(keysWithStarValues, function(k) { expected[k] = got[k]; }); } @@ -64,13 +68,13 @@ var startAndConnect = function(test, stream) { testGotMessage(test, stream, makeConnectMessage()); test.length(stream.sent, 0); - stream.receive({msg: 'connected', session: SESSION_ID}); + stream.receive({ msg: 'connected', session: SESSION_ID }); test.length(stream.sent, 0); }; var SESSION_ID = '17'; -Tinytest.add("livedata stub - receive data", function (test) { +Tinytest.add('livedata stub - receive data', function(test) { var stream = new StubStream(); var conn = newConnection(stream); @@ -78,8 +82,12 @@ Tinytest.add("livedata stub - receive data", function (test) { // data comes in for unknown collection. var coll_name = Random.id(); - stream.receive({msg: 'added', collection: coll_name, id: '1234', - fields: {a: 1}}); + stream.receive({ + msg: 'added', + collection: coll_name, + id: '1234', + fields: { a: 1 } + }); // break throught the black box and test internal state test.length(conn._updatesForUnknownStores[coll_name], 1); @@ -89,25 +97,29 @@ Tinytest.add("livedata stub - receive data", function (test) { // queue has been emptied and doc is in db. test.isUndefined(conn._updatesForUnknownStores[coll_name]); - test.equal(coll.find({}).fetch(), [{_id:'1234', a:1}]); + test.equal(coll.find({}).fetch(), [{ _id: '1234', a: 1 }]); // second message. applied directly to the db. - stream.receive({msg: 'changed', collection: coll_name, id: '1234', - fields: {a:2}}); - test.equal(coll.find({}).fetch(), [{_id:'1234', a:2}]); + stream.receive({ + msg: 'changed', + collection: coll_name, + id: '1234', + fields: { a: 2 } + }); + test.equal(coll.find({}).fetch(), [{ _id: '1234', a: 2 }]); test.isUndefined(conn._updatesForUnknownStores[coll_name]); }); -Tinytest.add("livedata stub - buffering data", function (test) { +Tinytest.add('livedata stub - buffering data', function(test) { // Install special setTimeout that allows tick-by-tick control in tests using sinonjs 'lolex' // This needs to be before the connection is instantiated. const clock = lolex.install(); - const tick = (timeout) => clock.tick(timeout); + const tick = timeout => clock.tick(timeout); const stream = new StubStream(); const conn = newConnection(stream, { bufferedWritesInterval: 10, - bufferedWritesMaxAge: 40, + bufferedWritesMaxAge: 40 }); startAndConnect(test, stream); @@ -115,7 +127,7 @@ Tinytest.add("livedata stub - buffering data", function (test) { const coll_name = Random.id(); const coll = new Mongo.Collection(coll_name, conn); - const testDocCount = (count) => test.equal(coll.find({}).count(), count); + const testDocCount = count => test.equal(coll.find({}).count(), count); const addDoc = () => { stream.receive({ @@ -129,10 +141,10 @@ Tinytest.add("livedata stub - buffering data", function (test) { // Starting at 0 ticks. At this point we haven't advanced the fake clock at all. addDoc(); // 1st Doc - testDocCount(0); // No doc been recognized yet because it's buffered, waiting for more. + testDocCount(0); // No doc been recognized yet because it's buffered, waiting for more. tick(6); // 6 total ticks testDocCount(0); // Ensure that the doc still hasn't shown up, despite the clock moving forward. - tick(4) // 10 total ticks, 1st buffer interval + tick(4); // 10 total ticks, 1st buffer interval testDocCount(1); // No other docs have arrived, so we 'see' the 1st doc. addDoc(); // 2nd doc @@ -162,7 +174,7 @@ Tinytest.add("livedata stub - buffering data", function (test) { clock.uninstall(); }); -Tinytest.add("livedata stub - subscribe", function (test) { +Tinytest.add('livedata stub - subscribe', function(test) { var stream = new StubStream(); var conn = newConnection(stream); @@ -170,7 +182,7 @@ Tinytest.add("livedata stub - subscribe", function (test) { // subscribe var callback_fired = false; - var sub = conn.subscribe('my_data', function () { + var sub = conn.subscribe('my_data', function() { callback_fired = true; }); test.isFalse(callback_fired); @@ -179,16 +191,16 @@ Tinytest.add("livedata stub - subscribe", function (test) { var message = JSON.parse(stream.sent.shift()); var id = message.id; delete message.id; - test.equal(message, {msg: 'sub', name: 'my_data', params: []}); + test.equal(message, { msg: 'sub', name: 'my_data', params: [] }); var reactivelyReady = false; - var autorunHandle = Tracker.autorun(function () { + var autorunHandle = Tracker.autorun(function() { reactivelyReady = sub.ready(); }); test.isFalse(reactivelyReady); // get the sub satisfied. callback fires. - stream.receive({msg: 'ready', 'subs': [id]}); + stream.receive({ msg: 'ready', subs: [id] }); test.isTrue(callback_fired); Tracker.flush(); test.isTrue(reactivelyReady); @@ -197,7 +209,7 @@ Tinytest.add("livedata stub - subscribe", function (test) { sub.stop(); test.length(stream.sent, 1); message = JSON.parse(stream.sent.shift()); - test.equal(message, {msg: 'unsub', id: id}); + test.equal(message, { msg: 'unsub', id: id }); Tracker.flush(); test.isFalse(reactivelyReady); @@ -208,11 +220,10 @@ Tinytest.add("livedata stub - subscribe", function (test) { var id2 = message.id; test.notEqual(id, id2); delete message.id; - test.equal(message, {msg: 'sub', name: 'my_data', params: []}); + test.equal(message, { msg: 'sub', name: 'my_data', params: [] }); }); - -Tinytest.add("livedata stub - reactive subscribe", function (test) { +Tinytest.add('livedata stub - reactive subscribe', function(test) { var stream = new StubStream(); var conn = newConnection(stream); @@ -222,22 +233,20 @@ Tinytest.add("livedata stub - reactive subscribe", function (test) { var rBar = new ReactiveVar('bar1'); var onReadyCount = {}; - var onReady = function (tag) { - return function () { - if (_.has(onReadyCount, tag)) - ++onReadyCount[tag]; - else - onReadyCount[tag] = 1; + var onReady = function(tag) { + return function() { + if (_.has(onReadyCount, tag)) ++onReadyCount[tag]; + else onReadyCount[tag] = 1; }; }; // Subscribe to some subs. var stopperHandle, completerHandle; - var autorunHandle = Tracker.autorun(function () { - conn.subscribe("foo", rFoo.get(), onReady(rFoo.get())); - conn.subscribe("bar", rBar.get(), onReady(rBar.get())); - completerHandle = conn.subscribe("completer", onReady("completer")); - stopperHandle = conn.subscribe("stopper", onReady("stopper")); + var autorunHandle = Tracker.autorun(function() { + conn.subscribe('foo', rFoo.get(), onReady(rFoo.get())); + conn.subscribe('bar', rBar.get(), onReady(rBar.get())); + completerHandle = conn.subscribe('completer', onReady('completer')); + stopperHandle = conn.subscribe('stopper', onReady('stopper')); }); var completerReady; @@ -250,22 +259,22 @@ Tinytest.add("livedata stub - reactive subscribe", function (test) { var message = JSON.parse(stream.sent.shift()); var idFoo1 = message.id; delete message.id; - test.equal(message, {msg: 'sub', name: 'foo', params: ['foo1']}); + test.equal(message, { msg: 'sub', name: 'foo', params: ['foo1'] }); message = JSON.parse(stream.sent.shift()); var idBar1 = message.id; delete message.id; - test.equal(message, {msg: 'sub', name: 'bar', params: ['bar1']}); + test.equal(message, { msg: 'sub', name: 'bar', params: ['bar1'] }); message = JSON.parse(stream.sent.shift()); var idCompleter = message.id; delete message.id; - test.equal(message, {msg: 'sub', name: 'completer', params: []}); + test.equal(message, { msg: 'sub', name: 'completer', params: [] }); message = JSON.parse(stream.sent.shift()); var idStopper = message.id; delete message.id; - test.equal(message, {msg: 'sub', name: 'stopper', params: []}); + test.equal(message, { msg: 'sub', name: 'stopper', params: [] }); // Haven't hit onReady yet. test.equal(onReadyCount, {}); @@ -273,8 +282,8 @@ Tinytest.add("livedata stub - reactive subscribe", function (test) { test.isFalse(completerReady); // "completer" gets ready now. its callback should fire. - stream.receive({msg: 'ready', 'subs': [idCompleter]}); - test.equal(onReadyCount, {completer: 1}); + stream.receive({ msg: 'ready', subs: [idCompleter] }); + test.equal(onReadyCount, { completer: 1 }); test.length(stream.sent, 0); Tracker.flush(); test.isTrue(completerReady); @@ -283,9 +292,9 @@ Tinytest.add("livedata stub - reactive subscribe", function (test) { stopperHandle.stop(); test.length(stream.sent, 1); message = JSON.parse(stream.sent.shift()); - test.equal(message, {msg: 'unsub', id: idStopper}); + test.equal(message, { msg: 'unsub', id: idStopper }); - test.equal(onReadyCount, {completer: 1}); + test.equal(onReadyCount, { completer: 1 }); Tracker.flush(); test.isTrue(completerReady); @@ -295,24 +304,24 @@ Tinytest.add("livedata stub - reactive subscribe", function (test) { // subscription should call its new onReady callback, because we always // call onReady for a given reactively-saved subscription. // The completerHandle should have been reestablished to the ready handle. - rFoo.set("foo2"); + rFoo.set('foo2'); Tracker.flush(); test.length(stream.sent, 3); message = JSON.parse(stream.sent.shift()); var idFoo2 = message.id; delete message.id; - test.equal(message, {msg: 'sub', name: 'foo', params: ['foo2']}); + test.equal(message, { msg: 'sub', name: 'foo', params: ['foo2'] }); message = JSON.parse(stream.sent.shift()); var idStopperAgain = message.id; delete message.id; - test.equal(message, {msg: 'sub', name: 'stopper', params: []}); + test.equal(message, { msg: 'sub', name: 'stopper', params: [] }); message = JSON.parse(stream.sent.shift()); - test.equal(message, {msg: 'unsub', id: idFoo1}); + test.equal(message, { msg: 'unsub', id: idFoo1 }); - test.equal(onReadyCount, {completer: 2}); + test.equal(onReadyCount, { completer: 2 }); test.isTrue(completerReady); // Ready the stopper and bar subs. Completing stopper should call only the @@ -321,8 +330,8 @@ Tinytest.add("livedata stub - reactive subscribe", function (test) { // the client; completing bar should call the onReady from the new // subscription because we always call onReady for a given reactively-saved // subscription. - stream.receive({msg: 'ready', 'subs': [idStopperAgain, idBar1]}); - test.equal(onReadyCount, {completer: 2, bar1: 1, stopper: 1}); + stream.receive({ msg: 'ready', subs: [idStopperAgain, idBar1] }); + test.equal(onReadyCount, { completer: 2, bar1: 1, stopper: 1 }); // Shut down the autorun. This should unsub us from all current subs at flush // time. @@ -343,7 +352,9 @@ Tinytest.add("livedata stub - reactive subscribe", function (test) { test.equal(actualIds, expectedIds); }); -Tinytest.add("livedata stub - reactive subscribe handle correct", function (test) { +Tinytest.add('livedata stub - reactive subscribe handle correct', function( + test +) { var stream = new StubStream(); var conn = newConnection(stream); @@ -353,8 +364,8 @@ Tinytest.add("livedata stub - reactive subscribe handle correct", function (test // Subscribe to some subs. var fooHandle, fooReady; - var autorunHandle = Tracker.autorun(function () { - fooHandle = conn.subscribe("foo", rFoo.get()); + var autorunHandle = Tracker.autorun(function() { + fooHandle = conn.subscribe('foo', rFoo.get()); Tracker.autorun(function() { fooReady = fooHandle.ready(); }); @@ -363,7 +374,7 @@ Tinytest.add("livedata stub - reactive subscribe handle correct", function (test var message = JSON.parse(stream.sent.shift()); var idFoo1 = message.id; delete message.id; - test.equal(message, {msg: 'sub', name: 'foo', params: ['foo1']}); + test.equal(message, { msg: 'sub', name: 'foo', params: ['foo1'] }); // Not ready yet Tracker.flush(); @@ -373,24 +384,24 @@ Tinytest.add("livedata stub - reactive subscribe handle correct", function (test // change the argument to foo. This will make a new handle, which isn't ready // the ready autorun should invalidate, reading the new false value, and // setting up a new dep which goes true soon - rFoo.set("foo2"); + rFoo.set('foo2'); Tracker.flush(); test.length(stream.sent, 2); message = JSON.parse(stream.sent.shift()); var idFoo2 = message.id; delete message.id; - test.equal(message, {msg: 'sub', name: 'foo', params: ['foo2']}); + test.equal(message, { msg: 'sub', name: 'foo', params: ['foo2'] }); message = JSON.parse(stream.sent.shift()); - test.equal(message, {msg: 'unsub', id: idFoo1}); + test.equal(message, { msg: 'unsub', id: idFoo1 }); Tracker.flush(); test.isFalse(fooHandle.ready()); test.isFalse(fooReady); // "foo" gets ready now. The handle should be ready and the autorun rerun - stream.receive({msg: 'ready', 'subs': [idFoo2]}); + stream.receive({ msg: 'ready', subs: [idFoo2] }); test.length(stream.sent, 0); Tracker.flush(); test.isTrue(fooHandle.ready()); @@ -398,24 +409,24 @@ Tinytest.add("livedata stub - reactive subscribe handle correct", function (test // change the argument to foo. This will make a new handle, which isn't ready // the ready autorun should invalidate, making fooReady false too - rFoo.set("foo3"); + rFoo.set('foo3'); Tracker.flush(); test.length(stream.sent, 2); message = JSON.parse(stream.sent.shift()); var idFoo3 = message.id; delete message.id; - test.equal(message, {msg: 'sub', name: 'foo', params: ['foo3']}); + test.equal(message, { msg: 'sub', name: 'foo', params: ['foo3'] }); message = JSON.parse(stream.sent.shift()); - test.equal(message, {msg: 'unsub', id: idFoo2}); + test.equal(message, { msg: 'unsub', id: idFoo2 }); Tracker.flush(); test.isFalse(fooHandle.ready()); test.isFalse(fooReady); // "foo" gets ready again - stream.receive({msg: 'ready', 'subs': [idFoo3]}); + stream.receive({ msg: 'ready', subs: [idFoo3] }); test.length(stream.sent, 0); Tracker.flush(); test.isTrue(fooHandle.ready()); @@ -424,58 +435,72 @@ Tinytest.add("livedata stub - reactive subscribe handle correct", function (test autorunHandle.stop(); }); -Tinytest.add("livedata stub - this", function (test) { +Tinytest.add('livedata stub - this', function(test) { var stream = new StubStream(); var conn = newConnection(stream); startAndConnect(test, stream); - conn.methods({test_this: function() { - test.isTrue(this.isSimulation); - this.unblock(); // should be a no-op - }}); + conn.methods({ + test_this: function() { + test.isTrue(this.isSimulation); + this.unblock(); // should be a no-op + } + }); // should throw no exceptions conn.call('test_this', _.identity); // satisfy method, quiesce connection var message = JSON.parse(stream.sent.shift()); test.isUndefined(message.randomSeed); - test.equal(message, {msg: 'method', method: 'test_this', - params: [], id:message.id}); + test.equal(message, { + msg: 'method', + method: 'test_this', + params: [], + id: message.id + }); test.length(stream.sent, 0); - stream.receive({msg: 'result', id:message.id, result:null}); - stream.receive({msg: 'updated', 'methods': [message.id]}); - + stream.receive({ msg: 'result', id: message.id, result: null }); + stream.receive({ msg: 'updated', methods: [message.id] }); }); if (Meteor.isClient) { - Tinytest.add("livedata stub - methods", function (test) { + Tinytest.add('livedata stub - methods', function(test) { var stream = new StubStream(); var conn = newConnection(stream); startAndConnect(test, stream); var collName = Random.id(); - var coll = new Mongo.Collection(collName, {connection: conn}); + var coll = new Mongo.Collection(collName, { connection: conn }); // setup method - conn.methods({do_something: function (x) { - coll.insert({value: x}); - }}); + conn.methods({ + do_something: function(x) { + coll.insert({ value: x }); + } + }); // setup observers - var counts = {added: 0, removed: 0, changed: 0, moved: 0}; - var handle = coll.find({}).observe( - { addedAt: function () { counts.added += 1; }, - removedAt: function () { counts.removed += 1; }, - changedAt: function () { counts.changed += 1; }, - movedTo: function () { counts.moved += 1; } - }); - + var counts = { added: 0, removed: 0, changed: 0, moved: 0 }; + var handle = coll.find({}).observe({ + addedAt: function() { + counts.added += 1; + }, + removedAt: function() { + counts.removed += 1; + }, + changedAt: function() { + counts.changed += 1; + }, + movedTo: function() { + counts.moved += 1; + } + }); // call method with results callback var callback1Fired = false; - conn.call('do_something', 'friday!', function (err, res) { + conn.call('do_something', 'friday!', function(err, res) { test.isUndefined(err); test.equal(res, '1234'); callback1Fired = true; @@ -483,39 +508,45 @@ if (Meteor.isClient) { test.isFalse(callback1Fired); // observers saw the method run. - test.equal(counts, {added: 1, removed: 0, changed: 0, moved: 0}); + test.equal(counts, { added: 1, removed: 0, changed: 0, moved: 0 }); // get response from server - var message = testGotMessage(test, stream, {msg: 'method', - method: 'do_something', - params: ['friday!'], - id: '*', - randomSeed: '*'}); + var message = testGotMessage(test, stream, { + msg: 'method', + method: 'do_something', + params: ['friday!'], + id: '*', + randomSeed: '*' + }); test.equal(coll.find({}).count(), 1); - test.equal(coll.find({value: 'friday!'}).count(), 1); - var docId = coll.findOne({value: 'friday!'})._id; + test.equal(coll.find({ value: 'friday!' }).count(), 1); + var docId = coll.findOne({ value: 'friday!' })._id; // results does not yet result in callback, because data is not // ready. - stream.receive({msg: 'result', id:message.id, result: "1234"}); + stream.receive({ msg: 'result', id: message.id, result: '1234' }); test.isFalse(callback1Fired); // result message doesn't affect data test.equal(coll.find({}).count(), 1); - test.equal(coll.find({value: 'friday!'}).count(), 1); - test.equal(counts, {added: 1, removed: 0, changed: 0, moved: 0}); + test.equal(coll.find({ value: 'friday!' }).count(), 1); + test.equal(counts, { added: 1, removed: 0, changed: 0, moved: 0 }); // data methods do not show up (not quiescent yet) - stream.receive({msg: 'added', collection: collName, id: MongoID.idStringify(docId), - fields: {value: 'tuesday'}}); + stream.receive({ + msg: 'added', + collection: collName, + id: MongoID.idStringify(docId), + fields: { value: 'tuesday' } + }); test.equal(coll.find({}).count(), 1); - test.equal(coll.find({value: 'friday!'}).count(), 1); - test.equal(counts, {added: 1, removed: 0, changed: 0, moved: 0}); + test.equal(coll.find({ value: 'friday!' }).count(), 1); + test.equal(counts, { added: 1, removed: 0, changed: 0, moved: 0 }); // send another methods (unknown on client) var callback2Fired = false; - conn.call('do_something_else', 'monday', function (err, res) { + conn.call('do_something_else', 'monday', function(err, res) { callback2Fired = true; }); test.isFalse(callback1Fired); @@ -524,69 +555,87 @@ if (Meteor.isClient) { // test we still send a method request to server var message2 = JSON.parse(stream.sent.shift()); test.isUndefined(message2.randomSeed); - test.equal(message2, {msg: 'method', method: 'do_something_else', - params: ['monday'], id: message2.id}); + test.equal(message2, { + msg: 'method', + method: 'do_something_else', + params: ['monday'], + id: message2.id + }); // get the first data satisfied message. changes are applied to database even // though another method is outstanding, because the other method didn't have // a stub. and its callback is called. - stream.receive({msg: 'updated', 'methods': [message.id]}); + stream.receive({ msg: 'updated', methods: [message.id] }); test.isTrue(callback1Fired); test.isFalse(callback2Fired); test.equal(coll.find({}).count(), 1); - test.equal(coll.find({value: 'tuesday'}).count(), 1); - test.equal(counts, {added: 1, removed: 0, changed: 1, moved: 0}); + test.equal(coll.find({ value: 'tuesday' }).count(), 1); + test.equal(counts, { added: 1, removed: 0, changed: 1, moved: 0 }); // second result - stream.receive({msg: 'result', id:message2.id, result:"bupkis"}); + stream.receive({ msg: 'result', id: message2.id, result: 'bupkis' }); test.isFalse(callback2Fired); // get second satisfied; no new changes are applied. - stream.receive({msg: 'updated', 'methods': [message2.id]}); + stream.receive({ msg: 'updated', methods: [message2.id] }); test.isTrue(callback2Fired); test.equal(coll.find({}).count(), 1); - test.equal(coll.find({value: 'tuesday', _id: docId}).count(), 1); - test.equal(counts, {added: 1, removed: 0, changed: 1, moved: 0}); + test.equal(coll.find({ value: 'tuesday', _id: docId }).count(), 1); + test.equal(counts, { added: 1, removed: 0, changed: 1, moved: 0 }); handle.stop(); }); } -Tinytest.add("livedata stub - mutating method args", function (test) { +Tinytest.add('livedata stub - mutating method args', function(test) { var stream = new StubStream(); var conn = newConnection(stream); startAndConnect(test, stream); - conn.methods({mutateArgs: function (arg) { - arg.foo = 42; - }}); + conn.methods({ + mutateArgs: function(arg) { + arg.foo = 42; + } + }); - conn.call('mutateArgs', {foo: 50}, _.identity); + conn.call('mutateArgs', { foo: 50 }, _.identity); // Method should be called with original arg, not mutated arg. var message = JSON.parse(stream.sent.shift()); test.isUndefined(message.randomSeed); - test.equal(message, {msg: 'method', method: 'mutateArgs', - params: [{foo: 50}], id: message.id}); + test.equal(message, { + msg: 'method', + method: 'mutateArgs', + params: [{ foo: 50 }], + id: message.id + }); test.length(stream.sent, 0); }); -var observeCursor = function (test, cursor) { - var counts = {added: 0, removed: 0, changed: 0, moved: 0}; +var observeCursor = function(test, cursor) { + var counts = { added: 0, removed: 0, changed: 0, moved: 0 }; var expectedCounts = _.clone(counts); - var handle = cursor.observe( - { addedAt: function () { counts.added += 1; }, - removedAt: function () { counts.removed += 1; }, - changedAt: function () { counts.changed += 1; }, - movedTo: function () { counts.moved += 1; } - }); + var handle = cursor.observe({ + addedAt: function() { + counts.added += 1; + }, + removedAt: function() { + counts.removed += 1; + }, + changedAt: function() { + counts.changed += 1; + }, + movedTo: function() { + counts.moved += 1; + } + }); return { stop: _.bind(handle.stop, handle), - expectCallbacks: function (delta) { - _.each(delta, function (mod, field) { + expectCallbacks: function(delta) { + _.each(delta, function(mod, field) { expectedCounts[field] += mod; }); test.equal(counts, expectedCounts); @@ -596,22 +645,22 @@ var observeCursor = function (test, cursor) { // method calls another method in simulation. see not sent. if (Meteor.isClient) { - Tinytest.add("livedata stub - methods calling methods", function (test) { + Tinytest.add('livedata stub - methods calling methods', function(test) { var stream = new StubStream(); var conn = newConnection(stream); startAndConnect(test, stream); var coll_name = Random.id(); - var coll = new Mongo.Collection(coll_name, {connection: conn}); + var coll = new Mongo.Collection(coll_name, { connection: conn }); // setup methods conn.methods({ - do_something: function () { + do_something: function() { conn.call('do_something_else'); }, - do_something_else: function () { - coll.insert({a: 1}); + do_something_else: function() { + coll.insert({ a: 1 }); } }); @@ -621,52 +670,62 @@ if (Meteor.isClient) { conn.call('do_something', _.identity); // see we only send message for outer methods - var message = testGotMessage(test, stream, {msg: 'method', - method: 'do_something', - params: [], - id: '*', - randomSeed: '*'}); + var message = testGotMessage(test, stream, { + msg: 'method', + method: 'do_something', + params: [], + id: '*', + randomSeed: '*' + }); test.length(stream.sent, 0); // but inner method runs locally. - o.expectCallbacks({added: 1}); + o.expectCallbacks({ added: 1 }); test.equal(coll.find().count(), 1); var docId = coll.findOne()._id; - test.equal(coll.findOne(), {_id: docId, a: 1}); + test.equal(coll.findOne(), { _id: docId, a: 1 }); // we get the results - stream.receive({msg: 'result', id:message.id, result:"1234"}); + stream.receive({ msg: 'result', id: message.id, result: '1234' }); // get data from the method. data from this doc does not show up yet, but data // from another doc does. - stream.receive({msg: 'added', collection: coll_name, id: MongoID.idStringify(docId), - fields: {value: 'tuesday'}}); + stream.receive({ + msg: 'added', + collection: coll_name, + id: MongoID.idStringify(docId), + fields: { value: 'tuesday' } + }); o.expectCallbacks(); - test.equal(coll.findOne(docId), {_id: docId, a: 1}); - stream.receive({msg: 'added', collection: coll_name, id: 'monkey', - fields: {value: 'bla'}}); - o.expectCallbacks({added: 1}); - test.equal(coll.findOne(docId), {_id: docId, a: 1}); - var newDoc = coll.findOne({value: 'bla'}); + test.equal(coll.findOne(docId), { _id: docId, a: 1 }); + stream.receive({ + msg: 'added', + collection: coll_name, + id: 'monkey', + fields: { value: 'bla' } + }); + o.expectCallbacks({ added: 1 }); + test.equal(coll.findOne(docId), { _id: docId, a: 1 }); + var newDoc = coll.findOne({ value: 'bla' }); test.isTrue(newDoc); - test.equal(newDoc, {_id: newDoc._id, value: 'bla'}); + test.equal(newDoc, { _id: newDoc._id, value: 'bla' }); // get method satisfied. all data shows up. the 'a' field is reverted and // 'value' field is set. - stream.receive({msg: 'updated', 'methods': [message.id]}); - o.expectCallbacks({changed: 1}); - test.equal(coll.findOne(docId), {_id: docId, value: 'tuesday'}); - test.equal(coll.findOne(newDoc._id), {_id: newDoc._id, value: 'bla'}); + stream.receive({ msg: 'updated', methods: [message.id] }); + o.expectCallbacks({ changed: 1 }); + test.equal(coll.findOne(docId), { _id: docId, value: 'tuesday' }); + test.equal(coll.findOne(newDoc._id), { _id: newDoc._id, value: 'bla' }); o.stop(); }); } -Tinytest.add("livedata stub - method call before connect", function (test) { - var stream = new StubStream; +Tinytest.add('livedata stub - method call before connect', function(test) { + var stream = new StubStream(); var conn = newConnection(stream); var callbackOutput = []; - conn.call('someMethod', function (err, result) { + conn.call('someMethod', function(err, result) { callbackOutput.push(result); }); test.equal(callbackOutput, []); @@ -678,58 +737,75 @@ Tinytest.add("livedata stub - method call before connect", function (test) { stream.reset(); testGotMessage(test, stream, makeConnectMessage()); - testGotMessage(test, stream, {msg: 'method', method: 'someMethod', - params: [], id: '*'}); + testGotMessage(test, stream, { + msg: 'method', + method: 'someMethod', + params: [], + id: '*' + }); }); -Tinytest.add("livedata stub - reconnect", function (test) { +Tinytest.add('livedata stub - reconnect', function(test) { var stream = new StubStream(); var conn = newConnection(stream); startAndConnect(test, stream); var collName = Random.id(); - var coll = new Mongo.Collection(collName, {connection: conn}); + var coll = new Mongo.Collection(collName, { connection: conn }); var o = observeCursor(test, coll.find()); // subscribe var subCallbackFired = false; - var sub = conn.subscribe('my_data', function () { + var sub = conn.subscribe('my_data', function() { subCallbackFired = true; }); test.isFalse(subCallbackFired); var subMessage = JSON.parse(stream.sent.shift()); - test.equal(subMessage, {msg: 'sub', name: 'my_data', params: [], - id: subMessage.id}); + test.equal(subMessage, { + msg: 'sub', + name: 'my_data', + params: [], + id: subMessage.id + }); // get some data. it shows up. - stream.receive({msg: 'added', collection: collName, - id: '1234', fields: {a:1}}); + stream.receive({ + msg: 'added', + collection: collName, + id: '1234', + fields: { a: 1 } + }); test.equal(coll.find({}).count(), 1); - o.expectCallbacks({added: 1}); + o.expectCallbacks({ added: 1 }); test.isFalse(subCallbackFired); - stream.receive({msg: 'changed', collection: collName, - id: '1234', fields: {b:2}}); - stream.receive({msg: 'ready', - subs: [subMessage.id] // satisfy sub - }); + stream.receive({ + msg: 'changed', + collection: collName, + id: '1234', + fields: { b: 2 } + }); + stream.receive({ + msg: 'ready', + subs: [subMessage.id] // satisfy sub + }); test.isTrue(subCallbackFired); subCallbackFired = false; // re-arm for test that it doesn't fire again. - test.equal(coll.find({a:1, b:2}).count(), 1); - o.expectCallbacks({changed: 1}); + test.equal(coll.find({ a: 1, b: 2 }).count(), 1); + o.expectCallbacks({ changed: 1 }); // call method. var methodCallbackFired = false; - conn.call('do_something', function () { + conn.call('do_something', function() { methodCallbackFired = true; }); - conn.apply('do_something_else', [], {wait: true}, _.identity); + conn.apply('do_something_else', [], { wait: true }, _.identity); conn.apply('do_something_later', [], _.identity); test.isFalse(methodCallbackFired); @@ -737,15 +813,23 @@ Tinytest.add("livedata stub - reconnect", function (test) { // The non-wait method should send, but not the wait method. var methodMessage = JSON.parse(stream.sent.shift()); test.isUndefined(methodMessage.randomSeed); - test.equal(methodMessage, {msg: 'method', method: 'do_something', - params: [], id:methodMessage.id}); + test.equal(methodMessage, { + msg: 'method', + method: 'do_something', + params: [], + id: methodMessage.id + }); test.equal(stream.sent.length, 0); // more data. shows up immediately because there was no relevant method stub. - stream.receive({msg: 'changed', collection: collName, - id: '1234', fields: {c:3}}); - test.equal(coll.findOne('1234'), {_id: '1234', a: 1, b: 2, c: 3}); - o.expectCallbacks({changed: 1}); + stream.receive({ + msg: 'changed', + collection: collName, + id: '1234', + fields: { c: 3 } + }); + test.equal(coll.findOne('1234'), { _id: '1234', a: 1, b: 2, c: 3 }); + o.expectCallbacks({ changed: 1 }); // stream reset. reconnect! we send a connect, our pending method, and our // sub. The wait method still is blocked. @@ -756,64 +840,84 @@ Tinytest.add("livedata stub - reconnect", function (test) { testGotMessage(test, stream, subMessage); // reconnect with different session id - stream.receive({msg: 'connected', session: SESSION_ID + 1}); + stream.receive({ msg: 'connected', session: SESSION_ID + 1 }); // resend data. doesn't show up: we're in reconnect quiescence. - stream.receive({msg: 'added', collection: collName, - id: '1234', fields: {a:1, b:2, c:3, d: 4}}); - stream.receive({msg: 'added', collection: collName, - id: '2345', fields: {e: 5}}); - test.equal(coll.findOne('1234'), {_id: '1234', a: 1, b: 2, c: 3}); + stream.receive({ + msg: 'added', + collection: collName, + id: '1234', + fields: { a: 1, b: 2, c: 3, d: 4 } + }); + stream.receive({ + msg: 'added', + collection: collName, + id: '2345', + fields: { e: 5 } + }); + test.equal(coll.findOne('1234'), { _id: '1234', a: 1, b: 2, c: 3 }); test.isFalse(coll.findOne('2345')); o.expectCallbacks(); // satisfy and return the method - stream.receive({msg: 'updated', - methods: [methodMessage.id]}); + stream.receive({ + msg: 'updated', + methods: [methodMessage.id] + }); test.isFalse(methodCallbackFired); - stream.receive({msg: 'result', id:methodMessage.id, result:"bupkis"}); + stream.receive({ msg: 'result', id: methodMessage.id, result: 'bupkis' }); // The callback still doesn't fire (and we don't send the wait method): we're // still in global quiescence test.isFalse(methodCallbackFired); test.equal(stream.sent.length, 0); // still no update. - test.equal(coll.findOne('1234'), {_id: '1234', a: 1, b: 2, c: 3}); + test.equal(coll.findOne('1234'), { _id: '1234', a: 1, b: 2, c: 3 }); test.isFalse(coll.findOne('2345')); o.expectCallbacks(); // re-satisfy sub - stream.receive({msg: 'ready', subs: [subMessage.id]}); + stream.receive({ msg: 'ready', subs: [subMessage.id] }); // now the doc changes and method callback is called, and the wait method is // sent. the sub callback isn't re-called. test.isTrue(methodCallbackFired); test.isFalse(subCallbackFired); - test.equal(coll.findOne('1234'), {_id: '1234', a: 1, b: 2, c: 3, d: 4}); - test.equal(coll.findOne('2345'), {_id: '2345', e: 5}); - o.expectCallbacks({added: 1, changed: 1}); + test.equal(coll.findOne('1234'), { _id: '1234', a: 1, b: 2, c: 3, d: 4 }); + test.equal(coll.findOne('2345'), { _id: '2345', e: 5 }); + o.expectCallbacks({ added: 1, changed: 1 }); var waitMethodMessage = JSON.parse(stream.sent.shift()); test.isUndefined(waitMethodMessage.randomSeed); - test.equal(waitMethodMessage, {msg: 'method', method: 'do_something_else', - params: [], id: waitMethodMessage.id}); + test.equal(waitMethodMessage, { + msg: 'method', + method: 'do_something_else', + params: [], + id: waitMethodMessage.id + }); test.equal(stream.sent.length, 0); - stream.receive({msg: 'result', id: waitMethodMessage.id, result: "bupkis"}); + stream.receive({ msg: 'result', id: waitMethodMessage.id, result: 'bupkis' }); test.equal(stream.sent.length, 0); - stream.receive({msg: 'updated', methods: [waitMethodMessage.id]}); + stream.receive({ msg: 'updated', methods: [waitMethodMessage.id] }); // wait method done means we can send the third method test.equal(stream.sent.length, 1); var laterMethodMessage = JSON.parse(stream.sent.shift()); test.isUndefined(laterMethodMessage.randomSeed); - test.equal(laterMethodMessage, {msg: 'method', method: 'do_something_later', - params: [], id: laterMethodMessage.id}); + test.equal(laterMethodMessage, { + msg: 'method', + method: 'do_something_later', + params: [], + id: laterMethodMessage.id + }); o.stop(); }); if (Meteor.isClient) { - Tinytest.add("livedata stub - reconnect non-idempotent method", function(test) { + Tinytest.add('livedata stub - reconnect non-idempotent method', function( + test + ) { // This test is for https://github.com/meteor/meteor/issues/6108 var stream = new StubStream(); var conn = newConnection(stream); @@ -826,14 +930,14 @@ if (Meteor.isClient) { var secondMethodCallbackErrored = false; // call with noRetry true so that the method should fail to retry on reconnect. - conn.apply('do_something', [], {noRetry: true}, function(error) { + conn.apply('do_something', [], { noRetry: true }, function(error) { firstMethodCallbackFired = true; // failure on reconnect should trigger an error. if (error && error.error === 'invocation-failed') { firstMethodCallbackErrored = true; } }); - conn.apply('do_something_else', [], {noRetry: true}, function(error) { + conn.apply('do_something_else', [], { noRetry: true }, function(error) { secondMethodCallbackFired = true; // failure on reconnect should trigger an error. if (error && error.error === 'invocation-failed') { @@ -854,7 +958,7 @@ if (Meteor.isClient) { // verify that a reconnect message was sent. testGotMessage(test, stream, makeConnectMessage(SESSION_ID)); // Make sure that the stream triggers connection. - stream.receive({msg: 'connected', session: SESSION_ID + 1}); + stream.receive({ msg: 'connected', session: SESSION_ID + 1 }); //The method callback should fire even though the stream has not sent a response. //the callback should have been fired with an error. @@ -869,18 +973,18 @@ if (Meteor.isClient) { } function addReconnectTests(name, testFunc) { - Tinytest.add(name + " (deprecated)", function (test) { + Tinytest.add(name + ' (deprecated)', function(test) { function deprecatedSetOnReconnect(conn, handler) { conn.onReconnect = handler; } testFunc.call(this, test, deprecatedSetOnReconnect); }); - Tinytest.add(name, function (test) { + Tinytest.add(name, function(test) { var stopper; function setOnReconnect(conn, handler) { stopper && stopper.stop(); - stopper = DDP.onReconnect(function (reconnectingConn) { + stopper = DDP.onReconnect(function(reconnectingConn) { if (reconnectingConn === conn) { handler(); } @@ -892,221 +996,298 @@ function addReconnectTests(name, testFunc) { } if (Meteor.isClient) { - addReconnectTests("livedata stub - reconnect method which only got result", function (test, setOnReconnect) { - var stream = new StubStream; - var conn = newConnection(stream); - startAndConnect(test, stream); + addReconnectTests( + 'livedata stub - reconnect method which only got result', + function(test, setOnReconnect) { + var stream = new StubStream(); + var conn = newConnection(stream); + startAndConnect(test, stream); - var collName = Random.id(); - var coll = new Mongo.Collection(collName, {connection: conn}); - var o = observeCursor(test, coll.find()); + var collName = Random.id(); + var coll = new Mongo.Collection(collName, { connection: conn }); + var o = observeCursor(test, coll.find()); - conn.methods({writeSomething: function () { - // stub write - coll.insert({foo: 'bar'}); - }}); - - test.equal(coll.find({foo: 'bar'}).count(), 0); - - // Call a method. We'll get the result but not data-done before reconnect. - var callbackOutput = []; - var onResultReceivedOutput = []; - conn.apply('writeSomething', [], - {onResultReceived: function (err, result) { - onResultReceivedOutput.push(result); - }}, - function (err, result) { - callbackOutput.push(result); - }); - // Stub write is visible. - test.equal(coll.find({foo: 'bar'}).count(), 1); - var stubWrittenId = coll.findOne({foo: 'bar'})._id; - o.expectCallbacks({added: 1}); - // Callback not called. - test.equal(callbackOutput, []); - test.equal(onResultReceivedOutput, []); - // Method sent. - var methodId = testGotMessage( - test, stream, {msg: 'method', method: 'writeSomething', - params: [], id: '*', randomSeed: '*'}).id; - test.equal(stream.sent.length, 0); - - // Get some data. - stream.receive({msg: 'added', collection: collName, - id: MongoID.idStringify(stubWrittenId), fields: {baz: 42}}); - // It doesn't show up yet. - test.equal(coll.find().count(), 1); - test.equal(coll.findOne(stubWrittenId), {_id: stubWrittenId, foo: 'bar'}); - o.expectCallbacks(); - - // Get the result. - stream.receive({msg: 'result', id: methodId, result: 'bla'}); - // Data unaffected. - test.equal(coll.find().count(), 1); - test.equal(coll.findOne(stubWrittenId), {_id: stubWrittenId, foo: 'bar'}); - o.expectCallbacks(); - // Callback not called, but onResultReceived is. - test.equal(callbackOutput, []); - test.equal(onResultReceivedOutput, ['bla']); - - // Reset stream. Method does NOT get resent, because its result is already - // in. Reconnect quiescence happens as soon as 'connected' is received because - // there are no pending methods or subs in need of revival. - stream.reset(); - testGotMessage(test, stream, makeConnectMessage(SESSION_ID)); - // Still holding out hope for session resumption, so nothing updated yet. - test.equal(coll.find().count(), 1); - test.equal(coll.findOne(stubWrittenId), {_id: stubWrittenId, foo: 'bar'}); - o.expectCallbacks(); - test.equal(callbackOutput, []); - - // Receive 'connected': time for reconnect quiescence! Data gets updated - // locally (ie, data is reset) and callback gets called. - stream.receive({msg: 'connected', session: SESSION_ID + 1}); - test.equal(coll.find().count(), 0); - o.expectCallbacks({removed: 1}); - test.equal(callbackOutput, ['bla']); - test.equal(onResultReceivedOutput, ['bla']); - stream.receive({msg: 'added', collection: collName, - id: MongoID.idStringify(stubWrittenId), fields: {baz: 42}}); - test.equal(coll.findOne(stubWrittenId), {_id: stubWrittenId, baz: 42}); - o.expectCallbacks({added: 1}); - - - - - // Run method again. We're going to do the same thing this time, except we're - // also going to use an onReconnect to insert another method at reconnect - // time, which will delay reconnect quiescence. - conn.apply('writeSomething', [], - {onResultReceived: function (err, result) { - onResultReceivedOutput.push(result); - }}, - function (err, result) { - callbackOutput.push(result); - }); - // Stub write is visible. - test.equal(coll.find({foo: 'bar'}).count(), 1); - var stubWrittenId2 = coll.findOne({foo: 'bar'})._id; - o.expectCallbacks({added: 1}); - // Callback not called. - test.equal(callbackOutput, ['bla']); - test.equal(onResultReceivedOutput, ['bla']); - // Method sent. - var methodId2 = testGotMessage( - test, stream, {msg: 'method', method: 'writeSomething', - params: [], id: '*', randomSeed: '*'}).id; - test.equal(stream.sent.length, 0); - - // Get some data. - stream.receive({msg: 'added', collection: collName, - id: MongoID.idStringify(stubWrittenId2), fields: {baz: 42}}); - // It doesn't show up yet. - test.equal(coll.find().count(), 2); - test.equal(coll.findOne(stubWrittenId2), {_id: stubWrittenId2, foo: 'bar'}); - o.expectCallbacks(); - - // Get the result. - stream.receive({msg: 'result', id: methodId2, result: 'blab'}); - // Data unaffected. - test.equal(coll.find().count(), 2); - test.equal(coll.findOne(stubWrittenId2), {_id: stubWrittenId2, foo: 'bar'}); - o.expectCallbacks(); - // Callback not called, but onResultReceived is. - test.equal(callbackOutput, ['bla']); - test.equal(onResultReceivedOutput, ['bla', 'blab']); - setOnReconnect(conn, function () { - conn.call('slowMethod', function (err, result) { - callbackOutput.push(result); + conn.methods({ + writeSomething: function() { + // stub write + coll.insert({ foo: 'bar' }); + } }); - }); - // Reset stream. Method does NOT get resent, because its result is already in, - // but slowMethod gets called via onReconnect. Reconnect quiescence is now - // blocking on slowMethod. - stream.reset(); - testGotMessage(test, stream, makeConnectMessage(SESSION_ID + 1)); - var slowMethodId = testGotMessage( - test, stream, - {msg: 'method', method: 'slowMethod', params: [], id: '*'}).id; - // Still holding out hope for session resumption, so nothing updated yet. - test.equal(coll.find().count(), 2); - test.equal(coll.findOne(stubWrittenId2), {_id: stubWrittenId2, foo: 'bar'}); - o.expectCallbacks(); - test.equal(callbackOutput, ['bla']); + test.equal(coll.find({ foo: 'bar' }).count(), 0); - // Receive 'connected'... but no reconnect quiescence yet due to slowMethod. - stream.receive({msg: 'connected', session: SESSION_ID + 2}); - test.equal(coll.find().count(), 2); - test.equal(coll.findOne(stubWrittenId2), {_id: stubWrittenId2, foo: 'bar'}); - o.expectCallbacks(); - test.equal(callbackOutput, ['bla']); + // Call a method. We'll get the result but not data-done before reconnect. + var callbackOutput = []; + var onResultReceivedOutput = []; + conn.apply( + 'writeSomething', + [], + { + onResultReceived: function(err, result) { + onResultReceivedOutput.push(result); + } + }, + function(err, result) { + callbackOutput.push(result); + } + ); + // Stub write is visible. + test.equal(coll.find({ foo: 'bar' }).count(), 1); + var stubWrittenId = coll.findOne({ foo: 'bar' })._id; + o.expectCallbacks({ added: 1 }); + // Callback not called. + test.equal(callbackOutput, []); + test.equal(onResultReceivedOutput, []); + // Method sent. + var methodId = testGotMessage(test, stream, { + msg: 'method', + method: 'writeSomething', + params: [], + id: '*', + randomSeed: '*' + }).id; + test.equal(stream.sent.length, 0); - // Receive data matching our stub. It doesn't take effect yet. - stream.receive({msg: 'added', collection: collName, - id: MongoID.idStringify(stubWrittenId2), fields: {foo: 'bar'}}); - o.expectCallbacks(); + // Get some data. + stream.receive({ + msg: 'added', + collection: collName, + id: MongoID.idStringify(stubWrittenId), + fields: { baz: 42 } + }); + // It doesn't show up yet. + test.equal(coll.find().count(), 1); + test.equal(coll.findOne(stubWrittenId), { + _id: stubWrittenId, + foo: 'bar' + }); + o.expectCallbacks(); - // slowMethod is done writing, so we get full reconnect quiescence (but no - // slowMethod callback)... ie, a reset followed by applying the data we just - // got, as well as calling the callback from the method that half-finished - // before reset. The net effect is deleting doc 'stubWrittenId'. - stream.receive({msg: 'updated', methods: [slowMethodId]}); - test.equal(coll.find().count(), 1); - test.equal(coll.findOne(stubWrittenId2), {_id: stubWrittenId2, foo: 'bar'}); - o.expectCallbacks({removed: 1}); - test.equal(callbackOutput, ['bla', 'blab']); + // Get the result. + stream.receive({ msg: 'result', id: methodId, result: 'bla' }); + // Data unaffected. + test.equal(coll.find().count(), 1); + test.equal(coll.findOne(stubWrittenId), { + _id: stubWrittenId, + foo: 'bar' + }); + o.expectCallbacks(); + // Callback not called, but onResultReceived is. + test.equal(callbackOutput, []); + test.equal(onResultReceivedOutput, ['bla']); - // slowMethod returns a value now. - stream.receive({msg: 'result', id: slowMethodId, result: 'slow'}); - o.expectCallbacks(); - test.equal(callbackOutput, ['bla', 'blab', 'slow']); + // Reset stream. Method does NOT get resent, because its result is already + // in. Reconnect quiescence happens as soon as 'connected' is received because + // there are no pending methods or subs in need of revival. + stream.reset(); + testGotMessage(test, stream, makeConnectMessage(SESSION_ID)); + // Still holding out hope for session resumption, so nothing updated yet. + test.equal(coll.find().count(), 1); + test.equal(coll.findOne(stubWrittenId), { + _id: stubWrittenId, + foo: 'bar' + }); + o.expectCallbacks(); + test.equal(callbackOutput, []); - o.stop(); - }); + // Receive 'connected': time for reconnect quiescence! Data gets updated + // locally (ie, data is reset) and callback gets called. + stream.receive({ msg: 'connected', session: SESSION_ID + 1 }); + test.equal(coll.find().count(), 0); + o.expectCallbacks({ removed: 1 }); + test.equal(callbackOutput, ['bla']); + test.equal(onResultReceivedOutput, ['bla']); + stream.receive({ + msg: 'added', + collection: collName, + id: MongoID.idStringify(stubWrittenId), + fields: { baz: 42 } + }); + test.equal(coll.findOne(stubWrittenId), { _id: stubWrittenId, baz: 42 }); + o.expectCallbacks({ added: 1 }); + + // Run method again. We're going to do the same thing this time, except we're + // also going to use an onReconnect to insert another method at reconnect + // time, which will delay reconnect quiescence. + conn.apply( + 'writeSomething', + [], + { + onResultReceived: function(err, result) { + onResultReceivedOutput.push(result); + } + }, + function(err, result) { + callbackOutput.push(result); + } + ); + // Stub write is visible. + test.equal(coll.find({ foo: 'bar' }).count(), 1); + var stubWrittenId2 = coll.findOne({ foo: 'bar' })._id; + o.expectCallbacks({ added: 1 }); + // Callback not called. + test.equal(callbackOutput, ['bla']); + test.equal(onResultReceivedOutput, ['bla']); + // Method sent. + var methodId2 = testGotMessage(test, stream, { + msg: 'method', + method: 'writeSomething', + params: [], + id: '*', + randomSeed: '*' + }).id; + test.equal(stream.sent.length, 0); + + // Get some data. + stream.receive({ + msg: 'added', + collection: collName, + id: MongoID.idStringify(stubWrittenId2), + fields: { baz: 42 } + }); + // It doesn't show up yet. + test.equal(coll.find().count(), 2); + test.equal(coll.findOne(stubWrittenId2), { + _id: stubWrittenId2, + foo: 'bar' + }); + o.expectCallbacks(); + + // Get the result. + stream.receive({ msg: 'result', id: methodId2, result: 'blab' }); + // Data unaffected. + test.equal(coll.find().count(), 2); + test.equal(coll.findOne(stubWrittenId2), { + _id: stubWrittenId2, + foo: 'bar' + }); + o.expectCallbacks(); + // Callback not called, but onResultReceived is. + test.equal(callbackOutput, ['bla']); + test.equal(onResultReceivedOutput, ['bla', 'blab']); + setOnReconnect(conn, function() { + conn.call('slowMethod', function(err, result) { + callbackOutput.push(result); + }); + }); + + // Reset stream. Method does NOT get resent, because its result is already in, + // but slowMethod gets called via onReconnect. Reconnect quiescence is now + // blocking on slowMethod. + stream.reset(); + testGotMessage(test, stream, makeConnectMessage(SESSION_ID + 1)); + var slowMethodId = testGotMessage(test, stream, { + msg: 'method', + method: 'slowMethod', + params: [], + id: '*' + }).id; + // Still holding out hope for session resumption, so nothing updated yet. + test.equal(coll.find().count(), 2); + test.equal(coll.findOne(stubWrittenId2), { + _id: stubWrittenId2, + foo: 'bar' + }); + o.expectCallbacks(); + test.equal(callbackOutput, ['bla']); + + // Receive 'connected'... but no reconnect quiescence yet due to slowMethod. + stream.receive({ msg: 'connected', session: SESSION_ID + 2 }); + test.equal(coll.find().count(), 2); + test.equal(coll.findOne(stubWrittenId2), { + _id: stubWrittenId2, + foo: 'bar' + }); + o.expectCallbacks(); + test.equal(callbackOutput, ['bla']); + + // Receive data matching our stub. It doesn't take effect yet. + stream.receive({ + msg: 'added', + collection: collName, + id: MongoID.idStringify(stubWrittenId2), + fields: { foo: 'bar' } + }); + o.expectCallbacks(); + + // slowMethod is done writing, so we get full reconnect quiescence (but no + // slowMethod callback)... ie, a reset followed by applying the data we just + // got, as well as calling the callback from the method that half-finished + // before reset. The net effect is deleting doc 'stubWrittenId'. + stream.receive({ msg: 'updated', methods: [slowMethodId] }); + test.equal(coll.find().count(), 1); + test.equal(coll.findOne(stubWrittenId2), { + _id: stubWrittenId2, + foo: 'bar' + }); + o.expectCallbacks({ removed: 1 }); + test.equal(callbackOutput, ['bla', 'blab']); + + // slowMethod returns a value now. + stream.receive({ msg: 'result', id: slowMethodId, result: 'slow' }); + o.expectCallbacks(); + test.equal(callbackOutput, ['bla', 'blab', 'slow']); + + o.stop(); + } + ); } -Tinytest.add("livedata stub - reconnect method which only got data", function (test) { - var stream = new StubStream; +Tinytest.add('livedata stub - reconnect method which only got data', function( + test +) { + var stream = new StubStream(); var conn = newConnection(stream); startAndConnect(test, stream); var collName = Random.id(); - var coll = new Mongo.Collection(collName, {connection: conn}); + var coll = new Mongo.Collection(collName, { connection: conn }); var o = observeCursor(test, coll.find()); // Call a method. We'll get the data-done message but not the result before // reconnect. var callbackOutput = []; var onResultReceivedOutput = []; - conn.apply('doLittle', [], - {onResultReceived: function (err, result) { - onResultReceivedOutput.push(result); - }}, - function (err, result) { - callbackOutput.push(result); - }); + conn.apply( + 'doLittle', + [], + { + onResultReceived: function(err, result) { + onResultReceivedOutput.push(result); + } + }, + function(err, result) { + callbackOutput.push(result); + } + ); // Callbacks not called. test.equal(callbackOutput, []); test.equal(onResultReceivedOutput, []); // Method sent. - var methodId = testGotMessage( - test, stream, {msg: 'method', method: 'doLittle', - params: [], id: '*'}).id; + var methodId = testGotMessage(test, stream, { + msg: 'method', + method: 'doLittle', + params: [], + id: '*' + }).id; test.equal(stream.sent.length, 0); // Get some data. - stream.receive({msg: 'added', collection: collName, - id: 'photo', fields: {baz: 42}}); + stream.receive({ + msg: 'added', + collection: collName, + id: 'photo', + fields: { baz: 42 } + }); // It shows up instantly because the stub didn't write anything. test.equal(coll.find().count(), 1); - test.equal(coll.findOne('photo'), {_id: 'photo', baz: 42}); - o.expectCallbacks({added: 1}); + test.equal(coll.findOne('photo'), { _id: 'photo', baz: 42 }); + o.expectCallbacks({ added: 1 }); // Get the data-done message. - stream.receive({msg: 'updated', methods: [methodId]}); + stream.receive({ msg: 'updated', methods: [methodId] }); // Data still here. test.equal(coll.find().count(), 1); - test.equal(coll.findOne('photo'), {_id: 'photo', baz: 42}); + test.equal(coll.findOne('photo'), { _id: 'photo', baz: 42 }); o.expectCallbacks(); // Method callback not called yet (no result yet). test.equal(callbackOutput, []); @@ -1116,20 +1297,23 @@ Tinytest.add("livedata stub - reconnect method which only got data", function (t // quiescence. stream.reset(); testGotMessage(test, stream, makeConnectMessage(SESSION_ID)); - testGotMessage( - test, stream, {msg: 'method', method: 'doLittle', - params: [], id: methodId}); + testGotMessage(test, stream, { + msg: 'method', + method: 'doLittle', + params: [], + id: methodId + }); // Still holding out hope for session resumption, so nothing updated yet. test.equal(coll.find().count(), 1); - test.equal(coll.findOne('photo'), {_id: 'photo', baz: 42}); + test.equal(coll.findOne('photo'), { _id: 'photo', baz: 42 }); o.expectCallbacks(); test.equal(callbackOutput, []); test.equal(onResultReceivedOutput, []); // Receive 'connected'. Still blocking on reconnect quiescence. - stream.receive({msg: 'connected', session: SESSION_ID + 1}); + stream.receive({ msg: 'connected', session: SESSION_ID + 1 }); test.equal(coll.find().count(), 1); - test.equal(coll.findOne('photo'), {_id: 'photo', baz: 42}); + test.equal(coll.findOne('photo'), { _id: 'photo', baz: 42 }); o.expectCallbacks(); test.equal(callbackOutput, []); test.equal(onResultReceivedOutput, []); @@ -1137,36 +1321,36 @@ Tinytest.add("livedata stub - reconnect method which only got data", function (t // Receive method result. onResultReceived is called but the main callback // isn't (ie, we don't get confused by the fact that we got data-done the // *FIRST* time through). - stream.receive({msg: 'result', id: methodId, result: 'res'}); + stream.receive({ msg: 'result', id: methodId, result: 'res' }); test.equal(callbackOutput, []); test.equal(onResultReceivedOutput, ['res']); // Now we get data-done. Collection is reset and callback is called. - stream.receive({msg: 'updated', methods: [methodId]}); + stream.receive({ msg: 'updated', methods: [methodId] }); test.equal(coll.find().count(), 0); - o.expectCallbacks({removed: 1}); + o.expectCallbacks({ removed: 1 }); test.equal(callbackOutput, ['res']); test.equal(onResultReceivedOutput, ['res']); o.stop(); }); if (Meteor.isClient) { - Tinytest.add("livedata stub - multiple stubs same doc", function (test) { - var stream = new StubStream; + Tinytest.add('livedata stub - multiple stubs same doc', function(test) { + var stream = new StubStream(); var conn = newConnection(stream); startAndConnect(test, stream); var collName = Random.id(); - var coll = new Mongo.Collection(collName, {connection: conn}); + var coll = new Mongo.Collection(collName, { connection: conn }); var o = observeCursor(test, coll.find()); conn.methods({ - insertSomething: function () { + insertSomething: function() { // stub write - coll.insert({foo: 'bar'}); + coll.insert({ foo: 'bar' }); }, - updateIt: function (id) { - coll.update(id, {$set: {baz: 42}}); + updateIt: function(id) { + coll.update(id, { $set: { baz: 42 } }); } }); @@ -1175,147 +1359,192 @@ if (Meteor.isClient) { // Call the insert method. conn.call('insertSomething', _.identity); // Stub write is visible. - test.equal(coll.find({foo: 'bar'}).count(), 1); - var stubWrittenId = coll.findOne({foo: 'bar'})._id; - o.expectCallbacks({added: 1}); + test.equal(coll.find({ foo: 'bar' }).count(), 1); + var stubWrittenId = coll.findOne({ foo: 'bar' })._id; + o.expectCallbacks({ added: 1 }); // Method sent. - var insertMethodId = testGotMessage( - test, stream, {msg: 'method', method: 'insertSomething', - params: [], id: '*', randomSeed: '*'}).id; + var insertMethodId = testGotMessage(test, stream, { + msg: 'method', + method: 'insertSomething', + params: [], + id: '*', + randomSeed: '*' + }).id; test.equal(stream.sent.length, 0); // Call update method. conn.call('updateIt', stubWrittenId, _.identity); // This stub write is visible too. test.equal(coll.find().count(), 1); - test.equal(coll.findOne(stubWrittenId), - {_id: stubWrittenId, foo: 'bar', baz: 42}); - o.expectCallbacks({changed: 1}); + test.equal(coll.findOne(stubWrittenId), { + _id: stubWrittenId, + foo: 'bar', + baz: 42 + }); + o.expectCallbacks({ changed: 1 }); // Method sent. - var updateMethodId = testGotMessage( - test, stream, {msg: 'method', method: 'updateIt', - params: [stubWrittenId], id: '*'}).id; + var updateMethodId = testGotMessage(test, stream, { + msg: 'method', + method: 'updateIt', + params: [stubWrittenId], + id: '*' + }).id; test.equal(stream.sent.length, 0); // Get some data... slightly different than what we wrote. - stream.receive({msg: 'added', collection: collName, - id: MongoID.idStringify(stubWrittenId), fields: {foo: 'barb', other: 'field', - other2: 'bla'}}); + stream.receive({ + msg: 'added', + collection: collName, + id: MongoID.idStringify(stubWrittenId), + fields: { + foo: 'barb', + other: 'field', + other2: 'bla' + } + }); // It doesn't show up yet. test.equal(coll.find().count(), 1); - test.equal(coll.findOne(stubWrittenId), - {_id: stubWrittenId, foo: 'bar', baz: 42}); + test.equal(coll.findOne(stubWrittenId), { + _id: stubWrittenId, + foo: 'bar', + baz: 42 + }); o.expectCallbacks(); // And get the first method-done. Still no updates to minimongo: we can't // quiesce the doc until the second method is done. - stream.receive({msg: 'updated', methods: [insertMethodId]}); + stream.receive({ msg: 'updated', methods: [insertMethodId] }); test.equal(coll.find().count(), 1); - test.equal(coll.findOne(stubWrittenId), - {_id: stubWrittenId, foo: 'bar', baz: 42}); + test.equal(coll.findOne(stubWrittenId), { + _id: stubWrittenId, + foo: 'bar', + baz: 42 + }); o.expectCallbacks(); // More data. Not quite what we wrote. Also ignored for now. - stream.receive({msg: 'changed', collection: collName, - id: MongoID.idStringify(stubWrittenId), fields: {baz: 43}, cleared: ['other']}); + stream.receive({ + msg: 'changed', + collection: collName, + id: MongoID.idStringify(stubWrittenId), + fields: { baz: 43 }, + cleared: ['other'] + }); test.equal(coll.find().count(), 1); - test.equal(coll.findOne(stubWrittenId), - {_id: stubWrittenId, foo: 'bar', baz: 42}); + test.equal(coll.findOne(stubWrittenId), { + _id: stubWrittenId, + foo: 'bar', + baz: 42 + }); o.expectCallbacks(); // Second data-ready. Now everything takes effect! - stream.receive({msg: 'updated', methods: [updateMethodId]}); + stream.receive({ msg: 'updated', methods: [updateMethodId] }); test.equal(coll.find().count(), 1); - test.equal(coll.findOne(stubWrittenId), - {_id: stubWrittenId, foo: 'barb', other2: 'bla', - baz: 43}); - o.expectCallbacks({changed: 1}); + test.equal(coll.findOne(stubWrittenId), { + _id: stubWrittenId, + foo: 'barb', + other2: 'bla', + baz: 43 + }); + o.expectCallbacks({ changed: 1 }); o.stop(); }); } if (Meteor.isClient) { - Tinytest.add("livedata stub - unsent methods don't block quiescence", function (test) { - // This test is for https://github.com/meteor/meteor/issues/555 + Tinytest.add( + "livedata stub - unsent methods don't block quiescence", + function(test) { + // This test is for https://github.com/meteor/meteor/issues/555 - var stream = new StubStream; - var conn = newConnection(stream); - startAndConnect(test, stream); + var stream = new StubStream(); + var conn = newConnection(stream); + startAndConnect(test, stream); - var collName = Random.id(); - var coll = new Mongo.Collection(collName, {connection: conn}); + var collName = Random.id(); + var coll = new Mongo.Collection(collName, { connection: conn }); - conn.methods({ - insertSomething: function () { - // stub write - coll.insert({foo: 'bar'}); - } - }); + conn.methods({ + insertSomething: function() { + // stub write + coll.insert({ foo: 'bar' }); + } + }); - test.equal(coll.find().count(), 0); + test.equal(coll.find().count(), 0); - // Call a random method (no-op) - conn.call('no-op', _.identity); - // Call a wait method - conn.apply('no-op', [], {wait: true}, _.identity); - // Call a method with a stub that writes. - conn.call('insertSomething', _.identity); + // Call a random method (no-op) + conn.call('no-op', _.identity); + // Call a wait method + conn.apply('no-op', [], { wait: true }, _.identity); + // Call a method with a stub that writes. + conn.call('insertSomething', _.identity); + // Stub write is visible. + test.equal(coll.find({ foo: 'bar' }).count(), 1); + var stubWrittenId = coll.findOne({ foo: 'bar' })._id; - // Stub write is visible. - test.equal(coll.find({foo: 'bar'}).count(), 1); - var stubWrittenId = coll.findOne({foo: 'bar'})._id; + // first method sent + var firstMethodId = testGotMessage(test, stream, { + msg: 'method', + method: 'no-op', + params: [], + id: '*' + }).id; + test.equal(stream.sent.length, 0); - // first method sent - var firstMethodId = testGotMessage( - test, stream, {msg: 'method', method: 'no-op', - params: [], id: '*'}).id; - test.equal(stream.sent.length, 0); + // ack the first method + stream.receive({ msg: 'updated', methods: [firstMethodId] }); + stream.receive({ msg: 'result', id: firstMethodId }); - // ack the first method - stream.receive({msg: 'updated', methods: [firstMethodId]}); - stream.receive({msg: 'result', id: firstMethodId}); + // Wait method sent. + var waitMethodId = testGotMessage(test, stream, { + msg: 'method', + method: 'no-op', + params: [], + id: '*' + }).id; + test.equal(stream.sent.length, 0); - // Wait method sent. - var waitMethodId = testGotMessage( - test, stream, {msg: 'method', method: 'no-op', - params: [], id: '*'}).id; - test.equal(stream.sent.length, 0); + // ack the wait method + stream.receive({ msg: 'updated', methods: [waitMethodId] }); + stream.receive({ msg: 'result', id: waitMethodId }); - // ack the wait method - stream.receive({msg: 'updated', methods: [waitMethodId]}); - stream.receive({msg: 'result', id: waitMethodId}); + // insert method sent. + var insertMethodId = testGotMessage(test, stream, { + msg: 'method', + method: 'insertSomething', + params: [], + id: '*', + randomSeed: '*' + }).id; + test.equal(stream.sent.length, 0); - // insert method sent. - var insertMethodId = testGotMessage( - test, stream, {msg: 'method', method: 'insertSomething', - params: [], id: '*', randomSeed: '*'}).id; - test.equal(stream.sent.length, 0); + // ack the insert method + stream.receive({ msg: 'updated', methods: [insertMethodId] }); + stream.receive({ msg: 'result', id: insertMethodId }); - // ack the insert method - stream.receive({msg: 'updated', methods: [insertMethodId]}); - stream.receive({msg: 'result', id: insertMethodId}); - - // simulation reverted. - test.equal(coll.find({foo: 'bar'}).count(), 0); - - }); + // simulation reverted. + test.equal(coll.find({ foo: 'bar' }).count(), 0); + } + ); } -Tinytest.add("livedata stub - reactive resub", function (test) { +Tinytest.add('livedata stub - reactive resub', function(test) { var stream = new StubStream(); var conn = newConnection(stream); startAndConnect(test, stream); var readiedSubs = {}; - var markAllReady = function () { + var markAllReady = function() { // synthesize a "ready" message in response to any "sub" // message with an id we haven't seen before - _.each(stream.sent, function (msg) { + _.each(stream.sent, function(msg) { msg = JSON.parse(msg); - if (msg.msg === 'sub' && ! _.has(readiedSubs, msg.id)) { - stream.receive({msg: 'ready', subs: [msg.id]}); + if (msg.msg === 'sub' && !_.has(readiedSubs, msg.id)) { + stream.receive({ msg: 'ready', subs: [msg.id] }); readiedSubs[msg.id] = true; } }); @@ -1325,17 +1554,18 @@ Tinytest.add("livedata stub - reactive resub", function (test) { var fooReady = 0; var inner; - var outer = Tracker.autorun(function () { - inner = Tracker.autorun(function () { - conn.subscribe("foo-sub", fooArg.get(), - function () { fooReady++; }); + var outer = Tracker.autorun(function() { + inner = Tracker.autorun(function() { + conn.subscribe('foo-sub', fooArg.get(), function() { + fooReady++; + }); }); }); markAllReady(); var message = JSON.parse(stream.sent.shift()); delete message.id; - test.equal(message, {msg: 'sub', name: 'foo-sub', params: ['A']}); + test.equal(message, { msg: 'sub', name: 'foo-sub', params: ['A'] }); test.equal(fooReady, 1); // Rerun the inner autorun with different subscription @@ -1347,10 +1577,10 @@ Tinytest.add("livedata stub - reactive resub", function (test) { markAllReady(); message = JSON.parse(stream.sent.shift()); delete message.id; - test.equal(message, {msg: 'sub', name: 'foo-sub', params: ['B']}); + test.equal(message, { msg: 'sub', name: 'foo-sub', params: ['B'] }); message = JSON.parse(stream.sent.shift()); delete message.id; - test.equal(message, {msg: 'unsub'}); + test.equal(message, { msg: 'unsub' }); test.equal(fooReady, 2); // Rerun inner again with same args; should be no re-sub. @@ -1359,7 +1589,8 @@ Tinytest.add("livedata stub - reactive resub", function (test) { Tracker.flush(); test.isFalse(inner.invalidated); markAllReady(); - test.isUndefined(stream.sent.shift()); test.isUndefined(stream.sent.shift()); + test.isUndefined(stream.sent.shift()); + test.isUndefined(stream.sent.shift()); test.equal(fooReady, 3); // Rerun outer! Should still be no re-sub even though @@ -1379,16 +1610,14 @@ Tinytest.add("livedata stub - reactive resub", function (test) { markAllReady(); message = JSON.parse(stream.sent.shift()); delete message.id; - test.equal(message, {msg: 'sub', name: 'foo-sub', params: ['C']}); + test.equal(message, { msg: 'sub', name: 'foo-sub', params: ['C'] }); message = JSON.parse(stream.sent.shift()); delete message.id; - test.equal(message, {msg: 'unsub'}); + test.equal(message, { msg: 'unsub' }); test.equal(fooReady, 5); }); - - -Tinytest.add("livedata connection - reactive userId", function (test) { +Tinytest.add('livedata connection - reactive userId', function(test) { var stream = new StubStream(); var conn = newConnection(stream); @@ -1397,23 +1626,25 @@ Tinytest.add("livedata connection - reactive userId", function (test) { test.equal(conn.userId(), 1337); }); -Tinytest.add("livedata connection - two wait methods", function (test) { +Tinytest.add('livedata connection - two wait methods', function(test) { var stream = new StubStream(); var conn = newConnection(stream); startAndConnect(test, stream); var collName = Random.id(); - var coll = new Mongo.Collection(collName, {connection: conn}); + var coll = new Mongo.Collection(collName, { connection: conn }); // setup method - conn.methods({do_something: function (x) {}}); + conn.methods({ do_something: function(x) {} }); var responses = []; - conn.apply('do_something', ['one!'], function() { responses.push('one'); }); + conn.apply('do_something', ['one!'], function() { + responses.push('one'); + }); var one_message = JSON.parse(stream.sent.shift()); test.equal(one_message.params, ['one!']); - conn.apply('do_something', ['two!'], {wait: true}, function() { + conn.apply('do_something', ['two!'], { wait: true }, function() { responses.push('two'); }); // 'two!' isn't sent yet, because it's a wait method. @@ -1426,11 +1657,13 @@ Tinytest.add("livedata connection - two wait methods", function (test) { responses.push('four'); }); - conn.apply('do_something', ['five!'], {wait: true}, function() { + conn.apply('do_something', ['five!'], { wait: true }, function() { responses.push('five'); }); - conn.apply('do_something', ['six!'], function() { responses.push('six'); }); + conn.apply('do_something', ['six!'], function() { + responses.push('six'); + }); // Verify that we did not send any more methods since we are still waiting on // 'one!'. @@ -1439,15 +1672,19 @@ Tinytest.add("livedata connection - two wait methods", function (test) { // Receive some data. "one" is not a wait method and there are no stubs, so it // gets applied immediately. test.equal(coll.find().count(), 0); - stream.receive({msg: 'added', collection: collName, - id: 'foo', fields: {x: 1}}); + stream.receive({ + msg: 'added', + collection: collName, + id: 'foo', + fields: { x: 1 } + }); test.equal(coll.find().count(), 1); - test.equal(coll.findOne('foo'), {_id: 'foo', x: 1}); + test.equal(coll.findOne('foo'), { _id: 'foo', x: 1 }); // Let "one!" finish. Both messages are required to fire the callback. - stream.receive({msg: 'result', id: one_message.id}); + stream.receive({ msg: 'result', id: one_message.id }); test.equal(responses, []); - stream.receive({msg: 'updated', methods: [one_message.id]}); + stream.receive({ msg: 'updated', methods: [one_message.id] }); test.equal(responses, ['one']); // Now we've send out "two!". @@ -1459,19 +1696,23 @@ Tinytest.add("livedata connection - two wait methods", function (test) { // Receive more data. "two" is a wait method, so the data doesn't get applied // yet. - stream.receive({msg: 'changed', collection: collName, - id: 'foo', fields: {y: 3}}); + stream.receive({ + msg: 'changed', + collection: collName, + id: 'foo', + fields: { y: 3 } + }); test.equal(coll.find().count(), 1); - test.equal(coll.findOne('foo'), {_id: 'foo', x: 1}); + test.equal(coll.findOne('foo'), { _id: 'foo', x: 1 }); // Let "two!" finish, with its end messages in the opposite order to "one!". - stream.receive({msg: 'updated', methods: [two_message.id]}); + stream.receive({ msg: 'updated', methods: [two_message.id] }); test.equal(responses, ['one']); test.equal(stream.sent.length, 0); // data-done message is enough to allow data to be written. test.equal(coll.find().count(), 1); - test.equal(coll.findOne('foo'), {_id: 'foo', x: 1, y: 3}); - stream.receive({msg: 'result', id: two_message.id}); + test.equal(coll.findOne('foo'), { _id: 'foo', x: 1, y: 3 }); + stream.receive({ msg: 'result', id: two_message.id }); test.equal(responses, ['one', 'two']); // Verify that we just sent "three!" and "four!" now that we got @@ -1483,14 +1724,14 @@ Tinytest.add("livedata connection - two wait methods", function (test) { test.equal(four_message.params, ['four!']); // Out of order response is OK for non-wait methods. - stream.receive({msg: 'result', id: three_message.id}); - stream.receive({msg: 'result', id: four_message.id}); - stream.receive({msg: 'updated', methods: [four_message.id]}); + stream.receive({ msg: 'result', id: three_message.id }); + stream.receive({ msg: 'result', id: four_message.id }); + stream.receive({ msg: 'updated', methods: [four_message.id] }); test.equal(responses, ['one', 'two', 'four']); test.equal(stream.sent.length, 0); // Let three finish too. - stream.receive({msg: 'updated', methods: [three_message.id]}); + stream.receive({ msg: 'updated', methods: [three_message.id] }); test.equal(responses, ['one', 'two', 'four', 'three']); // Verify that we just sent "five!" (the next wait method). @@ -1500,116 +1741,133 @@ Tinytest.add("livedata connection - two wait methods", function (test) { test.equal(responses, ['one', 'two', 'four', 'three']); // Let five finish. - stream.receive({msg: 'result', id: five_message.id}); - stream.receive({msg: 'updated', methods: [five_message.id]}); + stream.receive({ msg: 'result', id: five_message.id }); + stream.receive({ msg: 'updated', methods: [five_message.id] }); test.equal(responses, ['one', 'two', 'four', 'three', 'five']); var six_message = JSON.parse(stream.sent.shift()); test.equal(six_message.params, ['six!']); }); -addReconnectTests("livedata connection - onReconnect prepends messages correctly with a wait method", function(test, setOnReconnect) { +addReconnectTests( + 'livedata connection - onReconnect prepends messages correctly with a wait method', + function(test, setOnReconnect) { + var stream = new StubStream(); + var conn = newConnection(stream); + startAndConnect(test, stream); + + // setup method + conn.methods({ do_something: function(x) {} }); + + setOnReconnect(conn, function() { + conn.apply('do_something', ['reconnect zero'], _.identity); + conn.apply('do_something', ['reconnect one'], _.identity); + conn.apply('do_something', ['reconnect two'], { wait: true }, _.identity); + conn.apply('do_something', ['reconnect three'], _.identity); + }); + + conn.apply('do_something', ['one'], _.identity); + conn.apply('do_something', ['two'], { wait: true }, _.identity); + conn.apply('do_something', ['three'], _.identity); + + // reconnect + stream.sent = []; + stream.reset(); + testGotMessage(test, stream, makeConnectMessage(conn._lastSessionId)); + + // Test that we sent what we expect to send, and we're blocked on + // what we expect to be blocked. The subsequent logic to correctly + // read the wait flag is tested separately. + test.equal( + _.map(stream.sent, function(msg) { + return JSON.parse(msg).params[0]; + }), + ['reconnect zero', 'reconnect one'] + ); + + // white-box test: + test.equal( + _.map(conn._outstandingMethodBlocks, function(block) { + return [ + block.wait, + _.map(block.methods, function(method) { + return method._message.params[0]; + }) + ]; + }), + [ + [false, ['reconnect zero', 'reconnect one']], + [true, ['reconnect two']], + [false, ['reconnect three', 'one']], + [true, ['two']], + [false, ['three']] + ] + ); + } +); + +Tinytest.add('livedata connection - ping without id', function(test) { var stream = new StubStream(); var conn = newConnection(stream); startAndConnect(test, stream); - // setup method - conn.methods({do_something: function (x) {}}); - - setOnReconnect(conn, function() { - conn.apply('do_something', ['reconnect zero'], _.identity); - conn.apply('do_something', ['reconnect one'], _.identity); - conn.apply('do_something', ['reconnect two'], {wait: true}, _.identity); - conn.apply('do_something', ['reconnect three'], _.identity); - }); - - conn.apply('do_something', ['one'], _.identity); - conn.apply('do_something', ['two'], {wait: true}, _.identity); - conn.apply('do_something', ['three'], _.identity); - - // reconnect - stream.sent = []; - stream.reset(); - testGotMessage(test, stream, makeConnectMessage(conn._lastSessionId)); - - // Test that we sent what we expect to send, and we're blocked on - // what we expect to be blocked. The subsequent logic to correctly - // read the wait flag is tested separately. - test.equal(_.map(stream.sent, function(msg) { - return JSON.parse(msg).params[0]; - }), ['reconnect zero', 'reconnect one']); - - // white-box test: - test.equal(_.map(conn._outstandingMethodBlocks, function (block) { - return [block.wait, _.map(block.methods, function (method) { - return method._message.params[0]; - })]; - }), [ - [false, ['reconnect zero', 'reconnect one']], - [true, ['reconnect two']], - [false, ['reconnect three', 'one']], - [true, ['two']], - [false, ['three']] - ]); + stream.receive({ msg: 'ping' }); + testGotMessage(test, stream, { msg: 'pong' }); }); -Tinytest.add("livedata connection - ping without id", function (test) { - var stream = new StubStream(); - var conn = newConnection(stream); - startAndConnect(test, stream); - - stream.receive({msg: 'ping'}); - testGotMessage(test, stream, {msg: 'pong'}); -}); - -Tinytest.add("livedata connection - ping with id", function (test) { +Tinytest.add('livedata connection - ping with id', function(test) { var stream = new StubStream(); var conn = newConnection(stream); startAndConnect(test, stream); var id = Random.id(); - stream.receive({msg: 'ping', id: id}); - testGotMessage(test, stream, {msg: 'pong', id: id}); + stream.receive({ msg: 'ping', id: id }); + testGotMessage(test, stream, { msg: 'pong', id: id }); }); -_.each(LivedataTest.SUPPORTED_DDP_VERSIONS, function (version) { - Tinytest.addAsync("livedata connection - ping from " + version, - function (test, onComplete) { +_.each(LivedataTest.SUPPORTED_DDP_VERSIONS, function(version) { + Tinytest.addAsync('livedata connection - ping from ' + version, function( + test, + onComplete + ) { var connection = new LivedataTest.Connection(getSelfConnectionUrl(), { reloadWithOutstanding: true, supportedDDPVersions: [version], - onDDPVersionNegotiationFailure: function () { test.fail(); onComplete(); }, - onConnected: function () { + onDDPVersionNegotiationFailure: function() { + test.fail(); + onComplete(); + }, + onConnected: function() { test.equal(connection._version, version); // It's a little naughty to access _stream and _send, but it works... - connection._stream.on('message', function (json) { + connection._stream.on('message', function(json) { var msg = JSON.parse(json); var done = false; if (msg.msg === 'pong') { - test.notEqual(version, "pre1"); + test.notEqual(version, 'pre1'); done = true; } else if (msg.msg === 'error') { // Version pre1 does not play ping-pong - test.equal(version, "pre1"); + test.equal(version, 'pre1'); done = true; } else { - Meteor._debug("Got unexpected message: " + json); + Meteor._debug('Got unexpected message: ' + json); } if (done) { - connection._stream.disconnect({_permanent: true}); + connection._stream.disconnect({ _permanent: true }); onComplete(); } }); - connection._send({msg: 'ping'}); + connection._send({ msg: 'ping' }); } }); }); }); -var getSelfConnectionUrl = function () { +var getSelfConnectionUrl = function() { if (Meteor.isClient) { - var ddpUrl = Meteor._relativeToSiteRootUrl("/"); - if (typeof __meteor_runtime_config__ !== "undefined") { + var ddpUrl = Meteor._relativeToSiteRootUrl('/'); + if (typeof __meteor_runtime_config__ !== 'undefined') { if (__meteor_runtime_config__.DDP_DEFAULT_CONNECTION_URL) ddpUrl = __meteor_runtime_config__.DDP_DEFAULT_CONNECTION_URL; } @@ -1621,185 +1879,238 @@ var getSelfConnectionUrl = function () { if (Meteor.isServer) { Meteor.methods({ - reverse: function (arg) { + reverse: function(arg) { // Return something notably different from reverse.meteor.com. - return arg.split("").reverse().join("") + " LOCAL"; + return ( + arg + .split('') + .reverse() + .join('') + ' LOCAL' + ); } }); } -testAsyncMulti("livedata connection - reconnect to a different server", [ - function (test, expect) { +testAsyncMulti('livedata connection - reconnect to a different server', [ + function(test, expect) { var self = this; - self.conn = DDP.connect("reverse.meteor.com"); - pollUntil(expect, function () { - return self.conn.status().connected; - }, 5000, 100, true); // poll until connected, but don't fail if we don't connect + self.conn = DDP.connect('reverse.meteor.com'); + pollUntil( + expect, + function() { + return self.conn.status().connected; + }, + 5000, + 100, + true + ); // poll until connected, but don't fail if we don't connect }, - function (test, expect) { + function(test, expect) { var self = this; self.doTest = self.conn.status().connected; if (self.doTest) { - self.conn.call("reverse", "foo", expect(function (err, res) { - test.equal(res, "oof"); - })); + self.conn.call( + 'reverse', + 'foo', + expect(function(err, res) { + test.equal(res, 'oof'); + }) + ); } }, - function (test, expect) { + function(test, expect) { var self = this; if (self.doTest) { - self.conn.reconnect({url: getSelfConnectionUrl()}); - self.conn.call("reverse", "bar", expect(function (err, res) { - test.equal(res, "rab LOCAL"); - })); + self.conn.reconnect({ url: getSelfConnectionUrl() }); + self.conn.call( + 'reverse', + 'bar', + expect(function(err, res) { + test.equal(res, 'rab LOCAL'); + }) + ); } } ]); -Tinytest.addAsync("livedata connection - version negotiation requires renegotiating", - function (test, onComplete) { - var connection = new LivedataTest.Connection(getSelfConnectionUrl(), { - reloadWithOutstanding: true, - supportedDDPVersions: ["garbled", LivedataTest.SUPPORTED_DDP_VERSIONS[0]], - onDDPVersionNegotiationFailure: function () { test.fail(); onComplete(); }, - onConnected: function () { - test.equal(connection._version, LivedataTest.SUPPORTED_DDP_VERSIONS[0]); - connection._stream.disconnect({_permanent: true}); - onComplete(); - } - }); -}); +Tinytest.addAsync( + 'livedata connection - version negotiation requires renegotiating', + function(test, onComplete) { + var connection = new LivedataTest.Connection(getSelfConnectionUrl(), { + reloadWithOutstanding: true, + supportedDDPVersions: ['garbled', LivedataTest.SUPPORTED_DDP_VERSIONS[0]], + onDDPVersionNegotiationFailure: function() { + test.fail(); + onComplete(); + }, + onConnected: function() { + test.equal(connection._version, LivedataTest.SUPPORTED_DDP_VERSIONS[0]); + connection._stream.disconnect({ _permanent: true }); + onComplete(); + } + }); + } +); -Tinytest.addAsync("livedata connection - version negotiation error", - function (test, onComplete) { +Tinytest.addAsync('livedata connection - version negotiation error', function( + test, + onComplete +) { var connection = new LivedataTest.Connection(getSelfConnectionUrl(), { reloadWithOutstanding: true, - supportedDDPVersions: ["garbled", "more garbled"], - onDDPVersionNegotiationFailure: function () { - test.equal(connection.status().status, "failed"); - test.matches(connection.status().reason, /DDP version negotiation failed/); + supportedDDPVersions: ['garbled', 'more garbled'], + onDDPVersionNegotiationFailure: function() { + test.equal(connection.status().status, 'failed'); + test.matches( + connection.status().reason, + /DDP version negotiation failed/ + ); test.isFalse(connection.status().connected); onComplete(); }, - onConnected: function () { + onConnected: function() { test.fail(); onComplete(); } }); }); -addReconnectTests("livedata connection - onReconnect prepends messages correctly without a wait method", function(test, setOnReconnect) { +addReconnectTests( + 'livedata connection - onReconnect prepends messages correctly without a wait method', + function(test, setOnReconnect) { + var stream = new StubStream(); + var conn = newConnection(stream); + startAndConnect(test, stream); + + // setup method + conn.methods({ do_something: function(x) {} }); + + setOnReconnect(conn, function() { + conn.apply('do_something', ['reconnect one'], _.identity); + conn.apply('do_something', ['reconnect two'], _.identity); + conn.apply('do_something', ['reconnect three'], _.identity); + }); + + conn.apply('do_something', ['one'], _.identity); + conn.apply('do_something', ['two'], { wait: true }, _.identity); + conn.apply('do_something', ['three'], { wait: true }, _.identity); + conn.apply('do_something', ['four'], _.identity); + + // reconnect + stream.sent = []; + stream.reset(); + testGotMessage(test, stream, makeConnectMessage(conn._lastSessionId)); + + // Test that we sent what we expect to send, and we're blocked on + // what we expect to be blocked. The subsequent logic to correctly + // read the wait flag is tested separately. + test.equal( + _.map(stream.sent, function(msg) { + return JSON.parse(msg).params[0]; + }), + ['reconnect one', 'reconnect two', 'reconnect three', 'one'] + ); + + // white-box test: + test.equal( + _.map(conn._outstandingMethodBlocks, function(block) { + return [ + block.wait, + _.map(block.methods, function(method) { + return method._message.params[0]; + }) + ]; + }), + [ + [false, ['reconnect one', 'reconnect two', 'reconnect three', 'one']], + [true, ['two']], + [true, ['three']], + [false, ['four']] + ] + ); + } +); + +addReconnectTests( + 'livedata connection - onReconnect with sent messages', + function(test, setOnReconnect) { + var stream = new StubStream(); + var conn = newConnection(stream); + startAndConnect(test, stream); + + // setup method + conn.methods({ do_something: function(x) {} }); + + setOnReconnect(conn, function() { + conn.apply('do_something', ['login'], { wait: true }, _.identity); + }); + + conn.apply('do_something', ['one'], _.identity); + + // initial connect + stream.sent = []; + stream.reset(); + testGotMessage(test, stream, makeConnectMessage(conn._lastSessionId)); + + // Test that we sent just the login message. + var loginId = testGotMessage(test, stream, { + msg: 'method', + method: 'do_something', + params: ['login'], + id: '*' + }).id; + + // we connect. + stream.receive({ msg: 'connected', session: Random.id() }); + test.length(stream.sent, 0); + + // login got result (but not yet data) + stream.receive({ msg: 'result', id: loginId, result: 'foo' }); + test.length(stream.sent, 0); + + // login got data. now we send next method. + stream.receive({ msg: 'updated', methods: [loginId] }); + + testGotMessage(test, stream, { + msg: 'method', + method: 'do_something', + params: ['one'], + id: '*' + }).id; + } +); + +addReconnectTests('livedata stub - reconnect double wait method', function( + test, + setOnReconnect +) { var stream = new StubStream(); var conn = newConnection(stream); startAndConnect(test, stream); - // setup method - conn.methods({do_something: function (x) {}}); - - setOnReconnect(conn, function() { - conn.apply('do_something', ['reconnect one'], _.identity); - conn.apply('do_something', ['reconnect two'], _.identity); - conn.apply('do_something', ['reconnect three'], _.identity); - }); - - conn.apply('do_something', ['one'], _.identity); - conn.apply('do_something', ['two'], {wait: true}, _.identity); - conn.apply('do_something', ['three'], {wait: true}, _.identity); - conn.apply('do_something', ['four'], _.identity); - - // reconnect - stream.sent = []; - stream.reset(); - testGotMessage(test, stream, makeConnectMessage(conn._lastSessionId)); - - // Test that we sent what we expect to send, and we're blocked on - // what we expect to be blocked. The subsequent logic to correctly - // read the wait flag is tested separately. - test.equal(_.map(stream.sent, function(msg) { - return JSON.parse(msg).params[0]; - }), ['reconnect one', 'reconnect two', 'reconnect three', 'one']); - - // white-box test: - test.equal(_.map(conn._outstandingMethodBlocks, function (block) { - return [block.wait, _.map(block.methods, function (method) { - return method._message.params[0]; - })]; - }), [ - [false, ['reconnect one', 'reconnect two', 'reconnect three', 'one']], - [true, ['two']], - [true, ['three']], - [false, ['four']] - ]); -}); - -addReconnectTests("livedata connection - onReconnect with sent messages", function(test, setOnReconnect) { - var stream = new StubStream(); - var conn = newConnection(stream); - startAndConnect(test, stream); - - // setup method - conn.methods({do_something: function (x) {}}); - - setOnReconnect(conn, function() { - conn.apply('do_something', ['login'], {wait: true}, _.identity); - }); - - conn.apply('do_something', ['one'], _.identity); - - // initial connect - stream.sent = []; - stream.reset(); - testGotMessage( - test, stream, makeConnectMessage(conn._lastSessionId)); - - // Test that we sent just the login message. - var loginId = testGotMessage( - test, stream, {msg: 'method', method: 'do_something', - params: ['login'], id: '*'}).id; - - // we connect. - stream.receive({msg: 'connected', session: Random.id()}); - test.length(stream.sent, 0); - - // login got result (but not yet data) - stream.receive({msg: 'result', id: loginId, result: 'foo'}); - test.length(stream.sent, 0); - - // login got data. now we send next method. - stream.receive({msg: 'updated', methods: [loginId]}); - - testGotMessage( - test, stream, {msg: 'method', method: 'do_something', - params: ['one'], id: '*'}).id; -}); - - - -addReconnectTests("livedata stub - reconnect double wait method", function (test, setOnReconnect) { - var stream = new StubStream; - var conn = newConnection(stream); - startAndConnect(test, stream); - var output = []; - setOnReconnect(conn, function () { - conn.apply('reconnectMethod', [], {wait: true}, function (err, result) { + setOnReconnect(conn, function() { + conn.apply('reconnectMethod', [], { wait: true }, function(err, result) { output.push('reconnect'); }); }); - conn.apply('halfwayMethod', [], {wait: true}, function (err, result) { + conn.apply('halfwayMethod', [], { wait: true }, function(err, result) { output.push('halfway'); }); test.equal(output, []); // Method sent. - var halfwayId = testGotMessage( - test, stream, {msg: 'method', method: 'halfwayMethod', - params: [], id: '*'}).id; + var halfwayId = testGotMessage(test, stream, { + msg: 'method', + method: 'halfwayMethod', + params: [], + id: '*' + }).id; test.equal(stream.sent.length, 0); // Get the result. This means it will not be resent. - stream.receive({msg: 'result', id: halfwayId, result: 'bla'}); + stream.receive({ msg: 'result', id: halfwayId, result: 'bla' }); // Callback not called. test.equal(output, []); @@ -1807,27 +2118,30 @@ addReconnectTests("livedata stub - reconnect double wait method", function (test // Reconnect quiescence happens when reconnectMethod is done. stream.reset(); testGotMessage(test, stream, makeConnectMessage(SESSION_ID)); - var reconnectId = testGotMessage( - test, stream, {msg: 'method', method: 'reconnectMethod', - params: [], id: '*'}).id; + var reconnectId = testGotMessage(test, stream, { + msg: 'method', + method: 'reconnectMethod', + params: [], + id: '*' + }).id; test.length(stream.sent, 0); // Still holding out hope for session resumption, so no callbacks yet. test.equal(output, []); // Receive 'connected', but reconnect quiescence is blocking on // reconnectMethod. - stream.receive({msg: 'connected', session: SESSION_ID + 1}); + stream.receive({ msg: 'connected', session: SESSION_ID + 1 }); test.equal(output, []); // Data-done for reconnectMethod. This gets us to reconnect quiescence, so // halfwayMethod's callback fires. reconnectMethod's is still waiting on its // result. - stream.receive({msg: 'updated', methods: [reconnectId]}); + stream.receive({ msg: 'updated', methods: [reconnectId] }); test.equal(output.shift(), 'halfway'); test.equal(output, []); // Get result of reconnectMethod. Its callback fires. - stream.receive({msg: 'result', id: reconnectId, result: 'foo'}); + stream.receive({ msg: 'result', id: reconnectId, result: 'foo' }); test.equal(output.shift(), 'reconnect'); test.equal(output, []); @@ -1835,11 +2149,15 @@ addReconnectTests("livedata stub - reconnect double wait method", function (test // regression test for a case where it never got delivered because there was // an empty block in _outstandingMethodBlocks blocking it from being sent. conn.call('lastMethod', _.identity); - testGotMessage(test, stream, - {msg: 'method', method: 'lastMethod', params: [], id: '*'}); + testGotMessage(test, stream, { + msg: 'method', + method: 'lastMethod', + params: [], + id: '*' + }); }); -Tinytest.add("livedata stub - subscribe errors", function (test) { +Tinytest.add('livedata stub - subscribe errors', function(test) { var stream = new StubStream(); var conn = newConnection(stream); @@ -1851,7 +2169,7 @@ Tinytest.add("livedata stub - subscribe errors", function (test) { var subErrorInError = null; conn.subscribe('unknownSub', { - onReady: function () { + onReady: function() { onReadyFired = true; }, @@ -1860,10 +2178,10 @@ Tinytest.add("livedata stub - subscribe errors", function (test) { // stopped (a lifecycle callback) // 2. onError, which is deprecated and is called only if there is an // error - onStop: function (error) { + onStop: function(error) { subErrorInStopped = error; }, - onError: function (error) { + onError: function(error) { subErrorInError = error; } }); @@ -1875,24 +2193,31 @@ Tinytest.add("livedata stub - subscribe errors", function (test) { test.equal(subErrorInError, null); var subMessage = JSON.parse(stream.sent.shift()); - test.equal(subMessage, {msg: 'sub', name: 'unknownSub', params: [], - id: subMessage.id}); + test.equal(subMessage, { + msg: 'sub', + name: 'unknownSub', + params: [], + id: subMessage.id + }); // Reject the sub. - stream.receive({msg: 'nosub', id: subMessage.id, - error: new Meteor.Error(404, "Subscription not found")}); + stream.receive({ + msg: 'nosub', + id: subMessage.id, + error: new Meteor.Error(404, 'Subscription not found') + }); test.isFalse(onReadyFired); // Check the error passed to the stopped callback was correct test.instanceOf(subErrorInStopped, Meteor.Error); test.equal(subErrorInStopped.error, 404); - test.equal(subErrorInStopped.reason, "Subscription not found"); + test.equal(subErrorInStopped.reason, 'Subscription not found'); // Check the error passed to the error callback was correct // XXX COMPAT WITH 1.0.3.1 #errorCallback test.instanceOf(subErrorInError, Meteor.Error); test.equal(subErrorInError.error, 404); - test.equal(subErrorInError.reason, "Subscription not found"); + test.equal(subErrorInError.reason, 'Subscription not found'); // stream reset: reconnect! stream.reset(); @@ -1903,7 +2228,7 @@ Tinytest.add("livedata stub - subscribe errors", function (test) { test.isFalse(onReadyFired); }); -Tinytest.add("livedata stub - subscribe stop", function (test) { +Tinytest.add('livedata stub - subscribe stop', function(test) { var stream = new StubStream(); var conn = newConnection(stream); @@ -1915,7 +2240,7 @@ Tinytest.add("livedata stub - subscribe stop", function (test) { var subErrorInStopped = null; var sub = conn.subscribe('my_data', { - onStop: function (error) { + onStop: function(error) { onStopFired = true; subErrorInStopped = error; } @@ -1930,12 +2255,12 @@ Tinytest.add("livedata stub - subscribe stop", function (test) { }); if (Meteor.isClient) { - Tinytest.add("livedata stub - stubs before connected", function (test) { + Tinytest.add('livedata stub - stubs before connected', function(test) { var stream = new StubStream(); var conn = newConnection(stream); var collName = Random.id(); - var coll = new Mongo.Collection(collName, {connection: conn}); + var coll = new Mongo.Collection(collName, { connection: conn }); // Start and send "connect", but DON'T get 'connected' quite yet. stream.reset(); // initial connection start. @@ -1944,100 +2269,124 @@ if (Meteor.isClient) { test.length(stream.sent, 0); // Insert a document. The stub updates "conn" directly. - coll.insert({_id: "foo", bar: 42}, _.identity); + coll.insert({ _id: 'foo', bar: 42 }, _.identity); test.equal(coll.find().count(), 1); - test.equal(coll.findOne(), {_id: "foo", bar: 42}); + test.equal(coll.findOne(), { _id: 'foo', bar: 42 }); // It also sends the method message. var methodMessage = JSON.parse(stream.sent.shift()); test.isUndefined(methodMessage.randomSeed); - test.equal(methodMessage, {msg: 'method', method: '/' + collName + '/insert', - params: [{_id: "foo", bar: 42}], - id: methodMessage.id}); + test.equal(methodMessage, { + msg: 'method', + method: '/' + collName + '/insert', + params: [{ _id: 'foo', bar: 42 }], + id: methodMessage.id + }); test.length(stream.sent, 0); // Now receive a connected message. This should not clear the // _documentsWrittenByStub state! - stream.receive({msg: 'connected', session: SESSION_ID}); + stream.receive({ msg: 'connected', session: SESSION_ID }); test.length(stream.sent, 0); test.equal(coll.find().count(), 1); // Now receive the "updated" message for the method. This should revert the // insert. - stream.receive({msg: 'updated', methods: [methodMessage.id]}); + stream.receive({ msg: 'updated', methods: [methodMessage.id] }); test.length(stream.sent, 0); test.equal(coll.find().count(), 0); }); } if (Meteor.isClient) { - Tinytest.add("livedata stub - method call between reset and quiescence", function (test) { - var stream = new StubStream(); - var conn = newConnection(stream); + Tinytest.add( + 'livedata stub - method call between reset and quiescence', + function(test) { + var stream = new StubStream(); + var conn = newConnection(stream); - startAndConnect(test, stream); + startAndConnect(test, stream); - var collName = Random.id(); - var coll = new Mongo.Collection(collName, {connection: conn}); + var collName = Random.id(); + var coll = new Mongo.Collection(collName, { connection: conn }); - conn.methods({ - update_value: function () { - coll.update('aaa', {value: 222}); - } - }); + conn.methods({ + update_value: function() { + coll.update('aaa', { value: 222 }); + } + }); - // Set up test subscription. - var sub = conn.subscribe('test_data'); - var subMessage = JSON.parse(stream.sent.shift()); - test.equal(subMessage, {msg: 'sub', name: 'test_data', - params: [], id:subMessage.id}); - test.length(stream.sent, 0); + // Set up test subscription. + var sub = conn.subscribe('test_data'); + var subMessage = JSON.parse(stream.sent.shift()); + test.equal(subMessage, { + msg: 'sub', + name: 'test_data', + params: [], + id: subMessage.id + }); + test.length(stream.sent, 0); - var subDocMessage = {msg: 'added', collection: collName, - id: 'aaa', fields: {value: 111}}; + var subDocMessage = { + msg: 'added', + collection: collName, + id: 'aaa', + fields: { value: 111 } + }; - var subReadyMessage = {msg: 'ready', 'subs': [subMessage.id]}; + var subReadyMessage = { msg: 'ready', subs: [subMessage.id] }; - stream.receive(subDocMessage); - stream.receive(subReadyMessage); - test.isTrue(coll.findOne('aaa').value == 111); + stream.receive(subDocMessage); + stream.receive(subReadyMessage); + test.isTrue(coll.findOne('aaa').value == 111); - // Initiate reconnect. - stream.reset(); - testGotMessage(test, stream, makeConnectMessage(SESSION_ID)); - testGotMessage(test, stream, subMessage); - stream.receive({msg: 'connected', session: SESSION_ID + 1}); + // Initiate reconnect. + stream.reset(); + testGotMessage(test, stream, makeConnectMessage(SESSION_ID)); + testGotMessage(test, stream, subMessage); + stream.receive({ msg: 'connected', session: SESSION_ID + 1 }); - // Now in reconnect, can still see the document. - test.isTrue(coll.findOne('aaa').value == 111); + // Now in reconnect, can still see the document. + test.isTrue(coll.findOne('aaa').value == 111); - conn.call('update_value'); + conn.call('update_value'); - // Observe the stub-written value. - test.isTrue(coll.findOne('aaa').value == 222); + // Observe the stub-written value. + test.isTrue(coll.findOne('aaa').value == 222); - var methodMessage = JSON.parse(stream.sent.shift()); - test.equal(methodMessage, {msg: 'method', method: 'update_value', - params: [], id:methodMessage.id}); - test.length(stream.sent, 0); + var methodMessage = JSON.parse(stream.sent.shift()); + test.equal(methodMessage, { + msg: 'method', + method: 'update_value', + params: [], + id: methodMessage.id + }); + test.length(stream.sent, 0); - stream.receive(subDocMessage); - stream.receive(subReadyMessage); + stream.receive(subDocMessage); + stream.receive(subReadyMessage); - // By this point quiescence is reached and stores have been reset. + // By this point quiescence is reached and stores have been reset. - // The stub-written value is still there. - test.isTrue(coll.findOne('aaa').value == 222); + // The stub-written value is still there. + test.isTrue(coll.findOne('aaa').value == 222); - stream.receive({msg: 'changed', collection: collName, - id: 'aaa', fields: {value: 333}}); - stream.receive({msg: 'updated', 'methods': [methodMessage.id]}); - stream.receive({msg: 'result', id:methodMessage.id, result:null}); + stream.receive({ + msg: 'changed', + collection: collName, + id: 'aaa', + fields: { value: 333 } + }); + stream.receive({ msg: 'updated', methods: [methodMessage.id] }); + stream.receive({ msg: 'result', id: methodMessage.id, result: null }); - // Server wrote a different value, make sure it's visible now. - test.isTrue(coll.findOne('aaa').value == 333); - }); + // Server wrote a different value, make sure it's visible now. + test.isTrue(coll.findOne('aaa').value == 333); + } + ); - Tinytest.add("livedata stub - buffering and methods interaction", function (test) { + Tinytest.add('livedata stub - buffering and methods interaction', function( + test + ) { var stream = new StubStream(); var conn = newConnection(stream, { // A very high values so that all messages are effectively buffered. @@ -2048,34 +2397,46 @@ if (Meteor.isClient) { startAndConnect(test, stream); var collName = Random.id(); - var coll = new Mongo.Collection(collName, {connection: conn}); + var coll = new Mongo.Collection(collName, { connection: conn }); conn.methods({ - update_value: function () { + update_value: function() { const value = coll.findOne('aaa').subscription; // Method should have access to the latest value of the collection. - coll.update('aaa', {$set: {method: value + 110}}); + coll.update('aaa', { $set: { method: value + 110 } }); } }); // Set up test subscription. var sub = conn.subscribe('test_data'); var subMessage = JSON.parse(stream.sent.shift()); - test.equal(subMessage, {msg: 'sub', name: 'test_data', - params: [], id:subMessage.id}); + test.equal(subMessage, { + msg: 'sub', + name: 'test_data', + params: [], + id: subMessage.id + }); test.length(stream.sent, 0); - var subDocMessage = {msg: 'added', collection: collName, - id: 'aaa', fields: {subscription: 111}}; + var subDocMessage = { + msg: 'added', + collection: collName, + id: 'aaa', + fields: { subscription: 111 } + }; - var subReadyMessage = {msg: 'ready', 'subs': [subMessage.id]}; + var subReadyMessage = { msg: 'ready', subs: [subMessage.id] }; stream.receive(subDocMessage); stream.receive(subReadyMessage); test.equal(coll.findOne('aaa').subscription, 111); - var subDocChangeMessage = {msg: 'changed', collection: collName, - id: 'aaa', fields: {subscription: 112}}; + var subDocChangeMessage = { + msg: 'changed', + collection: collName, + id: 'aaa', + fields: { subscription: 112 } + }; stream.receive(subDocChangeMessage); // Still 111 because buffer has not been flushed. @@ -2091,17 +2452,25 @@ if (Meteor.isClient) { test.equal(coll.findOne('aaa').subscription, 112); var methodMessage = JSON.parse(stream.sent.shift()); - test.equal(methodMessage, {msg: 'method', method: 'update_value', - params: [], id:methodMessage.id}); + test.equal(methodMessage, { + msg: 'method', + method: 'update_value', + params: [], + id: methodMessage.id + }); test.length(stream.sent, 0); // "Server-side" change from the method arrives and method returns. // With potentially fixed value for method field, if stub didn't // use 112 as the subscription field value. - stream.receive({msg: 'changed', collection: collName, - id: 'aaa', fields: {method: 222}}); - stream.receive({msg: 'updated', 'methods': [methodMessage.id]}); - stream.receive({msg: 'result', id:methodMessage.id, result:null}); + stream.receive({ + msg: 'changed', + collection: collName, + id: 'aaa', + fields: { method: 222 } + }); + stream.receive({ msg: 'updated', methods: [methodMessage.id] }); + stream.receive({ msg: 'result', id: methodMessage.id, result: null }); test.equal(coll.findOne('aaa').method, 222); test.equal(coll.findOne('aaa').subscription, 112); diff --git a/packages/ddp-client/test/livedata_test_service.js b/packages/ddp-client/test/livedata_test_service.js index da47c046e5..200b4b43a4 100644 --- a/packages/ddp-client/test/livedata_test_service.js +++ b/packages/ddp-client/test/livedata_test_service.js @@ -1,40 +1,42 @@ Meteor.methods({ - nothing: function () { + nothing: function() { // No need to check if there are no arguments. }, - echo: function (/* arguments */) { + echo: function(/* arguments */) { check(arguments, [Match.Any]); return _.toArray(arguments); }, - echoOne: function (/*arguments*/) { + echoOne: function(/*arguments*/) { check(arguments, [Match.Any]); return arguments[0]; }, - exception: function (where, options) { + exception: function(where, options) { check(where, String); - check(options, Match.Optional({ - intended: Match.Optional(Boolean), - throwThroughFuture: Match.Optional(Boolean) - })); + check( + options, + Match.Optional({ + intended: Match.Optional(Boolean), + throwThroughFuture: Match.Optional(Boolean) + }) + ); options = options || {}; var shouldThrow = - (Meteor.isServer && where === "server") || - (Meteor.isClient && where === "client") || - where === "both"; + (Meteor.isServer && where === 'server') || + (Meteor.isClient && where === 'client') || + where === 'both'; if (shouldThrow) { var e; if (options.intended) - e = new Meteor.Error(999, "Client-visible test exception"); - else - e = new Error("Test method throwing an exception"); + e = new Meteor.Error(999, 'Client-visible test exception'); + else e = new Error('Test method throwing an exception'); e.expected = true; // We used to improperly serialize errors that were thrown through a // future first. if (Meteor.isServer && options.throwThroughFuture) { var Future = Npm.require('fibers/future'); - var f = new Future; + var f = new Future(); f['throw'](e); e = f.wait(); } @@ -59,11 +61,10 @@ if (Meteor.isServer) { var Future = Npm.require('fibers/future'); - var returnThroughFuture = function (token, returnValue) { + var returnThroughFuture = function(token, returnValue) { // Make sure that when we call return, the fields are already cleared. var record = waiters[token]; - if (!record) - return; + if (!record) return; delete waiters[token]; record.future['return'](returnValue); }; @@ -71,12 +72,12 @@ if (Meteor.isServer) { Meteor.methods({ delayedTrue: function(token) { check(token, String); - var record = waiters[token] = { + var record = (waiters[token] = { future: new Future(), timer: Meteor.setTimeout(function() { returnThroughFuture(token, true); }, 1000) - }; + }); this.unblock(); return record.future.wait(); @@ -84,8 +85,7 @@ if (Meteor.isServer) { makeDelayedTrueImmediatelyReturnFalse: function(token) { check(token, String); var record = waiters[token]; - if (!record) - return; // since delayedTrue's timeout had already run + if (!record) return; // since delayedTrue's timeout had already run clearTimeout(record.timer); returnThroughFuture(token, false); } @@ -94,51 +94,59 @@ if (Meteor.isServer) { /*****/ -Ledger = new Mongo.Collection("ledger"); +Ledger = new Mongo.Collection('ledger'); Ledger.allow({ - insert: function() { return true; }, - update: function() { return true; }, - remove: function() { return true; }, + insert: function() { + return true; + }, + update: function() { + return true; + }, + remove: function() { + return true; + }, fetch: [] }); -Meteor.startup(function () { - if (Meteor.isServer) - Ledger.remove({}); // XXX can this please be Ledger.remove()? +Meteor.startup(function() { + if (Meteor.isServer) Ledger.remove({}); // XXX can this please be Ledger.remove()? }); if (Meteor.isServer) - Meteor.publish('ledger', function (world) { + Meteor.publish('ledger', function(world) { check(world, String); - return Ledger.find({world: world}); + return Ledger.find({ world: world }); }); Meteor.methods({ - 'ledger/transfer': function (world, from_name, to_name, amount, cheat) { + 'ledger/transfer': function(world, from_name, to_name, amount, cheat) { check(world, String); check(from_name, String); check(to_name, String); check(amount, Number); check(cheat, Match.Optional(Boolean)); - var from = Ledger.findOne({name: from_name, world: world}); - var to = Ledger.findOne({name: to_name, world: world}); + var from = Ledger.findOne({ name: from_name, world: world }); + var to = Ledger.findOne({ name: to_name, world: world }); - if (Meteor.isServer) - cheat = false; + if (Meteor.isServer) cheat = false; if (!from) - throw new Meteor.Error(404, - "No such account " + from_name + " in " + world); + throw new Meteor.Error( + 404, + 'No such account ' + from_name + ' in ' + world + ); if (!to) - throw new Meteor.Error(404, - "No such account " + to_name + " in " + world); + throw new Meteor.Error( + 404, + 'No such account ' + to_name + ' in ' + world + ); if (from.balance < amount && !cheat) - throw new Meteor.Error(409, "Insufficient funds"); + throw new Meteor.Error(409, 'Insufficient funds'); - Ledger.update(from._id, {$inc: {balance: -amount}}); - Ledger.update(to._id, {$inc: {balance: amount}}); + Ledger.update(from._id, { $inc: { balance: -amount } }); + Ledger.update(to._id, { $inc: { balance: amount } }); } }); @@ -146,25 +154,33 @@ Meteor.methods({ /// Helpers for "livedata - changing userid reruns subscriptions..." -objectsWithUsers = new Mongo.Collection("objectsWithUsers"); +objectsWithUsers = new Mongo.Collection('objectsWithUsers'); if (Meteor.isServer) { objectsWithUsers.remove({}); - objectsWithUsers.insert({name: "owned by none", ownerUserIds: [null]}); - objectsWithUsers.insert({name: "owned by one - a", ownerUserIds: ["1"]}); - objectsWithUsers.insert({name: "owned by one/two - a", ownerUserIds: ["1", "2"]}); - objectsWithUsers.insert({name: "owned by one/two - b", ownerUserIds: ["1", "2"]}); - objectsWithUsers.insert({name: "owned by two - a", ownerUserIds: ["2"]}); - objectsWithUsers.insert({name: "owned by two - b", ownerUserIds: ["2"]}); + objectsWithUsers.insert({ name: 'owned by none', ownerUserIds: [null] }); + objectsWithUsers.insert({ name: 'owned by one - a', ownerUserIds: ['1'] }); + objectsWithUsers.insert({ + name: 'owned by one/two - a', + ownerUserIds: ['1', '2'] + }); + objectsWithUsers.insert({ + name: 'owned by one/two - b', + ownerUserIds: ['1', '2'] + }); + objectsWithUsers.insert({ name: 'owned by two - a', ownerUserIds: ['2'] }); + objectsWithUsers.insert({ name: 'owned by two - b', ownerUserIds: ['2'] }); - Meteor.publish("objectsWithUsers", function() { - return objectsWithUsers.find({ownerUserIds: this.userId}, - {fields: {ownerUserIds: 0}}); + Meteor.publish('objectsWithUsers', function() { + return objectsWithUsers.find( + { ownerUserIds: this.userId }, + { fields: { ownerUserIds: 0 } } + ); }); - (function () { + (function() { var userIdWhenStopped = {}; - Meteor.publish("recordUserIdOnStop", function (key) { + Meteor.publish('recordUserIdOnStop', function(key) { check(key, String); var self = this; self.onStop(function() { @@ -173,7 +189,7 @@ if (Meteor.isServer) { }); Meteor.methods({ - userIdWhenStopped: function (key) { + userIdWhenStopped: function(key) { check(key, String); return userIdWhenStopped[key]; } @@ -189,7 +205,7 @@ if (Meteor.isServer) { Meteor.startup(function() { errorThrownWhenCallingSetUserIdDirectlyOnServer = null; try { - Meteor.call("setUserId", "1000"); + Meteor.call('setUserId', '1000'); } catch (e) { errorThrownWhenCallingSetUserIdDirectlyOnServer = e; } @@ -200,14 +216,14 @@ if (Meteor.isServer) { if (Meteor.isServer) { Meteor.methods({ - setUserIdAfterUnblock: function () { + setUserIdAfterUnblock: function() { this.unblock(); var threw = false; var originalUserId = this.userId; try { // Calling setUserId after unblock should throw an error (and not mutate // userId). - this.setUserId(originalUserId + "bla"); + this.setUserId(originalUserId + 'bla'); } catch (e) { threw = true; } @@ -221,31 +237,33 @@ if (Meteor.isServer) { /// Helper for "livedata - overlapping universal subs" if (Meteor.isServer) { - (function(){ - var collName = "overlappingUniversalSubs"; + (function() { + var collName = 'overlappingUniversalSubs'; var universalSubscribers = [[], []]; - _.each([0, 1], function (index) { - Meteor.publish(null, function () { + _.each([0, 1], function(index) { + Meteor.publish(null, function() { var sub = this; universalSubscribers[index].push(sub); - sub.onStop(function () { + sub.onStop(function() { universalSubscribers[index] = _.without( - universalSubscribers[index], sub); + universalSubscribers[index], + sub + ); }); }); }); Meteor.methods({ - testOverlappingSubs: function (token) { + testOverlappingSubs: function(token) { check(token, String); - _.each(universalSubscribers[0], function (sub) { + _.each(universalSubscribers[0], function(sub) { sub.added(collName, token, {}); }); - _.each(universalSubscribers[1], function (sub) { + _.each(universalSubscribers[1], function(sub) { sub.added(collName, token, {}); }); - _.each(universalSubscribers[0], function (sub) { + _.each(universalSubscribers[0], function(sub) { sub.removed(collName, token); }); } @@ -257,10 +275,10 @@ if (Meteor.isServer) { if (Meteor.isServer) { Meteor.methods({ - runtimeUniversalSubCreation: function (token) { + runtimeUniversalSubCreation: function(token) { check(token, String); - Meteor.publish(null, function () { - this.added("runtimeSubCreation", token, {}); + Meteor.publish(null, function() { + this.added('runtimeSubCreation', token, {}); }); } }); @@ -269,7 +287,7 @@ if (Meteor.isServer) { /// Helper for "livedata - publisher errors" if (Meteor.isServer) { - Meteor.publish("publisherErrors", function (collName, options) { + Meteor.publish('publisherErrors', function(collName, options) { check(collName, String); // See below to see what options are accepted. check(options, Object); @@ -278,7 +296,7 @@ if (Meteor.isServer) { // First add a random item, which should be cleaned up. We use ready/onReady // to make sure that the second test block is only called after the added is // processed, so that there's any chance of the coll.find().count() failing. - sub.added(collName, Random.id(), {foo: 42}); + sub.added(collName, Random.id(), { foo: 42 }); sub.ready(); if (options.stopInHandler) { @@ -288,84 +306,71 @@ if (Meteor.isServer) { var error; if (options.internalError) { - error = new Error("Egads!"); - error.expected = true; // don't log + error = new Error('Egads!'); + error.expected = true; // don't log } else { - error = new Meteor.Error(412, "Explicit error"); + error = new Meteor.Error(412, 'Explicit error'); } if (options.throwInHandler) { throw error; } else if (options.errorInHandler) { sub.error(error); } else if (options.throwWhenUserIdSet) { - if (sub.userId) - throw error; + if (sub.userId) throw error; } else if (options.errorLater) { - Meteor.defer(function () { + Meteor.defer(function() { sub.error(error); }); } }); } - /*****/ /// Helpers for "livedata - publish multiple cursors" -One = new Mongo.Collection("collectionOne"); -Two = new Mongo.Collection("collectionTwo"); +One = new Mongo.Collection('collectionOne'); +Two = new Mongo.Collection('collectionTwo'); if (Meteor.isServer) { One.remove({}); - One.insert({name: "value1"}); - One.insert({name: "value2"}); + One.insert({ name: 'value1' }); + One.insert({ name: 'value2' }); Two.remove({}); - Two.insert({name: "value3"}); - Two.insert({name: "value4"}); - Two.insert({name: "value5"}); + Two.insert({ name: 'value3' }); + Two.insert({ name: 'value4' }); + Two.insert({ name: 'value5' }); - Meteor.publish("multiPublish", function (options) { + Meteor.publish('multiPublish', function(options) { // See below to see what options are accepted. check(options, Object); if (options.normal) { - return [ - One.find(), - Two.find() - ]; + return [One.find(), Two.find()]; } else if (options.dup) { // Suppress the log of the expected internal error. Meteor._suppress_log(1); return [ One.find(), - One.find({name: "value2"}), // multiple cursors for one collection - error + One.find({ name: 'value2' }), // multiple cursors for one collection - error Two.find() ]; } else if (options.notCursor) { // Suppress the log of the expected internal error. Meteor._suppress_log(1); - return [ - One.find(), - "not a cursor", - Two.find() - ]; - } else - throw "unexpected options"; + return [One.find(), 'not a cursor', Two.find()]; + } else throw 'unexpected options'; }); } - /// Helper for "livedata - result by value" var resultByValueArrays = {}; Meteor.methods({ - 'getArray': function (testId) { - if (! _.has(resultByValueArrays, testId)) - resultByValueArrays[testId] = []; + getArray: function(testId) { + if (!_.has(resultByValueArrays, testId)) resultByValueArrays[testId] = []; return resultByValueArrays[testId]; }, - 'pushToArray': function (testId, value) { - if (! _.has(resultByValueArrays, testId)) - resultByValueArrays[testId] = []; + pushToArray: function(testId, value) { + if (!_.has(resultByValueArrays, testId)) resultByValueArrays[testId] = []; resultByValueArrays[testId].push(value); } }); diff --git a/packages/ddp-client/test/livedata_tests.js b/packages/ddp-client/test/livedata_tests.js index 403bab7840..9a649a4d4f 100644 --- a/packages/ddp-client/test/livedata_tests.js +++ b/packages/ddp-client/test/livedata_tests.js @@ -1,12 +1,12 @@ -import { DDP, LivedataTest } from "../common/namespace.js"; +import { DDP, LivedataTest } from '../common/namespace.js'; // XXX should check error codes -var failure = function (test, code, reason) { - return function (error, result) { +var failure = function(test, code, reason) { + return function(error, result) { test.equal(result, undefined); - test.isTrue(error && typeof error === "object"); - if (error && typeof error === "object") { - if (typeof code === "number") { + test.isTrue(error && typeof error === 'object'); + if (error && typeof error === 'object') { + if (typeof code === 'number') { test.instanceOf(error, Meteor.Error); code && test.equal(error.error, code); reason && test.equal(error.reason, reason); @@ -21,82 +21,85 @@ var failure = function (test, code, reason) { }; }; -var failureOnStopped = function (test, code, reason) { +var failureOnStopped = function(test, code, reason) { var f = failure(test, code, reason); - return function (error) { + return function(error) { if (error) { f(error); } - } + }; }; -Tinytest.add("livedata - Meteor.Error", function (test) { - var error = new Meteor.Error(123, "kittens", "puppies"); +Tinytest.add('livedata - Meteor.Error', function(test) { + var error = new Meteor.Error(123, 'kittens', 'puppies'); test.instanceOf(error, Meteor.Error); test.instanceOf(error, Error); test.equal(error.error, 123); - test.equal(error.reason, "kittens"); - test.equal(error.details, "puppies"); + test.equal(error.reason, 'kittens'); + test.equal(error.details, 'puppies'); }); if (Meteor.isServer) { - Tinytest.add("livedata - version negotiation", function (test) { - var versionCheck = function (clientVersions, serverVersions, expected) { + Tinytest.add('livedata - version negotiation', function(test) { + var versionCheck = function(clientVersions, serverVersions, expected) { test.equal( DDPServer._calculateVersion(clientVersions, serverVersions), - expected); + expected + ); }; - versionCheck(["A", "B", "C"], ["A", "B", "C"], "A"); - versionCheck(["B", "C"], ["A", "B", "C"], "B"); - versionCheck(["A", "B", "C"], ["B", "C"], "B"); - versionCheck(["foo", "bar", "baz"], ["A", "B", "C"], "A"); + versionCheck(['A', 'B', 'C'], ['A', 'B', 'C'], 'A'); + versionCheck(['B', 'C'], ['A', 'B', 'C'], 'B'); + versionCheck(['A', 'B', 'C'], ['B', 'C'], 'B'); + versionCheck(['foo', 'bar', 'baz'], ['A', 'B', 'C'], 'A'); }); } -Tinytest.add("livedata - methods with colliding names", function (test) { +Tinytest.add('livedata - methods with colliding names', function(test) { var x = Random.id(); var m = {}; - m[x] = function () {}; + m[x] = function() {}; Meteor.methods(m); - test.throws(function () { + test.throws(function() { Meteor.methods(m); }); }); -Tinytest.add("livedata - non-function method", function (test) { +Tinytest.add('livedata - non-function method', function(test) { var x = Random.id(); var m = {}; m[x] = 'kitten'; - test.throws(function () { + test.throws(function() { Meteor.methods(m); }); }); -var echoTest = function (item) { - return function (test, expect) { +var echoTest = function(item) { + return function(test, expect) { if (Meteor.isServer) { - test.equal(Meteor.call("echo", item), [item]); - test.equal(Meteor.call("echoOne", item), item); + test.equal(Meteor.call('echo', item), [item]); + test.equal(Meteor.call('echoOne', item), item); } - if (Meteor.isClient) - test.equal(Meteor.call("echo", item), undefined); + if (Meteor.isClient) test.equal(Meteor.call('echo', item), undefined); - test.equal(Meteor.call("echo", item, expect(undefined, [item])), undefined); - test.equal(Meteor.call("echoOne", item, expect(undefined, item)), undefined); + test.equal(Meteor.call('echo', item, expect(undefined, [item])), undefined); + test.equal( + Meteor.call('echoOne', item, expect(undefined, item)), + undefined + ); }; }; -testAsyncMulti("livedata - basic method invocation", [ +testAsyncMulti('livedata - basic method invocation', [ // Unknown methods - function (test, expect) { + function(test, expect) { if (Meteor.isServer) { // On server, with no callback, throws exception try { - var ret = Meteor.call("unknown method"); + var ret = Meteor.call('unknown method'); } catch (e) { test.equal(e.error, 404); var threw = true; @@ -107,68 +110,72 @@ testAsyncMulti("livedata - basic method invocation", [ if (Meteor.isClient) { // On client, with no callback, just returns undefined - var ret = Meteor.call("unknown method"); + var ret = Meteor.call('unknown method'); test.equal(ret, undefined); } // On either, with a callback, calls the callback and does not throw - var ret = Meteor.call("unknown method", - expect(failure(test, 404, "Method 'unknown method' not found"))); + var ret = Meteor.call( + 'unknown method', + expect(failure(test, 404, "Method 'unknown method' not found")) + ); test.equal(ret, undefined); }, - function (test, expect) { + function(test, expect) { // make sure 'undefined' is preserved as such, instead of turning // into null (JSON does not have 'undefined' so there is special // code for this) - if (Meteor.isServer) - test.equal(Meteor.call("nothing"), undefined); - if (Meteor.isClient) - test.equal(Meteor.call("nothing"), undefined); + if (Meteor.isServer) test.equal(Meteor.call('nothing'), undefined); + if (Meteor.isClient) test.equal(Meteor.call('nothing'), undefined); - test.equal(Meteor.call("nothing", expect(undefined, undefined)), undefined); + test.equal(Meteor.call('nothing', expect(undefined, undefined)), undefined); }, - function (test, expect) { - if (Meteor.isServer) - test.equal(Meteor.call("echo"), []); - if (Meteor.isClient) - test.equal(Meteor.call("echo"), undefined); + function(test, expect) { + if (Meteor.isServer) test.equal(Meteor.call('echo'), []); + if (Meteor.isClient) test.equal(Meteor.call('echo'), undefined); - test.equal(Meteor.call("echo", expect(undefined, [])), undefined); + test.equal(Meteor.call('echo', expect(undefined, [])), undefined); }, echoTest(new Date()), - echoTest({d: new Date(), s: "foobarbaz"}), - echoTest([new Date(), "foobarbaz"]), + echoTest({ d: new Date(), s: 'foobarbaz' }), + echoTest([new Date(), 'foobarbaz']), echoTest(new Mongo.ObjectID()), - echoTest({o: new Mongo.ObjectID()}), - echoTest({$date: 30}), // literal - echoTest({$literal: {$date: 30}}), + echoTest({ o: new Mongo.ObjectID() }), + echoTest({ $date: 30 }), // literal + echoTest({ $literal: { $date: 30 } }), echoTest(12), echoTest(Infinity), echoTest(-Infinity), - function (test, expect) { + function(test, expect) { if (Meteor.isServer) - test.equal(Meteor.call("echo", 12, {x: 13}), [12, {x: 13}]); + test.equal(Meteor.call('echo', 12, { x: 13 }), [12, { x: 13 }]); if (Meteor.isClient) - test.equal(Meteor.call("echo", 12, {x: 13}), undefined); + test.equal(Meteor.call('echo', 12, { x: 13 }), undefined); - test.equal(Meteor.call("echo", 12, {x: 13}, - expect(undefined, [12, {x: 13}])), undefined); + test.equal( + Meteor.call('echo', 12, { x: 13 }, expect(undefined, [12, { x: 13 }])), + undefined + ); }, // test that `wait: false` is respected - function (test, expect) { + function(test, expect) { if (Meteor.isClient) { // For test isolation var token = Random.id(); Meteor.apply( - "delayedTrue", [token], {wait: false}, expect(function(err, res) { + 'delayedTrue', + [token], + { wait: false }, + expect(function(err, res) { test.equal(res, false); - })); - Meteor.apply("makeDelayedTrueImmediatelyReturnFalse", [token]); + }) + ); + Meteor.apply('makeDelayedTrueImmediatelyReturnFalse', [token]); } }, @@ -177,45 +184,50 @@ testAsyncMulti("livedata - basic method invocation", [ if (Meteor.isClient) { var token = Random.id(); Meteor.apply( - "delayedTrue", [token], {wait: true}, expect(function(err, res) { + 'delayedTrue', + [token], + { wait: true }, + expect(function(err, res) { test.equal(res, true); - })); - Meteor.apply("makeDelayedTrueImmediatelyReturnFalse", [token]); + }) + ); + Meteor.apply('makeDelayedTrueImmediatelyReturnFalse', [token]); } }, - function (test, expect) { + function(test, expect) { // No callback if (Meteor.isServer) { - test.throws(function () { - Meteor.call("exception", "both"); + test.throws(function() { + Meteor.call('exception', 'both'); }); - test.throws(function () { - Meteor.call("exception", "server"); + test.throws(function() { + Meteor.call('exception', 'server'); }); // No exception, because no code will run on the client - test.equal(Meteor.call("exception", "client"), undefined); + test.equal(Meteor.call('exception', 'client'), undefined); } if (Meteor.isClient) { // The client exception is thrown away because it's in the // stub. The server exception is throw away because we didn't // give a callback. - test.equal(Meteor.call("exception", "both"), undefined); - test.equal(Meteor.call("exception", "server"), undefined); - test.equal(Meteor.call("exception", "client"), undefined); + test.equal(Meteor.call('exception', 'both'), undefined); + test.equal(Meteor.call('exception', 'server'), undefined); + test.equal(Meteor.call('exception', 'client'), undefined); // If we pass throwStubExceptions then we *should* see thrown exceptions // on the client - test.throws(function () { - Meteor.apply("exception", ["both"], {throwStubExceptions: true}); + test.throws(function() { + Meteor.apply('exception', ['both'], { throwStubExceptions: true }); }); test.equal( - Meteor.apply("exception", ["server"], {throwStubExceptions: true}), - undefined); - test.throws(function () { - Meteor.apply("exception", ["client"], {throwStubExceptions: true}); + Meteor.apply('exception', ['server'], { throwStubExceptions: true }), + undefined + ); + test.throws(function() { + Meteor.apply('exception', ['client'], { throwStubExceptions: true }); }); } @@ -223,118 +235,162 @@ testAsyncMulti("livedata - basic method invocation", [ if (Meteor.isClient) { test.equal( - Meteor.call("exception", "both", - expect(failure(test, 500, "Internal server error"))), - undefined); + Meteor.call( + 'exception', + 'both', + expect(failure(test, 500, 'Internal server error')) + ), + undefined + ); test.equal( - Meteor.call("exception", "server", - expect(failure(test, 500, "Internal server error"))), - undefined); - test.equal(Meteor.call("exception", "client"), undefined); + Meteor.call( + 'exception', + 'server', + expect(failure(test, 500, 'Internal server error')) + ), + undefined + ); + test.equal(Meteor.call('exception', 'client'), undefined); } if (Meteor.isServer) { test.equal( - Meteor.call("exception", "both", - expect(failure(test, "Test method throwing an exception"))), - undefined); + Meteor.call( + 'exception', + 'both', + expect(failure(test, 'Test method throwing an exception')) + ), + undefined + ); test.equal( - Meteor.call("exception", "server", - expect(failure(test, "Test method throwing an exception"))), - undefined); - test.equal(Meteor.call("exception", "client"), undefined); + Meteor.call( + 'exception', + 'server', + expect(failure(test, 'Test method throwing an exception')) + ), + undefined + ); + test.equal(Meteor.call('exception', 'client'), undefined); } }, - function (test, expect) { + function(test, expect) { if (Meteor.isServer) { var threw = false; try { - Meteor.call("exception", "both", {intended: true}); + Meteor.call('exception', 'both', { intended: true }); } catch (e) { threw = true; test.equal(e.error, 999); - test.equal(e.reason, "Client-visible test exception"); + test.equal(e.reason, 'Client-visible test exception'); } test.isTrue(threw); threw = false; try { - Meteor.call("exception", "both", {intended: true, - throwThroughFuture: true}); + Meteor.call('exception', 'both', { + intended: true, + throwThroughFuture: true + }); } catch (e) { threw = true; test.equal(e.error, 999); - test.equal(e.reason, "Client-visible test exception"); + test.equal(e.reason, 'Client-visible test exception'); } test.isTrue(threw); } if (Meteor.isClient) { test.equal( - Meteor.call("exception", "both", {intended: true}, - expect(failure(test, 999, - "Client-visible test exception"))), - undefined); + Meteor.call( + 'exception', + 'both', + { intended: true }, + expect(failure(test, 999, 'Client-visible test exception')) + ), + undefined + ); test.equal( - Meteor.call("exception", "server", {intended: true}, - expect(failure(test, 999, - "Client-visible test exception"))), - undefined); + Meteor.call( + 'exception', + 'server', + { intended: true }, + expect(failure(test, 999, 'Client-visible test exception')) + ), + undefined + ); test.equal( - Meteor.call("exception", "server", {intended: true, - throwThroughFuture: true}, - expect(failure(test, 999, - "Client-visible test exception"))), - undefined); + Meteor.call( + 'exception', + 'server', + { + intended: true, + throwThroughFuture: true + }, + expect(failure(test, 999, 'Client-visible test exception')) + ), + undefined + ); } } ]); - - - -var checkBalances = function (test, a, b) { - var alice = Ledger.findOne({name: "alice", world: test.runId()}); - var bob = Ledger.findOne({name: "bob", world: test.runId()}); +var checkBalances = function(test, a, b) { + var alice = Ledger.findOne({ name: 'alice', world: test.runId() }); + var bob = Ledger.findOne({ name: 'bob', world: test.runId() }); test.equal(alice.balance, a); test.equal(bob.balance, b); }; // would be nice to have a database-aware test harness of some kind -- // this is a big hack (and XXX pollutes the global test namespace) -testAsyncMulti("livedata - compound methods", [ - function (test, expect) { - if (Meteor.isClient) - Meteor.subscribe("ledger", test.runId(), expect()); +testAsyncMulti('livedata - compound methods', [ + function(test, expect) { + if (Meteor.isClient) Meteor.subscribe('ledger', test.runId(), expect()); - Ledger.insert({name: "alice", balance: 100, world: test.runId()}, - expect(function () {})); - Ledger.insert({name: "bob", balance: 50, world: test.runId()}, - expect(function () {})); + Ledger.insert( + { name: 'alice', balance: 100, world: test.runId() }, + expect(function() {}) + ); + Ledger.insert( + { name: 'bob', balance: 50, world: test.runId() }, + expect(function() {}) + ); }, - function (test, expect) { - Meteor.call('ledger/transfer', test.runId(), "alice", "bob", 10, - expect(function(err, result) { - test.equal(err, undefined); - test.equal(result, undefined); - checkBalances(test, 90, 60); - })); + function(test, expect) { + Meteor.call( + 'ledger/transfer', + test.runId(), + 'alice', + 'bob', + 10, + expect(function(err, result) { + test.equal(err, undefined); + test.equal(result, undefined); + checkBalances(test, 90, 60); + }) + ); checkBalances(test, 90, 60); }, - function (test, expect) { - Meteor.call('ledger/transfer', test.runId(), "alice", "bob", 100, true, - expect(function (err, result) { - failure(test, 409)(err, result); - // Balances are reverted back to pre-stub values. - checkBalances(test, 90, 60); - })); + function(test, expect) { + Meteor.call( + 'ledger/transfer', + test.runId(), + 'alice', + 'bob', + 100, + true, + expect(function(err, result) { + failure(test, 409)(err, result); + // Balances are reverted back to pre-stub values. + checkBalances(test, 90, 60); + }) + ); if (Meteor.isClient) // client can fool itself by cheating, but only until the sync // finishes checkBalances(test, -10, 160); - else - checkBalances(test, 90, 60); + else checkBalances(test, 90, 60); } ]); @@ -344,10 +400,15 @@ testAsyncMulti("livedata - compound methods", [ // // @param messages {Array} The array to which to append the messages // @return {Function} A function to call to undo the eavesdropping -var eavesdropOnCollection = function(livedata_connection, - collection_name, messages) { +var eavesdropOnCollection = function( + livedata_connection, + collection_name, + messages +) { var old_livedata_data = _.bind( - livedata_connection._livedata_data, livedata_connection); + livedata_connection._livedata_data, + livedata_connection + ); // Kind of gross since all tests past this one will run with this // hook set up. That's probably fine since we only check a specific @@ -368,128 +429,179 @@ var eavesdropOnCollection = function(livedata_connection, }; if (Meteor.isClient) { - testAsyncMulti("livedata - changing userid reruns subscriptions without flapping data on the wire", [ - function(test, expect) { - var messages = []; - var undoEavesdrop = eavesdropOnCollection( - Meteor.connection, "objectsWithUsers", messages); + testAsyncMulti( + 'livedata - changing userid reruns subscriptions without flapping data on the wire', + [ + function(test, expect) { + var messages = []; + var undoEavesdrop = eavesdropOnCollection( + Meteor.connection, + 'objectsWithUsers', + messages + ); - // A helper for testing incoming set and unset messages - // XXX should this be extracted as a general helper together with - // eavesdropOnCollection? - var expectMessages = function(expectedAddedMessageCount, - expectedRemovedMessageCount, - expectedNamesInCollection) { - var actualAddedMessageCount = 0; - var actualRemovedMessageCount = 0; - _.each(messages, function (msg) { - if (msg.msg === 'added') - ++actualAddedMessageCount; - else if (msg.msg === 'removed') - ++actualRemovedMessageCount; - else - test.fail({unexpected: JSON.stringify(msg)}); + // A helper for testing incoming set and unset messages + // XXX should this be extracted as a general helper together with + // eavesdropOnCollection? + var expectMessages = function( + expectedAddedMessageCount, + expectedRemovedMessageCount, + expectedNamesInCollection + ) { + var actualAddedMessageCount = 0; + var actualRemovedMessageCount = 0; + _.each(messages, function(msg) { + if (msg.msg === 'added') ++actualAddedMessageCount; + else if (msg.msg === 'removed') ++actualRemovedMessageCount; + else test.fail({ unexpected: JSON.stringify(msg) }); + }); + test.equal(actualAddedMessageCount, expectedAddedMessageCount); + test.equal(actualRemovedMessageCount, expectedRemovedMessageCount); + expectedNamesInCollection.sort(); + test.equal( + _.pluck( + objectsWithUsers.find({}, { sort: ['name'] }).fetch(), + 'name' + ), + expectedNamesInCollection + ); + messages.length = 0; // clear messages without creating a new object + }; + + // make sure we're not already logged in. can happen if accounts + // tests fail oddly. + Meteor.apply( + 'setUserId', + [null], + { wait: true }, + expect(function() {}) + ); + + Meteor.subscribe( + 'objectsWithUsers', + expect(function() { + expectMessages(1, 0, ['owned by none']); + Meteor.apply( + 'setUserId', + ['1'], + { wait: true }, + afterFirstSetUserId + ); + }) + ); + + var afterFirstSetUserId = expect(function() { + expectMessages(3, 1, [ + 'owned by one - a', + 'owned by one/two - a', + 'owned by one/two - b' + ]); + Meteor.apply( + 'setUserId', + ['2'], + { wait: true }, + afterSecondSetUserId + ); }); - test.equal(actualAddedMessageCount, expectedAddedMessageCount); - test.equal(actualRemovedMessageCount, expectedRemovedMessageCount); - expectedNamesInCollection.sort(); - test.equal(_.pluck(objectsWithUsers.find({}, {sort: ['name']}).fetch(), - 'name'), - expectedNamesInCollection); - messages.length = 0; // clear messages without creating a new object - }; - // make sure we're not already logged in. can happen if accounts - // tests fail oddly. - Meteor.apply("setUserId", [null], {wait: true}, expect(function () {})); + var afterSecondSetUserId = expect(function() { + expectMessages(2, 1, [ + 'owned by one/two - a', + 'owned by one/two - b', + 'owned by two - a', + 'owned by two - b' + ]); + Meteor.apply('setUserId', ['2'], { wait: true }, afterThirdSetUserId); + }); - Meteor.subscribe("objectsWithUsers", expect(function() { - expectMessages(1, 0, ["owned by none"]); - Meteor.apply("setUserId", ["1"], {wait: true}, afterFirstSetUserId); - })); - - var afterFirstSetUserId = expect(function() { - expectMessages(3, 1, [ - "owned by one - a", - "owned by one/two - a", - "owned by one/two - b"]); - Meteor.apply("setUserId", ["2"], {wait: true}, afterSecondSetUserId); - }); - - var afterSecondSetUserId = expect(function() { - expectMessages(2, 1, [ - "owned by one/two - a", - "owned by one/two - b", - "owned by two - a", - "owned by two - b"]); - Meteor.apply("setUserId", ["2"], {wait: true}, afterThirdSetUserId); - }); - - var afterThirdSetUserId = expect(function() { - // Nothing should have been sent since the results of the - // query are the same ("don't flap data on the wire") - expectMessages(0, 0, [ - "owned by one/two - a", - "owned by one/two - b", - "owned by two - a", - "owned by two - b"]); - undoEavesdrop(); - }); - }, function(test, expect) { - var key = Random.id(); - Meteor.subscribe("recordUserIdOnStop", key); - Meteor.apply("setUserId", ["100"], {wait: true}, expect(function () {})); - Meteor.apply("setUserId", ["101"], {wait: true}, expect(function () {})); - Meteor.call("userIdWhenStopped", key, expect(function (err, result) { - test.isFalse(err); - test.equal(result, "100"); - })); - // clean up - Meteor.apply("setUserId", [null], {wait: true}, expect(function () {})); - } - ]); + var afterThirdSetUserId = expect(function() { + // Nothing should have been sent since the results of the + // query are the same ("don't flap data on the wire") + expectMessages(0, 0, [ + 'owned by one/two - a', + 'owned by one/two - b', + 'owned by two - a', + 'owned by two - b' + ]); + undoEavesdrop(); + }); + }, + function(test, expect) { + var key = Random.id(); + Meteor.subscribe('recordUserIdOnStop', key); + Meteor.apply( + 'setUserId', + ['100'], + { wait: true }, + expect(function() {}) + ); + Meteor.apply( + 'setUserId', + ['101'], + { wait: true }, + expect(function() {}) + ); + Meteor.call( + 'userIdWhenStopped', + key, + expect(function(err, result) { + test.isFalse(err); + test.equal(result, '100'); + }) + ); + // clean up + Meteor.apply( + 'setUserId', + [null], + { wait: true }, + expect(function() {}) + ); + } + ] + ); } -Tinytest.add("livedata - setUserId error when called from server", function(test) { +Tinytest.add('livedata - setUserId error when called from server', function( + test +) { if (Meteor.isServer) { - test.equal(errorThrownWhenCallingSetUserIdDirectlyOnServer.message, - "Can't call setUserId on a server initiated method call"); + test.equal( + errorThrownWhenCallingSetUserIdDirectlyOnServer.message, + "Can't call setUserId on a server initiated method call" + ); } }); - if (Meteor.isServer) { var pubHandles = {}; -}; +} Meteor.methods({ - "livedata/setup" : function (id) { + 'livedata/setup': function(id) { check(id, String); if (Meteor.isServer) { pubHandles[id] = {}; - Meteor.publish("pub1"+id, function () { + Meteor.publish('pub1' + id, function() { pubHandles[id].pub1 = this; this.ready(); }); - Meteor.publish("pub2"+id, function () { + Meteor.publish('pub2' + id, function() { pubHandles[id].pub2 = this; this.ready(); }); - } }, - "livedata/pub1go" : function (id) { + 'livedata/pub1go': function(id) { check(id, String); if (Meteor.isServer) { - - pubHandles[id].pub1.added("MultiPubCollection" + id, "foo", {a: "aa"}); + pubHandles[id].pub1.added('MultiPubCollection' + id, 'foo', { a: 'aa' }); return 1; } return 0; }, - "livedata/pub2go" : function (id) { + 'livedata/pub2go': function(id) { check(id, String); if (Meteor.isServer) { - pubHandles[id].pub2.added("MultiPubCollection" + id , "foo", {b: "bb"}); + pubHandles[id].pub2.added('MultiPubCollection' + id, 'foo', { b: 'bb' }); return 2; } return 0; @@ -497,363 +609,471 @@ Meteor.methods({ }); if (Meteor.isClient) { - (function () { + (function() { var MultiPub; var id = Random.id(); - testAsyncMulti("livedata - added from two different subs", [ - function (test, expect) { - Meteor.call('livedata/setup', id, expect(function () {})); + testAsyncMulti('livedata - added from two different subs', [ + function(test, expect) { + Meteor.call('livedata/setup', id, expect(function() {})); }, - function (test, expect) { - MultiPub = new Mongo.Collection("MultiPubCollection" + id); - var sub1 = Meteor.subscribe("pub1"+id, expect(function () {})); - var sub2 = Meteor.subscribe("pub2"+id, expect(function () {})); + function(test, expect) { + MultiPub = new Mongo.Collection('MultiPubCollection' + id); + var sub1 = Meteor.subscribe('pub1' + id, expect(function() {})); + var sub2 = Meteor.subscribe('pub2' + id, expect(function() {})); }, - function (test, expect) { - Meteor.call("livedata/pub1go", id, expect(function (err, res) {test.equal(res, 1);})); + function(test, expect) { + Meteor.call( + 'livedata/pub1go', + id, + expect(function(err, res) { + test.equal(res, 1); + }) + ); }, - function (test, expect) { - test.equal(MultiPub.findOne("foo"), {_id: "foo", a: "aa"}); + function(test, expect) { + test.equal(MultiPub.findOne('foo'), { _id: 'foo', a: 'aa' }); }, - function (test, expect) { - Meteor.call("livedata/pub2go", id, expect(function (err, res) {test.equal(res, 2);})); + function(test, expect) { + Meteor.call( + 'livedata/pub2go', + id, + expect(function(err, res) { + test.equal(res, 2); + }) + ); }, - function (test, expect) { - test.equal(MultiPub.findOne("foo"), {_id: "foo", a: "aa", b: "bb"}); + function(test, expect) { + test.equal(MultiPub.findOne('foo'), { _id: 'foo', a: 'aa', b: 'bb' }); } ]); })(); -}; +} if (Meteor.isClient) { - testAsyncMulti("livedata - overlapping universal subs", [ - function (test, expect) { - var coll = new Mongo.Collection("overlappingUniversalSubs"); + testAsyncMulti('livedata - overlapping universal subs', [ + function(test, expect) { + var coll = new Mongo.Collection('overlappingUniversalSubs'); var token = Random.id(); test.isFalse(coll.findOne(token)); - Meteor.call("testOverlappingSubs", token, expect(function (err) { - test.isFalse(err); - test.isTrue(coll.findOne(token)); - })); + Meteor.call( + 'testOverlappingSubs', + token, + expect(function(err) { + test.isFalse(err); + test.isTrue(coll.findOne(token)); + }) + ); } ]); - testAsyncMulti("livedata - runtime universal sub creation", [ - function (test, expect) { - var coll = new Mongo.Collection("runtimeSubCreation"); + testAsyncMulti('livedata - runtime universal sub creation', [ + function(test, expect) { + var coll = new Mongo.Collection('runtimeSubCreation'); var token = Random.id(); test.isFalse(coll.findOne(token)); - Meteor.call("runtimeUniversalSubCreation", token, expect(function (err) { - test.isFalse(err); - test.isTrue(coll.findOne(token)); - })); + Meteor.call( + 'runtimeUniversalSubCreation', + token, + expect(function(err) { + test.isFalse(err); + test.isTrue(coll.findOne(token)); + }) + ); } ]); - testAsyncMulti("livedata - no setUserId after unblock", [ - function (test, expect) { - Meteor.call("setUserIdAfterUnblock", expect(function (err, result) { - test.isFalse(err); - test.isTrue(result); - })); + testAsyncMulti('livedata - no setUserId after unblock', [ + function(test, expect) { + Meteor.call( + 'setUserIdAfterUnblock', + expect(function(err, result) { + test.isFalse(err); + test.isTrue(result); + }) + ); } ]); - testAsyncMulti("livedata - publisher errors with onError callback", (function () { - var conn, collName, coll; - var errorFromRerun; - var gotErrorFromStopper = false; - return [ - function (test, expect) { - // Use a separate connection so that we can safely check to see if - // conn._subscriptions is empty. - conn = new LivedataTest.Connection('/', - {reloadWithOutstanding: true}); - collName = Random.id(); - coll = new Mongo.Collection(collName, {connection: conn}); - - var testSubError = function (options) { - conn.subscribe("publisherErrors", collName, options, { - onReady: expect(), - onError: expect( - failure(test, - options.internalError ? 500 : 412, - options.internalError ? "Internal server error" - : "Explicit error")) + testAsyncMulti( + 'livedata - publisher errors with onError callback', + (function() { + var conn, collName, coll; + var errorFromRerun; + var gotErrorFromStopper = false; + return [ + function(test, expect) { + // Use a separate connection so that we can safely check to see if + // conn._subscriptions is empty. + conn = new LivedataTest.Connection('/', { + reloadWithOutstanding: true }); - }; - testSubError({throwInHandler: true}); - testSubError({throwInHandler: true, internalError: true}); - testSubError({errorInHandler: true}); - testSubError({errorInHandler: true, internalError: true}); - testSubError({errorLater: true}); - testSubError({errorLater: true, internalError: true}); - }, - function (test, expect) { - test.equal(coll.find().count(), 0); - test.equal(_.size(conn._subscriptions), 0); // white-box test + collName = Random.id(); + coll = new Mongo.Collection(collName, { connection: conn }); - conn.subscribe("publisherErrors", - collName, {throwWhenUserIdSet: true}, { - onReady: expect(), - onError: function (error) { - errorFromRerun = error; - } - }); - }, - function (test, expect) { - // Because the last subscription is ready, we should have a document. - test.equal(coll.find().count(), 1); - test.isFalse(errorFromRerun); - test.equal(_.size(conn._subscriptions), 1); // white-box test - conn.call('setUserId', 'bla', expect(function(){})); - }, - function (test, expect) { - // Now that we've re-run, we should have stopped the subscription, - // gotten a error, and lost the document. - test.equal(coll.find().count(), 0); - test.isTrue(errorFromRerun); - test.instanceOf(errorFromRerun, Meteor.Error); - test.equal(errorFromRerun.error, 412); - test.equal(errorFromRerun.reason, "Explicit error"); - test.equal(_.size(conn._subscriptions), 0); // white-box test + var testSubError = function(options) { + conn.subscribe('publisherErrors', collName, options, { + onReady: expect(), + onError: expect( + failure( + test, + options.internalError ? 500 : 412, + options.internalError + ? 'Internal server error' + : 'Explicit error' + ) + ) + }); + }; + testSubError({ throwInHandler: true }); + testSubError({ throwInHandler: true, internalError: true }); + testSubError({ errorInHandler: true }); + testSubError({ errorInHandler: true, internalError: true }); + testSubError({ errorLater: true }); + testSubError({ errorLater: true, internalError: true }); + }, + function(test, expect) { + test.equal(coll.find().count(), 0); + test.equal(_.size(conn._subscriptions), 0); // white-box test - conn.subscribe("publisherErrors", collName, {stopInHandler: true}, { - onError: function() { gotErrorFromStopper = true; } - }); - // Call a method. This method won't be processed until the publisher's - // function returns, so blocking on it being done ensures that we've - // gotten the removed/nosub/etc. - conn.call('nothing', expect(function(){})); - }, - function (test, expect) { - test.equal(coll.find().count(), 0); - // sub.stop does NOT call onError. - test.isFalse(gotErrorFromStopper); - test.equal(_.size(conn._subscriptions), 0); // white-box test - conn._stream.disconnect({_permanent: true}); - } - ];})()); - - testAsyncMulti("livedata - publisher errors with onStop callback", (function () { - var conn, collName, coll; - var errorFromRerun; - var gotErrorFromStopper = false; - return [ - function (test, expect) { - // Use a separate connection so that we can safely check to see if - // conn._subscriptions is empty. - conn = new LivedataTest.Connection('/', - {reloadWithOutstanding: true}); - collName = Random.id(); - coll = new Mongo.Collection(collName, {connection: conn}); - - var testSubError = function (options) { - conn.subscribe("publisherErrors", collName, options, { - onReady: expect(), - onStop: expect( - failureOnStopped(test, - options.internalError ? 500 : 412, - options.internalError ? "Internal server error" - : "Explicit error")) - }); - }; - testSubError({throwInHandler: true}); - testSubError({throwInHandler: true, internalError: true}); - testSubError({errorInHandler: true}); - testSubError({errorInHandler: true, internalError: true}); - testSubError({errorLater: true}); - testSubError({errorLater: true, internalError: true}); - }, - function (test, expect) { - test.equal(coll.find().count(), 0); - test.equal(_.size(conn._subscriptions), 0); // white-box test - - conn.subscribe("publisherErrors", - collName, {throwWhenUserIdSet: true}, { - onReady: expect(), - onStop: function (error) { - errorFromRerun = error; - } - }); - }, - function (test, expect) { - // Because the last subscription is ready, we should have a document. - test.equal(coll.find().count(), 1); - test.isFalse(errorFromRerun); - test.equal(_.size(conn._subscriptions), 1); // white-box test - conn.call('setUserId', 'bla', expect(function(){})); - }, - function (test, expect) { - // Now that we've re-run, we should have stopped the subscription, - // gotten a error, and lost the document. - test.equal(coll.find().count(), 0); - test.isTrue(errorFromRerun); - test.instanceOf(errorFromRerun, Meteor.Error); - test.equal(errorFromRerun.error, 412); - test.equal(errorFromRerun.reason, "Explicit error"); - test.equal(_.size(conn._subscriptions), 0); // white-box test - - conn.subscribe("publisherErrors", collName, {stopInHandler: true}, { - onStop: function(error) { - if (error) { - gotErrorFromStopper = true; + conn.subscribe( + 'publisherErrors', + collName, + { throwWhenUserIdSet: true }, + { + onReady: expect(), + onError: function(error) { + errorFromRerun = error; + } } - } - }); - // Call a method. This method won't be processed until the publisher's - // function returns, so blocking on it being done ensures that we've - // gotten the removed/nosub/etc. - conn.call('nothing', expect(function(){})); - }, - function (test, expect) { - test.equal(coll.find().count(), 0); - // sub.stop does NOT call onError. - test.isFalse(gotErrorFromStopper); - test.equal(_.size(conn._subscriptions), 0); // white-box test - conn._stream.disconnect({_permanent: true}); - } - ];})()); + ); + }, + function(test, expect) { + // Because the last subscription is ready, we should have a document. + test.equal(coll.find().count(), 1); + test.isFalse(errorFromRerun); + test.equal(_.size(conn._subscriptions), 1); // white-box test + conn.call('setUserId', 'bla', expect(function() {})); + }, + function(test, expect) { + // Now that we've re-run, we should have stopped the subscription, + // gotten a error, and lost the document. + test.equal(coll.find().count(), 0); + test.isTrue(errorFromRerun); + test.instanceOf(errorFromRerun, Meteor.Error); + test.equal(errorFromRerun.error, 412); + test.equal(errorFromRerun.reason, 'Explicit error'); + test.equal(_.size(conn._subscriptions), 0); // white-box test - testAsyncMulti("livedata - publish multiple cursors", [ - function (test, expect) { - var sub = Meteor.subscribe("multiPublish", {normal: 1}, { - onReady: expect(function () { - test.isTrue(sub.ready()); - test.equal(One.find().count(), 2); - test.equal(Two.find().count(), 3); - }), - onError: failure() - }); + conn.subscribe( + 'publisherErrors', + collName, + { stopInHandler: true }, + { + onError: function() { + gotErrorFromStopper = true; + } + } + ); + // Call a method. This method won't be processed until the publisher's + // function returns, so blocking on it being done ensures that we've + // gotten the removed/nosub/etc. + conn.call('nothing', expect(function() {})); + }, + function(test, expect) { + test.equal(coll.find().count(), 0); + // sub.stop does NOT call onError. + test.isFalse(gotErrorFromStopper); + test.equal(_.size(conn._subscriptions), 0); // white-box test + conn._stream.disconnect({ _permanent: true }); + } + ]; + })() + ); + + testAsyncMulti( + 'livedata - publisher errors with onStop callback', + (function() { + var conn, collName, coll; + var errorFromRerun; + var gotErrorFromStopper = false; + return [ + function(test, expect) { + // Use a separate connection so that we can safely check to see if + // conn._subscriptions is empty. + conn = new LivedataTest.Connection('/', { + reloadWithOutstanding: true + }); + collName = Random.id(); + coll = new Mongo.Collection(collName, { connection: conn }); + + var testSubError = function(options) { + conn.subscribe('publisherErrors', collName, options, { + onReady: expect(), + onStop: expect( + failureOnStopped( + test, + options.internalError ? 500 : 412, + options.internalError + ? 'Internal server error' + : 'Explicit error' + ) + ) + }); + }; + testSubError({ throwInHandler: true }); + testSubError({ throwInHandler: true, internalError: true }); + testSubError({ errorInHandler: true }); + testSubError({ errorInHandler: true, internalError: true }); + testSubError({ errorLater: true }); + testSubError({ errorLater: true, internalError: true }); + }, + function(test, expect) { + test.equal(coll.find().count(), 0); + test.equal(_.size(conn._subscriptions), 0); // white-box test + + conn.subscribe( + 'publisherErrors', + collName, + { throwWhenUserIdSet: true }, + { + onReady: expect(), + onStop: function(error) { + errorFromRerun = error; + } + } + ); + }, + function(test, expect) { + // Because the last subscription is ready, we should have a document. + test.equal(coll.find().count(), 1); + test.isFalse(errorFromRerun); + test.equal(_.size(conn._subscriptions), 1); // white-box test + conn.call('setUserId', 'bla', expect(function() {})); + }, + function(test, expect) { + // Now that we've re-run, we should have stopped the subscription, + // gotten a error, and lost the document. + test.equal(coll.find().count(), 0); + test.isTrue(errorFromRerun); + test.instanceOf(errorFromRerun, Meteor.Error); + test.equal(errorFromRerun.error, 412); + test.equal(errorFromRerun.reason, 'Explicit error'); + test.equal(_.size(conn._subscriptions), 0); // white-box test + + conn.subscribe( + 'publisherErrors', + collName, + { stopInHandler: true }, + { + onStop: function(error) { + if (error) { + gotErrorFromStopper = true; + } + } + } + ); + // Call a method. This method won't be processed until the publisher's + // function returns, so blocking on it being done ensures that we've + // gotten the removed/nosub/etc. + conn.call('nothing', expect(function() {})); + }, + function(test, expect) { + test.equal(coll.find().count(), 0); + // sub.stop does NOT call onError. + test.isFalse(gotErrorFromStopper); + test.equal(_.size(conn._subscriptions), 0); // white-box test + conn._stream.disconnect({ _permanent: true }); + } + ]; + })() + ); + + testAsyncMulti('livedata - publish multiple cursors', [ + function(test, expect) { + var sub = Meteor.subscribe( + 'multiPublish', + { normal: 1 }, + { + onReady: expect(function() { + test.isTrue(sub.ready()); + test.equal(One.find().count(), 2); + test.equal(Two.find().count(), 3); + }), + onError: failure() + } + ); }, - function (test, expect) { - Meteor.subscribe("multiPublish", {dup: 1}, { - onReady: failure(), - onError: expect(failure(test, 500, "Internal server error")) - }); + function(test, expect) { + Meteor.subscribe( + 'multiPublish', + { dup: 1 }, + { + onReady: failure(), + onError: expect(failure(test, 500, 'Internal server error')) + } + ); }, - function (test, expect) { - Meteor.subscribe("multiPublish", {notCursor: 1}, { - onReady: failure(), - onError: expect(failure(test, 500, "Internal server error")) - }); + function(test, expect) { + Meteor.subscribe( + 'multiPublish', + { notCursor: 1 }, + { + onReady: failure(), + onError: expect(failure(test, 500, 'Internal server error')) + } + ); } ]); } var selfUrl = Meteor.isServer - ? Meteor.absoluteUrl() : Meteor._relativeToSiteRootUrl('/'); + ? Meteor.absoluteUrl() + : Meteor._relativeToSiteRootUrl('/'); if (Meteor.isServer) { Meteor.methods({ - "s2s": function (arg) { + s2s: function(arg) { check(arg, String); - return "s2s " + arg; + return 's2s ' + arg; } }); } -(function () { - testAsyncMulti("livedata - connect works from both client and server", [ - function (test, expect) { +(function() { + testAsyncMulti('livedata - connect works from both client and server', [ + function(test, expect) { var self = this; self.conn = DDP.connect(selfUrl); - pollUntil(expect, function () { - return self.conn.status().connected; - }, 10000); + pollUntil( + expect, + function() { + return self.conn.status().connected; + }, + 10000 + ); }, - function (test, expect) { + function(test, expect) { var self = this; if (self.conn.status().connected) { - self.conn.call('s2s', 'foo', expect(function (err, res) { - if (err) - throw err; - test.equal(res, "s2s foo"); - })); + self.conn.call( + 's2s', + 'foo', + expect(function(err, res) { + if (err) throw err; + test.equal(res, 's2s foo'); + }) + ); } } ]); })(); if (Meteor.isServer) { - (function () { - testAsyncMulti("livedata - method call on server blocks in a fiber way", [ - function (test, expect) { + (function() { + testAsyncMulti('livedata - method call on server blocks in a fiber way', [ + function(test, expect) { var self = this; self.conn = DDP.connect(selfUrl); - pollUntil(expect, function () { - return self.conn.status().connected; - }, 10000); + pollUntil( + expect, + function() { + return self.conn.status().connected; + }, + 10000 + ); }, - function (test, expect) { + function(test, expect) { var self = this; if (self.conn.status().connected) { - test.equal(self.conn.call('s2s', 'foo'), "s2s foo"); + test.equal(self.conn.call('s2s', 'foo'), 's2s foo'); } } ]); })(); } -(function () { - testAsyncMulti("livedata - connect fails to unknown place", [ - function (test, expect) { +(function() { + testAsyncMulti('livedata - connect fails to unknown place', [ + function(test, expect) { var self = this; - self.conn = DDP.connect("example.com", {_dontPrintErrors: true}); - Meteor.setTimeout(expect(function () { - test.isFalse(self.conn.status().connected, "Not connected"); - self.conn.close(); - }), 500); + self.conn = DDP.connect('example.com', { _dontPrintErrors: true }); + Meteor.setTimeout( + expect(function() { + test.isFalse(self.conn.status().connected, 'Not connected'); + self.conn.close(); + }), + 500 + ); } ]); })(); if (Meteor.isServer) { - Meteor.publish("publisherCloning", function () { + Meteor.publish('publisherCloning', function() { var self = this; - var fields = {x: {y: 42}}; - self.added("publisherCloning", "a", fields); + var fields = { x: { y: 42 } }; + self.added('publisherCloning', 'a', fields); fields.x.y = 43; - self.changed("publisherCloning", "a", fields); + self.changed('publisherCloning', 'a', fields); self.ready(); }); } else { - var PublisherCloningCollection = new Mongo.Collection("publisherCloning"); - testAsyncMulti("livedata - publish callbacks clone", [ - function (test, expect) { - Meteor.subscribe("publisherCloning", {normal: 1}, { - onReady: expect(function () { - test.equal(PublisherCloningCollection.findOne(), { - _id: "a", - x: {y: 43}}); - }), - onError: failure() - }); + var PublisherCloningCollection = new Mongo.Collection('publisherCloning'); + testAsyncMulti('livedata - publish callbacks clone', [ + function(test, expect) { + Meteor.subscribe( + 'publisherCloning', + { normal: 1 }, + { + onReady: expect(function() { + test.equal(PublisherCloningCollection.findOne(), { + _id: 'a', + x: { y: 43 } + }); + }), + onError: failure() + } + ); } ]); } -testAsyncMulti("livedata - result by value", [ - function (test, expect) { +testAsyncMulti('livedata - result by value', [ + function(test, expect) { var self = this; self.testId = Random.id(); - Meteor.call('getArray', self.testId, expect(function (error, firstResult) { - test.isFalse(error); - test.isTrue(firstResult); - self.firstResult = firstResult; - })); - }, function (test, expect) { + Meteor.call( + 'getArray', + self.testId, + expect(function(error, firstResult) { + test.isFalse(error); + test.isTrue(firstResult); + self.firstResult = firstResult; + }) + ); + }, + function(test, expect) { var self = this; - Meteor.call('pushToArray', self.testId, 'xxx', expect(function (error) { - test.isFalse(error); - })); - }, function (test, expect) { + Meteor.call( + 'pushToArray', + self.testId, + 'xxx', + expect(function(error) { + test.isFalse(error); + }) + ); + }, + function(test, expect) { var self = this; - Meteor.call('getArray', self.testId, expect(function (error, secondResult) { - test.isFalse(error); - test.equal(self.firstResult.length + 1, secondResult.length); - })); + Meteor.call( + 'getArray', + self.testId, + expect(function(error, secondResult) { + test.isFalse(error); + test.equal(self.firstResult.length + 1, secondResult.length); + }) + ); } ]); diff --git a/packages/ddp-client/test/random_stream_tests.js b/packages/ddp-client/test/random_stream_tests.js index 91a3c38d92..2fe2c6e463 100644 --- a/packages/ddp-client/test/random_stream_tests.js +++ b/packages/ddp-client/test/random_stream_tests.js @@ -1,8 +1,8 @@ -Tinytest.add("livedata - DDP.randomStream", function (test) { +Tinytest.add('livedata - DDP.randomStream', function(test) { var randomSeed = Random.id(); var context = { randomSeed: randomSeed }; - var sequence = DDP._CurrentMethodInvocation.withValue(context, function () { + var sequence = DDP._CurrentMethodInvocation.withValue(context, function() { return DDP.randomStream('1'); }); @@ -21,7 +21,7 @@ Tinytest.add("livedata - DDP.randomStream", function (test) { test.equal(id1, id1Cloned); // We should get the same sequence when we use the same key - sequence = DDP._CurrentMethodInvocation.withValue(context, function () { + sequence = DDP._CurrentMethodInvocation.withValue(context, function() { return DDP.randomStream('1'); }); seeds = sequence.alea.args; @@ -39,6 +39,6 @@ Tinytest.add("livedata - DDP.randomStream", function (test) { test.equal(id2, id2Cloned); }); -Tinytest.add("livedata - DDP.randomStream with no-args", function (test) { +Tinytest.add('livedata - DDP.randomStream with no-args', function(test) { DDP.randomStream().id(); }); diff --git a/packages/ddp-client/test/stream_client_tests.js b/packages/ddp-client/test/stream_client_tests.js index e9a6545606..cf2e1e3700 100644 --- a/packages/ddp-client/test/stream_client_tests.js +++ b/packages/ddp-client/test/stream_client_tests.js @@ -1,26 +1,30 @@ -import { LivedataTest } from "../common/namespace.js"; +import { LivedataTest } from '../common/namespace.js'; var Fiber = Npm.require('fibers'); -testAsyncMulti("stream client - callbacks run in a fiber", [ - function (test, expect) { +testAsyncMulti('stream client - callbacks run in a fiber', [ + function(test, expect) { var stream = new LivedataTest.ClientStream(Meteor.absoluteUrl()); var messageFired = false; var resetFired = false; - stream.on('message', expect(function () { - test.isTrue(Fiber.current); - if (resetFired) - stream.disconnect(); - messageFired = true; - })); + stream.on( + 'message', + expect(function() { + test.isTrue(Fiber.current); + if (resetFired) stream.disconnect(); + messageFired = true; + }) + ); - stream.on('reset', expect(function () { - test.isTrue(Fiber.current); - if (messageFired) - stream.disconnect(); - resetFired = true; - })); + stream.on( + 'reset', + expect(function() { + test.isTrue(Fiber.current); + if (messageFired) stream.disconnect(); + resetFired = true; + }) + ); } ]); diff --git a/packages/ddp-client/test/stream_tests.js b/packages/ddp-client/test/stream_tests.js index 88c8f672a1..76caa40e96 100644 --- a/packages/ddp-client/test/stream_tests.js +++ b/packages/ddp-client/test/stream_tests.js @@ -1,49 +1,51 @@ -import { LivedataTest } from "../common/namespace.js"; +import { LivedataTest } from '../common/namespace.js'; -Tinytest.add("stream - status", function (test) { +Tinytest.add('stream - status', function(test) { // Very basic test. Just see that it runs and returns something. Not a // lot of coverage, but enough that it would have caught a recent bug. var status = Meteor.status(); - test.equal(typeof status, "object"); + test.equal(typeof status, 'object'); test.isTrue(status.status); // Make sure backward-compatiblity names are defined. test.equal(status.retryCount, status.retryCount); test.equal(status.retryTime, status.retryTime); }); -testAsyncMulti("stream - reconnect", [ - function (test, expect) { - var callback = _.once(expect(function() { - var status; - status = Meteor.status(); - test.equal(status.status, "connected"); +testAsyncMulti('stream - reconnect', [ + function(test, expect) { + var callback = _.once( + expect(function() { + var status; + status = Meteor.status(); + test.equal(status.status, 'connected'); - Meteor.reconnect(); - status = Meteor.status(); - test.equal(status.status, "connected"); + Meteor.reconnect(); + status = Meteor.status(); + test.equal(status.status, 'connected'); - Meteor.reconnect({_force: true}); - status = Meteor.status(); - test.equal(status.status, "waiting"); - })); + Meteor.reconnect({ _force: true }); + status = Meteor.status(); + test.equal(status.status, 'waiting'); + }) + ); - if (Meteor.status().status !== "connected") + if (Meteor.status().status !== 'connected') Meteor.connection._stream.on('reset', callback); - else - callback(); + else callback(); } ]); // Disconnecting and reconnecting transitions through the correct statuses. -testAsyncMulti("stream - basic disconnect", [ - function (test, expect) { +testAsyncMulti('stream - basic disconnect', [ + function(test, expect) { var history = []; - var stream = new LivedataTest.ClientStream("/"); - var onTestComplete = expect(function (unexpectedHistory) { + var stream = new LivedataTest.ClientStream('/'); + var onTestComplete = expect(function(unexpectedHistory) { stream.disconnect(); if (unexpectedHistory) { - test.fail("Unexpected status history: " + - JSON.stringify(unexpectedHistory)); + test.fail( + 'Unexpected status history: ' + JSON.stringify(unexpectedHistory) + ); } }); @@ -53,17 +55,30 @@ testAsyncMulti("stream - basic disconnect", [ if (_.last(history) !== status.status) { history.push(status.status); - if (_.isEqual(history, ["connecting"])) { + if (_.isEqual(history, ['connecting'])) { // do nothing; wait for the next state - } else if (_.isEqual(history, ["connecting", "connected"])) { + } else if (_.isEqual(history, ['connecting', 'connected'])) { stream.disconnect(); - } else if (_.isEqual(history, ["connecting", "connected", "offline"])) { + } else if (_.isEqual(history, ['connecting', 'connected', 'offline'])) { stream.reconnect(); - } else if (_.isEqual(history, ["connecting", "connected", "offline", - "connecting"])) { + } else if ( + _.isEqual(history, [ + 'connecting', + 'connected', + 'offline', + 'connecting' + ]) + ) { // do nothing; wait for the next state - } else if (_.isEqual(history, ["connecting", "connected", "offline", - "connecting", "connected"])) { + } else if ( + _.isEqual(history, [ + 'connecting', + 'connected', + 'offline', + 'connecting', + 'connected' + ]) + ) { onTestComplete(); } else { onTestComplete(history); @@ -74,15 +89,16 @@ testAsyncMulti("stream - basic disconnect", [ ]); // Remain offline if the online event is received while offline. -testAsyncMulti("stream - disconnect remains offline", [ - function (test, expect) { +testAsyncMulti('stream - disconnect remains offline', [ + function(test, expect) { var history = []; - var stream = new LivedataTest.ClientStream("/"); - var onTestComplete = expect(function (unexpectedHistory) { + var stream = new LivedataTest.ClientStream('/'); + var onTestComplete = expect(function(unexpectedHistory) { stream.disconnect(); if (unexpectedHistory) { - test.fail("Unexpected status history: " + - JSON.stringify(unexpectedHistory)); + test.fail( + 'Unexpected status history: ' + JSON.stringify(unexpectedHistory) + ); } }); @@ -92,13 +108,13 @@ testAsyncMulti("stream - disconnect remains offline", [ if (_.last(history) !== status.status) { history.push(status.status); - if (_.isEqual(history, ["connecting"])) { + if (_.isEqual(history, ['connecting'])) { // do nothing; wait for the next status - } else if (_.isEqual(history, ["connecting", "connected"])) { + } else if (_.isEqual(history, ['connecting', 'connected'])) { stream.disconnect(); - } else if (_.isEqual(history, ["connecting", "connected", "offline"])) { + } else if (_.isEqual(history, ['connecting', 'connected', 'offline'])) { stream._online(); - test.isTrue(status.status === "offline"); + test.isTrue(status.status === 'offline'); onTestComplete(); } else { onTestComplete(history); @@ -108,50 +124,68 @@ testAsyncMulti("stream - disconnect remains offline", [ } ]); -Tinytest.add("stream - sockjs urls are computed correctly", function(test) { +Tinytest.add('stream - sockjs urls are computed correctly', function(test) { var testHasSockjsUrl = function(raw, expectedSockjsUrl) { var actual = LivedataTest.toSockjsUrl(raw); if (expectedSockjsUrl instanceof RegExp) test.isTrue(actual.match(expectedSockjsUrl), actual); - else - test.equal(actual, expectedSockjsUrl); + else test.equal(actual, expectedSockjsUrl); }; - testHasSockjsUrl("http://subdomain.meteor.com/", - "http://subdomain.meteor.com/sockjs"); - testHasSockjsUrl("http://subdomain.meteor.com", - "http://subdomain.meteor.com/sockjs"); - testHasSockjsUrl("subdomain.meteor.com/", - "http://subdomain.meteor.com/sockjs"); - testHasSockjsUrl("subdomain.meteor.com", - "http://subdomain.meteor.com/sockjs"); - testHasSockjsUrl("/", Meteor._relativeToSiteRootUrl("/sockjs")); + testHasSockjsUrl( + 'http://subdomain.meteor.com/', + 'http://subdomain.meteor.com/sockjs' + ); + testHasSockjsUrl( + 'http://subdomain.meteor.com', + 'http://subdomain.meteor.com/sockjs' + ); + testHasSockjsUrl( + 'subdomain.meteor.com/', + 'http://subdomain.meteor.com/sockjs' + ); + testHasSockjsUrl( + 'subdomain.meteor.com', + 'http://subdomain.meteor.com/sockjs' + ); + testHasSockjsUrl('/', Meteor._relativeToSiteRootUrl('/sockjs')); - testHasSockjsUrl("http://localhost:3000/", "http://localhost:3000/sockjs"); - testHasSockjsUrl("http://localhost:3000", "http://localhost:3000/sockjs"); - testHasSockjsUrl("localhost:3000", "http://localhost:3000/sockjs"); + testHasSockjsUrl('http://localhost:3000/', 'http://localhost:3000/sockjs'); + testHasSockjsUrl('http://localhost:3000', 'http://localhost:3000/sockjs'); + testHasSockjsUrl('localhost:3000', 'http://localhost:3000/sockjs'); - testHasSockjsUrl("https://subdomain.meteor.com/", - "https://subdomain.meteor.com/sockjs"); - testHasSockjsUrl("https://subdomain.meteor.com", - "https://subdomain.meteor.com/sockjs"); + testHasSockjsUrl( + 'https://subdomain.meteor.com/', + 'https://subdomain.meteor.com/sockjs' + ); + testHasSockjsUrl( + 'https://subdomain.meteor.com', + 'https://subdomain.meteor.com/sockjs' + ); - testHasSockjsUrl("ddp+sockjs://ddp--****-foo.meteor.com/sockjs", - /^https:\/\/ddp--\d\d\d\d-foo\.meteor\.com\/sockjs$/); - testHasSockjsUrl("ddpi+sockjs://ddp--****-foo.meteor.com/sockjs", - /^http:\/\/ddp--\d\d\d\d-foo\.meteor\.com\/sockjs$/); + testHasSockjsUrl( + 'ddp+sockjs://ddp--****-foo.meteor.com/sockjs', + /^https:\/\/ddp--\d\d\d\d-foo\.meteor\.com\/sockjs$/ + ); + testHasSockjsUrl( + 'ddpi+sockjs://ddp--****-foo.meteor.com/sockjs', + /^http:\/\/ddp--\d\d\d\d-foo\.meteor\.com\/sockjs$/ + ); }); -testAsyncMulti("stream - /websocket is a websocket endpoint", [ +testAsyncMulti('stream - /websocket is a websocket endpoint', [ function(test, expect) { // // Verify that /websocket and /websocket/ don't return the main page // _.each(['/websocket', '/websocket/'], function(path) { - HTTP.get(Meteor._relativeToSiteRootUrl(path), expect(function(error, result) { - test.isNotNull(error); - test.equal('Not a valid websocket request', result.content); - })); + HTTP.get( + Meteor._relativeToSiteRootUrl(path), + expect(function(error, result) { + test.isNotNull(error); + test.equal('Not a valid websocket request', result.content); + }) + ); }); // @@ -166,13 +200,16 @@ testAsyncMulti("stream - /websocket is a websocket endpoint", [ test.equal(pageContent, result.content); }); - HTTP.get(Meteor._relativeToSiteRootUrl('/'), expect(function(error, result) { - test.isNull(error); - pageContent = result.content; + HTTP.get( + Meteor._relativeToSiteRootUrl('/'), + expect(function(error, result) { + test.isNull(error); + pageContent = result.content; - _.each(['/websockets', '/websockets/'], function(path) { - HTTP.get(Meteor._relativeToSiteRootUrl(path), wrappedCallback); - }); - })); + _.each(['/websockets', '/websockets/'], function(path) { + HTTP.get(Meteor._relativeToSiteRootUrl(path), wrappedCallback); + }); + }) + ); } ]); diff --git a/packages/ddp-client/test/stub_stream.js b/packages/ddp-client/test/stub_stream.js index 5901f276a1..2bfb4da0cd 100644 --- a/packages/ddp-client/test/stub_stream.js +++ b/packages/ddp-client/test/stub_stream.js @@ -1,55 +1,52 @@ -StubStream = function () { +StubStream = function() { var self = this; self.sent = []; self.callbacks = {}; }; - _.extend(StubStream.prototype, { // Methods from Stream - on: function (name, callback) { + on: function(name, callback) { var self = this; - if (!self.callbacks[name]) - self.callbacks[name] = [callback]; - else - self.callbacks[name].push(callback); + if (!self.callbacks[name]) self.callbacks[name] = [callback]; + else self.callbacks[name].push(callback); }, - send: function (data) { + send: function(data) { var self = this; self.sent.push(data); }, - status: function () { - return {status: "connected", fake: true}; + status: function() { + return { status: 'connected', fake: true }; }, - reconnect: function () { + reconnect: function() { // no-op }, - _lostConnection: function () { + _lostConnection: function() { // no-op }, // Methods for tests - receive: function (data) { + receive: function(data) { var self = this; if (typeof data === 'object') { data = EJSON.stringify(data); } - _.each(self.callbacks['message'], function (cb) { + _.each(self.callbacks['message'], function(cb) { cb(data); }); }, - reset: function () { + reset: function() { var self = this; - _.each(self.callbacks['reset'], function (cb) { + _.each(self.callbacks['reset'], function(cb) { cb(); }); }, From 854076c817a651445e0581f602c92ea09b86251b Mon Sep 17 00:00:00 2001 From: Jesse Rosenberger Date: Thu, 9 Nov 2017 23:07:57 +0200 Subject: [PATCH 0076/1355] Remove the source of the deprecated Windows installer. This code had been used to compile the previous generation of the Windows installer, `InstallMeteor.exe`, however it has been replaced with the `meteor` Chocolatey package. Refs: https://github.com/meteor/meteor-chocolatey-installer. --- .../copy-windows-installer-from-jenkins.sh | 39 - scripts/windows/.gitignore | 4 - scripts/windows/README | 17 - scripts/windows/build-installer.ps1 | 23 - scripts/windows/installer/.gitignore | 111 - scripts/windows/installer/MeteorSetup.sln | 29 - .../installer/WiXBalExtension/.gitignore | 196 - .../WiXBalExtension/BalExtensionExt.sln | 66 - .../installer/WiXBalExtension/LICENSE.TXT | 28 - .../installer/WiXBalExtension/build.bat | 35 - .../installer/WiXBalExtension/inc/.gitignore | 3 - .../WiXBalExtension/inc/Version.proj | 100 - .../WiXBalExtension/inc/WixDistribution.cs | 13 - .../WiXBalExtension/inc/WixDistribution.h | 17 - .../installer/WiXBalExtension/inc/wix.rc | 140 - .../WiXBalExtension/wixext/BalCompiler.cs | 346 -- .../WiXBalExtension/wixext/BalExtension.cs | 96 - .../wixext/BalPreprocessorExtension.cs | 63 - .../wixext/Properties/AssemblyInfo.cs | 27 - .../wixext/WixBalExtensionExt.csproj | 88 - .../WiXBalExtension/wixext/Xsd/bal.xsd | 139 - .../WiXBalExtension/wixext/data/messages.xml | 16 - .../WiXBalExtension/wixext/data/tables.xml | 34 - .../wixlib/BalExtension.wixproj | 48 - .../WiXBalExtension/wixlib/BalExtension.wxs | 13 - .../WiXBalExtension/wixlib/wixstdba.wxs | 66 - .../wixlib/wixstdba_platform.wxi | 32 - .../WiXBalExtension/wixlib/wixstdba_x86.wxs | 13 - .../WiXBalExtension/wixstdba/JSON.cpp | 280 -- .../installer/WiXBalExtension/wixstdba/JSON.h | 112 - .../WiXBalExtension/wixstdba/JSONValue.cpp | 803 ---- .../WiXBalExtension/wixstdba/JSONValue.h | 86 - .../wixstdba/Resources/Hyperlink2Theme.xml | 77 - .../wixstdba/Resources/HyperlinkTheme.wxl | 54 - .../wixstdba/Resources/HyperlinkTheme.xml | 66 - .../wixstdba/Resources/LogoSide.png | Bin 3118 -> 0 bytes .../wixstdba/Resources/LoremIpsumLicense.rtf | Bin 4908 -> 0 bytes .../wixstdba/Resources/RtfTheme.wxl | 43 - .../wixstdba/Resources/RtfTheme.xml | 62 - .../wixstdba/Resources/logo.png | Bin 880 -> 0 bytes .../WixStandardBootstrapperApplication.cpp | 4126 ----------------- .../WiXBalExtension/wixstdba/precomp.h | 56 - .../WiXBalExtension/wixstdba/resource.h | 25 - .../WiXBalExtension/wixstdba/wixstdba.cpp | 61 - .../WiXBalExtension/wixstdba/wixstdba.def | 16 - .../WiXBalExtension/wixstdba/wixstdba.rc | 19 - .../WiXBalExtension/wixstdba/wixstdba.vcxproj | 154 - .../wixstdba/wixstdba.vcxproj.filters | 73 - .../windows/installer/WiXHelper/.gitignore | 196 - .../installer/WiXHelper/CustomAction.cpp | 525 --- .../installer/WiXHelper/CustomAction.def | 10 - .../installer/WiXHelper/WiXHelper.vcxproj | 128 - .../WiXHelper/WiXHelper.vcxproj.filters | 38 - .../windows/installer/WiXHelper/stdafx.cpp | 8 - scripts/windows/installer/WiXHelper/stdafx.h | 26 - .../windows/installer/WiXHelper/targetver.h | 24 - .../windows/installer/WiXInstaller/.gitignore | 196 - .../installer/WiXInstaller/Configuration.wxi | 27 - .../installer/WiXInstaller/MSIPackage.wixproj | 71 - .../installer/WiXInstaller/Meteor_Bundle.wxs | 76 - .../installer/WiXInstaller/Meteor_Product.wxs | 93 - .../Resources/Background - Copy.png | Bin 2215 -> 0 bytes .../WiXInstaller/Resources/Background.png | Bin 2107 -> 0 bytes .../WiXInstaller/Resources/License.htm | 127 - .../WiXInstaller/Resources/License.rtf | Bin 4908 -> 0 bytes .../WiXInstaller/Resources/LogoSide.png | Bin 37330 -> 0 bytes .../WiXInstaller/Resources/Product.ico | Bin 199190 -> 0 bytes .../WiXInstaller/Resources/Theme_Meteor.wxl | 104 - .../WiXInstaller/Resources/Theme_Meteor.xml | 113 - .../WiXInstaller/Resources/TopHeader.png | Bin 5227 -> 0 bytes .../WiXInstaller/Resources/dummy.file | 0 .../WiXInstaller/Resources/meteor-logo-sm.jpg | Bin 9196 -> 0 bytes .../WiXInstaller/SetupPackage.wixproj | 71 - .../inc/BalBaseBootstrapperApplication.h | 651 --- .../WiXSDK/inc/IBootstrapperApplication.h | 704 --- .../WiXSDK/inc/IBootstrapperBAFunction.h | 29 - .../WiXSDK/inc/IBootstrapperEngine.h | 220 - .../windows/installer/WiXSDK/inc/aclutil.h | 151 - .../windows/installer/WiXSDK/inc/apuputil.h | 92 - .../windows/installer/WiXSDK/inc/atomutil.h | 158 - .../installer/WiXSDK/inc/balcondition.h | 69 - .../windows/installer/WiXSDK/inc/balinfo.h | 106 - .../windows/installer/WiXSDK/inc/balretry.h | 75 - .../windows/installer/WiXSDK/inc/balutil.h | 120 - .../windows/installer/WiXSDK/inc/buffutil.h | 92 - .../windows/installer/WiXSDK/inc/cabcutil.h | 72 - .../windows/installer/WiXSDK/inc/cabutil.h | 66 - .../windows/installer/WiXSDK/inc/certutil.h | 76 - .../windows/installer/WiXSDK/inc/conutil.h | 110 - .../windows/installer/WiXSDK/inc/cryputil.h | 72 - .../installer/WiXSDK/inc/custommsierrors.h | 153 - .../windows/installer/WiXSDK/inc/dictutil.h | 79 - .../windows/installer/WiXSDK/inc/dirutil.h | 65 - scripts/windows/installer/WiXSDK/inc/dutil.h | 215 - .../windows/installer/WiXSDK/inc/eseutil.h | 233 - .../windows/installer/WiXSDK/inc/fileutil.h | 229 - .../windows/installer/WiXSDK/inc/gdiputil.h | 41 - .../windows/installer/WiXSDK/inc/iis7util.h | 233 - .../windows/installer/WiXSDK/inc/inetutil.h | 49 - .../windows/installer/WiXSDK/inc/iniutil.h | 83 - .../windows/installer/WiXSDK/inc/jsonutil.h | 122 - .../windows/installer/WiXSDK/inc/locutil.h | 120 - .../windows/installer/WiXSDK/inc/logutil.h | 210 - .../windows/installer/WiXSDK/inc/memutil.h | 59 - .../windows/installer/WiXSDK/inc/metautil.h | 62 - scripts/windows/installer/WiXSDK/inc/osutil.h | 49 - .../windows/installer/WiXSDK/inc/pathutil.h | 213 - .../windows/installer/WiXSDK/inc/perfutil.h | 34 - .../windows/installer/WiXSDK/inc/polcutil.h | 47 - .../windows/installer/WiXSDK/inc/procutil.h | 85 - .../windows/installer/WiXSDK/inc/regutil.h | 240 - .../windows/installer/WiXSDK/inc/resrutil.h | 55 - .../windows/installer/WiXSDK/inc/reswutil.h | 43 - .../windows/installer/WiXSDK/inc/rexutil.h | 64 - scripts/windows/installer/WiXSDK/inc/rmutil.h | 56 - .../windows/installer/WiXSDK/inc/rssutil.h | 101 - .../windows/installer/WiXSDK/inc/sceutil.h | 271 -- .../windows/installer/WiXSDK/inc/shelutil.h | 57 - .../windows/installer/WiXSDK/inc/sqlutil.h | 146 - .../windows/installer/WiXSDK/inc/srputil.h | 57 - .../windows/installer/WiXSDK/inc/strutil.h | 279 -- .../windows/installer/WiXSDK/inc/svcutil.h | 31 - .../windows/installer/WiXSDK/inc/thmutil.h | 559 --- .../windows/installer/WiXSDK/inc/timeutil.h | 45 - .../windows/installer/WiXSDK/inc/uriutil.h | 111 - .../windows/installer/WiXSDK/inc/userutil.h | 42 - scripts/windows/installer/WiXSDK/inc/wcalog.h | 24 - .../windows/installer/WiXSDK/inc/wcautil.h | 372 -- .../windows/installer/WiXSDK/inc/wcawow64.h | 30 - .../installer/WiXSDK/inc/wcawrapquery.h | 141 - scripts/windows/installer/WiXSDK/inc/wiutil.h | 367 -- .../windows/installer/WiXSDK/inc/wuautil.h | 31 - .../windows/installer/WiXSDK/inc/xmlutil.h | 178 - .../WiXSDK/vs2010/lib/x86/balutil.lib | Bin 1155228 -> 0 bytes .../WiXSDK/vs2010/lib/x86/deputil.lib | Bin 1082026 -> 0 bytes .../installer/WiXSDK/vs2010/lib/x86/dutil.lib | Bin 3811640 -> 0 bytes .../WiXSDK/vs2010/lib/x86/wcautil.lib | Bin 1328052 -> 0 bytes .../WiXSDK/vs2012/lib/x86/balutil.lib | Bin 1345628 -> 0 bytes .../WiXSDK/vs2012/lib/x86/deputil.lib | Bin 1249248 -> 0 bytes .../installer/WiXSDK/vs2012/lib/x86/dutil.lib | Bin 4592816 -> 0 bytes .../WiXSDK/vs2012/lib/x86/wcautil.lib | Bin 1503874 -> 0 bytes .../WiXSDK/vs2013/lib/x86/balutil.lib | Bin 1346004 -> 0 bytes .../WiXSDK/vs2013/lib/x86/deputil.lib | Bin 1249172 -> 0 bytes .../installer/WiXSDK/vs2013/lib/x86/dutil.lib | Bin 4592982 -> 0 bytes .../WiXSDK/vs2013/lib/x86/wcautil.lib | Bin 1503952 -> 0 bytes scripts/windows/installer/build.bat | 92 - 146 files changed, 18384 deletions(-) delete mode 100755 scripts/admin/copy-windows-installer-from-jenkins.sh delete mode 100644 scripts/windows/.gitignore delete mode 100644 scripts/windows/README delete mode 100644 scripts/windows/build-installer.ps1 delete mode 100644 scripts/windows/installer/.gitignore delete mode 100755 scripts/windows/installer/MeteorSetup.sln delete mode 100644 scripts/windows/installer/WiXBalExtension/.gitignore delete mode 100755 scripts/windows/installer/WiXBalExtension/BalExtensionExt.sln delete mode 100755 scripts/windows/installer/WiXBalExtension/LICENSE.TXT delete mode 100755 scripts/windows/installer/WiXBalExtension/build.bat delete mode 100644 scripts/windows/installer/WiXBalExtension/inc/.gitignore delete mode 100755 scripts/windows/installer/WiXBalExtension/inc/Version.proj delete mode 100755 scripts/windows/installer/WiXBalExtension/inc/WixDistribution.cs delete mode 100755 scripts/windows/installer/WiXBalExtension/inc/WixDistribution.h delete mode 100755 scripts/windows/installer/WiXBalExtension/inc/wix.rc delete mode 100755 scripts/windows/installer/WiXBalExtension/wixext/BalCompiler.cs delete mode 100755 scripts/windows/installer/WiXBalExtension/wixext/BalExtension.cs delete mode 100755 scripts/windows/installer/WiXBalExtension/wixext/BalPreprocessorExtension.cs delete mode 100755 scripts/windows/installer/WiXBalExtension/wixext/Properties/AssemblyInfo.cs delete mode 100755 scripts/windows/installer/WiXBalExtension/wixext/WixBalExtensionExt.csproj delete mode 100755 scripts/windows/installer/WiXBalExtension/wixext/Xsd/bal.xsd delete mode 100755 scripts/windows/installer/WiXBalExtension/wixext/data/messages.xml delete mode 100755 scripts/windows/installer/WiXBalExtension/wixext/data/tables.xml delete mode 100755 scripts/windows/installer/WiXBalExtension/wixlib/BalExtension.wixproj delete mode 100755 scripts/windows/installer/WiXBalExtension/wixlib/BalExtension.wxs delete mode 100755 scripts/windows/installer/WiXBalExtension/wixlib/wixstdba.wxs delete mode 100755 scripts/windows/installer/WiXBalExtension/wixlib/wixstdba_platform.wxi delete mode 100755 scripts/windows/installer/WiXBalExtension/wixlib/wixstdba_x86.wxs delete mode 100755 scripts/windows/installer/WiXBalExtension/wixstdba/JSON.cpp delete mode 100755 scripts/windows/installer/WiXBalExtension/wixstdba/JSON.h delete mode 100755 scripts/windows/installer/WiXBalExtension/wixstdba/JSONValue.cpp delete mode 100755 scripts/windows/installer/WiXBalExtension/wixstdba/JSONValue.h delete mode 100755 scripts/windows/installer/WiXBalExtension/wixstdba/Resources/Hyperlink2Theme.xml delete mode 100755 scripts/windows/installer/WiXBalExtension/wixstdba/Resources/HyperlinkTheme.wxl delete mode 100755 scripts/windows/installer/WiXBalExtension/wixstdba/Resources/HyperlinkTheme.xml delete mode 100755 scripts/windows/installer/WiXBalExtension/wixstdba/Resources/LogoSide.png delete mode 100755 scripts/windows/installer/WiXBalExtension/wixstdba/Resources/LoremIpsumLicense.rtf delete mode 100755 scripts/windows/installer/WiXBalExtension/wixstdba/Resources/RtfTheme.wxl delete mode 100755 scripts/windows/installer/WiXBalExtension/wixstdba/Resources/RtfTheme.xml delete mode 100755 scripts/windows/installer/WiXBalExtension/wixstdba/Resources/logo.png delete mode 100755 scripts/windows/installer/WiXBalExtension/wixstdba/WixStandardBootstrapperApplication.cpp delete mode 100755 scripts/windows/installer/WiXBalExtension/wixstdba/precomp.h delete mode 100755 scripts/windows/installer/WiXBalExtension/wixstdba/resource.h delete mode 100755 scripts/windows/installer/WiXBalExtension/wixstdba/wixstdba.cpp delete mode 100755 scripts/windows/installer/WiXBalExtension/wixstdba/wixstdba.def delete mode 100755 scripts/windows/installer/WiXBalExtension/wixstdba/wixstdba.rc delete mode 100755 scripts/windows/installer/WiXBalExtension/wixstdba/wixstdba.vcxproj delete mode 100755 scripts/windows/installer/WiXBalExtension/wixstdba/wixstdba.vcxproj.filters delete mode 100644 scripts/windows/installer/WiXHelper/.gitignore delete mode 100755 scripts/windows/installer/WiXHelper/CustomAction.cpp delete mode 100755 scripts/windows/installer/WiXHelper/CustomAction.def delete mode 100755 scripts/windows/installer/WiXHelper/WiXHelper.vcxproj delete mode 100755 scripts/windows/installer/WiXHelper/WiXHelper.vcxproj.filters delete mode 100755 scripts/windows/installer/WiXHelper/stdafx.cpp delete mode 100755 scripts/windows/installer/WiXHelper/stdafx.h delete mode 100755 scripts/windows/installer/WiXHelper/targetver.h delete mode 100644 scripts/windows/installer/WiXInstaller/.gitignore delete mode 100644 scripts/windows/installer/WiXInstaller/Configuration.wxi delete mode 100755 scripts/windows/installer/WiXInstaller/MSIPackage.wixproj delete mode 100755 scripts/windows/installer/WiXInstaller/Meteor_Bundle.wxs delete mode 100755 scripts/windows/installer/WiXInstaller/Meteor_Product.wxs delete mode 100755 scripts/windows/installer/WiXInstaller/Resources/Background - Copy.png delete mode 100755 scripts/windows/installer/WiXInstaller/Resources/Background.png delete mode 100755 scripts/windows/installer/WiXInstaller/Resources/License.htm delete mode 100755 scripts/windows/installer/WiXInstaller/Resources/License.rtf delete mode 100755 scripts/windows/installer/WiXInstaller/Resources/LogoSide.png delete mode 100755 scripts/windows/installer/WiXInstaller/Resources/Product.ico delete mode 100755 scripts/windows/installer/WiXInstaller/Resources/Theme_Meteor.wxl delete mode 100755 scripts/windows/installer/WiXInstaller/Resources/Theme_Meteor.xml delete mode 100755 scripts/windows/installer/WiXInstaller/Resources/TopHeader.png delete mode 100755 scripts/windows/installer/WiXInstaller/Resources/dummy.file delete mode 100644 scripts/windows/installer/WiXInstaller/Resources/meteor-logo-sm.jpg delete mode 100755 scripts/windows/installer/WiXInstaller/SetupPackage.wixproj delete mode 100644 scripts/windows/installer/WiXSDK/inc/BalBaseBootstrapperApplication.h delete mode 100644 scripts/windows/installer/WiXSDK/inc/IBootstrapperApplication.h delete mode 100644 scripts/windows/installer/WiXSDK/inc/IBootstrapperBAFunction.h delete mode 100644 scripts/windows/installer/WiXSDK/inc/IBootstrapperEngine.h delete mode 100644 scripts/windows/installer/WiXSDK/inc/aclutil.h delete mode 100644 scripts/windows/installer/WiXSDK/inc/apuputil.h delete mode 100644 scripts/windows/installer/WiXSDK/inc/atomutil.h delete mode 100644 scripts/windows/installer/WiXSDK/inc/balcondition.h delete mode 100644 scripts/windows/installer/WiXSDK/inc/balinfo.h delete mode 100644 scripts/windows/installer/WiXSDK/inc/balretry.h delete mode 100644 scripts/windows/installer/WiXSDK/inc/balutil.h delete mode 100644 scripts/windows/installer/WiXSDK/inc/buffutil.h delete mode 100644 scripts/windows/installer/WiXSDK/inc/cabcutil.h delete mode 100644 scripts/windows/installer/WiXSDK/inc/cabutil.h delete mode 100644 scripts/windows/installer/WiXSDK/inc/certutil.h delete mode 100644 scripts/windows/installer/WiXSDK/inc/conutil.h delete mode 100644 scripts/windows/installer/WiXSDK/inc/cryputil.h delete mode 100644 scripts/windows/installer/WiXSDK/inc/custommsierrors.h delete mode 100644 scripts/windows/installer/WiXSDK/inc/dictutil.h delete mode 100644 scripts/windows/installer/WiXSDK/inc/dirutil.h delete mode 100644 scripts/windows/installer/WiXSDK/inc/dutil.h delete mode 100644 scripts/windows/installer/WiXSDK/inc/eseutil.h delete mode 100644 scripts/windows/installer/WiXSDK/inc/fileutil.h delete mode 100644 scripts/windows/installer/WiXSDK/inc/gdiputil.h delete mode 100644 scripts/windows/installer/WiXSDK/inc/iis7util.h delete mode 100644 scripts/windows/installer/WiXSDK/inc/inetutil.h delete mode 100644 scripts/windows/installer/WiXSDK/inc/iniutil.h delete mode 100644 scripts/windows/installer/WiXSDK/inc/jsonutil.h delete mode 100644 scripts/windows/installer/WiXSDK/inc/locutil.h delete mode 100644 scripts/windows/installer/WiXSDK/inc/logutil.h delete mode 100644 scripts/windows/installer/WiXSDK/inc/memutil.h delete mode 100644 scripts/windows/installer/WiXSDK/inc/metautil.h delete mode 100644 scripts/windows/installer/WiXSDK/inc/osutil.h delete mode 100644 scripts/windows/installer/WiXSDK/inc/pathutil.h delete mode 100644 scripts/windows/installer/WiXSDK/inc/perfutil.h delete mode 100644 scripts/windows/installer/WiXSDK/inc/polcutil.h delete mode 100644 scripts/windows/installer/WiXSDK/inc/procutil.h delete mode 100644 scripts/windows/installer/WiXSDK/inc/regutil.h delete mode 100644 scripts/windows/installer/WiXSDK/inc/resrutil.h delete mode 100644 scripts/windows/installer/WiXSDK/inc/reswutil.h delete mode 100644 scripts/windows/installer/WiXSDK/inc/rexutil.h delete mode 100644 scripts/windows/installer/WiXSDK/inc/rmutil.h delete mode 100644 scripts/windows/installer/WiXSDK/inc/rssutil.h delete mode 100644 scripts/windows/installer/WiXSDK/inc/sceutil.h delete mode 100644 scripts/windows/installer/WiXSDK/inc/shelutil.h delete mode 100644 scripts/windows/installer/WiXSDK/inc/sqlutil.h delete mode 100644 scripts/windows/installer/WiXSDK/inc/srputil.h delete mode 100644 scripts/windows/installer/WiXSDK/inc/strutil.h delete mode 100644 scripts/windows/installer/WiXSDK/inc/svcutil.h delete mode 100644 scripts/windows/installer/WiXSDK/inc/thmutil.h delete mode 100644 scripts/windows/installer/WiXSDK/inc/timeutil.h delete mode 100644 scripts/windows/installer/WiXSDK/inc/uriutil.h delete mode 100644 scripts/windows/installer/WiXSDK/inc/userutil.h delete mode 100644 scripts/windows/installer/WiXSDK/inc/wcalog.h delete mode 100644 scripts/windows/installer/WiXSDK/inc/wcautil.h delete mode 100644 scripts/windows/installer/WiXSDK/inc/wcawow64.h delete mode 100644 scripts/windows/installer/WiXSDK/inc/wcawrapquery.h delete mode 100644 scripts/windows/installer/WiXSDK/inc/wiutil.h delete mode 100644 scripts/windows/installer/WiXSDK/inc/wuautil.h delete mode 100644 scripts/windows/installer/WiXSDK/inc/xmlutil.h delete mode 100644 scripts/windows/installer/WiXSDK/vs2010/lib/x86/balutil.lib delete mode 100644 scripts/windows/installer/WiXSDK/vs2010/lib/x86/deputil.lib delete mode 100644 scripts/windows/installer/WiXSDK/vs2010/lib/x86/dutil.lib delete mode 100644 scripts/windows/installer/WiXSDK/vs2010/lib/x86/wcautil.lib delete mode 100644 scripts/windows/installer/WiXSDK/vs2012/lib/x86/balutil.lib delete mode 100644 scripts/windows/installer/WiXSDK/vs2012/lib/x86/deputil.lib delete mode 100644 scripts/windows/installer/WiXSDK/vs2012/lib/x86/dutil.lib delete mode 100644 scripts/windows/installer/WiXSDK/vs2012/lib/x86/wcautil.lib delete mode 100644 scripts/windows/installer/WiXSDK/vs2013/lib/x86/balutil.lib delete mode 100644 scripts/windows/installer/WiXSDK/vs2013/lib/x86/deputil.lib delete mode 100644 scripts/windows/installer/WiXSDK/vs2013/lib/x86/dutil.lib delete mode 100644 scripts/windows/installer/WiXSDK/vs2013/lib/x86/wcautil.lib delete mode 100755 scripts/windows/installer/build.bat diff --git a/scripts/admin/copy-windows-installer-from-jenkins.sh b/scripts/admin/copy-windows-installer-from-jenkins.sh deleted file mode 100755 index 1cea82aeae..0000000000 --- a/scripts/admin/copy-windows-installer-from-jenkins.sh +++ /dev/null @@ -1,39 +0,0 @@ -#!/usr/bin/env bash - -# Run this script on Mac/Linux, not on Windows -# Requires awscli to be installed and an appropriate ~/.aws/config. -# Usage: -# scripts/admin/copy-windows-installer-from-jenkins.sh BUILDNUMBER -# where BUILDNUMBER is the small integer Jenkins build number. - -set -e -set -u - -cd "$(dirname "$0")" - -TARGET="s3://meteor-windows/installers/" - -if [ $# -ne 1 ]; then - echo "usage: $0 jenkins-build-number" 1>&2 - exit 1 -fi - -# installer-windows--${METEOR_RELEASE}--${BUILD_ID}--${BUILD_NUMBER}--${GIT_COMMIT} -DIRNAME=$(aws s3 ls s3://com.meteor.jenkins/ | perl -nle 'print $1 if m!(installer-windows--.+--.+--'$1'--.+)/!') -RELEASE=$(echo $DIRNAME | perl -pe 's/^installer-windows--(.+)--.+--.+--.+$/$1/') - -if [ -z "$DIRNAME" ]; then - echo "build not found" 1>&2 - exit 1 -fi - -echo Found build "$DIRNAME" - -# aws s3 ls returns 0 when it lists nothing -if [[ $(aws s3 ls "s3://com.meteor.jenkins/$DIRNAME/InstallMeteor.exe" | wc -l) == 0 ]]; then - echo "InstallMeteor.exe wasn't found in $DIRNAME, did Jenkins job fail?" - exit 1 -fi - -aws s3 cp --acl public-read --recursive "s3://com.meteor.jenkins/$DIRNAME/" "$TARGET$RELEASE/" - diff --git a/scripts/windows/.gitignore b/scripts/windows/.gitignore deleted file mode 100644 index 570ab4c1bb..0000000000 --- a/scripts/windows/.gitignore +++ /dev/null @@ -1,4 +0,0 @@ -*.tar.gz -*.exe -*.pdb -*_.cs diff --git a/scripts/windows/README b/scripts/windows/README deleted file mode 100644 index 9da26cebab..0000000000 --- a/scripts/windows/README +++ /dev/null @@ -1,17 +0,0 @@ -To build the Windows installer, run .\build-installer.ps1 from within -PowerShell. - -Prerequisites: -============== - -Install Visual C++ 2010 Express, which can be found here: -* http://www.visualstudio.com/downloads/download-visual-studio-vs - -Then, install Visual Studio 2010 Service Pack 1 here: -* http://www.microsoft.com/en-us/download/details.aspx?id=23691 - -Now, install WiX Toolset 3.8 from here: -* https://wix.codeplex.com/releases/view/115492 - -Now restart your command line process before running the build script -again. diff --git a/scripts/windows/build-installer.ps1 b/scripts/windows/build-installer.ps1 deleted file mode 100644 index 903b58c85d..0000000000 --- a/scripts/windows/build-installer.ps1 +++ /dev/null @@ -1,23 +0,0 @@ -$ErrorActionPreference = "Stop" -$script_path = (split-path -parent $MyInvocation.MyCommand.Definition) + "\" - -echo "Compiling InstallMeteor" - -$web_client = new-object System.Net.WebClient - -# download 7za.exe, a build dependency that we don't want to compile each time -$7za_path = $script_path + "installer\WiXInstaller\Resources\7za.exe" -if (!(Test-Path $7za_path)) { - echo "Downloading binary dependencies: 7za" - $7za_url = "https://s3.amazonaws.com/meteor-windows/build-deps/7za.exe" - $web_client.DownloadFile($7za_url, $7za_path) -} - -Push-Location installer -Invoke-Expression ("cmd /c build.bat") -Pop-Location - -move-item ($script_path + "installer\Release\InstallMeteor.exe") ($script_path + "InstallMeteor.exe") -Force - -echo "Done" - diff --git a/scripts/windows/installer/.gitignore b/scripts/windows/installer/.gitignore deleted file mode 100644 index bf0120d310..0000000000 --- a/scripts/windows/installer/.gitignore +++ /dev/null @@ -1,111 +0,0 @@ -# Build Folders (you can keep bin if you'd like, to store dlls and pdbs) -[Bb]in/ -[Oo]bj/ - -# mstest test results -TestResults - -## Ignore Visual Studio temporary files, build results, and -## files generated by popular Visual Studio add-ons. - -# User-specific files -*.suo -*.user -*.sln.docstates - -# Build results -[Dd]ebug/ -[Rr]elease/ -x64/ -*_i.c -*_p.c -*.ilk -*.meta -*.obj -*.pch -*.pdb -*.pgc -*.pgd -*.rsp -*.dll -*.exe -*.sbr -*.tlb -*.tli -*.tlh -*.tmp -*.log -*.vspscc -*.vssscc -.builds - -# Visual C++ cache files -ipch/ -*.aps -*.ncb -*.opensdf -*.sdf - -# Visual Studio profiler -*.psess -*.vsp -*.vspx - -# Guidance Automation Toolkit -*.gpState - -# ReSharper is a .NET coding add-in -_ReSharper* - -# NCrunch -*.ncrunch* -.*crunch*.local.xml - -# Installshield output folder -[Ee]xpress - -# DocProject is a documentation generator add-in -DocProject/buildhelp/ -DocProject/Help/*.HxT -DocProject/Help/*.HxC -DocProject/Help/*.hhc -DocProject/Help/*.hhk -DocProject/Help/*.hhp -DocProject/Help/Html2 -DocProject/Help/html - -# Click-Once directory -publish - -# Publish Web Output -*.Publish.xml - -# NuGet Packages Directory -packages - -# Windows Azure Build Output -csx -*.build.csdef - -# Windows Store app package directory -AppPackages/ - -# Others -[Bb]in -[Oo]bj -sql -TestResults -[Tt]est[Rr]esult* -*.Cache -ClientBin -[Ss]tyle[Cc]op.* -~$* -*.dbmdl -Generated_Code #added for RIA/Silverlight projects - -# Backup & report files from converting an old project file to a newer -# Visual Studio version. Backup files are not needed, because we have git ;-) -_UpgradeReport_Files/ -Backup*/ -UpgradeLog*.XML - diff --git a/scripts/windows/installer/MeteorSetup.sln b/scripts/windows/installer/MeteorSetup.sln deleted file mode 100755 index 343679350b..0000000000 --- a/scripts/windows/installer/MeteorSetup.sln +++ /dev/null @@ -1,29 +0,0 @@ - -Microsoft Visual Studio Solution File, Format Version 11.00 -# Visual Studio 2010 -Project("{930C7802-8A8C-48F9-8165-68863BCCD9DD}") = "MSIPackage", "WiXInstaller\MSIPackage.wixproj", "{E053726B-937B-40C7-8F3D-25A3226979D9}" -EndProject -Project("{930C7802-8A8C-48F9-8165-68863BCCD9DD}") = "SetupPackage", "WiXInstaller\SetupPackage.wixproj", "{7B569F5B-5D73-4E7B-BE41-041A2F22A521}" - ProjectSection(ProjectDependencies) = postProject - {E053726B-937B-40C7-8F3D-25A3226979D9} = {E053726B-937B-40C7-8F3D-25A3226979D9} - EndProjectSection -EndProject -Global - GlobalSection(SolutionConfigurationPlatforms) = preSolution - Release|x64 = Release|x64 - Release|x86 = Release|x86 - EndGlobalSection - GlobalSection(ProjectConfigurationPlatforms) = postSolution - {E053726B-937B-40C7-8F3D-25A3226979D9}.Release|x64.ActiveCfg = Release|x64 - {E053726B-937B-40C7-8F3D-25A3226979D9}.Release|x64.Build.0 = Release|x64 - {E053726B-937B-40C7-8F3D-25A3226979D9}.Release|x86.ActiveCfg = Release|x86 - {E053726B-937B-40C7-8F3D-25A3226979D9}.Release|x86.Build.0 = Release|x86 - {7B569F5B-5D73-4E7B-BE41-041A2F22A521}.Release|x64.ActiveCfg = Release|x64 - {7B569F5B-5D73-4E7B-BE41-041A2F22A521}.Release|x64.Build.0 = Release|x64 - {7B569F5B-5D73-4E7B-BE41-041A2F22A521}.Release|x86.ActiveCfg = Release|x86 - {7B569F5B-5D73-4E7B-BE41-041A2F22A521}.Release|x86.Build.0 = Release|x86 - EndGlobalSection - GlobalSection(SolutionProperties) = preSolution - HideSolutionNode = FALSE - EndGlobalSection -EndGlobal diff --git a/scripts/windows/installer/WiXBalExtension/.gitignore b/scripts/windows/installer/WiXBalExtension/.gitignore deleted file mode 100644 index 57a1574c4f..0000000000 --- a/scripts/windows/installer/WiXBalExtension/.gitignore +++ /dev/null @@ -1,196 +0,0 @@ -## Ignore Visual Studio temporary files, build results, and -## files generated by popular Visual Studio add-ons. - -# User-specific files -*.suo -*.user -*.userosscache -*.sln.docstates - -# User-specific files (MonoDevelop/Xamarin Studio) -*.userprefs - -# Build results -[Dd]ebug/ -[Dd]ebugPublic/ -[Rr]elease/ -[Rr]eleases/ -x64/ -x86/ -build/ -bld/ -[Bb]in/ -[Oo]bj/ - -# Visual Studo 2015 cache/options directory -.vs/ - -# MSTest test Results -[Tt]est[Rr]esult*/ -[Bb]uild[Ll]og.* - -# NUNIT -*.VisualState.xml -TestResult.xml - -# Build Results of an ATL Project -[Dd]ebugPS/ -[Rr]eleasePS/ -dlldata.c - -*_i.c -*_p.c -*_i.h -*.ilk -*.meta -*.obj -*.pch -*.pdb -*.pgc -*.pgd -*.rsp -*.sbr -*.tlb -*.tli -*.tlh -*.tmp -*.tmp_proj -*.log -*.vspscc -*.vssscc -.builds -*.pidb -*.svclog -*.scc - -# Chutzpah Test files -_Chutzpah* - -# Visual C++ cache files -ipch/ -*.aps -*.ncb -*.opensdf -*.sdf -*.cachefile - -# Visual Studio profiler -*.psess -*.vsp -*.vspx - -# TFS 2012 Local Workspace -$tf/ - -# Guidance Automation Toolkit -*.gpState - -# ReSharper is a .NET coding add-in -_ReSharper*/ -*.[Rr]e[Ss]harper -*.DotSettings.user - -# JustCode is a .NET coding addin-in -.JustCode - -# TeamCity is a build add-in -_TeamCity* - -# DotCover is a Code Coverage Tool -*.dotCover - -# NCrunch -_NCrunch_* -.*crunch*.local.xml - -# MightyMoose -*.mm.* -AutoTest.Net/ - -# Web workbench (sass) -.sass-cache/ - -# Installshield output folder -[Ee]xpress/ - -# DocProject is a documentation generator add-in -DocProject/buildhelp/ -DocProject/Help/*.HxT -DocProject/Help/*.HxC -DocProject/Help/*.hhc -DocProject/Help/*.hhk -DocProject/Help/*.hhp -DocProject/Help/Html2 -DocProject/Help/html - -# Click-Once directory -publish/ - -# Publish Web Output -*.[Pp]ublish.xml -*.azurePubxml -# TODO: Comment the next line if you want to checkin your web deploy settings -# but database connection strings (with potential passwords) will be unencrypted -*.pubxml -*.publishproj - -# NuGet Packages -*.nupkg -# The packages folder can be ignored because of Package Restore -**/packages/* -# except build/, which is used as an MSBuild target. -!**/packages/build/ -# Uncomment if necessary however generally it will be regenerated when needed -#!**/packages/repositories.config - -# Windows Azure Build Output -csx/ -*.build.csdef - -# Windows Store app package directory -AppPackages/ - -# Others -*.[Cc]ache -ClientBin/ -[Ss]tyle[Cc]op.* -~$* -*~ -*.dbmdl -*.dbproj.schemaview -*.pfx -*.publishsettings -node_modules/ -bower_components/ - -# RIA/Silverlight projects -Generated_Code/ - -# Backup & report files from converting an old project file -# to a newer Visual Studio version. Backup files are not needed, -# because we have git ;-) -_UpgradeReport_Files/ -Backup*/ -UpgradeLog*.XML -UpgradeLog*.htm - -# SQL Server files -*.mdf -*.ldf - -# Business Intelligence projects -*.rdl.data -*.bim.layout -*.bim_*.settings - -# Microsoft Fakes -FakesAssemblies/ - -# Node.js Tools for Visual Studio -.ntvs_analysis.dat - -# Visual Studio 6 build log -*.plg - -# Visual Studio 6 workspace options file -*.opt diff --git a/scripts/windows/installer/WiXBalExtension/BalExtensionExt.sln b/scripts/windows/installer/WiXBalExtension/BalExtensionExt.sln deleted file mode 100755 index e7fa75fe30..0000000000 --- a/scripts/windows/installer/WiXBalExtension/BalExtensionExt.sln +++ /dev/null @@ -1,66 +0,0 @@ - -Microsoft Visual Studio Solution File, Format Version 11.00 -# Visual Studio 2010 -Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "wixextba", "wixstdba\wixstdba.vcxproj", "{41085A22-E6AA-4E8B-AB1B-DDEE0DC89DFA}" -EndProject -Project("{930C7802-8A8C-48F9-8165-68863BCCD9DD}") = "BalExtension", "wixlib\BalExtension.wixproj", "{3444D952-F21C-496F-AB6B-56435BFD0787}" -EndProject -Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "WixBalExtensionExt", "wixext\WixBalExtensionExt.csproj", "{6F9B6AFD-538B-4DF6-A1E8-6C224CBD7B05}" - ProjectSection(ProjectDependencies) = postProject - {3444D952-F21C-496F-AB6B-56435BFD0787} = {3444D952-F21C-496F-AB6B-56435BFD0787} - EndProjectSection -EndProject -Global - GlobalSection(SolutionConfigurationPlatforms) = preSolution - Debug|Any CPU = Debug|Any CPU - Debug|Mixed Platforms = Debug|Mixed Platforms - Debug|Win32 = Debug|Win32 - Debug|x86 = Debug|x86 - Release|Any CPU = Release|Any CPU - Release|Mixed Platforms = Release|Mixed Platforms - Release|Win32 = Release|Win32 - Release|x86 = Release|x86 - EndGlobalSection - GlobalSection(ProjectConfigurationPlatforms) = postSolution - {41085A22-E6AA-4E8B-AB1B-DDEE0DC89DFA}.Debug|Any CPU.ActiveCfg = Debug|Win32 - {41085A22-E6AA-4E8B-AB1B-DDEE0DC89DFA}.Debug|Any CPU.Build.0 = Debug|Win32 - {41085A22-E6AA-4E8B-AB1B-DDEE0DC89DFA}.Debug|Mixed Platforms.ActiveCfg = Debug|Win32 - {41085A22-E6AA-4E8B-AB1B-DDEE0DC89DFA}.Debug|Mixed Platforms.Build.0 = Debug|Win32 - {41085A22-E6AA-4E8B-AB1B-DDEE0DC89DFA}.Debug|Win32.ActiveCfg = Debug|Win32 - {41085A22-E6AA-4E8B-AB1B-DDEE0DC89DFA}.Debug|Win32.Build.0 = Debug|Win32 - {41085A22-E6AA-4E8B-AB1B-DDEE0DC89DFA}.Debug|x86.ActiveCfg = Debug|Win32 - {41085A22-E6AA-4E8B-AB1B-DDEE0DC89DFA}.Release|Any CPU.ActiveCfg = Debug|Win32 - {41085A22-E6AA-4E8B-AB1B-DDEE0DC89DFA}.Release|Mixed Platforms.ActiveCfg = Release|Win32 - {41085A22-E6AA-4E8B-AB1B-DDEE0DC89DFA}.Release|Mixed Platforms.Build.0 = Release|Win32 - {41085A22-E6AA-4E8B-AB1B-DDEE0DC89DFA}.Release|Win32.ActiveCfg = Debug|Win32 - {41085A22-E6AA-4E8B-AB1B-DDEE0DC89DFA}.Release|Win32.Build.0 = Debug|Win32 - {41085A22-E6AA-4E8B-AB1B-DDEE0DC89DFA}.Release|x86.ActiveCfg = Debug|Win32 - {3444D952-F21C-496F-AB6B-56435BFD0787}.Debug|Any CPU.ActiveCfg = Debug|x86 - {3444D952-F21C-496F-AB6B-56435BFD0787}.Debug|Mixed Platforms.ActiveCfg = Debug|x86 - {3444D952-F21C-496F-AB6B-56435BFD0787}.Debug|Mixed Platforms.Build.0 = Debug|x86 - {3444D952-F21C-496F-AB6B-56435BFD0787}.Debug|Win32.ActiveCfg = Debug|x86 - {3444D952-F21C-496F-AB6B-56435BFD0787}.Debug|x86.ActiveCfg = Debug|x86 - {3444D952-F21C-496F-AB6B-56435BFD0787}.Debug|x86.Build.0 = Debug|x86 - {3444D952-F21C-496F-AB6B-56435BFD0787}.Release|Any CPU.ActiveCfg = Release|x86 - {3444D952-F21C-496F-AB6B-56435BFD0787}.Release|Mixed Platforms.ActiveCfg = Release|x86 - {3444D952-F21C-496F-AB6B-56435BFD0787}.Release|Mixed Platforms.Build.0 = Release|x86 - {3444D952-F21C-496F-AB6B-56435BFD0787}.Release|Win32.ActiveCfg = Release|x86 - {3444D952-F21C-496F-AB6B-56435BFD0787}.Release|x86.ActiveCfg = Release|x86 - {3444D952-F21C-496F-AB6B-56435BFD0787}.Release|x86.Build.0 = Release|x86 - {6F9B6AFD-538B-4DF6-A1E8-6C224CBD7B05}.Debug|Any CPU.ActiveCfg = Debug|Any CPU - {6F9B6AFD-538B-4DF6-A1E8-6C224CBD7B05}.Debug|Any CPU.Build.0 = Debug|Any CPU - {6F9B6AFD-538B-4DF6-A1E8-6C224CBD7B05}.Debug|Mixed Platforms.ActiveCfg = Debug|Any CPU - {6F9B6AFD-538B-4DF6-A1E8-6C224CBD7B05}.Debug|Mixed Platforms.Build.0 = Debug|Any CPU - {6F9B6AFD-538B-4DF6-A1E8-6C224CBD7B05}.Debug|Win32.ActiveCfg = Debug|Any CPU - {6F9B6AFD-538B-4DF6-A1E8-6C224CBD7B05}.Debug|x86.ActiveCfg = Debug|Any CPU - {6F9B6AFD-538B-4DF6-A1E8-6C224CBD7B05}.Release|Any CPU.ActiveCfg = Release|Any CPU - {6F9B6AFD-538B-4DF6-A1E8-6C224CBD7B05}.Release|Any CPU.Build.0 = Release|Any CPU - {6F9B6AFD-538B-4DF6-A1E8-6C224CBD7B05}.Release|Mixed Platforms.ActiveCfg = Release|Any CPU - {6F9B6AFD-538B-4DF6-A1E8-6C224CBD7B05}.Release|Mixed Platforms.Build.0 = Release|Any CPU - {6F9B6AFD-538B-4DF6-A1E8-6C224CBD7B05}.Release|Win32.ActiveCfg = Release|Any CPU - {6F9B6AFD-538B-4DF6-A1E8-6C224CBD7B05}.Release|x86.ActiveCfg = Release|Any CPU - EndGlobalSection - GlobalSection(SolutionProperties) = preSolution - HideSolutionNode = FALSE - EndGlobalSection -EndGlobal diff --git a/scripts/windows/installer/WiXBalExtension/LICENSE.TXT b/scripts/windows/installer/WiXBalExtension/LICENSE.TXT deleted file mode 100755 index 9e3440147b..0000000000 --- a/scripts/windows/installer/WiXBalExtension/LICENSE.TXT +++ /dev/null @@ -1,28 +0,0 @@ -Copyright (c) 2004, Outercurve Foundation. -This software is released under the Microsoft Reciprocal License (MS-RL) (the "License"); you may not use the software except in compliance with the License. - -The text of the Microsoft Reciprocal License (MS-RL) can be found online at: - http://opensource.org/licenses/ms-rl - - -Microsoft Reciprocal License (MS-RL) - -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. - -1. Definitions - The terms "reproduce," "reproduction," "derivative works," and "distribution" have the same meaning here as under U.S. copyright law. - A "contribution" is the original software, or any additions or changes to the software. - A "contributor" is any person that distributes its contribution under this license. - "Licensed patents" are a contributor's patent claims that read directly on its contribution. - -2. Grant of Rights - (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) 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. - -3. Conditions and Limitations - (A) Reciprocal Grants- For any file you distribute that contains code from the software (in source code or binary format), you must provide recipients the source code to that file along with a copy of this license, which license will govern that file. You may license other files that are entirely your own work and do not contain code from the software under any terms you choose. - (B) No Trademark License- This license does not grant you rights to use any contributors' name, logo, or trademarks. - (C) 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. - (D) If you distribute any portion of the software, you must retain all copyright, patent, trademark, and attribution notices that are present in the software. - (E) 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. - (F) 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. diff --git a/scripts/windows/installer/WiXBalExtension/build.bat b/scripts/windows/installer/WiXBalExtension/build.bat deleted file mode 100755 index d212696f1e..0000000000 --- a/scripts/windows/installer/WiXBalExtension/build.bat +++ /dev/null @@ -1,35 +0,0 @@ -@echo off - -rem Configuring environment -set MSBUILD="%SystemRoot%\Microsoft.NET\Framework\v4.0.30319\msbuild.exe" - -set outdir=%~dp0build - -rem Removing release folder -Call :DeleteDir "%outdir%" -Call :DeleteDir "ipch" - -%MSBUILD% inc\Version.proj /nologo /verbosity:quiet -%MSBUILD% BalExtensionExt.sln /nologo /verbosity:quiet /t:Rebuild /p:Configuration=Release /p:Platform="Mixed Platforms" /p:RunCodeAnalysis=false /p:DefineConstants="TRACE" /p:OutDir="%outdir%\\" /l:FileLogger,Microsoft.Build.Engine;logfile=build.log -if %errorlevel% neq 0 ( - echo Build failed - rem pause - goto :EOF -) - - -set outdir= - -goto :EOF - -REM ***************************************************************** -REM End of Main -REM ***************************************************************** - - -REM ***************************************************************** -REM Delete/create directory -REM ***************************************************************** -:DeleteDir -rd %1% /q/s 2>nul 1>nul -goto :EOF diff --git a/scripts/windows/installer/WiXBalExtension/inc/.gitignore b/scripts/windows/installer/WiXBalExtension/inc/.gitignore deleted file mode 100644 index eea9b0070e..0000000000 --- a/scripts/windows/installer/WiXBalExtension/inc/.gitignore +++ /dev/null @@ -1,3 +0,0 @@ -wixver.cs -wixver.h - diff --git a/scripts/windows/installer/WiXBalExtension/inc/Version.proj b/scripts/windows/installer/WiXBalExtension/inc/Version.proj deleted file mode 100755 index 68eb1251d4..0000000000 --- a/scripts/windows/installer/WiXBalExtension/inc/Version.proj +++ /dev/null @@ -1,100 +0,0 @@ - - - - 3 - 7 - - .\wixver.h - .\wixver.cs - - - - $([System.DateTime]::new(2000, 1, 1)) - $([System.Convert]::ToInt32($([System.DateTime]::Now.ToUniversalTime().Subtract($(Base)).TotalDays))) - $([System.Convert]::ToInt32($([MSBuild]::Divide($([System.Convert]::ToInt32($([System.DateTime]::Now.ToUniversalTime().TimeOfDay.TotalSeconds))), 2)))) - - $(MajorBuildNumber).$(MinorBuildNumber).$(BuildNumber).$(BuildRevision) - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - diff --git a/scripts/windows/installer/WiXBalExtension/inc/WixDistribution.cs b/scripts/windows/installer/WiXBalExtension/inc/WixDistribution.cs deleted file mode 100755 index 54e7d1d830..0000000000 --- a/scripts/windows/installer/WiXBalExtension/inc/WixDistribution.cs +++ /dev/null @@ -1,13 +0,0 @@ -using System.Reflection; -using System.Resources; - -[assembly: AssemblyCompany("Outercurve Foundation")] -[assembly: AssemblyCopyright("Copyright © Outercurve Foundation. All rights reserved.")] -[assembly: AssemblyTrademark("")] -#if DEBUG - [assembly: AssemblyConfiguration("DEBUG")] -#else - [assembly: AssemblyConfiguration("")] -#endif -[assembly: NeutralResourcesLanguage("en-US")] -[assembly: AssemblyProduct("Windows Installer XML")] diff --git a/scripts/windows/installer/WiXBalExtension/inc/WixDistribution.h b/scripts/windows/installer/WiXBalExtension/inc/WixDistribution.h deleted file mode 100755 index 41519072e5..0000000000 --- a/scripts/windows/installer/WiXBalExtension/inc/WixDistribution.h +++ /dev/null @@ -1,17 +0,0 @@ -/* ************************************************************************** - * WixDistribution.h file contains disribution specific items, such as - * Product Name. - * - * **************************************************************************/ - -#pragma once - -#ifndef __WIXDISTRIBUTION_FILE_H_ -#define __WIXDISTRIBUTION_FILE_H_ - -#ifdef VER_PRODUCT_NAME - #undef VER_PRODUCT_NAME -#endif -#define VER_PRODUCT_NAME "Windows Installer XML" - -#endif // __WIXDISTRIBUTION_FILE_H_ diff --git a/scripts/windows/installer/WiXBalExtension/inc/wix.rc b/scripts/windows/installer/WiXBalExtension/inc/wix.rc deleted file mode 100755 index 8c418b40db..0000000000 --- a/scripts/windows/installer/WiXBalExtension/inc/wix.rc +++ /dev/null @@ -1,140 +0,0 @@ -//------------------------------------------------------------------------------------------------- -// -// Copyright (c) 2004, Outercurve Foundation. -// This software is released under Microsoft Reciprocal License (MS-RL). -// The license and further copyright text can be found in the file -// LICENSE.TXT at the root directory of the distribution. -// -// -// -// Common resource file for any native wix resources. -// -// -// Usage: -// #define VER_APP (VER_DLL, VER_TYPELIB, none) -// #define VER_LANG_NEUTRAL (optional) -// #define VER_ORIGINAL_FILENAME "FooBar.Exe" -// #define VER_INTERNAL_NAME "FooBar" -// #define VER_PRODUCT_NAME -// #define VER_FILE_DESCRIPTION -// #include "wix.rc" -// -// Optional to add before the #include (must add as a group and VER_BLOCK must match to VER_LANG and VER_CP) -// You should not have to do this except for some extreme cases. -// #define VER_LANG 0x0000 -// #define VER_CP 0x04E4 -// #define VER_BLOCK "000004E4" -// -//------------------------------------------------------------------------------------------------- - -#include -#include -#include "wixver.h" -#include "WixDistribution.h" - -#ifdef DEBUG - #define VER_DEBUG VS_FF_DEBUG - #define VER_PRIVATE_BUILD VS_FF_PRIVATEBUILD - #define VER_PRE_RELEASE (VS_FF_PRERELEASE | VS_FF_SPECIALBUILD) -#else - #define VER_DEBUG 0 - #define VER_PRIVATE_BUILD 0 - #define VER_PRE_RELEASE 0 -#endif - -#if defined(VER_APP) - #define VER_FILE_TYPE VFT_APP -#elif defined(VER_DLL) - #define VER_FILE_TYPE VFT_DLL -#elif defined(VER_TYPELIB) - #define VER_FILE_TYPE VFT_UNKNOWN -#else - #define VER_FILE_TYPE VFT_UNKNOWN -#endif - -#if defined(VER_LANG_NEUTRAL) - #ifndef VER_LANG - #define VER_LANG 0x0000 - #endif - #ifndef VER_CP - #define VER_CP 0x04E4 - #endif - #ifndef VER_BLOCK - #define VER_BLOCK "000004E4" - #endif -#else - #ifndef VER_LANG - #define VER_LANG 0x0409 - #endif - #ifndef VER_CP - #define VER_CP 0x04E4 - #endif - #ifndef VER_BLOCK - #define VER_BLOCK "040904E4" - #endif -#endif - -#define VER_FILE_VERSION rmj, rmm, rbd, rev -#define VER_PRODUCT_VERSION rmj, rmm, rbd, rev -#define VER_FILE_VERSION_STRING szVerMajorMinorBuildRev -#define VER_PRODUCT_VERSION_STRING VER_FILE_VERSION_STRING -#define VER_FILE_FLAGS_MASK VS_FFI_FILEFLAGSMASK -#define VER_FILE_FLAGS (VER_DEBUG | VER_PRIVATE_BUILD | VER_PRE_RELEASE) - -#define VER_FILE_OS VOS__WINDOWS32 - -#define VER_COMPANY_NAME "Outercurve Foundation" -#ifndef VER_PRODUCT_NAME - #define VER_PRODUCT_NAME "Windows Installer XML (WiX)" -#endif -#ifndef VER_FILE_DESCRIPTION - #define VER_FILE_DESCRIPTION "Windows Installer XML (WiX) component" -#endif - -#if defined(VER_LEGAL_COPYRIGHT) - #error -#endif -#define VER_LEGAL_COPYRIGHT "Copyright (c) Outercurve Foundation.\240 All rights reserved." - -#if !defined(VER_FILE_SUBTYPE) - #define VER_FILE_SUBTYPE 0 -#endif - -#ifdef RC_INVOKED - -VS_VERSION_INFO VERSIONINFO -FILEVERSION VER_FILE_VERSION -PRODUCTVERSION VER_PRODUCT_VERSION -FILEFLAGSMASK VER_FILE_FLAGS_MASK -FILEFLAGS VER_FILE_FLAGS -FILEOS VER_FILE_OS -FILETYPE VER_FILE_TYPE -FILESUBTYPE VER_FILE_SUBTYPE -BEGIN -BLOCK "StringFileInfo" - BEGIN - BLOCK VER_BLOCK - BEGIN - VALUE "CompanyName", VER_COMPANY_NAME - VALUE "FileDescription", VER_FILE_DESCRIPTION - VALUE "FileVersion", VER_FILE_VERSION_STRING - VALUE "InternalName", VER_INTERNAL_NAME - - VALUE "LegalCopyright", VER_LEGAL_COPYRIGHT - - VALUE "OriginalFilename", VER_ORIGINAL_FILENAME - VALUE "ProductName", VER_PRODUCT_NAME - VALUE "ProductVersion", VER_FILE_VERSION_STRING -#if defined(DEBUG) - VALUE "WiX Common Resource Format", "Debug Only" -#endif - END - END - -BLOCK "VarFileInfo" - BEGIN - VALUE "Translation", VER_LANG, VER_CP - END -END - -#endif diff --git a/scripts/windows/installer/WiXBalExtension/wixext/BalCompiler.cs b/scripts/windows/installer/WiXBalExtension/wixext/BalCompiler.cs deleted file mode 100755 index f38cc0ec81..0000000000 --- a/scripts/windows/installer/WiXBalExtension/wixext/BalCompiler.cs +++ /dev/null @@ -1,346 +0,0 @@ -//------------------------------------------------------------------------------------------------- -// -// Copyright (c) 2004, Outercurve Foundation. -// This software is released under Microsoft Reciprocal License (MS-RL). -// The license and further copyright text can be found in the file -// LICENSE.TXT at the root directory of the distribution. -// -// -// -// The compiler for the Windows Installer XML Toolset Bal Extension. -// -//------------------------------------------------------------------------------------------------- - -namespace Microsoft.Tools.WindowsInstallerXml.Extensions -{ - using System; - using System.Collections.Generic; - using System.Diagnostics; - using System.Globalization; - using System.IO; - using System.Reflection; - using System.Xml; - using System.Xml.Schema; - using Microsoft.Tools.WindowsInstallerXml; - - /// - /// The compiler for the Windows Installer XML Toolset Bal Extension. - /// - public sealed class BalCompiler : CompilerExtension - { - private SourceLineNumberCollection addedConditionLineNumber; - private XmlSchema schema; - - /// - /// Instantiate a new BalCompiler. - /// - public BalCompiler() - { - this.addedConditionLineNumber = null; - this.schema = LoadXmlSchemaHelper(Assembly.GetExecutingAssembly(), "Microsoft.Tools.WindowsInstallerXml.Extensions.Xsd.bal.xsd"); - } - - /// - /// Gets the schema for this extension. - /// - /// Schema for this extension. - public override XmlSchema Schema - { - get { return this.schema; } - } - - /// - /// Processes an element for the Compiler. - /// - /// Source line number for the parent element. - /// Parent element of element to process. - /// Element to process. - /// Extra information about the context in which this element is being parsed. - public override void ParseElement(SourceLineNumberCollection sourceLineNumbers, XmlElement parentElement, XmlElement element, params string[] contextValues) - { - switch (parentElement.LocalName) - { - case "Bundle": - case "Fragment": - switch (element.LocalName) - { - case "Condition": - this.ParseConditionElement(element); - break; - default: - this.Core.UnexpectedElement(parentElement, element); - break; - } - break; - case "BootstrapperApplicationRef": - switch (element.LocalName) - { - case "WixExtendedBootstrapperApplication": - this.ParseWixExtendedBootstrapperApplicationElement(element); - break; - default: - this.Core.UnexpectedElement(parentElement, element); - break; - } - break; - default: - this.Core.UnexpectedElement(parentElement, element); - break; - } - } - - /// - /// Processes an attribute for the Compiler. - /// - /// Source line number for the parent element. - /// Parent element of element to process. - /// Attribute to process. - /// Extra information about the context in which this element is being parsed. - public override void ParseAttribute(SourceLineNumberCollection sourceLineNumbers, XmlElement parentElement, XmlAttribute attribute, Dictionary contextValues) - { - switch (parentElement.LocalName) - { - case "Variable": - // at the time the extension attribute is parsed, the compiler might not yet have - // parsed the Name attribute, so we need to get it directly from the parent element. - string variableName = parentElement.GetAttribute("Name"); - if (String.IsNullOrEmpty(variableName)) - { - this.Core.OnMessage(WixErrors.ExpectedParentWithAttribute(sourceLineNumbers, "Variable", "Overridable", "Name")); - } - else - { - switch (attribute.LocalName) - { - case "Overridable": - if (YesNoType.Yes == this.Core.GetAttributeYesNoValue(sourceLineNumbers, attribute)) - { - Row row = this.Core.CreateRow(sourceLineNumbers, "WixStdbaOverridableVariable"); - row[0] = variableName; - } - break; - default: - this.Core.UnexpectedAttribute(sourceLineNumbers, attribute); - break; - } - } - break; - default: - this.Core.UnexpectedElement(parentElement, parentElement); - break; - } - } - - /// - /// Parses a Condition element for Bundles. - /// - /// The element to parse. - private void ParseConditionElement(XmlNode node) - { - SourceLineNumberCollection sourceLineNumbers = Preprocessor.GetSourceLineNumbers(node); - string condition = CompilerCore.GetConditionInnerText(node); // condition is the inner text of the element. - string message = null; - - foreach (XmlAttribute attrib in node.Attributes) - { - if (0 == attrib.NamespaceURI.Length || attrib.NamespaceURI == this.schema.TargetNamespace) - { - switch (attrib.LocalName) - { - case "Message": - message = this.Core.GetAttributeValue(sourceLineNumbers, attrib, false); - break; - default: - this.Core.UnexpectedAttribute(sourceLineNumbers, attrib); - break; - } - } - else - { - this.Core.UnsupportedExtensionAttribute(sourceLineNumbers, attrib); - } - } - - foreach (XmlNode child in node.ChildNodes) - { - if (XmlNodeType.Element == child.NodeType) - { - if (child.NamespaceURI == this.schema.TargetNamespace) - { - this.Core.UnexpectedElement(node, child); - } - else - { - this.Core.UnsupportedExtensionElement(node, child); - } - } - } - - // Error check the values. - if (String.IsNullOrEmpty(condition)) - { - this.Core.OnMessage(WixErrors.ConditionExpected(sourceLineNumbers, node.Name)); - } - - if (null == message) - { - this.Core.OnMessage(WixErrors.ExpectedAttribute(sourceLineNumbers, node.Name, "Message")); - } - - if (!this.Core.EncounteredError) - { - Row row = this.Core.CreateRow(sourceLineNumbers, "WixBalCondition"); - row[0] = condition; - row[1] = message; - - if (null == this.addedConditionLineNumber) - { - this.addedConditionLineNumber = sourceLineNumbers; - } - } - } - - /// - /// Parses a WixExtendedBootstrapperApplication element for Bundles. - /// - /// The element to parse. - private void ParseWixExtendedBootstrapperApplicationElement(XmlNode node) - { - SourceLineNumberCollection sourceLineNumbers = Preprocessor.GetSourceLineNumbers(node); - string launchTarget = null; - string licenseFile = null; - string licenseUrl = null; - string logoFile = null; - string logoSideFile = null; - string themeFile = null; - string localizationFile = null; - YesNoType suppressOptionsUI = YesNoType.NotSet; - YesNoType suppressDowngradeFailure = YesNoType.NotSet; - YesNoType suppressRepair = YesNoType.NotSet; - - foreach (XmlAttribute attrib in node.Attributes) - { - if (0 == attrib.NamespaceURI.Length || attrib.NamespaceURI == this.schema.TargetNamespace) - { - switch (attrib.LocalName) - { - case "LaunchTarget": - launchTarget = this.Core.GetAttributeValue(sourceLineNumbers, attrib, false); - break; - case "LicenseFile": - licenseFile = this.Core.GetAttributeValue(sourceLineNumbers, attrib, false); - break; - case "LicenseUrl": - licenseUrl = this.Core.GetAttributeValue(sourceLineNumbers, attrib, true); - break; - case "LogoFile": - logoFile = this.Core.GetAttributeValue(sourceLineNumbers, attrib, false); - break; - case "LogoSideFile": - logoSideFile = this.Core.GetAttributeValue(sourceLineNumbers, attrib, false); - break; - case "ThemeFile": - themeFile = this.Core.GetAttributeValue(sourceLineNumbers, attrib, false); - break; - case "LocalizationFile": - localizationFile = this.Core.GetAttributeValue(sourceLineNumbers, attrib, false); - break; - case "SuppressOptionsUI": - suppressOptionsUI = this.Core.GetAttributeYesNoValue(sourceLineNumbers, attrib); - break; - case "SuppressDowngradeFailure": - suppressDowngradeFailure = this.Core.GetAttributeYesNoValue(sourceLineNumbers, attrib); - break; - case "SuppressRepair": - suppressRepair = this.Core.GetAttributeYesNoValue(sourceLineNumbers, attrib); - break; - default: - this.Core.UnexpectedAttribute(sourceLineNumbers, attrib); - break; - } - } - else - { - this.Core.UnsupportedExtensionAttribute(sourceLineNumbers, attrib); - } - } - - foreach (XmlNode child in node.ChildNodes) - { - if (XmlNodeType.Element == child.NodeType) - { - if (child.NamespaceURI == this.schema.TargetNamespace) - { - this.Core.UnexpectedElement(node, child); - } - else - { - this.Core.UnsupportedExtensionElement(node, child); - } - } - } - - if (String.IsNullOrEmpty(licenseFile) && null == licenseUrl) - { - this.Core.OnMessage(WixErrors.ExpectedAttribute(sourceLineNumbers, node.Name, "LicenseFile", "LicenseUrl", true)); - } - - if (!this.Core.EncounteredError) - { - if (!String.IsNullOrEmpty(launchTarget)) - { - this.Core.CreateVariableRow(sourceLineNumbers, "LaunchTarget", launchTarget, "string", false, false); - } - - if (!String.IsNullOrEmpty(licenseFile)) - { - this.Core.CreateWixVariableRow(sourceLineNumbers, "WixExtbaLicenseRtf", licenseFile, false); - } - - if (null != licenseUrl) - { - this.Core.CreateWixVariableRow(sourceLineNumbers, "WixExtbaLicenseUrl", licenseUrl, false); - } - - if (!String.IsNullOrEmpty(logoFile)) - { - this.Core.CreateWixVariableRow(sourceLineNumbers, "WixExtbaLogo", logoFile, false); - } - - if (!String.IsNullOrEmpty(logoSideFile)) - { - this.Core.CreateWixVariableRow(sourceLineNumbers, "WixExtbaLogoSide", logoSideFile, false); - } - - if (!String.IsNullOrEmpty(themeFile)) - { - this.Core.CreateWixVariableRow(sourceLineNumbers, "WixExtbaThemeXml", themeFile, false); - } - - if (!String.IsNullOrEmpty(localizationFile)) - { - this.Core.CreateWixVariableRow(sourceLineNumbers, "WixExtbaThemeWxl", localizationFile, false); - } - - if (YesNoType.Yes == suppressOptionsUI || YesNoType.Yes == suppressDowngradeFailure || YesNoType.Yes == suppressRepair) - { - Row row = this.Core.CreateRow(sourceLineNumbers, "WixExtbaOptions"); - if (YesNoType.Yes == suppressOptionsUI) - { - row[0] = 1; - } - - if (YesNoType.Yes == suppressDowngradeFailure) - { - row[1] = 1; - } - - if (YesNoType.Yes == suppressRepair) - { - row[2] = 1; - } - } - } - } - } -} diff --git a/scripts/windows/installer/WiXBalExtension/wixext/BalExtension.cs b/scripts/windows/installer/WiXBalExtension/wixext/BalExtension.cs deleted file mode 100755 index ae0ba2cb60..0000000000 --- a/scripts/windows/installer/WiXBalExtension/wixext/BalExtension.cs +++ /dev/null @@ -1,96 +0,0 @@ -//------------------------------------------------------------------------------------------------- -// -// Copyright (c) 2004, Outercurve Foundation. -// This software is released under Microsoft Reciprocal License (MS-RL). -// The license and further copyright text can be found in the file -// LICENSE.TXT at the root directory of the distribution. -// -// -// -// The Windows Installer XML Toolset Bal extension. -// -//------------------------------------------------------------------------------------------------- - -namespace Microsoft.Tools.WindowsInstallerXml.Extensions -{ - using System; - using System.Reflection; - - /// - /// The Windows Installer XML Toolset Bal Extension. - /// - public sealed class BalExtension : WixExtension - { - private BalCompiler compilerExtension; - private Library library; - private TableDefinitionCollection tableDefinitions; - - private BalPreprocessorExtension preprocessorExtension; - - /// - /// Gets the optional compiler extension. - /// - /// The optional compiler extension. - public override CompilerExtension CompilerExtension - { - get - { - if (null == this.compilerExtension) - { - this.compilerExtension = new BalCompiler(); - } - - return this.compilerExtension; - } - } - - /// - /// Gets the optional table definitions for this extension. - /// - /// The optional table definitions for this extension. - public override TableDefinitionCollection TableDefinitions - { - get - { - if (null == this.tableDefinitions) - { - this.tableDefinitions = LoadTableDefinitionHelper(Assembly.GetExecutingAssembly(), "Microsoft.Tools.WindowsInstallerXml.Extensions.Data.tables.xml"); - } - - return this.tableDefinitions; - } - } - - /// - /// Gets the library associated with this extension. - /// - /// The table definitions to use while loading the library. - /// The loaded library. - public override Library GetLibrary(TableDefinitionCollection tableDefinitions) - { - if (null == this.library) - { - this.library = LoadLibraryHelper(Assembly.GetExecutingAssembly(), "Microsoft.Tools.WindowsInstallerXml.Extensions.Data.balExt.wixlib", tableDefinitions); - } - - return this.library; - } - - /// - /// Gets the optional preprocessor extension. - /// - /// The optional preprocessor extension. - public override PreprocessorExtension PreprocessorExtension - { - get - { - if (null == this.preprocessorExtension) - { - this.preprocessorExtension = new BalPreprocessorExtension(); - } - - return this.preprocessorExtension; - } - } - } -} diff --git a/scripts/windows/installer/WiXBalExtension/wixext/BalPreprocessorExtension.cs b/scripts/windows/installer/WiXBalExtension/wixext/BalPreprocessorExtension.cs deleted file mode 100755 index bd845482b5..0000000000 --- a/scripts/windows/installer/WiXBalExtension/wixext/BalPreprocessorExtension.cs +++ /dev/null @@ -1,63 +0,0 @@ -//------------------------------------------------------------------------------------------------- -// -// -// -// -// A WiX preprocessor extension. -// -//------------------------------------------------------------------------------------------------- - -namespace Microsoft.Tools.WindowsInstallerXml.Extensions -{ - using System; - using Microsoft.Tools.WindowsInstallerXml; - - /// - /// The preprocessor extension. - /// - public sealed class BalPreprocessorExtension : PreprocessorExtension - { - private static readonly string[] prefixes = {"bal"}; - - /// - /// Gets the variable prefixes for this extension. - /// - /// The variable prefixes for this extension. - public override string[] Prefixes - { - get { return prefixes; } - } - - public override string EvaluateFunction(string prefix, string function, string[] args) - { - string result = null; - - switch (prefix) - { - case "bal": - switch (function) - { - case "Version": - // Make sure the base version is specified - if (args.Length == 0 || args[0].Length == 0) - { - throw new ArgumentException("Version template not specified"); - } - - // Build = days since 1/1/2000; Revision = seconds since midnight / 2 - DateTime now = DateTime.Now.ToUniversalTime(); - double build = (now - new DateTime(2000, 1, 1)).TotalDays; - double revision = now.TimeOfDay.TotalSeconds / 2; - - result = String.Format("{0}.{1}.{2}", args[0], (int)build, (int)revision); - - break; - } - - break; - } - - return result; - } - } -} diff --git a/scripts/windows/installer/WiXBalExtension/wixext/Properties/AssemblyInfo.cs b/scripts/windows/installer/WiXBalExtension/wixext/Properties/AssemblyInfo.cs deleted file mode 100755 index 5081dc3c03..0000000000 --- a/scripts/windows/installer/WiXBalExtension/wixext/Properties/AssemblyInfo.cs +++ /dev/null @@ -1,27 +0,0 @@ -//------------------------------------------------------------------------------------------------- -// -// Copyright (c) 2004, Outercurve Foundation. -// This software is released under Microsoft Reciprocal License (MS-RL). -// The license and further copyright text can be found in the file LICENSE.TXT -// LICENSE.TXT at the root directory of the distribution. -// -// -// -// The assembly information for the Windows Installer XML Toolset Bootstrapper Application Layer Extension. -// -//------------------------------------------------------------------------------------------------- - -using System; -using System.Reflection; -using System.Runtime.CompilerServices; -using System.Runtime.InteropServices; - -using Microsoft.Tools.WindowsInstallerXml; -using Microsoft.Tools.WindowsInstallerXml.Extensions; - -[assembly: AssemblyTitle("WiX Toolset Bootstrapper Application Layer Extension")] -[assembly: AssemblyDescription("Windows Installer XML Toolset Bootstrapper Application Layer Extension")] -[assembly: AssemblyCulture("")] -[assembly: CLSCompliant(true)] -[assembly: ComVisible(false)] -[assembly: AssemblyDefaultWixExtension(typeof(BalExtension))] diff --git a/scripts/windows/installer/WiXBalExtension/wixext/WixBalExtensionExt.csproj b/scripts/windows/installer/WiXBalExtension/wixext/WixBalExtensionExt.csproj deleted file mode 100755 index e693763d69..0000000000 --- a/scripts/windows/installer/WiXBalExtension/wixext/WixBalExtensionExt.csproj +++ /dev/null @@ -1,88 +0,0 @@ - - - - - Debug - AnyCPU - 8.0.30703 - 2.0 - {6F9B6AFD-538B-4DF6-A1E8-6C224CBD7B05} - Library - Properties - Microsoft.Tools.WindowsInstallerXml.Extensions - WixBalExtensionExt - v2.0 - 512 - - - true - full - false - bin\Debug\ - DEBUG;TRACE - prompt - 4 - - - pdbonly - true - bin\Release\ - TRACE - prompt - 4 - - - - - - - False - $(WIX)bin\wix.dll - False - - - - - Properties\WixDistribution.cs - - - Properties\wixver.cs - - - - - - - $(RootNamespace).Data.Messages.resources - - - $(RootNamespace).Data.tables.xml - - - $(RootNamespace).Xsd.bal.xsd - PreserveNewest - - - Microsoft.Tools.WindowsInstallerXml.Serialize - Microsoft.Tools.WindowsInstallerXml.Extensions.Serialize.Bal - - - Data\balExt.wixlib - - - - - \ No newline at end of file diff --git a/scripts/windows/installer/WiXBalExtension/wixext/Xsd/bal.xsd b/scripts/windows/installer/WiXBalExtension/wixext/Xsd/bal.xsd deleted file mode 100755 index 8a2a8437f9..0000000000 --- a/scripts/windows/installer/WiXBalExtension/wixext/Xsd/bal.xsd +++ /dev/null @@ -1,139 +0,0 @@ - - - - - - The source code schema for the Windows Installer XML Toolset Burn User Experience Extension. - - - - - - - - - Conditions for a bundle. The condition is specified in the inner text of the element. - - - - - - - - - - - - The condition that must evaluate to true for the installation to continue. - - - - - - Set the value to the text to display when the condition fails and the installation must be terminated. - - - - - - - - - - - - Configures WixExtendedBootstrapperApplication for a Bundle. - - - - - - - - - If set, the success page will show a Launch button the user can use to launch the application being installed. The string value can be formatted using Burn variables enclosed in brackets, to refer to installation directories and so forth. - - - - - Source file of the RTF license file. Cannot be used simultaneously with LicenseUrl. - - - - - URL target of the license link. Cannot be used simultaneously with LicenseFile. This attribute can be empty to hide the license link completely. - - - - - Source file of the logo graphic. - - - - - Source file of the side logo graphic. - - - - - Source file of the theme XML. - - - - - Source file of the theme localization .wxl file. - - - - - If set to "yes", the Options button will not be shown and the user will not be able to choose an installation directory. - - - - - If set to "yes", attempting to installer a downgraded version of a bundle will be treated as a successful do-nothing operation. - The default behavior (or when explicitly set to "no") is to treat downgrade attempts as failures. - - - - - If set to "yes", the Repair button will not be shown in the maintenance-mode UI. - - - - - - - - - When set to "yes", lets the user override the variable's default value by specifying another value on the command line, - in the form Variable=Value. Otherwise, WixStdBA won't overwrite the default value and will log - "Ignoring attempt to set non-overridable variable: 'BAR'." - - - - - - - - - - Values of this type will either be "yes" or "no". - - - - - - - diff --git a/scripts/windows/installer/WiXBalExtension/wixext/data/messages.xml b/scripts/windows/installer/WiXBalExtension/wixext/data/messages.xml deleted file mode 100755 index a902dc9f0b..0000000000 --- a/scripts/windows/installer/WiXBalExtension/wixext/data/messages.xml +++ /dev/null @@ -1,16 +0,0 @@ - - - - - - - diff --git a/scripts/windows/installer/WiXBalExtension/wixext/data/tables.xml b/scripts/windows/installer/WiXBalExtension/wixext/data/tables.xml deleted file mode 100755 index eba09de7c9..0000000000 --- a/scripts/windows/installer/WiXBalExtension/wixext/data/tables.xml +++ /dev/null @@ -1,34 +0,0 @@ - - - - - - - - - - - - - - - - - - - diff --git a/scripts/windows/installer/WiXBalExtension/wixlib/BalExtension.wixproj b/scripts/windows/installer/WiXBalExtension/wixlib/BalExtension.wixproj deleted file mode 100755 index c0d8c9c75e..0000000000 --- a/scripts/windows/installer/WiXBalExtension/wixlib/BalExtension.wixproj +++ /dev/null @@ -1,48 +0,0 @@ - - - - - {3444d952-f21c-496f-ab6b-56435bfd0787} - balExt - Library - True - True - True - en-us - $(MSBuildExtensionsPath)\Microsoft\WiX\v3.x\Wix.targets - $(Configuration)\$(Platform) - True - - - ..\build\ - - - ..\build\ - - - - - - - - - - - - wixextba - {41085a22-e6aa-4e8b-ab1b-ddee0dc89dfa} - True - True - Binaries;Content;Satellites - INSTALLFOLDER - - - - \ No newline at end of file diff --git a/scripts/windows/installer/WiXBalExtension/wixlib/BalExtension.wxs b/scripts/windows/installer/WiXBalExtension/wixlib/BalExtension.wxs deleted file mode 100755 index 83f82038c7..0000000000 --- a/scripts/windows/installer/WiXBalExtension/wixlib/BalExtension.wxs +++ /dev/null @@ -1,13 +0,0 @@ - - - - - - diff --git a/scripts/windows/installer/WiXBalExtension/wixlib/wixstdba.wxs b/scripts/windows/installer/WiXBalExtension/wixlib/wixstdba.wxs deleted file mode 100755 index 5632880e07..0000000000 --- a/scripts/windows/installer/WiXBalExtension/wixlib/wixstdba.wxs +++ /dev/null @@ -1,66 +0,0 @@ - - - - - - - - - - - - - - - - !(wix.WixExtbaLicenseRtfName=license.rtf) - - - - - - - - - - - - - - - !(wix.WixExtbaLicenseUrl) - - - - - - - - - - - - - - - - !(wix.WixExtbaLicenseUrl) - - - - - - - - - - - - diff --git a/scripts/windows/installer/WiXBalExtension/wixlib/wixstdba_platform.wxi b/scripts/windows/installer/WiXBalExtension/wixlib/wixstdba_platform.wxi deleted file mode 100755 index 46bc723cc4..0000000000 --- a/scripts/windows/installer/WiXBalExtension/wixlib/wixstdba_platform.wxi +++ /dev/null @@ -1,32 +0,0 @@ - - - - - - - - - - - - - - - - - - - - - - - - - diff --git a/scripts/windows/installer/WiXBalExtension/wixlib/wixstdba_x86.wxs b/scripts/windows/installer/WiXBalExtension/wixlib/wixstdba_x86.wxs deleted file mode 100755 index 988f466594..0000000000 --- a/scripts/windows/installer/WiXBalExtension/wixlib/wixstdba_x86.wxs +++ /dev/null @@ -1,13 +0,0 @@ - - - - - - \ No newline at end of file diff --git a/scripts/windows/installer/WiXBalExtension/wixstdba/JSON.cpp b/scripts/windows/installer/WiXBalExtension/wixstdba/JSON.cpp deleted file mode 100755 index 0b966c039a..0000000000 --- a/scripts/windows/installer/WiXBalExtension/wixstdba/JSON.cpp +++ /dev/null @@ -1,280 +0,0 @@ -/* - * File JSON.cpp part of the SimpleJSON Library - http://mjpa.in/json - * - * Copyright (C) 2010 Mike Anchor - * - * 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. - */ - -#include "JSON.h" - -/** - * Blocks off the public constructor - * - * @access private - * - */ -JSON::JSON() -{ -} - -/** - * Parses a complete JSON encoded string - * This is just a wrapper around the UNICODE Parse(). - * - * @access public - * - * @param char* data The JSON text - * - * @return JSONValue* Returns a JSON Value representing the root, or NULL on error - */ -JSONValue *JSON::Parse(const char *data) -{ - size_t length = strlen(data) + 1; - wchar_t *w_data = (wchar_t*)malloc(length * sizeof(wchar_t)); - - #if defined(WIN32) && !defined(__GNUC__) - size_t ret_value = 0; - if (mbstowcs_s(&ret_value, w_data, length, data, length) != 0) - { - free(w_data); - return NULL; - } - #elif defined(ANDROID) - // mbstowcs seems to misbehave on android - for(size_t i = 0; iStringify(); - else - return L""; -} - -/** - * Skips over any whitespace characters (space, tab, \r or \n) defined by the JSON spec - * - * @access protected - * - * @param wchar_t** data Pointer to a wchar_t* that contains the JSON text - * - * @return bool Returns true if there is more data, or false if the end of the text was reached - */ -bool JSON::SkipWhitespace(const wchar_t **data) -{ - while (**data != 0 && (**data == L' ' || **data == L'\t' || **data == L'\r' || **data == L'\n')) - (*data)++; - - return **data != 0; -} - -/** - * Extracts a JSON String as defined by the spec - "" - * Any escaped characters are swapped out for their unescaped values - * - * @access protected - * - * @param wchar_t** data Pointer to a wchar_t* that contains the JSON text - * @param std::wstring& str Reference to a std::wstring to receive the extracted string - * - * @return bool Returns true on success, false on failure - */ -bool JSON::ExtractString(const wchar_t **data, std::wstring &str) -{ - str = L""; - - while (**data != 0) - { - // Save the char so we can change it if need be - wchar_t next_char = **data; - - // Escaping something? - if (next_char == L'\\') - { - // Move over the escape char - (*data)++; - - // Deal with the escaped char - switch (**data) - { - case L'"': next_char = L'"'; break; - case L'\\': next_char = L'\\'; break; - case L'/': next_char = L'/'; break; - case L'b': next_char = L'\b'; break; - case L'f': next_char = L'\f'; break; - case L'n': next_char = L'\n'; break; - case L'r': next_char = L'\r'; break; - case L't': next_char = L'\t'; break; - case L'u': - { - // We need 5 chars (4 hex + the 'u') or its not valid - if (!simplejson_wcsnlen(*data, 5)) - return false; - - // Deal with the chars - next_char = 0; - for (int i = 0; i < 4; i++) - { - // Do it first to move off the 'u' and leave us on the - // final hex digit as we move on by one later on - (*data)++; - - next_char <<= 4; - - // Parse the hex digit - if (**data >= '0' && **data <= '9') - next_char |= (**data - '0'); - else if (**data >= 'A' && **data <= 'F') - next_char |= (10 + (**data - 'A')); - else if (**data >= 'a' && **data <= 'f') - next_char |= (10 + (**data - 'a')); - else - { - // Invalid hex digit = invalid JSON - return false; - } - } - break; - } - - // By the spec, only the above cases are allowed - default: - return false; - } - } - - // End of the string? - else if (next_char == L'"') - { - (*data)++; - str.reserve(); // Remove unused capacity - return true; - } - - // Disallowed char? - else if (next_char < L' ' && next_char != L'\t') - { - // SPEC Violation: Allow tabs due to real world cases - return false; - } - - // Add the next char - str += next_char; - - // Move on - (*data)++; - } - - // If we're here, the string ended incorrectly - return false; -} - -/** - * Parses some text as though it is an integer - * - * @access protected - * - * @param wchar_t** data Pointer to a wchar_t* that contains the JSON text - * - * @return double Returns the double value of the number found - */ -double JSON::ParseInt(const wchar_t **data) -{ - double integer = 0; - while (**data != 0 && **data >= '0' && **data <= '9') - integer = integer * 10 + (*(*data)++ - '0'); - - return integer; -} - -/** - * Parses some text as though it is a decimal - * - * @access protected - * - * @param wchar_t** data Pointer to a wchar_t* that contains the JSON text - * - * @return double Returns the double value of the decimal found - */ -double JSON::ParseDecimal(const wchar_t **data) -{ - double decimal = 0.0; - double factor = 0.1; - while (**data != 0 && **data >= '0' && **data <= '9') - { - int digit = (*(*data)++ - '0'); - decimal = decimal + digit * factor; - factor *= 0.1; - } - return decimal; -} diff --git a/scripts/windows/installer/WiXBalExtension/wixstdba/JSON.h b/scripts/windows/installer/WiXBalExtension/wixstdba/JSON.h deleted file mode 100755 index 184a5de3ab..0000000000 --- a/scripts/windows/installer/WiXBalExtension/wixstdba/JSON.h +++ /dev/null @@ -1,112 +0,0 @@ -/* - * File JSON.h part of the SimpleJSON Library - http://mjpa.in/json - * - * Copyright (C) 2010 Mike Anchor - * - * 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. - */ - -#ifndef _JSON_H_ -#define _JSON_H_ - -// Win32 incompatibilities -#if defined(WIN32) && !defined(__GNUC__) - #define wcsncasecmp _wcsnicmp - static inline bool isnan(double x) { return x != x; } - static inline bool isinf(double x) { return !isnan(x) && isnan(x - x); } -#endif - -#include -#include -#include - -// Linux compile fix - from quaker66 -#ifdef __GNUC__ - #include - #include -#endif - -// Mac compile fixes - from quaker66, Lion fix by dabrahams -#if defined(__APPLE__) && __DARWIN_C_LEVEL < 200809L || (defined(WIN32) && defined(__GNUC__)) || defined(ANDROID) - #include - #include - - static inline int wcsncasecmp(const wchar_t *s1, const wchar_t *s2, size_t n) - { - int lc1 = 0; - int lc2 = 0; - - while (n--) - { - lc1 = towlower (*s1); - lc2 = towlower (*s2); - - if (lc1 != lc2) - return (lc1 - lc2); - - if (!lc1) - return 0; - - ++s1; - ++s2; - } - - return 0; - } -#endif - -// Simple function to check a string 's' has at least 'n' characters -static inline bool simplejson_wcsnlen(const wchar_t *s, size_t n) { - if (s == 0) - return false; - - const wchar_t *save = s; - while (n-- > 0) - { - if (*(save++) == 0) return false; - } - - return true; -} - -// Custom types -class JSONValue; -typedef std::vector JSONArray; -typedef std::map JSONObject; - -#include "JSONValue.h" - -class JSON -{ - friend class JSONValue; - - public: - static JSONValue* Parse(const char *data); - static JSONValue* Parse(const wchar_t *data); - static std::wstring Stringify(const JSONValue *value); - protected: - static bool SkipWhitespace(const wchar_t **data); - static bool ExtractString(const wchar_t **data, std::wstring &str); - static double ParseInt(const wchar_t **data); - static double ParseDecimal(const wchar_t **data); - private: - JSON(); -}; - -#endif diff --git a/scripts/windows/installer/WiXBalExtension/wixstdba/JSONValue.cpp b/scripts/windows/installer/WiXBalExtension/wixstdba/JSONValue.cpp deleted file mode 100755 index 94bc8a0062..0000000000 --- a/scripts/windows/installer/WiXBalExtension/wixstdba/JSONValue.cpp +++ /dev/null @@ -1,803 +0,0 @@ -/* - * File JSONValue.cpp part of the SimpleJSON Library - http://mjpa.in/json - * - * Copyright (C) 2010 Mike Anchor - * - * 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. - */ - -#include -#include -#include -#include -#include -#include -#include -#include - -#include "JSONValue.h" - -// Macros to free an array/object -#define FREE_ARRAY(x) { JSONArray::iterator iter; for (iter = x.begin(); iter != x.end(); iter++) { delete *iter; } } -#define FREE_OBJECT(x) { JSONObject::iterator iter; for (iter = x.begin(); iter != x.end(); iter++) { delete (*iter).second; } } - -/** - * Parses a JSON encoded value to a JSONValue object - * - * @access protected - * - * @param wchar_t** data Pointer to a wchar_t* that contains the data - * - * @return JSONValue* Returns a pointer to a JSONValue object on success, NULL on error - */ -JSONValue *JSONValue::Parse(const wchar_t **data) -{ - // Is it a string? - if (**data == '"') - { - std::wstring str; - if (!JSON::ExtractString(&(++(*data)), str)) - return NULL; - else - return new JSONValue(str); - } - - // Is it a boolean? - else if ((simplejson_wcsnlen(*data, 4) && wcsncasecmp(*data, L"true", 4) == 0) || (simplejson_wcsnlen(*data, 5) && wcsncasecmp(*data, L"false", 5) == 0)) - { - bool value = wcsncasecmp(*data, L"true", 4) == 0; - (*data) += value ? 4 : 5; - return new JSONValue(value); - } - - // Is it a null? - else if (simplejson_wcsnlen(*data, 4) && wcsncasecmp(*data, L"null", 4) == 0) - { - (*data) += 4; - return new JSONValue(); - } - - // Is it a number? - else if (**data == L'-' || (**data >= L'0' && **data <= L'9')) - { - // Negative? - bool neg = **data == L'-'; - if (neg) (*data)++; - - double number = 0.0; - - // Parse the whole part of the number - only if it wasn't 0 - if (**data == L'0') - (*data)++; - else if (**data >= L'1' && **data <= L'9') - number = JSON::ParseInt(data); - else - return NULL; - - // Could be a decimal now... - if (**data == '.') - { - (*data)++; - - // Not get any digits? - if (!(**data >= L'0' && **data <= L'9')) - return NULL; - - // Find the decimal and sort the decimal place out - // Use ParseDecimal as ParseInt won't work with decimals less than 0.1 - // thanks to Javier Abadia for the report & fix - double decimal = JSON::ParseDecimal(data); - - // Save the number - number += decimal; - } - - // Could be an exponent now... - if (**data == L'E' || **data == L'e') - { - (*data)++; - - // Check signage of expo - bool neg_expo = false; - if (**data == L'-' || **data == L'+') - { - neg_expo = **data == L'-'; - (*data)++; - } - - // Not get any digits? - if (!(**data >= L'0' && **data <= L'9')) - return NULL; - - // Sort the expo out - double expo = JSON::ParseInt(data); - for (double i = 0.0; i < expo; i++) - number = neg_expo ? (number / 10.0) : (number * 10.0); - } - - // Was it neg? - if (neg) number *= -1; - - return new JSONValue(number); - } - - // An object? - else if (**data == L'{') - { - JSONObject object; - - (*data)++; - - while (**data != 0) - { - // Whitespace at the start? - if (!JSON::SkipWhitespace(data)) - { - FREE_OBJECT(object); - return NULL; - } - - // Special case - empty object - if (object.size() == 0 && **data == L'}') - { - (*data)++; - return new JSONValue(object); - } - - // We want a string now... - std::wstring name; - if (!JSON::ExtractString(&(++(*data)), name)) - { - FREE_OBJECT(object); - return NULL; - } - - // More whitespace? - if (!JSON::SkipWhitespace(data)) - { - FREE_OBJECT(object); - return NULL; - } - - // Need a : now - if (*((*data)++) != L':') - { - FREE_OBJECT(object); - return NULL; - } - - // More whitespace? - if (!JSON::SkipWhitespace(data)) - { - FREE_OBJECT(object); - return NULL; - } - - // The value is here - JSONValue *value = Parse(data); - if (value == NULL) - { - FREE_OBJECT(object); - return NULL; - } - - // Add the name:value - if (object.find(name) != object.end()) - delete object[name]; - object[name] = value; - - // More whitespace? - if (!JSON::SkipWhitespace(data)) - { - FREE_OBJECT(object); - return NULL; - } - - // End of object? - if (**data == L'}') - { - (*data)++; - return new JSONValue(object); - } - - // Want a , now - if (**data != L',') - { - FREE_OBJECT(object); - return NULL; - } - - (*data)++; - } - - // Only here if we ran out of data - FREE_OBJECT(object); - return NULL; - } - - // An array? - else if (**data == L'[') - { - JSONArray array; - - (*data)++; - - while (**data != 0) - { - // Whitespace at the start? - if (!JSON::SkipWhitespace(data)) - { - FREE_ARRAY(array); - return NULL; - } - - // Special case - empty array - if (array.size() == 0 && **data == L']') - { - (*data)++; - return new JSONValue(array); - } - - // Get the value - JSONValue *value = Parse(data); - if (value == NULL) - { - FREE_ARRAY(array); - return NULL; - } - - // Add the value - array.push_back(value); - - // More whitespace? - if (!JSON::SkipWhitespace(data)) - { - FREE_ARRAY(array); - return NULL; - } - - // End of array? - if (**data == L']') - { - (*data)++; - return new JSONValue(array); - } - - // Want a , now - if (**data != L',') - { - FREE_ARRAY(array); - return NULL; - } - - (*data)++; - } - - // Only here if we ran out of data - FREE_ARRAY(array); - return NULL; - } - - // Ran out of possibilites, it's bad! - else - { - return NULL; - } -} - -/** - * Basic constructor for creating a JSON Value of type NULL - * - * @access public - */ -JSONValue::JSONValue(/*NULL*/) -{ - type = JSONType_Null; -} - -/** - * Basic constructor for creating a JSON Value of type String - * - * @access public - * - * @param wchar_t* m_char_value The string to use as the value - */ -JSONValue::JSONValue(const wchar_t *m_char_value) -{ - type = JSONType_String; - string_value = std::wstring(m_char_value); -} - -/** - * Basic constructor for creating a JSON Value of type String - * - * @access public - * - * @param std::wstring m_string_value The string to use as the value - */ -JSONValue::JSONValue(const std::wstring &m_string_value) -{ - type = JSONType_String; - string_value = m_string_value; -} - -/** - * Basic constructor for creating a JSON Value of type Bool - * - * @access public - * - * @param bool m_bool_value The bool to use as the value - */ -JSONValue::JSONValue(bool m_bool_value) -{ - type = JSONType_Bool; - bool_value = m_bool_value; -} - -/** - * Basic constructor for creating a JSON Value of type Number - * - * @access public - * - * @param double m_number_value The number to use as the value - */ -JSONValue::JSONValue(double m_number_value) -{ - type = JSONType_Number; - number_value = m_number_value; -} - -/** - * Basic constructor for creating a JSON Value of type Array - * - * @access public - * - * @param JSONArray m_array_value The JSONArray to use as the value - */ -JSONValue::JSONValue(const JSONArray &m_array_value) -{ - type = JSONType_Array; - array_value = m_array_value; -} - -/** - * Basic constructor for creating a JSON Value of type Object - * - * @access public - * - * @param JSONObject m_object_value The JSONObject to use as the value - */ -JSONValue::JSONValue(const JSONObject &m_object_value) -{ - type = JSONType_Object; - object_value = m_object_value; -} - -/** - * The destructor for the JSON Value object - * Handles deleting the objects in the array or the object value - * - * @access public - */ -JSONValue::~JSONValue() -{ - if (type == JSONType_Array) - { - JSONArray::iterator iter; - for (iter = array_value.begin(); iter != array_value.end(); iter++) - delete *iter; - } - else if (type == JSONType_Object) - { - JSONObject::iterator iter; - for (iter = object_value.begin(); iter != object_value.end(); iter++) - { - delete (*iter).second; - } - } -} - -/** - * Checks if the value is a NULL - * - * @access public - * - * @return bool Returns true if it is a NULL value, false otherwise - */ -bool JSONValue::IsNull() const -{ - return type == JSONType_Null; -} - -/** - * Checks if the value is a String - * - * @access public - * - * @return bool Returns true if it is a String value, false otherwise - */ -bool JSONValue::IsString() const -{ - return type == JSONType_String; -} - -/** - * Checks if the value is a Bool - * - * @access public - * - * @return bool Returns true if it is a Bool value, false otherwise - */ -bool JSONValue::IsBool() const -{ - return type == JSONType_Bool; -} - -/** - * Checks if the value is a Number - * - * @access public - * - * @return bool Returns true if it is a Number value, false otherwise - */ -bool JSONValue::IsNumber() const -{ - return type == JSONType_Number; -} - -/** - * Checks if the value is an Array - * - * @access public - * - * @return bool Returns true if it is an Array value, false otherwise - */ -bool JSONValue::IsArray() const -{ - return type == JSONType_Array; -} - -/** - * Checks if the value is an Object - * - * @access public - * - * @return bool Returns true if it is an Object value, false otherwise - */ -bool JSONValue::IsObject() const -{ - return type == JSONType_Object; -} - -/** - * Retrieves the String value of this JSONValue - * Use IsString() before using this method. - * - * @access public - * - * @return std::wstring Returns the string value - */ -const std::wstring &JSONValue::AsString() const -{ - return string_value; -} - -/** - * Retrieves the Bool value of this JSONValue - * Use IsBool() before using this method. - * - * @access public - * - * @return bool Returns the bool value - */ -bool JSONValue::AsBool() const -{ - return bool_value; -} - -/** - * Retrieves the Number value of this JSONValue - * Use IsNumber() before using this method. - * - * @access public - * - * @return double Returns the number value - */ -double JSONValue::AsNumber() const -{ - return number_value; -} - -/** - * Retrieves the Array value of this JSONValue - * Use IsArray() before using this method. - * - * @access public - * - * @return JSONArray Returns the array value - */ -const JSONArray &JSONValue::AsArray() const -{ - return array_value; -} - -/** - * Retrieves the Object value of this JSONValue - * Use IsObject() before using this method. - * - * @access public - * - * @return JSONObject Returns the object value - */ -const JSONObject &JSONValue::AsObject() const -{ - return object_value; -} - -/** - * Retrieves the number of children of this JSONValue. - * This number will be 0 or the actual number of children - * if IsArray() or IsObject(). - * - * @access public - * - * @return The number of children. - */ -std::size_t JSONValue::CountChildren() const -{ - switch (type) - { - case JSONType_Array: - return array_value.size(); - case JSONType_Object: - return object_value.size(); - default: - return 0; - } -} - -/** - * Checks if this JSONValue has a child at the given index. - * Use IsArray() before using this method. - * - * @access public - * - * @return bool Returns true if the array has a value at the given index. - */ -bool JSONValue::HasChild(std::size_t index) const -{ - if (type == JSONType_Array) - { - return index < array_value.size(); - } - else - { - return false; - } -} - -/** - * Retrieves the child of this JSONValue at the given index. - * Use IsArray() before using this method. - * - * @access public - * - * @return JSONValue* Returns JSONValue at the given index or NULL - * if it doesn't exist. - */ -JSONValue *JSONValue::Child(std::size_t index) -{ - if (index < array_value.size()) - { - return array_value[index]; - } - else - { - return NULL; - } -} - -/** - * Checks if this JSONValue has a child at the given key. - * Use IsObject() before using this method. - * - * @access public - * - * @return bool Returns true if the object has a value at the given key. - */ -bool JSONValue::HasChild(const wchar_t* name) const -{ - if (type == JSONType_Object) - { - return object_value.find(name) != object_value.end(); - } - else - { - return false; - } -} - -/** - * Retrieves the child of this JSONValue at the given key. - * Use IsObject() before using this method. - * - * @access public - * - * @return JSONValue* Returns JSONValue for the given key in the object - * or NULL if it doesn't exist. - */ -JSONValue* JSONValue::Child(const wchar_t* name) -{ - JSONObject::const_iterator it = object_value.find(name); - if (it != object_value.end()) - { - return it->second; - } - else - { - return NULL; - } -} - -/** - * Creates a JSON encoded string for the value with all necessary characters escaped - * - * @access public - * - * @return std::wstring Returns the JSON string - */ -std::wstring JSONValue::Stringify() const -{ - std::wstring ret_string; - - switch (type) - { - case JSONType_Null: - ret_string = L"null"; - break; - - case JSONType_String: - ret_string = StringifyString(string_value); - break; - - case JSONType_Bool: - ret_string = bool_value ? L"true" : L"false"; - break; - - case JSONType_Number: - { - if (isinf(number_value) || isnan(number_value)) - ret_string = L"null"; - else - { - std::wstringstream ss; - ss.precision(15); - ss << number_value; - ret_string = ss.str(); - } - break; - } - - case JSONType_Array: - { - ret_string = L"["; - JSONArray::const_iterator iter = array_value.begin(); - while (iter != array_value.end()) - { - ret_string += (*iter)->Stringify(); - - // Not at the end - add a separator - if (++iter != array_value.end()) - ret_string += L","; - } - ret_string += L"]"; - break; - } - - case JSONType_Object: - { - ret_string = L"{"; - JSONObject::const_iterator iter = object_value.begin(); - while (iter != object_value.end()) - { - ret_string += StringifyString((*iter).first); - ret_string += L":"; - ret_string += (*iter).second->Stringify(); - - // Not at the end - add a separator - if (++iter != object_value.end()) - ret_string += L","; - } - ret_string += L"}"; - break; - } - } - - return ret_string; -} - -/** - * Creates a JSON encoded string with all required fields escaped - * Works from http://www.ecma-internationl.org/publications/files/ECMA-ST/ECMA-262.pdf - * Section 15.12.3. - * - * @access private - * - * @param std::wstring str The string that needs to have the characters escaped - * - * @return std::wstring Returns the JSON string - */ -std::wstring JSONValue::StringifyString(const std::wstring &str) -{ - std::wstring str_out = L"\""; - - std::wstring::const_iterator iter = str.begin(); - while (iter != str.end()) - { - wchar_t chr = *iter; - - if (chr == L'"' || chr == L'\\' || chr == L'/') - { - str_out += L'\\'; - str_out += chr; - } - else if (chr == L'\b') - { - str_out += L"\\b"; - } - else if (chr == L'\f') - { - str_out += L"\\f"; - } - else if (chr == L'\n') - { - str_out += L"\\n"; - } - else if (chr == L'\r') - { - str_out += L"\\r"; - } - else if (chr == L'\t') - { - str_out += L"\\t"; - } - else if (chr < L' ' || chr > 126) - { - str_out += L"\\u"; - for (int i = 0; i < 4; i++) - { - int value = (chr >> 12) & 0xf; - if (value >= 0 && value <= 9) - str_out += (wchar_t)('0' + value); - else if (value >= 10 && value <= 15) - str_out += (wchar_t)('A' + (value - 10)); - chr <<= 4; - } - } - else - { - str_out += chr; - } - - iter++; - } - - str_out += L"\""; - return str_out; -} diff --git a/scripts/windows/installer/WiXBalExtension/wixstdba/JSONValue.h b/scripts/windows/installer/WiXBalExtension/wixstdba/JSONValue.h deleted file mode 100755 index f84389f923..0000000000 --- a/scripts/windows/installer/WiXBalExtension/wixstdba/JSONValue.h +++ /dev/null @@ -1,86 +0,0 @@ -/* - * File JSONValue.h part of the SimpleJSON Library - http://mjpa.in/json - * - * Copyright (C) 2010 Mike Anchor - * - * 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. - */ - -#ifndef _JSONVALUE_H_ -#define _JSONVALUE_H_ - -#include -#include - -#include "JSON.h" - -class JSON; - -enum JSONType { JSONType_Null, JSONType_String, JSONType_Bool, JSONType_Number, JSONType_Array, JSONType_Object }; - -class JSONValue -{ - friend class JSON; - - public: - JSONValue(/*NULL*/); - JSONValue(const wchar_t *m_char_value); - JSONValue(const std::wstring &m_string_value); - JSONValue(bool m_bool_value); - JSONValue(double m_number_value); - JSONValue(const JSONArray &m_array_value); - JSONValue(const JSONObject &m_object_value); - ~JSONValue(); - - bool IsNull() const; - bool IsString() const; - bool IsBool() const; - bool IsNumber() const; - bool IsArray() const; - bool IsObject() const; - - const std::wstring &AsString() const; - bool AsBool() const; - double AsNumber() const; - const JSONArray &AsArray() const; - const JSONObject &AsObject() const; - - std::size_t CountChildren() const; - bool HasChild(std::size_t index) const; - JSONValue *Child(std::size_t index); - bool HasChild(const wchar_t* name) const; - JSONValue *Child(const wchar_t* name); - - std::wstring Stringify() const; - - protected: - static JSONValue *Parse(const wchar_t **data); - - private: - static std::wstring StringifyString(const std::wstring &str); - - JSONType type; - std::wstring string_value; - bool bool_value; - double number_value; - JSONArray array_value; - JSONObject object_value; -}; - -#endif diff --git a/scripts/windows/installer/WiXBalExtension/wixstdba/Resources/Hyperlink2Theme.xml b/scripts/windows/installer/WiXBalExtension/wixstdba/Resources/Hyperlink2Theme.xml deleted file mode 100755 index 8f692a149b..0000000000 --- a/scripts/windows/installer/WiXBalExtension/wixstdba/Resources/Hyperlink2Theme.xml +++ /dev/null @@ -1,77 +0,0 @@ - - - #(loc.Caption) - Segoe UI - Segoe UI - Segoe UI - Segoe UI - Segoe UI - - - #(loc.Title) - - #(loc.HelpHeader) - #(loc.HelpText) - - - - #(loc.Title) - - #(loc.InstallHeader) - #(loc.InstallMessage) - #(loc.InstallLicenseLinkText) - #(loc.InstallVersion) - #(loc.InstallUpgradeLinkText) - #(loc.InstallAcceptCheckbox) - - - - - - #(loc.Title) - - #(loc.OptionsHeader) - #(loc.OptionsLocationLabel) - - - - - - - - #(loc.Title) - - [varProgressHeader] - #(loc.ProgressLabel) - #(loc.OverallProgressPackageText) - - - - - #(loc.Title) - - #(loc.ModifyHeader) - - - - - - #(loc.Title) - - [varSuccessHeader] - - #(loc.SuccessRestartText) - - - - - #(loc.Title) - - [varFailureHeader] - #(loc.FailureHyperlinkLogText) - - #(loc.FailureRestartText) - - - - \ No newline at end of file diff --git a/scripts/windows/installer/WiXBalExtension/wixstdba/Resources/HyperlinkTheme.wxl b/scripts/windows/installer/WiXBalExtension/wixstdba/Resources/HyperlinkTheme.wxl deleted file mode 100755 index 3f122a841f..0000000000 --- a/scripts/windows/installer/WiXBalExtension/wixstdba/Resources/HyperlinkTheme.wxl +++ /dev/null @@ -1,54 +0,0 @@ - - - [WixBundleName] Setup - [WixBundleName] - Welcome - Setup will install [WixBundleName] on your computer. Click install to continue, options to set the install directory or Close to exit. - Version [WixBundleVersion] - Version [WixBundleVersion] <a href="#">upgrade available</a> - Are you sure you want to cancel? - Setup Help - /install | /repair | /uninstall | /layout [directory] - installs, repairs, uninstalls or - creates a complete local copy of the bundle in directory. Install is the default. - -/passive | /quiet - displays minimal UI with no prompts or displays no UI and - no prompts. By default UI and all prompts are displayed. - -/norestart - suppress any attempts to restart. By default UI will prompt before restart. -/log log.txt - logs to a specific file. By default a log file is created in %TEMP%. - &Close - [WixBundleName] <a href="#">license terms</a>. - I &agree to the license terms and conditions - &Options - &Install - &Close - Setup Options - Install location: - &Browse - &OK - &Cancel - Setup Progress - Repair Progress - Uninstall Progress - Processing: - Initializing... - &Cancel - Modify Setup - &Repair - &Uninstall - &Close - Setup Successful - Repair Successful - Uninstall Successful - &Launch - You must restart your computer before you can use the software. - &Restart - &Close - Setup Failed - Repair Failed - Uninstall Failed - One or more issues caused the setup to fail. Please fix the issues and then retry setup. For more information see the <a href="#">log file</a>. - You must restart your computer to complete the rollback of the software. - &Restart - &Close - \ No newline at end of file diff --git a/scripts/windows/installer/WiXBalExtension/wixstdba/Resources/HyperlinkTheme.xml b/scripts/windows/installer/WiXBalExtension/wixstdba/Resources/HyperlinkTheme.xml deleted file mode 100755 index aa954fab21..0000000000 --- a/scripts/windows/installer/WiXBalExtension/wixstdba/Resources/HyperlinkTheme.xml +++ /dev/null @@ -1,66 +0,0 @@ - - - #(loc.Caption) - Segoe UI - Segoe UI - Segoe UI - Segoe UI - Segoe UI - - - #(loc.Title) - - - #(loc.HelpHeader) - #(loc.HelpText) - - - - #(loc.InstallHeader) - #(loc.InstallMessage) - - #(loc.InstallLicenseLinkText) - #(loc.InstallVersion) - #(loc.InstallUpgradeLinkText) - #(loc.InstallAcceptCheckbox) - - - - - - #(loc.OptionsHeader) - #(loc.OptionsLocationLabel) - - - - - - - [varProgressHeader] - #(loc.ProgressLabel) - #(loc.OverallProgressPackageText) - - - - - #(loc.ModifyHeader) - - - - - - [varSuccessHeader] - - #(loc.SuccessRestartText) - - - - - [varFailureHeader] - #(loc.FailureHyperlinkLogText) - - #(loc.FailureRestartText) - - - - \ No newline at end of file diff --git a/scripts/windows/installer/WiXBalExtension/wixstdba/Resources/LogoSide.png b/scripts/windows/installer/WiXBalExtension/wixstdba/Resources/LogoSide.png deleted file mode 100755 index 3d7af32993fb4738507e1f1063e8338d79f3baca..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 3118 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 M-Gzj&JmR19KL=Nb$^ZZW diff --git a/scripts/windows/installer/WiXBalExtension/wixstdba/Resources/LoremIpsumLicense.rtf b/scripts/windows/installer/WiXBalExtension/wixstdba/Resources/LoremIpsumLicense.rtf deleted file mode 100755 index 1a1832361851f096afcd4586d486d22aa13073a2..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 4908 zcmbVQON-n_5YE})|Ip_k#LU=ESbQ>0LISpNFfoKEhaRal(}`a0$K+u4zvru}erPtg zfEn+Oq*nD;-=liJb}o#^PA}f_N55T;r&p(LFynZj&q*(r!khbM_fJf)%)*G|9L`B_U!EI$H(W-zINYs7qb|r!|K#~KL#_{ zpkB2vkL?NnUL77@KXx~3{`uQ3!^!@}U0s z7=!wKjZVF@y;;0bZ!XT5*(^c*Y@GSCqrE+JXKV*G`{M(x`urJxORq~NJgU{1 zS=r6USqi!%)L<`*_1?}(FTp5&)GZooapicqoj2nKYq0c3r;VrmY|aFWYba!}v_t&7 zy55!=)ud5BJ@Zray}7$Fn0do?CbKr`W`i~=ee)%1ybfi!0qfDjAL2A=sceY0QNb>~ z9U?05W>8oqXezl;Tbyoo(GHKR5jc1hYo-a68UH03we5ddu|bEu+Vhp*(0w0gua{Q+ zvM3W3!$cQb^#(N2i$Y^>aoS?g1d;U;)MMgy!?@gBMYwDiPd;|3e&&VGs3 zqjoB8bm*R?o${9>7Q+s3S^8dD)T&R>Zw8QiuuH31d#`E7>tI(vc{9#wbu(An$4R&9 zZFKr+3Dg0v2W~SiD1|kvK+|0z(Y1L6UNqK8+CuZ|#Vmw8yAT-Ygn|>s=t*OvXKL8|?i;_K8Zk z-e4(Ygb2)9zYZD_5mSRBu;WCmSKLM_=TBNLP}hZ!*>-7{rISgs3IYHZstooakvA^I z5#3T5Nj<*;7;+-GA6po(Bq@A|OE20GU*PsUX&@~o0J5%2M5Mj|bb^BJsy3I&3~g}e zkP#1hgMNVvVF5EhH?m)f5R%DJUa%$#GgEEZrc#qA$&$XRL`LIMT2&e4V%YxKfCVL1 ze?x|qY&^9;C+tGtFoBw4k#MaH^%Ti(!5RLa_d}b_pq6-rVUmVCwr>_Pi|TuvhZQvg zlfLtqE4e!sRWq9@0v{eoZA3;3Q=y9mQvwVVHxcckhLMk$A^>#1b9o;$`u&Eq1fjt^ zm02w103r*IQ~S7~xX8|xnMiFyAljVs**Hl9)B(=e@?^1NS}xnhj{)wV5zOkQz>*1~ zUZLQn@K9I8mNO2{#>8tRHf0(}X+zZ~(Xe?VaJ0cxhKLjOHu8Eh+N|SS(GK#F-o;Y5 zn;hsH7!0y0Ss$}iVJIVvDJiR+H^X##;? zRQpUEuJ~iz6n5=f%S`~g#oWY2%D7Q`0o`RItz$L@+oUlfWC9k0p$z6ctnL#|c7-6J zWQ0xRaVe=k4f1rZ0Ud3ZP6gIdLc-rb+L z%1KPug{I}nf*&ReGI z@{T>MdX`|^s&_n={*MFuU8Z9SX8jY5%ZWyKktZa)AI`()dy4S@aS*1}ak6j-VZ<5pu7PmPvBDzD9jv&g3m5HQKl2& z6JyK_%ZH9McMw*v2x=5&XSmpo#+(6i%B?!eXLNZh=vGFVwj1$BD}Or4aTb53`sQDO CvIZgm diff --git a/scripts/windows/installer/WiXBalExtension/wixstdba/Resources/RtfTheme.wxl b/scripts/windows/installer/WiXBalExtension/wixstdba/Resources/RtfTheme.wxl deleted file mode 100755 index 67b5ee05f7..0000000000 --- a/scripts/windows/installer/WiXBalExtension/wixstdba/Resources/RtfTheme.wxl +++ /dev/null @@ -1,43 +0,0 @@ - - - [WixBundleName] Setup - [WixBundleName] - Are you sure you want to cancel? - Setup Help - /install | /repair | /uninstall | /layout [directory] - installs, repairs, uninstalls or - creates a complete local copy of the bundle in directory. Install is the default. - -/passive | /quiet - displays minimal UI with no prompts or displays no UI and - no prompts. By default UI and all prompts are displayed. - -/norestart - suppress any attempts to restart. By default UI will prompt before restart. -/log log.txt - logs to a specific file. By default a log file is created in %TEMP%. - &Close - I &agree to the license terms and conditions - &Options - &Install - &Close - Setup Options - Install location: - &Browse - &OK - &Cancel - Setup Progress - Processing: - Initializing... - &Cancel - Modify Setup - &Repair - &Uninstall - &Close - Setup Successful - &Launch - You must restart your computer before you can use the software. - &Restart - &Close - Setup Failed - One or more issues caused the setup to fail. Please fix the issues and then retry setup. For more information see the <a href="#">log file</a>. - You must restart your computer to complete the rollback of the software. - &Restart - &Close - diff --git a/scripts/windows/installer/WiXBalExtension/wixstdba/Resources/RtfTheme.xml b/scripts/windows/installer/WiXBalExtension/wixstdba/Resources/RtfTheme.xml deleted file mode 100755 index 9b04f5eaa8..0000000000 --- a/scripts/windows/installer/WiXBalExtension/wixstdba/Resources/RtfTheme.xml +++ /dev/null @@ -1,62 +0,0 @@ - - - #(loc.Caption) - Segoe UI - Segoe UI - Segoe UI - Segoe UI - Segoe UI - - - #(loc.Title) - - - #(loc.HelpHeader) - #(loc.HelpText) - - - - - - #(loc.InstallAcceptCheckbox) - - - - - - #(loc.OptionsHeader) - #(loc.OptionsLocationLabel) - - - - - - - [varProgressHeader] - #(loc.ProgressLabel) - #(loc.OverallProgressPackageText) - - - - - #(loc.ModifyHeader) - - - - - - [varSuccessHeader] - - #(loc.SuccessRestartText) - - - - - [varFailureHeader] - #(loc.FailureHyperlinkLogText) - - #(loc.FailureRestartText) - - - - \ No newline at end of file diff --git a/scripts/windows/installer/WiXBalExtension/wixstdba/Resources/logo.png b/scripts/windows/installer/WiXBalExtension/wixstdba/Resources/logo.png deleted file mode 100755 index 6df52d5464a282ed469b599483b469fea7f11a31..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 880 zcmV-$1CRWPP)00004XF*Lt006O$ zeEU(80000WV@Og>004&%004{+008|`004nN004b?008NW002DY000@xb3BE200009 za7bBm000XQ000XQ0h0Lxr2qf`8gxZibW?9;ba!ELWdKlNX>N2bPDNB8b~7$DE-^4L z^m3s900O{CL_t(&L+w{fa$_+F^gb8Mt&*epW{F%>FaZf#hzjM@dy832Py^lke7jv= zKLc;?A0voY{I{RGnh0Kzdy4tLe3t^eo-)bBkf%U}vP-8@jB?ILvz7g{RJIT# z-%`VYyoLAaf@k<=Z$(j?Xbwy%B=~7Q`CbS}Q&{var5o4oK}HHk5hKzX8II3TnaG11Hzz@X8;L^Qqe5%vg1!rvNm7ccux^>~Oi#B;M<*{K#cu z7EN`-Z(Aiu@)jCFlpi*$Uv^U=H+~X096Pm}Q-=H1zm8Zg-wRa2VeLXFKSpwfuKGb1 z8w4J5DW~|!T%xzK#H|i0`T_-r1I_`WBr;N$Hk)rX$ -// Copyright (c) 2004, Outercurve Foundation. -// This software is released under Microsoft Reciprocal License (MS-RL). -// The license and further copyright text can be found in the file -// LICENSE.TXT at the root directory of the distribution. -// -//------------------------------------------------------------------------------------------------- - - -#include "precomp.h" -#include "regutil.h" -#include "JSON.h" -#include -#include -#include - - -static const HRESULT E_WIXSTDBA_CONDITION_FAILED = MAKE_HRESULT(SEVERITY_ERROR, 500, 1); - -static const LPCWSTR WIXBUNDLE_VARIABLE_ELEVATED = L"WixBundleElevated"; - -static const LPCWSTR WIXSTDBA_WINDOW_CLASS = L"WixExtBA"; -static const LPCWSTR WIXSTDBA_VARIABLE_INSTALL_FOLDER = L"InstallFolder"; -static const LPCWSTR WIXSTDBA_VARIABLE_INSTALL_REGPATH = L"InstallRegPath"; -static const LPCWSTR WIXSTDBA_VARIABLE_LAUNCH_TARGET_PATH = L"LaunchTarget"; -static const LPCWSTR WIXSTDBA_VARIABLE_LAUNCH_ARGUMENTS = L"LaunchArguments"; -static const LPCWSTR WIXSTDBA_VARIABLE_LAUNCH_HIDDEN = L"LaunchHidden"; -static const LPCWSTR WIXSTDBA_VARIABLE_LAUNCHAFTERINSTALL_TARGET_PATH = L"LaunchAfterInstallTarget"; -static const LPCWSTR WIXSTDBA_VARIABLE_LAUNCHAFTERINSTALL_ARGUMENTS = L"LaunchAfterInstallArguments"; - -static const LPCWSTR WIXSTDBA_VARIABLE_PROGRESS_HEADER = L"varProgressHeader"; -static const LPCWSTR WIXSTDBA_VARIABLE_PROGRESS_INFO = L"varProgressInfo"; -static const LPCWSTR WIXSTDBA_VARIABLE_SUCCESS_HEADER = L"varSuccessHeader"; -static const LPCWSTR WIXSTDBA_VARIABLE_SUCCESS_INFO = L"varSuccessInfo"; -static const LPCWSTR WIXSTDBA_VARIABLE_FAILURE_HEADER = L"varFailureHeader"; -static const LPCWSTR WIXSTDBA_VARIABLE_SUCCESS_ERRINF = L"varSuccessErrorInfoText"; -static const LPCWSTR WIXSTDBA_VARIABLE_SUCCESS_ERRMSG = L"varSuccessErrorMessageText"; - -static const LPCWSTR WIXSTDBA_VARIABLE_PERMACHINE_INSTALL = L"PerMachineInstall"; -static const LPCWSTR WIXSTDBA_VARIABLE_PERMACHINE_INSTALL_FOLDER = L"PerMachineInstallFolder"; -static const LPCWSTR WIXSTDBA_VARIABLE_PERUSER_INSTALL_FOLDER = L"PerUserInstallFolder"; -static const LPCWSTR WIXSTDBA_VARIABLE_USERMETEORSESSIONFILE = L"UserMeteorSessionFile"; - - -static const LPCWSTR WIXSTDBA_VARIABLE_REG_MAIL = L"RegisterEmail"; -static const LPCWSTR WIXSTDBA_VARIABLE_REG_USER = L"RegisterUser"; -static const LPCWSTR WIXSTDBA_VARIABLE_REG_PASS = L"RegisterPass"; - -static const LPCWSTR WIXSTDBA_VARIABLE_LOG_USERNAME_OR_MAIL = L"LoginUsernameOrEmail"; -static const LPCWSTR WIXSTDBA_VARIABLE_LOG_PASS = L"LoginPass"; - - -static const LPCWSTR WIXSTDBA_VARIABLE_LOGSPATH = L"QCInstallLogsPath"; - -static const DWORD WIXSTDBA_ACQUIRE_PERCENTAGE = 1; - -enum WIXSTDBA_STATE -{ - WIXSTDBA_STATE_INSTALLDIR, - WIXSTDBA_STATE_SVC_OPTIONS, - WIXSTDBA_STATE_INITIALIZING, - WIXSTDBA_STATE_INITIALIZED, - WIXSTDBA_STATE_HELP, - WIXSTDBA_STATE_DETECTING, - WIXSTDBA_STATE_DETECTED, - WIXSTDBA_STATE_PLANNING, - WIXSTDBA_STATE_PLANNED, - WIXSTDBA_STATE_APPLYING, - WIXSTDBA_STATE_CACHING, - WIXSTDBA_STATE_CACHED, - WIXSTDBA_STATE_EXECUTING, - WIXSTDBA_STATE_EXECUTED, - WIXSTDBA_STATE_APPLIED, - WIXSTDBA_STATE_FAILED, -}; - -enum WM_WIXSTDBA -{ - WM_WIXSTDBA_SHOW_HELP = WM_APP + 100, - WM_WIXSTDBA_DETECT_PACKAGES, - WM_WIXSTDBA_PLAN_PACKAGES, - WM_WIXSTDBA_APPLY_PACKAGES, - WM_WIXSTDBA_CHANGE_STATE, -}; - -// This enum must be kept in the same order as the vrgwzPageNames array. -enum WIXSTDBA_PAGE -{ - WIXSTDBA_PAGE_LOADING, - WIXSTDBA_PAGE_HELP, - WIXSTDBA_PAGE_INSTALL, - WIXSTDBA_PAGE_INSTALLDIR, - WIXSTDBA_PAGE_SVC_OPTIONS, - WIXSTDBA_PAGE_MODIFY, - WIXSTDBA_PAGE_PROGRESS, - WIXSTDBA_PAGE_PROGRESS_PASSIVE, - WIXSTDBA_PAGE_SUCCESS, - WIXSTDBA_PAGE_FAILURE, - COUNT_WIXSTDBA_PAGE, -}; - -// This array must be kept in the same order as the WIXSTDBA_PAGE enum. -static LPCWSTR vrgwzPageNames[] = { - L"Loading", - L"Help", - L"Install", - L"InstallDir", - L"SvcOptions", - L"Modify", - L"Progress", - L"ProgressPassive", - L"Success", - L"Failure", -}; - -enum WIXSTDBA_CONTROL -{ - // Non-paged controls - WIXSTDBA_CONTROL_CLOSE_BUTTON = THEME_FIRST_ASSIGN_CONTROL_ID, - WIXSTDBA_CONTROL_MINIMIZE_BUTTON, - - // Help page - WIXSTDBA_CONTROL_HELP_CANCEL_BUTTON, - - // Welcome page - WIXSTDBA_CONTROL_INSTALL_BUTTON, - WIXSTDBA_CONTROL_OPTIONS_BUTTON, - WIXSTDBA_CONTROL_EULA_RICHEDIT, - WIXSTDBA_CONTROL_EULA_LINK, - WIXSTDBA_CONTROL_EULA_ACCEPT_CHECKBOX, - WIXSTDBA_CONTROL_WELCOME_CANCEL_BUTTON, - WIXSTDBA_CONTROL_VERSION_LABEL, - WIXSTDBA_CONTROL_UPGRADE_LINK, - WIXSTDBA_CONTROL_NEXT_BUTTON, - WIXSTDBA_CONTROL_BACK_BUTTON, - WIXSTDBA_CONTROL_SKIP_BUTTON, - - - // Options page - WIXSTDBA_CONTROL_PERMACHINE_RADIO, - WIXSTDBA_CONTROL_PERUSER_RADIO, - WIXSTDBA_CONTROL_INSTALLFOLDER_EDITBOX, - WIXSTDBA_CONTROL_BROWSE_BUTTON, - - WIXSTDBA_CONTROL_REGSIGNIN_RADIO, - WIXSTDBA_CONTROL_REGCREATE_RADIO, - WIXSTDBA_CONTROL_REGMAIL_LABEL, - WIXSTDBA_CONTROL_REGUSER_LABEL, - WIXSTDBA_CONTROL_REGPASS_LABEL, - WIXSTDBA_CONTROL_REGMAIL_EDIT, - WIXSTDBA_CONTROL_REGUSER_EDIT, - WIXSTDBA_CONTROL_REGPASS_EDIT, - - WIXSTDBA_CONTROL_LOGUSER_OR_MAIL_LABEL, - WIXSTDBA_CONTROL_LOGPASS_LABEL, - WIXSTDBA_CONTROL_LOGUSER_OR_MAIL_EDIT, - WIXSTDBA_CONTROL_LOGPASS_EDIT, - - WIXSTDBA_CONTROL_SKIPREG_CHECKBOX, - - - WIXSTDBA_CONTROL_OK_BUTTON, - WIXSTDBA_CONTROL_CANCEL_BUTTON, - - // Modify page - WIXSTDBA_CONTROL_REPAIR_BUTTON, - WIXSTDBA_CONTROL_UNINSTALL_BUTTON, - WIXSTDBA_CONTROL_MODIFY_CANCEL_BUTTON, - - // Progress page - WIXSTDBA_CONTROL_CACHE_PROGRESS_PACKAGE_TEXT, - WIXSTDBA_CONTROL_CACHE_PROGRESS_BAR, - WIXSTDBA_CONTROL_CACHE_PROGRESS_TEXT, - - WIXSTDBA_CONTROL_EXECUTE_PROGRESS_PACKAGE_TEXT, - WIXSTDBA_CONTROL_EXECUTE_PROGRESS_BAR, - WIXSTDBA_CONTROL_EXECUTE_PROGRESS_TEXT, - WIXSTDBA_CONTROL_EXECUTE_PROGRESS_ACTIONDATA_TEXT, - - WIXSTDBA_CONTROL_OVERALL_PROGRESS_PACKAGE_TEXT, - WIXSTDBA_CONTROL_OVERALL_PROGRESS_BAR, - WIXSTDBA_CONTROL_OVERALL_CALCULATED_PROGRESS_BAR, - WIXSTDBA_CONTROL_OVERALL_PROGRESS_TEXT, - - WIXSTDBA_CONTROL_PROGRESS_INSTALLING_HEADER, - - WIXSTDBA_CONTROL_PROGRESS_CANCEL_BUTTON, - - // Success page - WIXSTDBA_CONTROL_LAUNCH_BUTTON, - WIXSTDBA_CONTROL_SUCCESS_RESTART_TEXT, - WIXSTDBA_CONTROL_SUCCESS_RESTART_BUTTON, - WIXSTDBA_CONTROL_SUCCESS_CANCEL_BUTTON, - WIXSTDBA_CONTROL_SUCCESS_ERRINF_TEXT, - WIXSTDBA_CONTROL_SUCCESS_ERRMSG_TEXT, - - // Failure page - WIXSTDBA_CONTROL_FAILURE_LOGFILE_LINK, - WIXSTDBA_CONTROL_FAILURE_MESSAGE_TEXT, - WIXSTDBA_CONTROL_FAILURE_RESTART_TEXT, - WIXSTDBA_CONTROL_FAILURE_RESTART_BUTTON, - WIXSTDBA_CONTROL_FAILURE_CANCEL_BUTTON, - -}; - -static THEME_ASSIGN_CONTROL_ID vrgInitControls[] = { - { WIXSTDBA_CONTROL_CLOSE_BUTTON, L"CloseButton" }, - { WIXSTDBA_CONTROL_MINIMIZE_BUTTON, L"MinimizeButton" }, - - { WIXSTDBA_CONTROL_HELP_CANCEL_BUTTON, L"HelpCancelButton" }, - - { WIXSTDBA_CONTROL_INSTALL_BUTTON, L"InstallButton" }, - { WIXSTDBA_CONTROL_OPTIONS_BUTTON, L"OptionsButton" }, - { WIXSTDBA_CONTROL_EULA_RICHEDIT, L"EulaRichedit" }, - { WIXSTDBA_CONTROL_EULA_LINK, L"EulaHyperlink" }, - { WIXSTDBA_CONTROL_EULA_ACCEPT_CHECKBOX, L"EulaAcceptCheckbox" }, - { WIXSTDBA_CONTROL_WELCOME_CANCEL_BUTTON, L"WelcomeCancelButton" }, - { WIXSTDBA_CONTROL_VERSION_LABEL, L"InstallVersion" }, - { WIXSTDBA_CONTROL_UPGRADE_LINK, L"UpgradeHyperlink" }, - { WIXSTDBA_CONTROL_NEXT_BUTTON, L"NextButton" }, - { WIXSTDBA_CONTROL_BACK_BUTTON, L"BackButton" }, - { WIXSTDBA_CONTROL_SKIP_BUTTON, L"SkipButton" }, - - {WIXSTDBA_CONTROL_PERMACHINE_RADIO, L"PerMachineInstall" }, - {WIXSTDBA_CONTROL_PERUSER_RADIO, L"PerUserInstall" }, - { WIXSTDBA_CONTROL_INSTALLFOLDER_EDITBOX, L"InstallFolderEditbox" }, - { WIXSTDBA_CONTROL_BROWSE_BUTTON, L"BrowseButton" }, - - {WIXSTDBA_CONTROL_REGSIGNIN_RADIO, L"SignInRButton"}, - {WIXSTDBA_CONTROL_REGCREATE_RADIO, L"CreateRButton"}, - {WIXSTDBA_CONTROL_REGMAIL_LABEL, L"RegisterEmailLabel"}, - {WIXSTDBA_CONTROL_REGUSER_LABEL, L"RegisterUserLabel"}, - {WIXSTDBA_CONTROL_REGPASS_LABEL, L"RegisterPassLabel"}, - {WIXSTDBA_CONTROL_REGMAIL_EDIT, L"RegisterEmail"}, - {WIXSTDBA_CONTROL_REGUSER_EDIT, L"RegisterUser"}, - {WIXSTDBA_CONTROL_REGPASS_EDIT, L"RegisterPass"}, - - {WIXSTDBA_CONTROL_LOGUSER_OR_MAIL_LABEL, L"LoginUsernameOrEmailLabel"}, - {WIXSTDBA_CONTROL_LOGPASS_LABEL, L"LoginPassLabel"}, - {WIXSTDBA_CONTROL_LOGUSER_OR_MAIL_EDIT, L"LoginUsernameOrEmail"}, - {WIXSTDBA_CONTROL_LOGPASS_EDIT, L"LoginPass"}, - - {WIXSTDBA_CONTROL_SKIPREG_CHECKBOX, L"SkipRegistration"}, - - { WIXSTDBA_CONTROL_REPAIR_BUTTON, L"RepairButton" }, - { WIXSTDBA_CONTROL_UNINSTALL_BUTTON, L"UninstallButton" }, - { WIXSTDBA_CONTROL_MODIFY_CANCEL_BUTTON, L"ModifyCancelButton" }, - - { WIXSTDBA_CONTROL_CACHE_PROGRESS_PACKAGE_TEXT, L"CacheProgressPackageText" }, - { WIXSTDBA_CONTROL_CACHE_PROGRESS_BAR, L"CacheProgressbar" }, - { WIXSTDBA_CONTROL_CACHE_PROGRESS_TEXT, L"CacheProgressText" }, - { WIXSTDBA_CONTROL_EXECUTE_PROGRESS_PACKAGE_TEXT, L"ExecuteProgressPackageText" }, - { WIXSTDBA_CONTROL_EXECUTE_PROGRESS_BAR, L"ExecuteProgressbar" }, - { WIXSTDBA_CONTROL_EXECUTE_PROGRESS_TEXT, L"ExecuteProgressText" }, - { WIXSTDBA_CONTROL_EXECUTE_PROGRESS_ACTIONDATA_TEXT, L"ExecuteProgressActionDataText"}, - { WIXSTDBA_CONTROL_OVERALL_PROGRESS_PACKAGE_TEXT, L"OverallProgressPackageText" }, - { WIXSTDBA_CONTROL_OVERALL_PROGRESS_BAR, L"OverallProgressbar" }, - { WIXSTDBA_CONTROL_OVERALL_CALCULATED_PROGRESS_BAR, L"OverallCalculatedProgressbar" }, - { WIXSTDBA_CONTROL_OVERALL_PROGRESS_TEXT, L"OverallProgressText" }, - { WIXSTDBA_CONTROL_PROGRESS_CANCEL_BUTTON, L"ProgressCancelButton" }, - { WIXSTDBA_CONTROL_PROGRESS_INSTALLING_HEADER, L"InstallingHeader" }, - - { WIXSTDBA_CONTROL_LAUNCH_BUTTON, L"LaunchButton" }, - { WIXSTDBA_CONTROL_SUCCESS_RESTART_TEXT, L"SuccessRestartText" }, - { WIXSTDBA_CONTROL_SUCCESS_RESTART_BUTTON, L"SuccessRestartButton" }, - { WIXSTDBA_CONTROL_SUCCESS_CANCEL_BUTTON, L"SuccessCancelButton" }, - { WIXSTDBA_CONTROL_SUCCESS_ERRINF_TEXT, L"SuccessErrorInfoText" }, - { WIXSTDBA_CONTROL_SUCCESS_ERRMSG_TEXT, L"SuccessErrorMessageText" }, - - { WIXSTDBA_CONTROL_FAILURE_LOGFILE_LINK, L"FailureLogFileLink" }, - { WIXSTDBA_CONTROL_FAILURE_MESSAGE_TEXT, L"FailureMessageText" }, - { WIXSTDBA_CONTROL_FAILURE_RESTART_TEXT, L"FailureRestartText" }, - { WIXSTDBA_CONTROL_FAILURE_RESTART_BUTTON, L"FailureRestartButton" }, - { WIXSTDBA_CONTROL_FAILURE_CANCEL_BUTTON, L"FailureCloseButton" }, -}; - - -void ExtractActionProgressText( - __in_z LPCWSTR wzActionMessage, - __in_z LPCWSTR *pwzActionProgressText - ) -{ - if (!wzActionMessage) - return; - - DWORD i = 0; - LPCWSTR wzActionProgressText = wzActionMessage; - - LPCWSTR wz = wzActionMessage; - while (*wz) - { - if (L' ' == *wz) ++i; - if (i <= 2) wzActionProgressText++; - - ++wz; - } - *pwzActionProgressText = wzActionProgressText; - - return; -} - - - - -class CWixStandardBootstrapperApplication : public CBalBaseBootstrapperApplication -{ -public: // IBootstrapperApplication - virtual STDMETHODIMP OnStartup() - { - HRESULT hr = S_OK; - DWORD dwUIThreadId = 0; - - // create UI thread - m_hUiThread = ::CreateThread(NULL, 0, UiThreadProc, this, 0, &dwUIThreadId); - if (!m_hUiThread) - { - ExitWithLastError(hr, "Failed to create UI thread."); - } - -LExit: - return hr; - } - - - virtual STDMETHODIMP_(int) OnShutdown() - { - int nResult = IDNOACTION; - - // wait for UI thread to terminate - if (m_hUiThread) - { - ::WaitForSingleObject(m_hUiThread, INFINITE); - ReleaseHandle(m_hUiThread); - } - - // If a restart was required. - if (m_fRestartRequired) - { - if (m_fAllowRestart) - { - nResult = IDRESTART; - } - - if (m_sczPrereqPackage) - { - BalLog(BOOTSTRAPPER_LOG_LEVEL_STANDARD, m_fAllowRestart ? "The prerequisites scheduled a restart. The bootstrapper application will be reloaded after the computer is restarted." - : "A restart is required by the prerequisites but the user delayed it. The bootstrapper application will be reloaded after the computer is restarted."); - } - } - else if (m_fPrereqInstalled) - { - BalLog(BOOTSTRAPPER_LOG_LEVEL_STANDARD, "The prerequisites were successfully installed. The bootstrapper application will be reloaded."); - nResult = IDRELOAD_BOOTSTRAPPER; - } - else if (m_fPrereqAlreadyInstalled) - { - BalLog(BOOTSTRAPPER_LOG_LEVEL_STANDARD, "The prerequisites were already installed. The bootstrapper application will not be reloaded to prevent an infinite loop."); - } - else if (m_fPrereq) - { - BalLog(BOOTSTRAPPER_LOG_LEVEL_STANDARD, "The prerequisites were not successfully installed, error: 0x%x. The bootstrapper application will be not reloaded.", m_hrFinal); - } - - return nResult; - } - - - virtual STDMETHODIMP_(int) OnDetectRelatedBundle( - __in LPCWSTR wzBundleId, - __in BOOTSTRAPPER_RELATION_TYPE relationType, - __in LPCWSTR /*wzBundleTag*/, - __in BOOL fPerMachine, - __in DWORD64 /*dw64Version*/, - __in BOOTSTRAPPER_RELATED_OPERATION operation - ) - { - BalInfoAddRelatedBundleAsPackage(&m_Bundle.packages, wzBundleId, relationType, fPerMachine); - // If we're not doing a pre-req install, remember when our bundle would cause a downgrade. - if (!m_sczPrereqPackage && BOOTSTRAPPER_RELATED_OPERATION_DOWNGRADE == operation) - { - m_fDowngrading = TRUE; - } - - m_Operation = operation; // Save operation - - return CheckCanceled() ? IDCANCEL : IDOK; - } - - - virtual STDMETHODIMP_(void) OnDetectPackageComplete( - __in LPCWSTR wzPackageId, - __in HRESULT /*hrStatus*/, - __in BOOTSTRAPPER_PACKAGE_STATE state - ) - { - // If the prereq package is already installed, remember that. - if (m_sczPrereqPackage && BOOTSTRAPPER_PACKAGE_STATE_PRESENT == state && - CSTR_EQUAL == ::CompareStringW(LOCALE_NEUTRAL, 0, wzPackageId, -1, m_sczPrereqPackage, -1)) - { - m_fPrereqAlreadyInstalled = TRUE; - } - } - - - // OnDetectUpdateBegin - called when the engine begins detection for bundle update. - virtual STDMETHODIMP_(int) OnDetectUpdateBegin( - __in_z LPCWSTR wzUpdateLocation, - __in int nRecommendation - ) - { - BalLog(BOOTSTRAPPER_LOG_LEVEL_STANDARD, "Update location: %ls.", wzUpdateLocation); - - m_wzUpdateLocation = wzUpdateLocation; - // If there is an upgrade link, check for update on a background thread - if (ThemeControlExists(m_pTheme, WIXSTDBA_CONTROL_UPGRADE_LINK)) - { - ThemeControlEnable(m_pTheme, WIXSTDBA_CONTROL_UPGRADE_LINK, FALSE); - ::CreateThread(NULL, 0, ThreadProc, this, 0, NULL); - } - - return nRecommendation; - } - - - virtual STDMETHODIMP_(int) OnDetectBegin( - __in BOOL /*fInstalled*/, - __in DWORD /*cPackages*/ - ) - { - return IDNOACTION; - } - - - virtual STDMETHODIMP_(void) OnDetectComplete( - __in HRESULT hrStatus - ) - { - if (SUCCEEDED(hrStatus) && m_pBAFunction) - { - m_pBAFunction->OnDetectComplete(); - } - - if (SUCCEEDED(hrStatus)) - { - hrStatus = EvaluateConditions(); - } - - if (m_command.action == BOOTSTRAPPER_ACTION_UNINSTALL) - this->OnPlan(BOOTSTRAPPER_ACTION_UNINSTALL); - else - this->OnPlan(BOOTSTRAPPER_ACTION_INSTALL); - - // Doing some custom vars handling - //if (BalStringVariableExists(WIXSTDBA_VARIABLE_DETECT_POSTGRES)) - //{ - // LONGLONG llValue = 0; - // BalGetNumericVariable(WIXSTDBA_VARIABLE_DETECT_POSTGRES, &llValue); - // if (llValue == 1) - // m_pEngine->SetVariableNumeric(WIXSTDBA_VARIABLE_INSTALL_POSTGRES, 0); - //} - - - // If we're not interacting with the user or we're doing a layout or we're just after a force restart - // then automatically start planning. - if (BOOTSTRAPPER_DISPLAY_FULL > m_command.display || BOOTSTRAPPER_ACTION_LAYOUT == m_command.action || BOOTSTRAPPER_RESUME_TYPE_REBOOT == m_command.resumeType) - { - if (SUCCEEDED(hrStatus)) - { - ::PostMessageW(m_hWnd, WM_WIXSTDBA_PLAN_PACKAGES, 0, m_command.action); - } - } - } - - - virtual STDMETHODIMP_(int) OnPlanRelatedBundle( - __in_z LPCWSTR /*wzBundleId*/, - __inout_z BOOTSTRAPPER_REQUEST_STATE* pRequestedState - ) - { - // If we're only installing prereq, do not touch related bundles. - if (m_sczPrereqPackage) - { - *pRequestedState = BOOTSTRAPPER_REQUEST_STATE_NONE; - } - else if (BOOTSTRAPPER_RELATED_OPERATION_NONE == m_Operation && - BOOTSTRAPPER_REQUEST_STATE_NONE == *pRequestedState && - BOOTSTRAPPER_RELATION_UPGRADE != m_command.relationType) - { - // Same version upgrade detected, mark absent so the install runs - *pRequestedState = BOOTSTRAPPER_REQUEST_STATE_ABSENT; - } - - return CheckCanceled() ? IDCANCEL : IDOK; - } - - - virtual STDMETHODIMP_(int) OnPlanPackageBegin( - __in_z LPCWSTR wzPackageId, - __inout BOOTSTRAPPER_REQUEST_STATE *pRequestState - ) - { - // If we're planning to install a pre-req, install it. The pre-req needs to be installed - // in all cases (even uninstall!) so the BA can load next. - if (m_sczPrereqPackage) - { - if (CSTR_EQUAL == ::CompareStringW(LOCALE_NEUTRAL, 0, wzPackageId, -1, m_sczPrereqPackage, -1)) - { - *pRequestState = BOOTSTRAPPER_REQUEST_STATE_PRESENT; - } - else // skip everything else. - { - *pRequestState = BOOTSTRAPPER_REQUEST_STATE_NONE; - } - } - else if (m_sczAfterForcedRestartPackage) // after force restart skip packages until after the package that caused the restart. - { - // After restart we need to finish the dependency registration for our package so allow the package - // to go present. - if (CSTR_EQUAL == ::CompareStringW(LOCALE_NEUTRAL, 0, wzPackageId, -1, m_sczAfterForcedRestartPackage, -1)) - { - // Do not allow a repair because that could put us in a perpetual restart loop. - if (BOOTSTRAPPER_REQUEST_STATE_REPAIR == *pRequestState) - { - *pRequestState = BOOTSTRAPPER_REQUEST_STATE_PRESENT; - } - - ReleaseNullStr(m_sczAfterForcedRestartPackage); // no more skipping now. - } - else // not the matching package, so skip it. - { - BalLog(BOOTSTRAPPER_LOG_LEVEL_STANDARD, "Skipping package: %ls, after restart because it was applied before the restart.", wzPackageId); - - *pRequestState = BOOTSTRAPPER_REQUEST_STATE_NONE; - } - } - - return CheckCanceled() ? IDCANCEL : IDOK; - } - - - virtual STDMETHODIMP_(void) OnPlanComplete( - __in HRESULT hrStatus - ) - { - if (SUCCEEDED(hrStatus) && m_pBAFunction) - { - m_pBAFunction->OnPlanComplete(); - } - - SetState(WIXSTDBA_STATE_PLANNED, hrStatus); - - if (SUCCEEDED(hrStatus)) - { - ::PostMessageW(m_hWnd, WM_WIXSTDBA_APPLY_PACKAGES, 0, 0); - } - - m_fStartedExecution = FALSE; - m_dwCalculatedCacheProgress = 0; - m_dwCalculatedExecuteProgress = 0; - } - - - virtual STDMETHODIMP_(int) OnCachePackageBegin( - __in_z LPCWSTR wzPackageId, - __in DWORD cCachePayloads, - __in DWORD64 dw64PackageCacheSize - ) - { - if (wzPackageId && *wzPackageId) - { - BAL_INFO_PACKAGE* pPackage = NULL; - HRESULT hr = BalInfoFindPackageById(&m_Bundle.packages, wzPackageId, &pPackage); - LPCWSTR wz = (SUCCEEDED(hr) && pPackage->sczDisplayName) ? pPackage->sczDisplayName : wzPackageId; - - WCHAR wzInfo[1024] = { }; - ::StringCchPrintfW(wzInfo, countof(wzInfo), L"Acquiring %s package...", wz); - ThemeSetTextControl(m_pTheme, WIXSTDBA_CONTROL_CACHE_PROGRESS_PACKAGE_TEXT, wzInfo); - // If something started executing, leave it in the overall progress text. - if (!m_fStartedExecution) - { - ThemeSetTextControl(m_pTheme, WIXSTDBA_CONTROL_OVERALL_PROGRESS_PACKAGE_TEXT, wzInfo); - } - } - - return __super::OnCachePackageBegin(wzPackageId, cCachePayloads, dw64PackageCacheSize); - } - - virtual STDMETHODIMP_(int) OnCacheAcquireProgress( - __in_z LPCWSTR wzPackageOrContainerId, - __in_z_opt LPCWSTR wzPayloadId, - __in DWORD64 dw64Progress, - __in DWORD64 dw64Total, - __in DWORD dwOverallPercentage - ) - { - WCHAR wzProgress[5] = { }; - -#ifdef DEBUG - BalLog(BOOTSTRAPPER_LOG_LEVEL_STANDARD, "WIXSTDBA: OnCacheAcquireProgress() - container/package: %ls, payload: %ls, progress: %I64u, total: %I64u, overall progress: %u%%", wzPackageOrContainerId, wzPayloadId, dw64Progress, dw64Total, dwOverallPercentage); -#endif - - ::StringCchPrintfW(wzProgress, countof(wzProgress), L"%u%%", dwOverallPercentage); - ThemeSetTextControl(m_pTheme, WIXSTDBA_CONTROL_CACHE_PROGRESS_TEXT, wzProgress); - ThemeSetProgressControl(m_pTheme, WIXSTDBA_CONTROL_CACHE_PROGRESS_BAR, dwOverallPercentage); - - BAL_INFO_PACKAGE* pPackage = NULL; - HRESULT hr = BalInfoFindPackageById(&m_Bundle.packages, wzPackageOrContainerId, &pPackage); - LPCWSTR wzPackageName = (SUCCEEDED(hr) && pPackage->sczDisplayName) ? pPackage->sczDisplayName : wzPackageOrContainerId; - - WCHAR wzInfo[1024] = { }; - ::StringCchPrintfW(wzInfo, countof(wzInfo), L"Acquiring %s package... [ %u%% ]", wzPackageName, dwOverallPercentage); - ThemeSetTextControl(m_pTheme, WIXSTDBA_CONTROL_OVERALL_PROGRESS_PACKAGE_TEXT, wzInfo); - - // Restrict progress to 100% to hide burn engine progress bug. - // m_dwCalculatedCacheProgress = min(dwOverallPercentage, 100) * WIXSTDBA_ACQUIRE_PERCENTAGE / 100; - -#ifdef DEBUG - BalLog(BOOTSTRAPPER_LOG_LEVEL_STANDARD, "WIXSTDBA: OnCacheAcquireProgress() - calculated progress: %u%%, displayed progress: %u%%", m_dwCalculatedCacheProgress, m_dwCalculatedCacheProgress + m_dwCalculatedExecuteProgress); -#endif - m_dwCalculatedCacheProgress = dwOverallPercentage * WIXSTDBA_ACQUIRE_PERCENTAGE / 100; - ThemeSetProgressControl(m_pTheme, WIXSTDBA_CONTROL_OVERALL_CALCULATED_PROGRESS_BAR, m_dwCalculatedCacheProgress + m_dwCalculatedExecuteProgress); - - SetTaskbarButtonProgress(m_dwCalculatedCacheProgress + m_dwCalculatedExecuteProgress); - - return __super::OnCacheAcquireProgress(wzPackageOrContainerId, wzPayloadId, dw64Progress, dw64Total, dwOverallPercentage); - } - - - virtual STDMETHODIMP_(int) OnCacheAcquireComplete( - __in_z LPCWSTR wzPackageOrContainerId, - __in_z_opt LPCWSTR wzPayloadId, - __in HRESULT hrStatus, - __in int nRecommendation - ) - { - SetProgressState(hrStatus); - return __super::OnCacheAcquireComplete(wzPackageOrContainerId, wzPayloadId, hrStatus, nRecommendation); - } - - - virtual STDMETHODIMP_(int) OnCacheVerifyComplete( - __in_z LPCWSTR wzPackageId, - __in_z LPCWSTR wzPayloadId, - __in HRESULT hrStatus, - __in int nRecommendation - ) - { - SetProgressState(hrStatus); - return __super::OnCacheVerifyComplete(wzPackageId, wzPayloadId, hrStatus, nRecommendation); - } - - virtual STDMETHODIMP_(void) OnCacheComplete( - __in HRESULT /*hrStatus*/ - ) - { - ThemeSetTextControl(m_pTheme, WIXSTDBA_CONTROL_CACHE_PROGRESS_PACKAGE_TEXT, L""); - SetState(WIXSTDBA_STATE_CACHED, S_OK); // we always return success here and let OnApplyComplete() deal with the error. - } - - - virtual STDMETHODIMP_(int) OnError( - __in BOOTSTRAPPER_ERROR_TYPE errorType, - __in LPCWSTR wzPackageId, - __in DWORD dwCode, - __in_z LPCWSTR wzError, - __in DWORD dwUIHint, - __in DWORD /*cData*/, - __in_ecount_z_opt(cData) LPCWSTR* /*rgwzData*/, - __in int nRecommendation - ) - { - int nResult = nRecommendation; - LPWSTR sczError = NULL; - - if (BOOTSTRAPPER_DISPLAY_EMBEDDED == m_command.display) - { - HRESULT hr = m_pEngine->SendEmbeddedError(dwCode, wzError, dwUIHint, &nResult); - if (FAILED(hr)) - { - nResult = IDERROR; - } - } - else if (BOOTSTRAPPER_DISPLAY_FULL == m_command.display) - { - // If this is an authentication failure, let the engine try to handle it for us. - if (BOOTSTRAPPER_ERROR_TYPE_HTTP_AUTH_SERVER == errorType || BOOTSTRAPPER_ERROR_TYPE_HTTP_AUTH_PROXY == errorType) - { - nResult = IDTRYAGAIN; - } - else // show a generic error message box. - { - BalRetryErrorOccurred(wzPackageId, dwCode); - - if (!m_fShowingInternalUiThisPackage) - { - // If no error message was provided, use the error code to try and get an error message. - if (!wzError || !*wzError || BOOTSTRAPPER_ERROR_TYPE_WINDOWS_INSTALLER != errorType) - { - HRESULT hr = StrAllocFromError(&sczError, dwCode, NULL); - if (FAILED(hr) || !sczError || !*sczError) - { - StrAllocFormatted(&sczError, L"0x%x", dwCode); - } - } - - nResult = ::MessageBoxW(m_hWnd, sczError ? sczError : wzError, m_pTheme->sczCaption, dwUIHint); - } - } - - SetProgressState(HRESULT_FROM_WIN32(dwCode)); - } - else // just take note of the error code and let things continue. - { - BalRetryErrorOccurred(wzPackageId, dwCode); - } - - ReleaseStr(sczError); - return nResult; - } - - - virtual STDMETHODIMP_(int) OnExecuteMsiMessage( - __in_z LPCWSTR wzPackageId, - __in INSTALLMESSAGE mt, - __in UINT uiFlags, - __in_z LPCWSTR wzMessage, - __in DWORD cData, - __in_ecount_z_opt(cData) LPCWSTR* rgwzData, - __in int nRecommendation - ) - { -#ifdef DEBUG - BalLog(BOOTSTRAPPER_LOG_LEVEL_STANDARD, "WIXSTDBA: OnExecuteMsiMessage() - package: %ls, message: %ls", wzPackageId, wzMessage); -#endif - if (BOOTSTRAPPER_DISPLAY_FULL == m_command.display && (INSTALLMESSAGE_WARNING == mt || INSTALLMESSAGE_USER == mt)) - { - int nResult = ::MessageBoxW(m_hWnd, wzMessage, m_pTheme->sczCaption, uiFlags); - return nResult; - } - - if (INSTALLMESSAGE_ACTIONSTART == mt) - { - LPCWSTR wzActionProgressText = NULL; - ExtractActionProgressText(wzMessage, &wzActionProgressText); - ThemeSetTextControl(m_pTheme, WIXSTDBA_CONTROL_EXECUTE_PROGRESS_ACTIONDATA_TEXT, wzActionProgressText); - } - - - return __super::OnExecuteMsiMessage(wzPackageId, mt, uiFlags, wzMessage, cData, rgwzData, nRecommendation); - } - - - virtual STDMETHODIMP_(int) OnProgress( - __in DWORD dwProgressPercentage, - __in DWORD dwOverallProgressPercentage - ) - { - WCHAR wzProgress[5] = { }; - -#ifdef DEBUG - BalLog(BOOTSTRAPPER_LOG_LEVEL_STANDARD, "WIXSTDBA: OnProgress() - progress: %u%%, overall progress: %u%%", dwProgressPercentage, dwOverallProgressPercentage); -#endif - - ::StringCchPrintfW(wzProgress, countof(wzProgress), L"%u%%", dwOverallProgressPercentage); - ThemeSetTextControl(m_pTheme, WIXSTDBA_CONTROL_OVERALL_PROGRESS_TEXT, wzProgress); - - ThemeSetProgressControl(m_pTheme, WIXSTDBA_CONTROL_OVERALL_PROGRESS_BAR, dwOverallProgressPercentage); - SetTaskbarButtonProgress(dwOverallProgressPercentage); - - return __super::OnProgress(dwProgressPercentage, dwOverallProgressPercentage); - } - - - virtual STDMETHODIMP_(int) OnExecutePackageBegin( - __in_z LPCWSTR wzPackageId, - __in BOOL fExecute - ) - { - if (m_fIsUninstall) { - ThemeSetTextControl(m_pTheme, WIXSTDBA_CONTROL_PROGRESS_INSTALLING_HEADER, L"Uninstalling Meteor,\nThe JavaScript App Platform"); - } else { - ThemeSetTextControl(m_pTheme, WIXSTDBA_CONTROL_PROGRESS_INSTALLING_HEADER, L"Installing Meteor,\nThe JavaScript App Platform"); - } - - LPWSTR sczFormattedString = NULL; - - m_fStartedExecution = TRUE; - - if (wzPackageId && *wzPackageId) - { - BAL_INFO_PACKAGE* pPackage = NULL; - BalInfoFindPackageById(&m_Bundle.packages, wzPackageId, &pPackage); - - LPCWSTR wz = wzPackageId; - if (pPackage) - { - LOC_STRING* pLocString = NULL; - - switch (pPackage->type) - { - case BAL_INFO_PACKAGE_TYPE_BUNDLE_ADDON: - LocGetString(m_pWixLoc, L"#(loc.ExecuteAddonRelatedBundleMessage)", &pLocString); - break; - - case BAL_INFO_PACKAGE_TYPE_BUNDLE_PATCH: - LocGetString(m_pWixLoc, L"#(loc.ExecutePatchRelatedBundleMessage)", &pLocString); - break; - - case BAL_INFO_PACKAGE_TYPE_BUNDLE_UPGRADE: - LocGetString(m_pWixLoc, L"#(loc.ExecuteUpgradeRelatedBundleMessage)", &pLocString); - break; - } - - if (pLocString) - { - BalFormatString(pLocString->wzText, &sczFormattedString); - } - - wz = sczFormattedString ? sczFormattedString : pPackage->sczDisplayName ? pPackage->sczDisplayName : wzPackageId; - } - - m_fShowingInternalUiThisPackage = pPackage && pPackage->fDisplayInternalUI; - - WCHAR wzInfo[1024] = { }; - if (m_fIsUninstall) - ::StringCchPrintfW(wzInfo, countof(wzInfo), L"Uninstalling %s...", wz); - else - ::StringCchPrintfW(wzInfo, countof(wzInfo), L"Installing %s...", wz); - - ThemeSetTextControl(m_pTheme, WIXSTDBA_CONTROL_EXECUTE_PROGRESS_PACKAGE_TEXT, wz); - ThemeSetTextControl(m_pTheme, WIXSTDBA_CONTROL_OVERALL_PROGRESS_PACKAGE_TEXT, wz); - } - else - { - m_fShowingInternalUiThisPackage = FALSE; - } - - ReleaseStr(sczFormattedString); - return __super::OnExecutePackageBegin(wzPackageId, fExecute); - } - - virtual int __stdcall OnExecuteProgress( - __in_z LPCWSTR wzPackageId, - __in DWORD dwProgressPercentage, - __in DWORD dwOverallProgressPercentage - ) - { - WCHAR wzProgress[5] = { }; - -#ifdef DEBUG - BalLog(BOOTSTRAPPER_LOG_LEVEL_STANDARD, "WIXSTDBA: OnExecuteProgress() - package: %ls, progress: %u%%, overall progress: %u%%", wzPackageId, dwProgressPercentage, dwOverallProgressPercentage); -#endif - - ::StringCchPrintfW(wzProgress, countof(wzProgress), L"%u%%", dwOverallProgressPercentage); - ThemeSetTextControl(m_pTheme, WIXSTDBA_CONTROL_EXECUTE_PROGRESS_TEXT, wzProgress); - ThemeSetProgressControl(m_pTheme, WIXSTDBA_CONTROL_EXECUTE_PROGRESS_BAR, dwOverallProgressPercentage); - - BAL_INFO_PACKAGE* pPackage = NULL; - HRESULT hr = BalInfoFindPackageById(&m_Bundle.packages, wzPackageId, &pPackage); - LPCWSTR wzPackageName = (SUCCEEDED(hr) && pPackage->sczDisplayName) ? pPackage->sczDisplayName : wzPackageId; - - WCHAR wzInfo[1024] = { }; - if (m_fIsUninstall) - ::StringCchPrintfW(wzInfo, countof(wzInfo), L"Uninstalling %s...", wzPackageName, dwProgressPercentage); - else - ::StringCchPrintfW(wzInfo, countof(wzInfo), L"Installing %s...", wzPackageName, dwProgressPercentage); - ThemeSetTextControl(m_pTheme, WIXSTDBA_CONTROL_OVERALL_PROGRESS_PACKAGE_TEXT, wzInfo); - - m_dwCalculatedExecuteProgress = dwOverallProgressPercentage * (100 - WIXSTDBA_ACQUIRE_PERCENTAGE) / 100; -#ifdef DEBUG - BalLog(BOOTSTRAPPER_LOG_LEVEL_STANDARD, "WIXSTDBA: OnExecuteProgress() - calculated progress: %u%%, displayed progress: %u%%", m_dwCalculatedExecuteProgress, m_dwCalculatedCacheProgress + m_dwCalculatedExecuteProgress); -#endif - ThemeSetProgressControl(m_pTheme, WIXSTDBA_CONTROL_OVERALL_CALCULATED_PROGRESS_BAR, m_dwCalculatedCacheProgress + m_dwCalculatedExecuteProgress); - - SetTaskbarButtonProgress(m_dwCalculatedCacheProgress + m_dwCalculatedExecuteProgress); - - return __super::OnExecuteProgress(wzPackageId, dwProgressPercentage, dwOverallProgressPercentage); - } - - - virtual STDMETHODIMP_(int) OnExecutePackageComplete( - __in_z LPCWSTR wzPackageId, - __in HRESULT hrExitCode, - __in BOOTSTRAPPER_APPLY_RESTART restart, - __in int nRecommendation - ) - { - SetProgressState(hrExitCode); - - int nResult = __super::OnExecutePackageComplete(wzPackageId, hrExitCode, restart, nRecommendation); - - if (m_sczPrereqPackage && CSTR_EQUAL == ::CompareStringW(LOCALE_NEUTRAL, 0, wzPackageId, -1, m_sczPrereqPackage, -1)) - { - m_fPrereqInstalled = SUCCEEDED(hrExitCode); - - // If the pre-req required a restart (any restart) then do an immediate - // restart to ensure that the bundle will get launched again post reboot. - if (BOOTSTRAPPER_APPLY_RESTART_NONE != restart) - { - nResult = IDRESTART; - } - } - - - /// On package install complete, if WIXSTDBA_VARIABLE_LOGSPATH is defined - /// then will move the package installation log to the specified path. - if (BalStringVariableExists(WIXSTDBA_VARIABLE_LOGSPATH)) - { - LPWSTR wzVarPackageLog = NULL; - StrAllocFormatted(&wzVarPackageLog, L"WixBundleLog_%s", wzPackageId); - if (BalStringVariableExists(wzVarPackageLog)) - { - LPWSTR wzPackageLog = NULL; - LPWSTR wzInstallLogPath = NULL; - LPWSTR wzDstPackageLog = NULL; - - if ( SUCCEEDED(BalGetStringVariable(WIXSTDBA_VARIABLE_LOGSPATH, &wzInstallLogPath)) && - SUCCEEDED(BalGetStringVariable(wzVarPackageLog, &wzPackageLog))) - { - StrAllocFormatted(&wzDstPackageLog, L"%s\\%s", wzInstallLogPath, PathFile(wzPackageLog)); - DirEnsureExists(wzInstallLogPath, NULL); - FileEnsureMove(wzPackageLog, wzDstPackageLog, TRUE, TRUE); - } else - BalLog(BOOTSTRAPPER_LOG_LEVEL_STANDARD, "Setup was unable to copy logs to the specified installation log path."); - - } - } - - return nResult; - } - - - virtual STDMETHODIMP_(void) OnExecuteComplete( - __in HRESULT hrStatus - ) - { - ThemeSetTextControl(m_pTheme, WIXSTDBA_CONTROL_EXECUTE_PROGRESS_PACKAGE_TEXT, L""); - ThemeSetTextControl(m_pTheme, WIXSTDBA_CONTROL_EXECUTE_PROGRESS_ACTIONDATA_TEXT, L""); - ThemeSetTextControl(m_pTheme, WIXSTDBA_CONTROL_OVERALL_PROGRESS_PACKAGE_TEXT, L""); - ThemeControlEnable(m_pTheme, WIXSTDBA_CONTROL_PROGRESS_CANCEL_BUTTON, FALSE); // no more cancel. - - SetState(WIXSTDBA_STATE_EXECUTED, S_OK); // we always return success here and let OnApplyComplete() deal with the error. - SetProgressState(hrStatus); - } - - virtual STDMETHODIMP_(int) OnResolveSource( - __in_z LPCWSTR wzPackageOrContainerId, - __in_z_opt LPCWSTR wzPayloadId, - __in_z LPCWSTR wzLocalSource, - __in_z_opt LPCWSTR wzDownloadSource - ) - { - int nResult = IDERROR; // assume we won't resolve source and that is unexpected. - - if (BOOTSTRAPPER_DISPLAY_FULL == m_command.display) - { - if (wzDownloadSource) - { - nResult = IDDOWNLOAD; - } - else // prompt to change the source location. - { - OPENFILENAMEW ofn = { }; - WCHAR wzFile[MAX_PATH] = { }; - - ::StringCchCopyW(wzFile, countof(wzFile), wzLocalSource); - - ofn.lStructSize = sizeof(ofn); - ofn.hwndOwner = m_hWnd; - ofn.lpstrFile = wzFile; - ofn.nMaxFile = countof(wzFile); - ofn.lpstrFilter = L"All Files\0*.*\0"; - ofn.nFilterIndex = 1; - ofn.Flags = OFN_PATHMUSTEXIST | OFN_FILEMUSTEXIST; - ofn.lpstrTitle = m_pTheme->sczCaption; - - if (::GetOpenFileNameW(&ofn)) - { - HRESULT hr = m_pEngine->SetLocalSource(wzPackageOrContainerId, wzPayloadId, ofn.lpstrFile); - nResult = SUCCEEDED(hr) ? IDRETRY : IDERROR; - } - else - { - nResult = IDCANCEL; - } - } - } - else if (wzDownloadSource) - { - // If doing a non-interactive install and download source is available, let's try downloading the package silently - nResult = IDDOWNLOAD; - } - // else there's nothing more we can do in non-interactive mode - - return CheckCanceled() ? IDCANCEL : nResult; - } - - - virtual STDMETHODIMP_(int) OnApplyComplete( - __in HRESULT hrStatus, - __in BOOTSTRAPPER_APPLY_RESTART restart - ) - { - m_restartResult = restart; // remember the restart result so we return the correct error code no matter what the user chooses to do in the UI. - - // If a restart was encountered and we are not suppressing restarts, then restart is required. - m_fRestartRequired = (BOOTSTRAPPER_APPLY_RESTART_NONE != restart && BOOTSTRAPPER_RESTART_NEVER < m_command.restart); - // If a restart is required and we're not displaying a UI or we are not supposed to prompt for restart then allow the restart. - m_fAllowRestart = m_fRestartRequired && (BOOTSTRAPPER_DISPLAY_FULL > m_command.display || BOOTSTRAPPER_RESTART_PROMPT < m_command.restart); - - // If we are showing UI, wait a beat before moving to the final screen. - if (BOOTSTRAPPER_DISPLAY_NONE < m_command.display) - { - ::Sleep(250); - } - - if (m_command.action == BOOTSTRAPPER_ACTION_UNINSTALL || BOOTSTRAPPER_DISPLAY_FULL > m_command.display) - SetState(WIXSTDBA_STATE_APPLIED, S_OK); - else - SetState(WIXSTDBA_STATE_SVC_OPTIONS, hrStatus); - - // If we successfully applied an update close the window since the new Bundle should be running now. - if (SUCCEEDED(hrStatus) && m_fUpdating) - { - BalLog(BOOTSTRAPPER_LOG_LEVEL_STANDARD, "Update downloaded, close bundle."); - ::PostMessageW(m_hWnd, WM_CLOSE, 0, 0); - } - - return IDNOACTION; - } - - -private: // privates - // - // UiThreadProc - entrypoint for UI thread. - // - static DWORD WINAPI UiThreadProc( - __in LPVOID pvContext - ) - { - HRESULT hr = S_OK; - CWixStandardBootstrapperApplication* pThis = (CWixStandardBootstrapperApplication*)pvContext; - BOOL fComInitialized = FALSE; - BOOL fRet = FALSE; - MSG msg = { }; - - // Initialize COM and theme. - hr = ::CoInitialize(NULL); - BalExitOnFailure(hr, "Failed to initialize COM."); - fComInitialized = TRUE; - - hr = ThemeInitialize(pThis->m_hModule); - BalExitOnFailure(hr, "Failed to initialize theme manager."); - - hr = pThis->InitializeData(); - BalExitOnFailure(hr, "Failed to initialize data in bootstrapper application."); - - - // Create main window. - pThis->InitializeTaskbarButton(); - hr = pThis->CreateMainWindow(); - BalExitOnFailure(hr, "Failed to create main window."); - - // Okay, we're ready for packages now. - pThis->SetState(WIXSTDBA_STATE_INITIALIZED, hr); - ::PostMessageW(pThis->m_hWnd, BOOTSTRAPPER_ACTION_HELP == pThis->m_command.action ? WM_WIXSTDBA_SHOW_HELP : WM_WIXSTDBA_DETECT_PACKAGES, 0, 0); - - // message pump - while (0 != (fRet = ::GetMessageW(&msg, NULL, 0, 0))) - { - if (-1 == fRet) - { - hr = E_UNEXPECTED; - BalExitOnFailure(hr, "Unexpected return value from message pump."); - } - else if (!ThemeHandleKeyboardMessage(pThis->m_pTheme, msg.hwnd, &msg)) - { - ::TranslateMessage(&msg); - ::DispatchMessageW(&msg); - } - } - - // Succeeded thus far, check to see if anything went wrong while actually - // executing changes. - if (FAILED(pThis->m_hrFinal)) - { - hr = pThis->m_hrFinal; - } - else if (pThis->CheckCanceled()) - { - hr = HRESULT_FROM_WIN32(ERROR_INSTALL_USEREXIT); - } - -LExit: - // destroy main window - pThis->DestroyMainWindow(); - - // initiate engine shutdown - DWORD dwQuit = HRESULT_CODE(hr); - if (BOOTSTRAPPER_APPLY_RESTART_INITIATED == pThis->m_restartResult) - { - dwQuit = ERROR_SUCCESS_REBOOT_INITIATED; - } - else if (BOOTSTRAPPER_APPLY_RESTART_REQUIRED == pThis->m_restartResult) - { - dwQuit = ERROR_SUCCESS_REBOOT_REQUIRED; - } - pThis->m_pEngine->Quit(dwQuit); - - ReleaseTheme(pThis->m_pTheme); - ThemeUninitialize(); - - // uninitialize COM - if (fComInitialized) - { - ::CoUninitialize(); - } - - return hr; - } - - - static DWORD WINAPI ThreadProc( - __in LPVOID pvContext - ) - { - CWixStandardBootstrapperApplication* pThis = static_cast(pvContext);; - - HRESULT hr = S_OK; - IXMLDOMDocument *pixd = NULL; - IXMLDOMNode* pNode = NULL; - LPWSTR sczUpdateUrl = NULL; - DWORD64 qwSize = 0; - - BalLog(BOOTSTRAPPER_LOG_LEVEL_STANDARD, "Checking for update."); - - // Load the update XML from a location url and parse it for an update. - // - // - // - // - // - - hr = XmlLoadDocumentFromFile(pThis->m_wzUpdateLocation, &pixd); - BalExitOnFailure(hr, "Failed to load version check XML document."); - - hr = XmlSelectSingleNode(pixd, L"/Setup/Upgrade", &pNode); - BalExitOnFailure(hr, "Failed to select upgrade node."); - - if (S_OK == hr) - { - hr = XmlGetAttributeEx(pNode, L"Url", &sczUpdateUrl); - BalExitOnFailure(hr, "Failed to get url attribute."); - - hr = XmlGetAttributeLargeNumber(pNode, L"Size", &qwSize); - } - - if (sczUpdateUrl && *sczUpdateUrl) - { - BalLog(BOOTSTRAPPER_LOG_LEVEL_STANDARD, "Update available, url: %ls; size: %I64u.", sczUpdateUrl, qwSize); - // Show upgrade on install and modify pages - if (pThis->m_rgdwPageIds[WIXSTDBA_PAGE_INSTALL] == pThis->m_dwCurrentPage || - pThis->m_rgdwPageIds[WIXSTDBA_PAGE_MODIFY] == pThis->m_dwCurrentPage) - { - pThis->m_pEngine->SetUpdate(NULL, sczUpdateUrl, qwSize, BOOTSTRAPPER_UPDATE_HASH_TYPE_NONE, NULL, 0); - ThemeControlEnable(pThis->m_pTheme, WIXSTDBA_CONTROL_UPGRADE_LINK, TRUE); - } - } - else - { - BalLog(BOOTSTRAPPER_LOG_LEVEL_STANDARD, "No update available."); - } - -LExit: - ReleaseObject(pixd); - ReleaseObject(pNode); - ReleaseStr(sczUpdateUrl); - - return 0; - } - - - // - // InitializeData - initializes all the package and prereq information. - // - HRESULT InitializeData() - { - HRESULT hr = S_OK; - LPWSTR sczModulePath = NULL; - IXMLDOMDocument *pixdManifest = NULL; - - hr = BalManifestLoad(m_hModule, &pixdManifest); - BalExitOnFailure(hr, "Failed to load bootstrapper application manifest."); - - hr = ParseOverridableVariablesFromXml(pixdManifest); - BalExitOnFailure(hr, "Failed to read overridable variables."); - - hr = ProcessCommandLine(&m_sczLanguage); - ExitOnFailure(hr, "Unknown commandline parameters."); - - // Override default language to correctly support UK English (this is not required in WiX 3.8) - if (!(m_sczLanguage && *m_sczLanguage)) - { - hr = StrAllocFormatted(&m_sczLanguage, L"%u", ::GetUserDefaultLangID()); - BalExitOnFailure(hr, "Failed to set language."); - } - - hr = PathRelativeToModule(&sczModulePath, NULL, m_hModule); - BalExitOnFailure(hr, "Failed to get module path."); - - hr = LoadLocalization(sczModulePath, m_sczLanguage); - ExitOnFailure(hr, "Failed to load localization."); - - hr = LoadTheme(sczModulePath, m_sczLanguage); - ExitOnFailure(hr, "Failed to load theme."); - - hr = BalInfoParseFromXml(&m_Bundle, pixdManifest); - BalExitOnFailure(hr, "Failed to load bundle information."); - - hr = BalConditionsParseFromXml(&m_Conditions, pixdManifest, m_pWixLoc); - BalExitOnFailure(hr, "Failed to load conditions from XML."); - - LoadBootstrapperBAFunctions(); - - hr = ParseBootrapperApplicationDataFromXml(pixdManifest); - BalExitOnFailure(hr, "Failed to read bootstrapper application data."); - - LOC_STRING* pLocString = NULL; - LocGetString(m_pWixLoc, L"#(loc.ProgressHeader)", &pLocString); - m_pEngine->SetVariableString(WIXSTDBA_VARIABLE_PROGRESS_HEADER, pLocString->wzText); - LocGetString(m_pWixLoc, L"#(loc.ProgressInfo)", &pLocString); - m_pEngine->SetVariableString(WIXSTDBA_VARIABLE_PROGRESS_INFO, pLocString->wzText); - LocGetString(m_pWixLoc, L"#(loc.SuccessHeader)", &pLocString); - m_pEngine->SetVariableString(WIXSTDBA_VARIABLE_SUCCESS_HEADER, pLocString->wzText); - LocGetString(m_pWixLoc, L"#(loc.SuccessInfo)", &pLocString); - m_pEngine->SetVariableString(WIXSTDBA_VARIABLE_SUCCESS_INFO, pLocString->wzText); - LocGetString(m_pWixLoc, L"#(loc.FailureHeader)", &pLocString); - m_pEngine->SetVariableString(WIXSTDBA_VARIABLE_FAILURE_HEADER, pLocString->wzText); - if (m_fPrereq) - { - hr = ParsePrerequisiteInformationFromXml(pixdManifest); - BalExitOnFailure(hr, "Failed to read prerequisite information."); - } - else - { - hr = ParseBootrapperApplicationDataFromXml(pixdManifest); - BalExitOnFailure(hr, "Failed to read bootstrapper application data."); - } - - if (m_fOutputToConsole) - { - BalLog(BOOTSTRAPPER_LOG_LEVEL_STANDARD, "Write to console command was detected! Trying to attach to the parent console process"); - BOOL bAttCons = AttachConsole(ATTACH_PARENT_PROCESS); - - if (!bAttCons) - { - BalLog(BOOTSTRAPPER_LOG_LEVEL_STANDARD, "Failed to attach to parent process."); - } - - if (bAttCons) - { - BalLog(BOOTSTRAPPER_LOG_LEVEL_STANDARD, "Successfully attached to parent console process."); - m_fStdConsoleHandle = GetStdHandle(STD_OUTPUT_HANDLE); - m_fAttachedToConsole = ((m_fStdConsoleHandle != NULL) && (m_fStdConsoleHandle != INVALID_HANDLE_VALUE)); - if (!m_fAttachedToConsole) - { - BalLog(BOOTSTRAPPER_LOG_LEVEL_STANDARD, "Failed to get the console handle"); - FreeConsole(); - } - } - - if (!m_fAttachedToConsole) - { - hr = E_UNEXPECTED; - BalExitOnFailure(hr, "Failed to setup console output. Setup will exit now!"); - } - } - - -LExit: - ReleaseObject(pixdManifest); - ReleaseStr(sczModulePath); - - return hr; - } - - - // - // ProcessCommandLine - process the provided command line arguments. - // - HRESULT ProcessCommandLine( - __inout LPWSTR* psczLanguage - ) - { - HRESULT hr = S_OK; - int argc = 0; - LPWSTR* argv = NULL; - LPWSTR sczVariableName = NULL; - LPWSTR sczVariableValue = NULL; - - if (m_command.wzCommandLine && *m_command.wzCommandLine) - { - argv = ::CommandLineToArgvW(m_command.wzCommandLine, &argc); - ExitOnNullWithLastError(argv, hr, "Failed to get command line."); - - for (int i = 0; i < argc; ++i) - { - if (argv[i][0] == L'-' || argv[i][0] == L'/') - { - if (CSTR_EQUAL == ::CompareStringW(LOCALE_INVARIANT, NORM_IGNORECASE, &argv[i][1], -1, L"lang", -1)) - { - if (i + 1 >= argc) - { - hr = E_INVALIDARG; - BalExitOnFailure(hr, "Must specify a language."); - } - - ++i; - - hr = StrAllocString(psczLanguage, &argv[i][0], 0); - BalExitOnFailure(hr, "Failed to copy language."); - } - } - if (CSTR_EQUAL == ::CompareStringW(LOCALE_INVARIANT, NORM_IGNORECASE, &argv[i][1], -1, L"toconsole", -1)) - { - m_fOutputToConsole = TRUE; - m_command.display = BOOTSTRAPPER_DISPLAY_NONE; - if (BOOTSTRAPPER_RESTART_UNKNOWN == m_command.restart) - { - m_command.restart = BOOTSTRAPPER_RESTART_AUTOMATIC; - } - } - else if (m_sdOverridableVariables) - { - const wchar_t* pwc = wcschr(argv[i], L'='); - if (pwc) - { - hr = StrAllocString(&sczVariableName, argv[i], pwc - argv[i]); - BalExitOnFailure(hr, "Failed to copy variable name."); - - hr = DictKeyExists(m_sdOverridableVariables, sczVariableName); - if (E_NOTFOUND == hr) - { - BalLog(BOOTSTRAPPER_LOG_LEVEL_ERROR, "Ignoring attempt to set non-overridable variable: '%ls'.", sczVariableName); - hr = S_OK; - continue; - } - ExitOnFailure(hr, "Failed to check the dictionary of overridable variables."); - - hr = StrAllocString(&sczVariableValue, ++pwc, 0); - BalExitOnFailure(hr, "Failed to copy variable value."); - - hr = m_pEngine->SetVariableString(sczVariableName, sczVariableValue); - BalExitOnFailure(hr, "Failed to set variable."); - } - else - { - BalLog(BOOTSTRAPPER_LOG_LEVEL_STANDARD, "Ignoring unknown argument: %ls", argv[i]); - } - } - } - } - -LExit: - if (argv) - { - ::LocalFree(argv); - } - - ReleaseStr(sczVariableName); - ReleaseStr(sczVariableValue); - - return hr; - } - - HRESULT LoadLocalization( - __in_z LPCWSTR wzModulePath, - __in_z_opt LPCWSTR wzLanguage - ) - { - HRESULT hr = S_OK; - LPWSTR sczLocPath = NULL; - LPCWSTR wzLocFileName = L"thm.wxl"; - - hr = LocProbeForFile(wzModulePath, wzLocFileName, wzLanguage, &sczLocPath); - BalExitOnFailure2(hr, "Failed to probe for loc file: %ls in path: %ls", wzLocFileName, wzModulePath); - - hr = LocLoadFromFile(sczLocPath, &m_pWixLoc); - BalExitOnFailure1(hr, "Failed to load loc file from path: %ls", sczLocPath); - - if (WIX_LOCALIZATION_LANGUAGE_NOT_SET != m_pWixLoc->dwLangId) - { - ::SetThreadLocale(m_pWixLoc->dwLangId); - } - - hr = StrAllocString(&m_sczConfirmCloseMessage, L"#(loc.ConfirmCancelMessage)", 0); - ExitOnFailure(hr, "Failed to initialize confirm message loc identifier."); - - hr = LocLocalizeString(m_pWixLoc, &m_sczConfirmCloseMessage); - BalExitOnFailure1(hr, "Failed to localize confirm close message: %ls", m_sczConfirmCloseMessage); - -LExit: - ReleaseStr(sczLocPath); - - return hr; - } - - - HRESULT LoadTheme( - __in_z LPCWSTR wzModulePath, - __in_z_opt LPCWSTR wzLanguage - ) - { - HRESULT hr = S_OK; - LPWSTR sczThemePath = NULL; - LPCWSTR wzThemeFileName = L"thm.xml"; - LPWSTR sczCaption = NULL; - - hr = LocProbeForFile(wzModulePath, wzThemeFileName, wzLanguage, &sczThemePath); - BalExitOnFailure2(hr, "Failed to probe for theme file: %ls in path: %ls", wzThemeFileName, wzModulePath); - - hr = ThemeLoadFromFile(sczThemePath, &m_pTheme); - BalExitOnFailure1(hr, "Failed to load theme from path: %ls", sczThemePath); - - hr = ThemeLocalize(m_pTheme, m_pWixLoc); - BalExitOnFailure1(hr, "Failed to localize theme: %ls", sczThemePath); - - // Update the caption if there are any formatted strings in it. - hr = BalFormatString(m_pTheme->sczCaption, &sczCaption); - if (SUCCEEDED(hr)) - { - ThemeUpdateCaption(m_pTheme, sczCaption); - } - -LExit: - ReleaseStr(sczCaption); - ReleaseStr(sczThemePath); - - return hr; - } - - - HRESULT ParseOverridableVariablesFromXml( - __in IXMLDOMDocument* pixdManifest - ) - { - HRESULT hr = S_OK; - IXMLDOMNode* pNode = NULL; - IXMLDOMNodeList* pNodes = NULL; - DWORD cNodes = 0; - LPWSTR scz = NULL; - - // get the list of variables users can override on the command line - hr = XmlSelectNodes(pixdManifest, L"/BootstrapperApplicationData/WixStdbaOverridableVariable", &pNodes); - if (S_FALSE == hr) - { - ExitFunction1(hr = S_OK); - } - ExitOnFailure(hr, "Failed to select overridable variable nodes."); - - hr = pNodes->get_length((long*)&cNodes); - ExitOnFailure(hr, "Failed to get overridable variable node count."); - - if (cNodes) - { - hr = DictCreateStringList(&m_sdOverridableVariables, 32, DICT_FLAG_NONE); - ExitOnFailure(hr, "Failed to create the string dictionary."); - - for (DWORD i = 0; i < cNodes; ++i) - { - hr = XmlNextElement(pNodes, &pNode, NULL); - ExitOnFailure(hr, "Failed to get next node."); - - // @Name - hr = XmlGetAttributeEx(pNode, L"Name", &scz); - ExitOnFailure(hr, "Failed to get @Name."); - - hr = DictAddKey(m_sdOverridableVariables, scz); - ExitOnFailure1(hr, "Failed to add \"%ls\" to the string dictionary.", scz); - - // prepare next iteration - ReleaseNullObject(pNode); - } - } - -LExit: - ReleaseObject(pNode); - ReleaseObject(pNodes); - ReleaseStr(scz); - return hr; - } - - - HRESULT ParsePrerequisiteInformationFromXml( - __in IXMLDOMDocument* pixdManifest - ) - { - HRESULT hr = S_OK; - IXMLDOMNode* pNode = NULL; - - hr = XmlSelectSingleNode(pixdManifest, L"/BootstrapperApplicationData/WixMbaPrereqInformation", &pNode); - if (S_FALSE == hr) - { - hr = E_INVALIDARG; - } - BalExitOnFailure(hr, "BootstrapperApplication.xml manifest is missing prerequisite information."); - - hr = XmlGetAttributeEx(pNode, L"PackageId", &m_sczPrereqPackage); - BalExitOnFailure(hr, "Failed to get prerequisite package identifier."); - - hr = XmlGetAttributeEx(pNode, L"LicenseUrl", &m_sczLicenseUrl); - if (E_NOTFOUND == hr) - { - hr = S_OK; - } - BalExitOnFailure(hr, "Failed to get prerequisite license URL."); - - hr = XmlGetAttributeEx(pNode, L"LicenseFile", &m_sczLicenseFile); - if (E_NOTFOUND == hr) - { - hr = S_OK; - } - BalExitOnFailure(hr, "Failed to get prerequisite license file."); - -LExit: - ReleaseObject(pNode); - return hr; - } - - - HRESULT ParseBootrapperApplicationDataFromXml( - __in IXMLDOMDocument* pixdManifest - ) - { - HRESULT hr = S_OK; - IXMLDOMNode* pNode = NULL; - DWORD dwBool = 0; - - hr = XmlSelectSingleNode(pixdManifest, L"/BootstrapperApplicationData/WixExtbaInformation", &pNode); - if (S_FALSE == hr) - { - hr = E_INVALIDARG; - } - BalExitOnFailure(hr, "BootstrapperApplication.xml manifest is missing wixextba information."); - - hr = XmlGetAttributeEx(pNode, L"LicenseFile", &m_sczLicenseFile); - if (E_NOTFOUND == hr) - { - hr = S_OK; - } - BalExitOnFailure(hr, "Failed to get license file."); - - hr = XmlGetAttributeEx(pNode, L"LicenseUrl", &m_sczLicenseUrl); - if (E_NOTFOUND == hr) - { - hr = S_OK; - } - BalExitOnFailure(hr, "Failed to get license URL."); - - ReleaseObject(pNode); - - hr = XmlSelectSingleNode(pixdManifest, L"/BootstrapperApplicationData/WixExtbaOptions", &pNode); - if (S_FALSE == hr) - { - ExitFunction1(hr = S_OK); - } - BalExitOnFailure(hr, "Failed to read wixextba options from BootstrapperApplication.xml manifest."); - - hr = XmlGetAttributeNumber(pNode, L"SuppressOptionsUI", &dwBool); - if (E_NOTFOUND == hr) - { - hr = S_OK; - } - else if (SUCCEEDED(hr)) - { - m_fSuppressOptionsUI = 0 < dwBool; - } - BalExitOnFailure(hr, "Failed to get SuppressOptionsUI value."); - - dwBool = 0; - hr = XmlGetAttributeNumber(pNode, L"SuppressDowngradeFailure", &dwBool); - if (E_NOTFOUND == hr) - { - hr = S_OK; - } - else if (SUCCEEDED(hr)) - { - m_fSuppressDowngradeFailure = 0 < dwBool; - } - BalExitOnFailure(hr, "Failed to get SuppressDowngradeFailure value."); - - dwBool = 0; - hr = XmlGetAttributeNumber(pNode, L"SuppressRepair", &dwBool); - if (E_NOTFOUND == hr) - { - hr = S_OK; - } - else if (SUCCEEDED(hr)) - { - m_fSuppressRepair = 0 < dwBool; - } - BalExitOnFailure(hr, "Failed to get SuppressRepair value."); - - hr = XmlGetAttributeNumber(pNode, L"ShowVersion", &dwBool); - if (E_NOTFOUND == hr) - { - hr = S_OK; - } - else if (SUCCEEDED(hr)) - { - m_fShowVersion = 0 < dwBool; - } - BalExitOnFailure(hr, "Failed to get ShowVersion value."); - -LExit: - ReleaseObject(pNode); - return hr; - } - - - // - // CreateMainWindow - creates the main install window. - // - HRESULT CreateMainWindow() - { - HRESULT hr = S_OK; - HICON hIcon = reinterpret_cast(m_pTheme->hIcon); - WNDCLASSW wc = { }; - DWORD dwWindowStyle = 0; - int x = CW_USEDEFAULT; - int y = CW_USEDEFAULT; - POINT ptCursor = { }; - HMONITOR hMonitor = NULL; - MONITORINFO mi = { }; - - // If the theme did not provide an icon, try using the icon from the bundle engine. - if (!hIcon) - { - HMODULE hBootstrapperEngine = ::GetModuleHandleW(NULL); - if (hBootstrapperEngine) - { - hIcon = ::LoadIconW(hBootstrapperEngine, MAKEINTRESOURCEW(1)); - } - } - - // Register the window class and create the window. - wc.lpfnWndProc = CWixStandardBootstrapperApplication::WndProc; - wc.hInstance = m_hModule; - wc.hIcon = hIcon; - wc.hCursor = ::LoadCursorW(NULL, (LPCWSTR)IDC_ARROW); - wc.hbrBackground = m_pTheme->rgFonts[m_pTheme->dwFontId].hBackground; - wc.lpszMenuName = NULL; - wc.lpszClassName = WIXSTDBA_WINDOW_CLASS; - if (!::RegisterClassW(&wc)) - { - ExitWithLastError(hr, "Failed to register window."); - } - - m_fRegistered = TRUE; - - // Calculate the window style based on the theme style and command display value. - dwWindowStyle = m_pTheme->dwStyle; - if (BOOTSTRAPPER_DISPLAY_NONE >= m_command.display) - { - dwWindowStyle &= ~WS_VISIBLE; - } - - // Don't show the window if there is a splash screen (it will be made visible when the splash screen is hidden) - if (::IsWindow(m_command.hwndSplashScreen)) - { - dwWindowStyle &= ~WS_VISIBLE; - } - - // Center the window on the monitor with the mouse. - if (::GetCursorPos(&ptCursor)) - { - hMonitor = ::MonitorFromPoint(ptCursor, MONITOR_DEFAULTTONEAREST); - if (hMonitor) - { - mi.cbSize = sizeof(mi); - if (::GetMonitorInfoW(hMonitor, &mi)) - { - x = mi.rcWork.left + (mi.rcWork.right - mi.rcWork.left - m_pTheme->nWidth) / 2; - y = mi.rcWork.top + (mi.rcWork.bottom - mi.rcWork.top - m_pTheme->nHeight) / 2; - } - } - } - - m_hWnd = ::CreateWindowExW(0, wc.lpszClassName, m_pTheme->sczCaption, dwWindowStyle, x, y, m_pTheme->nWidth, m_pTheme->nHeight, HWND_DESKTOP, NULL, m_hModule, this); - ExitOnNullWithLastError(m_hWnd, hr, "Failed to create window."); - - hr = S_OK; - -LExit: - return hr; - } - - - // - // InitializeTaskbarButton - initializes taskbar button for progress. - // - void InitializeTaskbarButton() - { - HRESULT hr = S_OK; - - hr = ::CoCreateInstance(CLSID_TaskbarList, NULL, CLSCTX_ALL, __uuidof(ITaskbarList3), reinterpret_cast(&m_pTaskbarList)); - if (REGDB_E_CLASSNOTREG == hr) // not supported before Windows 7 - { - ExitFunction1(hr = S_OK); - } - BalExitOnFailure(hr, "Failed to create ITaskbarList3. Continuing."); - - m_uTaskbarButtonCreatedMessage = ::RegisterWindowMessageW(L"TaskbarButtonCreated"); - BalExitOnNullWithLastError(m_uTaskbarButtonCreatedMessage, hr, "Failed to get TaskbarButtonCreated message. Continuing."); - -LExit: - return; - } - - // - // DestroyMainWindow - clean up all the window registration. - // - void DestroyMainWindow() - { - if (::IsWindow(m_hWnd)) - { - ::DestroyWindow(m_hWnd); - m_hWnd = NULL; - m_fTaskbarButtonOK = FALSE; - } - - if (m_fRegistered) - { - ::UnregisterClassW(WIXSTDBA_WINDOW_CLASS, m_hModule); - m_fRegistered = FALSE; - } - } - - - // - // WndProc - standard windows message handler. - // - static LRESULT CALLBACK WndProc( - __in HWND hWnd, - __in UINT uMsg, - __in WPARAM wParam, - __in LPARAM lParam - ) - { -#pragma warning(suppress:4312) - CWixStandardBootstrapperApplication* pBA = reinterpret_cast(::GetWindowLongPtrW(hWnd, GWLP_USERDATA)); - - switch (uMsg) - { - case WM_NCCREATE: - { - LPCREATESTRUCT lpcs = reinterpret_cast(lParam); - pBA = reinterpret_cast(lpcs->lpCreateParams); -#pragma warning(suppress:4244) - ::SetWindowLongPtrW(hWnd, GWLP_USERDATA, reinterpret_cast(pBA)); - } - break; - - case WM_NCDESTROY: - { - LRESULT lres = ThemeDefWindowProc(pBA ? pBA->m_pTheme : NULL, hWnd, uMsg, wParam, lParam); - ::SetWindowLongPtrW(hWnd, GWLP_USERDATA, 0); - return lres; - } - - case WM_CREATE: - if (!pBA->OnCreate(hWnd)) - { - return -1; - } - break; - - case WM_QUERYENDSESSION: - return IDCANCEL != pBA->OnSystemShutdown(static_cast(lParam), IDCANCEL); - - case WM_CLOSE: - // If the user chose not to close, do *not* let the default window proc handle the message. - if (!pBA->OnClose()) - { - return 0; - } - break; - - case WM_DESTROY: - ::PostQuitMessage(0); - break; - - case WM_WIXSTDBA_SHOW_HELP: - pBA->OnShowHelp(); - return 0; - - case WM_WIXSTDBA_DETECT_PACKAGES: - pBA->OnDetect(); - return 0; - - case WM_WIXSTDBA_PLAN_PACKAGES: - pBA->OnPlan(static_cast(lParam)); - return 0; - - case WM_WIXSTDBA_APPLY_PACKAGES: - pBA->OnApply(); - return 0; - - case WM_WIXSTDBA_CHANGE_STATE: - pBA->OnChangeState(static_cast(lParam)); - return 0; - - case WM_COMMAND: - switch (LOWORD(wParam)) - { - case WIXSTDBA_CONTROL_EULA_ACCEPT_CHECKBOX: - pBA->OnClickAcceptCheckbox(); - return 0; - - case WIXSTDBA_CONTROL_PERMACHINE_RADIO: __fallthrough; - case WIXSTDBA_CONTROL_PERUSER_RADIO: - pBA->OnClickInstallScope(); - return 0; - - case WIXSTDBA_CONTROL_REGSIGNIN_RADIO: __fallthrough; - case WIXSTDBA_CONTROL_REGCREATE_RADIO: __fallthrough; - case WIXSTDBA_CONTROL_SKIPREG_CHECKBOX: - pBA->OnClickSkipRegistrationCheckbox(); - return 0; - - - case WIXSTDBA_CONTROL_OPTIONS_BUTTON: - pBA->OnClickOptionsButton(); - return 0; - - case WIXSTDBA_CONTROL_BROWSE_BUTTON: - pBA->OnClickOptionsBrowseButton(WIXSTDBA_CONTROL_BROWSE_BUTTON); - return 0; - - case WIXSTDBA_CONTROL_OK_BUTTON: - pBA->OnClickOptionsOkButton(); - return 0; - - case WIXSTDBA_CONTROL_CANCEL_BUTTON: - pBA->OnClickOptionsCancelButton(); - return 0; - - case WIXSTDBA_CONTROL_SKIP_BUTTON: - pBA->SetState(WIXSTDBA_STATE_APPLIED, S_OK); - return 0; - - case WIXSTDBA_CONTROL_INSTALL_BUTTON: - pBA->OnSignIn(); - return 0; - - case WIXSTDBA_CONTROL_REPAIR_BUTTON: - pBA->OnClickRepairButton(); - return 0; - - case WIXSTDBA_CONTROL_UNINSTALL_BUTTON: - pBA->OnClickUninstallButton(); - return 0; - - case WIXSTDBA_CONTROL_LAUNCH_BUTTON: - pBA->OnClickLaunchButton(); - return 0; - - case WIXSTDBA_CONTROL_SUCCESS_RESTART_BUTTON: __fallthrough; - case WIXSTDBA_CONTROL_FAILURE_RESTART_BUTTON: - pBA->OnClickRestartButton(); - return 0; - - case WIXSTDBA_CONTROL_HELP_CANCEL_BUTTON: __fallthrough; - - case WIXSTDBA_CONTROL_WELCOME_CANCEL_BUTTON: __fallthrough; - case WIXSTDBA_CONTROL_MODIFY_CANCEL_BUTTON: __fallthrough; - case WIXSTDBA_CONTROL_PROGRESS_CANCEL_BUTTON: __fallthrough; - case WIXSTDBA_CONTROL_SUCCESS_CANCEL_BUTTON: __fallthrough; - case WIXSTDBA_CONTROL_FAILURE_CANCEL_BUTTON: __fallthrough; - case WIXSTDBA_CONTROL_CLOSE_BUTTON: - pBA->OnClickCloseButton(); - return 0; - case WIXSTDBA_CONTROL_NEXT_BUTTON: - pBA->OnClickNextButton(); - return 0; - case WIXSTDBA_CONTROL_BACK_BUTTON: - pBA->OnClickBackButton(); - return 0; - - } - break; - - case WM_NOTIFY: - if (lParam) - { - LPNMHDR pnmhdr = reinterpret_cast(lParam); - switch (pnmhdr->code) - { - case NM_CLICK: __fallthrough; - case NM_RETURN: - switch (static_cast(pnmhdr->idFrom)) - { - case WIXSTDBA_CONTROL_EULA_LINK: - pBA->OnClickEulaLink(); - return 1; - case WIXSTDBA_CONTROL_FAILURE_LOGFILE_LINK: - pBA->OnClickLogFileLink(); - return 1; - case WIXSTDBA_CONTROL_UPGRADE_LINK: - pBA->OnClickUpgradeLink(); - return 1; - } - } - } - break; - } - - if (pBA && pBA->m_pTaskbarList && uMsg == pBA->m_uTaskbarButtonCreatedMessage) - { - pBA->m_fTaskbarButtonOK = TRUE; - return 0; - } - - return ThemeDefWindowProc(pBA ? pBA->m_pTheme : NULL, hWnd, uMsg, wParam, lParam); - } - - - // - // OnCreate - finishes loading the theme. - // - BOOL OnCreate( - __in HWND hWnd - ) - { - HRESULT hr = S_OK; - LPWSTR sczText = NULL; - LPWSTR sczLicenseFormatted = NULL; - LPWSTR sczLicensePath = NULL; - LPWSTR sczLicenseDirectory = NULL; - LPWSTR sczLicenseFilename = NULL; - - hr = ThemeLoadControls(m_pTheme, hWnd, vrgInitControls, countof(vrgInitControls)); - BalExitOnFailure(hr, "Failed to load theme controls."); - - C_ASSERT(COUNT_WIXSTDBA_PAGE == countof(vrgwzPageNames)); - C_ASSERT(countof(m_rgdwPageIds) == countof(vrgwzPageNames)); - - ThemeGetPageIds(m_pTheme, vrgwzPageNames, m_rgdwPageIds, countof(m_rgdwPageIds)); - - // Initialize the text on all "application" (non-page) controls. - for (DWORD i = 0; i < m_pTheme->cControls; ++i) - { - THEME_CONTROL* pControl = m_pTheme->rgControls + i; - if (!pControl->wPageId && pControl->sczText && *pControl->sczText) - { - HRESULT hrFormat = BalFormatString(pControl->sczText, &sczText); - if (SUCCEEDED(hrFormat)) - { - ThemeSetTextControl(m_pTheme, pControl->wId, sczText); - } - } - } - - // Load the RTF EULA control with text if the control exists. - if (ThemeControlExists(m_pTheme, WIXSTDBA_CONTROL_EULA_RICHEDIT)) - { - hr = (m_sczLicenseFile && *m_sczLicenseFile) ? S_OK : E_INVALIDDATA; - if (SUCCEEDED(hr)) - { - hr = StrAllocString(&sczLicenseFormatted, m_sczLicenseFile, 0); - if (SUCCEEDED(hr)) - { - hr = LocLocalizeString(m_pWixLoc, &sczLicenseFormatted); - if (SUCCEEDED(hr)) - { - hr = BalFormatString(sczLicenseFormatted, &sczLicenseFormatted); - if (SUCCEEDED(hr)) - { - hr = PathRelativeToModule(&sczLicensePath, sczLicenseFormatted, m_hModule); - if (SUCCEEDED(hr)) - { - hr = PathGetDirectory(sczLicensePath, &sczLicenseDirectory); - if (SUCCEEDED(hr)) - { - hr = StrAllocString(&sczLicenseFilename, PathFile(sczLicenseFormatted), 0); - if (SUCCEEDED(hr)) - { - hr = LocProbeForFile(sczLicenseDirectory, sczLicenseFilename, m_sczLanguage, &sczLicensePath); - if (SUCCEEDED(hr)) - { - hr = ThemeLoadRichEditFromFile(m_pTheme, WIXSTDBA_CONTROL_EULA_RICHEDIT, sczLicensePath, m_hModule); - } - } - } - } - } - } - } - } - - if (FAILED(hr)) - { - BalLog(BOOTSTRAPPER_LOG_LEVEL_ERROR, "Failed to load file into license richedit control from path '%ls' manifest value: %ls", sczLicensePath, m_sczLicenseFile); - hr = S_OK; - } - } - -LExit: - ReleaseStr(sczLicenseFilename); - ReleaseStr(sczLicenseDirectory); - ReleaseStr(sczLicensePath); - ReleaseStr(sczLicenseFormatted); - ReleaseStr(sczText); - - return SUCCEEDED(hr); - } - - - // - // OnShowHelp - display the help page. - // - void OnShowHelp() - { - SetState(WIXSTDBA_STATE_HELP, S_OK); - - // If the UI should be visible, display it now and hide the splash screen - if (BOOTSTRAPPER_DISPLAY_NONE < m_command.display) - { - ::ShowWindow(m_pTheme->hwndParent, SW_SHOW); - } - - m_pEngine->CloseSplashScreen(); - - return; - } - - - // - // OnDetect - start the processing of packages. - // - void OnDetect() - { - HRESULT hr = S_OK; - - if (m_pBAFunction) - { - hr = m_pBAFunction->OnDetect(); - BalExitOnFailure(hr, "Failed calling detect BA function."); - } - - SetState(WIXSTDBA_STATE_DETECTING, hr); - - // If the UI should be visible, display it now and hide the splash screen - if (BOOTSTRAPPER_DISPLAY_NONE < m_command.display) - { - ::ShowWindow(m_pTheme->hwndParent, SW_SHOW); - } - - m_pEngine->CloseSplashScreen(); - - // Tell the core we're ready for the packages to be processed now. - hr = m_pEngine->Detect(); - BalExitOnFailure(hr, "Failed to start detecting chain."); - -LExit: - if (FAILED(hr)) - { - SetState(WIXSTDBA_STATE_DETECTING, hr); - } - - return; - } - - - // - // OnPlan - plan the detected changes. - // - void OnPlan( - __in BOOTSTRAPPER_ACTION action - ) - { - HRESULT hr = S_OK; - - m_plannedAction = action; - - LOC_STRING* pLocString = NULL; - - if (m_plannedAction == BOOTSTRAPPER_ACTION_UNINSTALL) - { - m_fIsUninstall = TRUE; - LocGetString(m_pWixLoc, L"#(loc.ProgressHeaderUninstall)", &pLocString); - m_pEngine->SetVariableString(WIXSTDBA_VARIABLE_PROGRESS_HEADER, pLocString->wzText); - LocGetString(m_pWixLoc, L"#(loc.ProgressInfoUninstall)", &pLocString); - m_pEngine->SetVariableString(WIXSTDBA_VARIABLE_PROGRESS_INFO, pLocString->wzText); - } - - if (m_plannedAction == BOOTSTRAPPER_ACTION_REPAIR) - { - m_fIsRepair = TRUE; - LocGetString(m_pWixLoc, L"#(loc.ProgressHeaderRepair)", &pLocString); - m_pEngine->SetVariableString(WIXSTDBA_VARIABLE_PROGRESS_HEADER, pLocString->wzText); - LocGetString(m_pWixLoc, L"#(loc.ProgressInfoRepair)", &pLocString); - m_pEngine->SetVariableString(WIXSTDBA_VARIABLE_PROGRESS_INFO, pLocString->wzText); - } - - // If we are going to apply a downgrade, bail. - if (m_fDowngrading && BOOTSTRAPPER_ACTION_UNINSTALL < action) - { - if (m_fSuppressDowngradeFailure) - { - BalLog(BOOTSTRAPPER_LOG_LEVEL_STANDARD, "A newer version of this product is installed but downgrade failure has been suppressed; continuing..."); - } - else - { - hr = HRESULT_FROM_WIN32(ERROR_PRODUCT_VERSION); - BalExitOnFailure(hr, "Cannot install a product when a newer version is installed."); - } - } - - SetState(WIXSTDBA_STATE_PLANNING, hr); - - if (m_pBAFunction) - { - m_pBAFunction->OnPlan(); - } - - hr = m_pEngine->Plan(action); - BalExitOnFailure(hr, "Failed to start planning packages."); - -LExit: - if (FAILED(hr)) - { - SetState(WIXSTDBA_STATE_PLANNING, hr); - } - - return; - } - - - // - // OnApply - apply the packages. - // - void OnApply() - { - HRESULT hr = S_OK; - - SetState(WIXSTDBA_STATE_APPLYING, hr); - SetProgressState(hr); - - if (m_fAttachedToConsole) - { - char *szPgLine; - if (m_fIsUninstall) { - szPgLine = "\nInstalling...\n"; - } else { - szPgLine = "\nUninstalling...\n"; - } - DWORD dSzWritten; - WriteConsole(m_fStdConsoleHandle, szPgLine, strlen(szPgLine), &dSzWritten, NULL); - } - SetTaskbarButtonProgress(0); - - hr = m_pEngine->Apply(m_hWnd); - BalExitOnFailure(hr, "Failed to start applying packages."); - - ThemeControlEnable(m_pTheme, WIXSTDBA_CONTROL_PROGRESS_CANCEL_BUTTON, TRUE); // ensure the cancel button is enabled before starting. - -LExit: - if (FAILED(hr)) - { - SetState(WIXSTDBA_STATE_APPLYING, hr); - } - - return; - } - - - // - // OnChangeState - change state. - // - void OnChangeState( - __in WIXSTDBA_STATE state - ) - { - WIXSTDBA_STATE stateOld = m_state; - DWORD dwOldPageId = 0; - DWORD dwNewPageId = 0; - LPWSTR sczText = NULL; - LPWSTR sczUnformattedText = NULL; - LPWSTR sczControlState = NULL; - LPWSTR sczControlName = NULL; - LOC_STRING* pLocString = NULL; - m_state = state; - - // If our install is at the end (success or failure) and we're not showing full UI or - // we successfully installed the prerequisite then exit (prompt for restart if required). - if ((WIXSTDBA_STATE_APPLIED <= m_state && BOOTSTRAPPER_DISPLAY_FULL > m_command.display) || - (WIXSTDBA_STATE_APPLIED == m_state && m_fPrereq)) - { - // If a restart was required but we were not automatically allowed to - // accept the reboot then do the prompt. - if (m_fRestartRequired && !m_fAllowRestart) - { - StrAllocFromError(&sczUnformattedText, HRESULT_FROM_WIN32(ERROR_SUCCESS_REBOOT_REQUIRED), NULL); - - int nResult = ::MessageBoxW(m_hWnd, sczUnformattedText ? sczUnformattedText : L"The requested operation is successful. Changes will not be effective until the system is rebooted.", m_pTheme->sczCaption, MB_ICONEXCLAMATION | MB_OKCANCEL); - m_fAllowRestart = (IDOK == nResult); - } - - // Quietly exit. - ::PostMessageW(m_hWnd, WM_CLOSE, 0, 0); - } - else // try to change the pages. - { - DeterminePageId(stateOld, &dwOldPageId); - DeterminePageId(m_state, &dwNewPageId); - - if (dwOldPageId != dwNewPageId) - { - // Enable disable controls per-page. - if (m_rgdwPageIds[WIXSTDBA_PAGE_INSTALL] == dwNewPageId) // on the "Install" page, ensure the install button is enabled/disabled correctly. - { - LONGLONG llElevated = 0; - if (m_Bundle.fPerMachine) - { - BalGetNumericVariable(WIXBUNDLE_VARIABLE_ELEVATED, &llElevated); - } - ThemeControlElevates(m_pTheme, WIXSTDBA_CONTROL_INSTALL_BUTTON, (m_Bundle.fPerMachine && !llElevated)); - - // If the EULA control exists, show it only if a license URL is provided as well. - if (ThemeControlExists(m_pTheme, WIXSTDBA_CONTROL_EULA_LINK)) - { - BOOL fEulaLink = (m_sczLicenseUrl && *m_sczLicenseUrl); - ThemeControlEnable(m_pTheme, WIXSTDBA_CONTROL_EULA_LINK, fEulaLink); - ThemeControlEnable(m_pTheme, WIXSTDBA_CONTROL_EULA_ACCEPT_CHECKBOX, fEulaLink); - } - - BOOL fAcceptedLicense = !ThemeControlExists(m_pTheme, WIXSTDBA_CONTROL_EULA_ACCEPT_CHECKBOX) || !ThemeControlEnabled(m_pTheme, WIXSTDBA_CONTROL_EULA_ACCEPT_CHECKBOX) || ThemeIsControlChecked(m_pTheme, WIXSTDBA_CONTROL_EULA_ACCEPT_CHECKBOX); - ThemeControlEnable(m_pTheme, WIXSTDBA_CONTROL_INSTALL_BUTTON, fAcceptedLicense); - ThemeControlEnable(m_pTheme, WIXSTDBA_CONTROL_NEXT_BUTTON, fAcceptedLicense); - - // If there is an "Options" page, the "Options" button exists, and it hasn't been suppressed, then enable the button. - BOOL fOptionsEnabled = m_rgdwPageIds[WIXSTDBA_PAGE_INSTALLDIR] && ThemeControlExists(m_pTheme, WIXSTDBA_CONTROL_OPTIONS_BUTTON) && !m_fSuppressOptionsUI; - ThemeControlEnable(m_pTheme, WIXSTDBA_CONTROL_OPTIONS_BUTTON, fOptionsEnabled); - - // Show/Hide the version label if it exists. - if (m_rgdwPageIds[WIXSTDBA_PAGE_INSTALLDIR] && ThemeControlExists(m_pTheme, WIXSTDBA_CONTROL_VERSION_LABEL) && !m_fShowVersion) - { - ThemeShowControl(m_pTheme, WIXSTDBA_CONTROL_VERSION_LABEL, SW_HIDE); - } - } - else if (m_rgdwPageIds[WIXSTDBA_PAGE_MODIFY] == dwNewPageId) - { - ThemeControlEnable(m_pTheme, WIXSTDBA_CONTROL_REPAIR_BUTTON, !m_fSuppressRepair); - } - else if (m_rgdwPageIds[WIXSTDBA_PAGE_INSTALLDIR] == dwNewPageId) - { - HRESULT hr = BalGetStringVariable(WIXSTDBA_VARIABLE_INSTALL_FOLDER, &sczUnformattedText); - if (SUCCEEDED(hr)) - { - BalFormatString(sczUnformattedText, &sczText); - ThemeSetTextControl(m_pTheme, WIXSTDBA_CONTROL_INSTALLFOLDER_EDITBOX, sczText); - } - } - else if (m_rgdwPageIds[WIXSTDBA_PAGE_SUCCESS] == dwNewPageId) // on the "Success" page, check if the restart or launch button should be enabled. - { - BOOL fShowRestartButton = FALSE; - BOOL fLaunchTargetExists = FALSE; - - if (m_fIsRepair) - { - LocGetString(m_pWixLoc, L"#(loc.SuccessHeaderRepair)", &pLocString); - m_pEngine->SetVariableString(WIXSTDBA_VARIABLE_SUCCESS_HEADER, pLocString->wzText); - LocGetString(m_pWixLoc, L"#(loc.SuccessInfoRepair)", &pLocString); - m_pEngine->SetVariableString(WIXSTDBA_VARIABLE_SUCCESS_INFO, pLocString->wzText); - } - else if (m_fIsUninstall) - { - LocGetString(m_pWixLoc, L"#(loc.SuccessHeaderUninstall)", &pLocString); - m_pEngine->SetVariableString(WIXSTDBA_VARIABLE_SUCCESS_HEADER, pLocString->wzText); - LocGetString(m_pWixLoc, L"#(loc.SuccessInfoUninstall)", &pLocString); - m_pEngine->SetVariableString(WIXSTDBA_VARIABLE_SUCCESS_INFO, pLocString->wzText); - } - else - { - m_fInstallSucceed = TRUE; - - // If we have left some kind of error message file from MSI the show that - if (BalStringVariableExists(L"MSICustomErrFile")) - { - LPWSTR sczUnFormatedErrFile = NULL; - LPWSTR sczErrFile = NULL; - LPWSTR sczSuccessErrMsg = NULL; - FILE_ENCODING feEncodingFound = FILE_ENCODING_UNSPECIFIED; - - BalGetStringVariable(L"MSICustomErrFile", &sczUnFormatedErrFile); - BalFormatString(sczUnFormatedErrFile, &sczErrFile); - - if (SUCCEEDED(FileToString(sczErrFile, &sczSuccessErrMsg, &feEncodingFound))) - { - LocGetString(m_pWixLoc, L"#(loc.SuccessErrorInfoText)", &pLocString); - m_pEngine->SetVariableString(WIXSTDBA_VARIABLE_SUCCESS_ERRINF, pLocString->wzText); - m_pEngine->SetVariableString(WIXSTDBA_VARIABLE_SUCCESS_ERRMSG, sczSuccessErrMsg); - FileEnsureDelete(sczErrFile); - } - } - } - - if (m_fRestartRequired) - { - if (BOOTSTRAPPER_RESTART_PROMPT == m_command.restart) - { - fShowRestartButton = TRUE; - } - } - else if (ThemeControlExists(m_pTheme, WIXSTDBA_CONTROL_LAUNCH_BUTTON)) - { - fLaunchTargetExists = BalStringVariableExists(WIXSTDBA_VARIABLE_LAUNCH_TARGET_PATH); - } - - ThemeControlEnable(m_pTheme, WIXSTDBA_CONTROL_LAUNCH_BUTTON, fLaunchTargetExists && BOOTSTRAPPER_ACTION_UNINSTALL < m_plannedAction); - ThemeControlEnable(m_pTheme, WIXSTDBA_CONTROL_SUCCESS_RESTART_TEXT, fShowRestartButton); - ThemeControlEnable(m_pTheme, WIXSTDBA_CONTROL_SUCCESS_RESTART_BUTTON, fShowRestartButton); - } - else if (m_rgdwPageIds[WIXSTDBA_PAGE_FAILURE] == dwNewPageId) // on the "Failure" page, show error message and check if the restart button should be enabled. - { - BOOL fShowLogLink = (m_Bundle.sczLogVariable && *m_Bundle.sczLogVariable); // if there is a log file variable then we'll assume the log file exists. - BOOL fShowErrorMessage = FALSE; - BOOL fShowRestartButton = FALSE; - - if (m_fIsRepair) - { - LocGetString(m_pWixLoc, L"#(loc.FailureHeaderRepair)", &pLocString); - m_pEngine->SetVariableString(WIXSTDBA_VARIABLE_FAILURE_HEADER, pLocString->wzText); - } - - if (m_fIsUninstall) - { - LocGetString(m_pWixLoc, L"#(loc.FailureHeaderUninstall)", &pLocString); - m_pEngine->SetVariableString(WIXSTDBA_VARIABLE_FAILURE_HEADER, pLocString->wzText); - } - if (FAILED(m_hrFinal)) - { - // If we know the failure message, use that. - if (m_sczFailedMessage && *m_sczFailedMessage) - { - StrAllocString(&sczUnformattedText, m_sczFailedMessage, 0); - } - else // try to get the error message from the error code. - { - StrAllocFromError(&sczUnformattedText, m_hrFinal, NULL); - if (!sczUnformattedText || !*sczUnformattedText) - { - StrAllocFromError(&sczUnformattedText, E_FAIL, NULL); - } - } - - StrAllocFormatted(&sczText, L"0x%08x - %ls", m_hrFinal, sczUnformattedText); - ThemeSetTextControl(m_pTheme, WIXSTDBA_CONTROL_FAILURE_MESSAGE_TEXT, sczText); - fShowErrorMessage = TRUE; - } - - if (m_fRestartRequired) - { - if (BOOTSTRAPPER_RESTART_PROMPT == m_command.restart) - { - fShowRestartButton = TRUE; - } - } - - ThemeControlEnable(m_pTheme, WIXSTDBA_CONTROL_FAILURE_LOGFILE_LINK, fShowLogLink); - ThemeControlEnable(m_pTheme, WIXSTDBA_CONTROL_FAILURE_MESSAGE_TEXT, fShowErrorMessage); - ThemeControlEnable(m_pTheme, WIXSTDBA_CONTROL_FAILURE_RESTART_TEXT, fShowRestartButton); - ThemeControlEnable(m_pTheme, WIXSTDBA_CONTROL_FAILURE_RESTART_BUTTON, fShowRestartButton); - } - - // Hide the upgrade link - if (ThemeControlExists(m_pTheme, WIXSTDBA_CONTROL_UPGRADE_LINK)) - { - ThemeControlEnable(m_pTheme, WIXSTDBA_CONTROL_UPGRADE_LINK, FALSE); - } - - // Process each control for special handling in the new page. - THEME_PAGE* pPage = ThemeGetPage(m_pTheme, dwNewPageId); - if (pPage) - { - for (DWORD i = 0; i < pPage->cControlIndices; ++i) - { - THEME_CONTROL* pControl = m_pTheme->rgControls + pPage->rgdwControlIndices[i]; - - // If we are on the install, options or modify pages and this is a named control, try to set its default state. - if ((m_rgdwPageIds[WIXSTDBA_PAGE_INSTALL] == dwNewPageId || - m_rgdwPageIds[WIXSTDBA_PAGE_INSTALLDIR] == dwNewPageId || - m_rgdwPageIds[WIXSTDBA_PAGE_SVC_OPTIONS] == dwNewPageId || - m_rgdwPageIds[WIXSTDBA_PAGE_MODIFY] == dwNewPageId) && - pControl->sczName && *pControl->sczName) - { - // If this is a checkbox control, try to set its default state to the state of a matching named Burn variable. - if (THEME_CONTROL_TYPE_CHECKBOX == pControl->type && WIXSTDBA_CONTROL_EULA_ACCEPT_CHECKBOX != pControl->wId) - { - LONGLONG llValue = 0; - HRESULT hr = BalGetNumericVariable(pControl->sczName, &llValue); - - ThemeSendControlMessage(m_pTheme, pControl->wId, BM_SETCHECK, SUCCEEDED(hr) && llValue ? BST_CHECKED : BST_UNCHECKED, 0); - } - - // If this is a button control with the BS_AUTORADIOBUTTON style, try to set its default - // state to the state of a matching named Burn variable. - if (THEME_CONTROL_TYPE_BUTTON == pControl->type && (BS_AUTORADIOBUTTON == (BS_AUTORADIOBUTTON & pControl->dwStyle))) - { - LONGLONG llValue = 0; - HRESULT hr = BalGetNumericVariable(pControl->sczName, &llValue); - - // If the control value isn't set then disable it. - if (!SUCCEEDED(hr)) - { - ThemeControlEnable(m_pTheme, pControl->wId, FALSE); - } - else - { - ThemeSendControlMessage(m_pTheme, pControl->wId, BM_SETCHECK, SUCCEEDED(hr) && llValue ? BST_CHECKED : BST_UNCHECKED, 0); - } - } - - // Hide or disable controls based on the control name with 'State' appended - HRESULT hr = StrAllocFormatted(&sczControlName, L"%lsState", pControl->sczName); - if (SUCCEEDED(hr)) - { - hr = BalGetStringVariable(sczControlName, &sczControlState); - if (SUCCEEDED(hr) && sczControlState && *sczControlState) - { - if (CSTR_EQUAL == ::CompareStringW(LOCALE_NEUTRAL, 0, sczControlState, -1, L"disable", -1)) - { - BalLog(BOOTSTRAPPER_LOG_LEVEL_STANDARD, "Disable control %ls", pControl->sczName); - ThemeControlEnable(m_pTheme, pControl->wId, FALSE); - } - else if (CSTR_EQUAL == ::CompareStringW(LOCALE_NEUTRAL, 0, sczControlState, -1, L"hide", -1)) - { - BalLog(BOOTSTRAPPER_LOG_LEVEL_STANDARD, "Hide control %ls", pControl->sczName); - // TODO: This doesn't work - ThemeShowControl(m_pTheme, pControl->wId, SW_HIDE); - } - } - } - } - - // Format the text in each of the new page's controls (if they have any text). - if (pControl->sczText && *pControl->sczText) - { - HRESULT hr = BalFormatString(pControl->sczText, &sczText); - if (SUCCEEDED(hr)) - { - ThemeSetTextControl(m_pTheme, pControl->wId, sczText); - } - } - - } - } - - // See #Hidden - ThemeShowControl(m_pTheme, WIXSTDBA_CONTROL_LOGUSER_OR_MAIL_LABEL, false); - ThemeShowControl(m_pTheme, WIXSTDBA_CONTROL_LOGPASS_LABEL, false); - ThemeShowControl(m_pTheme, WIXSTDBA_CONTROL_LOGUSER_OR_MAIL_EDIT, false); - ThemeShowControl(m_pTheme, WIXSTDBA_CONTROL_LOGPASS_EDIT, false); - - // XXX why do we need this?? - ThemeControlEnable(m_pTheme, WIXSTDBA_CONTROL_LOGUSER_OR_MAIL_LABEL, true); - ThemeControlEnable(m_pTheme, WIXSTDBA_CONTROL_LOGPASS_LABEL, true); - ThemeControlEnable(m_pTheme, WIXSTDBA_CONTROL_LOGUSER_OR_MAIL_EDIT, true); - ThemeControlEnable(m_pTheme, WIXSTDBA_CONTROL_LOGPASS_EDIT, true); - - ThemeShowPage(m_pTheme, dwOldPageId, SW_HIDE); - ThemeShowPage(m_pTheme, dwNewPageId, SW_SHOW); - - - // Remember current page - m_dwCurrentPage = dwNewPageId; - - // On the install page set the focus to the install button or the next enabled control if install is disabled - if (m_rgdwPageIds[WIXSTDBA_PAGE_INSTALL] == dwNewPageId) - { - HWND hwndFocus = ::GetDlgItem(m_pTheme->hwndParent, WIXSTDBA_CONTROL_INSTALL_BUTTON); - if (hwndFocus && !ThemeControlEnabled(m_pTheme, WIXSTDBA_CONTROL_INSTALL_BUTTON)) - { - hwndFocus = ::GetNextDlgTabItem(m_pTheme->hwndParent, hwndFocus, FALSE); - } - - if (hwndFocus) - { - ::SetFocus(hwndFocus); - } - } - } - } - - ReleaseStr(sczText); - ReleaseStr(sczUnformattedText); - ReleaseStr(sczControlState); - ReleaseStr(sczControlName); - } - - - // - // OnClose - called when the window is trying to be closed. - // - BOOL OnClose() - { - BOOL fClose = FALSE; - - // If we've already succeeded or failed or showing the help page, just close (prompts are annoying if the bootstrapper is done). - // Also, allow people to simply close out at the signin stage - if (WIXSTDBA_STATE_APPLIED <= m_state || WIXSTDBA_STATE_HELP == m_state || WIXSTDBA_STATE_SVC_OPTIONS == m_state) - { - fClose = TRUE; - } - else // prompt the user or force the cancel if there is no UI. - { - fClose = PromptCancel(m_hWnd, BOOTSTRAPPER_DISPLAY_FULL != m_command.display, m_sczConfirmCloseMessage ? m_sczConfirmCloseMessage : L"Are you sure you want to cancel?", m_pTheme->sczCaption); - } - - // If we're doing progress then we never close, we just cancel to let rollback occur. - if (WIXSTDBA_STATE_APPLYING <= m_state && WIXSTDBA_STATE_APPLIED > m_state) - { - // If we canceled disable cancel button since clicking it again is silly. - if (fClose) - { - ThemeControlEnable(m_pTheme, WIXSTDBA_CONTROL_PROGRESS_CANCEL_BUTTON, FALSE); - } - - fClose = FALSE; - } - - return fClose; - } - - - // - // OnClickAcceptCheckbox - allow the install to continue. - // - void OnClickAcceptCheckbox() - { - BOOL fAcceptedLicense = ThemeIsControlChecked(m_pTheme, WIXSTDBA_CONTROL_EULA_ACCEPT_CHECKBOX); - ThemeControlEnable(m_pTheme, WIXSTDBA_CONTROL_INSTALL_BUTTON, fAcceptedLicense); - ThemeControlEnable(m_pTheme, WIXSTDBA_CONTROL_NEXT_BUTTON, fAcceptedLicense); - } - - - // - // OnClickOptionsButton - show the options page. - // - void OnClickOptionsButton() - { - SavePageSettings(WIXSTDBA_PAGE_INSTALL); - m_stateInstallPage = m_state; - SetState(WIXSTDBA_STATE_INSTALLDIR, S_OK); - } - - - BOOL CheckNonEmptyField(LPCWSTR wzEditVarID) - { - BOOL bRes = TRUE; - LPWSTR sczFieldValue = NULL; - - if (SUCCEEDED(BalGetStringVariable(wzEditVarID, &sczFieldValue))) - { - if (StrCmpCW(sczFieldValue, L"") == 0) - { - LOC_STRING* pLocString = NULL; - LPWSTR wzLoc = NULL; - LPWSTR sczMessageText = NULL; - - StrAllocFormatted(&wzLoc, L"#(loc.%s)", wzEditVarID); - LocGetString(m_pWixLoc, wzLoc, &pLocString); - StrAllocFormatted(&sczMessageText, L"The field \"%s\" cannot be blank! In order to continue with setup you should fill it.", pLocString->wzText); - - ::MessageBoxW(m_hWnd, sczMessageText, m_pTheme->sczCaption, MB_ICONEXCLAMATION | MB_OK); - bRes = FALSE; - } - } - return bRes; - } - - - - - BOOL CheckCurrentUserPassword(LPCWSTR wzPasswordVarID) - { - LPWSTR sczUserNameValue = NULL; - LPWSTR sczDomainValue = NULL; - LPWSTR sczPasswordValue = NULL; - - BOOL bRes = SUCCEEDED(BalGetStringVariable(L"ComputerName", &sczDomainValue)) && - SUCCEEDED(BalGetStringVariable(L"LogonUser", &sczUserNameValue)) && - SUCCEEDED(BalGetStringVariable(wzPasswordVarID, &sczPasswordValue)); - - BalLog(BOOTSTRAPPER_LOG_LEVEL_STANDARD, "CheckCurrentUserPassword. 1"); - - - if (bRes) - { - BalLog(BOOTSTRAPPER_LOG_LEVEL_STANDARD, "CheckCurrentUserPassword. 2"); - HANDLE hToken; - if (!LogonUserW(sczUserNameValue, sczDomainValue, sczPasswordValue, LOGON32_LOGON_NETWORK, LOGON32_PROVIDER_DEFAULT, &hToken)) - { - BalLog(BOOTSTRAPPER_LOG_LEVEL_STANDARD, "CheckCurrentUserPassword. 3 - Failed"); - - LPWSTR sczMessageText = NULL; - StrAllocFormatted(&sczMessageText, L"Setup was unable to validate specified password for \"%s\\%s\"! Please double check it.", sczDomainValue, sczUserNameValue); - - ::MessageBoxW(m_hWnd, sczMessageText, m_pTheme->sczCaption, MB_ICONEXCLAMATION | MB_OK); - bRes = FALSE; - } - else - { - BalLog(BOOTSTRAPPER_LOG_LEVEL_STANDARD, "CheckCurrentUserPassword. 4 - Succeed"); - } - } - return bRes; - } - - - - - - /* - - BOOL CheckPostgreSQLConnection(LPCWSTR VAR_HOST, LPCWSTR VAR_USER, LPCWSTR VAR_PASS, LPCWSTR DB_ToCheck, BOOL DB_ShouldExists) - { - BOOL bPSQLOk = CheckNonEmptyField(VAR_HOST) && CheckNonEmptyField(VAR_USER) && CheckNonEmptyField(VAR_PASS); - -// if (!bPSQLOk) return FALSE; - - LPWSTR sczPSQLPath = NULL; - LPWSTR sczPSQLDirectory = NULL; - - if (bPSQLOk && SUCCEEDED(PathRelativeToModule(&sczPSQLPath, L"qcPSQL.exe", m_hModule)) && SUCCEEDED(PathGetDirectory(sczPSQLPath, &sczPSQLDirectory))) - { - LPWSTR sczPSQLHost = NULL; - LPWSTR sczPSQLUser = NULL; - LPWSTR sczPSQLPass = NULL; - - if (SUCCEEDED(BalGetStringVariable(VAR_HOST, &sczPSQLHost)) && - SUCCEEDED(BalGetStringVariable(VAR_USER, &sczPSQLUser)) && - SUCCEEDED(BalGetStringVariable(VAR_PASS, &sczPSQLPass)) ) - { - DWORD exitcode = 0; - LPWSTR sczCmdParam = NULL; - if (DB_ToCheck == NULL) - StrAllocFormatted(&sczCmdParam, L"\"%s\" checkconnection -H%s -U%s -P%s", sczPSQLPath, sczPSQLHost, sczPSQLUser, sczPSQLPass); - else - StrAllocFormatted(&sczCmdParam, L"\"%s\" checkdbexists -H%s -U%s -P%s -CKDB%s", sczPSQLPath, sczPSQLHost, sczPSQLUser, sczPSQLPass, DB_ToCheck); - - _STARTUPINFOW si; - _PROCESS_INFORMATION pi; - - ZeroMemory( &si, sizeof(si) ); - si.cb = sizeof(si); - ZeroMemory( &pi, sizeof(pi) ); - - - // Start the child process. - if( CreateProcessW(NULL, // No module name (use command line) - sczCmdParam, // Command line - NULL, // Process handle not inheritable - NULL, // Thread handle not inheritable - FALSE, // Set handle inheritance to FALSE - CREATE_NO_WINDOW, // No creation flags - NULL, // Use parent's environment block - NULL, // Use parent's starting directory - &si, // Pointer to STARTUPINFO structure - &pi ) // Pointer to PROCESS_INFORMATION structure - ) - { - // Wait until child process exits. - WaitForSingleObject( pi.hProcess, INFINITE ); - - // get the process exit code - GetExitCodeProcess(pi.hProcess, (LPDWORD)&exitcode); - - // Close process and thread handles. - CloseHandle( pi.hProcess ); - CloseHandle( pi.hThread ); - } - - - - LPWSTR sczMessageText = NULL; - switch (exitcode) - { - case QCPSQL_ERROR_UNKNOWN: - sczMessageText = L"Setup was unable to connect to the specified database server. Unknown error.\nWould you like to continue anyway?"; - break; - case QCPSQL_ERROR_EXECSQL: - sczMessageText = L"Setup was unable to execute specified command.\nWould you like to continue anyway?"; - break; - case QCPSQL_ERROR_CONNECT: - sczMessageText = L"Setup was unable to connect to the specified database server.\nWould you like to continue anyway?"; - break; - case QCPSQL_ERROR_INVALIDARGS: - sczMessageText = L"Setup was unable to connect to the specified database server. Invalid arguments.\nWould you like to continue anyway?"; - break; - case QCPSQL_SUCCESS_DBNOTEXISTS: - if ((DB_ToCheck != NULL) && (DB_ShouldExists)) - StrAllocFormatted(&sczMessageText, L"The database \"%s\" does not exists on the host \"%s\".\nWould you like to continue anyway?", DB_ToCheck, sczPSQLHost); - break; - case QCPSQL_SUCCESS_DBEXISTS: - if ((DB_ToCheck != NULL) && (!DB_ShouldExists)) - StrAllocFormatted(&sczMessageText, L"The database \"%s\" already exists on the host \"%s\".\nWould you like to continue anyway?", DB_ToCheck, sczPSQLHost); - break; - default: - break; - } - - if (sczMessageText != NULL) - bPSQLOk = (IDYES == ::MessageBoxW(m_hWnd, sczMessageText, m_pTheme->sczCaption, MB_ICONEXCLAMATION | MB_YESNO)); - } - } - - return bPSQLOk; - } - */ - - BOOL CheckInstallPathIsValid(LPCWSTR wzInstallPath) - { - BOOL bPathIsValid = TRUE; - - if (StrCmpCW(wzInstallPath, L"") == 0) - { - bPathIsValid = FALSE; - ::MessageBoxW(m_hWnd, L"The install location cannot be blank. You must enter a full path with drive letter, like:\n\tC:\\Program Files\\App\n\nor a UNC path, like\n\t\\\\ServerName\\AppShare", m_pTheme->sczCaption, MB_ICONEXCLAMATION | MB_OK); - } else { - DWORD i = 0; - LPCWSTR wz = wzInstallPath; - BOOL bInvalidCharFound = FALSE; - while (*wz) - { - ++i; - if ((L'/' == *wz) || ((L':' == *wz) && (i != 2)) || (L'*' == *wz) || (L'?' == *wz) || - (L'"' == *wz) || (L'<' == *wz) || (L'>' == *wz) || (L'|' == *wz)) - bInvalidCharFound = TRUE; - ++wz; - } - - if (bInvalidCharFound) - { - bPathIsValid = FALSE; - ::MessageBoxW(m_hWnd, L"The install location cannot include any of the following characters:\n\n/ : * ? \" < > |", m_pTheme->sczCaption, MB_ICONEXCLAMATION | MB_OK); - } - } - return bPathIsValid; - } - - - BOOL CheckEmailAddressIsValid(LPCWSTR wzEmailVarID, LPCWSTR wzPassVarID = NULL, BOOL AllowBlank = TRUE) - { - BOOL bRes = TRUE; - LPWSTR sczEmailValue = NULL; - LPWSTR sczPassValue = NULL; - - if (SUCCEEDED(BalGetStringVariable(wzEmailVarID, &sczEmailValue))) - { - LOC_STRING* pLocString = NULL; - LPWSTR wzLoc = NULL; - LPWSTR sczMessageText = NULL; - - StrAllocFormatted(&wzLoc, L"#(loc.%s)", wzEmailVarID); - LocGetString(m_pWixLoc, wzLoc, &pLocString); - - BOOL bIsBlank = (StrCmpCW(sczEmailValue, L"") == 0); - - if (bIsBlank && AllowBlank) - return TRUE; - - if (bIsBlank) - { - bRes = FALSE; - StrAllocFormatted(&sczMessageText, L"The field \"%s\" cannot be blank! In order to continue with setup you should fill it.", pLocString->wzText); - } else { - DWORD i = 0; - DWORD iAt = 0; - DWORD iPt = 0; - - LPCWSTR wz = sczEmailValue; - while (*wz) - { - ++i; - if (L'@' == *wz) iAt = i; - if (L'.' == *wz) iPt = i; - ++wz; - } - bRes = (1 < iAt) && (iAt < iPt); - - if (!bRes) - StrAllocFormatted(&sczMessageText, L"The field \"%s\" dosen't seems to be a valid email address! Please double check that.", pLocString->wzText); - } - - if (!bRes) - ::MessageBoxW(m_hWnd, sczMessageText, m_pTheme->sczCaption, MB_ICONEXCLAMATION | MB_OK); - else { - if (wzPassVarID != NULL) - { - if (SUCCEEDED(BalGetStringVariable(wzPassVarID, &sczPassValue))) - if (StrCmpCW(sczEmailValue, L"") == 0) { - bRes = FALSE; - ::MessageBoxW(m_hWnd, L"You specified a valid email address but the account password is blank. The password is required!", m_pTheme->sczCaption, MB_ICONEXCLAMATION | MB_OK); - } - } - } - - } - - return bRes; - } - - - void OnClickNextButton() - { - BOOL bOkToContinue = TRUE; - LPWSTR sczPath = NULL; - - switch (m_state) - { - // this clause is dead code, since we cancelled the "choose an - // install directory" screen. but let's leave it in, in case we - // bring it back. - case WIXSTDBA_STATE_INSTALLDIR: - ThemeGetTextControl(m_pTheme, WIXSTDBA_CONTROL_INSTALLFOLDER_EDITBOX, &sczPath); - bOkToContinue = CheckInstallPathIsValid(sczPath); - - if (bOkToContinue) { - m_pEngine->SetVariableString(WIXSTDBA_VARIABLE_INSTALL_FOLDER, sczPath); - SavePageSettings(WIXSTDBA_PAGE_INSTALLDIR); - SetState(WIXSTDBA_STATE_SVC_OPTIONS, S_OK); - - // Display the elevation shield if perMachine installation - LONGLONG llElevated = 0; - if (SUCCEEDED(BalGetNumericVariable(WIXSTDBA_VARIABLE_PERMACHINE_INSTALL, &llElevated))) - ThemeControlElevates(m_pTheme, WIXSTDBA_CONTROL_INSTALL_BUTTON, (llElevated == 1)); - } - break; - - default: - SavePageSettings(WIXSTDBA_PAGE_INSTALL); - m_stateInstallPage = m_state; - SetState(WIXSTDBA_STATE_SVC_OPTIONS, S_OK); - break; - } - } - - - // - // OnClickInstallScope - allow user to choose between a perMachine and perUser install - // - void OnClickInstallScope() - { - LPWSTR sczPath = NULL; - LPWSTR sczFPath = NULL; - BOOL fPerMachineInst = ThemeIsControlChecked(m_pTheme, WIXSTDBA_CONTROL_PERMACHINE_RADIO); - - - if (fPerMachineInst) - { - if (SUCCEEDED(BalGetStringVariable(WIXSTDBA_VARIABLE_PERMACHINE_INSTALL_FOLDER, &sczPath)) - && SUCCEEDED(BalFormatString(sczPath, &sczFPath))) - ThemeSetTextControl(m_pTheme, WIXSTDBA_CONTROL_INSTALLFOLDER_EDITBOX, sczFPath); - } - else - { - if (SUCCEEDED(BalGetStringVariable(WIXSTDBA_VARIABLE_PERUSER_INSTALL_FOLDER, &sczPath)) - && SUCCEEDED(BalFormatString(sczPath, &sczFPath))) - ThemeSetTextControl(m_pTheme, WIXSTDBA_CONTROL_INSTALLFOLDER_EDITBOX, sczFPath); - } - } - - // - // OnClickInstallPostgressCheckbox - we will set defaults value and disable controls if checkbox was checked. - // - void OnClickSkipRegistrationCheckbox() - { - BOOL fSignIn = ThemeIsControlChecked(m_pTheme, WIXSTDBA_CONTROL_REGSIGNIN_RADIO); - - //if (fSkipReg) - //{ - // ThemeSetTextControl(m_pTheme, WIXSTDBA_CONTROL_DBHOST_EDIT, L"localhost"); - // ThemeSetTextControl(m_pTheme, WIXSTDBA_CONTROL_DBUSER_EDIT, L"postgres"); - // ThemeSetTextControl(m_pTheme, WIXSTDBA_CONTROL_DBPASS_EDIT, L"postgres"); - //} - - ThemeShowControl(m_pTheme, WIXSTDBA_CONTROL_REGMAIL_LABEL, !fSignIn); - ThemeShowControl(m_pTheme, WIXSTDBA_CONTROL_REGUSER_LABEL, !fSignIn); - ThemeShowControl(m_pTheme, WIXSTDBA_CONTROL_REGPASS_LABEL, !fSignIn); - ThemeShowControl(m_pTheme, WIXSTDBA_CONTROL_REGMAIL_EDIT, !fSignIn); - ThemeShowControl(m_pTheme, WIXSTDBA_CONTROL_REGUSER_EDIT, !fSignIn); - ThemeShowControl(m_pTheme, WIXSTDBA_CONTROL_REGPASS_EDIT, !fSignIn); - - ThemeShowControl(m_pTheme, WIXSTDBA_CONTROL_LOGUSER_OR_MAIL_LABEL, fSignIn); - ThemeShowControl(m_pTheme, WIXSTDBA_CONTROL_LOGPASS_LABEL, fSignIn); - ThemeShowControl(m_pTheme, WIXSTDBA_CONTROL_LOGUSER_OR_MAIL_EDIT, fSignIn); - ThemeShowControl(m_pTheme, WIXSTDBA_CONTROL_LOGPASS_EDIT, fSignIn); - } - - - - void OnSignIn() - { - BOOL fSignIn = ThemeIsControlChecked(m_pTheme, WIXSTDBA_CONTROL_REGSIGNIN_RADIO); - BOOL bOkToContinue = false; - - SavePageSettings(WIXSTDBA_PAGE_SVC_OPTIONS); - - if (fSignIn) - { - LPWSTR wzUserNameOrEmail = NULL; - LPWSTR wzUserPass = NULL; - if (SUCCEEDED(BalGetStringVariable(WIXSTDBA_VARIABLE_LOG_USERNAME_OR_MAIL, &wzUserNameOrEmail)) && - SUCCEEDED(BalGetStringVariable(WIXSTDBA_VARIABLE_LOG_PASS, &wzUserPass))) - { - bOkToContinue = REST_SignInOrRegister(true, wzUserNameOrEmail, NULL, NULL, wzUserPass); - } - } - else - { - LPWSTR wzUserName = NULL; - LPWSTR wzEmail = NULL; - LPWSTR wzUserPass = NULL; - if (SUCCEEDED(BalGetStringVariable(WIXSTDBA_VARIABLE_REG_MAIL, &wzEmail)) && - SUCCEEDED(BalGetStringVariable(WIXSTDBA_VARIABLE_REG_USER, &wzUserName)) && - SUCCEEDED(BalGetStringVariable(WIXSTDBA_VARIABLE_REG_PASS, &wzUserPass))) - { - bOkToContinue = REST_SignInOrRegister(false, NULL, wzUserName, wzEmail, wzUserPass); - } - } - - if (bOkToContinue) - this->SetState(WIXSTDBA_STATE_APPLIED, S_OK); - } - - - void OnClickBackButton() - { - BOOL bOkToContinue = TRUE; - LPWSTR sczPath = NULL; - - switch (m_state) - { - case WIXSTDBA_STATE_INSTALLDIR: - ThemeGetTextControl(m_pTheme, WIXSTDBA_CONTROL_INSTALLFOLDER_EDITBOX, &sczPath); - bOkToContinue = CheckInstallPathIsValid(sczPath); - - if (bOkToContinue) { - m_pEngine->SetVariableString(WIXSTDBA_VARIABLE_INSTALL_FOLDER, sczPath); - SavePageSettings(WIXSTDBA_PAGE_INSTALLDIR); - SetState(m_stateInstallPage, S_OK); - } - - break; - - case WIXSTDBA_STATE_SVC_OPTIONS: - SavePageSettings(WIXSTDBA_PAGE_SVC_OPTIONS); - SetState(WIXSTDBA_STATE_DETECTED, S_OK); - break; - } - - } - - - // - // OnClickOptionsBrowseButton - browse for install folder on the options page. - // - void OnClickOptionsBrowseButton(DWORD dwControl) - { - WCHAR wzPath[MAX_PATH] = { }; - BROWSEINFOW browseInfo = { }; - PIDLIST_ABSOLUTE pidl = NULL; - PIDLIST_ABSOLUTE pidlRoot = NULL; - - ::SHGetFolderLocation(m_hWnd, CSIDL_DRIVES, NULL, 0, &pidlRoot); - - browseInfo.hwndOwner = m_hWnd; - browseInfo.pszDisplayName = wzPath; - browseInfo.lpszTitle = m_pTheme->sczCaption; - browseInfo.ulFlags = BIF_RETURNONLYFSDIRS | BIF_USENEWUI; - browseInfo.pidlRoot = pidlRoot; - pidl = ::SHBrowseForFolderW(&browseInfo); - if (pidl && ::SHGetPathFromIDListW(pidl, wzPath)) - { - switch (dwControl) - { - case WIXSTDBA_CONTROL_BROWSE_BUTTON: - ThemeSetTextControl(m_pTheme, WIXSTDBA_CONTROL_INSTALLFOLDER_EDITBOX, wzPath); - break; - } - } - - if (pidl) - { - ::CoTaskMemFree(pidl); - } - - return; - } - - // - // OnClickOptionsOkButton - accept the changes made by the options page. - // - void OnClickOptionsOkButton() - { - HRESULT hr = S_OK; - LPWSTR sczPath = NULL; - - if (ThemeControlExists(m_pTheme, WIXSTDBA_CONTROL_INSTALLFOLDER_EDITBOX)) - { - hr = ThemeGetTextControl(m_pTheme, WIXSTDBA_CONTROL_INSTALLFOLDER_EDITBOX, &sczPath); - ExitOnFailure(hr, "Failed to get text from folder edit box."); - - // TODO: verify the path is valid. - - hr = m_pEngine->SetVariableString(WIXSTDBA_VARIABLE_INSTALL_FOLDER, sczPath); - ExitOnFailure(hr, "Failed to set the install folder."); - } - - - SavePageSettings(WIXSTDBA_PAGE_INSTALLDIR); - -LExit: - SetState(m_stateInstallPage, S_OK); - return; - } - - - // - // OnClickOptionsCancelButton - discard the changes made by the options page. - // - void OnClickOptionsCancelButton() - { - SetState(m_stateInstallPage, S_OK); - } - - - // - // OnClickRepairButton - start the repair. - // - void OnClickRepairButton() - { - this->OnPlan(BOOTSTRAPPER_ACTION_REPAIR); - } - - - // - // OnClickUninstallButton - start the uninstall. - // - void OnClickUninstallButton() - { - this->OnPlan(BOOTSTRAPPER_ACTION_UNINSTALL); - } - - - - void TryLaunchAfterInstall(LPWSTR wzVarTargetPath) - { - BOOL fLaunchAfterInstallTargetExists = BalStringVariableExists(wzVarTargetPath); - - HRESULT hr = S_OK; - LPWSTR sczUnformattedLaunchTarget = NULL; - LPWSTR sczLaunchTarget = NULL; - LPWSTR sczUnformattedArguments = NULL; - LPWSTR sczArguments = NULL; - LPWSTR sczRunOnceValue = NULL; - - int nCmdShow = SW_SHOWNORMAL; - - if (fLaunchAfterInstallTargetExists) - { - hr = BalGetStringVariable(wzVarTargetPath, &sczUnformattedLaunchTarget); - hr = BalFormatString(sczUnformattedLaunchTarget, &sczLaunchTarget); - } - - if (m_fInstallSucceed && fLaunchAfterInstallTargetExists) - { - - if (!m_fRestartRequired) - { - DWORD dwAttr; - if (FileExistsEx(sczLaunchTarget, &dwAttr)) - ShelExec(sczLaunchTarget, sczArguments, L"open", NULL, nCmdShow, m_hWnd, NULL); - } - } - - ReleaseStr(sczUnformattedLaunchTarget); - ReleaseStr(sczLaunchTarget); - ReleaseStr(sczUnformattedArguments); - ReleaseStr(sczArguments); - ReleaseStr(sczRunOnceValue); - - return; - } - - // - // OnClickCloseButton - close the application. - // - void OnClickCloseButton() - { - TryLaunchAfterInstall(L"Launch_IISStartServerPath"); - TryLaunchAfterInstall(L"Launch_EverywarePOSPath"); - ::SendMessageW(m_hWnd, WM_CLOSE, 0, 0); - return; - } - - - // - // OnClickEulaLink - show the end user license agreement. - // - void OnClickEulaLink() - { - HRESULT hr = S_OK; - LPWSTR sczLicenseUrl = NULL; - LPWSTR sczLicensePath = NULL; - LPWSTR sczLicenseDirectory = NULL; - URI_PROTOCOL protocol = URI_PROTOCOL_UNKNOWN; - - hr = StrAllocString(&sczLicenseUrl, m_sczLicenseUrl, 0); - BalExitOnFailure1(hr, "Failed to copy license URL: %ls", m_sczLicenseUrl); - - hr = LocLocalizeString(m_pWixLoc, &sczLicenseUrl); - BalExitOnFailure1(hr, "Failed to localize license URL: %ls", m_sczLicenseUrl); - - hr = BalFormatString(sczLicenseUrl, &sczLicenseUrl); - BalExitOnFailure1(hr, "Failed to get formatted license URL: %ls", m_sczLicenseUrl); - - hr = UriProtocol(sczLicenseUrl, &protocol); - if (FAILED(hr) || URI_PROTOCOL_UNKNOWN == protocol) - { - // Probe for localised license file - hr = PathRelativeToModule(&sczLicensePath, sczLicenseUrl, m_hModule); - if (SUCCEEDED(hr)) - { - hr = PathGetDirectory(sczLicensePath, &sczLicenseDirectory); - if (SUCCEEDED(hr)) - { - hr = LocProbeForFile(sczLicenseDirectory, PathFile(sczLicenseUrl), m_sczLanguage, &sczLicensePath); - } - } - } - - hr = ShelExec(sczLicensePath ? sczLicensePath : sczLicenseUrl, NULL, L"open", NULL, SW_SHOWDEFAULT, m_hWnd, NULL); - BalExitOnFailure(hr, "Failed to launch URL to EULA."); - -LExit: - ReleaseStr(sczLicensePath); - ReleaseStr(sczLicenseUrl); - ReleaseStr(sczLicenseDirectory); - - return; - } - - - // - // OnClickUpgradeLink - download the upgrade. - // - void OnClickUpgradeLink() - { - this->OnPlan(BOOTSTRAPPER_ACTION_UPDATE_REPLACE); - - m_fUpdating = TRUE; - - return; - } - - - // - // OnClickLaunchButton - launch the app from the success page. - // - void OnClickLaunchButton() - { - HRESULT hr = S_OK; - LPWSTR sczUnformattedLaunchTarget = NULL; - LPWSTR sczLaunchTarget = NULL; - LPWSTR sczUnformattedArguments = NULL; - LPWSTR sczArguments = NULL; - int nCmdShow = SW_SHOWNORMAL; - - hr = BalGetStringVariable(WIXSTDBA_VARIABLE_LAUNCH_TARGET_PATH, &sczUnformattedLaunchTarget); - BalExitOnFailure1(hr, "Failed to get launch target variable '%ls'.", WIXSTDBA_VARIABLE_LAUNCH_TARGET_PATH); - - hr = BalFormatString(sczUnformattedLaunchTarget, &sczLaunchTarget); - BalExitOnFailure1(hr, "Failed to format launch target variable: %ls", sczUnformattedLaunchTarget); - - if (BalStringVariableExists(WIXSTDBA_VARIABLE_LAUNCH_ARGUMENTS)) - { - hr = BalGetStringVariable(WIXSTDBA_VARIABLE_LAUNCH_ARGUMENTS, &sczUnformattedArguments); - BalExitOnFailure1(hr, "Failed to get launch arguments '%ls'.", WIXSTDBA_VARIABLE_LAUNCH_ARGUMENTS); - - hr = BalFormatString(sczUnformattedArguments, &sczArguments); - BalExitOnFailure1(hr, "Failed to format launch arguments variable: %ls", sczUnformattedArguments); - } - - if (BalStringVariableExists(WIXSTDBA_VARIABLE_LAUNCH_HIDDEN)) - { - nCmdShow = SW_HIDE; - } - - hr = ShelExec(sczLaunchTarget, sczArguments, L"open", NULL, nCmdShow, m_hWnd, NULL); - BalExitOnFailure1(hr, "Failed to launch target: %ls", sczLaunchTarget); - - ::PostMessageW(m_hWnd, WM_CLOSE, 0, 0); - -LExit: - ReleaseStr(sczLaunchTarget); - ReleaseStr(sczUnformattedLaunchTarget); - ReleaseStr(sczArguments); - ReleaseStr(sczUnformattedArguments); - - return; - } - - - // - // OnClickRestartButton - allows the restart and closes the app. - // - void OnClickRestartButton() - { - AssertSz(m_fRestartRequired, "Restart must be requested to be able to click on the restart button."); - - m_fAllowRestart = TRUE; - ::SendMessageW(m_hWnd, WM_CLOSE, 0, 0); - - return; - } - - - // - // OnClickLogFileLink - show the log file. - // - void OnClickLogFileLink() - { - HRESULT hr = S_OK; - LPWSTR sczLogFile = NULL; - - hr = BalGetStringVariable(m_Bundle.sczLogVariable, &sczLogFile); - BalExitOnFailure1(hr, "Failed to get log file variable '%ls'.", m_Bundle.sczLogVariable); - - hr = ShelExec(L"notepad.exe", sczLogFile, L"open", NULL, SW_SHOWDEFAULT, m_hWnd, NULL); - BalExitOnFailure1(hr, "Failed to open log file target: %ls", sczLogFile); - -LExit: - ReleaseStr(sczLogFile); - - return; - } - - - // - // SetState - // - void SetState( - __in WIXSTDBA_STATE state, - __in HRESULT hrStatus - ) - { - if (FAILED(hrStatus)) - { - m_hrFinal = hrStatus; - } - - if (FAILED(m_hrFinal)) - { - state = WIXSTDBA_STATE_FAILED; - } - - if (WIXSTDBA_STATE_INSTALLDIR == state || m_state < state) - { - ::PostMessageW(m_hWnd, WM_WIXSTDBA_CHANGE_STATE, 0, state); - } - - if (WIXSTDBA_STATE_INSTALLDIR == state || m_state < state) - { - ::PostMessageW(m_hWnd, WM_WIXSTDBA_CHANGE_STATE, 0, state); - } - - if (WIXSTDBA_STATE_SVC_OPTIONS == state || m_state < state) - { - ::PostMessageW(m_hWnd, WM_WIXSTDBA_CHANGE_STATE, 0, state); - } - } - - - void DeterminePageId( - __in WIXSTDBA_STATE state, - __out DWORD* pdwPageId - ) - { - if (BOOTSTRAPPER_DISPLAY_PASSIVE == m_command.display) - { - switch (state) - { - case WIXSTDBA_STATE_INITIALIZED: - *pdwPageId = BOOTSTRAPPER_ACTION_HELP == m_command.action ? m_rgdwPageIds[WIXSTDBA_PAGE_HELP] : m_rgdwPageIds[WIXSTDBA_PAGE_LOADING]; - break; - - case WIXSTDBA_STATE_HELP: - *pdwPageId = m_rgdwPageIds[WIXSTDBA_PAGE_HELP]; - break; - - case WIXSTDBA_STATE_DETECTING: - *pdwPageId = m_rgdwPageIds[WIXSTDBA_PAGE_LOADING] ? m_rgdwPageIds[WIXSTDBA_PAGE_LOADING] : m_rgdwPageIds[WIXSTDBA_PAGE_PROGRESS_PASSIVE] ? m_rgdwPageIds[WIXSTDBA_PAGE_PROGRESS_PASSIVE] : m_rgdwPageIds[WIXSTDBA_PAGE_PROGRESS]; - break; - - case WIXSTDBA_STATE_DETECTED: __fallthrough; - case WIXSTDBA_STATE_PLANNING: __fallthrough; - case WIXSTDBA_STATE_PLANNED: __fallthrough; - case WIXSTDBA_STATE_APPLYING: __fallthrough; - case WIXSTDBA_STATE_CACHING: __fallthrough; - case WIXSTDBA_STATE_CACHED: __fallthrough; - case WIXSTDBA_STATE_EXECUTING: __fallthrough; - case WIXSTDBA_STATE_EXECUTED: - *pdwPageId = m_rgdwPageIds[WIXSTDBA_PAGE_PROGRESS_PASSIVE] ? m_rgdwPageIds[WIXSTDBA_PAGE_PROGRESS_PASSIVE] : m_rgdwPageIds[WIXSTDBA_PAGE_PROGRESS]; - break; - - default: - *pdwPageId = 0; - break; - } - } - else if (BOOTSTRAPPER_DISPLAY_FULL == m_command.display) - { - switch (state) - { - case WIXSTDBA_STATE_INITIALIZING: - *pdwPageId = 0; - break; - - case WIXSTDBA_STATE_INITIALIZED: - *pdwPageId = BOOTSTRAPPER_ACTION_HELP == m_command.action ? m_rgdwPageIds[WIXSTDBA_PAGE_HELP] : m_rgdwPageIds[WIXSTDBA_PAGE_LOADING]; - break; - - case WIXSTDBA_STATE_HELP: - *pdwPageId = m_rgdwPageIds[WIXSTDBA_PAGE_HELP]; - break; - - case WIXSTDBA_STATE_DETECTING: - *pdwPageId = m_rgdwPageIds[WIXSTDBA_PAGE_LOADING]; - break; - - case WIXSTDBA_STATE_DETECTED: - switch (m_command.action) - { - case BOOTSTRAPPER_ACTION_INSTALL: - *pdwPageId = m_rgdwPageIds[WIXSTDBA_PAGE_INSTALL]; - break; - - case BOOTSTRAPPER_ACTION_MODIFY: __fallthrough; - case BOOTSTRAPPER_ACTION_REPAIR: __fallthrough; - case BOOTSTRAPPER_ACTION_UNINSTALL: - *pdwPageId = m_rgdwPageIds[WIXSTDBA_PAGE_MODIFY]; - break; - } - break; - - case WIXSTDBA_STATE_INSTALLDIR: - *pdwPageId = m_rgdwPageIds[WIXSTDBA_PAGE_INSTALLDIR]; - break; - - case WIXSTDBA_STATE_SVC_OPTIONS: - *pdwPageId = m_rgdwPageIds[WIXSTDBA_PAGE_SVC_OPTIONS]; - break; - - case WIXSTDBA_STATE_PLANNING: __fallthrough; - case WIXSTDBA_STATE_PLANNED: __fallthrough; - case WIXSTDBA_STATE_APPLYING: __fallthrough; - case WIXSTDBA_STATE_CACHING: __fallthrough; - case WIXSTDBA_STATE_CACHED: __fallthrough; - case WIXSTDBA_STATE_EXECUTING: __fallthrough; - case WIXSTDBA_STATE_EXECUTED: - *pdwPageId = m_rgdwPageIds[WIXSTDBA_PAGE_PROGRESS]; - break; - - case WIXSTDBA_STATE_APPLIED: - *pdwPageId = m_rgdwPageIds[WIXSTDBA_PAGE_SUCCESS]; - CopyBundleLogToSpecifiedPath(); - break; - - case WIXSTDBA_STATE_FAILED: - *pdwPageId = m_rgdwPageIds[WIXSTDBA_PAGE_FAILURE]; - CopyBundleLogToSpecifiedPath(); - break; - } - } - } - - - HRESULT EvaluateConditions() - { - HRESULT hr = S_OK; - BOOL fResult = FALSE; - - for (DWORD i = 0; i < m_Conditions.cConditions; ++i) - { - BAL_CONDITION* pCondition = m_Conditions.rgConditions + i; - - hr = BalConditionEvaluate(pCondition, m_pEngine, &fResult, &m_sczFailedMessage); - BalExitOnFailure(hr, "Failed to evaluate condition."); - - if (!fResult) - { - hr = E_WIXSTDBA_CONDITION_FAILED; - BalExitOnFailure1(hr, "Bundle condition evaluated to false: %ls", pCondition->sczCondition); - } - } - - ReleaseNullStr(m_sczFailedMessage); - -LExit: - return hr; - } - - - - void CopyBundleLogToSpecifiedPath() - { - /// On package install complete, if WIXSTDBA_VARIABLE_LOGSPATH is defined - /// then will move bundle installation log to the specified path. - if (!m_fOverallInstallationStarted) - return; - - if (BalStringVariableExists(WIXSTDBA_VARIABLE_LOGSPATH)) - { - LPWSTR wzBundleLog = NULL; - LPWSTR wzInstallLogPath = NULL; - LPWSTR wzDstBundleLog = NULL; - - if ( SUCCEEDED(BalGetStringVariable(WIXSTDBA_VARIABLE_LOGSPATH, &wzInstallLogPath)) && - SUCCEEDED(BalGetStringVariable(L"WixBundleLog", &wzBundleLog))) - { - StrAllocFormatted(&wzDstBundleLog, L"%s\\%s", wzInstallLogPath, PathFile(wzBundleLog)); - DirEnsureExists(wzInstallLogPath, NULL); - FileEnsureCopy(wzBundleLog, wzDstBundleLog, TRUE); - } else - BalLog(BOOTSTRAPPER_LOG_LEVEL_STANDARD, "Setup was unable to copy bundle log to the specified installation log path."); - } - - return; - } - - - - void SetTaskbarButtonProgress( - __in DWORD dwOverallPercentage - ) - { - HRESULT hr = S_OK; - if (m_fAttachedToConsole) - { - CONSOLE_SCREEN_BUFFER_INFO csbiInfo; - if (GetConsoleScreenBufferInfo(m_fStdConsoleHandle, &csbiInfo)) - { - csbiInfo.dwCursorPosition.X = 0; - SetConsoleCursorPosition(m_fStdConsoleHandle, csbiInfo.dwCursorPosition); - } - - int lnWidth = 79; - int barWidth = 60; - int pos = int(barWidth * dwOverallPercentage/100); - char szPgLine[200] = "["; - - for (int i = 0; i < barWidth; ++i) - { - if (i < pos) - { - sprintf_s(szPgLine, lnWidth, "%s%s", szPgLine, "="); - } - else if (i == pos) - { - sprintf_s(szPgLine, lnWidth, "%s%s", szPgLine, ">"); - } - else - { - sprintf_s(szPgLine, lnWidth, "%s%s", szPgLine, " "); - } - } - sprintf_s(szPgLine, lnWidth, "%s] %u%%", szPgLine, dwOverallPercentage); - - DWORD dSzWritten; - WriteConsole(m_fStdConsoleHandle, szPgLine, strlen(szPgLine), &dSzWritten, NULL); - // m_fStdConsoleHandle = NULL; - } - - - if (m_fTaskbarButtonOK) - { -// hr = m_pTaskbarList->SetProgressValue(m_hWnd, dwOverallPercentage, 100UL); - BalExitOnFailure1(hr, "Failed to set taskbar button progress to: %d%%.", dwOverallPercentage); - } - -LExit: - return; - } - - - void SetTaskbarButtonState( - __in TBPFLAG tbpFlags - ) - { - HRESULT hr = S_OK; - - if (m_fTaskbarButtonOK) - { - hr = m_pTaskbarList->SetProgressState(m_hWnd, tbpFlags); - BalExitOnFailure1(hr, "Failed to set taskbar button state.", tbpFlags); - } - -LExit: - return; - } - - - void SetProgressState( - __in HRESULT hrStatus - ) - { - TBPFLAG flag = TBPF_NORMAL; - - if (IsCanceled() || HRESULT_FROM_WIN32(ERROR_INSTALL_USEREXIT) == hrStatus) - { - flag = TBPF_PAUSED; - } - else if (IsRollingBack() || FAILED(hrStatus)) - { - flag = TBPF_ERROR; - } - - SetTaskbarButtonState(flag); - } - - - void SavePageSettings( - __in WIXSTDBA_PAGE page - ) - { - THEME_PAGE* pPage = NULL; - - pPage = ThemeGetPage(m_pTheme, m_rgdwPageIds[page]); - if (pPage) - { - for (DWORD i = 0; i < pPage->cControlIndices; ++i) - { - // Loop through all the checkbox controls (or buttons with BS_AUTORADIOBUTTON) with names and set a Burn variable with that name to true or false. - THEME_CONTROL* pControl = m_pTheme->rgControls + pPage->rgdwControlIndices[i]; - if ((THEME_CONTROL_TYPE_CHECKBOX == pControl->type) || - (THEME_CONTROL_TYPE_BUTTON == pControl->type && (BS_AUTORADIOBUTTON == (BS_AUTORADIOBUTTON & pControl->dwStyle)) && - pControl->sczName && *pControl->sczName)) - { - BOOL bChecked = ThemeIsControlChecked(m_pTheme, pControl->wId); - m_pEngine->SetVariableNumeric(pControl->sczName, bChecked ? 1 : 0); - } - - // Loop through all the editbox controls with names and set a Burn variable with that name to the contents. - if (THEME_CONTROL_TYPE_EDITBOX == pControl->type && pControl->sczName && *pControl->sczName && - (WIXSTDBA_CONTROL_INSTALLFOLDER_EDITBOX != pControl->wId)) - { - LPWSTR sczValue = NULL; - ThemeGetTextControl(m_pTheme, pControl->wId, &sczValue); - m_pEngine->SetVariableString(pControl->sczName, sczValue); - } - } - } - } - - - - HRESULT LoadBootstrapperBAFunctions() - { - HRESULT hr = S_OK; - LPWSTR sczBafPath = NULL; - - hr = PathRelativeToModule(&sczBafPath, L"bafunctions.dll", m_hModule); - BalExitOnFailure(hr, "Failed to get path to BA function DLL."); - -#ifdef DEBUG - BalLog(BOOTSTRAPPER_LOG_LEVEL_STANDARD, "WIXEXTBA: LoadBootstrapperBAFunctions() - BA function DLL '%ls'", sczBafPath); -#endif - - m_hBAFModule = ::LoadLibraryW(sczBafPath); - if (m_hBAFModule) - { - PFN_BOOTSTRAPPER_BA_FUNCTION_CREATE pfnBAFunctionCreate = reinterpret_cast(::GetProcAddress(m_hBAFModule, "CreateBootstrapperBAFunction")); - BalExitOnNullWithLastError1(pfnBAFunctionCreate, hr, "Failed to get CreateBootstrapperBAFunction entry-point from: %ls", sczBafPath); - - hr = pfnBAFunctionCreate(m_pEngine, m_hBAFModule, &m_pBAFunction); - BalExitOnFailure(hr, "Failed to create BA function."); - } -#ifdef DEBUG - else - { - BalLogError(HRESULT_FROM_WIN32(::GetLastError()), "WIXEXTBA: LoadBootstrapperBAFunctions() - Failed to load DLL %ls", sczBafPath); - } -#endif - -LExit: - if (m_hBAFModule && !m_pBAFunction) - { - ::FreeLibrary(m_hBAFModule); - m_hBAFModule = NULL; - } - ReleaseStr(sczBafPath); - - return hr; - } - -typedef void (WINAPI *PGNSI)(LPSYSTEM_INFO); - -bool getWindowsUserAgent(std::string &str){ - OSVERSIONINFOEX osvi; - SYSTEM_INFO si; - BOOL bOsVersionInfoEx; - ZeroMemory(&si, sizeof(SYSTEM_INFO)); - ZeroMemory(&osvi, sizeof(OSVERSIONINFOEX)); osvi.dwOSVersionInfoSize = sizeof(OSVERSIONINFOEX); - bOsVersionInfoEx = GetVersionEx((OSVERSIONINFO*) &osvi); if(bOsVersionInfoEx == 0) - return false; - PGNSI pGNSI = (PGNSI) GetProcAddress(GetModuleHandle(TEXT("kernel32.dll")), "GetNativeSystemInfo"); - if(NULL != pGNSI) - pGNSI(&si); - else GetSystemInfo(&si); - std::stringstream os; - os << "Installer/wix os/win32 (Windows_NT; "; - os << osvi.dwMajorVersion << "." << osvi.dwMinorVersion << "." << osvi.dwBuildNumber; - os << "; ia32;)"; - str = os.str(); - return true; -} - - - #pragma comment( lib,"Wininet.lib") - - -#define BUF_LEN 1024 - -BOOL POSTRequest( - __in LPCSTR szHost, - __in LPCSTR szApiPath, - __in LPSTR szFormData, - __out LPSTR *ppszResponseMessage) -{ - BOOL bRes = false; - StrAnsiAlloc(ppszResponseMessage, BUF_LEN); - - std::string header = "Content-Type: application/x-www-form-urlencoded"; - - std::string userAgent; - if (getWindowsUserAgent(userAgent)) { - header += std::string("\nUser-Agent: "); - header += userAgent; - } - - LPCSTR method = "POST"; - LPCSTR agent = "Mozilla/4.0 (compatible; MSIE 1.0)"; - - HINTERNET internet = InternetOpenA(agent, INTERNET_OPEN_TYPE_PRECONFIG, NULL, NULL, 0); - if(internet != NULL) - { - HINTERNET connect = InternetConnectA(internet, szHost, INTERNET_DEFAULT_HTTPS_PORT, NULL, NULL, INTERNET_SERVICE_HTTP, 0, 0); - if(connect != NULL) - { - HINTERNET request = HttpOpenRequestA(connect, method, szApiPath, "HTTP/1.1", NULL, NULL, - INTERNET_FLAG_HYPERLINK | - INTERNET_FLAG_IGNORE_REDIRECT_TO_HTTP | - INTERNET_FLAG_IGNORE_REDIRECT_TO_HTTPS | - INTERNET_FLAG_NO_AUTH | - INTERNET_FLAG_NO_CACHE_WRITE | - INTERNET_FLAG_NO_UI | - INTERNET_FLAG_PRAGMA_NOCACHE | - INTERNET_FLAG_RELOAD | - INTERNET_FLAG_SECURE, NULL); - - if(request != NULL) - { - int datalen = 0; - if(szFormData != NULL) datalen = strlen(szFormData); - int headerlen = 0; - headerlen = (int)header.length(); - - if(HttpSendRequestA(request, header.c_str(), headerlen, szFormData, datalen)) - { - // We have succesfully sent the POST request - bRes = true; - - // Now we should read the response - DWORD bytesRead; - char holdBuff[4096]; - char* temp = holdBuff; - while (InternetReadFile(request, temp, 1024, &bytesRead) == TRUE && bytesRead > 0) - { - temp += bytesRead; - } - *temp = '\0'; // manually append NULL terminator - - StringCchPrintfA(*ppszResponseMessage, BUF_LEN, holdBuff); - } - else - StringCchPrintfA(*ppszResponseMessage, BUF_LEN, "Failed to send http request. Error code: %d", ::GetLastError()); - - InternetCloseHandle(request); - } - else - StringCchPrintfA(*ppszResponseMessage, BUF_LEN, "Failed to open http request."); - } - else - StringCchPrintfA(*ppszResponseMessage, BUF_LEN, "Connectiong to %s failed.", szHost); - - InternetCloseHandle(connect); - } - else - StringCchPrintfA(*ppszResponseMessage, BUF_LEN, "Initialize internet resources failed."); - InternetCloseHandle(internet); - - return bRes; -} - - -BOOL REST_SignInOrRegister( - __in BOOL fSignIn, - __in LPCWSTR wzSignInUserNameOrEmail, - __in LPCWSTR wzRegisterUsername, - __in LPCWSTR wzRegisterEmail, - __in LPCWSTR wzPassword/*, - __out LPWSTR *ppwzErrorMessage*/ - ) -{ - BOOL bRes = false; - wchar_t wzFormData[BUF_LEN] = L""; - - DWORD escapedLength; - - escapedLength = BUF_LEN; - wchar_t wzPasswordEscaped[BUF_LEN]; - UrlEscapeW(wzPassword, wzPasswordEscaped, &escapedLength, NULL); - - if (fSignIn) { - // sign in - wchar_t *wzUsernameOrEmailKey; - if (wcschr(wzSignInUserNameOrEmail, L'@')) { - wzUsernameOrEmailKey = L"meteorAccountsLoginInfo[email]"; - } else { - wzUsernameOrEmailKey = L"meteorAccountsLoginInfo[username]"; - } - - escapedLength = BUF_LEN; - wchar_t wzSignInUserNameOrEmailEscaped[BUF_LEN]; - UrlEscapeW(wzSignInUserNameOrEmail, wzSignInUserNameOrEmailEscaped, &escapedLength, NULL); - - StringCchPrintfW(wzFormData, BUF_LEN, L"%s=%s&meteorAccountsLoginInfo[password]=%s", wzUsernameOrEmailKey, wzSignInUserNameOrEmailEscaped, wzPasswordEscaped); - } else { - escapedLength = BUF_LEN; - wchar_t wzRegisterUsernameEscaped[BUF_LEN]; - UrlEscapeW(wzRegisterUsername, wzRegisterUsernameEscaped, &escapedLength, NULL); - - escapedLength = BUF_LEN; - wchar_t wzRegisterEmailEscaped[BUF_LEN]; - UrlEscapeW(wzRegisterEmail, wzRegisterEmailEscaped, &escapedLength, NULL); - - // register - StringCchPrintfW(wzFormData, BUF_LEN, L"username=%s&email=%s&password=%s", wzRegisterUsernameEscaped, wzRegisterEmailEscaped, wzPasswordEscaped); - } - - // agentInfo part of the query - wchar_t aiHostW[BUF_LEN] = L""; - DWORD aiHostSize = BUF_LEN; - GetComputerNameW(aiHostW, &aiHostSize); - - wchar_t wzAgentInfo[BUF_LEN] = L""; - StringCchPrintfW(wzAgentInfo, BUF_LEN, L"agentInfo[host]=%s&agentInfo[agent]=%s&agentInfo[agentVersion]=%s&agentInfo[arch]=%s", - aiHostW, L"Windows Installer", L"0.0", L"os.windows.x64_32"); - StringCchCatW(wzFormData, BUF_LEN, L"&"); - StringCchCatW(wzFormData, BUF_LEN, wzAgentInfo); - - size_t i; - char *pMBFormData = (char *)malloc( BUF_LEN ); - wcstombs_s(&i, pMBFormData, (size_t)BUF_LEN, wzFormData, (size_t)BUF_LEN ); - - char *pMBDataResponse = NULL; - wchar_t wzErrorMessage[BUF_LEN] = L""; - - char *path = fSignIn ? "/api/v1/private/login" - : "/api/v1/private/register"; - - if (POSTRequest("www.meteor.com", path, pMBFormData, &pMBDataResponse)) - { - JSONValue *JSONResponse = JSON::Parse(pMBDataResponse); - if (JSONResponse != NULL) - { - size_t n; - - // Retrieve the main object - JSONObject JSONRoot; - if (JSONResponse->IsObject() == false) - { - mbstowcs_s(&n, wzErrorMessage, BUF_LEN, pMBDataResponse, BUF_LEN); - } - else - { - JSONRoot = JSONResponse->AsObject(); - if (JSONRoot.find(L"reason") != JSONRoot.end() && JSONRoot[L"reason"]->IsString()) - { - StringCchPrintfW(wzErrorMessage, BUF_LEN, JSONRoot[L"reason"]->AsString().c_str()); - } - else - { - bRes = true; - - LPWSTR wzUMSFilePath = NULL; - LPWSTR wzUMSFileExpPath = NULL; - if (SUCCEEDED(BalGetStringVariable(WIXSTDBA_VARIABLE_USERMETEORSESSIONFILE, &wzUMSFilePath))) - { - if (SUCCEEDED(BalFormatString(wzUMSFilePath, &wzUMSFileExpPath))) - { - FileEnsureDelete(wzUMSFileExpPath); - HANDLE hFile = CreateFileW(wzUMSFileExpPath, GENERIC_ALL, 0, 0L, 1, 0x80L, 0); - if (hFile != INVALID_HANDLE_VALUE) - { - std::string innerSession = pMBDataResponse; - // In JS this would be: innerSession.userId = innerSession.id; delete innerSession.id; - innerSession.replace(innerSession.find("\"id\":"), strlen("\"id\":"), "\"userId\":"); - // In JS this would be: innerSession.type = "meteor-account" - innerSession.replace(innerSession.find("{"), 1, "{\"type\": \"meteor-account\", "); - - // In JS this would be: sessionData = {sessions: {"www.meteor.com": innerSession}} - std::string sessionData = "{\"sessions\": {\"www.meteor.com\": "; - sessionData += innerSession; - sessionData += "}}"; - - char sessionDataStr[BUF_LEN]; - strcpy_s(sessionDataStr, BUF_LEN, sessionData.c_str()); - - DWORD bytesWritten; - WriteFile(hFile, sessionDataStr, strlen(sessionDataStr), &bytesWritten, NULL); - CloseHandle(hFile); - } - } - } - } - } - } - else { - wcsncat_s(wzErrorMessage, L"Unknown error.", BUF_LEN-1); - } - - // Clean up JSON object - delete JSONResponse; - } else { - wcsncat_s(wzErrorMessage, L"Network error contacting the Meteor accounts server. Please retry, or skip this step and complete your registration later.", BUF_LEN-1); - } - - - if (bRes == false) - { - wchar_t wzMessage[BUF_LEN] = L""; - StringCchPrintfW(wzMessage, BUF_LEN, L"%s", wzErrorMessage); - MessageBoxW(m_hWnd, wzMessage, m_pTheme->sczCaption, MB_ICONEXCLAMATION | MB_OK); - } - - return bRes; -} - - - HRESULT DAPI LocGetString( - __in const WIX_LOCALIZATION* pWixLoc, - __in_z LPCWSTR wzId, - __out LOC_STRING** ppLocString - ) - { - HRESULT hr = E_NOTFOUND; - LOC_STRING* pLocString = NULL; - - for (DWORD i = 0; i < pWixLoc->cLocStrings; ++i) - { - pLocString = pWixLoc->rgLocStrings + i; - - if (CSTR_EQUAL == ::CompareStringW(LOCALE_INVARIANT, 0, pLocString->wzId, -1, wzId, -1)) - { - *ppLocString = pLocString; - hr = S_OK; - break; - } - } - - return hr; - } -public: - // - // Constructor - intitialize member variables. - // - CWixStandardBootstrapperApplication( - __in HMODULE hModule, - __in BOOL fPrereq, - __in IBootstrapperEngine* pEngine, - __in const BOOTSTRAPPER_COMMAND* pCommand - ) : CBalBaseBootstrapperApplication(pEngine, pCommand, 3, 3000) - { - m_hModule = hModule; - memcpy_s(&m_command, sizeof(m_command), pCommand, sizeof(BOOTSTRAPPER_COMMAND)); - - // Pre-req BA should only show help or do an install (to launch the Managed BA which can then do the right action). - if (fPrereq && BOOTSTRAPPER_ACTION_HELP != m_command.action && BOOTSTRAPPER_ACTION_INSTALL != m_command.action) - { - m_command.action = BOOTSTRAPPER_ACTION_INSTALL; - } - else // maybe modify the action state if the bundle is or is not already installed. - { - LONGLONG llInstalled = 0; - HRESULT hr = BalGetNumericVariable(L"WixBundleInstalled", &llInstalled); - if (SUCCEEDED(hr) && BOOTSTRAPPER_RESUME_TYPE_REBOOT != m_command.resumeType && 0 < llInstalled && BOOTSTRAPPER_ACTION_INSTALL == m_command.action) - { - m_command.action = BOOTSTRAPPER_ACTION_MODIFY; - } - else if (0 == llInstalled && (BOOTSTRAPPER_ACTION_MODIFY == m_command.action || BOOTSTRAPPER_ACTION_REPAIR == m_command.action)) - { - m_command.action = BOOTSTRAPPER_ACTION_INSTALL; - } - } - - m_plannedAction = BOOTSTRAPPER_ACTION_UNKNOWN; - - // When resuming from restart doing some install-like operation, try to find the package that forced the - // restart. We'll use this information during planning. - m_sczAfterForcedRestartPackage = NULL; - - if (BOOTSTRAPPER_RESUME_TYPE_REBOOT == m_command.resumeType && BOOTSTRAPPER_ACTION_UNINSTALL < m_command.action) - { - // Ensure the forced restart package variable is null when it is an empty string. - HRESULT hr = BalGetStringVariable(L"WixBundleForcedRestartPackage", &m_sczAfterForcedRestartPackage); - if (FAILED(hr) || !m_sczAfterForcedRestartPackage || !*m_sczAfterForcedRestartPackage) - { - ReleaseNullStr(m_sczAfterForcedRestartPackage); - } - } - - m_pWixLoc = NULL; - memset(&m_Bundle, 0, sizeof(m_Bundle)); - memset(&m_Conditions, 0, sizeof(m_Conditions)); - m_sczConfirmCloseMessage = NULL; - m_sczFailedMessage = NULL; - - m_sczLanguage = NULL; - m_pTheme = NULL; - memset(m_rgdwPageIds, 0, sizeof(m_rgdwPageIds)); - m_dwCurrentPage = 0; - m_hUiThread = NULL; - m_fRegistered = FALSE; - m_hWnd = NULL; - - m_state = WIXSTDBA_STATE_INITIALIZING; - m_hrFinal = S_OK; - - m_fDowngrading = FALSE; - m_restartResult = BOOTSTRAPPER_APPLY_RESTART_NONE; - m_fRestartRequired = FALSE; - m_fAllowRestart = FALSE; - - m_sczLicenseFile = NULL; - m_sczLicenseUrl = NULL; - m_fSuppressOptionsUI = FALSE; - m_fSuppressDowngradeFailure = FALSE; - m_fSuppressRepair = FALSE; - m_fShowVersion = FALSE; - m_fIsRepair = FALSE; - m_fIsUninstall = FALSE; - m_fInstallSucceed = FALSE; - m_fIsProductCore = FALSE; - m_sdOverridableVariables = NULL; - m_pTaskbarList = NULL; - m_uTaskbarButtonCreatedMessage = UINT_MAX; - m_fTaskbarButtonOK = FALSE; - m_fShowingInternalUiThisPackage = FALSE; - - m_fPrereq = fPrereq; - m_sczPrereqPackage = NULL; - m_fPrereqInstalled = FALSE; - m_fPrereqAlreadyInstalled = FALSE; - m_fOverallInstallationStarted = FALSE; - m_fUpdating = FALSE; - m_fOutputToConsole = FALSE; - m_fAttachedToConsole = FALSE; - m_fStdConsoleHandle = NULL; - - pEngine->AddRef(); - m_pEngine = pEngine; - - m_hBAFModule = NULL; - m_pBAFunction = NULL; - } - - - // - // Destructor - release member variables. - // - ~CWixStandardBootstrapperApplication() - { - CopyBundleLogToSpecifiedPath(); - AssertSz(!::IsWindow(m_hWnd), "Window should have been destroyed before destructor."); - AssertSz(!m_pTheme, "Theme should have been released before destuctor."); - - if (m_fAttachedToConsole) - { - FreeConsole(); - } - - ReleaseObject(m_pTaskbarList); - ReleaseDict(m_sdOverridableVariables); - ReleaseStr(m_sczFailedMessage); - ReleaseStr(m_sczConfirmCloseMessage); - BalConditionsUninitialize(&m_Conditions); - BalInfoUninitialize(&m_Bundle); - LocFree(m_pWixLoc); - - ReleaseStr(m_sczLanguage); - ReleaseStr(m_sczLicenseFile); - ReleaseStr(m_sczLicenseUrl); - ReleaseStr(m_sczPrereqPackage); - ReleaseStr(m_sczAfterForcedRestartPackage); - ReleaseNullObject(m_pEngine); - - if (m_hBAFModule) - { - ::FreeLibrary(m_hBAFModule); - m_hBAFModule = NULL; - } - } - -private: - HMODULE m_hModule; - BOOTSTRAPPER_COMMAND m_command; - IBootstrapperEngine* m_pEngine; - BOOTSTRAPPER_ACTION m_plannedAction; - - LPWSTR m_sczAfterForcedRestartPackage; - - WIX_LOCALIZATION* m_pWixLoc; - BAL_INFO_BUNDLE m_Bundle; - BAL_CONDITIONS m_Conditions; - LPWSTR m_sczFailedMessage; - LPWSTR m_sczConfirmCloseMessage; - - LPWSTR m_sczLanguage; - THEME* m_pTheme; - DWORD m_rgdwPageIds[countof(vrgwzPageNames)]; - DWORD m_dwCurrentPage; - HANDLE m_hUiThread; - BOOL m_fRegistered; - HWND m_hWnd; - - WIXSTDBA_STATE m_state; - WIXSTDBA_STATE m_stateInstallPage; - HRESULT m_hrFinal; - - BOOL m_fStartedExecution; - DWORD m_dwCalculatedCacheProgress; - DWORD m_dwCalculatedExecuteProgress; - - BOOL m_fDowngrading; - BOOTSTRAPPER_APPLY_RESTART m_restartResult; - BOOL m_fRestartRequired; - BOOL m_fAllowRestart; - - LPWSTR m_sczLicenseFile; - LPWSTR m_sczLicenseUrl; - BOOL m_fSuppressOptionsUI; - BOOL m_fSuppressDowngradeFailure; - BOOL m_fSuppressRepair; - BOOL m_fShowVersion; - BOOL m_fIsRepair; - BOOL m_fIsUninstall; - BOOL m_fInstallSucceed; - - BOOTSTRAPPER_RELATED_OPERATION m_Operation; - - BOOL m_fIsProductCore; - BOOL m_fOverallInstallationStarted; - - - STRINGDICT_HANDLE m_sdOverridableVariables; - - BOOL m_fPrereq; - LPWSTR m_sczPrereqPackage; - BOOL m_fPrereqInstalled; - BOOL m_fPrereqAlreadyInstalled; - BOOL m_fOutputToConsole; - BOOL m_fAttachedToConsole; - HANDLE m_fStdConsoleHandle; - - ITaskbarList3* m_pTaskbarList; - UINT m_uTaskbarButtonCreatedMessage; - BOOL m_fTaskbarButtonOK; - BOOL m_fShowingInternalUiThisPackage; - - BOOL m_fUpdating; - LPCWSTR m_wzUpdateLocation; - - HMODULE m_hBAFModule; - IBootstrapperBAFunction* m_pBAFunction; -}; - - -// -// CreateUserExperience - creates a new IBurnUserExperience object. -// -HRESULT CreateBootstrapperApplication( - __in HMODULE hModule, - __in BOOL fPrereq, - __in IBootstrapperEngine* pEngine, - __in const BOOTSTRAPPER_COMMAND* pCommand, - __out IBootstrapperApplication** ppApplication - ) -{ - HRESULT hr = S_OK; - CWixStandardBootstrapperApplication* pApplication = NULL; - - pApplication = new CWixStandardBootstrapperApplication(hModule, fPrereq, pEngine, pCommand); - ExitOnNull(pApplication, hr, E_OUTOFMEMORY, "Failed to create new standard bootstrapper application object."); - - *ppApplication = pApplication; - pApplication = NULL; - -LExit: - ReleaseObject(pApplication); - return hr; -} diff --git a/scripts/windows/installer/WiXBalExtension/wixstdba/precomp.h b/scripts/windows/installer/WiXBalExtension/wixstdba/precomp.h deleted file mode 100755 index c3737268ed..0000000000 --- a/scripts/windows/installer/WiXBalExtension/wixstdba/precomp.h +++ /dev/null @@ -1,56 +0,0 @@ -//------------------------------------------------------------------------------------------------- -// -// Copyright (c) 2004, Outercurve Foundation. -// This software is released under Microsoft Reciprocal License (MS-RL). -// The license and further copyright text can be found in the file -// LICENSE.TXT at the root directory of the distribution. -// -// -// -// Precompiled header for standard bootstrapper application. -// -//------------------------------------------------------------------------------------------------- - -#pragma once - -#include -#include -#include -#include -#include -#include -#include -#include - -#include "dutil.h" -#include "memutil.h" -#include "dictutil.h" -#include "dirutil.h" -#include "fileutil.h" -#include "locutil.h" -#include "logutil.h" -#include "pathutil.h" -#include "resrutil.h" -#include "shelutil.h" -#include "strutil.h" -#include "thmutil.h" -#include "uriutil.h" -#include "xmlutil.h" - -#include "IBootstrapperEngine.h" -#include "IBootstrapperApplication.h" - -#include "BalBaseBootstrapperApplication.h" -#include "balinfo.h" -#include "balcondition.h" - -HRESULT CreateBootstrapperApplication( - __in HMODULE hModule, - __in BOOL fPrereq, - __in IBootstrapperEngine* pEngine, - __in const BOOTSTRAPPER_COMMAND* pCommand, - __out IBootstrapperApplication** ppApplication - ); - -#include "IBootstrapperBAFunction.h" - diff --git a/scripts/windows/installer/WiXBalExtension/wixstdba/resource.h b/scripts/windows/installer/WiXBalExtension/wixstdba/resource.h deleted file mode 100755 index 53c03c319f..0000000000 --- a/scripts/windows/installer/WiXBalExtension/wixstdba/resource.h +++ /dev/null @@ -1,25 +0,0 @@ -//------------------------------------------------------------------------------------------------- -// -// Copyright (c) 2004, Outercurve Foundation. -// This software is released under Microsoft Reciprocal License (MS-RL). -// The license and further copyright text can be found in the file -// LICENSE.TXT at the root directory of the distribution. -// -//------------------------------------------------------------------------------------------------- - -//{{NO_DEPENDENCIES}} -// Microsoft Visual C++ generated include file. -// -#define IDC_STATIC -1 - - -// Next default values for new objects -// -#ifdef APSTUDIO_INVOKED -#ifndef APSTUDIO_READONLY_SYMBOLS -#define _APS_NEXT_RESOURCE_VALUE 102 -#define _APS_NEXT_COMMAND_VALUE 40001 -#define _APS_NEXT_CONTROL_VALUE 1003 -#define _APS_NEXT_SYMED_VALUE 101 -#endif -#endif diff --git a/scripts/windows/installer/WiXBalExtension/wixstdba/wixstdba.cpp b/scripts/windows/installer/WiXBalExtension/wixstdba/wixstdba.cpp deleted file mode 100755 index 59c389ca95..0000000000 --- a/scripts/windows/installer/WiXBalExtension/wixstdba/wixstdba.cpp +++ /dev/null @@ -1,61 +0,0 @@ -//------------------------------------------------------------------------------------------------- -// -// Copyright (c) 2004, Outercurve Foundation. -// This software is released under Microsoft Reciprocal License (MS-RL). -// The license and further copyright text can be found in the file -// LICENSE.TXT at the root directory of the distribution. -// -// -// -// Setup chainer/bootstrapper standard UI for WiX toolset. -// -//------------------------------------------------------------------------------------------------- - -#include "precomp.h" - -static HINSTANCE vhInstance = NULL; - -extern "C" BOOL WINAPI DllMain( - IN HINSTANCE hInstance, - IN DWORD dwReason, - IN LPVOID /* pvReserved */ - ) -{ - switch(dwReason) - { - case DLL_PROCESS_ATTACH: - ::DisableThreadLibraryCalls(hInstance); - vhInstance = hInstance; - break; - - case DLL_PROCESS_DETACH: - vhInstance = NULL; - break; - } - - return TRUE; -} - - -extern "C" HRESULT WINAPI BootstrapperApplicationCreate( - __in IBootstrapperEngine* pEngine, - __in const BOOTSTRAPPER_COMMAND* pCommand, - __out IBootstrapperApplication** ppApplication - ) -{ - HRESULT hr = S_OK; - - BalInitialize(pEngine); - - hr = CreateBootstrapperApplication(vhInstance, FALSE, pEngine, pCommand, ppApplication); - BalExitOnFailure(hr, "Failed to create bootstrapper application interface."); - -LExit: - return hr; -} - - -extern "C" void WINAPI BootstrapperApplicationDestroy() -{ - BalUninitialize(); -} diff --git a/scripts/windows/installer/WiXBalExtension/wixstdba/wixstdba.def b/scripts/windows/installer/WiXBalExtension/wixstdba/wixstdba.def deleted file mode 100755 index e2de8e8f8a..0000000000 --- a/scripts/windows/installer/WiXBalExtension/wixstdba/wixstdba.def +++ /dev/null @@ -1,16 +0,0 @@ -;------------------------------------------------------------------------------------------------- -; -; Copyright (c) 2004, Outercurve Foundation. -; This software is released under Microsoft Reciprocal License (MS-RL). -; The license and further copyright text can be found in the file -; LICENSE.TXT at the root directory of the distribution. -; -; -; -; WiX Standard Bootstrapper Application DLL entry points. -; -;------------------------------------------------------------------------------------------------- - -EXPORTS - BootstrapperApplicationCreate - BootstrapperApplicationDestroy diff --git a/scripts/windows/installer/WiXBalExtension/wixstdba/wixstdba.rc b/scripts/windows/installer/WiXBalExtension/wixstdba/wixstdba.rc deleted file mode 100755 index 98a03baaed..0000000000 --- a/scripts/windows/installer/WiXBalExtension/wixstdba/wixstdba.rc +++ /dev/null @@ -1,19 +0,0 @@ -//------------------------------------------------------------------------------------------------- -// -// Copyright (c) 2004, Outercurve Foundation. -// This software is released under Microsoft Reciprocal License (MS-RL). -// The license and further copyright text can be found in the file -// LICENSE.TXT at the root directory of the distribution. -// -// -// -// WiX Extendend Bootstrapper Application resource file. -// -//------------------------------------------------------------------------------------------------- - -#define VER_APP -#define VER_ORIGINAL_FILENAME "wixextba.dll" -#define VER_INTERNAL_NAME "wixextba" -#define VER_PRODUCT_NAME "WiX Extendend Bootstrapper Application" -#define VER_FILE_DESCRIPTION "WiX Extendend Bootstrapper Application" -#include "wix.rc" diff --git a/scripts/windows/installer/WiXBalExtension/wixstdba/wixstdba.vcxproj b/scripts/windows/installer/WiXBalExtension/wixstdba/wixstdba.vcxproj deleted file mode 100755 index 55553440c0..0000000000 --- a/scripts/windows/installer/WiXBalExtension/wixstdba/wixstdba.vcxproj +++ /dev/null @@ -1,154 +0,0 @@ - - - - - - Debug - Win32 - - - Release - Win32 - - - - {41085a22-e6aa-4e8b-ab1b-ddee0dc89dfa} - WixStdBA - Win32Proj - DynamicLibrary - MultiByte - wixextba - - - - v100 - - - v100 - - - - - - - - - - <_ProjectFileVersion>10.0.30319.1 - $(Configuration)\ - $(Configuration)\ - true - AllRules.ruleset - - - $(Configuration)\ - $(Configuration)\ - true - AllRules.ruleset - - - - - - - - - - Disabled - $(WiX)SDK\inc;%(AdditionalIncludeDirectories) - WIN32;_DEBUG;_LIB;DEBUG;%(PreprocessorDefinitions);$(ExtraDefinitions) - true - EnableFastChecks - MultiThreadedDebug - NotUsing - precomp.h - $(IntDir)$(ProjectName).pdb - Level4 - ProgramDatabase - StdCall - true - 4995 - - - $(ProjectDir)..\inc;%(AdditionalIncludeDirectories) - - - dutil.lib;balutil.lib;comctl32.lib;msimg32.lib;gdiplus.lib;shlwapi.lib;wininet.lib;version.lib;%(AdditionalDependencies) - ..\..\WiXSDK\VS2010\lib\x86;%(AdditionalLibraryDirectories) - wixstdba.def - true - Windows - - - - - - - - - Disabled - ..\..\WiXSDK\inc;%(AdditionalIncludeDirectories) - WIN32;NDEBUG;_CONSOLE;%(PreprocessorDefinitions);$(ExtraDefinitions) - true - EnableFastChecks - MultiThreaded - NotUsing - precomp.h - $(IntDir)$(ProjectName).pdb - Level4 - ProgramDatabase - StdCall - true - 4995 - - - $(ProjectDir)..\inc;%(AdditionalIncludeDirectories) - - - dutil.lib;balutil.lib;comctl32.lib;msimg32.lib;gdiplus.lib;shlwapi.lib;wininet.lib;version.lib;%(AdditionalDependencies) - ..\..\WiXSDK\VS2010\lib\x86;%(AdditionalLibraryDirectories) - wixstdba.def - false - Windows - - - - - - - - Create - Create - - - - - - - - - - Designer - - - - - - - - - - - - - - - - \ No newline at end of file diff --git a/scripts/windows/installer/WiXBalExtension/wixstdba/wixstdba.vcxproj.filters b/scripts/windows/installer/WiXBalExtension/wixstdba/wixstdba.vcxproj.filters deleted file mode 100755 index 405b4233fb..0000000000 --- a/scripts/windows/installer/WiXBalExtension/wixstdba/wixstdba.vcxproj.filters +++ /dev/null @@ -1,73 +0,0 @@ - - - - - {4FC737F1-C7A5-4376-A066-2A32D752A2FF} - cpp;c;cc;cxx;def;odl;idl;hpj;bat;asm;asmx - - - {93995380-89BD-4b04-88EB-625FBE52EBFB} - h;hpp;hxx;hm;inl;inc;xsd - - - {67DA6AB6-F800-4c08-8B7A-83BB121AAD01} - rc;ico;cur;bmp;dlg;rc2;rct;bin;rgs;gif;jpg;jpeg;jpe;resx;tiff;tif;png;wav - - - - - Source Files - - - Source Files - - - Source Files - - - Source Files - - - - - Source Files - - - Resource Files - - - Resource Files - - - Resource Files - - - Resource Files - - - Resource Files - - - Resource Files - - - - - Header Files - - - Header Files - - - Header Files - - - Header Files - - - - - Resource Files - - - \ No newline at end of file diff --git a/scripts/windows/installer/WiXHelper/.gitignore b/scripts/windows/installer/WiXHelper/.gitignore deleted file mode 100644 index 57a1574c4f..0000000000 --- a/scripts/windows/installer/WiXHelper/.gitignore +++ /dev/null @@ -1,196 +0,0 @@ -## Ignore Visual Studio temporary files, build results, and -## files generated by popular Visual Studio add-ons. - -# User-specific files -*.suo -*.user -*.userosscache -*.sln.docstates - -# User-specific files (MonoDevelop/Xamarin Studio) -*.userprefs - -# Build results -[Dd]ebug/ -[Dd]ebugPublic/ -[Rr]elease/ -[Rr]eleases/ -x64/ -x86/ -build/ -bld/ -[Bb]in/ -[Oo]bj/ - -# Visual Studo 2015 cache/options directory -.vs/ - -# MSTest test Results -[Tt]est[Rr]esult*/ -[Bb]uild[Ll]og.* - -# NUNIT -*.VisualState.xml -TestResult.xml - -# Build Results of an ATL Project -[Dd]ebugPS/ -[Rr]eleasePS/ -dlldata.c - -*_i.c -*_p.c -*_i.h -*.ilk -*.meta -*.obj -*.pch -*.pdb -*.pgc -*.pgd -*.rsp -*.sbr -*.tlb -*.tli -*.tlh -*.tmp -*.tmp_proj -*.log -*.vspscc -*.vssscc -.builds -*.pidb -*.svclog -*.scc - -# Chutzpah Test files -_Chutzpah* - -# Visual C++ cache files -ipch/ -*.aps -*.ncb -*.opensdf -*.sdf -*.cachefile - -# Visual Studio profiler -*.psess -*.vsp -*.vspx - -# TFS 2012 Local Workspace -$tf/ - -# Guidance Automation Toolkit -*.gpState - -# ReSharper is a .NET coding add-in -_ReSharper*/ -*.[Rr]e[Ss]harper -*.DotSettings.user - -# JustCode is a .NET coding addin-in -.JustCode - -# TeamCity is a build add-in -_TeamCity* - -# DotCover is a Code Coverage Tool -*.dotCover - -# NCrunch -_NCrunch_* -.*crunch*.local.xml - -# MightyMoose -*.mm.* -AutoTest.Net/ - -# Web workbench (sass) -.sass-cache/ - -# Installshield output folder -[Ee]xpress/ - -# DocProject is a documentation generator add-in -DocProject/buildhelp/ -DocProject/Help/*.HxT -DocProject/Help/*.HxC -DocProject/Help/*.hhc -DocProject/Help/*.hhk -DocProject/Help/*.hhp -DocProject/Help/Html2 -DocProject/Help/html - -# Click-Once directory -publish/ - -# Publish Web Output -*.[Pp]ublish.xml -*.azurePubxml -# TODO: Comment the next line if you want to checkin your web deploy settings -# but database connection strings (with potential passwords) will be unencrypted -*.pubxml -*.publishproj - -# NuGet Packages -*.nupkg -# The packages folder can be ignored because of Package Restore -**/packages/* -# except build/, which is used as an MSBuild target. -!**/packages/build/ -# Uncomment if necessary however generally it will be regenerated when needed -#!**/packages/repositories.config - -# Windows Azure Build Output -csx/ -*.build.csdef - -# Windows Store app package directory -AppPackages/ - -# Others -*.[Cc]ache -ClientBin/ -[Ss]tyle[Cc]op.* -~$* -*~ -*.dbmdl -*.dbproj.schemaview -*.pfx -*.publishsettings -node_modules/ -bower_components/ - -# RIA/Silverlight projects -Generated_Code/ - -# Backup & report files from converting an old project file -# to a newer Visual Studio version. Backup files are not needed, -# because we have git ;-) -_UpgradeReport_Files/ -Backup*/ -UpgradeLog*.XML -UpgradeLog*.htm - -# SQL Server files -*.mdf -*.ldf - -# Business Intelligence projects -*.rdl.data -*.bim.layout -*.bim_*.settings - -# Microsoft Fakes -FakesAssemblies/ - -# Node.js Tools for Visual Studio -.ntvs_analysis.dat - -# Visual Studio 6 build log -*.plg - -# Visual Studio 6 workspace options file -*.opt diff --git a/scripts/windows/installer/WiXHelper/CustomAction.cpp b/scripts/windows/installer/WiXHelper/CustomAction.cpp deleted file mode 100755 index 45f90349ee..0000000000 --- a/scripts/windows/installer/WiXHelper/CustomAction.cpp +++ /dev/null @@ -1,525 +0,0 @@ -#include "stdafx.h" - - -#include - -#include -#include - -#include -#include -#include - -#include -#include -#include - -#define BUF_LEN 1024 -#define MAX_LONG_PATH 2048 -#define LOG true - - - - - - - - -HRESULT ExtractBinary( - __in LPCWSTR wzBinaryId, - __out BYTE** pbData, - __out DWORD* pcbData - ) -{ - HRESULT hr = S_OK; - LPWSTR pwzSql = NULL; - PMSIHANDLE hView; - PMSIHANDLE hRec; - - // make sure we're not horked from the get-go - hr = WcaTableExists(L"Binary"); - if (S_OK != hr) - { - if (SUCCEEDED(hr)) - { - hr = E_UNEXPECTED; - } - ExitOnFailure(hr, "There is no Binary table."); - } - - ExitOnNull(wzBinaryId, hr, E_INVALIDARG, "Binary ID cannot be null"); - ExitOnNull(*wzBinaryId, hr, E_INVALIDARG, "Binary ID cannot be empty string"); - - hr = StrAllocFormatted(&pwzSql, L"SELECT `Data` FROM `Binary` WHERE `Name`=\'%s\'", wzBinaryId); - ExitOnFailure(hr, "Failed to allocate Binary table query."); - - hr = WcaOpenExecuteView(pwzSql, &hView); - ExitOnFailure(hr, "Failed to open view on Binary table"); - - hr = WcaFetchSingleRecord(hView, &hRec); - ExitOnFailure(hr, "Failed to retrieve request from Binary table"); - - hr = WcaGetRecordStream(hRec, 1, pbData, pcbData); - ExitOnFailure(hr, "Failed to read Binary.Data."); - -LExit: - ReleaseStr(pwzSql); - return hr; -} - - -HRESULT ExtractBinaryToFile( - __in LPCWSTR wzBinaryId, - __in LPCWSTR wzFilePath - ) -{ - HRESULT hr = S_OK; - BYTE* pbData = NULL; - DWORD cbData = 0; - DWORD cbWritten = 0; - - HANDLE hFile = INVALID_HANDLE_VALUE; - - wchar_t szTmpFile[BUF_LEN] = L""; DWORD nTmpFileLen = BUF_LEN; - hr = ExtractBinary(wzBinaryId, &pbData, &cbData); - - hFile = CreateFile(wzFilePath, GENERIC_WRITE,FILE_SHARE_WRITE, NULL, CREATE_ALWAYS, FILE_ATTRIBUTE_NORMAL, NULL); - if (hFile != INVALID_HANDLE_VALUE) { - WriteFile(hFile, pbData, cbData, &cbWritten, NULL); - CloseHandle(hFile); - } - else - { - hr = HRESULT_FROM_WIN32(::GetLastError()); - } - - return hr; -} - - - - -BOOL ExecuteCommandLine(LPWSTR CommandLine, DWORD & exitCode) -{ - PROCESS_INFORMATION processInformation = {0}; - STARTUPINFO startupInfo = {0}; - startupInfo.cb = sizeof(startupInfo); - - // Create the process - BOOL result = CreateProcess(NULL, CommandLine, - NULL, NULL, FALSE, - NORMAL_PRIORITY_CLASS | CREATE_NO_WINDOW, - NULL, NULL, &startupInfo, &processInformation); - - if (!result) - { - // CreateProcess() failed; Get the error from the system - LPVOID lpMsgBuf; - DWORD dw = GetLastError(); - FormatMessage(FORMAT_MESSAGE_ALLOCATE_BUFFER | FORMAT_MESSAGE_FROM_SYSTEM | FORMAT_MESSAGE_IGNORE_INSERTS, - NULL, dw, MAKELANGID(LANG_NEUTRAL, SUBLANG_DEFAULT), (LPTSTR) &lpMsgBuf, 0, NULL); - - // Display the error - LPTSTR strError = (LPTSTR) lpMsgBuf; - - // Free resources created by the system - LocalFree(lpMsgBuf); - - // We failed. - return FALSE; - } - else - { - // Successfully created the process. Wait for it to finish. - WaitForSingleObject( processInformation.hProcess, INFINITE ); - - // Get the exit code. - result = GetExitCodeProcess(processInformation.hProcess, &exitCode); - - // Close the handles. - CloseHandle( processInformation.hProcess ); - CloseHandle( processInformation.hThread ); - - if (!result) { - return FALSE; - } else { - // We succeeded. - return TRUE; - } - } -} - - -HRESULT UnzipToFolder( - MSIHANDLE hInstall, - __in LPCWSTR wzFriendlyName, - __in LPCWSTR wzTarGzFileName, - __in LPCWSTR wzDestPath - ) -{ - HRESULT hr = S_OK; - - WcaLog(LOGMSG_STANDARD, "Extract \"%S\" package initialized.", wzFriendlyName); - - wchar_t szSourceDir[BUF_LEN] = L""; DWORD nSourceDirDirLen = BUF_LEN; - wchar_t szTarGzFilePath[BUF_LEN] = L""; - wchar_t szTarFilePath[BUF_LEN] = L""; - MsiGetProperty(hInstall, L"SourceDir", szSourceDir, &nSourceDirDirLen); - StringCchPrintf(szTarGzFilePath, BUF_LEN, L"%s%s", szSourceDir, wzTarGzFileName); - StringCchPrintf(szTarFilePath, BUF_LEN, L"%s*.tar", szSourceDir); - - DWORD pdwAttr; - if (FileExistsEx(szTarGzFilePath, &pdwAttr) == TRUE) - { - //Extacting quality_cloud_production.sql to %TEMP% folder - wchar_t szTmpDir[BUF_LEN] = L""; DWORD nTmpDirLen = BUF_LEN; - wchar_t sz7Zip[BUF_LEN] = L""; - - wchar_t szCommandLine1[BUF_LEN] = L""; - wchar_t szCommandLine2[BUF_LEN] = L""; - - MsiGetProperty(hInstall, L"TempFolder", szTmpDir, &nTmpDirLen); - StringCchPrintf(sz7Zip, BUF_LEN, L"%s%s", szTmpDir, L"7za.exe"); - - DWORD pdwAttr; - if (FileExistsEx(sz7Zip, &pdwAttr) == FALSE) - { - hr = ExtractBinaryToFile(L"SevenZip", sz7Zip); - } - - DWORD nRes=0; - - // Remove old Meteor installs - wchar_t szCmdRemoveOld[BUF_LEN] = L""; - wchar_t szSysDir[BUF_LEN] = L""; - DWORD nSysDirLen = BUF_LEN; - MsiGetProperty(hInstall, L"SystemFolder", szSysDir, &nSysDirLen); - - LPTSTR ErrorMessage = NULL; - - StringCchPrintf(szCmdRemoveOld, BUF_LEN, L"%s\\cmd.exe /C \"RD /S /Q \"%s\\.meteor\">NUL\"", szSysDir, wzDestPath); - StringCchPrintf(szCommandLine1, BUF_LEN, L"\"%s\" x -o\"%s\" -y \"%s\"", sz7Zip, szSourceDir, szTarGzFilePath); - StringCchPrintf(szCommandLine2, BUF_LEN, L"\"%s\" x -o\"%s\" -y \"%s\"", sz7Zip, wzDestPath, szTarFilePath); - - if (! ExecuteCommandLine(szCmdRemoveOld, nRes)) { - FormatMessage(FORMAT_MESSAGE_ALLOCATE_BUFFER | FORMAT_MESSAGE_FROM_SYSTEM, NULL, HRESULT_FROM_WIN32(nRes), MAKELANGID(LANG_NEUTRAL, SUBLANG_DEFAULT), (LPTSTR)&ErrorMessage, 0, NULL); - if (NULL != ErrorMessage) WcaLog(LOGMSG_STANDARD, "Deleting old install completed with (%d): %S", nRes, ErrorMessage); - return HRESULT_FROM_WIN32(nRes); - } - - if (! ExecuteCommandLine(szCommandLine1, nRes)) { - FormatMessage(FORMAT_MESSAGE_ALLOCATE_BUFFER | FORMAT_MESSAGE_FROM_SYSTEM, NULL, HRESULT_FROM_WIN32(nRes), MAKELANGID(LANG_NEUTRAL, SUBLANG_DEFAULT), (LPTSTR)&ErrorMessage, 0, NULL); - if (NULL != ErrorMessage) WcaLog(LOGMSG_STANDARD, "Archive expanding completed with (%d): %S", nRes, ErrorMessage); - return HRESULT_FROM_WIN32(nRes); - } - - if (! ExecuteCommandLine(szCommandLine2, nRes)) { - FormatMessage(FORMAT_MESSAGE_ALLOCATE_BUFFER | FORMAT_MESSAGE_FROM_SYSTEM, NULL, HRESULT_FROM_WIN32(nRes), MAKELANGID(LANG_NEUTRAL, SUBLANG_DEFAULT), (LPTSTR)&ErrorMessage, 0, NULL); - if (NULL != ErrorMessage) WcaLog(LOGMSG_STANDARD, "Archive deployment completed with (%d): %S", nRes, ErrorMessage); - return HRESULT_FROM_WIN32(nRes); - } - } - else - { - hr = HRESULT_FROM_WIN32(ERROR_FILE_NOT_FOUND); - WcaLog(LOGMSG_STANDARD, "Failed to extract %S files. File not found: %S", wzFriendlyName, szTarGzFilePath); - } - - WcaLog(LOGMSG_STANDARD, "Extracting \"%S\" package completed.", wzFriendlyName); - - return hr; -} - - -UINT __stdcall Extract_MeteorFiles(MSIHANDLE hInstall) -{ - // If cancelled, don't try to extract anything. - wchar_t szValueBuf[64]; - DWORD szValueBufSize = 64; - MsiGetProperty(hInstall, L"Cancelled", szValueBuf, &szValueBufSize); - if (szValueBuf[0] == L'Y') - return 0; - - // Go ahead. - HRESULT hr = S_OK; - UINT er = ERROR_SUCCESS; - - hr = WcaInitialize(hInstall, "Extract_MeteorFiles"); - ExitOnFailure(hr, "Failed to initialize Extract_MeteorFiles"); - - wchar_t szMeteorDir[BUF_LEN] = L""; DWORD nMeteorDirLen = BUF_LEN; - MsiGetProperty(hInstall, L"METEOR_DIR", szMeteorDir, &nMeteorDirLen); - - hr = UnzipToFolder(hInstall, L"Meteor", L"meteor-bootstrap-os.windows.x86_32.tar.gz", szMeteorDir); - ExitOnFailure(hr, "Failed to extract Meteor files."); - -LExit: - er = SUCCEEDED(hr) ? ERROR_SUCCESS : ERROR_INSTALL_FAILURE; - return WcaFinalize(er); -} - - - -HRESULT Download_Package( - MSIHANDLE hInstall, - __in LPCWSTR wzFriendlyName, - __in LPCWSTR szDwnUrl, - __in LPCWSTR wzZipFile) -{ - HRESULT hr = S_OK; - - WcaLog(LOGMSG_STANDARD, "Download package \"%S\" initialized.", wzFriendlyName); - - wchar_t szSourceDir[BUF_LEN] = L""; DWORD nSourceDirDirLen = BUF_LEN; - wchar_t szZipFile[BUF_LEN] = L""; - - MsiGetProperty(hInstall, L"SourceDir", szSourceDir, &nSourceDirDirLen); - - StringCchPrintf(szZipFile, BUF_LEN, L"%s%s", szSourceDir, wzZipFile); - - HINTERNET internet = InternetOpen( - L"MeteorWindowsInstaller/1.0", - INTERNET_OPEN_TYPE_PRECONFIG, - NULL, - NULL, - 0); - - if (internet == NULL) { - return HRESULT_FROM_WIN32(::GetLastError()); - } - - HINTERNET request = InternetOpenUrl( - internet, - szDwnUrl, - NULL, - 0, - INTERNET_FLAG_SECURE, - NULL); - - if (request == NULL) { - return HRESULT_FROM_WIN32(::GetLastError()); - } - - DWORD dwContentLen; - DWORD dwBufLen = sizeof(dwContentLen); - - BOOL result = HttpQueryInfo( - request, - HTTP_QUERY_CONTENT_LENGTH | HTTP_QUERY_FLAG_NUMBER, - (LPVOID)&dwContentLen, - &dwBufLen, - 0); - - if (!request) { - return HRESULT_FROM_WIN32(::GetLastError()); - } - - const int capacity = 1024*64; - char* buffer = new char[capacity]; - DWORD bytes_downloaded = 0; - - FILE* output = _wfopen(szZipFile, L"wb"); - for (;;) { - DWORD bytes_read; - - BOOL result = InternetReadFile( - request, - buffer, - capacity, - &bytes_read); - - if (!result) { - return HRESULT_FROM_WIN32(::GetLastError()); - } - - if (bytes_read == 0) { - break; - } - - bytes_downloaded += bytes_read; - - fwrite(buffer, 1, bytes_read, output); - - // update progress bar - PMSIHANDLE hActionRec = MsiCreateRecord(3); - PMSIHANDLE hProgressRec = MsiCreateRecord(3); - - DWORD ulPrc = 0; - WCHAR wzInfo[1024] = { }; - - ulPrc = static_cast(100 * static_cast(bytes_downloaded) / static_cast(dwContentLen)); - ::StringCchPrintfW(wzInfo, countof(wzInfo), L"Downloading Meteor... %u%%", ulPrc); - - MsiRecordSetString(hActionRec, 1, TEXT("Download_MeteorPackage")); - MsiRecordSetString(hActionRec, 2, wzInfo); - MsiRecordSetString(hActionRec, 3, NULL); - - UINT iResult = MsiProcessMessage(hInstall, INSTALLMESSAGE_ACTIONSTART, hActionRec); - - // XXX I *thought* this should return IDCANCEL, and have verified that - // that's what - // WixStandardBootstrapperApplication.cpp::OnExecuteMsiMessage - // returns. But for some reason `iResult` ends up being 1. - if (iResult == 1) { - fclose(output); - MsiSetProperty(hInstall, L"Cancelled", L"Y"); // read from Extract_MeteorFiles - return ERROR_INSTALL_USEREXIT; - } - } - - fclose(output); - - WcaLog(LOGMSG_STANDARD, "Download package \"%S\" completed.", wzFriendlyName); - - return hr; -} - - -// assumes content is at most 1024 characters -UINT FetchHTTPSToShortString(wchar_t *url, char *result) { - HINTERNET internet = InternetOpen( - L"MeteorWindowsInstaller/1.0", - INTERNET_OPEN_TYPE_PRECONFIG, - NULL, - NULL, - 0); - - if (internet == NULL) { - return ::GetLastError(); - } - - HINTERNET request = InternetOpenUrl( - internet, - url, - NULL, - 0, - INTERNET_FLAG_SECURE, - NULL); - - if (request == NULL) { - return ::GetLastError(); - } - - DWORD bytes_read; - BOOL readResult = InternetReadFile( - request, - result, - 1023, - &bytes_read); - if (!readResult) { - return ::GetLastError(); - } - result[bytes_read] = 0; - - return 0; -} - - -UINT __stdcall Download_MeteorPackage(MSIHANDLE hInstall) -{ - HRESULT hr = S_OK; - UINT er = ERROR_SUCCESS; - UINT httpEr; - - hr = WcaInitialize(hInstall, "Download_MeteorPackage"); - ExitOnFailure(hr, "Failed to initialize Download_MeteorPackage"); - - char bootstrapLink[1024]; - - httpEr = FetchHTTPSToShortString(L"https://packages.meteor.com/bootstrap-link", bootstrapLink); - if (httpEr) { - hr = HRESULT_FROM_WIN32(httpEr); - MessageBoxA(NULL, "Failed to contact install server. Please try again later.", NULL, NULL); - ExitOnFailure(hr, "Couldn't get bootstap-link"); - } - - // strip trailing newline; if it's not there it's probably because we're - // getting some bad response from packages.meteor.com. - char *bootstrapLinkNewline = strchr(bootstrapLink, '\n'); - if (!bootstrapLinkNewline) { - MessageBoxA(NULL, "Malformed response from install server. Please try again later.", NULL, NULL); - ExitOnFailure(E_FAIL, "Couldn't parse bootstrap-link"); - } - - *bootstrapLinkNewline = '\0'; - - char downloadUrl[1024]; - sprintf(downloadUrl, "%s/meteor-bootstrap-os.windows.x86_32.tar.gz", bootstrapLink); - - wchar_t wDownloadUrl[1024]; - mbstowcs(wDownloadUrl, downloadUrl, 1024); - - hr = Download_Package(hInstall, L"Meteor", wDownloadUrl, L"meteor-bootstrap-os.windows.x86_32.tar.gz"); - if (FAILED(hr)) { - MessageBoxA(NULL, "Failed to download Meteor installation package. Please try again later.", NULL, NULL); - } - ExitOnFailure(hr, "Failed to download Meteor package from specified URL."); - -LExit: - er = SUCCEEDED(hr) ? ERROR_SUCCESS : ERROR_INSTALL_FAILURE; - return WcaFinalize(er); -} - - - - -UINT __stdcall BulkRemoveMeteorFiles(MSIHANDLE hInstall) -{ - HRESULT hr = S_OK; - UINT er = ERROR_SUCCESS; - - hr = WcaInitialize(hInstall, "BulkRemoveMeteorFiles"); - ExitOnFailure(hr, "Failed to initialize BulkRemoveMeteorFiles"); - - WcaLog(LOGMSG_STANDARD, "BulkRemoveMeteorFiles Initialized."); - - wchar_t szPathPackages[BUF_LEN] = L""; DWORD nPathPackages = BUF_LEN; - wchar_t szPathPkg_Meta[BUF_LEN] = L""; DWORD nPathPkg_Meta = BUF_LEN; - - MsiGetProperty(hInstall, L"METEORDIR_PACKAGES", szPathPackages, &nPathPackages); - MsiGetProperty(hInstall, L"METEORDIR_PKG_META", szPathPkg_Meta, &nPathPkg_Meta); - - wchar_t szSysDir[BUF_LEN] = L""; DWORD nSysDirLen = BUF_LEN; - wchar_t szCmd1[BUF_LEN] = L""; - wchar_t szCmd2[BUF_LEN] = L""; - - DWORD nRes=0; - - - MsiGetProperty(hInstall, L"SystemFolder", szSysDir, &nSysDirLen); - StringCchPrintf(szCmd1, BUF_LEN, L"%s\\cmd.exe /C \"RD /S /Q \"%s\">NUL\"", szSysDir, szPathPackages); - StringCchPrintf(szCmd2, BUF_LEN, L"%s\\cmd.exe /C \"RD /S /Q \"%s\">NUL\"", szSysDir, szPathPkg_Meta); - - ExecuteCommandLine(szCmd1, nRes); - ExecuteCommandLine(szCmd2, nRes); - - WcaLog(LOGMSG_STANDARD, "BulkRemoveMeteorFiles done."); - -LExit: - er = SUCCEEDED(hr) ? ERROR_SUCCESS : ERROR_INSTALL_FAILURE; - return WcaFinalize(er); -} - - - - -// DllMain - Initialize and cleanup WiX custom action utils. -extern "C" BOOL WINAPI DllMain( - __in HINSTANCE hInst, - __in ULONG ulReason, - __in LPVOID - ) -{ - switch(ulReason) - { - case DLL_PROCESS_ATTACH: - WcaGlobalInitialize(hInst); - break; - - case DLL_PROCESS_DETACH: - WcaGlobalFinalize(); - break; - } - - return TRUE; -} diff --git a/scripts/windows/installer/WiXHelper/CustomAction.def b/scripts/windows/installer/WiXHelper/CustomAction.def deleted file mode 100755 index 8c8f141025..0000000000 --- a/scripts/windows/installer/WiXHelper/CustomAction.def +++ /dev/null @@ -1,10 +0,0 @@ -LIBRARY "WiXHelper" - -EXPORTS - -; DROP_QCloudDatabase -; CREATE_QCloudDatabase - -Download_MeteorPackage -Extract_MeteorFiles -BulkRemoveMeteorFiles \ No newline at end of file diff --git a/scripts/windows/installer/WiXHelper/WiXHelper.vcxproj b/scripts/windows/installer/WiXHelper/WiXHelper.vcxproj deleted file mode 100755 index cd392d640a..0000000000 --- a/scripts/windows/installer/WiXHelper/WiXHelper.vcxproj +++ /dev/null @@ -1,128 +0,0 @@ - - - - - Release - Win32 - - - Release - x64 - - - - {17815519-26F7-4F37-9FAC-3FC50796C25D} - WiXHelper - Win32Proj - - - - DynamicLibrary - Unicode - true - v100 - - - DynamicLibrary - Unicode - true - v100 - - - - - - - - - - - - - <_ProjectFileVersion>10.0.30319.1 - bin\$(Configuration)\Win32\ - obj\$(Configuration)\Win32\ - false - false - AllRules.ruleset - AllRules.ruleset - - - - - - - bin\$(Configuration)\Win64\ - obj\$(Configuration)\Win64\ - - - - MaxSpeed - true - ..\WiXSDK\inc;%(AdditionalIncludeDirectories) - WIN32;NDEBUG;_WINDOWS;_USRDLL;CUSTOMACTIONTEST_EXPORTS;%(PreprocessorDefinitions) - MultiThreaded - true - Use - Level3 - ProgramDatabase - - - msi.lib;dutil.lib;wcautil.lib;Version.lib;Urlmon.lib;Wininet.lib;Userenv.lib;%(AdditionalDependencies) - ..\WiXSDK\VS2010\lib\x86;%(AdditionalLibraryDirectories) - CustomAction.def - true - Windows - true - true - MachineX86 - - - - - - - - - MaxSpeed - true - ..\WiXSDK\inc;%(AdditionalIncludeDirectories) - WIN32;NDEBUG;_WINDOWS;_USRDLL;CUSTOMACTIONTEST_EXPORTS;%(PreprocessorDefinitions) - MultiThreaded - true - Use - Level3 - ProgramDatabase - - - msi.lib;dutil.lib;wcautil.lib;Version.lib;Urlmon.lib;Wininet.lib;Userenv.lib;%(AdditionalDependencies) - ..\WiXSDK\VS2010\lib\x64;%(AdditionalLibraryDirectories) - CustomAction.def - true - Windows - true - true - - - - - - - - - - Create - Create - - - - - - - - - - - - - \ No newline at end of file diff --git a/scripts/windows/installer/WiXHelper/WiXHelper.vcxproj.filters b/scripts/windows/installer/WiXHelper/WiXHelper.vcxproj.filters deleted file mode 100755 index 5837c344d6..0000000000 --- a/scripts/windows/installer/WiXHelper/WiXHelper.vcxproj.filters +++ /dev/null @@ -1,38 +0,0 @@ - - - - - {4FC737F1-C7A5-4376-A066-2A32D752A2FF} - cpp;c;cc;cxx;def;odl;idl;hpj;bat;asm;asmx - - - {93995380-89BD-4b04-88EB-625FBE52EBFB} - h;hpp;hxx;hm;inl;inc;xsd - - - {67DA6AB6-F800-4c08-8B7A-83BB121AAD01} - rc;ico;cur;bmp;dlg;rc2;rct;bin;rgs;gif;jpg;jpeg;jpe;resx;tiff;tif;png;wav - - - - - Source Files - - - Source Files - - - - - Source Files - - - - - Header Files - - - Header Files - - - \ No newline at end of file diff --git a/scripts/windows/installer/WiXHelper/stdafx.cpp b/scripts/windows/installer/WiXHelper/stdafx.cpp deleted file mode 100755 index 8647bd6058..0000000000 --- a/scripts/windows/installer/WiXHelper/stdafx.cpp +++ /dev/null @@ -1,8 +0,0 @@ -// stdafx.cpp : source file that includes just the standard includes -// WiXHelper.pch will be the pre-compiled header -// stdafx.obj will contain the pre-compiled type information - -#include "stdafx.h" - -// TODO: reference any additional headers you need in STDAFX.H -// and not in this file diff --git a/scripts/windows/installer/WiXHelper/stdafx.h b/scripts/windows/installer/WiXHelper/stdafx.h deleted file mode 100755 index cac5e1cfd4..0000000000 --- a/scripts/windows/installer/WiXHelper/stdafx.h +++ /dev/null @@ -1,26 +0,0 @@ -// stdafx.h : include file for standard system include files, -// or project specific include files that are used frequently, but -// are changed infrequently -// - -#pragma once - -#include "targetver.h" - -#define WIN32_LEAN_AND_MEAN // Exclude rarely-used stuff from Windows headers -// Windows Header Files: -#include -#include -#include - -// WiX Header Files: -#include - - -// TODO: reference additional headers your program requires here -typedef struct _BURN_DOWNLOAD_SOURCE -{ - LPWSTR sczUrl; - LPWSTR sczUser; - LPWSTR sczPassword; -} BURN_DOWNLOAD_SOURCE; diff --git a/scripts/windows/installer/WiXHelper/targetver.h b/scripts/windows/installer/WiXHelper/targetver.h deleted file mode 100755 index 20d087c2b4..0000000000 --- a/scripts/windows/installer/WiXHelper/targetver.h +++ /dev/null @@ -1,24 +0,0 @@ -#pragma once - -// The following macros define the minimum required platform. The minimum required platform -// is the earliest version of Windows, Internet Explorer etc. that has the necessary features to run -// your application. The macros work by enabling all features available on platform versions up to and -// including the version specified. - -// Modify the following defines if you have to target a platform prior to the ones specified below. -// Refer to MSDN for the latest info on corresponding values for different platforms. -#ifndef WINVER // Specifies that the minimum required platform is Windows 2000. -#define WINVER 0x0500 // Change this to the appropriate value to target other versions of Windows. -#endif - -#ifndef _WIN32_WINNT // Specifies that the minimum required platform is Windows 2000. -#define _WIN32_WINNT 0x0500 // Change this to the appropriate value to target other versions of Windows. -#endif - -#ifndef _WIN32_IE // Specifies that the minimum required platform is Internet Explorer 5.0. -#define _WIN32_IE 0x0500 // Change this to the appropriate value to target other versions of IE. -#endif - -#ifndef _WIN32_MSI // Specifies that the minimum required MSI version is MSI 3.1 -#define _WIN32_MSI 310 // Change this to the appropriate value to target other versions of MSI. -#endif diff --git a/scripts/windows/installer/WiXInstaller/.gitignore b/scripts/windows/installer/WiXInstaller/.gitignore deleted file mode 100644 index 57a1574c4f..0000000000 --- a/scripts/windows/installer/WiXInstaller/.gitignore +++ /dev/null @@ -1,196 +0,0 @@ -## Ignore Visual Studio temporary files, build results, and -## files generated by popular Visual Studio add-ons. - -# User-specific files -*.suo -*.user -*.userosscache -*.sln.docstates - -# User-specific files (MonoDevelop/Xamarin Studio) -*.userprefs - -# Build results -[Dd]ebug/ -[Dd]ebugPublic/ -[Rr]elease/ -[Rr]eleases/ -x64/ -x86/ -build/ -bld/ -[Bb]in/ -[Oo]bj/ - -# Visual Studo 2015 cache/options directory -.vs/ - -# MSTest test Results -[Tt]est[Rr]esult*/ -[Bb]uild[Ll]og.* - -# NUNIT -*.VisualState.xml -TestResult.xml - -# Build Results of an ATL Project -[Dd]ebugPS/ -[Rr]eleasePS/ -dlldata.c - -*_i.c -*_p.c -*_i.h -*.ilk -*.meta -*.obj -*.pch -*.pdb -*.pgc -*.pgd -*.rsp -*.sbr -*.tlb -*.tli -*.tlh -*.tmp -*.tmp_proj -*.log -*.vspscc -*.vssscc -.builds -*.pidb -*.svclog -*.scc - -# Chutzpah Test files -_Chutzpah* - -# Visual C++ cache files -ipch/ -*.aps -*.ncb -*.opensdf -*.sdf -*.cachefile - -# Visual Studio profiler -*.psess -*.vsp -*.vspx - -# TFS 2012 Local Workspace -$tf/ - -# Guidance Automation Toolkit -*.gpState - -# ReSharper is a .NET coding add-in -_ReSharper*/ -*.[Rr]e[Ss]harper -*.DotSettings.user - -# JustCode is a .NET coding addin-in -.JustCode - -# TeamCity is a build add-in -_TeamCity* - -# DotCover is a Code Coverage Tool -*.dotCover - -# NCrunch -_NCrunch_* -.*crunch*.local.xml - -# MightyMoose -*.mm.* -AutoTest.Net/ - -# Web workbench (sass) -.sass-cache/ - -# Installshield output folder -[Ee]xpress/ - -# DocProject is a documentation generator add-in -DocProject/buildhelp/ -DocProject/Help/*.HxT -DocProject/Help/*.HxC -DocProject/Help/*.hhc -DocProject/Help/*.hhk -DocProject/Help/*.hhp -DocProject/Help/Html2 -DocProject/Help/html - -# Click-Once directory -publish/ - -# Publish Web Output -*.[Pp]ublish.xml -*.azurePubxml -# TODO: Comment the next line if you want to checkin your web deploy settings -# but database connection strings (with potential passwords) will be unencrypted -*.pubxml -*.publishproj - -# NuGet Packages -*.nupkg -# The packages folder can be ignored because of Package Restore -**/packages/* -# except build/, which is used as an MSBuild target. -!**/packages/build/ -# Uncomment if necessary however generally it will be regenerated when needed -#!**/packages/repositories.config - -# Windows Azure Build Output -csx/ -*.build.csdef - -# Windows Store app package directory -AppPackages/ - -# Others -*.[Cc]ache -ClientBin/ -[Ss]tyle[Cc]op.* -~$* -*~ -*.dbmdl -*.dbproj.schemaview -*.pfx -*.publishsettings -node_modules/ -bower_components/ - -# RIA/Silverlight projects -Generated_Code/ - -# Backup & report files from converting an old project file -# to a newer Visual Studio version. Backup files are not needed, -# because we have git ;-) -_UpgradeReport_Files/ -Backup*/ -UpgradeLog*.XML -UpgradeLog*.htm - -# SQL Server files -*.mdf -*.ldf - -# Business Intelligence projects -*.rdl.data -*.bim.layout -*.bim_*.settings - -# Microsoft Fakes -FakesAssemblies/ - -# Node.js Tools for Visual Studio -.ntvs_analysis.dat - -# Visual Studio 6 build log -*.plg - -# Visual Studio 6 workspace options file -*.opt diff --git a/scripts/windows/installer/WiXInstaller/Configuration.wxi b/scripts/windows/installer/WiXInstaller/Configuration.wxi deleted file mode 100644 index b4334f279a..0000000000 --- a/scripts/windows/installer/WiXInstaller/Configuration.wxi +++ /dev/null @@ -1,27 +0,0 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - diff --git a/scripts/windows/installer/WiXInstaller/MSIPackage.wixproj b/scripts/windows/installer/WiXInstaller/MSIPackage.wixproj deleted file mode 100755 index 3ed8349c5b..0000000000 --- a/scripts/windows/installer/WiXInstaller/MSIPackage.wixproj +++ /dev/null @@ -1,71 +0,0 @@ - - - - Debug - x86 - {e053726b-937b-40c7-8f3d-25a3226979d9} - 2.0 - Package - $(MSBuildExtensionsPath32)\Microsoft\WiX\v3.x\Wix.targets - $(MSBuildExtensionsPath)\Microsoft\WiX\v3.x\Wix.targets - MSIPackage - 6.0.2469 - - - bin\$(Configuration)\$(Platform)\ - obj\$(Platform)\$(Configuration)\ - - - x86 - ICE60;ICE80 - SetupMeteor - - - bin\$(Configuration)\$(Platform)\ - obj\$(Platform)\$(Configuration)\ - - - x64 - ICE60;ICE61;ICE69; - SetupMeteor - - - - - - $(WixExtDir)\WixNetFxExtension.dll - WixNetFxExtension - - - $(WixExtDir)\WixFirewallExtension.dll - WixFirewallExtension - - - $(WixExtDir)\WixUtilExtension.dll - WixUtilExtension - - - - - - - - Configuration.wxi - - - - - - - - - - - \ No newline at end of file diff --git a/scripts/windows/installer/WiXInstaller/Meteor_Bundle.wxs b/scripts/windows/installer/WiXInstaller/Meteor_Bundle.wxs deleted file mode 100755 index 872cb5106b..0000000000 --- a/scripts/windows/installer/WiXInstaller/Meteor_Bundle.wxs +++ /dev/null @@ -1,76 +0,0 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - diff --git a/scripts/windows/installer/WiXInstaller/Meteor_Product.wxs b/scripts/windows/installer/WiXInstaller/Meteor_Product.wxs deleted file mode 100755 index e138497bc8..0000000000 --- a/scripts/windows/installer/WiXInstaller/Meteor_Product.wxs +++ /dev/null @@ -1,93 +0,0 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - NOT Installed - NOT Installed - REMOVE~="ALL" - REMOVE~="ALL" - REMOVE~="ALL" - - - - Installing Meteor... please wait. (This may take a minute or two.) - Removing Meteor... - - - - - - - - PERUSER_INSTALL - - - - - PERMACHINE_INSTALL - - - - - - - - - - PERMACHINE_INSTALL - - - - - - - - diff --git a/scripts/windows/installer/WiXInstaller/Resources/Background - Copy.png b/scripts/windows/installer/WiXInstaller/Resources/Background - Copy.png deleted file mode 100755 index 8ab6fe5c0d06b8243a239b48bd825c3067dffad6..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 2215 zcmeHJYevQ@DZme_l0T6~p%ffe`Irwq7JzX^586h`xO1#CsliF$H4*#>02NsDx&zIMC zYdx3NfH3*(NIb_6djqI#yu}A{SKM6!?&4m6dly&2mg{kg;PP^!NiKB(-|bZbkU0fG z?%F>AacZ@iAKL)1+LKUKg@lDYCcKXN?(VCkno!LxsL@!;paw%Cg%(8+g{hgDnf^p>I8qN9jdtq3zMB+Ztk=g-<>mr{?@dcf+ei95 zpOT%ONLfR&9YCfZ8Y-ql9rp+>sJgnE68Td8-kO>kJ6@wvFnn_TLzL9ha}7&0D!ZJ? zmU4x^Z9357w#_!9i<0K%te-c}sJ{En_l#MaC1nB-eyJrL{gIDE6PJQZE~jx6kA51jXIqQp<3-` z25o6+VX-nXF@dpy)QwtgI^t_<11NrDNl6L4P#r#mx@vG>z#cX{|CHrlQ&SMjzrFGC z0So!3P$=p#oTjE47``nz2}@K~ikT$cxw!^}c9lsk(KLPKME zva6KNt#S=-eLy!&ZKK1YG*pvJmucrR{oD3JW}U|R?kW@LwkqrqHhN*H8#apWjOcPq z=+5*fg9mkooBouDmg0OFdBU~haV7>_35*%>+AWFKmmmU-EUZL=D@R%4xaP_dDA{%fKa cog95(T3#4)%+->5l>E7X=!jTZo%HbepS(Jgu>b%7 diff --git a/scripts/windows/installer/WiXInstaller/Resources/Background.png b/scripts/windows/installer/WiXInstaller/Resources/Background.png deleted file mode 100755 index 5184f65d0f62df313df64b907608ad67bccf15e0..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 2107 zcmeAS@N?(olHy`uVBq!ia0y~yV9H`(V9e%V1BxW3Ep-P{jKx9jP7LeL$-D$|SkfJR z9T^xl_H+M9WCij$3p^r=85sDEfH31!Z9ZuR2KEb{E{-7;ac^(AhXq87xCWkkUq73J zt4X10g+$;L^_W)MgU z1eQ{>;`i4@0?VzYXV1^i2bESQUJ5fPWYzuokqDILn05NJH>lKl@`aN@!1Vt9`t88N zjOFb1{QIDCZo*}C28Sy(e}7$F1XPm(Hcvl(Uj)cJ9Z>Q2`RC{KZlJ;oF)=Y5KwmHT z`Q_zgVByH|$qi^#mR;SS46rTy@^&C;h2{PX4J#`D|J&;datX*#)925hi-Dv-#$1^* zcP_-ScXyW~9D8qHZ8q4L%a?-@j?KTfXCv6LudlCfg*$f6oH=0UJ-fO(9AQG-zM4$1 z3F7*3V0Tvj`?C|_&Uv=gX&~uMppyLT$B!F9&dccQ>q7*BjGSB)!rNb727}x?0i-T# zo=qhvs5xdeH#38rXVNckF9r-9$9rJo7Q6R@!piaUhlkDx*YnHSYyi9d@9*yj*WcM) zejXGmCcl6G2Dv`t-MziqAZzykE$EnKUH%Rc_Qk)y`8YQ+xmb diff --git a/scripts/windows/installer/WiXInstaller/Resources/License.htm b/scripts/windows/installer/WiXInstaller/Resources/License.htm deleted file mode 100755 index e15530b61d..0000000000 --- a/scripts/windows/installer/WiXInstaller/Resources/License.htm +++ /dev/null @@ -1,127 +0,0 @@ - - - - - - - - - - - -
- -

[Put Your License Agreement Here]

- -

Lorem -ipsum dolor sit amet, consectetur adipiscing elit. Donec ultricies ultricies -arcu id commodo. Ut dignissim ante nec urna elementum imperdiet. Praesent -pretium condimentum orci sit amet laoreet. Fusce condimentum tempor leo, vitae -tempor quam interdum et. Nulla ante dui, tincidunt sed porta nec, pulvinar in -felis. Pellentesque pellentesque ornare nibh id accumsan. In eu arcu nibh. -Aenean ut vulputate nisl. Proin at nibh lacinia urna elementum commodo. Donec semper -lorem quis neque fringilla quis facilisis dolor dignissim. Suspendisse a massa -in odio viverra vehicula. Curabitur id lectus purus, non bibendum arcu. Cras -dictum, turpis eget gravida condimentum, turpis ante varius leo, molestie -pulvinar mauris libero ut leo. Morbi libero diam, sollicitudin id interdum sit -amet, rhoncus eget turpis.

- -

Vestibulum arcu dui, suscipit -vitae suscipit laoreet, posuere eget risus. Sed vitae massa in justo vehicula -elementum sed at arcu. Pellentesque arcu ante, accumsan sed lacinia sed, -lacinia vel urna. Vivamus at ligula nulla, lobortis ultricies tortor. Vivamus -suscipit dolor non velit adipiscing venenatis. Nullam adipiscing accumsan -condimentum. Nullam ut lorem neque, et iaculis felis. Donec sed massa diam, et -feugiat velit. Pellentesque facilisis mi a odio ultrices facilisis. Nam porta, -lorem feugiat aliquet placerat, ipsum risus accumsan sem, euismod bibendum -velit dolor sed turpis. Suspendisse tincidunt, lectus congue rhoncus -sollicitudin, magna erat porttitor ante, eget sodales ante sem eu augue. Aenean -risus risus, mattis vitae pretium at, venenatis dictum est. Vestibulum -consectetur euismod magna vel sodales.

- -

Quisque eu urna lacus. Nunc eget -dictum odio. Pellentesque vel dolor leo. Praesent aliquet, erat vel fringilla -lobortis, ante nibh dapibus augue, sed semper ligula odio vitae nulla. Nullam -dictum gravida lectus nec lacinia. Vivamus fermentum ultricies lobortis. In -quis magna massa, ut commodo lectus. Donec nunc velit, gravida id euismod -luctus, luctus sed ante. Nunc elementum mollis sapien, ac interdum quam -fringilla eu. Pellentesque habitant morbi tristique senectus et netus et -malesuada fames ac turpis egestas. Aliquam dui enim, tempus vel aliquam sed, -pretium sed nisi. Fusce vitae magna nec nibh aliquam suscipit vel a felis. -Etiam gravida, lorem id laoreet gravida, nisl leo hendrerit dolor, quis porta -mauris enim vitae justo. Maecenas congue, felis at rhoncus vestibulum, nisl -urna pellentesque urna, id iaculis augue metus eget neque. Curabitur pretium -risus nec tortor vulputate et rhoncus ipsum gravida.

- -

Maecenas elementum volutpat arcu, -nec ultricies velit faucibus facilisis. Etiam sem lacus, mattis eget gravida -ut, rhoncus porta lorem. Vivamus volutpat dui sit amet risus mollis venenatis. -Quisque velit velit, condimentum id pharetra sed, varius vitae lectus. Praesent -nisi turpis, porttitor nec accumsan a, aliquam sit amet augue. Quisque -facilisis enim sed enim pretium tristique. Aliquam commodo varius mi, ut -iaculis nunc tempus non. Vivamus velit nunc, dictum a dignissim vitae, commodo -id metus. Integer volutpat, neque at ultrices dignissim, felis nulla commodo -orci, at auctor nisl quam nec sem. Pellentesque interdum pellentesque nulla, ac -fermentum tortor porttitor a. Etiam condimentum aliquet sapien vel adipiscing. Quisque -est velit, vulputate a iaculis ut, tempus in nibh. Cras consectetur quam nibh, -vel lobortis justo. Aenean a elit leo. Aenean mollis dolor a odio accumsan -mollis. Proin blandit neque erat. Integer lectus urna, volutpat quis vulputate -et, fermentum et ante. Maecenas vitae ultricies dui.

- -

Mauris accumsan varius luctus. In -hac habitasse platea dictumst. Mauris malesuada tempus nibh, porta accumsan -tortor tincidunt eu. Proin orci mauris, commodo id malesuada nec, adipiscing ut -sapien. Phasellus at dui vel nisi adipiscing auctor quis vel sem. Phasellus -fermentum, enim id sodales ullamcorper, magna sapien facilisis urna, ac -lobortis nunc augue ut ligula. Quisque vulputate nibh sed velit pharetra -dictum. Lorem ipsum dolor sit amet, consectetur adipiscing elit. Pellentesque -mi metus, vestibulum vitae dapibus vel, ultrices at tellus. Vivamus iaculis dui -a nisl faucibus eget congue velit gravida. Donec vel quam ligula. Nam magna -ante, vulputate id pharetra ac, dapibus commodo velit. Cras nisl nulla, congue -sit amet laoreet eget, cursus et lorem. Mauris diam tortor, porttitor vitae -fringilla id, iaculis sit amet eros. Donec sed enim eget felis fermentum -posuere. Pellentesque sodales feugiat dolor, vel molestie est adipiscing non. -Morbi tincidunt viverra felis ut hendrerit.

- -
- - - - diff --git a/scripts/windows/installer/WiXInstaller/Resources/License.rtf b/scripts/windows/installer/WiXInstaller/Resources/License.rtf deleted file mode 100755 index 1a1832361851f096afcd4586d486d22aa13073a2..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 4908 zcmbVQON-n_5YE})|Ip_k#LU=ESbQ>0LISpNFfoKEhaRal(}`a0$K+u4zvru}erPtg zfEn+Oq*nD;-=liJb}o#^PA}f_N55T;r&p(LFynZj&q*(r!khbM_fJf)%)*G|9L`B_U!EI$H(W-zINYs7qb|r!|K#~KL#_{ zpkB2vkL?NnUL77@KXx~3{`uQ3!^!@}U0s z7=!wKjZVF@y;;0bZ!XT5*(^c*Y@GSCqrE+JXKV*G`{M(x`urJxORq~NJgU{1 zS=r6USqi!%)L<`*_1?}(FTp5&)GZooapicqoj2nKYq0c3r;VrmY|aFWYba!}v_t&7 zy55!=)ud5BJ@Zray}7$Fn0do?CbKr`W`i~=ee)%1ybfi!0qfDjAL2A=sceY0QNb>~ z9U?05W>8oqXezl;Tbyoo(GHKR5jc1hYo-a68UH03we5ddu|bEu+Vhp*(0w0gua{Q+ zvM3W3!$cQb^#(N2i$Y^>aoS?g1d;U;)MMgy!?@gBMYwDiPd;|3e&&VGs3 zqjoB8bm*R?o${9>7Q+s3S^8dD)T&R>Zw8QiuuH31d#`E7>tI(vc{9#wbu(An$4R&9 zZFKr+3Dg0v2W~SiD1|kvK+|0z(Y1L6UNqK8+CuZ|#Vmw8yAT-Ygn|>s=t*OvXKL8|?i;_K8Zk z-e4(Ygb2)9zYZD_5mSRBu;WCmSKLM_=TBNLP}hZ!*>-7{rISgs3IYHZstooakvA^I z5#3T5Nj<*;7;+-GA6po(Bq@A|OE20GU*PsUX&@~o0J5%2M5Mj|bb^BJsy3I&3~g}e zkP#1hgMNVvVF5EhH?m)f5R%DJUa%$#GgEEZrc#qA$&$XRL`LIMT2&e4V%YxKfCVL1 ze?x|qY&^9;C+tGtFoBw4k#MaH^%Ti(!5RLa_d}b_pq6-rVUmVCwr>_Pi|TuvhZQvg zlfLtqE4e!sRWq9@0v{eoZA3;3Q=y9mQvwVVHxcckhLMk$A^>#1b9o;$`u&Eq1fjt^ zm02w103r*IQ~S7~xX8|xnMiFyAljVs**Hl9)B(=e@?^1NS}xnhj{)wV5zOkQz>*1~ zUZLQn@K9I8mNO2{#>8tRHf0(}X+zZ~(Xe?VaJ0cxhKLjOHu8Eh+N|SS(GK#F-o;Y5 zn;hsH7!0y0Ss$}iVJIVvDJiR+H^X##;? zRQpUEuJ~iz6n5=f%S`~g#oWY2%D7Q`0o`RItz$L@+oUlfWC9k0p$z6ctnL#|c7-6J zWQ0xRaVe=k4f1rZ0Ud3ZP6gIdLc-rb+L z%1KPug{I}nf*&ReGI z@{T>MdX`|^s&_n={*MFuU8Z9SX8jY5%ZWyKktZa)AI`()dy4S@aS*1}ak6j-VZ<5pu7PmPvBDzD9jv&g3m5HQKl2& z6JyK_%ZH9McMw*v2x=5&XSmpo#+(6i%B?!eXLNZh=vGFVwj1$BD}Or4aTb53`sQDO CvIZgm diff --git a/scripts/windows/installer/WiXInstaller/Resources/LogoSide.png b/scripts/windows/installer/WiXInstaller/Resources/LogoSide.png deleted file mode 100755 index 70802b3a539d2663f4bbadb6b0ee7af8e4ffd944..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 37330 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

qSP) z&C&S8qc|K>5Ac(VKmsEaN{jK<&?pe;k)wf3QZV^p_T3T_)URZzkjLx1u-Ygxb&Qf> zA-Q&~o)}n?LI#5i<_L+CRWxOX7dN`5KVaUFswMq1xhp<_oGromxyY00V2=WHFSwdmN)4zpz!AaP?|Q)5YZjDBkk*ewKPM75}nF%cS~DXt57uedhg)@`pwMEPRz9bkR%0r??a>LCU%0A<4u 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

CiyUNex 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 diff --git a/scripts/windows/installer/WiXInstaller/Resources/Theme_Meteor.wxl b/scripts/windows/installer/WiXInstaller/Resources/Theme_Meteor.wxl deleted file mode 100755 index c53a728bb2..0000000000 --- a/scripts/windows/installer/WiXInstaller/Resources/Theme_Meteor.wxl +++ /dev/null @@ -1,104 +0,0 @@ - - - Install [WixBundleName] - [WixBundleName] - Welcome to the [WixBundleName] Setup - Setup will install [WixBundleName] on your computer. During the wizard, you will be able to adjust product features and settings that fit best to your needs. - Version [WixBundleVersion] - - Are you sure you want to cancel? - Setup Help - - /passive | /quiet - displays minimal UI with no prompts or displays no UI and no prompts. By default UI and all prompts are displayed. - - /toconsole - similar to /quiet except that progress is redirected to console. - - /log log.txt - logs to a specific file. By default a log file is created in %TEMP%. - - &Close - I &agree to the license terms and conditions - &Options - &Install - &Cancel - < Back - Next > - Skip this step - Install - Install Meteor - - Version [WixBundleVersion] <a href="#">upgrade available</a> - Current user password: - - [WixBundleName] install directory - Please select the way you want [WixBundleName] to be installed on your computer. - Install location: - Install this application for: - For all users on this computer (recommended) - Only for me ([LogonUser]) - - [WixBundleName] registration - Sign in with your Meteor developer account or create a new one now. - Sign up for a new account - Sign in with an existing account - Email Address - Username - Username or Email - Password - Skip [WixBundleName] registration and continue with setup - - - - Setup Options - Adjust setup parameters in order to your needs. - Install location: - &Browse... - Database location: - B&rowse... - &OK - &Cancel - - - - - Installing [WixBundleName] - Repairing [WixBundleName] - Uninstalling [WixBundleName] - Please wait while Setup installs [WixBundleName] on your computer. - Please wait while Setup repairs [WixBundleName] installed on your computer. - Please wait while [WixBundleName] is removed from your computer. - Processing: - Initializing... - Initializing... - Initializing... - - &Cancel - [WixBundleName] Maintenance - The setup wizard allows you to repair or remove [WixBundleName] from your computer. If you have a [WixBundleName] application currently running, it is recommended to close it. Click Repair if you want to repair [WixBundleName], Uninstall to remove it or click Cancel to close this maintenance wizard. - &Repair - &Uninstall - &Close - Meteor is now installed on your computer. - Repair Successful - Meteor has been uninstalled. - -To get started, open a new command prompt and type "meteor". If you're running Windows 8.1, you may need to restart your machine. - -To learn more about Meteor, check out the <a href="https://www.meteor.com/try">Meteor tutorial</a> and read the <a href="https://docs.meteor.com">official documentation</a>. If you need help, ask a question on the official forums at <a href="https://forums.meteor.com">forums.meteor.com</a> or <a href="https://stackoverflow.com/questions/tagged/meteor">Stack Overflow</a>. - -Check out the <a href="https://github.com/meteor/meteor/wiki/Preview-of-Meteor-on-Windows">Wiki page on GitHub</a> to learn more about the Meteor Windows preview. - - Following non critical errors occured: - Setup has finished repairing [WixBundleName] installed on your computer. The application may be launched by selecting the installed icons. - We hope to see you again soon! - &Launch - You must restart your computer before you can use the software. - &Restart - &Close - Setup Failed - Repair Failed - Uninstall Failed - One or more issues caused the setup to fail. Please fix the issues and then retry setup. For more information see the <a href="#">log file</a>. - You must restart your computer to complete the rollback of the software. - &Restart - &Close - \ No newline at end of file diff --git a/scripts/windows/installer/WiXInstaller/Resources/Theme_Meteor.xml b/scripts/windows/installer/WiXInstaller/Resources/Theme_Meteor.xml deleted file mode 100755 index 0679a60653..0000000000 --- a/scripts/windows/installer/WiXInstaller/Resources/Theme_Meteor.xml +++ /dev/null @@ -1,113 +0,0 @@ - - - #(loc.Caption) - Segoe UI - Segoe UI - Tahoma - Segoe UI - Tahoma - Segoe UI - Segoe UI - Segoe UI - - - - - - #(loc.InstallLicenseLinkText) --> - - - - - - #(loc.InstallDirHeader) - #(loc.InstallDirMessage) - - #(loc.InstallScopeLabel) - - - - #(loc.InstallDirPathLabel) - - - - - - - - - - - - - #(loc.ExecuteProgressActionDataText) - - - - - - - -Before getting started, please take a moment to -create a Meteor developer account. - - -Registering tells us who's using Meteor for Windows and helps us make it better. -You'll also need your account to publish Atmosphere packages and get -notified about critical security updates when they happen. - - - - - - - - #(loc.RegisterEmail): - #(loc.RegisterUser): - #(loc.RegisterPass): - - [RegisterEmail] - [RegisterUser] - [RegisterPass] - - - - - #(loc.RegisterUsernameOrEmail): - #(loc.RegisterPass): - - [LoginUsernameOrEmail] - [LoginPass] - - - - - - - - - #(loc.ModifyHeader) - #(loc.ModifyInfo) - - - - - - [varSuccessHeader] - [varSuccessInfo] - - - - - - [varFailureHeader] - #(loc.FailureHyperlinkLogText) - - - #(loc.FailureRestartText) - - - - diff --git a/scripts/windows/installer/WiXInstaller/Resources/TopHeader.png b/scripts/windows/installer/WiXInstaller/Resources/TopHeader.png deleted file mode 100755 index dc92e121f9bc469dd55885a84b763c5588556e9f..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 5227 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 bcDVq2N3FNS6WU=f`6i81x1F2_{HOl|!6)Ji diff --git a/scripts/windows/installer/WiXInstaller/SetupPackage.wixproj b/scripts/windows/installer/WiXInstaller/SetupPackage.wixproj deleted file mode 100755 index 1751b3538d..0000000000 --- a/scripts/windows/installer/WiXInstaller/SetupPackage.wixproj +++ /dev/null @@ -1,71 +0,0 @@ - - - - Debug - x86 - 3.8 - 7b569f5b-5d73-4e7b-be41-041a2f22a521 - 2.0 - Bundle - $(MSBuildExtensionsPath32)\Microsoft\WiX\v3.x\Wix.targets - $(MSBuildExtensionsPath)\Microsoft\WiX\v3.x\Wix.targets - SetupPackage - - - bin\$(Configuration)\$(Platform)\ - obj\$(Configuration)\ - True - True - False - InstallMeteor - - - bin\$(Configuration)\$(Platform)\ - obj\$(Configuration)\ - True - True - False - InstallMeteor - - - - - - - $(WixExtDir)\WixNetFxExtension.dll - WixNetFxExtension - - - ..\WiXBalExtension\build\WixBalExtensionExt.dll - WixBalExtensionExt - - - $(WixExtDir)\WixUtilExtension.dll - WixUtilExtension - - - - - - - - - - - - - - - - - copy "$(ProjectDir)$(OutDir)$(TargetFileName)" "$(ProjectDir)..\Release\" /Y - - - \ No newline at end of file diff --git a/scripts/windows/installer/WiXSDK/inc/BalBaseBootstrapperApplication.h b/scripts/windows/installer/WiXSDK/inc/BalBaseBootstrapperApplication.h deleted file mode 100644 index 7ab91a456d..0000000000 --- a/scripts/windows/installer/WiXSDK/inc/BalBaseBootstrapperApplication.h +++ /dev/null @@ -1,651 +0,0 @@ -//------------------------------------------------------------------------------------------------- -// -// Copyright (c) 2004, Outercurve Foundation. -// This software is released under Microsoft Reciprocal License (MS-RL). -// The license and further copyright text can be found in the file -// LICENSE.TXT at the root directory of the distribution. -// -//------------------------------------------------------------------------------------------------- - -#include -#include - -#include "IBootstrapperEngine.h" -#include "IBootstrapperApplication.h" - -#include "balutil.h" -#include "balretry.h" - -class CBalBaseBootstrapperApplication : public IBootstrapperApplication -{ -public: // IUnknown - virtual STDMETHODIMP QueryInterface( - __in REFIID riid, - __out LPVOID *ppvObject - ) - { - if (!ppvObject) - { - return E_INVALIDARG; - } - - *ppvObject = NULL; - - if (::IsEqualIID(__uuidof(IBootstrapperApplication), riid)) - { - *ppvObject = static_cast(this); - } - else if (::IsEqualIID(IID_IUnknown, riid)) - { - *ppvObject = static_cast(this); - } - else // no interface for requested iid - { - return E_NOINTERFACE; - } - - AddRef(); - return S_OK; - } - - virtual STDMETHODIMP_(ULONG) AddRef() - { - return ::InterlockedIncrement(&this->m_cReferences); - } - - virtual STDMETHODIMP_(ULONG) Release() - { - long l = ::InterlockedDecrement(&this->m_cReferences); - if (0 < l) - { - return l; - } - - delete this; - return 0; - } - -public: // IBurnUserExperience - virtual STDMETHODIMP OnStartup() - { - return S_OK; - } - - virtual STDMETHODIMP_(int) OnShutdown() - { - return IDNOACTION; - } - - virtual STDMETHODIMP_(int) OnSystemShutdown( - __in DWORD dwEndSession, - __in int /*nRecommendation*/ - ) - { - // Allow requests to shut down when critical or not applying. - if (ENDSESSION_CRITICAL & dwEndSession || !m_fApplying) - { - return IDOK; - } - - return IDCANCEL; - } - - virtual STDMETHODIMP_(int) OnDetectBegin( - __in BOOL /*fInstalled*/, - __in DWORD /*cPackages*/ - ) - { - return CheckCanceled() ? IDCANCEL : IDNOACTION; - } - - virtual STDMETHODIMP_(int) OnDetectForwardCompatibleBundle( - __in_z LPCWSTR /*wzBundleId*/, - __in BOOTSTRAPPER_RELATION_TYPE /*relationType*/, - __in_z LPCWSTR /*wzBundleTag*/, - __in BOOL /*fPerMachine*/, - __in DWORD64 /*dw64Version*/, - __in int nRecommendation - ) - { - return CheckCanceled() ? IDCANCEL : nRecommendation; - } - - virtual STDMETHODIMP_(int) OnDetectUpdateBegin( - __in_z LPCWSTR /*wzUpdateLocation*/, - __in int nRecommendation - ) - { - return CheckCanceled() ? IDCANCEL : nRecommendation; - } - - virtual STDMETHODIMP_(void) OnDetectUpdateComplete( - __in HRESULT /*hrStatus*/, - __in_z_opt LPCWSTR /*wzUpdateLocation*/ - ) - { - } - - virtual STDMETHODIMP_(int) OnDetectPriorBundle( - __in_z LPCWSTR /*wzBundleId*/ - ) - { - return CheckCanceled() ? IDCANCEL : IDNOACTION; - } - - virtual STDMETHODIMP_(int) OnDetectPackageBegin( - __in_z LPCWSTR /*wzPackageId*/ - ) - { - return CheckCanceled() ? IDCANCEL : IDNOACTION; - } - - virtual STDMETHODIMP_(int) OnDetectRelatedBundle( - __in_z LPCWSTR /*wzBundleId*/, - __in BOOTSTRAPPER_RELATION_TYPE /*relationType*/, - __in_z LPCWSTR /*wzBundleTag*/, - __in BOOL /*fPerMachine*/, - __in DWORD64 /*dw64Version*/, - __in BOOTSTRAPPER_RELATED_OPERATION /*operation*/ - ) - { - return CheckCanceled() ? IDCANCEL : IDNOACTION; - } - - virtual STDMETHODIMP_(int) OnDetectRelatedMsiPackage( - __in_z LPCWSTR /*wzPackageId*/, - __in_z LPCWSTR /*wzProductCode*/, - __in BOOL /*fPerMachine*/, - __in DWORD64 /*dw64Version*/, - __in BOOTSTRAPPER_RELATED_OPERATION /*operation*/ - ) - { - return CheckCanceled() ? IDCANCEL : IDNOACTION; - } - - virtual STDMETHODIMP_(int) OnDetectTargetMsiPackage( - __in_z LPCWSTR /*wzPackageId*/, - __in_z LPCWSTR /*wzProductCode*/, - __in BOOTSTRAPPER_PACKAGE_STATE /*patchState*/ - ) - { - return CheckCanceled() ? IDCANCEL : IDNOACTION; - } - - virtual STDMETHODIMP_(int) OnDetectMsiFeature( - __in_z LPCWSTR /*wzPackageId*/, - __in_z LPCWSTR /*wzFeatureId*/, - __in BOOTSTRAPPER_FEATURE_STATE /*state*/ - ) - { - return CheckCanceled() ? IDCANCEL : IDNOACTION; - } - - virtual STDMETHODIMP_(void) OnDetectPackageComplete( - __in_z LPCWSTR /*wzPackageId*/, - __in HRESULT /*hrStatus*/, - __in BOOTSTRAPPER_PACKAGE_STATE /*state*/ - ) - { - } - - virtual STDMETHODIMP_(void) OnDetectComplete( - __in HRESULT /*hrStatus*/ - ) - { - } - - virtual STDMETHODIMP_(int) OnPlanBegin( - __in DWORD /*cPackages*/ - ) - { - return CheckCanceled() ? IDCANCEL : IDNOACTION; - } - - virtual STDMETHODIMP_(int) OnPlanRelatedBundle( - __in_z LPCWSTR /*wzBundleId*/, - __inout BOOTSTRAPPER_REQUEST_STATE* /*pRequestedState*/ - ) - { - return CheckCanceled() ? IDCANCEL : IDNOACTION; - } - - virtual STDMETHODIMP_(int) OnPlanPackageBegin( - __in_z LPCWSTR /*wzPackageId*/, - __inout BOOTSTRAPPER_REQUEST_STATE* /*pRequestState*/ - ) - { - return CheckCanceled() ? IDCANCEL : IDNOACTION; - } - - virtual STDMETHODIMP_(int) OnPlanTargetMsiPackage( - __in_z LPCWSTR /*wzPackageId*/, - __in_z LPCWSTR /*wzProductCode*/, - __inout BOOTSTRAPPER_REQUEST_STATE* /*pRequestedState*/ - ) - { - return CheckCanceled() ? IDCANCEL : IDNOACTION; - } - - virtual STDMETHODIMP_(int) OnPlanMsiFeature( - __in_z LPCWSTR /*wzPackageId*/, - __in_z LPCWSTR /*wzFeatureId*/, - __inout BOOTSTRAPPER_FEATURE_STATE* /*pRequestedState*/ - ) - { - return CheckCanceled() ? IDCANCEL : IDNOACTION; - } - - virtual STDMETHODIMP_(void) OnPlanPackageComplete( - __in_z LPCWSTR /*wzPackageId*/, - __in HRESULT /*hrStatus*/, - __in BOOTSTRAPPER_PACKAGE_STATE /*state*/, - __in BOOTSTRAPPER_REQUEST_STATE /*requested*/, - __in BOOTSTRAPPER_ACTION_STATE /*execute*/, - __in BOOTSTRAPPER_ACTION_STATE /*rollback*/ - ) - { - } - - virtual STDMETHODIMP_(void) OnPlanComplete( - __in HRESULT /*hrStatus*/ - ) - { - } - - virtual STDMETHODIMP_(int) OnApplyBegin() - { - m_fApplying = TRUE; - - m_dwProgressPercentage = 0; - m_dwOverallProgressPercentage = 0; - - return CheckCanceled() ? IDCANCEL : IDNOACTION; - } - - virtual STDMETHODIMP_(int) OnElevate() - { - return CheckCanceled() ? IDCANCEL : IDNOACTION; - } - - virtual STDMETHODIMP_(int) OnRegisterBegin() - { - return CheckCanceled() ? IDCANCEL : IDNOACTION; - } - - virtual STDMETHODIMP_(void) OnRegisterComplete( - __in HRESULT /*hrStatus*/ - ) - { - return; - } - - virtual STDMETHODIMP_(void) OnUnregisterBegin() - { - return; - } - - virtual STDMETHODIMP_(void) OnUnregisterComplete( - __in HRESULT /*hrStatus*/ - ) - { - return; - } - - virtual STDMETHODIMP_(int) OnApplyComplete( - __in HRESULT /*hrStatus*/, - __in BOOTSTRAPPER_APPLY_RESTART restart - ) - { - m_fApplying = FALSE; - return BOOTSTRAPPER_APPLY_RESTART_REQUIRED == restart ? IDRESTART : CheckCanceled() ? IDCANCEL : IDNOACTION; - } - - virtual STDMETHODIMP_(int) OnCacheBegin() - { - return CheckCanceled() ? IDCANCEL : IDNOACTION; - } - - virtual STDMETHODIMP_(int) OnCachePackageBegin( - __in_z LPCWSTR /*wzPackageId*/, - __in DWORD /*cCachePayloads*/, - __in DWORD64 /*dw64PackageCacheSize*/ - ) - { - return CheckCanceled() ? IDCANCEL : IDNOACTION; - } - - virtual STDMETHODIMP_(int) OnCacheAcquireBegin( - __in_z LPCWSTR wzPackageOrContainerId, - __in_z_opt LPCWSTR wzPayloadId, - __in BOOTSTRAPPER_CACHE_OPERATION /*operation*/, - __in_z LPCWSTR /*wzSource*/ - ) - { - BalRetryStartPackage(BALRETRY_TYPE_CACHE, wzPackageOrContainerId, wzPayloadId); - return CheckCanceled() ? IDCANCEL : IDNOACTION; - } - - virtual STDMETHODIMP_(int) OnCacheAcquireProgress( - __in_z LPCWSTR /*wzPackageOrContainerId*/, - __in_z_opt LPCWSTR /*wzPayloadId*/, - __in DWORD64 /*dw64Progress*/, - __in DWORD64 /*dw64Total*/, - __in DWORD /*dwOverallPercentage*/ - ) - { - HRESULT hr = S_OK; - int nResult = IDNOACTION; - - // Send progress even though we don't update the numbers to at least give the caller an opportunity - // to cancel. - if (BOOTSTRAPPER_DISPLAY_EMBEDDED == m_display) - { - hr = m_pEngine->SendEmbeddedProgress(m_dwProgressPercentage, m_dwOverallProgressPercentage, &nResult); - BalExitOnFailure(hr, "Failed to send embedded cache progress."); - } - - LExit: - return FAILED(hr) ? IDERROR : CheckCanceled() ? IDCANCEL : nResult; - } - - virtual STDMETHODIMP_(int) OnCacheAcquireComplete( - __in_z LPCWSTR wzPackageOrContainerId, - __in_z_opt LPCWSTR wzPayloadId, - __in HRESULT hrStatus, - __in int nRecommendation - ) - { - int nResult = CheckCanceled() ? IDCANCEL : BalRetryEndPackage(BALRETRY_TYPE_CACHE, wzPackageOrContainerId, wzPayloadId, hrStatus); - return IDNOACTION == nResult ? nRecommendation : nResult; - } - - virtual STDMETHODIMP_(int) OnCacheVerifyBegin( - __in_z LPCWSTR /*wzPackageId*/, - __in_z LPCWSTR /*wzPayloadId*/ - ) - { - return CheckCanceled() ? IDCANCEL : IDNOACTION; - } - - virtual STDMETHODIMP_(int) OnCacheVerifyComplete( - __in_z LPCWSTR /*wzPackageId*/, - __in_z LPCWSTR /*wzPayloadId*/, - __in HRESULT /*hrStatus*/, - __in int nRecommendation - ) - { - return CheckCanceled() ? IDCANCEL : nRecommendation; - } - - virtual STDMETHODIMP_(int) OnCachePackageComplete( - __in_z LPCWSTR /*wzPackageId*/, - __in HRESULT /*hrStatus*/, - __in int nRecommendation - ) - { - return CheckCanceled() ? IDCANCEL : nRecommendation; - } - - virtual STDMETHODIMP_(void) OnCacheComplete( - __in HRESULT /*hrStatus*/ - ) - { - } - - virtual STDMETHODIMP_(int) OnExecuteBegin( - __in DWORD /*cExecutingPackages*/ - ) - { - return CheckCanceled() ? IDCANCEL : IDNOACTION; - } - - virtual STDMETHODIMP_(int) OnExecutePackageBegin( - __in_z LPCWSTR wzPackageId, - __in BOOL fExecute - ) - { - // Only track retry on execution (not rollback). - if (fExecute) - { - BalRetryStartPackage(BALRETRY_TYPE_EXECUTE, wzPackageId, NULL); - } - - m_fRollingBack = !fExecute; - return CheckCanceled() ? IDCANCEL : IDNOACTION; - } - - virtual STDMETHODIMP_(int) OnExecutePatchTarget( - __in_z LPCWSTR /*wzPackageId*/, - __in_z LPCWSTR /*wzTargetProductCode*/ - ) - { - return CheckCanceled() ? IDCANCEL : IDNOACTION; - } - - virtual STDMETHODIMP_(int) OnError( - __in BOOTSTRAPPER_ERROR_TYPE errorType, - __in_z LPCWSTR wzPackageId, - __in DWORD dwCode, - __in_z LPCWSTR /*wzError*/, - __in DWORD /*dwUIHint*/, - __in DWORD /*cData*/, - __in_ecount_z_opt(cData) LPCWSTR* /*rgwzData*/, - __in int nRecommendation - ) - { - BalRetryErrorOccurred(wzPackageId, dwCode); - - if (BOOTSTRAPPER_DISPLAY_FULL == m_display) - { - if (BOOTSTRAPPER_ERROR_TYPE_HTTP_AUTH_SERVER == errorType ||BOOTSTRAPPER_ERROR_TYPE_HTTP_AUTH_PROXY == errorType) - { - nRecommendation = IDTRYAGAIN; - } - } - - return CheckCanceled() ? IDCANCEL : nRecommendation; - } - - virtual STDMETHODIMP_(int) OnProgress( - __in DWORD dwProgressPercentage, - __in DWORD dwOverallProgressPercentage - ) - { - HRESULT hr = S_OK; - int nResult = IDNOACTION; - - m_dwProgressPercentage = dwProgressPercentage; - m_dwOverallProgressPercentage = dwOverallProgressPercentage; - - if (BOOTSTRAPPER_DISPLAY_EMBEDDED == m_display) - { - hr = m_pEngine->SendEmbeddedProgress(m_dwProgressPercentage, m_dwOverallProgressPercentage, &nResult); - BalExitOnFailure(hr, "Failed to send embedded overall progress."); - } - - LExit: - return FAILED(hr) ? IDERROR : CheckCanceled() ? IDCANCEL : nResult; - } - - virtual STDMETHODIMP_(int) OnDownloadPayloadBegin( - __in_z LPCWSTR /*wzPayloadId*/, - __in_z LPCWSTR /*wzPayloadFileName*/ - ) - { - return CheckCanceled() ? IDCANCEL : IDNOACTION; - } - - virtual STDMETHODIMP_(int) OnDownloadPayloadComplete( - __in_z LPCWSTR /*wzPayloadId*/, - __in_z LPCWSTR /*wzPayloadFileName*/, - __in HRESULT /*hrStatus*/ - ) - { - return CheckCanceled() ? IDCANCEL : IDNOACTION; - } - - virtual STDMETHODIMP_(int) OnExecuteProgress( - __in_z LPCWSTR /*wzPackageId*/, - __in DWORD /*dwProgressPercentage*/, - __in DWORD /*dwOverallProgressPercentage*/ - ) - { - HRESULT hr = S_OK; - int nResult = IDNOACTION; - - // Send progress even though we don't update the numbers to at least give the caller an opportunity - // to cancel. - if (BOOTSTRAPPER_DISPLAY_EMBEDDED == m_display) - { - hr = m_pEngine->SendEmbeddedProgress(m_dwProgressPercentage, m_dwOverallProgressPercentage, &nResult); - BalExitOnFailure(hr, "Failed to send embedded execute progress."); - } - - LExit: - return FAILED(hr) ? IDERROR : CheckCanceled() ? IDCANCEL : nResult; - } - - virtual STDMETHODIMP_(int) OnExecuteMsiMessage( - __in_z LPCWSTR /*wzPackageId*/, - __in INSTALLMESSAGE /*mt*/, - __in UINT /*uiFlags*/, - __in_z LPCWSTR /*wzMessage*/, - __in DWORD /*cData*/, - __in_ecount_z_opt(cData) LPCWSTR* /*rgwzData*/, - __in int nRecommendation - ) - { - return CheckCanceled() ? IDCANCEL : nRecommendation; - } - - virtual STDMETHODIMP_(int) OnExecuteFilesInUse( - __in_z LPCWSTR /*wzPackageId*/, - __in DWORD /*cFiles*/, - __in_ecount_z(cFiles) LPCWSTR* /*rgwzFiles*/ - ) - { - return CheckCanceled() ? IDCANCEL : IDNOACTION; - } - - virtual STDMETHODIMP_(int) OnExecutePackageComplete( - __in_z LPCWSTR wzPackageId, - __in HRESULT hrExitCode, - __in BOOTSTRAPPER_APPLY_RESTART /*restart*/, - __in int nRecommendation - ) - { - int nResult = CheckCanceled() ? IDCANCEL : CheckCanceled() ? IDCANCEL : BalRetryEndPackage(BALRETRY_TYPE_EXECUTE, wzPackageId, NULL, hrExitCode); - return IDNOACTION == nResult ? nRecommendation : nResult; - } - - virtual STDMETHODIMP_(void) OnExecuteComplete( - __in HRESULT /*hrStatus*/ - ) - { - } - - virtual STDMETHODIMP_(int) OnResolveSource( - __in_z LPCWSTR /*wzPackageOrContainerId*/, - __in_z_opt LPCWSTR /*wzPayloadId*/, - __in_z LPCWSTR /*wzLocalSource*/, - __in_z_opt LPCWSTR /*wzDownloadSource*/ - ) - { - return CheckCanceled() ? IDCANCEL : IDNOACTION; - } - -protected: - // - // PromptCancel - prompts the user to close (if not forced). - // - virtual BOOL PromptCancel( - __in HWND hWnd, - __in BOOL fForceCancel, - __in_z LPCWSTR wzMessage, - __in_z LPCWSTR wzCaption - ) - { - ::EnterCriticalSection(&m_csCanceled); - - // Only prompt the user to close if we have not canceled already. - if (!m_fCanceled) - { - if (fForceCancel) - { - m_fCanceled = TRUE; - } - else - { - m_fCanceled = (IDYES == ::MessageBoxW(hWnd, wzMessage, wzCaption, MB_YESNO | MB_ICONEXCLAMATION)); - } - } - - ::LeaveCriticalSection(&m_csCanceled); - - return m_fCanceled; - } - - // - // CheckCanceled - waits if the cancel dialog is up and checks to see if the user canceled the operation. - // - BOOL CheckCanceled() - { - ::EnterCriticalSection(&m_csCanceled); - ::LeaveCriticalSection(&m_csCanceled); - return m_fRollingBack ? FALSE : m_fCanceled; - } - - BOOL IsRollingBack() - { - return m_fRollingBack; - } - - BOOL IsCanceled() - { - return m_fCanceled; - } - - CBalBaseBootstrapperApplication( - __in IBootstrapperEngine* pEngine, - __in const BOOTSTRAPPER_COMMAND* pCommand, - __in DWORD dwRetryCount = 0, - __in DWORD dwRetryTimeout = 1000 - ) - { - m_cReferences = 1; - m_display = pCommand->display; - m_restart = pCommand->restart; - - pEngine->AddRef(); - m_pEngine = pEngine; - - ::InitializeCriticalSection(&m_csCanceled); - m_fCanceled = FALSE; - m_fApplying = FALSE; - m_fRollingBack = FALSE; - - BalRetryInitialize(dwRetryCount, dwRetryTimeout); - } - - virtual ~CBalBaseBootstrapperApplication() - { - BalRetryUninitialize(); - ::DeleteCriticalSection(&m_csCanceled); - - ReleaseNullObject(m_pEngine); - } - -private: - long m_cReferences; - BOOTSTRAPPER_DISPLAY m_display; - BOOTSTRAPPER_RESTART m_restart; - IBootstrapperEngine* m_pEngine; - - CRITICAL_SECTION m_csCanceled; - BOOL m_fCanceled; - BOOL m_fApplying; - BOOL m_fRollingBack; - - DWORD m_dwProgressPercentage; - DWORD m_dwOverallProgressPercentage; -}; diff --git a/scripts/windows/installer/WiXSDK/inc/IBootstrapperApplication.h b/scripts/windows/installer/WiXSDK/inc/IBootstrapperApplication.h deleted file mode 100644 index f4ae288f16..0000000000 --- a/scripts/windows/installer/WiXSDK/inc/IBootstrapperApplication.h +++ /dev/null @@ -1,704 +0,0 @@ -//------------------------------------------------------------------------------------------------- -// -// Copyright (c) 2004, Outercurve Foundation. -// This software is released under Microsoft Reciprocal License (MS-RL). -// The license and further copyright text can be found in the file -// LICENSE.TXT at the root directory of the distribution. -// -// -//

-// IBootstrapperApplication implemented by a bootstrapper application and used by bootstrapper engine. -// -//------------------------------------------------------------------------------------------------- - -#pragma once - - -enum BOOTSTRAPPER_DISPLAY -{ - BOOTSTRAPPER_DISPLAY_UNKNOWN, - BOOTSTRAPPER_DISPLAY_EMBEDDED, - BOOTSTRAPPER_DISPLAY_NONE, - BOOTSTRAPPER_DISPLAY_PASSIVE, - BOOTSTRAPPER_DISPLAY_FULL, -}; - - -enum BOOTSTRAPPER_RESTART -{ - BOOTSTRAPPER_RESTART_UNKNOWN, - BOOTSTRAPPER_RESTART_NEVER, - BOOTSTRAPPER_RESTART_PROMPT, - BOOTSTRAPPER_RESTART_AUTOMATIC, - BOOTSTRAPPER_RESTART_ALWAYS, -}; - - -enum BOOTSTRAPPER_RESUME_TYPE -{ - BOOTSTRAPPER_RESUME_TYPE_NONE, - BOOTSTRAPPER_RESUME_TYPE_INVALID, // resume information is present but invalid - BOOTSTRAPPER_RESUME_TYPE_INTERRUPTED, // relaunched after an unexpected interruption - BOOTSTRAPPER_RESUME_TYPE_REBOOT_PENDING, // reboot has not taken place yet - BOOTSTRAPPER_RESUME_TYPE_REBOOT, // relaunched after reboot - BOOTSTRAPPER_RESUME_TYPE_SUSPEND, // relaunched after suspend - BOOTSTRAPPER_RESUME_TYPE_ARP, // launched from ARP -}; - - -enum BOOTSTRAPPER_ERROR_TYPE -{ - BOOTSTRAPPER_ERROR_TYPE_ELEVATE, // error occurred trying to elevate. - BOOTSTRAPPER_ERROR_TYPE_WINDOWS_INSTALLER, // error came from windows installer. - BOOTSTRAPPER_ERROR_TYPE_EXE_PACKAGE, // error came from an exe package. - BOOTSTRAPPER_ERROR_TYPE_HTTP_AUTH_SERVER, // error occurred trying to authenticate with HTTP server. - BOOTSTRAPPER_ERROR_TYPE_HTTP_AUTH_PROXY, // error occurred trying to authenticate with HTTP proxy. - BOOTSTRAPPER_ERROR_TYPE_APPLY, // error occurred during apply. -}; - - -enum BOOTSTRAPPER_RELATED_OPERATION -{ - BOOTSTRAPPER_RELATED_OPERATION_NONE, - BOOTSTRAPPER_RELATED_OPERATION_DOWNGRADE, - BOOTSTRAPPER_RELATED_OPERATION_MINOR_UPDATE, - BOOTSTRAPPER_RELATED_OPERATION_MAJOR_UPGRADE, - BOOTSTRAPPER_RELATED_OPERATION_REMOVE, - BOOTSTRAPPER_RELATED_OPERATION_INSTALL, - BOOTSTRAPPER_RELATED_OPERATION_REPAIR, -}; - - -enum BOOTSTRAPPER_CACHE_OPERATION -{ - BOOTSTRAPPER_CACHE_OPERATION_COPY, - BOOTSTRAPPER_CACHE_OPERATION_DOWNLOAD, - BOOTSTRAPPER_CACHE_OPERATION_EXTRACT, -}; - - -enum BOOTSTRAPPER_APPLY_RESTART -{ - BOOTSTRAPPER_APPLY_RESTART_NONE, - BOOTSTRAPPER_APPLY_RESTART_REQUIRED, - BOOTSTRAPPER_APPLY_RESTART_INITIATED, -}; - - -enum BOOTSTRAPPER_RELATION_TYPE -{ - BOOTSTRAPPER_RELATION_NONE, - BOOTSTRAPPER_RELATION_DETECT, - BOOTSTRAPPER_RELATION_UPGRADE, - BOOTSTRAPPER_RELATION_ADDON, - BOOTSTRAPPER_RELATION_PATCH, - BOOTSTRAPPER_RELATION_DEPENDENT, - BOOTSTRAPPER_RELATION_UPDATE, -}; - - -struct BOOTSTRAPPER_COMMAND -{ - BOOTSTRAPPER_ACTION action; - BOOTSTRAPPER_DISPLAY display; - BOOTSTRAPPER_RESTART restart; - - LPWSTR wzCommandLine; - int nCmdShow; - - BOOTSTRAPPER_RESUME_TYPE resumeType; - HWND hwndSplashScreen; - - // If this was run from a related bundle, specifies the relation type - BOOTSTRAPPER_RELATION_TYPE relationType; - BOOL fPassthrough; - - LPWSTR wzLayoutDirectory; -}; - - -DECLARE_INTERFACE_IID_(IBootstrapperApplication, IUnknown, "53C31D56-49C0-426B-AB06-099D717C67FE") -{ - // OnStartup - called when the engine is ready for the bootstrapper application to start. - // - STDMETHOD(OnStartup)() = 0; - - // OnShutdown - called after the bootstrapper application quits the engine. - // - // Return: - // IDRESTART instructs the engine to restart. The engine will not launch again after the machine - // is rebooted. Ignored if reboot was already initiated by OnExecutePackageComplete(). - // - // IDRELOAD_BOOTSTRAPPER instructs the engine to unload the bootstrapper application and restart - // the engine which will load the bootstrapper application again. Typically - // used to switch from a native bootstrapper application to a managed one. - // - // All other return codes are ignored. - STDMETHOD_(int, OnShutdown)() = 0; - - // OnSystemShutdown - called when the operating system is instructed to shutdown the machine. - // - // Return: - // IDCANCEL instructs the engine to block the shutdown of the machine. - // - // All other return codes allow the shutdown to commence. - STDMETHOD_(int, OnSystemShutdown)( - __in DWORD dwEndSession, - __in int nRecommendation - ) = 0; - - // OnDetectBegin - called when the engine begins detection. - // - // Return: - // IDCANCEL instructs the engine to stop detection. - // - // IDNOACTION instructs the engine to continue. - STDMETHOD_(int, OnDetectBegin)( - __in BOOL fInstalled, - __in DWORD cPackages - ) = 0; - - // OnDetectForwardCompatibleBundle - called when the engine detects a forward compatible bundle. - // - // Return: - // IDOK instructs the engine to use the forward compatible bundle. - // - // IDCANCEL instructs the engine to stop detection. - // - // IDNOACTION instructs the engine to not use the forward compatible bundle. - STDMETHOD_(int, OnDetectForwardCompatibleBundle)( - __in_z LPCWSTR wzBundleId, - __in BOOTSTRAPPER_RELATION_TYPE relationType, - __in_z LPCWSTR wzBundleTag, - __in BOOL fPerMachine, - __in DWORD64 dw64Version, - __in int nRecommendation - ) = 0; - - // OnDetectUpdateBegin - called when the engine begins detection for bundle update. - // - // Return: - // IDOK instructs the engine to attempt update detection. - // - // IDCANCEL instructs the engine to stop detection. - // - // IDNOACTION instructs the engine to skip update detection. - STDMETHOD_(int, OnDetectUpdateBegin)( - __in_z LPCWSTR wzUpdateLocation, - __in int nRecommendation - ) = 0; - - // OnDetectUpdateComplete - called when the engine completes detection for bundle update. - // - // Remarks: - // wzUpdateLocation is null if no update was available. - STDMETHOD_(void, OnDetectUpdateComplete)( - __in HRESULT hrStatus, - __in_z_opt LPCWSTR wzUpdateLocation - ) = 0; - - // OnDetectRelatedBundle - called when the engine detects a related bundle. - // - // Return: - // IDCANCEL instructs the engine to stop detection. - // - // IDNOACTION instructs the engine to continue. - STDMETHOD_(int, OnDetectRelatedBundle)( - __in_z LPCWSTR wzBundleId, - __in BOOTSTRAPPER_RELATION_TYPE relationType, - __in_z LPCWSTR wzBundleTag, - __in BOOL fPerMachine, - __in DWORD64 dw64Version, - __in BOOTSTRAPPER_RELATED_OPERATION operation - ) = 0; - - // OnDetectPackageBegin - called when the engine begins detecting a package. - // - // Return: - // IDCANCEL instructs the engine to stop detection. - // - // IDNOACTION instructs the engine to continue. - STDMETHOD_(int, OnDetectPackageBegin)( - __in_z LPCWSTR wzPackageId - ) = 0; - - // OnDetectRelatedMsiPackage - called when the engine begins detects a related package. - // - // Return: - // IDCANCEL instructs the engine to stop detection. - // - // IDNOACTION instructs the engine to continue. - STDMETHOD_(int, OnDetectRelatedMsiPackage)( - __in_z LPCWSTR wzPackageId, - __in_z LPCWSTR wzProductCode, - __in BOOL fPerMachine, - __in DWORD64 dw64Version, - __in BOOTSTRAPPER_RELATED_OPERATION operation - ) = 0; - - // OnDetectTargetMsiPackage - called when the engine detects a target MSI package for - // an MSP package. - // - // Return: - // IDCANCEL instructs the engine to stop detection. - // - // IDNOACTION instructs the engine to continue. - STDMETHOD_(int, OnDetectTargetMsiPackage)( - __in_z LPCWSTR wzPackageId, - __in_z LPCWSTR wzProductCode, - __in BOOTSTRAPPER_PACKAGE_STATE patchState - ) = 0; - - // OnDetectMsiFeature - called when the engine detects a feature in an MSI package. - // - // Return: - // IDCANCEL instructs the engine to stop detection. - // - // IDNOACTION instructs the engine to continue. - STDMETHOD_(int, OnDetectMsiFeature)( - __in_z LPCWSTR wzPackageId, - __in_z LPCWSTR wzFeatureId, - __in BOOTSTRAPPER_FEATURE_STATE state - ) = 0; - - // OnDetectPackageComplete - called after the engine detects a package. - // - STDMETHOD_(void, OnDetectPackageComplete)( - __in_z LPCWSTR wzPackageId, - __in HRESULT hrStatus, - __in BOOTSTRAPPER_PACKAGE_STATE state - ) = 0; - - // OnDetectPackageComplete - called after the engine completes detection. - // - STDMETHOD_(void, OnDetectComplete)( - __in HRESULT hrStatus - ) = 0; - - // OnPlanBegin - called when the engine begins planning. - // - // Return: - // IDCANCEL instructs the engine to stop planning. - // - // IDNOACTION instructs the engine to continue. - STDMETHOD_(int, OnPlanBegin)( - __in DWORD cPackages - ) = 0; - - // OnPlanRelatedBundle - called when the engine begins planning a related bundle. - // - // Return: - // IDCANCEL instructs the engine to stop planning. - // - // IDNOACTION instructs the engine to continue. - STDMETHOD_(int, OnPlanRelatedBundle)( - __in_z LPCWSTR wzBundleId, - __inout BOOTSTRAPPER_REQUEST_STATE* pRequestedState - ) = 0; - - // OnPlanPackageBegin - called when the engine begins planning a package. - // - // Return: - // IDCANCEL instructs the engine to stop planning. - // - // IDNOACTION instructs the engine to continue. - STDMETHOD_(int, OnPlanPackageBegin)( - __in_z LPCWSTR wzPackageId, - __inout BOOTSTRAPPER_REQUEST_STATE* pRequestedState - ) = 0; - - // OnPlanTargetMsiPackage - called when the engine plans an MSP package - // to apply to an MSI package. - // - // Return: - // IDCANCEL instructs the engine to stop planning. - // - // IDNOACTION instructs the engine to continue. - STDMETHOD_(int, OnPlanTargetMsiPackage)( - __in_z LPCWSTR wzPackageId, - __in_z LPCWSTR wzProductCode, - __inout BOOTSTRAPPER_REQUEST_STATE* pRequestedState - ) = 0; - - // OnPlanMsiFeature - called when the engine plans a feature in an - // MSI package. - // - // Return: - // IDCANCEL instructs the engine to stop planning. - // - // IDNOACTION instructs the engine to continue. - STDMETHOD_(int, OnPlanMsiFeature)( - __in_z LPCWSTR wzPackageId, - __in_z LPCWSTR wzFeatureId, - __inout BOOTSTRAPPER_FEATURE_STATE* pRequestedState - ) = 0; - - // OnPlanPackageComplete - called after the engine plans a package. - // - STDMETHOD_(void, OnPlanPackageComplete)( - __in_z LPCWSTR wzPackageId, - __in HRESULT hrStatus, - __in BOOTSTRAPPER_PACKAGE_STATE state, - __in BOOTSTRAPPER_REQUEST_STATE requested, - __in BOOTSTRAPPER_ACTION_STATE execute, - __in BOOTSTRAPPER_ACTION_STATE rollback - ) = 0; - - // OnPlanComplete - called when the engine completes planning. - // - STDMETHOD_(void, OnPlanComplete)( - __in HRESULT hrStatus - ) = 0; - - // OnApplyBegin - called when the engine begins applying the plan. - // - // Return: - // IDCANCEL instructs the engine to stop applying. - // - // IDNOACTION instructs the engine to continue. - STDMETHOD_(int, OnApplyBegin)() = 0; - - // OnElevate - called before the engine displays an elevation prompt. - // Will only happen once per execution of the engine. - // - // Return: - // IDCANCEL instructs the engine to abort elevation and stop applying. - // - // IDNOACTION instructs the engine to continue. - STDMETHOD_(int, OnElevate)() = 0; - - // OnProgress - called when the engine makes progress. - // - // Return: - // IDCANCEL instructs the engine to stop applying. - // - // IDNOACTION instructs the engine to continue. - STDMETHOD_(int, OnProgress)( - __in DWORD dwProgressPercentage, - __in DWORD dwOverallPercentage - ) = 0; - - // OnError - called when the engine encounters an error. - // - // Return: - // uiFlags is a combination of valid ID* return values appropriate for - // the error. - // - // IDNOACTION instructs the engine to pass the error through to default - // handling which usually results in the apply failing. - STDMETHOD_(int, OnError)( - __in BOOTSTRAPPER_ERROR_TYPE errorType, - __in_z_opt LPCWSTR wzPackageId, - __in DWORD dwCode, - __in_z_opt LPCWSTR wzError, - __in DWORD uiFlags, - __in DWORD cData, - __in_ecount_z_opt(cData) LPCWSTR* rgwzData, - __in int nRecommendation - ) = 0; - - // OnRegisterBegin - called when the engine registers the bundle. - // - // Return: - // IDCANCEL instructs the engine to stop applying. - // - // IDNOACTION instructs the engine to continue. - STDMETHOD_(int, OnRegisterBegin)() = 0; - - // OnRegisterComplete - called when the engine registration is - // complete. - // - STDMETHOD_(void, OnRegisterComplete)( - __in HRESULT hrStatus - ) = 0; - - // OnCacheBegin - called when the engine begins caching. - // - // Return: - // IDCANCEL instructs the engine to stop caching. - // - // IDNOACTION instructs the engine to continue. - STDMETHOD_(int, OnCacheBegin)() = 0; - - // OnCachePackageBegin - called when the engine begins caching - // a package. - // - // Return: - // IDCANCEL instructs the engine to stop caching. - // - // IDNOACTION instructs the engine to continue. - STDMETHOD_(int, OnCachePackageBegin)( - __in_z LPCWSTR wzPackageId, - __in DWORD cCachePayloads, - __in DWORD64 dw64PackageCacheSize - ) = 0; - - // OnCacheAcquireBegin - called when the engine begins copying or - // downloading a payload to the working folder. - // - // Return: - // IDCANCEL instructs the engine to stop caching. - // - // IDNOACTION instructs the engine to continue. - STDMETHOD_(int, OnCacheAcquireBegin)( - __in_z_opt LPCWSTR wzPackageOrContainerId, - __in_z_opt LPCWSTR wzPayloadId, - __in BOOTSTRAPPER_CACHE_OPERATION operation, - __in_z LPCWSTR wzSource - ) = 0; - - // OnCacheAcquireProgress - called when the engine makes progresss copying - // or downloading a payload to the working folder. - // - // Return: - // IDCANCEL instructs the engine to stop caching. - // - // IDNOACTION instructs the engine to continue. - STDMETHOD_(int, OnCacheAcquireProgress)( - __in_z_opt LPCWSTR wzPackageOrContainerId, - __in_z_opt LPCWSTR wzPayloadId, - __in DWORD64 dw64Progress, - __in DWORD64 dw64Total, - __in DWORD dwOverallPercentage - ) = 0; - - // OnResolveSource - called when a payload or container cannot be found locally. - // - // Parameters: - // wzPayloadId will be NULL when resolving a container. - // wzDownloadSource will be NULL if the container or payload does not provide a DownloadURL. - // - // Return: - // IDRETRY instructs the engine to try the local source again. - // - // IDDOWNLOAD instructs the engine to try the download source. - // - // All other return codes result in an error. - // - // Notes: - // It is expected the BA may call IBurnCore::SetLocalSource() or IBurnCore::SetDownloadSource() - // to update the source location before returning IDRETRY or IDDOWNLOAD. - STDMETHOD_(int, OnResolveSource)( - __in_z LPCWSTR wzPackageOrContainerId, - __in_z_opt LPCWSTR wzPayloadId, - __in_z LPCWSTR wzLocalSource, - __in_z_opt LPCWSTR wzDownloadSource - ) = 0; - - // OnCacheAcquireComplete - called after the engine copied or downloaded - // a payload to the working folder. - // - // Return: - // IDRETRY instructs the engine to try the copy or download of the payload again. - // - // All other return codes are ignored. - STDMETHOD_(int, OnCacheAcquireComplete)( - __in_z_opt LPCWSTR wzPackageOrContainerId, - __in_z_opt LPCWSTR wzPayloadId, - __in HRESULT hrStatus, - __in int nRecommendation - ) = 0; - - // OnCacheVerifyBegin - called when the engine begins to verify then copy - // a payload or container to the package cache folder. - // - // Return: - // IDCANCEL instructs the engine to stop caching. - // - // IDNOACTION instructs the engine to continue. - STDMETHOD_(int, OnCacheVerifyBegin)( - __in_z_opt LPCWSTR wzPackageOrContainerId, - __in_z_opt LPCWSTR wzPayloadId - ) = 0; - - // OnCacheVerifyComplete - called after the engine verifies and copies - // a payload or container to the package cache folder. - // - // Return: - // IDRETRY instructs the engine to try the verification of the payload again. - // Ignored if hrStatus is success. - // - // IDTRYAGAIN instructs the engine to acquire the payload again. Ignored if - // hrStatus is success. - // - // All other return codes are ignored. - STDMETHOD_(int, OnCacheVerifyComplete)( - __in_z_opt LPCWSTR wzPackageOrContainerId, - __in_z_opt LPCWSTR wzPayloadId, - __in HRESULT hrStatus, - __in int nRecommendation - ) = 0; - - // OnCachePackageComplete - called after the engine attempts to copy or download all - // payloads of a package into the package cache folder. - // - // Return: - // IDIGNORE instructs the engine to ignore non-vital package failures and continue with the - // caching. Ignored if hrStatus is a success or the package is vital. - // - // IDRETRY instructs the engine to try the acquisition and verification of the package - // again. Ignored if hrStatus is a success. - // - // All other return codes are ignored. - STDMETHOD_(int, OnCachePackageComplete)( - __in_z LPCWSTR wzPackageId, - __in HRESULT hrStatus, - __in int nRecommendation - ) = 0; - - // OnCacheComplete - called when the engine caching is complete. - // - STDMETHOD_(void, OnCacheComplete)( - __in HRESULT hrStatus - ) = 0; - - // OnExecuteBegin - called when the engine begins executing the plan. - // - // Return: - // IDCANCEL instructs the engine to stop applying. - // - // IDNOACTION instructs the engine to continue. - STDMETHOD_(int, OnExecuteBegin)( - __in DWORD cExecutingPackages - ) = 0; - - // OnExecuteBegin - called when the engine begins executing a package. - // - // Return: - // IDCANCEL instructs the engine to stop applying. - // - // IDNOACTION instructs the engine to continue. - STDMETHOD_(int, OnExecutePackageBegin)( - __in_z LPCWSTR wzPackageId, - __in BOOL fExecute - ) = 0; - - // OnExecutePatchTarget - called when the engine executes one or more patches targeting - // a product. - // - // Return: - // IDCANCEL instructs the engine to stop applying. - // - // IDNOACTION instructs the engine to continue. - STDMETHOD_(int, OnExecutePatchTarget)( - __in_z LPCWSTR wzPackageId, - __in_z LPCWSTR wzTargetProductCode - ) = 0; - - // OnExecuteProgress - called when the engine makes progress executing a package. - // - // Return: - // IDCANCEL instructs the engine to stop applying. - // - // IDNOACTION instructs the engine to continue. - STDMETHOD_(int, OnExecuteProgress)( - __in_z LPCWSTR wzPackageId, - __in DWORD dwProgressPercentage, - __in DWORD dwOverallPercentage - ) = 0; - - // OnExecuteMsiMessage - called when the engine receives an MSI package message. - // - // Return: - // uiFlags is a combination of valid ID* return values appropriate for - // the message. - // - // IDNOACTION instructs the engine to pass the message through to default - // handling which usually results in the execution continuing. - STDMETHOD_(int, OnExecuteMsiMessage)( - __in_z LPCWSTR wzPackageId, - __in INSTALLMESSAGE mt, - __in UINT uiFlags, - __in_z LPCWSTR wzMessage, - __in DWORD cData, - __in_ecount_z_opt(cData) LPCWSTR* rgwzData, - __in int nRecommendation - ) = 0; - - // OnExecuteFilesInUse - called when the engine encounters files in use while - // executing a package. - // - // Return: - // IDOK instructs the engine to let the Restart Manager attempt to close the - // applications to avoid a restart. - // - // IDCANCEL instructs the engine to abort the execution and start rollback. - // - // IDIGNORE instructs the engine to ignore the running applications. A restart will be - // required. - // - // IDRETRY instructs the engine to check if the applications are still running again. - // - // IDNOACTION is equivalent to ignoring the running applications. A restart will be - // required. - STDMETHOD_(int, OnExecuteFilesInUse)( - __in_z LPCWSTR wzPackageId, - __in DWORD cFiles, - __in_ecount_z(cFiles) LPCWSTR* rgwzFiles - ) = 0; - - // OnExecutePackageComplete - called when a package execution is complete. - // - // Parameters: - // restart will indicate whether this package requires a reboot or initiated the reboot already. - // - // Return: - // IDIGNORE instructs the engine to ignore non-vital package failures and continue with the - // install. Ignored if hrStatus is a success or the package is vital. - // - // IDRETRY instructs the engine to try the execution of the package again. Ignored if hrStatus - // is a success. - // - // IDRESTART instructs the engine to stop processing the chain and restart. The engine will - // launch again after the machine is restarted. - // - // IDSUSPEND instructs the engine to stop processing the chain and suspend the current state. - // - // All other return codes are ignored. - STDMETHOD_(int, OnExecutePackageComplete)( - __in_z LPCWSTR wzPackageId, - __in HRESULT hrStatus, - __in BOOTSTRAPPER_APPLY_RESTART restart, - __in int nRecommendation - ) = 0; - - // OnExecuteComplete - called when the engine execution is complete. - // - STDMETHOD_(void, OnExecuteComplete)( - __in HRESULT hrStatus - ) = 0; - - // OnUnregisterBegin - called when the engine unregisters the bundle. - // - STDMETHOD_(void, OnUnregisterBegin)() = 0; - - // OnUnregisterComplete - called when the engine unregistration is complete. - // - STDMETHOD_(void, OnUnregisterComplete)( - __in HRESULT hrStatus - ) = 0; - - // OnApplyComplete - called after the plan has been applied. - // - // Parameters: - // restart will indicate whether any package required a reboot or initiated the reboot already. - // - // Return: - // IDRESTART instructs the engine to restart. The engine will not launch again after the machine - // is rebooted. Ignored if reboot was already initiated by OnExecutePackageComplete(). - // - // All other return codes are ignored. - STDMETHOD_(int, OnApplyComplete)( - __in HRESULT hrStatus, - __in BOOTSTRAPPER_APPLY_RESTART restart - ) = 0; -}; - - -extern "C" typedef HRESULT (WINAPI *PFN_BOOTSTRAPPER_APPLICATION_CREATE)( - __in IBootstrapperEngine* pEngine, - __in const BOOTSTRAPPER_COMMAND* pCommand, - __out IBootstrapperApplication** ppApplication - ); - -extern "C" typedef void (WINAPI *PFN_BOOTSTRAPPER_APPLICATION_DESTROY)(); diff --git a/scripts/windows/installer/WiXSDK/inc/IBootstrapperBAFunction.h b/scripts/windows/installer/WiXSDK/inc/IBootstrapperBAFunction.h deleted file mode 100644 index c0c9b3b94f..0000000000 --- a/scripts/windows/installer/WiXSDK/inc/IBootstrapperBAFunction.h +++ /dev/null @@ -1,29 +0,0 @@ -//------------------------------------------------------------------------------------------------- -// -// Copyright (c) 2004, Outercurve Foundation. -// This software is released under Microsoft Reciprocal License (MS-RL). -// The license and further copyright text can be found in the file -// LICENSE.TXT at the root directory of the distribution. -// -//------------------------------------------------------------------------------------------------- - -#pragma once - -#include - -#include "IBootstrapperEngine.h" - -interface IBootstrapperBAFunction -{ - STDMETHOD(OnDetect)() = 0; - STDMETHOD(OnDetectComplete)() = 0; - STDMETHOD(OnPlan)() = 0; - STDMETHOD(OnPlanComplete)() = 0; -}; - -extern "C" typedef HRESULT (WINAPI *PFN_BOOTSTRAPPER_BA_FUNCTION_CREATE)( - __in IBootstrapperEngine* pEngine, - __in HMODULE hModule, - __out IBootstrapperBAFunction** ppBAFunction - ); - diff --git a/scripts/windows/installer/WiXSDK/inc/IBootstrapperEngine.h b/scripts/windows/installer/WiXSDK/inc/IBootstrapperEngine.h deleted file mode 100644 index 604d4b9781..0000000000 --- a/scripts/windows/installer/WiXSDK/inc/IBootstrapperEngine.h +++ /dev/null @@ -1,220 +0,0 @@ -//------------------------------------------------------------------------------------------------- -// -// Copyright (c) 2004, Outercurve Foundation. -// This software is released under Microsoft Reciprocal License (MS-RL). -// The license and further copyright text can be found in the file -// LICENSE.TXT at the root directory of the distribution. -// -// -// -// IBoostrapperEngine implemented by engine and used by bootstrapper application. -// -//------------------------------------------------------------------------------------------------- - -#pragma once - -#define IDERROR -1 -#define IDNOACTION 0 - -#define IDDOWNLOAD 101 // Only valid as a return code from OnResolveSource() to instruct the engine to use the download source. -#define IDRESTART 102 -#define IDSUSPEND 103 -#define IDRELOAD_BOOTSTRAPPER 104 - -enum BOOTSTRAPPER_ACTION -{ - BOOTSTRAPPER_ACTION_UNKNOWN, - BOOTSTRAPPER_ACTION_HELP, - BOOTSTRAPPER_ACTION_LAYOUT, - BOOTSTRAPPER_ACTION_UNINSTALL, - BOOTSTRAPPER_ACTION_INSTALL, - BOOTSTRAPPER_ACTION_MODIFY, - BOOTSTRAPPER_ACTION_REPAIR, - BOOTSTRAPPER_ACTION_UPDATE_REPLACE, - BOOTSTRAPPER_ACTION_UPDATE_REPLACE_EMBEDDED, -}; - -enum BOOTSTRAPPER_ACTION_STATE -{ - BOOTSTRAPPER_ACTION_STATE_NONE, - BOOTSTRAPPER_ACTION_STATE_UNINSTALL, - BOOTSTRAPPER_ACTION_STATE_INSTALL, - BOOTSTRAPPER_ACTION_STATE_ADMIN_INSTALL, - BOOTSTRAPPER_ACTION_STATE_MODIFY, - BOOTSTRAPPER_ACTION_STATE_REPAIR, - BOOTSTRAPPER_ACTION_STATE_MINOR_UPGRADE, - BOOTSTRAPPER_ACTION_STATE_MAJOR_UPGRADE, - BOOTSTRAPPER_ACTION_STATE_PATCH, -}; - -enum BOOTSTRAPPER_PACKAGE_STATE -{ - BOOTSTRAPPER_PACKAGE_STATE_UNKNOWN, - BOOTSTRAPPER_PACKAGE_STATE_OBSOLETE, - BOOTSTRAPPER_PACKAGE_STATE_ABSENT, - BOOTSTRAPPER_PACKAGE_STATE_CACHED, - BOOTSTRAPPER_PACKAGE_STATE_PRESENT, - BOOTSTRAPPER_PACKAGE_STATE_SUPERSEDED, -}; - -enum BOOTSTRAPPER_REQUEST_STATE -{ - BOOTSTRAPPER_REQUEST_STATE_NONE, - BOOTSTRAPPER_REQUEST_STATE_FORCE_ABSENT, - BOOTSTRAPPER_REQUEST_STATE_ABSENT, - BOOTSTRAPPER_REQUEST_STATE_CACHE, - BOOTSTRAPPER_REQUEST_STATE_PRESENT, - BOOTSTRAPPER_REQUEST_STATE_REPAIR, -}; - -enum BOOTSTRAPPER_FEATURE_STATE -{ - BOOTSTRAPPER_FEATURE_STATE_UNKNOWN, - BOOTSTRAPPER_FEATURE_STATE_ABSENT, - BOOTSTRAPPER_FEATURE_STATE_ADVERTISED, - BOOTSTRAPPER_FEATURE_STATE_LOCAL, - BOOTSTRAPPER_FEATURE_STATE_SOURCE, -}; - -enum BOOTSTRAPPER_FEATURE_ACTION -{ - BOOTSTRAPPER_FEATURE_ACTION_NONE, - BOOTSTRAPPER_FEATURE_ACTION_ADDLOCAL, - BOOTSTRAPPER_FEATURE_ACTION_ADDSOURCE, - BOOTSTRAPPER_FEATURE_ACTION_ADDDEFAULT, - BOOTSTRAPPER_FEATURE_ACTION_REINSTALL, - BOOTSTRAPPER_FEATURE_ACTION_ADVERTISE, - BOOTSTRAPPER_FEATURE_ACTION_REMOVE, -}; - -enum BOOTSTRAPPER_LOG_LEVEL -{ - BOOTSTRAPPER_LOG_LEVEL_NONE, // turns off report (only valid for XXXSetLevel()) - BOOTSTRAPPER_LOG_LEVEL_STANDARD, // written if reporting is on - BOOTSTRAPPER_LOG_LEVEL_VERBOSE, // written only if verbose reporting is on - BOOTSTRAPPER_LOG_LEVEL_DEBUG, // reporting useful when debugging code - BOOTSTRAPPER_LOG_LEVEL_ERROR, // always gets reported, but can never be specified -}; - -enum BOOTSTRAPPER_UPDATE_HASH_TYPE -{ - BOOTSTRAPPER_UPDATE_HASH_TYPE_NONE, - BOOTSTRAPPER_UPDATE_HASH_TYPE_SHA1, -}; - - -DECLARE_INTERFACE_IID_(IBootstrapperEngine, IUnknown, "6480D616-27A0-44D7-905B-81512C29C2FB") -{ - STDMETHOD(GetPackageCount)( - __out DWORD* pcPackages - ) = 0; - - STDMETHOD(GetVariableNumeric)( - __in_z LPCWSTR wzVariable, - __out LONGLONG* pllValue - ) = 0; - - STDMETHOD(GetVariableString)( - __in_z LPCWSTR wzVariable, - __out_ecount_opt(*pcchValue) LPWSTR wzValue, - __inout DWORD* pcchValue - ) = 0; - - STDMETHOD(GetVariableVersion)( - __in_z LPCWSTR wzVariable, - __out DWORD64* pqwValue - ) = 0; - - STDMETHOD(FormatString)( - __in_z LPCWSTR wzIn, - __out_ecount_opt(*pcchOut) LPWSTR wzOut, - __inout DWORD* pcchOut - ) = 0; - - STDMETHOD(EscapeString)( - __in_z LPCWSTR wzIn, - __out_ecount_opt(*pcchOut) LPWSTR wzOut, - __inout DWORD* pcchOut - ) = 0; - - STDMETHOD(EvaluateCondition)( - __in_z LPCWSTR wzCondition, - __out BOOL* pf - ) = 0; - - STDMETHOD(Log)( - __in BOOTSTRAPPER_LOG_LEVEL level, - __in_z LPCWSTR wzMessage - ) = 0; - - STDMETHOD(SendEmbeddedError)( - __in DWORD dwErrorCode, - __in_z_opt LPCWSTR wzMessage, - __in DWORD dwUIHint, - __out int* pnResult - ) = 0; - - STDMETHOD(SendEmbeddedProgress)( - __in DWORD dwProgressPercentage, - __in DWORD dwOverallProgressPercentage, - __out int* pnResult - ) = 0; - - STDMETHOD(SetUpdate)( - __in_z_opt LPCWSTR wzLocalSource, - __in_z_opt LPCWSTR wzDownloadSource, - __in DWORD64 qwSize, - __in BOOTSTRAPPER_UPDATE_HASH_TYPE hashType, - __in_bcount_opt(cbHash) BYTE* rgbHash, - __in DWORD cbHash - ) = 0; - - STDMETHOD(SetLocalSource)( - __in_z LPCWSTR wzPackageOrContainerId, - __in_z_opt LPCWSTR wzPayloadId, - __in_z LPCWSTR wzPath - ) = 0; - - STDMETHOD(SetDownloadSource)( - __in_z LPCWSTR wzPackageOrContainerId, - __in_z_opt LPCWSTR wzPayloadId, - __in_z LPCWSTR wzUrl, - __in_z_opt LPWSTR wzUser, - __in_z_opt LPWSTR wzPassword - ) = 0; - - STDMETHOD(SetVariableNumeric)( - __in_z LPCWSTR wzVariable, - __in LONGLONG llValue - ) = 0; - - STDMETHOD(SetVariableString)( - __in_z LPCWSTR wzVariable, - __in_z_opt LPCWSTR wzValue - ) = 0; - - STDMETHOD(SetVariableVersion)( - __in_z LPCWSTR wzVariable, - __in DWORD64 qwValue - ) = 0; - - STDMETHOD(CloseSplashScreen)() = 0; - - STDMETHOD(Detect)() = 0; - - STDMETHOD(Plan)( - __in BOOTSTRAPPER_ACTION action - ) = 0; - - STDMETHOD(Elevate)( - __in_opt HWND hwndParent - ) = 0; - - STDMETHOD(Apply)( - __in_opt HWND hwndParent - ) = 0; - - STDMETHOD(Quit)( - __in DWORD dwExitCode - ) = 0; -}; diff --git a/scripts/windows/installer/WiXSDK/inc/aclutil.h b/scripts/windows/installer/WiXSDK/inc/aclutil.h deleted file mode 100644 index ee688ec328..0000000000 --- a/scripts/windows/installer/WiXSDK/inc/aclutil.h +++ /dev/null @@ -1,151 +0,0 @@ -#pragma once -//------------------------------------------------------------------------------------------------- -// -// Copyright (c) 2004, Outercurve Foundation. -// This software is released under Microsoft Reciprocal License (MS-RL). -// The license and further copyright text can be found in the file -// LICENSE.TXT at the root directory of the distribution. -// -// -// -// Access Control List helper functions. -// -//------------------------------------------------------------------------------------------------- - -#include -#include - -#define ReleaseSid(x) if (x) { AclFreeSid(x); } -#define ReleaseNullSid(x) if (x) { AclFreeSid(x); x = NULL; } - -#ifdef __cplusplus -extern "C" { -#endif - -// structs -struct ACL_ACCESS -{ - BOOL fDenyAccess; - DWORD dwAccessMask; - - // TODO: consider using a union - LPCWSTR pwzAccountName; // NOTE: the last three items in this structure are ignored if this is not NULL - - SID_IDENTIFIER_AUTHORITY sia; // used if pwzAccountName is NULL - BYTE nSubAuthorityCount; - DWORD nSubAuthority[8]; -}; - -struct ACL_ACE -{ - DWORD dwFlags; - DWORD dwMask; - PSID psid; -}; - - -// functions -HRESULT DAPI AclCheckAccess( - __in HANDLE hToken, - __in ACL_ACCESS* paa - ); -HRESULT DAPI AclCheckAdministratorAccess( - __in HANDLE hToken - ); -HRESULT DAPI AclCheckLocalSystemAccess( - __in HANDLE hToken - ); - -HRESULT DAPI AclGetWellKnownSid( - __in WELL_KNOWN_SID_TYPE wkst, - __deref_out PSID* ppsid - ); -HRESULT DAPI AclGetAccountSid( - __in_opt LPCWSTR wzSystem, - __in_z LPCWSTR wzAccount, - __deref_out PSID* ppsid - ); -HRESULT DAPI AclGetAccountSidString( - __in_z LPCWSTR wzSystem, - __in_z LPCWSTR wzAccount, - __deref_out_z LPWSTR* ppwzSid - ); - -HRESULT DAPI AclCreateDacl( - __in_ecount(cDeny) ACL_ACE rgaaDeny[], - __in DWORD cDeny, - __in_ecount(cAllow) ACL_ACE rgaaAllow[], - __in DWORD cAllow, - __deref_out ACL** ppAcl - ); -HRESULT DAPI AclAddToDacl( - __in ACL* pAcl, - __in_ecount_opt(cDeny) const ACL_ACE rgaaDeny[], - __in DWORD cDeny, - __in_ecount_opt(cAllow) const ACL_ACE rgaaAllow[], - __in DWORD cAllow, - __deref_out ACL** ppAclNew - ); -HRESULT DAPI AclMergeDacls( - __in const ACL* pAcl1, - __in const ACL* pAcl2, - __deref_out ACL** ppAclNew - ); -HRESULT DAPI AclCreateDaclOld( - __in_ecount(cAclAccesses) ACL_ACCESS* paa, - __in DWORD cAclAccesses, - __deref_out ACL** ppAcl - ); -HRESULT DAPI AclCreateSecurityDescriptor( - __in_ecount(cAclAccesses) ACL_ACCESS* paa, - __in DWORD cAclAccesses, - __deref_out SECURITY_DESCRIPTOR** ppsd - ); -HRESULT DAPI AclCreateSecurityDescriptorFromDacl( - __in ACL* pACL, - __deref_out SECURITY_DESCRIPTOR** ppsd - ); -HRESULT __cdecl AclCreateSecurityDescriptorFromString( - __deref_out SECURITY_DESCRIPTOR** ppsd, - __in_z __format_string LPCWSTR wzSddlFormat, - ... - ); -HRESULT DAPI AclDuplicateSecurityDescriptor( - __in SECURITY_DESCRIPTOR* psd, - __deref_out SECURITY_DESCRIPTOR** ppsd - ); -HRESULT DAPI AclGetSecurityDescriptor( - __in_z LPCWSTR wzObject, - __in SE_OBJECT_TYPE sot, - __in SECURITY_INFORMATION securityInformation, - __deref_out SECURITY_DESCRIPTOR** ppsd - ); -HRESULT DAPI AclSetSecurityWithRetry( - __in_z LPCWSTR wzObject, - __in SE_OBJECT_TYPE sot, - __in SECURITY_INFORMATION securityInformation, - __in_opt PSID psidOwner, - __in_opt PSID psidGroup, - __in_opt PACL pDacl, - __in_opt PACL pSacl, - __in DWORD cRetry, - __in DWORD dwWaitMilliseconds - ); - -HRESULT DAPI AclFreeSid( - __in PSID psid - ); -HRESULT DAPI AclFreeDacl( - __in ACL* pACL - ); -HRESULT DAPI AclFreeSecurityDescriptor( - __in SECURITY_DESCRIPTOR* psd - ); - -HRESULT DAPI AclAddAdminToSecurityDescriptor( - __in SECURITY_DESCRIPTOR* pSecurity, - __deref_out SECURITY_DESCRIPTOR** ppSecurityNew - ); -#ifdef __cplusplus -} -#endif diff --git a/scripts/windows/installer/WiXSDK/inc/apuputil.h b/scripts/windows/installer/WiXSDK/inc/apuputil.h deleted file mode 100644 index 6bcaecca16..0000000000 --- a/scripts/windows/installer/WiXSDK/inc/apuputil.h +++ /dev/null @@ -1,92 +0,0 @@ -#pragma once -//------------------------------------------------------------------------------------------------- -// -// Copyright (c) 2004, Outercurve Foundation. -// This software is released under Microsoft Reciprocal License (MS-RL). -// The license and further copyright text can be found in the file -// LICENSE.TXT at the root directory of the distribution. -// -// -// -// Header for Application Update helper functions. -// -//------------------------------------------------------------------------------------------------- - -#ifdef __cplusplus -extern "C" { -#endif - -#define ReleaseApupChain(p) if (p) { ApupFreeChain(p); p = NULL; } -#define ReleaseNullApupChain(p) if (p) { ApupFreeChain(p); p = NULL; } - - -const LPCWSTR APPLICATION_SYNDICATION_NAMESPACE = L"http://appsyndication.org/2006/appsyn"; - -enum APUP_HASH_ALGORITHM -{ - APUP_HASH_ALGORITHM_UNKNOWN, - APUP_HASH_ALGORITHM_MD5, - APUP_HASH_ALGORITHM_SHA1, - APUP_HASH_ALGORITHM_SHA256, -}; - - -struct APPLICATION_UPDATE_ENCLOSURE -{ - LPWSTR wzUrl; - LPWSTR wzLocalName; - DWORD64 dw64Size; - - BYTE* rgbDigest; - DWORD cbDigest; - APUP_HASH_ALGORITHM digestAlgorithm; - - BOOL fInstaller; -}; - - -struct APPLICATION_UPDATE_ENTRY -{ - LPWSTR wzApplicationId; - LPWSTR wzApplicationType; - - LPWSTR wzUpgradeId; - BOOL fUpgradeExclusive; - DWORD64 dw64Version; - DWORD64 dw64UpgradeVersion; - - DWORD64 dw64TotalSize; - - DWORD cEnclosures; - APPLICATION_UPDATE_ENCLOSURE* rgEnclosures; -}; - - -struct APPLICATION_UPDATE_CHAIN -{ - LPWSTR wzDefaultApplicationId; - LPWSTR wzDefaultApplicationType; - - DWORD cEntries; - APPLICATION_UPDATE_ENTRY* rgEntries; -}; - - -HRESULT DAPI ApupAllocChainFromAtom( - __in ATOM_FEED* pFeed, - __out APPLICATION_UPDATE_CHAIN** ppChain - ); - -HRESULT DAPI ApupFilterChain( - __in APPLICATION_UPDATE_CHAIN* pChain, - __in DWORD64 dw64Version, - __out APPLICATION_UPDATE_CHAIN** ppFilteredChain - ); - -void DAPI ApupFreeChain( - __in APPLICATION_UPDATE_CHAIN* pChain - ); - -#ifdef __cplusplus -} -#endif diff --git a/scripts/windows/installer/WiXSDK/inc/atomutil.h b/scripts/windows/installer/WiXSDK/inc/atomutil.h deleted file mode 100644 index 7f4f71e3d6..0000000000 --- a/scripts/windows/installer/WiXSDK/inc/atomutil.h +++ /dev/null @@ -1,158 +0,0 @@ -//------------------------------------------------------------------------------------------------- -// -// Copyright (c) 2004, Outercurve Foundation. -// This software is released under Microsoft Reciprocal License (MS-RL). -// The license and further copyright text can be found in the file -// LICENSE.TXT at the root directory of the distribution. -// -// -// -// ATOM helper functions. -// -//------------------------------------------------------------------------------------------------- - -#pragma once - - -#ifdef __cplusplus -extern "C" { -#endif - -#define ReleaseAtomFeed(p) if (p) { AtomFreeFeed(p); } -#define ReleaseNullAtomFeed(p) if (p) { AtomFreeFeed(p); p = NULL; } - - -struct ATOM_UNKNOWN_ATTRIBUTE -{ - LPWSTR wzNamespace; - LPWSTR wzAttribute; - LPWSTR wzValue; - - ATOM_UNKNOWN_ATTRIBUTE* pNext; -}; - -struct ATOM_UNKNOWN_ELEMENT -{ - LPWSTR wzNamespace; - LPWSTR wzElement; - LPWSTR wzValue; - - ATOM_UNKNOWN_ATTRIBUTE* pAttributes; - ATOM_UNKNOWN_ELEMENT* pNext; -}; - -struct ATOM_LINK -{ - LPWSTR wzRel; - LPWSTR wzTitle; - LPWSTR wzType; - LPWSTR wzUrl; - LPWSTR wzValue; - DWORD64 dw64Length; - - ATOM_UNKNOWN_ATTRIBUTE* pUnknownAttributes; - ATOM_UNKNOWN_ELEMENT* pUnknownElements; -}; - -struct ATOM_CONTENT -{ - LPWSTR wzType; - LPWSTR wzUrl; - LPWSTR wzValue; - - ATOM_UNKNOWN_ELEMENT* pUnknownElements; -}; - -struct ATOM_AUTHOR -{ - LPWSTR wzName; - LPWSTR wzEmail; - LPWSTR wzUrl; -}; - -struct ATOM_CATEGORY -{ - LPWSTR wzLabel; - LPWSTR wzScheme; - LPWSTR wzTerm; - - ATOM_UNKNOWN_ELEMENT* pUnknownElements; -}; - -struct ATOM_ENTRY -{ - LPWSTR wzId; - LPWSTR wzSummary; - LPWSTR wzTitle; - FILETIME ftPublished; - FILETIME ftUpdated; - - ATOM_CONTENT* pContent; - - DWORD cAuthors; - ATOM_AUTHOR* rgAuthors; - - DWORD cCategories; - ATOM_CATEGORY* rgCategories; - - DWORD cLinks; - ATOM_LINK* rgLinks; - - IXMLDOMNode* pixn; - ATOM_UNKNOWN_ELEMENT* pUnknownElements; -}; - -struct ATOM_FEED -{ - LPWSTR wzGenerator; - LPWSTR wzIcon; - LPWSTR wzId; - LPWSTR wzLogo; - LPWSTR wzSubtitle; - LPWSTR wzTitle; - FILETIME ftUpdated; - - DWORD cAuthors; - ATOM_AUTHOR* rgAuthors; - - DWORD cCategories; - ATOM_CATEGORY* rgCategories; - - DWORD cEntries; - ATOM_ENTRY* rgEntries; - - DWORD cLinks; - ATOM_LINK* rgLinks; - - IXMLDOMNode* pixn; - ATOM_UNKNOWN_ELEMENT* pUnknownElements; -}; - -HRESULT DAPI AtomInitialize( - ); - -void DAPI AtomUninitialize( - ); - -HRESULT DAPI AtomParseFromString( - __in_z LPCWSTR wzAtomString, - __out ATOM_FEED **ppFeed - ); - -HRESULT DAPI AtomParseFromFile( - __in_z LPCWSTR wzAtomFile, - __out ATOM_FEED **ppFeed - ); - -HRESULT DAPI AtomParseFromDocument( - __in IXMLDOMDocument* pixdDocument, - __out ATOM_FEED **ppFeed - ); - -void DAPI AtomFreeFeed( - __in_xcount(pFeed->cItems) ATOM_FEED *pFEED - ); - -#ifdef __cplusplus -} -#endif diff --git a/scripts/windows/installer/WiXSDK/inc/balcondition.h b/scripts/windows/installer/WiXSDK/inc/balcondition.h deleted file mode 100644 index 8f3a78a740..0000000000 --- a/scripts/windows/installer/WiXSDK/inc/balcondition.h +++ /dev/null @@ -1,69 +0,0 @@ -#pragma once -//------------------------------------------------------------------------------------------------- -// -// Copyright (c) 2004, Outercurve Foundation. -// This software is released under Microsoft Reciprocal License (MS-RL). -// The license and further copyright text can be found in the file -// LICENSE.TXT at the root directory of the distribution. -// -// -// -// Bootstrapper Application Layer condition utility. -// -//------------------------------------------------------------------------------------------------- - - -#ifdef __cplusplus -extern "C" { -#endif - -typedef struct _BAL_CONDITION -{ - LPWSTR sczCondition; - LPWSTR sczMessage; -} BAL_CONDITION; - - -typedef struct _BAL_CONDITIONS -{ - BAL_CONDITION* rgConditions; - DWORD cConditions; -} BAL_CONDITIONS; - - -/******************************************************************* - BalConditionsParseFromXml - loads the conditions from the UX manifest. - -********************************************************************/ -DAPI_(HRESULT) BalConditionsParseFromXml( - __in BAL_CONDITIONS* pConditions, - __in IXMLDOMDocument* pixdManifest, - __in_opt WIX_LOCALIZATION* pWixLoc - ); - - -/******************************************************************* - BalConditionEvaluate - evaluates condition against the provided IBurnCore. - - NOTE: psczMessage is optional. -********************************************************************/ -DAPI_(HRESULT) BalConditionEvaluate( - __in BAL_CONDITION* pCondition, - __in IBootstrapperEngine* pEngine, - __out BOOL* pfResult, - __out_z_opt LPWSTR* psczMessage - ); - - -/******************************************************************* - BalConditionsUninitialize - uninitializes any conditions previously loaded. - -********************************************************************/ -DAPI_(void) BalConditionsUninitialize( - __in BAL_CONDITIONS* pConditions - ); - - -#ifdef __cplusplus -} -#endif diff --git a/scripts/windows/installer/WiXSDK/inc/balinfo.h b/scripts/windows/installer/WiXSDK/inc/balinfo.h deleted file mode 100644 index 3a1a8ac3e7..0000000000 --- a/scripts/windows/installer/WiXSDK/inc/balinfo.h +++ /dev/null @@ -1,106 +0,0 @@ -#pragma once -//------------------------------------------------------------------------------------------------- -// -// Copyright (c) 2004, Outercurve Foundation. -// This software is released under Microsoft Reciprocal License (MS-RL). -// The license and further copyright text can be found in the file -// LICENSE.TXT at the root directory of the distribution. -// -// -// -// Bootstrapper Application Layer package utility. -// -//------------------------------------------------------------------------------------------------- - - -#ifdef __cplusplus -extern "C" { -#endif - -enum BAL_INFO_PACKAGE_TYPE -{ - BAL_INFO_PACKAGE_TYPE_UNKNOWN, - BAL_INFO_PACKAGE_TYPE_EXE, - BAL_INFO_PACKAGE_TYPE_MSI, - BAL_INFO_PACKAGE_TYPE_MSP, - BAL_INFO_PACKAGE_TYPE_MSU, - BAL_INFO_PACKAGE_TYPE_BUNDLE_UPGRADE, - BAL_INFO_PACKAGE_TYPE_BUNDLE_ADDON, - BAL_INFO_PACKAGE_TYPE_BUNDLE_PATCH, -}; - - -typedef struct _BAL_INFO_PACKAGE -{ - LPWSTR sczId; - LPWSTR sczDisplayName; - LPWSTR sczDescription; - BAL_INFO_PACKAGE_TYPE type; - BOOL fPermanent; - BOOL fVital; - BOOL fDisplayInternalUI; -} BAL_INFO_PACKAGE; - - -typedef struct _BAL_INFO_PACKAGES -{ - BAL_INFO_PACKAGE* rgPackages; - DWORD cPackages; -} BAL_INFO_PACKAGES; - - -typedef struct _BAL_INFO_BUNDLE -{ - BOOL fPerMachine; - LPWSTR sczName; - LPWSTR sczLogVariable; - BAL_INFO_PACKAGES packages; -} BAL_INFO_BUNDLE; - - -/******************************************************************* - BalInfoParseFromXml - loads the bundle and package info from the UX - manifest. - -********************************************************************/ -DAPI_(HRESULT) BalInfoParseFromXml( - __in BAL_INFO_BUNDLE* pBundle, - __in IXMLDOMDocument* pixdManifest - ); - - -/******************************************************************* - BalInfoAddRelatedBundleAsPackage - adds a related bundle as a package. - - ********************************************************************/ -DAPI_(HRESULT) BalInfoAddRelatedBundleAsPackage( - __in BAL_INFO_PACKAGES* pPackages, - __in LPCWSTR wzId, - __in BOOTSTRAPPER_RELATION_TYPE relationType, - __in BOOL fPerMachine - ); - - -/******************************************************************* - BalInfoFindPackageById - finds a package by its id. - - ********************************************************************/ -DAPI_(HRESULT) BalInfoFindPackageById( - __in BAL_INFO_PACKAGES* pPackages, - __in LPCWSTR wzId, - __out BAL_INFO_PACKAGE** ppPackage - ); - - -/******************************************************************* - BalInfoUninitialize - uninitializes any info previously loaded. - -********************************************************************/ -DAPI_(void) BalInfoUninitialize( - __in BAL_INFO_BUNDLE* pBundle - ); - - -#ifdef __cplusplus -} -#endif diff --git a/scripts/windows/installer/WiXSDK/inc/balretry.h b/scripts/windows/installer/WiXSDK/inc/balretry.h deleted file mode 100644 index 0e78189953..0000000000 --- a/scripts/windows/installer/WiXSDK/inc/balretry.h +++ /dev/null @@ -1,75 +0,0 @@ -#pragma once -//------------------------------------------------------------------------------------------------- -// -// Copyright (c) 2004, Outercurve Foundation. -// This software is released under Microsoft Reciprocal License (MS-RL). -// The license and further copyright text can be found in the file -// LICENSE.TXT at the root directory of the distribution. -// -// -// -// Bootstrapper Application Layer retry utility. -// -//------------------------------------------------------------------------------------------------- - - -#ifdef __cplusplus -extern "C" { -#endif - -enum BALRETRY_TYPE -{ - BALRETRY_TYPE_CACHE, - BALRETRY_TYPE_EXECUTE, -}; - -/******************************************************************* - BalRetryInitialize - initialize the retry count and timeout between - retries (in milliseconds). -********************************************************************/ -DAPI_(void) BalRetryInitialize( - __in DWORD dwMaxRetries, - __in DWORD dwTimeout - ); - -/******************************************************************* - BalRetryUninitialize - call to cleanup any memory allocated during - use of the retry utility. -********************************************************************/ -DAPI_(void) BalRetryUninitialize(); - -/******************************************************************* - BalRetryStartPackage - call when a package begins to be modified. If - the package is being retried, the function will - wait the specified timeout. -********************************************************************/ -DAPI_(void) BalRetryStartPackage( - __in BALRETRY_TYPE type, - __in_z_opt LPCWSTR wzPackageId, - __in_z_opt LPCWSTR wzPayloadId - ); - -/******************************************************************* - BalRetryErrorOccured - call when an error occurs for the retry utility - to consider. -********************************************************************/ -DAPI_(void) BalRetryErrorOccurred( - __in_z_opt LPCWSTR wzPackageId, - __in DWORD dwError - ); - -/******************************************************************* - BalRetryEndPackage - returns IDRETRY is a retry is recommended or - IDNOACTION if a retry is not recommended. -********************************************************************/ -DAPI_(int) BalRetryEndPackage( - __in BALRETRY_TYPE type, - __in_z_opt LPCWSTR wzPackageId, - __in_z_opt LPCWSTR wzPayloadId, - __in HRESULT hrError - ); - - -#ifdef __cplusplus -} -#endif diff --git a/scripts/windows/installer/WiXSDK/inc/balutil.h b/scripts/windows/installer/WiXSDK/inc/balutil.h deleted file mode 100644 index 89c2b69f7b..0000000000 --- a/scripts/windows/installer/WiXSDK/inc/balutil.h +++ /dev/null @@ -1,120 +0,0 @@ -#pragma once -//------------------------------------------------------------------------------------------------- -// -// Copyright (c) 2004, Outercurve Foundation. -// This software is released under Microsoft Reciprocal License (MS-RL). -// The license and further copyright text can be found in the file -// LICENSE.TXT at the root directory of the distribution. -// -// -// -// Burn utility library. -// -//------------------------------------------------------------------------------------------------- - -#include "dutil.h" - - -#ifdef __cplusplus -extern "C" { -#endif - -#define BalExitOnFailure(x, f) if (FAILED(x)) { BalLogError(x, f); ExitTrace(x, f); goto LExit; } -#define BalExitOnFailure1(x, f, s) if (FAILED(x)) { BalLogError(x, f, s); ExitTrace1(x, f, s); goto LExit; } -#define BalExitOnFailure2(x, f, s, t) if (FAILED(x)) { BalLogError(x, f, s, t); ExitTrace2(x, f, s, t); goto LExit; } -#define BalExitOnFailure3(x, f, s, t, u) if (FAILED(x)) { BalLogError(x, f, s, t, u); ExitTrace3(x, f, s, t, u); goto LExit; } - -#define BalExitOnRootFailure(x, f) if (FAILED(x)) { BalLogError(x, f); Dutil_RootFailure(__FILE__, __LINE__, x); ExitTrace(x, f); goto LExit; } -#define BalExitOnRootFailure1(x, f, s) if (FAILED(x)) { BalLogError(x, f, s); Dutil_RootFailure(__FILE__, __LINE__, x); ExitTrace1(x, f, s); goto LExit; } -#define BalExitOnRootFailure2(x, f, s, t) if (FAILED(x)) { BalLogError(x, f, s, t); Dutil_RootFailure(__FILE__, __LINE__, x); ExitTrace2(x, f, s, t); goto LExit; } -#define BalExitOnRootFailure3(x, f, s, t, u) if (FAILED(x)) { BalLogError(x, f, s, t, u); Dutil_RootFailure(__FILE__, __LINE__, x); ExitTrace3(x, f, s, t, u); goto LExit; } - -#define BalExitOnNullWithLastError(p, x, f) if (NULL == p) { DWORD Dutil_er = ::GetLastError(); x = HRESULT_FROM_WIN32(Dutil_er); if (!FAILED(x)) { x = E_FAIL; } BalLogError(x, f); ExitTrace(x, f); goto LExit; } -#define BalExitOnNullWithLastError1(p, x, f, s) if (NULL == p) { DWORD Dutil_er = ::GetLastError(); x = HRESULT_FROM_WIN32(Dutil_er); if (!FAILED(x)) { x = E_FAIL; } BalLogError(x, f, s); ExitTrace1(x, f, s); goto LExit; } - - -/******************************************************************* - BalInitialize - remembers the engine interface to enable logging and - other functions. - -********************************************************************/ -DAPI_(void) BalInitialize( - __in IBootstrapperEngine* pEngine - ); - -/******************************************************************* - BalUninitialize - cleans up utility layer internals. - -********************************************************************/ -DAPI_(void) BalUninitialize(); - -/******************************************************************* - BalManifestLoad - loads the Application manifest into an XML document. - -********************************************************************/ -DAPI_(HRESULT) BalManifestLoad( - __in HMODULE hUXModule, - __out IXMLDOMDocument** ppixdManifest - ); - -/******************************************************************* -BalFormatString - formats a string using variables in the engine. - - Note: Use StrFree() to release psczOut. -********************************************************************/ -DAPI_(HRESULT) BalFormatString( - __in_z LPCWSTR wzFormat, - __inout LPWSTR* psczOut - ); - -/******************************************************************* -BalGetNumericVariable - gets a number from a variable in the engine. - - Note: Returns E_NOTFOUND if variable does not exist. -********************************************************************/ -DAPI_(HRESULT) BalGetNumericVariable( - __in_z LPCWSTR wzVariable, - __out LONGLONG* pllValue - ); - -/******************************************************************* -BalStringVariableExists - checks if a string variable exists in the engine. - -********************************************************************/ -DAPI_(BOOL) BalStringVariableExists( - __in_z LPCWSTR wzVariable - ); - -/******************************************************************* -BalGetStringVariable - gets a string from a variable in the engine. - - Note: Use StrFree() to release psczValue. -********************************************************************/ -DAPI_(HRESULT) BalGetStringVariable( - __in_z LPCWSTR wzVariable, - __inout LPWSTR* psczValue - ); - -/******************************************************************* - BalLog - logs a message with the engine. - -********************************************************************/ -DAPIV_(HRESULT) BalLog( - __in BOOTSTRAPPER_LOG_LEVEL level, - __in_z __format_string LPCSTR szFormat, - ... - ); - -/******************************************************************* - BalLogError - logs an error message with the engine. - -********************************************************************/ -DAPIV_(HRESULT) BalLogError( - __in HRESULT hr, - __in_z __format_string LPCSTR szFormat, - ... - ); - -#ifdef __cplusplus -} -#endif diff --git a/scripts/windows/installer/WiXSDK/inc/buffutil.h b/scripts/windows/installer/WiXSDK/inc/buffutil.h deleted file mode 100644 index ae85f3067a..0000000000 --- a/scripts/windows/installer/WiXSDK/inc/buffutil.h +++ /dev/null @@ -1,92 +0,0 @@ -//------------------------------------------------------------------------------------------------- -// -// Copyright (c) 2004, Outercurve Foundation. -// This software is released under Microsoft Reciprocal License (MS-RL). -// The license and further copyright text can be found in the file -// LICENSE.TXT at the root directory of the distribution. -// -// -// -// Binary serialization helper functions. -// -//------------------------------------------------------------------------------------------------- - -#pragma once - - -#ifdef __cplusplus -extern "C" { -#endif - - -// macro definitions - -#define ReleaseBuffer ReleaseMem -#define ReleaseNullBuffer ReleaseNullMem -#define BuffFree MemFree - - -// function declarations - -HRESULT BuffReadNumber( - __in_bcount(cbBuffer) const BYTE* pbBuffer, - __in SIZE_T cbBuffer, - __inout SIZE_T* piBuffer, - __out DWORD* pdw - ); -HRESULT BuffReadNumber64( - __in_bcount(cbBuffer) const BYTE* pbBuffer, - __in SIZE_T cbBuffer, - __inout SIZE_T* piBuffer, - __out DWORD64* pdw64 - ); -HRESULT BuffReadString( - __in_bcount(cbBuffer) const BYTE* pbBuffer, - __in SIZE_T cbBuffer, - __inout SIZE_T* piBuffer, - __deref_out_z LPWSTR* pscz - ); -HRESULT BuffReadStringAnsi( - __in_bcount(cbBuffer) const BYTE* pbBuffer, - __in SIZE_T cbBuffer, - __inout SIZE_T* piBuffer, - __deref_out_z LPSTR* pscz - ); -HRESULT BuffReadStream( - __in_bcount(cbBuffer) const BYTE* pbBuffer, - __in SIZE_T cbBuffer, - __inout SIZE_T* piBuffer, - __deref_out_bcount(*pcbStream) BYTE** ppbStream, - __out SIZE_T* pcbStream - ); - -HRESULT BuffWriteNumber( - __deref_out_bcount(*piBuffer) BYTE** ppbBuffer, - __inout SIZE_T* piBuffer, - __in DWORD dw - ); -HRESULT BuffWriteNumber64( - __deref_out_bcount(*piBuffer) BYTE** ppbBuffer, - __inout SIZE_T* piBuffer, - __in DWORD64 dw64 - ); -HRESULT BuffWriteString( - __deref_out_bcount(*piBuffer) BYTE** ppbBuffer, - __inout SIZE_T* piBuffer, - __in_z_opt LPCWSTR scz - ); -HRESULT BuffWriteStringAnsi( - __deref_out_bcount(*piBuffer) BYTE** ppbBuffer, - __inout SIZE_T* piBuffer, - __in_z_opt LPCSTR scz - ); -HRESULT BuffWriteStream( - __deref_out_bcount(*piBuffer) BYTE** ppbBuffer, - __inout SIZE_T* piBuffer, - __in_bcount(cbStream) const BYTE* pbStream, - __in SIZE_T cbStream - ); - -#ifdef __cplusplus -} -#endif diff --git a/scripts/windows/installer/WiXSDK/inc/cabcutil.h b/scripts/windows/installer/WiXSDK/inc/cabcutil.h deleted file mode 100644 index 5f7c30dae7..0000000000 --- a/scripts/windows/installer/WiXSDK/inc/cabcutil.h +++ /dev/null @@ -1,72 +0,0 @@ -#pragma once -//------------------------------------------------------------------------------------------------- -// -// Copyright (c) 2004, Outercurve Foundation. -// This software is released under Microsoft Reciprocal License (MS-RL). -// The license and further copyright text can be found in the file -// LICENSE.TXT at the root directory of the distribution. -// -// -// -// Header for cabinet creation helper functions. -// -//------------------------------------------------------------------------------------------------- - -#include -#include -#include - -// Callback from PFNFCIGETNEXTCABINET CabCGetNextCabinet method -// First argument is the name of splitting cabinet without extension e.g. "cab1" -// Second argument is name of the new cabinet that would be formed by splitting e.g. "cab1b.cab" -// Third argument is the file token of the first file present in the splitting cabinet -typedef void (__stdcall * FileSplitCabNamesCallback)(LPWSTR, LPWSTR, LPWSTR); - -#define CAB_MAX_SIZE 0x7FFFFFFF // (see KB: Q174866) - -#ifdef __cplusplus -extern "C" { -#endif - -extern const int CABC_HANDLE_BYTES; - -// time vs. space trade-off -enum COMPRESSION_TYPE -{ - COMPRESSION_TYPE_NONE, // fastest - COMPRESSION_TYPE_LOW, - COMPRESSION_TYPE_MEDIUM, - COMPRESSION_TYPE_HIGH, // smallest - COMPRESSION_TYPE_MSZIP -}; - -// functions -HRESULT DAPI CabCBegin( - __in_z LPCWSTR wzCab, - __in_z LPCWSTR wzCabDir, - __in DWORD dwMaxFiles, - __in DWORD dwMaxSize, - __in DWORD dwMaxThresh, - __in COMPRESSION_TYPE ct, - __out_bcount(CABC_HANDLE_BYTES) HANDLE *phContext - ); -HRESULT DAPI CabCNextCab( - __in_bcount(CABC_HANDLE_BYTES) HANDLE hContext - ); -HRESULT DAPI CabCAddFile( - __in_z LPCWSTR wzFile, - __in_z_opt LPCWSTR wzToken, - __in_opt PMSIFILEHASHINFO pmfHash, - __in_bcount(CABC_HANDLE_BYTES) HANDLE hContext - ); -HRESULT DAPI CabCFinish( - __in_bcount(CABC_HANDLE_BYTES) HANDLE hContext, - __in_opt FileSplitCabNamesCallback fileSplitCabNamesCallback - ); -void DAPI CabCCancel( - __in_bcount(CABC_HANDLE_BYTES) HANDLE hContext - ); - -#ifdef __cplusplus -} -#endif diff --git a/scripts/windows/installer/WiXSDK/inc/cabutil.h b/scripts/windows/installer/WiXSDK/inc/cabutil.h deleted file mode 100644 index 7792046643..0000000000 --- a/scripts/windows/installer/WiXSDK/inc/cabutil.h +++ /dev/null @@ -1,66 +0,0 @@ -#pragma once -//------------------------------------------------------------------------------------------------- -// -// Copyright (c) 2004, Outercurve Foundation. -// This software is released under Microsoft Reciprocal License (MS-RL). -// The license and further copyright text can be found in the file -// LICENSE.TXT at the root directory of the distribution. -// -// -// -// Header for cabinet decompression helper functions -// -//------------------------------------------------------------------------------------------------- - -#include -#include - -#ifdef __cplusplus -extern "C" { -#endif - -// structs - - -// callback function prototypes -typedef HRESULT (*CAB_CALLBACK_OPEN_FILE)(LPCWSTR wzFile, INT_PTR* ppFile); -typedef HRESULT (*CAB_CALLBACK_READ_FILE)(INT_PTR pFile, LPVOID pvData, DWORD cbData, DWORD* pcbRead); -typedef HRESULT (*CAB_CALLBACK_WRITE_FILE)(INT_PTR pFile, LPVOID pvData, DWORD cbData, DWORD* pcbRead); -typedef LONG (*CAB_CALLBACK_SEEK_FILE)(INT_PTR pFile, DWORD dwMove, DWORD dwMoveMethod); -typedef HRESULT (*CAB_CALLBACK_CLOSE_FILE)(INT_PTR pFile); - -typedef HRESULT (*CAB_CALLBACK_BEGIN_FILE)(LPCWSTR wzFileId, FILETIME* pftFileTime, DWORD cbFileSize, LPVOID pvContext, INT_PTR* ppFile); -typedef HRESULT (*CAB_CALLBACK_END_FILE)(LPCWSTR wzFileId, LPVOID pvContext, INT_PTR pFile); -typedef HRESULT (*CAB_CALLBACK_PROGRESS)(BOOL fBeginFile, LPCWSTR wzFileId, LPVOID pvContext); - -// function type with calling convention of __stdcall that .NET 1.1 understands only -// .NET 2.0 will not need this -typedef INT_PTR (FAR __stdcall *STDCALL_PFNFDINOTIFY)(FDINOTIFICATIONTYPE fdint, PFDINOTIFICATION pfdin); - - -// functions -HRESULT DAPI CabInitialize( - __in BOOL fDelayLoad - ); -void DAPI CabUninitialize( - ); - -HRESULT DAPI CabExtract( - __in_z LPCWSTR wzCabinet, - __in_z LPCWSTR wzExtractFile, - __in_z LPCWSTR wzExtractDir, - __in_opt CAB_CALLBACK_PROGRESS pfnProgress, - __in_opt LPVOID pvContext, - __in DWORD64 dw64EmbeddedOffset - ); - -HRESULT DAPI CabEnumerate( - __in_z LPCWSTR wzCabinet, - __in_z LPCWSTR wzEnumerateFile, - __in STDCALL_PFNFDINOTIFY pfnNotify, - __in DWORD64 dw64EmbeddedOffset - ); - -#ifdef __cplusplus -} -#endif diff --git a/scripts/windows/installer/WiXSDK/inc/certutil.h b/scripts/windows/installer/WiXSDK/inc/certutil.h deleted file mode 100644 index 5cd27d4aae..0000000000 --- a/scripts/windows/installer/WiXSDK/inc/certutil.h +++ /dev/null @@ -1,76 +0,0 @@ -#pragma once -//------------------------------------------------------------------------------------------------- -// -// Copyright (c) 2004, Outercurve Foundation. -// This software is released under Microsoft Reciprocal License (MS-RL). -// The license and further copyright text can be found in the file -// LICENSE.TXT at the root directory of the distribution. -// -// -// -// Certificate helper functions. -// -//------------------------------------------------------------------------------------------------- - -#define ReleaseCertStore(p) if (p) { ::CertCloseStore(p, 0); p = NULL; } -#define ReleaseCertContext(p) if (p) { ::CertFreeCertificateContext(p); p = NULL; } -#define ReleaseCertChain(p) if (p) { ::CertFreeCertificateChain(p); p = NULL; } - -#ifdef __cplusplus -extern "C" { -#endif - -HRESULT DAPI CertReadProperty( - __in PCCERT_CONTEXT pCertContext, - __in DWORD dwProperty, - __out_bcount(*pcbValue) LPVOID pvValue, - __out_opt DWORD* pcbValue - ); - -HRESULT DAPI CertGetAuthenticodeSigningTimestamp( - __in CMSG_SIGNER_INFO* pSignerInfo, - __out FILETIME* pft - ); - -HRESULT DAPI GetCryptProvFromCert( - __in_opt HWND hwnd, - __in PCCERT_CONTEXT pCert, - __out HCRYPTPROV *phCryptProv, - __out DWORD *pdwKeySpec, - __in BOOL *pfDidCryptAcquire, - __deref_opt_out LPWSTR *ppwszTmpContainer, - __deref_opt_out LPWSTR *ppwszProviderName, - __out DWORD *pdwProviderType - ); - -HRESULT DAPI FreeCryptProvFromCert( - __in BOOL fAcquired, - __in HCRYPTPROV hProv, - __in_opt LPWSTR pwszCapiProvider, - __in DWORD dwProviderType, - __in_opt LPWSTR pwszTmpContainer - ); - -HRESULT DAPI GetProvSecurityDesc( - __in HCRYPTPROV hProv, - __deref_out SECURITY_DESCRIPTOR** pSecurity - ); - -HRESULT DAPI SetProvSecurityDesc( - __in HCRYPTPROV hProv, - __in SECURITY_DESCRIPTOR* pSecurity - ); - -BOOL DAPI CertHasPrivateKey( - __in PCCERT_CONTEXT pCertContext, - __out_opt DWORD* pdwKeySpec - ); - -HRESULT DAPI CertInstallSingleCertificate( - __in HCERTSTORE hStore, - __in PCCERT_CONTEXT pCertContext, - __in LPCWSTR wzName - ); -#ifdef __cplusplus -} -#endif diff --git a/scripts/windows/installer/WiXSDK/inc/conutil.h b/scripts/windows/installer/WiXSDK/inc/conutil.h deleted file mode 100644 index 13bb1aa685..0000000000 --- a/scripts/windows/installer/WiXSDK/inc/conutil.h +++ /dev/null @@ -1,110 +0,0 @@ -#pragma once -//------------------------------------------------------------------------------------------------- -// -// Copyright (c) 2004, Outercurve Foundation. -// This software is released under Microsoft Reciprocal License (MS-RL). -// The license and further copyright text can be found in the file -// LICENSE.TXT at the root directory of the distribution. -// -// -// -// Console helper functions. -// -//------------------------------------------------------------------------------------------------- - -#ifdef __cplusplus -extern "C" { -#endif - -#define ConsoleExitOnFailure(x, c, f) if (FAILED(x)) { ConsoleWriteError(x, c, f); ExitTrace(x, f); goto LExit; } -#define ConsoleExitOnFailure1(x, c, f, s) if (FAILED(x)) { ConsoleWriteError(x, c, f, s, NULL); ExitTrace1(x, f, s); goto LExit; } -#define ConsoleExitOnFailure2(x, c, f, s, t) if (FAILED(x)) { ConsoleWriteError(x, c, f, s, t); ExitTrace2(x, f, s, t); goto LExit; } -#define ConsoleExitOnFailure3(x, c, f, s, t, u) if (FAILED(x)) { ConsoleWriteError(x, c, f, s, t, u); ExitTrace3(x, f, s, t, u); goto LExit; } - -#define ConsoleExitOnLastError(x, c, f) { x = ::GetLastError(); x = HRESULT_FROM_WIN32(x); if (FAILED(x)) { ConsoleWriteError(x, c, f); ExitTrace(x, f); goto LExit; } } -#define ConsoleExitOnLastError1(x, c, f, s) { x = ::GetLastError(); x = HRESULT_FROM_WIN32(x); if (FAILED(x)) { ConsoleWriteError(x, c, f, s, NULL); ExitTrace1(x, f, s); goto LExit; } } -#define ConsoleExitOnLastError2(x, c, f, s, t) { x = ::GetLastError(); x = HRESULT_FROM_WIN32(x); if (FAILED(x)) { ConsoleWriteError(x, c, f, s, t); ExitTrace2(x, f, s, t); goto LExit; } } -#define ConsoleExitOnLastError3(x, c, f, s, t, u) { x = ::GetLastError(); x = HRESULT_FROM_WIN32(x); if (FAILED(x)) { ConsoleWriteError(x, c, f, s, t, u); ExitTrace3(x, f, s, t, u); goto LExit; } } - -#define ConsoleExitOnNull(p, x, e, c, f) if (NULL == p) { x = e; ConsoleWriteError(x, c, f); ExitTrace(x, f); goto LExit; } -#define ConsoleExitOnNull1(p, x, e, c, f, s) if (NULL == p) { x = e; ConsoleWriteError(x, c, f, s, NULL); ExitTrace1(x, f, s); goto LExit; } -#define ConsoleExitOnNull2(p, x, e, c, f, s, t) if (NULL == p) { x = e; ConsoleWriteError(x, c, f, s, t); ExitTrace2(x, f, s, t); goto LExit; } -#define ConsoleExitOnNull3(p, x, e, c, f, s, t, u) if (NULL == p) { x = e; ConsoleWriteError(x, c, f, s, t, u); ExitTrace2(x, f, s, t, u); goto LExit; } - - -// the following macros need to go away -#define ConsoleTrace(l, f) { ConsoleWriteLine(CONSOLE_COLOR_NORMAL, f); Trace(l, f); } -#define ConsoleTrace1(l, f, s) { ConsoleWriteLine(CONSOLE_COLOR_NORMAL, f, s); Trace1(l, f, s); } -#define ConsoleTrace2(l, f, s, t) { ConsoleWriteLine(CONSOLE_COLOR_NORMAL, f, s, t); Trace2(l, f, s, t); } -#define ConsoleTrace3(l, f, s, t, u) { ConsoleWriteLine(CONSOLE_COLOR_NORMAL, f, s, t, u); Trace3(l, f, s, t, u); } - -#define ConsoleWarning(f) { ConsoleWriteLine(CONSOLE_COLOR_YELLOW, f); Trace(REPORT_STANDARD, f); } -#define ConsoleWarning1(f, s) { ConsoleWriteLine(CONSOLE_COLOR_YELLOW, f, s); Trace1(REPORT_STANDARD, f, s); } -#define ConsoleWarning2(f, s, t) { ConsoleWriteLine(CONSOLE_COLOR_YELLOW, f, s, t); Trace2(REPORT_STANDARD, f, s, t); } -#define ConsoleWarning3(f, s, t, u) { ConsoleWriteLine(CONSOLE_COLOR_YELLOW, f, s, t, u); Trace3(REPORT_STANDARD, f, s, t, u); } - -#define ConsoleError(x, f) { ConsoleWriteError(x, CONSOLE_COLOR_RED, f); TraceError(x, f); } -#define ConsoleError1(x, f, s) { ConsoleWriteError(x, CONSOLE_COLOR_RED, f, s); TraceError1(x, f, s); } -#define ConsoleError2(x, f, s, t) { ConsoleWriteError(x, CONSOLE_COLOR_RED, f, s, t); TraceError2(x, f, s, t); } -#define ConsoleError3(x, f, s, t, u) { ConsoleWriteError(x, CONSOLE_COLOR_RED, f, s, t, u); TraceError3(x, f, s, t, u); } - - -// enums -enum CONSOLE_COLOR { CONSOLE_COLOR_NORMAL, CONSOLE_COLOR_RED, CONSOLE_COLOR_YELLOW, CONSOLE_COLOR_GREEN }; - -// structs - -// functions -HRESULT DAPI ConsoleInitialize(); -void DAPI ConsoleUninitialize(); - -void DAPI ConsoleGreen(); -void DAPI ConsoleRed(); -void DAPI ConsoleYellow(); -void DAPI ConsoleNormal(); - -HRESULT DAPI ConsoleWrite( - CONSOLE_COLOR cc, - __in_z __format_string LPCSTR szFormat, - ... - ); -HRESULT DAPI ConsoleWriteLine( - CONSOLE_COLOR cc, - __in_z __format_string LPCSTR szFormat, - ... - ); -HRESULT DAPI ConsoleWriteError( - HRESULT hrError, - CONSOLE_COLOR cc, - __in_z __format_string LPCSTR szFormat, - ... - ); - -HRESULT DAPI ConsoleReadW( - __deref_out_z LPWSTR* ppwzBuffer - ); - -HRESULT DAPI ConsoleReadStringA( - __deref_out_ecount_part(cchCharBuffer,*pcchNumCharReturn) LPSTR* szCharBuffer, - CONST DWORD cchCharBuffer, - __out DWORD* pcchNumCharReturn - ); -HRESULT DAPI ConsoleReadStringW( - __deref_out_ecount_part(cchCharBuffer,*pcchNumCharReturn) LPWSTR* szCharBuffer, - CONST DWORD cchCharBuffer, - __out DWORD* pcchNumCharReturn - ); - -HRESULT DAPI ConsoleReadNonBlockingW( - __deref_out_ecount_opt(*pcchSize) LPWSTR* ppwzBuffer, - __out DWORD* pcchSize, - BOOL fReadLine - ); - -HRESULT DAPI ConsoleSetReadHidden(void); -HRESULT DAPI ConsoleSetReadNormal(void); - -#ifdef __cplusplus -} -#endif - diff --git a/scripts/windows/installer/WiXSDK/inc/cryputil.h b/scripts/windows/installer/WiXSDK/inc/cryputil.h deleted file mode 100644 index 2cb69ec2a9..0000000000 --- a/scripts/windows/installer/WiXSDK/inc/cryputil.h +++ /dev/null @@ -1,72 +0,0 @@ -#pragma once -//------------------------------------------------------------------------------------------------- -// -// Copyright (c) 2004, Outercurve Foundation. -// This software is released under Microsoft Reciprocal License (MS-RL). -// The license and further copyright text can be found in the file -// LICENSE.TXT at the root directory of the distribution. -// -// -// -// Cryptography helper functions. -// -//------------------------------------------------------------------------------------------------- - -#define ReleaseCryptMsg(p) if (p) { ::CryptMsgClose(p); p = NULL; } - -#ifdef __cplusplus -extern "C" { -#endif - - -#define SHA1_HASH_LEN 20 - -// function declarations - -HRESULT DAPI CrypDecodeObject( - __in_z LPCSTR szStructType, - __in_ecount(cbData) const BYTE* pbData, - __in DWORD cbData, - __in DWORD dwFlags, - __out LPVOID* ppvObject, - __out_opt DWORD* pcbObject - ); - -HRESULT DAPI CrypMsgGetParam( - __in HCRYPTMSG hCryptMsg, - __in DWORD dwType, - __in DWORD dwIndex, - __out LPVOID* ppvData, - __out_opt DWORD* pcbData - ); - -HRESULT DAPI CrypHashFile( - __in_z LPCWSTR wzFilePath, - __in DWORD dwProvType, - __in ALG_ID algid, - __out_bcount(cbHash) BYTE* pbHash, - __in DWORD cbHash, - __out_opt DWORD64* pqwBytesHashed - ); - -HRESULT DAPI CrypHashFileHandle( - __in HANDLE hFile, - __in DWORD dwProvType, - __in ALG_ID algid, - __out_bcount(cbHash) BYTE* pbHash, - __in DWORD cbHash, - __out_opt DWORD64* pqwBytesHashed - ); - -HRESULT DAPI CrypHashBuffer( - __in_bcount(cbBuffer) const BYTE* pbBuffer, - __in SIZE_T cbBuffer, - __in DWORD dwProvType, - __in ALG_ID algid, - __out_bcount(cbHash) BYTE* pbHash, - __in DWORD cbHash - ); - -#ifdef __cplusplus -} -#endif diff --git a/scripts/windows/installer/WiXSDK/inc/custommsierrors.h b/scripts/windows/installer/WiXSDK/inc/custommsierrors.h deleted file mode 100644 index ca9505a0ac..0000000000 --- a/scripts/windows/installer/WiXSDK/inc/custommsierrors.h +++ /dev/null @@ -1,153 +0,0 @@ -#pragma once -//------------------------------------------------------------------------------------------------- -// -// Copyright (c) 2004, Outercurve Foundation. -// This software is released under Microsoft Reciprocal License (MS-RL). -// The license and further copyright text can be found in the file -// LICENSE.TXT at the root directory of the distribution. -// -//------------------------------------------------------------------------------------------------- - -//--------------------------------------------------------------------------- -// Indexes for custom errors in the MSI -// -// Note: Custom Errors must be in the range 25000-30000, all other error -// codes are reserved for the Windows Installer as standard error ranges -// NEVER reuse an error number or you're likely to break the builds. -//--------------------------------------------------------------------------- - -// Instructions: -// 1. add the index to this file -// 2. define the error table row -// 3. #include CustomMsiErrors to refer to the index -// 4. Import Misc\CustomErrors { MYDEFINE=1 }; with your errorgroup under MYDEFINE - - -//--------------------------------------------------------------------------- -// GLOBAL 25501-25600 -#define GLOBAL_ERROR_BASE 25501 - -#define msierrSecureObjectsFailedCreateSD 25520 -#define msierrSecureObjectsFailedSet 25521 -#define msierrSecureObjectsUnknownType 25522 - -#define msierrXmlFileFailedRead 25530 -#define msierrXmlFileFailedOpen 25531 -#define msierrXmlFileFailedSelect 25532 -#define msierrXmlFileFailedSave 25533 - -#define msierrXmlConfigFailedRead 25540 -#define msierrXmlConfigFailedOpen 25541 -#define msierrXmlConfigFailedSelect 25542 -#define msierrXmlConfigFailedSave 25543 - -#define msierrFirewallCannotConnect 25580 - -//--------------------------------------------------------------------------- -// Server CustomAction Errors -// SERVER range: 26001-26100 -#define SERVER_ERROR_BASE 26000 - -#define msierrIISCannotConnect 26001 -#define msierrIISFailedReadWebSite 26002 -#define msierrIISFailedReadWebDirs 26003 -#define msierrIISFailedReadVDirs 26004 -#define msierrIISFailedReadFilters 26005 -#define msierrIISFailedReadAppPool 26006 -#define msierrIISFailedReadMimeMap 26007 -#define msierrIISFailedReadProp 26008 -#define msierrIISFailedReadWebSvcExt 26009 -#define msierrIISFailedReadWebError 26010 -#define msierrIISFailedReadHttpHeader 26011 - -#define msierrIISFailedSchedTransaction 26031 -#define msierrIISFailedSchedInstallWebs 26032 -#define msierrIISFailedSchedInstallWebDirs 26033 -#define msierrIISFailedSchedInstallVDirs 26034 -#define msierrIISFailedSchedInstallFilters 26035 -#define msierrIISFailedSchedInstallAppPool 26036 -#define msierrIISFailedSchedInstallProp 26037 -#define msierrIISFailedSchedInstallWebSvcExt 26038 - -#define msierrIISFailedSchedUninstallWebs 26051 -#define msierrIISFailedSchedUninstallWebDirs 26052 -#define msierrIISFailedSchedUninstallVDirs 26053 -#define msierrIISFailedSchedUninstallFilters 26054 -#define msierrIISFailedSchedUninstallAppPool 26055 -#define msierrIISFailedSchedUninstallProp 26056 -#define msierrIISFailedSchedUninstallWebSvcExt 26057 - -#define msierrIISFailedStartTransaction 26101 -#define msierrIISFailedOpenKey 26102 -#define msierrIISFailedCreateKey 26103 -#define msierrIISFailedWriteData 26104 -#define msierrIISFailedCreateApp 26105 -#define msierrIISFailedDeleteKey 26106 -#define msierrIISFailedDeleteApp 26107 -#define msierrIISFailedDeleteValue 26108 -#define msierrIISFailedCommitInUse 26109 - -#define msierrSQLFailedCreateDatabase 26201 -#define msierrSQLFailedDropDatabase 26202 -#define msierrSQLFailedConnectDatabase 26203 -#define msierrSQLFailedExecString 26204 -#define msierrSQLDatabaseAlreadyExists 26205 - -#define msierrPERFMONFailedRegisterDLL 26251 -#define msierrPERFMONFailedUnregisterDLL 26252 -#define msierrInstallPerfCounterData 26253 -#define msierrUninstallPerfCounterData 26254 - -#define msierrSMBFailedCreate 26301 -#define msierrSMBFailedDrop 26302 - -#define msierrCERTFailedOpen 26351 -#define msierrCERTFailedAdd 26352 - -#define msierrUSRFailedUserCreate 26401 -#define msierrUSRFailedUserCreatePswd 26402 -#define msierrUSRFailedUserGroupAdd 26403 -#define msierrUSRFailedUserCreateExists 26404 -#define msierrUSRFailedGrantLogonAsService 26405 - -#define msierrDependencyMissingDependencies 26451 -#define msierrDependencyHasDependents 26452 - -//-------------------------------------------------------------------------- -// Managed code CustomAction Errors -// MANAGED range: 27000-27100 -#define MANAGED_ERROR_BASE 27000 - -#define msierrDotNetRuntimeRequired 27000 -//--------------------------------------------------------------------------- -// Public CustomAction Errors -// PUBLIC range: 28001-28100 -#define PUBLIC_ERROR_BASE 28000 - -#define msierrComPlusCannotConnect 28001 -#define msierrComPlusPartitionReadFailed 28002 -#define msierrComPlusPartitionRoleReadFailed 28003 -#define msierrComPlusUserInPartitionRoleReadFailed 28004 -#define msierrComPlusPartitionUserReadFailed 28005 -#define msierrComPlusApplicationReadFailed 28006 -#define msierrComPlusApplicationRoleReadFailed 28007 -#define msierrComPlusUserInApplicationRoleReadFailed 28008 -#define msierrComPlusAssembliesReadFailed 28009 -#define msierrComPlusSubscriptionReadFailed 28010 -#define msierrComPlusPartitionDependency 28011 -#define msierrComPlusPartitionNotFound 28012 -#define msierrComPlusPartitionIdConflict 28013 -#define msierrComPlusPartitionNameConflict 28014 -#define msierrComPlusApplicationDependency 28015 -#define msierrComPlusApplicationNotFound 28016 -#define msierrComPlusApplicationIdConflict 28017 -#define msierrComPlusApplicationNameConflict 28018 -#define msierrComPlusApplicationRoleDependency 28019 -#define msierrComPlusApplicationRoleNotFound 28020 -#define msierrComPlusApplicationRoleConflict 28021 -#define msierrComPlusAssemblyDependency 28022 -#define msierrComPlusSubscriptionIdConflict 28023 -#define msierrComPlusSubscriptionNameConflict 28024 -#define msierrComPlusFailedLookupNames 28025 - -#define msierrMsmqCannotConnect 28101 diff --git a/scripts/windows/installer/WiXSDK/inc/dictutil.h b/scripts/windows/installer/WiXSDK/inc/dictutil.h deleted file mode 100644 index ed690c1325..0000000000 --- a/scripts/windows/installer/WiXSDK/inc/dictutil.h +++ /dev/null @@ -1,79 +0,0 @@ -#pragma once -//------------------------------------------------------------------------------------------------- -// -// Copyright (c) 2004, Outercurve Foundation. -// This software is released under Microsoft Reciprocal License (MS-RL). -// The license and further copyright text can be found in the file -// LICENSE.TXT at the root directory of the distribution. -// -// -// -// Header for string dict helper functions. -// -//------------------------------------------------------------------------------------------------- - -#ifdef __cplusplus -extern "C" { -#endif - -#define ReleaseDict(sdh) if (sdh) { DictDestroy(sdh); } -#define ReleaseNullDict(sdh) if (sdh) { DictDestroy(sdh); sdh = NULL; } - -typedef void* STRINGDICT_HANDLE; -typedef const void* C_STRINGDICT_HANDLE; - -extern const int STRINGDICT_HANDLE_BYTES; - -enum DICT_FLAG -{ - DICT_FLAG_NONE = 0, - DICT_FLAG_CASEINSENSITIVE = 1 -}; - -HRESULT DAPI DictCreateWithEmbeddedKey( - __out_bcount(STRINGDICT_HANDLE_BYTES) STRINGDICT_HANDLE* psdHandle, - __in DWORD dwNumExpectedItems, - __in_opt void **ppvArray, - __in size_t cByteOffset, - __in DICT_FLAG dfFlags - ); -HRESULT DAPI DictCreateStringList( - __out_bcount(STRINGDICT_HANDLE_BYTES) STRINGDICT_HANDLE* psdHandle, - __in DWORD dwNumExpectedItems, - __in DICT_FLAG dfFlags - ); -HRESULT DAPI DictCreateStringListFromArray( - __out_bcount(STRINGDICT_HANDLE_BYTES) STRINGDICT_HANDLE* psdHandle, - __in_ecount(cStringArray) const LPCWSTR* rgwzStringArray, - __in const DWORD cStringArray, - __in DICT_FLAG dfFlags - ); -HRESULT DAPI DictCompareStringListToArray( - __in_bcount(STRINGDICT_HANDLE_BYTES) STRINGDICT_HANDLE sdStringList, - __in_ecount(cStringArray) const LPCWSTR* rgwzStringArray, - __in const DWORD cStringArray - ); -HRESULT DAPI DictAddKey( - __in_bcount(STRINGDICT_HANDLE_BYTES) STRINGDICT_HANDLE sdHandle, - __in_z LPCWSTR szString - ); -HRESULT DAPI DictAddValue( - __in_bcount(STRINGDICT_HANDLE_BYTES) STRINGDICT_HANDLE sdHandle, - __in void *pvValue - ); -HRESULT DAPI DictKeyExists( - __in_bcount(STRINGDICT_HANDLE_BYTES) C_STRINGDICT_HANDLE sdHandle, - __in_z LPCWSTR szString - ); -HRESULT DAPI DictGetValue( - __in_bcount(STRINGDICT_HANDLE_BYTES) C_STRINGDICT_HANDLE sdHandle, - __in_z LPCWSTR szString, - __out void **ppvValue - ); -void DAPI DictDestroy( - __in_bcount(STRINGDICT_HANDLE_BYTES) STRINGDICT_HANDLE sdHandle - ); - -#ifdef __cplusplus -} -#endif diff --git a/scripts/windows/installer/WiXSDK/inc/dirutil.h b/scripts/windows/installer/WiXSDK/inc/dirutil.h deleted file mode 100644 index ff04ad44ec..0000000000 --- a/scripts/windows/installer/WiXSDK/inc/dirutil.h +++ /dev/null @@ -1,65 +0,0 @@ -//------------------------------------------------------------------------------------------------- -// -// Copyright (c) 2004, Outercurve Foundation. -// This software is released under Microsoft Reciprocal License (MS-RL). -// The license and further copyright text can be found in the file -// LICENSE.TXT at the root directory of the distribution. -// -// -// -// Directory helper functions. -// -//------------------------------------------------------------------------------------------------- - -#pragma once - -enum DIR_DELETE -{ - DIR_DELETE_FILES = 1, - DIR_DELETE_RECURSE = 2, - DIR_DELETE_SCHEDULE = 4, -}; - -#ifdef __cplusplus -extern "C" { -#endif - -BOOL DAPI DirExists( - __in_z LPCWSTR wzPath, - __out_opt DWORD *pdwAttributes - ); - -HRESULT DAPI DirCreateTempPath( - __in_z LPCWSTR wzPrefix, - __out_ecount_z(cchPath) LPWSTR wzPath, - __in DWORD cchPath - ); - -HRESULT DAPI DirEnsureExists( - __in_z LPCWSTR wzPath, - __in_opt LPSECURITY_ATTRIBUTES psa - ); - -HRESULT DAPI DirEnsureDelete( - __in_z LPCWSTR wzPath, - __in BOOL fDeleteFiles, - __in BOOL fRecurse - ); - -HRESULT DAPI DirEnsureDeleteEx( - __in_z LPCWSTR wzPath, - __in DWORD dwFlags - ); - -HRESULT DAPI DirGetCurrent( - __deref_out_z LPWSTR* psczCurrentDirectory - ); - -HRESULT DAPI DirSetCurrent( - __in_z LPCWSTR wzDirectory - ); - -#ifdef __cplusplus -} -#endif - diff --git a/scripts/windows/installer/WiXSDK/inc/dutil.h b/scripts/windows/installer/WiXSDK/inc/dutil.h deleted file mode 100644 index bad9ec2e4a..0000000000 --- a/scripts/windows/installer/WiXSDK/inc/dutil.h +++ /dev/null @@ -1,215 +0,0 @@ -#pragma once -//------------------------------------------------------------------------------------------------- -// -// Copyright (c) 2004, Outercurve Foundation. -// This software is released under Microsoft Reciprocal License (MS-RL). -// The license and further copyright text can be found in the file -// LICENSE.TXT at the root directory of the distribution. -// -// -// -// Header for utility layer that provides standard support for asserts, exit macros -// -//------------------------------------------------------------------------------------------------- - -#define DAPI __stdcall -#define DAPIV __cdecl // used only for functions taking variable length arguments - -#define DAPI_(type) EXTERN_C type DAPI -#define DAPIV_(type) EXTERN_C type DAPIV - - -// enums -enum REPORT_LEVEL -{ - REPORT_NONE, // turns off report (only valid for XXXSetLevel()) - REPORT_WARNING, // written if want only warnings or reporting is on in general - REPORT_STANDARD, // written if reporting is on - REPORT_VERBOSE, // written only if verbose reporting is on - REPORT_DEBUG, // reporting useful when debugging code - REPORT_ERROR, // always gets reported, but can never be specified -}; - -// asserts and traces -typedef BOOL (DAPI *DUTIL_ASSERTDISPLAYFUNCTION)(__in_z LPCSTR sz); - -extern "C" void DAPI Dutil_SetAssertModule(__in HMODULE hAssertModule); -extern "C" void DAPI Dutil_SetAssertDisplayFunction(__in DUTIL_ASSERTDISPLAYFUNCTION pfn); -extern "C" void DAPI Dutil_Assert(__in_z LPCSTR szFile, __in int iLine); -extern "C" void DAPI Dutil_AssertSz(__in_z LPCSTR szFile, __in int iLine, __in_z LPCSTR szMsg); - -extern "C" void DAPI Dutil_TraceSetLevel(__in REPORT_LEVEL ll, __in BOOL fTraceFilenames); -extern "C" REPORT_LEVEL DAPI Dutil_TraceGetLevel(); -extern "C" void __cdecl Dutil_Trace(__in_z LPCSTR szFile, __in int iLine, __in REPORT_LEVEL rl, __in_z __format_string LPCSTR szMessage, ...); -extern "C" void __cdecl Dutil_TraceError(__in_z LPCSTR szFile, __in int iLine, __in REPORT_LEVEL rl, __in HRESULT hr, __in_z __format_string LPCSTR szMessage, ...); -extern "C" void DAPI Dutil_RootFailure(__in_z LPCSTR szFile, __in int iLine, __in HRESULT hrError); - -#ifdef DEBUG - -#define AssertSetModule(m) (void)Dutil_SetAssertModule(m) -#define AssertSetDisplayFunction(pfn) (void)Dutil_SetAssertDisplayFunction(pfn) -#define Assert(f) ((f) ? (void)0 : (void)Dutil_Assert(__FILE__, __LINE__)) -#define AssertSz(f, sz) ((f) ? (void)0 : (void)Dutil_AssertSz(__FILE__, __LINE__, sz)) - -#define TraceSetLevel(l, f) (void)Dutil_TraceSetLevel(l, f) -#define TraceGetLevel() (REPORT_LEVEL)Dutil_TraceGetLevel() -#define Trace(l, f) (void)Dutil_Trace(__FILE__, __LINE__, l, f, NULL) -#define Trace1(l, f, s) (void)Dutil_Trace(__FILE__, __LINE__, l, f, s) -#define Trace2(l, f, s, t) (void)Dutil_Trace(__FILE__, __LINE__, l, f, s, t) -#define Trace3(l, f, s, t, u) (void)Dutil_Trace(__FILE__, __LINE__, l, f, s, t, u) - -#define TraceError(x, f) (void)Dutil_TraceError(__FILE__, __LINE__, REPORT_ERROR, x, f, NULL) -#define TraceError1(x, f, s) (void)Dutil_TraceError(__FILE__, __LINE__, REPORT_ERROR, x, f, s) -#define TraceError2(x, f, s, t) (void)Dutil_TraceError(__FILE__, __LINE__, REPORT_ERROR, x, f, s, t) -#define TraceError3(x, f, s, t, u) (void)Dutil_TraceError(__FILE__, __LINE__, REPORT_ERROR, x, f, s, t, u) - -#define TraceErrorDebug(x, f) (void)Dutil_TraceError(__FILE__, __LINE__, REPORT_DEBUG, x, f, NULL) -#define TraceErrorDebug1(x, f, s) (void)Dutil_TraceError(__FILE__, __LINE__, REPORT_DEBUG, x, f, s) -#define TraceErrorDebug2(x, f, s, t) (void)Dutil_TraceError(__FILE__, __LINE__, REPORT_DEBUG, x, f, s, t) -#define TraceErrorDebug3(x, f, s, t, u) (void)Dutil_TraceError(__FILE__, __LINE__, REPORT_DEBUG, x, f, s, t, u) - -#else // !DEBUG - -#define AssertSetModule(m) -#define AssertSetDisplayFunction(pfn) -#define Assert(f) -#define AssertSz(f, sz) - -#define TraceSetLevel(l, f) -#define Trace(l, f) -#define Trace1(l, f, s) -#define Trace2(l, f, s, t) -#define Trace3(l, f, s, t, u) - -#define TraceError(x, f) -#define TraceError1(x, f, s) -#define TraceError2(x, f, s, t) -#define TraceError3(x, f, s, t, u) - -#define TraceErrorDebug(x, f) -#define TraceErrorDebug1(x, f, s) -#define TraceErrorDebug2(x, f, s, t) -#define TraceErrorDebug3(x, f, s, t, u) - -#endif // DEBUG - - -// ExitTrace can be overriden -#ifndef ExitTrace -#define ExitTrace TraceError -#endif -#ifndef ExitTrace1 -#define ExitTrace1 TraceError1 -#endif -#ifndef ExitTrace2 -#define ExitTrace2 TraceError2 -#endif -#ifndef ExitTrace3 -#define ExitTrace3 TraceError3 -#endif - -// Exit macros -#define ExitFunction() { goto LExit; } -#define ExitFunction1(x) { x; goto LExit; } - -#define ExitOnLastError(x, s) { DWORD Dutil_er = ::GetLastError(); x = HRESULT_FROM_WIN32(Dutil_er); if (FAILED(x)) { Dutil_RootFailure(__FILE__, __LINE__, x); ExitTrace(x, s); goto LExit; } } -#define ExitOnLastError1(x, f, s) { DWORD Dutil_er = ::GetLastError(); x = HRESULT_FROM_WIN32(Dutil_er); if (FAILED(x)) { Dutil_RootFailure(__FILE__, __LINE__, x); ExitTrace1(x, f, s); goto LExit; } } -#define ExitOnLastError2(x, f, s, t) { DWORD Dutil_er = ::GetLastError(); x = HRESULT_FROM_WIN32(Dutil_er); if (FAILED(x)) { Dutil_RootFailure(__FILE__, __LINE__, x); ExitTrace2(x, f, s, t); goto LExit; } } - -#define ExitOnLastErrorDebugTrace(x, s) { DWORD Dutil_er = ::GetLastError(); x = HRESULT_FROM_WIN32(Dutil_er); if (FAILED(x)) { Dutil_RootFailure(__FILE__, __LINE__, x); TraceErrorDebug(x, s); goto LExit; } } -#define ExitOnLastErrorDebugTrace1(x, f, s) { DWORD Dutil_er = ::GetLastError(); x = HRESULT_FROM_WIN32(Dutil_er); if (FAILED(x)) { Dutil_RootFailure(__FILE__, __LINE__, x); TraceErrorDebug1(x, f, s); goto LExit; } } -#define ExitOnLastErrorDebugTrace2(x, f, s, t) { DWORD Dutil_er = ::GetLastError(); x = HRESULT_FROM_WIN32(Dutil_er); if (FAILED(x)) { Dutil_RootFailure(__FILE__, __LINE__, x); TraceErrorDebug2(x, f, s, t); goto LExit; } } - -#define ExitWithLastError(x, s) { DWORD Dutil_er = ::GetLastError(); x = HRESULT_FROM_WIN32(Dutil_er); if (!FAILED(x)) { x = E_FAIL; } Dutil_RootFailure(__FILE__, __LINE__, x); ExitTrace(x, s); goto LExit; } -#define ExitWithLastError1(x, f, s) { DWORD Dutil_er = ::GetLastError(); x = HRESULT_FROM_WIN32(Dutil_er); if (!FAILED(x)) { x = E_FAIL; } Dutil_RootFailure(__FILE__, __LINE__, x); ExitTrace1(x, f, s); goto LExit; } -#define ExitWithLastError2(x, f, s, t) { DWORD Dutil_er = ::GetLastError(); x = HRESULT_FROM_WIN32(Dutil_er); if (!FAILED(x)) { x = E_FAIL; } Dutil_RootFailure(__FILE__, __LINE__, x); ExitTrace2(x, f, s, t); goto LExit; } -#define ExitWithLastError3(x, f, s, t, u) { DWORD Dutil_er = ::GetLastError(); x = HRESULT_FROM_WIN32(Dutil_er); if (!FAILED(x)) { x = E_FAIL; } Dutil_RootFailure(__FILE__, __LINE__, x); ExitTrace3(x, f, s, t, u); goto LExit; } - -#define ExitOnFailure(x, s) if (FAILED(x)) { ExitTrace(x, s); goto LExit; } -#define ExitOnFailure1(x, f, s) if (FAILED(x)) { ExitTrace1(x, f, s); goto LExit; } -#define ExitOnFailure2(x, f, s, t) if (FAILED(x)) { ExitTrace2(x, f, s, t); goto LExit; } -#define ExitOnFailure3(x, f, s, t, u) if (FAILED(x)) { ExitTrace3(x, f, s, t, u); goto LExit; } - -#define ExitOnRootFailure(x, s) if (FAILED(x)) { Dutil_RootFailure(__FILE__, __LINE__, x); ExitTrace(x, s); goto LExit; } -#define ExitOnRootFailure1(x, f, s) if (FAILED(x)) { Dutil_RootFailure(__FILE__, __LINE__, x); ExitTrace1(x, f, s); goto LExit; } -#define ExitOnRootFailure2(x, f, s, t) if (FAILED(x)) { Dutil_RootFailure(__FILE__, __LINE__, x); ExitTrace2(x, f, s, t); goto LExit; } -#define ExitOnRootFailure3(x, f, s, t, u) if (FAILED(x)) { Dutil_RootFailure(__FILE__, __LINE__, x); ExitTrace3(x, f, s, t, u); goto LExit; } - -#define ExitOnFailureDebugTrace(x, s) if (FAILED(x)) { TraceErrorDebug(x, s); goto LExit; } -#define ExitOnFailureDebugTrace1(x, f, s) if (FAILED(x)) { TraceErrorDebug1(x, f, s); goto LExit; } -#define ExitOnFailureDebugTrace2(x, f, s, t) if (FAILED(x)) { TraceErrorDebug2(x, f, s, t); goto LExit; } -#define ExitOnFailureDebugTrace3(x, f, s, t, u) if (FAILED(x)) { TraceErrorDebug3(x, f, s, t, u); goto LExit; } - -#define ExitOnNull(p, x, e, s) if (NULL == p) { x = e; Dutil_RootFailure(__FILE__, __LINE__, x); ExitTrace(x, s); goto LExit; } -#define ExitOnNull1(p, x, e, f, s) if (NULL == p) { x = e; Dutil_RootFailure(__FILE__, __LINE__, x); ExitTrace1(x, f, s); goto LExit; } -#define ExitOnNull2(p, x, e, f, s, t) if (NULL == p) { x = e; Dutil_RootFailure(__FILE__, __LINE__, x); ExitTrace2(x, f, s, t); goto LExit; } - -#define ExitOnNullWithLastError(p, x, s) if (NULL == p) { DWORD Dutil_er = ::GetLastError(); x = HRESULT_FROM_WIN32(Dutil_er); if (!FAILED(x)) { x = E_FAIL; } Dutil_RootFailure(__FILE__, __LINE__, x); ExitTrace(x, s); goto LExit; } -#define ExitOnNullWithLastError1(p, x, f, s) if (NULL == p) { DWORD Dutil_er = ::GetLastError(); x = HRESULT_FROM_WIN32(Dutil_er); if (!FAILED(x)) { x = E_FAIL; } Dutil_RootFailure(__FILE__, __LINE__, x); ExitTrace1(x, f, s); goto LExit; } - -#define ExitOnNullDebugTrace(p, x, e, s) if (NULL == p) { x = e; Dutil_RootFailure(__FILE__, __LINE__, x); TraceErrorDebug(x, s); goto LExit; } -#define ExitOnNullDebugTrace1(p, x, e, f, s) if (NULL == p) { x = e; Dutil_RootFailure(__FILE__, __LINE__, x); TraceErrorDebug1(x, f, s); goto LExit; } - -#define ExitOnInvalidHandleWithLastError(p, x, s) if (INVALID_HANDLE_VALUE == p) { DWORD Dutil_er = ::GetLastError(); x = HRESULT_FROM_WIN32(Dutil_er); if (!FAILED(x)) { x = E_FAIL; } Dutil_RootFailure(__FILE__, __LINE__, x); ExitTrace(x, s); goto LExit; } -#define ExitOnInvalidHandleWithLastError1(p, x, f, s) if (INVALID_HANDLE_VALUE == p) { DWORD Dutil_er = ::GetLastError(); x = HRESULT_FROM_WIN32(Dutil_er); if (!FAILED(x)) { x = E_FAIL; } Dutil_RootFailure(__FILE__, __LINE__, x); ExitTrace1(x, f, s); goto LExit; } - -#define ExitOnWin32Error(e, x, s) if (ERROR_SUCCESS != e) { x = HRESULT_FROM_WIN32(e); if (!FAILED(x)) { x = E_FAIL; } Dutil_RootFailure(__FILE__, __LINE__, x); ExitTrace(x, s); goto LExit; } -#define ExitOnWin32Error1(e, x, f, s) if (ERROR_SUCCESS != e) { x = HRESULT_FROM_WIN32(e); if (!FAILED(x)) { x = E_FAIL; } Dutil_RootFailure(__FILE__, __LINE__, x); ExitTrace1(x, f, s); goto LExit; } -#define ExitOnWin32Error2(e, x, f, s, t) if (ERROR_SUCCESS != e) { x = HRESULT_FROM_WIN32(e); if (!FAILED(x)) { x = E_FAIL; } Dutil_RootFailure(__FILE__, __LINE__, x); ExitTrace2(x, f, s, t); goto LExit; } - -// release macros -#define ReleaseObject(x) if (x) { x->Release(); } -#define ReleaseObjectArray(prg, cel) if (prg) { for (DWORD Dutil_ReleaseObjectArrayIndex = 0; Dutil_ReleaseObjectArrayIndex < cel; ++Dutil_ReleaseObjectArrayIndex) { ReleaseObject(prg[Dutil_ReleaseObjectArrayIndex]); } ReleaseMem(prg); } -#define ReleaseVariant(x) { ::VariantClear(&x); } -#define ReleaseNullObject(x) if (x) { (x)->Release(); x = NULL; } -#define ReleaseCertificate(x) if (x) { ::CertFreeCertificateContext(x); x=NULL; } -#define ReleaseHandle(x) if (x) { ::CloseHandle(x); x = NULL; } - - -// useful defines and macros -#define Unused(x) ((void)x) - -#ifndef countof -#if 1 -#define countof(ary) (sizeof(ary) / sizeof(ary[0])) -#else -#ifndef __cplusplus -#define countof(ary) (sizeof(ary) / sizeof(ary[0])) -#else -template static char countofVerify(void const *, T) throw() { return 0; } -template static void countofVerify(T *const, T *const *) throw() {}; -#define countof(arr) (sizeof(countofVerify(arr,&(arr))) * sizeof(arr)/sizeof(*(arr))) -#endif -#endif -#endif - -#define roundup(x, n) roundup_typed(x, n, DWORD) -#define roundup_typed(x, n, t) (((t)(x) + ((t)(n) - 1)) & ~((t)(n) - 1)) - -#define HRESULT_FROM_RPC(x) ((HRESULT) ((x) | FACILITY_RPC)) - -#ifndef MAXSIZE_T -#define MAXSIZE_T ((SIZE_T)~((SIZE_T)0)) -#endif - -typedef const BYTE* LPCBYTE; - -#define E_FILENOTFOUND HRESULT_FROM_WIN32(ERROR_FILE_NOT_FOUND) -#define E_PATHNOTFOUND HRESULT_FROM_WIN32(ERROR_PATH_NOT_FOUND) -#define E_INVALIDDATA HRESULT_FROM_WIN32(ERROR_INVALID_DATA) -#define E_INVALIDSTATE HRESULT_FROM_WIN32(ERROR_INVALID_STATE) -#define E_INSUFFICIENT_BUFFER HRESULT_FROM_WIN32(ERROR_INSUFFICIENT_BUFFER) -#define E_MOREDATA HRESULT_FROM_WIN32(ERROR_MORE_DATA) -#define E_NOMOREITEMS HRESULT_FROM_WIN32(ERROR_NO_MORE_ITEMS) -#define E_NOTFOUND HRESULT_FROM_WIN32(ERROR_NOT_FOUND) -#define E_MODNOTFOUND HRESULT_FROM_WIN32(ERROR_MOD_NOT_FOUND) -#define E_BADCONFIGURATION HRESULT_FROM_WIN32(ERROR_BAD_CONFIGURATION) - -#define AddRefAndRelease(x) { x->AddRef(); x->Release(); } - -#define MAKEDWORD(lo, hi) ((DWORD)MAKELONG(lo, hi)) -#define MAKEQWORDVERSION(mj, mi, b, r) (((DWORD64)MAKELONG(r, b)) | (((DWORD64)MAKELONG(mi, mj)) << 32)) - -// other functions -extern "C" HRESULT DAPI LoadSystemLibrary(__in_z LPCWSTR wzModuleName, __out HMODULE *phModule); -extern "C" HRESULT DAPI LoadSystemLibraryWithPath(__in_z LPCWSTR wzModuleName, __out HMODULE *phModule, __deref_out_z_opt LPWSTR* psczPath); diff --git a/scripts/windows/installer/WiXSDK/inc/eseutil.h b/scripts/windows/installer/WiXSDK/inc/eseutil.h deleted file mode 100644 index 0ed8cc31b5..0000000000 --- a/scripts/windows/installer/WiXSDK/inc/eseutil.h +++ /dev/null @@ -1,233 +0,0 @@ -#pragma once -//------------------------------------------------------------------------------------------------- -// -// Copyright (c) 2004, Outercurve Foundation. -// This software is released under Microsoft Reciprocal License (MS-RL). -// The license and further copyright text can be found in the file -// LICENSE.TXT at the root directory of the distribution. -// -// -// -// Header for Extensible Storage Engine (Jetblue) helper functions. -// -//------------------------------------------------------------------------------------------------- - -#ifdef __cplusplus -extern "C" { -#endif - -#define ReleaseEseQuery(pqh) if (pqh) { EseFinishQuery(pqh); } -#define ReleaseNullEseQuery(pqh) if (pqh) { EseFinishQuery(pqh); pqh = NULL; } - -struct ESE_COLUMN_SCHEMA -{ - JET_COLUMNID jcColumn; - LPCWSTR pszName; - JET_COLTYP jcColumnType; - BOOL fKey; // If this column is part of the key of the table - BOOL fFixed; - BOOL fNullable; - BOOL fAutoIncrement; -}; - -struct ESE_TABLE_SCHEMA -{ - JET_TABLEID jtTable; - LPCWSTR pszName; - DWORD dwColumns; - ESE_COLUMN_SCHEMA *pcsColumns; -}; - -struct ESE_DATABASE_SCHEMA -{ - DWORD dwTables; - ESE_TABLE_SCHEMA *ptsTables; -}; - -enum ESE_QUERY_TYPE -{ - ESE_QUERY_EXACT, - ESE_QUERY_FROM_TOP, - ESE_QUERY_FROM_BOTTOM -}; - -typedef void* ESE_QUERY_HANDLE; - -HRESULT DAPI EseBeginSession( - __out JET_INSTANCE *pjiInstance, - __out JET_SESID *pjsSession, - __in_z LPCWSTR pszInstance, - __in_z LPCWSTR pszPath - ); -HRESULT DAPI EseEndSession( - __in JET_INSTANCE jiInstance, - __in JET_SESID jsSession - ); -HRESULT DAPI EseEnsureDatabase( - __in JET_SESID jsSession, - __in_z LPCWSTR pszFile, - __in ESE_DATABASE_SCHEMA *pdsSchema, - __out JET_DBID* pjdbDb, - __in BOOL fExclusive, - __in BOOL fReadonly - ); -HRESULT DAPI EseCloseDatabase( - __in JET_SESID jsSession, - __in JET_DBID jdbDb - ); -HRESULT DAPI EseCreateTable( - __in JET_SESID jsSession, - __in JET_DBID jdbDb, - __in_z LPCWSTR pszTable, - __out JET_TABLEID *pjtTable - ); -HRESULT DAPI EseOpenTable( - __in JET_SESID jsSession, - __in JET_DBID jdbDb, - __in_z LPCWSTR pszTable, - __out JET_TABLEID *pjtTable - ); -HRESULT DAPI EseCloseTable( - __in JET_SESID jsSession, - __in JET_TABLEID jtTable - ); -HRESULT DAPI EseEnsureColumn( - __in JET_SESID jsSession, - __in JET_TABLEID jtTable, - __in_z LPCWSTR pszColumnName, - __in JET_COLTYP jcColumnType, - __in ULONG ulColumnSize, - __in BOOL fFixed, - __in BOOL fNullable, - __out_opt JET_COLUMNID *pjcColumn - ); -HRESULT DAPI EseGetColumn( - __in JET_SESID jsSession, - __in JET_TABLEID jtTable, - __in_z LPCWSTR pszColumnName, - __out JET_COLUMNID *pjcColumn - ); -HRESULT DAPI EseMoveCursor( - __in JET_SESID jsSession, - __in JET_TABLEID jtTable, - __in LONG lRow - ); -HRESULT DAPI EseDeleteRow( - __in JET_SESID jsSession, - __in JET_TABLEID jtTable - ); -HRESULT DAPI EseBeginTransaction( - __in JET_SESID jsSession - ); -HRESULT DAPI EseRollbackTransaction( - __in JET_SESID jsSession, - __in BOOL fAll - ); -HRESULT DAPI EseCommitTransaction( - __in JET_SESID jsSession - ); -HRESULT DAPI EsePrepareUpdate( - __in JET_SESID jsSession, - __in JET_TABLEID jtTable, - __in ULONG ulPrep - ); -HRESULT DAPI EseFinishUpdate( - __in JET_SESID jsSession, - __in JET_TABLEID jtTable, - __in BOOL fSeekToInsertedRecord - ); -HRESULT DAPI EseSetColumnBinary( - __in JET_SESID jsSession, - __in ESE_TABLE_SCHEMA tsTable, - __in DWORD dwColumn, - __in_bcount(cbBuffer) const BYTE* pbBuffer, - __in SIZE_T cbBuffer - ); -HRESULT DAPI EseSetColumnDword( - __in JET_SESID jsSession, - __in ESE_TABLE_SCHEMA tsTable, - __in DWORD dwColumn, - __in DWORD dwValue - ); -HRESULT DAPI EseSetColumnBool( - __in JET_SESID jsSession, - __in ESE_TABLE_SCHEMA tsTable, - __in DWORD dwColumn, - __in BOOL fValue - ); -HRESULT DAPI EseSetColumnString( - __in JET_SESID jsSession, - __in ESE_TABLE_SCHEMA tsTable, - __in DWORD dwColumn, - __in_z LPCWSTR pszValue - ); -HRESULT DAPI EseSetColumnEmpty( - __in JET_SESID jsSession, - __in ESE_TABLE_SCHEMA tsTable, - __in DWORD dwColumn - ); -HRESULT DAPI EseGetColumnBinary( - __in JET_SESID jsSession, - __in ESE_TABLE_SCHEMA tsTable, - __in DWORD dwColumn, - __deref_out_bcount(*piBuffer) BYTE** ppbBuffer, - __inout SIZE_T* piBuffer - ); -HRESULT DAPI EseGetColumnDword( - __in JET_SESID jsSession, - __in ESE_TABLE_SCHEMA tsTable, - __in DWORD dwColumn, - __out DWORD *pdwValue - ); -HRESULT DAPI EseGetColumnBool( - __in JET_SESID jsSession, - __in ESE_TABLE_SCHEMA tsTable, - __in DWORD dwColumn, - __out BOOL *pfValue - ); -HRESULT DAPI EseGetColumnString( - __in JET_SESID jsSession, - __in ESE_TABLE_SCHEMA tsTable, - __in DWORD dwColumn, - __out LPWSTR *ppszValue - ); - -// Call this once for each key column in the table -HRESULT DAPI EseBeginQuery( - __in JET_SESID jsSession, - __in JET_TABLEID jtTable, - __in ESE_QUERY_TYPE qtQueryType, - __out ESE_QUERY_HANDLE *peqhHandle - ); -HRESULT DAPI EseSetQueryColumnBinary( - __in ESE_QUERY_HANDLE eqhHandle, - __in_bcount(cbBuffer) const BYTE* pbBuffer, - __in SIZE_T cbBuffer, - __in BOOL fFinal // If this is true, all other key columns in the query will be set to "*" - ); -HRESULT DAPI EseSetQueryColumnDword( - __in ESE_QUERY_HANDLE eqhHandle, - __in DWORD dwData, - __in BOOL fFinal // If this is true, all other key columns in the query will be set to "*" - ); -HRESULT DAPI EseSetQueryColumnBool( - __in ESE_QUERY_HANDLE eqhHandle, - __in BOOL fValue, - __in BOOL fFinal // If this is true, all other key columns in the query will be set to "*" - ); -HRESULT DAPI EseSetQueryColumnString( - __in ESE_QUERY_HANDLE eqhHandle, - __in_z LPCWSTR pszString, - __in BOOL fFinal // If this is true, all other key columns in the query will be set to "*" - ); -HRESULT DAPI EseFinishQuery( - __in ESE_QUERY_HANDLE eqhHandle - ); -// Once all columns have been set up, call this and read the result -HRESULT DAPI EseRunQuery( - __in ESE_QUERY_HANDLE eqhHandle - ); - -#ifdef __cplusplus -} -#endif diff --git a/scripts/windows/installer/WiXSDK/inc/fileutil.h b/scripts/windows/installer/WiXSDK/inc/fileutil.h deleted file mode 100644 index 212a1ec44b..0000000000 --- a/scripts/windows/installer/WiXSDK/inc/fileutil.h +++ /dev/null @@ -1,229 +0,0 @@ -#pragma once -//------------------------------------------------------------------------------------------------- -// -// Copyright (c) 2004, Outercurve Foundation. -// This software is released under Microsoft Reciprocal License (MS-RL). -// The license and further copyright text can be found in the file -// LICENSE.TXT at the root directory of the distribution. -// -// -// -// Header for file helper functions. -// -//------------------------------------------------------------------------------------------------- - -#ifdef __cplusplus -extern "C" { -#endif - -#define ReleaseFile(h) if (INVALID_HANDLE_VALUE != h) { ::CloseHandle(h); h = INVALID_HANDLE_VALUE; } -#define ReleaseFileHandle(h) if (INVALID_HANDLE_VALUE != h) { ::CloseHandle(h); h = INVALID_HANDLE_VALUE; } -#define ReleaseFileFindHandle(h) if (INVALID_HANDLE_VALUE != h) { ::FindClose(h); h = INVALID_HANDLE_VALUE; } - -#define FILEMAKEVERSION(major, minor, build, revision) static_cast((static_cast(major & 0xFFFF) << 48) \ - | (static_cast(minor & 0xFFFF) << 32) \ - | (static_cast(build & 0xFFFF) << 16) \ - | (static_cast(revision & 0xFFFF))) - -enum FILE_ARCHITECTURE -{ - FILE_ARCHITECTURE_UNKNOWN, - FILE_ARCHITECTURE_X86, - FILE_ARCHITECTURE_X64, - FILE_ARCHITECTURE_IA64, -}; - -enum FILE_ENCODING -{ - FILE_ENCODING_UNSPECIFIED = 0, - // TODO: distinguish between non-BOM utf-8 and ANSI in the future? - FILE_ENCODING_UTF8, - FILE_ENCODING_UTF8_WITH_BOM, - FILE_ENCODING_UTF16, - FILE_ENCODING_UTF16_WITH_BOM, -}; - - -LPWSTR DAPI FileFromPath( - __in_z LPCWSTR wzPath - ); -HRESULT DAPI FileResolvePath( - __in_z LPCWSTR wzRelativePath, - __out LPWSTR *ppwzFullPath - ); -HRESULT DAPI FileStripExtension( - __in_z LPCWSTR wzFileName, - __out LPWSTR *ppwzFileNameNoExtension - ); -HRESULT DAPI FileChangeExtension( - __in_z LPCWSTR wzFileName, - __in_z LPCWSTR wzNewExtension, - __out LPWSTR *ppwzFileNameNewExtension - ); -HRESULT DAPI FileAddSuffixToBaseName( - __in_z LPCWSTR wzFileName, - __in_z LPCWSTR wzSuffix, - __out_z LPWSTR* psczNewFileName - ); -HRESULT DAPI FileVersionFromString( - __in_z LPCWSTR wzVersion, - __out DWORD *pdwVerMajor, - __out DWORD* pdwVerMinor - ); -HRESULT DAPI FileVersionFromStringEx( - __in_z LPCWSTR wzVersion, - __in DWORD cchVersion, - __out DWORD64* pqwVersion - ); -HRESULT DAPI FileVersionToStringEx( - __in DWORD64 qwVersion, - __out LPWSTR* psczVersion - ); -HRESULT DAPI FileSetPointer( - __in HANDLE hFile, - __in DWORD64 dw64Move, - __out_opt DWORD64* pdw64NewPosition, - __in DWORD dwMoveMethod - ); -HRESULT DAPI FileSize( - __in_z LPCWSTR pwzFileName, - __out LONGLONG* pllSize - ); -HRESULT DAPI FileSizeByHandle( - __in HANDLE hFile, - __out LONGLONG* pllSize - ); -BOOL DAPI FileExistsEx( - __in_z LPCWSTR wzPath, - __out_opt DWORD *pdwAttributes - ); -BOOL DAPI FileExistsAfterRestart( - __in_z LPCWSTR wzPath, - __out_opt DWORD *pdwAttributes - ); -HRESULT DAPI FileRemoveFromPendingRename( - __in_z LPCWSTR wzPath - ); -HRESULT DAPI FileRead( - __deref_out_bcount_full(*pcbDest) LPBYTE* ppbDest, - __out DWORD* pcbDest, - __in_z LPCWSTR wzSrcPath - ); -HRESULT DAPI FileReadUntil( - __deref_out_bcount_full(*pcbDest) LPBYTE* ppbDest, - __out_range(<=, cbMaxRead) DWORD* pcbDest, - __in_z LPCWSTR wzSrcPath, - __in DWORD cbMaxRead - ); -HRESULT DAPI FileReadPartial( - __deref_out_bcount_full(*pcbDest) LPBYTE* ppbDest, - __out_range(<=, cbMaxRead) DWORD* pcbDest, - __in_z LPCWSTR wzSrcPath, - __in BOOL fSeek, - __in DWORD cbStartPosition, - __in DWORD cbMaxRead, - __in BOOL fPartialOK - ); -HRESULT DAPI FileWrite( - __in_z LPCWSTR pwzFileName, - __in DWORD dwFlagsAndAttributes, - __in_bcount_opt(cbData) LPCBYTE pbData, - __in DWORD cbData, - __out_opt HANDLE* pHandle - ); -HRESULT DAPI FileWriteHandle( - __in HANDLE hFile, - __in_bcount_opt(cbData) LPCBYTE pbData, - __in DWORD cbData - ); -HRESULT DAPI FileCopyUsingHandles( - __in HANDLE hSource, - __in HANDLE hTarget, - __in DWORD64 cbCopy, - __out_opt DWORD64* pcbCopied - ); -HRESULT DAPI FileEnsureCopy( - __in_z LPCWSTR wzSource, - __in_z LPCWSTR wzTarget, - __in BOOL fOverwrite - ); -HRESULT DAPI FileEnsureCopyWithRetry( - __in LPCWSTR wzSource, - __in LPCWSTR wzTarget, - __in BOOL fOverwrite, - __in DWORD cRetry, - __in DWORD dwWaitMilliseconds - ); -HRESULT DAPI FileEnsureMove( - __in_z LPCWSTR wzSource, - __in_z LPCWSTR wzTarget, - __in BOOL fOverwrite, - __in BOOL fAllowCopy - ); -HRESULT DAPI FileEnsureMoveWithRetry( - __in LPCWSTR wzSource, - __in LPCWSTR wzTarget, - __in BOOL fOverwrite, - __in BOOL fAllowCopy, - __in DWORD cRetry, - __in DWORD dwWaitMilliseconds - ); -HRESULT DAPI FileCreateTemp( - __in_z LPCWSTR wzPrefix, - __in_z LPCWSTR wzExtension, - __deref_opt_out_z LPWSTR* ppwzTempFile, - __out_opt HANDLE* phTempFile - ); -HRESULT DAPI FileCreateTempW( - __in_z LPCWSTR wzPrefix, - __in_z LPCWSTR wzExtension, - __deref_opt_out_z LPWSTR* ppwzTempFile, - __out_opt HANDLE* phTempFile - ); -HRESULT DAPI FileVersion( - __in_z LPCWSTR wzFilename, - __out DWORD *pdwVerMajor, - __out DWORD* pdwVerMinor - ); -HRESULT DAPI FileIsSame( - __in_z LPCWSTR wzFile1, - __in_z LPCWSTR wzFile2, - __out LPBOOL lpfSameFile - ); -HRESULT DAPI FileEnsureDelete( - __in_z LPCWSTR wzFile - ); -HRESULT DAPI FileGetTime( - __in_z LPCWSTR wzFile, - __out_opt LPFILETIME lpCreationTime, - __out_opt LPFILETIME lpLastAccessTime, - __out_opt LPFILETIME lpLastWriteTime - ); -HRESULT DAPI FileSetTime( - __in_z LPCWSTR wzFile, - __in_opt const FILETIME *lpCreationTime, - __in_opt const FILETIME *lpLastAccessTime, - __in_opt const FILETIME *lpLastWriteTime - ); -HRESULT DAPI FileResetTime( - __in_z LPCWSTR wzFile - ); -HRESULT DAPI FileExecutableArchitecture( - __in_z LPCWSTR wzFile, - __out FILE_ARCHITECTURE *pArchitecture - ); -HRESULT DAPI FileToString( - __in_z LPCWSTR wzFile, - __out LPWSTR *psczString, - __out_opt FILE_ENCODING *pfeEncoding - ); -HRESULT DAPI FileFromString( - __in_z LPCWSTR wzFile, - __in DWORD dwFlagsAndAttributes, - __in_z LPCWSTR sczString, - __in FILE_ENCODING feEncoding - ); - -#ifdef __cplusplus -} -#endif diff --git a/scripts/windows/installer/WiXSDK/inc/gdiputil.h b/scripts/windows/installer/WiXSDK/inc/gdiputil.h deleted file mode 100644 index 0241f7b2dd..0000000000 --- a/scripts/windows/installer/WiXSDK/inc/gdiputil.h +++ /dev/null @@ -1,41 +0,0 @@ -//------------------------------------------------------------------------------------------------- -// -// Copyright (c) 2004, Outercurve Foundation. -// This software is released under Microsoft Reciprocal License (MS-RL). -// The license and further copyright text can be found in the file -// LICENSE.TXT at the root directory of the distribution. -// -// -// -// GDI+ helper functions. -// -//------------------------------------------------------------------------------------------------- - -#pragma once - -#define ExitOnGdipFailure(g, x, s) { x = GdipHresultFromStatus(g); if (FAILED(x)) { Dutil_RootFailure(__FILE__, __LINE__, x); ExitTrace(x, s); goto LExit; } } -#define ExitOnGdipFailure1(g, x, f, s) { x = GdipHresultFromStatus(g); if (FAILED(x)) { Dutil_RootFailure(__FILE__, __LINE__, x); ExitTrace1(x, f, s); goto LExit; } } -#define ExitOnGdipFailure2(g, x, f, s, t) { x = GdipHresultFromStatus(g); if (FAILED(x)) { Dutil_RootFailure(__FILE__, __LINE__, x); ExitTrace2(x, f, s, t); goto LExit; } } - -#ifdef __cplusplus -extern "C" { -#endif - -HRESULT DAPI GdipBitmapFromResource( - __in_opt HINSTANCE hinst, - __in_z LPCSTR szId, - __out Gdiplus::Bitmap **ppBitmap - ); - -HRESULT DAPI GdipBitmapFromFile( - __in_z LPCWSTR wzFileName, - __out Gdiplus::Bitmap **ppBitmap - ); - -HRESULT DAPI GdipHresultFromStatus( - __in Gdiplus::Status gs - ); - -#ifdef __cplusplus -} -#endif diff --git a/scripts/windows/installer/WiXSDK/inc/iis7util.h b/scripts/windows/installer/WiXSDK/inc/iis7util.h deleted file mode 100644 index 953c6b17ee..0000000000 --- a/scripts/windows/installer/WiXSDK/inc/iis7util.h +++ /dev/null @@ -1,233 +0,0 @@ -#pragma once -//------------------------------------------------------------------------------------------------- -// -// Copyright (c) 2004, Outercurve Foundation. -// This software is released under Microsoft Reciprocal License (MS-RL). -// The license and further copyright text can be found in the file -// LICENSE.TXT at the root directory of the distribution. -// -// -// -// IIS7 helper functions. -// -//------------------------------------------------------------------------------------------------- - - -#ifdef __cplusplus -extern "C" { -#endif - -// IIS Config schema names -#define IIS_CONFIG_ADD L"add" -#define IIS_CONFIG_ALLOWED L"allowed" -#define IIS_CONFIG_APPHOST_ROOT L"MACHINE/WEBROOT/APPHOST" -#define IIS_CONFIG_APPLICATION L"application" -#define IIS_CONFIG_APPPOOL L"applicationPool" -#define IIS_CONFIG_APPPOOL_AUTO L"autoStart" -#define IIS_CONFIG_APPPOOL_SECTION L"system.applicationHost/applicationPools" -#define IIS_CONFIG_AUTOSTART L"serverAutoStart" -#define IIS_CONFIG_BINDING L"binding" -#define IIS_CONFIG_BINDINGINFO L"bindingInformation" -#define IIS_CONFIG_BINDINGS L"bindings" -#define IIS_CONFIG_DESC L"description" -#define IIS_CONFIG_EXECUTABLE L"scriptProcessor" -#define IIS_CONFIG_ENABLED L"enabled" -#define IIS_CONFIG_ENABLE32 L"enable32BitAppOnWin64" -#define IIS_CONFIG_FILEEXT L"fileExtension" -#define IIS_CONFIG_FILTER L"filter" -#define IIS_CONFIG_GROUPID L"groupId" -#define IIS_CONFIG_HEADERS L"customHeaders" -#define IIS_CONFIG_HTTPERRORS_SECTION L"system.webServer/httpErrors" -#define IIS_CONFIG_ID L"id" -#define IIS_CONFIG_ISAPI_SECTION L"system.webServer/isapiFilters" -#define IIS_CONFIG_HTTPPROTO_SECTION L"system.webServer/httpProtocol" -#define IIS_CONFIG_LOG_SECTION L"system.applicationHost/log" -#define IIS_CONFIG_LOG_UTF8 L"logInUTF8" -#define IIS_CONFIG_LIMITS L"limits" -#define IIS_CONFIG_PIPELINEMODE L"managedPipelineMode" -#define IIS_CONFIG_MANAGEDRUNTIMEVERSION L"managedRuntimeVersion" -#define IIS_CONFIG_WEBLOG L"logFile" -#define IIS_CONFIG_LOGFORMAT L"logFormat" -#define IIS_CONFIG_MIMEMAP L"mimeMap" -#define IIS_CONFIG_MIMETYPE L"mimeType" -#define IIS_CONFIG_MODULES L"modules" -#define IIS_CONFIG_NAME L"name" -#define IIS_CONFIG_PATH L"path" -#define IIS_CONFIG_PHYSPATH L"physicalPath" -#define IIS_CONFIG_PROTOCOL L"protocol" -#define IIS_CONFIG_RESTRICTION_SECTION L"system.webServer/security/isapiCgiRestriction" -#define IIS_CONFIG_SITE L"site" -#define IIS_CONFIG_SITE_ID L"id" -#define IIS_CONFIG_SITES_SECTION L"system.applicationHost/sites" -#define IIS_CONFIG_CONNECTTIMEOUT L"connectionTimeout" -#define IIS_CONFIG_VDIR L"virtualDirectory" -#define IIS_CONFIG_VALUE L"value" -#define IIS_CONFIG_VERBS L"verb" -#define IIS_CONFIG_WEBLIMITS_SECTION L"system.applicationHost/webLimits" -#define IIS_CONFIG_WEBLIMITS_MAXBAND L"maxGlobalBandwidth" -#define IIS_CONFIG_TRUE L"true" -#define IIS_CONFIG_FALSE L"false" -#define IIS_CONFIG_ERROR L"error" -#define IIS_CONFIG_STATUSCODE L"statusCode" -#define IIS_CONFIG_SUBSTATUS L"subStatusCode" -#define IIS_CONFIG_LANGPATH L"prefixLanguageFilePath" -#define IIS_CONFIG_RESPMODE L"responseMode" -#define IIS_CONFIG_CLEAR L"clear" -#define IIS_CONFIG_RECYCLING L"recycling" -#define IIS_CONFIG_PEROIDRESTART L"periodicRestart" -#define IIS_CONFIG_TIME L"time" -#define IIS_CONFIG_REQUESTS L"requests" -#define IIS_CONFIG_SCHEDULE L"schedule" -#define IIS_CONFIG_MEMORY L"memory" -#define IIS_CONFIG_PRIVMEMORY L"privateMemory" -#define IIS_CONFIG_PROCESSMODEL L"processModel" -#define IIS_CONFIG_IDLETIMEOUT L"idleTimeout" -#define IIS_CONFIG_QUEUELENGTH L"queueLength" -#define IIS_CONFIG_IDENITITYTYPE L"identityType" -#define IIS_CONFIG_LOCALSYSTEM L"LocalSystem" -#define IIS_CONFIG_LOCALSERVICE L"LocalService" -#define IIS_CONFIG_NETWORKSERVICE L"NetworkService" -#define IIS_CONFIG_SPECIFICUSER L"SpecificUser" -#define IIS_CONFIG_APPLICATIONPOOLIDENTITY L"ApplicationPoolIdentity" -#define IIS_CONFIG_USERNAME L"userName" -#define IIS_CONFIG_PASSWORD L"password" -#define IIS_CONFIG_CPU L"cpu" -#define IIS_CONFIG_LIMIT L"limit" -#define IIS_CONFIG_CPU_ACTION L"action" -#define IIS_CONFIG_KILLW3WP L"KillW3wp" -#define IIS_CONFIG_NOACTION L"NoAction" -#define IIS_CONFIG_RESETINTERVAL L"resetInterval" -#define IIS_CONFIG_MAXWRKPROCESSES L"maxProcesses" -#define IIS_CONFIG_HANDLERS_SECTION L"system.webServer/handlers" -#define IIS_CONFIG_DEFAULTDOC_SECTION L"system.webServer/defaultDocument" -#define IIS_CONFIG_ASP_SECTION L"system.webServer/asp" -#define IIS_CONFIG_SCRIPTERROR L"scriptErrorSentToBrowser" -#define IIS_CONFIG_STATICCONTENT_SECTION L"system.webServer/staticContent" -#define IIS_CONFIG_HTTPEXPIRES L"httpExpires" -#define IIS_CONFIG_MAXAGE L"cacheControlMaxAge" -#define IIS_CONFIG_CLIENTCACHE L"clientCache" -#define IIS_CONFIG_CACHECONTROLMODE L"cacheControlMode" -#define IIS_CONFIG_USEMAXAGE L"UseMaxAge" -#define IIS_CONFIG_USEEXPIRES L"UseExpires" -#define IIS_CONFIG_CACHECUST L"cacheControlCustom" -#define IIS_CONFIG_ASP_SECTION L"system.webServer/asp" -#define IIS_CONFIG_SESSION L"session" -#define IIS_CONFIG_ALLOWSTATE L"allowSessionState" -#define IIS_CONFIG_TIMEOUT L"timeout" -#define IIS_CONFIG_BUFFERING L"bufferingOn" -#define IIS_CONFIG_PARENTPATHS L"enableParentPaths" -#define IIS_CONFIG_SCRIPTLANG L"scriptLanguage" -#define IIS_CONFIG_SCRIPTTIMEOUT L"scriptTimeout" -#define IIS_CONFIG_LIMITS L"limits" -#define IIS_CONFIG_ALLOWDEBUG L"appAllowDebugging" -#define IIS_CONFIG_ALLOWCLIENTDEBUG L"appAllowClientDebug" -#define IIS_CONFIG_CERTIFICATEHASH L"certificateHash" -#define IIS_CONFIG_CERTIFICATESTORENAME L"certificateStoreName" -#define IIS_CONFIG_HTTPLOGGING_SECTION L"system.webServer/httpLogging" -#define IIS_CONFIG_DONTLOG L"dontLog" - -typedef BOOL (CALLBACK* ENUMAPHOSTELEMENTPROC)(IAppHostElement*, LPVOID); -typedef BOOL (CALLBACK* VARIANTCOMPARATORPROC)(VARIANT*, VARIANT*); - -HRESULT DAPI Iis7PutPropertyVariant( - __in IAppHostElement *pElement, - __in LPCWSTR wzPropName, - __in VARIANT vtPut - ); - -HRESULT DAPI Iis7PutPropertyInteger( - __in IAppHostElement *pElement, - __in LPCWSTR wzPropName, - __in DWORD dValue - ); - -HRESULT DAPI Iis7PutPropertyString( - __in IAppHostElement *pElement, - __in LPCWSTR wzPropName, - __in LPCWSTR wzString - ); - -HRESULT DAPI Iis7PutPropertyBool( - __in IAppHostElement *pElement, - __in LPCWSTR wzPropName, - __in BOOL fValue); - -HRESULT DAPI Iis7GetPropertyVariant( - __in IAppHostElement *pElement, - __in LPCWSTR wzPropName, - __in VARIANT* vtGet - ); - -HRESULT DAPI Iis7GetPropertyString( - __in IAppHostElement *pElement, - __in LPCWSTR wzPropName, - __in LPWSTR* psczGet - ); - -struct IIS7_APPHOSTELEMENTCOMPARISON -{ - LPCWSTR sczElementName; - LPCWSTR sczAttributeName; - VARIANT* pvAttributeValue; - VARIANTCOMPARATORPROC pComparator; -}; - -BOOL DAPI Iis7IsMatchingAppHostElement( - __in IAppHostElement *pElement, - __in IIS7_APPHOSTELEMENTCOMPARISON* pComparison - ); - -HRESULT DAPI Iis7FindAppHostElementString( - __in IAppHostElementCollection *pCollection, - __in LPCWSTR wzElementName, - __in LPCWSTR wzAttributeName, - __in LPCWSTR wzAttributeValue, - __out IAppHostElement** ppElement, - __out DWORD* pdwIndex - ); - -HRESULT DAPI Iis7FindAppHostElementPath( - __in IAppHostElementCollection *pCollection, - __in LPCWSTR wzElementName, - __in LPCWSTR wzAttributeName, - __in LPCWSTR wzAttributeValue, - __out IAppHostElement** ppElement, - __out DWORD* pdwIndex - ); - -HRESULT DAPI Iis7FindAppHostElementInteger( - __in IAppHostElementCollection *pCollection, - __in LPCWSTR wzElementName, - __in LPCWSTR wzAttributeName, - __in DWORD dwAttributeValue, - __out IAppHostElement** ppElement, - __out DWORD* pdwIndex - ); - -HRESULT DAPI Iis7FindAppHostElementVariant( - __in IAppHostElementCollection *pCollection, - __in LPCWSTR wzElementName, - __in LPCWSTR wzAttributeName, - __in VARIANT* pvAttributeValue, - __out IAppHostElement** ppElement, - __out DWORD* pdwIndex - ); - -HRESULT DAPI Iis7EnumAppHostElements( - __in IAppHostElementCollection *pCollection, - __in ENUMAPHOSTELEMENTPROC pCallback, - __in LPVOID pContext, - __out IAppHostElement** ppElement, - __out DWORD* pdwIndex - ); - -HRESULT DAPI Iis7FindAppHostMethod( - __in IAppHostMethodCollection *pCollection, - __in LPCWSTR wzMethodName, - __out IAppHostMethod** ppMethod, - __out DWORD* pdwIndex - ); - -#ifdef __cplusplus -} -#endif diff --git a/scripts/windows/installer/WiXSDK/inc/inetutil.h b/scripts/windows/installer/WiXSDK/inc/inetutil.h deleted file mode 100644 index 1b875735a3..0000000000 --- a/scripts/windows/installer/WiXSDK/inc/inetutil.h +++ /dev/null @@ -1,49 +0,0 @@ -#pragma once -//------------------------------------------------------------------------------------------------- -// -// Copyright (c) 2004, Outercurve Foundation. -// This software is released under Microsoft Reciprocal License (MS-RL). -// The license and further copyright text can be found in the file -// LICENSE.TXT at the root directory of the distribution. -// -// -// -// Internet utilites. -// -//------------------------------------------------------------------------------------------------- - -#ifdef __cplusplus -extern "C" { -#endif - -#define ReleaseInternet(h) if (h) { ::InternetCloseHandle(h); h = NULL; } -#define ReleaseNullInternet(h) if (h) { ::InternetCloseHandle(h); h = NULL; } - - -// functions -HRESULT DAPI InternetGetSizeByHandle( - __in HINTERNET hiFile, - __out LONGLONG* pllSize - ); - -HRESULT DAPI InternetGetCreateTimeByHandle( - __in HINTERNET hiFile, - __out LPFILETIME pft - ); - -HRESULT DAPI InternetQueryInfoString( - __in HINTERNET h, - __in DWORD dwInfo, - __deref_out_z LPWSTR* psczValue - ); - -HRESULT DAPI InternetQueryInfoNumber( - __in HINTERNET h, - __in DWORD dwInfo, - __out LONG* plInfo - ); - -#ifdef __cplusplus -} -#endif - diff --git a/scripts/windows/installer/WiXSDK/inc/iniutil.h b/scripts/windows/installer/WiXSDK/inc/iniutil.h deleted file mode 100644 index b2dfee9681..0000000000 --- a/scripts/windows/installer/WiXSDK/inc/iniutil.h +++ /dev/null @@ -1,83 +0,0 @@ -#pragma once -//------------------------------------------------------------------------------------------------- -// -// Copyright (c) 2004, Outercurve Foundation. -// This software is released under Microsoft Reciprocal License (MS-RL). -// The license and further copyright text can be found in the file -// LICENSE.TXT at the root directory of the distribution. -// -// -// -// Ini/cfg file helper functions. -// -//------------------------------------------------------------------------------------------------- - -#ifdef __cplusplus -extern "C" { -#endif - -#define ReleaseIni(ih) if (ih) { IniUninitialize(ih); } -#define ReleaseNullIni(ih) if (ih) { IniUninitialize(ih); ih = NULL; } - -typedef void* INI_HANDLE; -typedef const void* C_INI_HANDLE; - -extern const int INI_HANDLE_BYTES; - -struct INI_VALUE -{ - LPCWSTR wzName; - LPCWSTR wzValue; - - DWORD dwLineNumber; -}; - -HRESULT DAPI IniInitialize( - __out_bcount(INI_HANDLE_BYTES) INI_HANDLE* piHandle - ); -void DAPI IniUninitialize( - __in_bcount(INI_HANDLE_BYTES) INI_HANDLE piHandle - ); -HRESULT DAPI IniSetOpenTag( - __inout_bcount(INI_HANDLE_BYTES) INI_HANDLE piHandle, - __in_z_opt LPCWSTR wzOpenTagPrefix, - __in_z_opt LPCWSTR wzOpenTagPostfix - ); -HRESULT DAPI IniSetValueStyle( - __inout_bcount(INI_HANDLE_BYTES) INI_HANDLE piHandle, - __in_z_opt LPCWSTR wzValuePrefix, - __in_z_opt LPCWSTR wzValueSeparator - ); -HRESULT DAPI IniSetCommentStyle( - __inout_bcount(INI_HANDLE_BYTES) INI_HANDLE piHandle, - __in_z_opt LPCWSTR wzLinePrefix - ); -HRESULT DAPI IniParse( - __inout_bcount(INI_HANDLE_BYTES) INI_HANDLE piHandle, - __in LPCWSTR wzPath, - __out_opt FILE_ENCODING *pfeEncodingFound - ); -HRESULT DAPI IniGetValueList( - __in_bcount(INI_HANDLE_BYTES) INI_HANDLE piHandle, - __deref_out_ecount_opt(pcValues) INI_VALUE** prgivValues, - __out DWORD *pcValues - ); -HRESULT DAPI IniGetValue( - __in_bcount(INI_HANDLE_BYTES) INI_HANDLE piHandle, - __in LPCWSTR wzValueName, - __deref_out_z LPWSTR* psczValue - ); -HRESULT DAPI IniSetValue( - __in_bcount(INI_HANDLE_BYTES) INI_HANDLE piHandle, - __in LPCWSTR wzValueName, - __in_z_opt LPCWSTR wzValue - ); -HRESULT DAPI IniWriteFile( - __in_bcount(INI_HANDLE_BYTES) INI_HANDLE piHandle, - __in_z_opt LPCWSTR wzPath, - __in FILE_ENCODING feOverrideEncoding - ); - -#ifdef __cplusplus -} -#endif diff --git a/scripts/windows/installer/WiXSDK/inc/jsonutil.h b/scripts/windows/installer/WiXSDK/inc/jsonutil.h deleted file mode 100644 index 56c1481753..0000000000 --- a/scripts/windows/installer/WiXSDK/inc/jsonutil.h +++ /dev/null @@ -1,122 +0,0 @@ -#pragma once -//------------------------------------------------------------------------------------------------- -// -// Copyright (c) 2004, Outercurve Foundation. -// This software is released under Microsoft Reciprocal License (MS-RL). -// The license and further copyright text can be found in the file -// LICENSE.TXT at the root directory of the distribution. -// -// -// -// JavaScript Object Notation (JSON) helper functions. -// -//------------------------------------------------------------------------------------------------- - -#ifdef __cplusplus -extern "C" { -#endif - -enum JSON_TOKEN -{ - JSON_TOKEN_NONE, - JSON_TOKEN_ARRAY_START, - JSON_TOKEN_ARRAY_VALUE, - JSON_TOKEN_ARRAY_END, - JSON_TOKEN_OBJECT_START, - JSON_TOKEN_OBJECT_KEY, - JSON_TOKEN_OBJECT_VALUE, - JSON_TOKEN_OBJECT_END, - JSON_TOKEN_VALUE, -}; - -typedef struct _JSON_VALUE -{ -} JSON_VALUE; - -typedef struct _JSON_READER -{ - CRITICAL_SECTION cs; - LPWSTR sczJson; - - LPWSTR pwz; - JSON_TOKEN token; -} JSON_READER; - -typedef struct _JSON_WRITER -{ - CRITICAL_SECTION cs; - LPWSTR sczJson; - - JSON_TOKEN* rgTokenStack; - DWORD cTokens; - DWORD cMaxTokens; -} JSON_WRITER; - - -DAPI_(HRESULT) JsonInitializeReader( - __in_z LPCWSTR wzJson, - __in JSON_READER* pReader - ); - -DAPI_(void) JsonUninitializeReader( - __in JSON_READER* pReader - ); - -DAPI_(HRESULT) JsonReadNext( - __in JSON_READER* pReader, - __out JSON_TOKEN* pToken, - __out JSON_VALUE* pValue - ); - -DAPI_(HRESULT) JsonReadValue( - __in JSON_READER* pReader, - __in JSON_VALUE* pValue - ); - -DAPI_(HRESULT) JsonInitializeWriter( - __in JSON_WRITER* pWriter - ); - -DAPI_(void) JsonUninitializeWriter( - __in JSON_WRITER* pWriter - ); - -DAPI_(HRESULT) JsonWriteBool( - __in JSON_WRITER* pWriter, - __in BOOL fValue - ); - -DAPI_(HRESULT) JsonWriteNumber( - __in JSON_WRITER* pWriter, - __in DWORD dwValue - ); - -DAPI_(HRESULT) JsonWriteString( - __in JSON_WRITER* pWriter, - __in_z LPCWSTR wzValue - ); - -DAPI_(HRESULT) JsonWriteArrayStart( - __in JSON_WRITER* pWriter - ); - -DAPI_(HRESULT) JsonWriteArrayEnd( - __in JSON_WRITER* pWriter - ); - -DAPI_(HRESULT) JsonWriteObjectStart( - __in JSON_WRITER* pWriter - ); - -DAPI_(HRESULT) JsonWriteObjectKey( - __in JSON_WRITER* pWriter, - __in_z LPCWSTR wzKey - ); - -DAPI_(HRESULT) JsonWriteObjectEnd( - __in JSON_WRITER* pWriter - ); - -#ifdef __cplusplus -} -#endif diff --git a/scripts/windows/installer/WiXSDK/inc/locutil.h b/scripts/windows/installer/WiXSDK/inc/locutil.h deleted file mode 100644 index 5046d5703b..0000000000 --- a/scripts/windows/installer/WiXSDK/inc/locutil.h +++ /dev/null @@ -1,120 +0,0 @@ -//------------------------------------------------------------------------------------------------- -// -// Copyright (c) 2004, Outercurve Foundation. -// This software is released under Microsoft Reciprocal License (MS-RL). -// The license and further copyright text can be found in the file -// LICENSE.TXT at the root directory of the distribution. -// -// -// -// Header for localization helper functions. -// -//------------------------------------------------------------------------------------------------- -#pragma once - -#ifdef __cplusplus -extern "C" { -#endif - -struct LOC_STRING -{ - LPWSTR wzId; - LPWSTR wzText; - BOOL bOverridable; -}; - -const int LOC_CONTROL_NOT_SET = INT_MAX; - -struct LOC_CONTROL -{ - LPWSTR wzControl; - int nX; - int nY; - int nWidth; - int nHeight; - LPWSTR wzText; -}; - -const int WIX_LOCALIZATION_LANGUAGE_NOT_SET = INT_MAX; - -struct WIX_LOCALIZATION -{ - DWORD dwLangId; - - DWORD cLocStrings; - LOC_STRING* rgLocStrings; - - DWORD cLocControls; - LOC_CONTROL* rgLocControls; -}; - -/******************************************************************** - LocProbeForFile - Searches for a localization file on disk. - -*******************************************************************/ -HRESULT DAPI LocProbeForFile( - __in_z LPCWSTR wzBasePath, - __in_z LPCWSTR wzLocFileName, - __in_z_opt LPCWSTR wzLanguage, - __inout LPWSTR* psczPath - ); - -/******************************************************************** - LocLoadFromFile - Loads a localization file - -*******************************************************************/ -HRESULT DAPI LocLoadFromFile( - __in_z LPCWSTR wzWxlFile, - __out WIX_LOCALIZATION** ppWixLoc - ); - -/******************************************************************** - LocLoadFromResource - loads a localization file from a module's data - resource. - - NOTE: The resource data must be UTF-8 encoded. -*******************************************************************/ -HRESULT DAPI LocLoadFromResource( - __in HMODULE hModule, - __in_z LPCSTR szResource, - __out WIX_LOCALIZATION** ppWixLoc - ); - -/******************************************************************** - LocFree - free memory allocated when loading a localization file - -*******************************************************************/ -void DAPI LocFree( - __in_opt WIX_LOCALIZATION* pWixLoc - ); - -/******************************************************************** - LocLocalizeString - replace any #(loc.id) in a string with the - correct sub string -*******************************************************************/ -HRESULT DAPI LocLocalizeString( - __in const WIX_LOCALIZATION* pWixLoc, - __inout LPWSTR* psczInput - ); - -/******************************************************************** - LocGetControl - returns a control's localization information -*******************************************************************/ -HRESULT DAPI LocGetControl( - __in const WIX_LOCALIZATION* pWixLoc, - __in_z LPCWSTR wzId, - __out LOC_CONTROL** ppLocControl - ); - -/******************************************************************** - LocGetString - returns a string's localization information -*******************************************************************/ -extern "C" HRESULT DAPI LocGetString( - __in const WIX_LOCALIZATION* pWixLoc, - __in_z LPCWSTR wzId, - __out LOC_STRING** ppLocString - ); - -#ifdef __cplusplus -} -#endif diff --git a/scripts/windows/installer/WiXSDK/inc/logutil.h b/scripts/windows/installer/WiXSDK/inc/logutil.h deleted file mode 100644 index 73ce81f7e1..0000000000 --- a/scripts/windows/installer/WiXSDK/inc/logutil.h +++ /dev/null @@ -1,210 +0,0 @@ -#pragma once -//------------------------------------------------------------------------------------------------- -// -// Copyright (c) 2004, Outercurve Foundation. -// This software is released under Microsoft Reciprocal License (MS-RL). -// The license and further copyright text can be found in the file -// LICENSE.TXT at the root directory of the distribution. -// -// -// -// Logging helper functions. -// -//------------------------------------------------------------------------------------------------- - -#ifdef __cplusplus -extern "C" { -#endif - -#define LogExitOnFailure(x, i, f) if (FAILED(x)) { LogErrorId(x, i, NULL, NULL, NULL); ExitTrace(x, f); goto LExit; } -#define LogExitOnFailure1(x, i, f, s) if (FAILED(x)) { LogErrorId(x, i, s, NULL, NULL); ExitTrace1(x, f, s); goto LExit; } -#define LogExitOnFailure2(x, i, f, s, t) if (FAILED(x)) { LogErrorId(x, i, s, t, NULL); ExitTrace2(x, f, s, t); goto LExit; } -#define LogExitOnFailure3(x, i, f, s, t, u) if (FAILED(x)) { LogErrorId(x, i, s, t, u); ExitTrace3(x, f, s, t, u); goto LExit; } - -#define LogExitOnRootFailure(x, i, f) if (FAILED(x)) { LogErrorId(x, i, NULL, NULL, NULL); Dutil_RootFailure(__FILE__, __LINE__, x); ExitTrace(x, f); goto LExit; } -#define LogExitOnRootFailure1(x, i, f, s) if (FAILED(x)) { LogErrorId(x, i, s, NULL, NULL); Dutil_RootFailure(__FILE__, __LINE__, x); ExitTrace1(x, f, s); goto LExit; } -#define LogExitOnRootFailure2(x, i, f, s, t) if (FAILED(x)) { LogErrorId(x, i, s, t, NULL); Dutil_RootFailure(__FILE__, __LINE__, x); ExitTrace2(x, f, s, t); goto LExit; } -#define LogExitOnRootFailure3(x, i, f, s, t, u) if (FAILED(x)) { LogErrorId(x, i, s, t, u); Dutil_RootFailure(__FILE__, __LINE__, x); ExitTrace3(x, f, s, t, u); goto LExit; } - -typedef HRESULT (DAPI *PFN_LOGSTRINGWORKRAW)( - __in_z LPCSTR szString, - __in_opt LPVOID pvContext - ); - -// enums - -// structs - -// functions -BOOL DAPI IsLogInitialized(); - -BOOL DAPI IsLogOpen(); - -void DAPI LogInitialize( - __in HMODULE hModule - ); - -HRESULT DAPI LogOpen( - __in_z_opt LPCWSTR wzDirectory, - __in_z LPCWSTR wzLog, - __in_z_opt LPCWSTR wzPostfix, - __in_z_opt LPCWSTR wzExt, - __in BOOL fAppend, - __in BOOL fHeader, - __out_z_opt LPWSTR* psczLogPath - ); - -void DAPI LogDisable(); - -void DAPI LogRedirect( - __in_opt PFN_LOGSTRINGWORKRAW vpfLogStringWorkRaw, - __in_opt LPVOID pvContext - ); - -HRESULT DAPI LogRename( - __in_z LPCWSTR wzNewPath - ); - -void DAPI LogClose( - __in BOOL fFooter - ); - -void DAPI LogUninitialize( - __in BOOL fFooter - ); - -BOOL DAPI LogIsOpen(); - -HRESULT DAPI LogSetSpecialParams( - __in_z_opt LPCWSTR wzSpecialBeginLine, - __in_z_opt LPCWSTR wzSpecialAfterTimeStamp, - __in_z_opt LPCWSTR wzSpecialEndLine - ); - -REPORT_LEVEL DAPI LogSetLevel( - __in REPORT_LEVEL rl, - __in BOOL fLogChange - ); - -REPORT_LEVEL DAPI LogGetLevel(); - -HRESULT DAPI LogGetPath( - __out_ecount_z(cchLogPath) LPWSTR pwzLogPath, - __in DWORD cchLogPath - ); - -HANDLE DAPI LogGetHandle(); - -HRESULT DAPIV LogString( - __in REPORT_LEVEL rl, - __in_z __format_string LPCSTR szFormat, - ... - ); - -HRESULT DAPI LogStringArgs( - __in REPORT_LEVEL rl, - __in_z __format_string LPCSTR szFormat, - __in va_list args - ); - -HRESULT DAPIV LogStringLine( - __in REPORT_LEVEL rl, - __in_z __format_string LPCSTR szFormat, - ... - ); - -HRESULT DAPI LogStringLineArgs( - __in REPORT_LEVEL rl, - __in_z __format_string LPCSTR szFormat, - __in va_list args - ); - -HRESULT DAPI LogIdModuleArgs( - __in REPORT_LEVEL rl, - __in DWORD dwLogId, - __in_opt HMODULE hModule, - __in va_list args - ); - -/* - * Wraps LogIdModuleArgs, so inline to save the function call - */ - -inline HRESULT LogId( - __in REPORT_LEVEL rl, - __in DWORD dwLogId, - ... - ) -{ - HRESULT hr = S_OK; - va_list args; - - va_start(args, dwLogId); - hr = LogIdModuleArgs(rl, dwLogId, NULL, args); - va_end(args); - - return hr; -} - - -/* - * Wraps LogIdModuleArgs, so inline to save the function call - */ - -inline HRESULT LogIdArgs( - __in REPORT_LEVEL rl, - __in DWORD dwLogId, - __in va_list args - ) -{ - return LogIdModuleArgs(rl, dwLogId, NULL, args); -} - -HRESULT DAPIV LogErrorString( - __in HRESULT hrError, - __in_z __format_string LPCSTR szFormat, - ... - ); - -HRESULT DAPI LogErrorStringArgs( - __in HRESULT hrError, - __in_z __format_string LPCSTR szFormat, - __in va_list args - ); - -HRESULT DAPI LogErrorIdModule( - __in HRESULT hrError, - __in DWORD dwLogId, - __in_opt HMODULE hModule, - __in_z_opt LPCWSTR wzString1, - __in_z_opt LPCWSTR wzString2, - __in_z_opt LPCWSTR wzString3 - ); - -inline HRESULT LogErrorId( - __in HRESULT hrError, - __in DWORD dwLogId, - __in_z_opt LPCWSTR wzString1, - __in_z_opt LPCWSTR wzString2, - __in_z_opt LPCWSTR wzString3 - ) -{ - return LogErrorIdModule(hrError, dwLogId, NULL, wzString1, wzString2, wzString3); -} - -HRESULT DAPI LogHeader(); - -HRESULT DAPI LogFooter(); - -HRESULT LogStringWorkRaw( - __in_z LPCSTR szLogData - ); - -// begin the switch of LogXXX to LogStringXXX -#define Log LogString -#define LogLine LogStringLine - -#ifdef __cplusplus -} -#endif - diff --git a/scripts/windows/installer/WiXSDK/inc/memutil.h b/scripts/windows/installer/WiXSDK/inc/memutil.h deleted file mode 100644 index d3dea7f8c9..0000000000 --- a/scripts/windows/installer/WiXSDK/inc/memutil.h +++ /dev/null @@ -1,59 +0,0 @@ -#pragma once -//------------------------------------------------------------------------------------------------- -// -// Copyright (c) 2004, Outercurve Foundation. -// This software is released under Microsoft Reciprocal License (MS-RL). -// The license and further copyright text can be found in the file -// LICENSE.TXT at the root directory of the distribution. -// -// -// -// Header for memory helper functions. -// -//------------------------------------------------------------------------------------------------- - -#ifdef __cplusplus -extern "C" { -#endif - -#define ReleaseMem(p) if (p) { MemFree(p); } -#define ReleaseNullMem(p) if (p) { MemFree(p); p = NULL; } - -HRESULT DAPI MemInitialize(); -void DAPI MemUninitialize(); - -LPVOID DAPI MemAlloc( - __in SIZE_T cbSize, - __in BOOL fZero - ); -LPVOID DAPI MemReAlloc( - __in LPVOID pv, - __in SIZE_T cbSize, - __in BOOL fZero - ); -HRESULT DAPI MemEnsureArraySize( - __deref_out_bcount(cArray * cbArrayType) LPVOID* ppvArray, - __in DWORD cArray, - __in SIZE_T cbArrayType, - __in DWORD dwGrowthCount - ); -HRESULT DAPI MemInsertIntoArray( - __deref_out_bcount((cExistingArray + cNumInsertItems) * cbArrayType) LPVOID* ppvArray, - __in DWORD dwInsertIndex, - __in DWORD cNumInsertItems, - __in DWORD cExistingArray, - __in SIZE_T cbArrayType, - __in DWORD dwGrowthCount - ); - -HRESULT DAPI MemFree( - __in LPVOID pv - ); -SIZE_T DAPI MemSize( - __in LPCVOID pv - ); - -#ifdef __cplusplus -} -#endif - diff --git a/scripts/windows/installer/WiXSDK/inc/metautil.h b/scripts/windows/installer/WiXSDK/inc/metautil.h deleted file mode 100644 index b4df17d33c..0000000000 --- a/scripts/windows/installer/WiXSDK/inc/metautil.h +++ /dev/null @@ -1,62 +0,0 @@ -#pragma once -//------------------------------------------------------------------------------------------------- -// -// Copyright (c) 2004, Outercurve Foundation. -// This software is released under Microsoft Reciprocal License (MS-RL). -// The license and further copyright text can be found in the file -// LICENSE.TXT at the root directory of the distribution. -// -// -// -// IIS Metabase helper functions. -// -//------------------------------------------------------------------------------------------------- - -#include -#include -#include -#include - -#ifdef __cplusplus -extern "C" { -#endif - -// structs - -// prototypes -HRESULT DAPI MetaFindWebBase( - __in IMSAdminBaseW* piMetabase, - __in_z LPCWSTR wzIP, - __in int iPort, - __in_z LPCWSTR wzHeader, - __in BOOL fSecure, - __out_ecount(cchWebBase) LPWSTR wzWebBase, - __in DWORD cchWebBase - ); -HRESULT DAPI MetaFindFreeWebBase( - __in IMSAdminBaseW* piMetabase, - __out_ecount(cchWebBase) LPWSTR wzWebBase, - __in DWORD cchWebBase - ); - -HRESULT DAPI MetaOpenKey( - __in IMSAdminBaseW* piMetabase, - __in METADATA_HANDLE mhKey, - __in_z LPCWSTR wzKey, - __in DWORD dwAccess, - __in DWORD cRetries, - __out METADATA_HANDLE* pmh - ); -HRESULT DAPI MetaGetValue( - __in IMSAdminBaseW* piMetabase, - __in METADATA_HANDLE mhKey, - __in_z LPCWSTR wzKey, - __inout METADATA_RECORD* pmr - ); -void DAPI MetaFreeValue( - __in METADATA_RECORD* pmr - ); - -#ifdef __cplusplus -} -#endif diff --git a/scripts/windows/installer/WiXSDK/inc/osutil.h b/scripts/windows/installer/WiXSDK/inc/osutil.h deleted file mode 100644 index b5de193814..0000000000 --- a/scripts/windows/installer/WiXSDK/inc/osutil.h +++ /dev/null @@ -1,49 +0,0 @@ -#pragma once -//------------------------------------------------------------------------------------------------- -// -// Copyright (c) 2004, Outercurve Foundation. -// This software is released under Microsoft Reciprocal License (MS-RL). -// The license and further copyright text can be found in the file -// LICENSE.TXT at the root directory of the distribution. -// -// -// -// Operating system helper functions. -// -//------------------------------------------------------------------------------------------------- - -#ifdef __cplusplus -extern "C" { -#endif - -enum OS_VERSION -{ - OS_VERSION_UNKNOWN, - OS_VERSION_WINNT, - OS_VERSION_WIN2000, - OS_VERSION_WINXP, - OS_VERSION_WIN2003, - OS_VERSION_VISTA, - OS_VERSION_WIN2008, - OS_VERSION_WIN7, - OS_VERSION_WIN2008_R2, - OS_VERSION_FUTURE -}; - -void DAPI OsGetVersion( - __out OS_VERSION* pVersion, - __out DWORD* pdwServicePack - ); -HRESULT DAPI OsCouldRunPrivileged( - __out BOOL* pfPrivileged - ); -HRESULT DAPI OsIsRunningPrivileged( - __out BOOL* pfPrivileged - ); -HRESULT DAPI OsIsUacEnabled( - __out BOOL* pfUacEnabled - ); - -#ifdef __cplusplus -} -#endif diff --git a/scripts/windows/installer/WiXSDK/inc/pathutil.h b/scripts/windows/installer/WiXSDK/inc/pathutil.h deleted file mode 100644 index 0956cd2596..0000000000 --- a/scripts/windows/installer/WiXSDK/inc/pathutil.h +++ /dev/null @@ -1,213 +0,0 @@ -#pragma once -//------------------------------------------------------------------------------------------------- -// -// Copyright (c) 2004, Outercurve Foundation. -// This software is released under Microsoft Reciprocal License (MS-RL). -// The license and further copyright text can be found in the file -// LICENSE.TXT at the root directory of the distribution. -// -// -// -// Header for path helper functions. -// -//------------------------------------------------------------------------------------------------- - -#ifdef __cplusplus -extern "C" { -#endif - -enum PATH_EXPAND -{ - PATH_EXPAND_ENVIRONMENT = 0x0001, - PATH_EXPAND_FULLPATH = 0x0002, -}; - - -/******************************************************************* - PathCommandLineAppend - appends a command line argument on to a - string such that ::CommandLineToArgv() will shred them correctly - (i.e. quote arguments with spaces in them). -********************************************************************/ -DAPI_(HRESULT) PathCommandLineAppend( - __deref_out_z LPWSTR* psczCommandLine, - __in_z LPCWSTR wzArgument - ); - -/******************************************************************* - PathFile - returns a pointer to the file part of the path. -********************************************************************/ -DAPI_(LPWSTR) PathFile( - __in_z LPCWSTR wzPath - ); - -/******************************************************************* - PathExtension - returns a pointer to the extension part of the path - (including the dot). -********************************************************************/ -DAPI_(LPCWSTR) PathExtension( - __in_z LPCWSTR wzPath - ); - -/******************************************************************* - PathGetDirectory - extracts the directory from a path. -********************************************************************/ -DAPI_(HRESULT) PathGetDirectory( - __in_z LPCWSTR wzPath, - __out LPWSTR *psczDirectory - ); - -/******************************************************************* - PathExpand - gets the full path to a file resolving environment - variables along the way. -********************************************************************/ -DAPI_(HRESULT) PathExpand( - __out LPWSTR *psczFullPath, - __in_z LPCWSTR wzRelativePath, - __in DWORD dwResolveFlags - ); - -/******************************************************************* - PathPrefix - prefixes a full path with \\?\ or \\?\UNC as - appropriate. -********************************************************************/ -DAPI_(HRESULT) PathPrefix( - __inout LPWSTR *psczFullPath - ); - -/******************************************************************* - PathFixedBackslashTerminate - appends a \ if path does not have it - already, but fails if the buffer is - insufficient. -********************************************************************/ -DAPI_(HRESULT) PathFixedBackslashTerminate( - __inout_ecount_z(cchPath) LPWSTR wzPath, - __in DWORD_PTR cchPath - ); - -/******************************************************************* - PathBackslashTerminate - appends a \ if path does not have it - already. -********************************************************************/ -DAPI_(HRESULT) PathBackslashTerminate( - __inout LPWSTR* psczPath - ); - -/******************************************************************* - PathForCurrentProcess - gets the full path to the currently executing - process or (optionally) a module inside the process. -********************************************************************/ -DAPI_(HRESULT) PathForCurrentProcess( - __inout LPWSTR *psczFullPath, - __in_opt HMODULE hModule - ); - -/******************************************************************* - PathRelativeToModule - gets the name of a file in the same - directory as the current process or (optionally) a module inside - the process -********************************************************************/ -DAPI_(HRESULT) PathRelativeToModule( - __inout LPWSTR *psczFullPath, - __in_opt LPCWSTR wzFileName, - __in_opt HMODULE hModule - ); - -/******************************************************************* - PathCreateTempFile - - Note: if wzDirectory is null, ::GetTempPath() will be used instead. - if wzFileNameTemplate is null, GetTempFileName() will be used instead. -*******************************************************************/ -DAPI_(HRESULT) PathCreateTempFile( - __in_opt LPCWSTR wzDirectory, - __in_opt __format_string LPCWSTR wzFileNameTemplate, - __in DWORD dwUniqueCount, - __in DWORD dwFileAttributes, - __out_opt LPWSTR* psczTempFile, - __out_opt HANDLE* phTempFile - ); - -/******************************************************************* - PathCreateTimeBasedTempFile - creates an empty temp file based on current - system time -********************************************************************/ -DAPI_(HRESULT) PathCreateTimeBasedTempFile( - __in_z_opt LPCWSTR wzDirectory, - __in_z LPCWSTR wzPrefix, - __in_z_opt LPCWSTR wzPostfix, - __in_z LPCWSTR wzExtension, - __deref_opt_out_z LPWSTR* psczTempFile, - __out_opt HANDLE* phTempFile - ); - -/******************************************************************* - PathCreateTempDirectory - - Note: if wzDirectory is null, ::GetTempPath() will be used instead. -*******************************************************************/ -DAPI_(HRESULT) PathCreateTempDirectory( - __in_opt LPCWSTR wzDirectory, - __in __format_string LPCWSTR wzDirectoryNameTemplate, - __in DWORD dwUniqueCount, - __out LPWSTR* psczTempDirectory - ); - -/******************************************************************* - PathGetKnownFolder - returns the path to a well-known shell folder - -*******************************************************************/ -DAPI_(HRESULT) PathGetKnownFolder( - __in int csidl, - __out LPWSTR* psczKnownFolder - ); - -/******************************************************************* - PathIsAbsolute - returns true if the path is absolute; false - otherwise. -*******************************************************************/ -DAPI_(BOOL) PathIsAbsolute( - __in_z LPCWSTR wzPath - ); - -/******************************************************************* - PathConcat - like .NET's Path.Combine, lets you build up a path - one piece -- file or directory -- at a time. -*******************************************************************/ -DAPI_(HRESULT) PathConcat( - __in_opt LPCWSTR wzPath1, - __in_opt LPCWSTR wzPath2, - __deref_out_z LPWSTR* psczCombined - ); - -/******************************************************************* - PathEnsureQuoted - ensures that a path is quoted; optionally, - this function also terminates a directory with a backslash - if it is not already. -*******************************************************************/ -DAPI_(HRESULT) PathEnsureQuoted( - __inout LPWSTR* ppszPath, - __in BOOL fDirectory - ); - -/******************************************************************* - PathCompare - compares the fully expanded path of the two paths using - ::CompareStringW(). -*******************************************************************/ -DAPI_(HRESULT) PathCompare( - __in_z LPCWSTR wzPath1, - __in_z LPCWSTR wzPath2, - __out int* pnResult - ); - -/******************************************************************* - PathCompress - sets the compression state on an existing file or - directory. A no-op on file systems that don't - support compression. -*******************************************************************/ -DAPI_(HRESULT) PathCompress( - __in_z LPCWSTR wzPath - ); - -#ifdef __cplusplus -} -#endif diff --git a/scripts/windows/installer/WiXSDK/inc/perfutil.h b/scripts/windows/installer/WiXSDK/inc/perfutil.h deleted file mode 100644 index 0245db351a..0000000000 --- a/scripts/windows/installer/WiXSDK/inc/perfutil.h +++ /dev/null @@ -1,34 +0,0 @@ -#pragma once -//------------------------------------------------------------------------------------------------- -// -// Copyright (c) 2004, Outercurve Foundation. -// This software is released under Microsoft Reciprocal License (MS-RL). -// The license and further copyright text can be found in the file -// LICENSE.TXT at the root directory of the distribution. -// -// -// -// Performance helper functions. -// -//------------------------------------------------------------------------------------------------- - -#ifdef __cplusplus -extern "C" { -#endif - -// structs - - -// functions -void DAPI PerfInitialize( - ); -void DAPI PerfClickTime( - __out_opt LARGE_INTEGER* pliElapsed - ); -double DAPI PerfConvertToSeconds( - __in const LARGE_INTEGER* pli - ); - -#ifdef __cplusplus -} -#endif diff --git a/scripts/windows/installer/WiXSDK/inc/polcutil.h b/scripts/windows/installer/WiXSDK/inc/polcutil.h deleted file mode 100644 index 95f2c4a735..0000000000 --- a/scripts/windows/installer/WiXSDK/inc/polcutil.h +++ /dev/null @@ -1,47 +0,0 @@ -#pragma once -//------------------------------------------------------------------------------------------------- -// -// Copyright (c) 2004, Outercurve Foundation. -// This software is released under Microsoft Reciprocal License (MS-RL). -// The license and further copyright text can be found in the file -// LICENSE.TXT at the root directory of the distribution. -// -// -// -// Header for Policy utility functions. -// -//------------------------------------------------------------------------------------------------- - -#ifdef __cplusplus -extern "C" { -#endif - -/******************************************************************** -PolcReadNumber - reads a number from policy. - -NOTE: S_FALSE returned if policy not set. -NOTE: out is set to default on S_FALSE or any error. -********************************************************************/ -HRESULT DAPI PolcReadNumber( - __in_z LPCWSTR wzPolicyPath, - __in_z LPCWSTR wzPolicyName, - __in DWORD dwDefault, - __out DWORD* pdw - ); - -/******************************************************************** -PolcReadString - reads a string from policy. - -NOTE: S_FALSE returned if policy not set. -NOTE: out is set to default on S_FALSE or any error. -********************************************************************/ -HRESULT DAPI PolcReadString( - __in_z LPCWSTR wzPolicyPath, - __in_z LPCWSTR wzPolicyName, - __in_z_opt LPCWSTR wzDefault, - __deref_out_z LPWSTR* pscz - ); - -#ifdef __cplusplus -} -#endif diff --git a/scripts/windows/installer/WiXSDK/inc/procutil.h b/scripts/windows/installer/WiXSDK/inc/procutil.h deleted file mode 100644 index 7b7e5a2d2a..0000000000 --- a/scripts/windows/installer/WiXSDK/inc/procutil.h +++ /dev/null @@ -1,85 +0,0 @@ -#pragma once -//------------------------------------------------------------------------------------------------- -// -// Copyright (c) 2004, Outercurve Foundation. -// This software is released under Microsoft Reciprocal License (MS-RL). -// The license and further copyright text can be found in the file -// LICENSE.TXT at the root directory of the distribution. -// -// -// -// Header for process helper functions. -// -//------------------------------------------------------------------------------------------------- - -#ifdef __cplusplus -extern "C" { -#endif - -// structs -typedef struct _PROC_FILESYSTEMREDIRECTION -{ - BOOL fDisabled; - LPVOID pvRevertState; -} PROC_FILESYSTEMREDIRECTION; - -HRESULT DAPI ProcElevated( - __in HANDLE hProcess, - __out BOOL* pfElevated - ); - -HRESULT DAPI ProcWow64( - __in HANDLE hProcess, - __out BOOL* pfWow64 - ); -HRESULT DAPI ProcDisableWowFileSystemRedirection( - __in PROC_FILESYSTEMREDIRECTION* pfsr - ); -HRESULT DAPI ProcRevertWowFileSystemRedirection( - __in PROC_FILESYSTEMREDIRECTION* pfsr - ); - -HRESULT DAPI ProcExec( - __in_z LPCWSTR wzExecutablePath, - __in_z_opt LPCWSTR wzCommandLine, - __in int nCmdShow, - __out HANDLE *phProcess - ); -HRESULT DAPI ProcExecute( - __in_z LPWSTR wzCommand, - __out HANDLE *phProcess, - __out_opt HANDLE *phChildStdIn, - __out_opt HANDLE *phChildStdOutErr - ); -HRESULT DAPI ProcWaitForCompletion( - __in HANDLE hProcess, - __in DWORD dwTimeout, - __out DWORD *pReturnCode - ); -HRESULT DAPI ProcWaitForIds( - __in_ecount(cProcessIds) const DWORD* pdwProcessIds, - __in DWORD cProcessIds, - __in DWORD dwMilliseconds - ); -HRESULT DAPI ProcCloseIds( - __in_ecount(cProcessIds) const DWORD* pdwProcessIds, - __in DWORD cProcessIds - ); - -// following code in proc2utl.cpp due to dependency on PSAPI.DLL. -HRESULT DAPI ProcFindAllIdsFromExeName( - __in_z LPCWSTR wzExeName, - __out DWORD** ppdwProcessIds, - __out DWORD* pcProcessIds - ); - -// following code in proc3utl.cpp due to dependency on Wtsapi32.DLL. -HRESULT DAPI ProcExecuteAsInteractiveUser( - __in_z LPCWSTR wzExecutablePath, - __in_z LPCWSTR wzCommand, - __out HANDLE *phProcess - ); - -#ifdef __cplusplus -} -#endif diff --git a/scripts/windows/installer/WiXSDK/inc/regutil.h b/scripts/windows/installer/WiXSDK/inc/regutil.h deleted file mode 100644 index 97d132fa0d..0000000000 --- a/scripts/windows/installer/WiXSDK/inc/regutil.h +++ /dev/null @@ -1,240 +0,0 @@ -//------------------------------------------------------------------------------------------------- -// -// Copyright (c) 2004, Outercurve Foundation. -// This software is released under Microsoft Reciprocal License (MS-RL). -// The license and further copyright text can be found in the file -// LICENSE.TXT at the root directory of the distribution. -// -// -// -// Registry helper functions. -// -//------------------------------------------------------------------------------------------------- - -#pragma once - - -#ifdef __cplusplus -extern "C" { -#endif - - -#define ReleaseRegKey(h) if (h) { ::RegCloseKey(h); h = NULL; } - -enum REG_KEY_BITNESS -{ - REG_KEY_DEFAULT = 0, - REG_KEY_32BIT = 1, - REG_KEY_64BIT = 2 -}; - -typedef LSTATUS (APIENTRY *PFN_REGCREATEKEYEXW)( - __in HKEY hKey, - __in LPCWSTR lpSubKey, - __reserved DWORD Reserved, - __in_opt LPWSTR lpClass, - __in DWORD dwOptions, - __in REGSAM samDesired, - __in_opt CONST LPSECURITY_ATTRIBUTES lpSecurityAttributes, - __out PHKEY phkResult, - __out_opt LPDWORD lpdwDisposition - ); -typedef LSTATUS (APIENTRY *PFN_REGOPENKEYEXW)( - __in HKEY hKey, - __in_opt LPCWSTR lpSubKey, - __reserved DWORD ulOptions, - __in REGSAM samDesired, - __out PHKEY phkResult - ); -typedef LSTATUS (APIENTRY *PFN_REGDELETEKEYEXW)( - __in HKEY hKey, - __in LPCWSTR lpSubKey, - __in REGSAM samDesired, - __reserved DWORD Reserved - ); -typedef LSTATUS (APIENTRY *PFN_REGDELETEKEYW)( - __in HKEY hKey, - __in LPCWSTR lpSubKey - ); -typedef LSTATUS (APIENTRY *PFN_REGENUMKEYEXW)( - __in HKEY hKey, - __in DWORD dwIndex, - __out LPWSTR lpName, - __inout LPDWORD lpcName, - __reserved LPDWORD lpReserved, - __inout LPWSTR lpClass, - __inout_opt LPDWORD lpcClass, - __out_opt PFILETIME lpftLastWriteTime - ); -typedef LSTATUS (APIENTRY *PFN_REGENUMVALUEW)( - __in HKEY hKey, - __in DWORD dwIndex, - __out LPWSTR lpValueName, - __inout LPDWORD lpcchValueName, - __reserved LPDWORD lpReserved, - __out_opt LPDWORD lpType, - __out_opt LPBYTE lpData, - __out_opt LPDWORD lpcbData - ); -typedef LSTATUS (APIENTRY *PFN_REGQUERYINFOKEYW)( - __in HKEY hKey, - __out LPWSTR lpClass, - __inout_opt LPDWORD lpcClass, - __reserved LPDWORD lpReserved, - __out_opt LPDWORD lpcSubKeys, - __out_opt LPDWORD lpcMaxSubKeyLen, - __out_opt LPDWORD lpcMaxClassLen, - __out_opt LPDWORD lpcValues, - __out_opt LPDWORD lpcMaxValueNameLen, - __out_opt LPDWORD lpcMaxValueLen, - __out_opt LPDWORD lpcbSecurityDescriptor, - __out_opt PFILETIME lpftLastWriteTime - ); -typedef LSTATUS (APIENTRY *PFN_REGQUERYVALUEEXW)( - __in HKEY hKey, - __in_opt LPCWSTR lpValueName, - __reserved LPDWORD lpReserved, - __out_opt LPDWORD lpType, - __out_bcount_part_opt(*lpcbData, *lpcbData) __out_data_source(REGISTRY) LPBYTE lpData, - __inout_opt LPDWORD lpcbData - ); -typedef LSTATUS (APIENTRY *PFN_REGSETVALUEEXW)( - __in HKEY hKey, - __in_opt LPCWSTR lpValueName, - __reserved DWORD Reserved, - __in DWORD dwType, - __in_bcount_opt(cbData) CONST BYTE* lpData, - __in DWORD cbData - ); -typedef LSTATUS (APIENTRY *PFN_REGDELETEVALUEW)( - __in HKEY hKey, - __in_opt LPCWSTR lpValueName - ); - -HRESULT DAPI RegInitialize(); -void DAPI RegUninitialize(); - -void DAPI RegFunctionOverride( - __in_opt PFN_REGCREATEKEYEXW pfnRegCreateKeyExW, - __in_opt PFN_REGOPENKEYEXW pfnRegOpenKeyExW, - __in_opt PFN_REGDELETEKEYEXW pfnRegDeleteKeyExW, - __in_opt PFN_REGENUMKEYEXW pfnRegEnumKeyExW, - __in_opt PFN_REGENUMVALUEW pfnRegEnumValueW, - __in_opt PFN_REGQUERYINFOKEYW pfnRegQueryInfoKeyW, - __in_opt PFN_REGQUERYVALUEEXW pfnRegQueryValueExW, - __in_opt PFN_REGSETVALUEEXW pfnRegSetValueExW, - __in_opt PFN_REGDELETEVALUEW pfnRegDeleteValueW - ); -HRESULT DAPI RegCreate( - __in HKEY hkRoot, - __in_z LPCWSTR wzSubKey, - __in DWORD dwAccess, - __out HKEY* phk - ); -HRESULT DAPI RegCreateEx( - __in HKEY hkRoot, - __in_z LPCWSTR wzSubKey, - __in DWORD dwAccess, - __in BOOL fVolatile, - __in_opt SECURITY_ATTRIBUTES* pSecurityAttributes, - __out HKEY* phk, - __out_opt BOOL* pfCreated - ); -HRESULT DAPI RegOpen( - __in HKEY hkRoot, - __in_z LPCWSTR wzSubKey, - __in DWORD dwAccess, - __out HKEY* phk - ); -HRESULT DAPI RegDelete( - __in HKEY hkRoot, - __in_z LPCWSTR wzSubKey, - __in REG_KEY_BITNESS kbKeyBitness, - __in BOOL fDeleteTree - ); -HRESULT DAPI RegKeyEnum( - __in HKEY hk, - __in DWORD dwIndex, - __deref_out_z LPWSTR* psczKey - ); -HRESULT DAPI RegValueEnum( - __in HKEY hk, - __in DWORD dwIndex, - __deref_out_z LPWSTR* psczName, - __out_opt DWORD *pdwType - ); -HRESULT DAPI RegReadBinary( - __in HKEY hk, - __in_z_opt LPCWSTR wzName, - __deref_out_bcount_opt(*pcbBuffer) BYTE** ppbBuffer, - __out SIZE_T *pcbBuffer - ); -HRESULT DAPI RegReadString( - __in HKEY hk, - __in_z_opt LPCWSTR wzName, - __deref_out_z LPWSTR* psczValue - ); -HRESULT DAPI RegReadStringArray( - __in HKEY hk, - __in_z_opt LPCWSTR wzName, - __deref_out_ecount_opt(pcStrings) LPWSTR** prgsczStrings, - __out DWORD *pcStrings - ); -HRESULT DAPI RegReadVersion( - __in HKEY hk, - __in_z_opt LPCWSTR wzName, - __out DWORD64* pdw64Version - ); -HRESULT DAPI RegReadNumber( - __in HKEY hk, - __in_z_opt LPCWSTR wzName, - __out DWORD* pdwValue - ); -HRESULT DAPI RegReadQword( - __in HKEY hk, - __in_z_opt LPCWSTR wzName, - __out DWORD64* pqwValue - ); -HRESULT DAPI RegWriteBinary( - __in HKEY hk, - __in_z_opt LPCWSTR wzName, - __in_bcount(cbBuffer) const BYTE *pbBuffer, - __in DWORD cbBuffer - ); -HRESULT DAPI RegWriteString( - __in HKEY hk, - __in_z_opt LPCWSTR wzName, - __in_z_opt LPCWSTR wzValue - ); -HRESULT DAPI RegWriteStringArray( - __in HKEY hk, - __in_z_opt LPCWSTR wzName, - __in_ecount(cValues) LPWSTR *rgwzStrings, - __in DWORD cStrings - ); -HRESULT DAPI RegWriteStringFormatted( - __in HKEY hk, - __in_z_opt LPCWSTR wzName, - __in __format_string LPCWSTR szFormat, - ... - ); -HRESULT DAPI RegWriteNumber( - __in HKEY hk, - __in_z_opt LPCWSTR wzName, - __in DWORD dwValue - ); -HRESULT DAPI RegWriteQword( - __in HKEY hk, - __in_z_opt LPCWSTR wzName, - __in DWORD64 qwValue - ); -HRESULT DAPI RegQueryKey( - __in HKEY hk, - __out_opt DWORD* pcSubKeys, - __out_opt DWORD* pcValues - ); - -#ifdef __cplusplus -} -#endif - diff --git a/scripts/windows/installer/WiXSDK/inc/resrutil.h b/scripts/windows/installer/WiXSDK/inc/resrutil.h deleted file mode 100644 index 9accf8e3a3..0000000000 --- a/scripts/windows/installer/WiXSDK/inc/resrutil.h +++ /dev/null @@ -1,55 +0,0 @@ -//------------------------------------------------------------------------------------------------- -// -// Copyright (c) 2004, Outercurve Foundation. -// This software is released under Microsoft Reciprocal License (MS-RL). -// The license and further copyright text can be found in the file -// LICENSE.TXT at the root directory of the distribution. -// -// -// -// Resource read helper functions. -// -//------------------------------------------------------------------------------------------------- - -#pragma once - - -#ifdef __cplusplus -extern "C" { -#endif - -HRESULT DAPI ResGetStringLangId( - __in_opt LPCWSTR wzPath, - __in UINT uID, - __out WORD *pwLangId - ); - -HRESULT DAPI ResReadString( - __in HINSTANCE hinst, - __in UINT uID, - __deref_out_z LPWSTR* ppwzString - ); - -HRESULT DAPI ResReadStringAnsi( - __in HINSTANCE hinst, - __in UINT uID, - __deref_out_z LPSTR* ppszString - ); - -HRESULT DAPI ResReadData( - __in_opt HINSTANCE hinst, - __in_z LPCSTR szDataName, - __deref_out_bcount(*pcb) PVOID *ppv, - __out DWORD *pcb - ); - -HRESULT DAPI ResExportDataToFile( - __in_z LPCSTR szDataName, - __in_z LPCWSTR wzTargetFile, - __in DWORD dwCreationDisposition - ); - -#ifdef __cplusplus -} -#endif - diff --git a/scripts/windows/installer/WiXSDK/inc/reswutil.h b/scripts/windows/installer/WiXSDK/inc/reswutil.h deleted file mode 100644 index e8933dfae6..0000000000 --- a/scripts/windows/installer/WiXSDK/inc/reswutil.h +++ /dev/null @@ -1,43 +0,0 @@ -//------------------------------------------------------------------------------------------------- -// -// Copyright (c) 2004, Outercurve Foundation. -// This software is released under Microsoft Reciprocal License (MS-RL). -// The license and further copyright text can be found in the file -// LICENSE.TXT at the root directory of the distribution. -// -// -// -// Resource writer helper functions. -// -//------------------------------------------------------------------------------------------------- - -#pragma once - - -#ifdef __cplusplus -extern "C" { -#endif - -HRESULT DAPI ResWriteString( - __in_z LPCWSTR wzResourceFile, - __in DWORD dwDataId, - __in_z LPCWSTR wzData, - __in WORD wLangId - ); - -HRESULT DAPI ResWriteData( - __in_z LPCWSTR wzResourceFile, - __in_z LPCSTR szDataName, - __in PVOID pData, - __in DWORD cbData - ); - -HRESULT DAPI ResImportDataFromFile( - __in_z LPCWSTR wzTargetFile, - __in_z LPCWSTR wzSourceFile, - __in_z LPCSTR szDataName - ); - -#ifdef __cplusplus -} -#endif diff --git a/scripts/windows/installer/WiXSDK/inc/rexutil.h b/scripts/windows/installer/WiXSDK/inc/rexutil.h deleted file mode 100644 index 771e0bae24..0000000000 --- a/scripts/windows/installer/WiXSDK/inc/rexutil.h +++ /dev/null @@ -1,64 +0,0 @@ -#pragma once -//------------------------------------------------------------------------------------------------- -// -// Copyright (c) 2004, Outercurve Foundation. -// This software is released under Microsoft Reciprocal License (MS-RL). -// The license and further copyright text can be found in the file -// LICENSE.TXT at the root directory of the distribution. -// -// -// -// Resource Cabinet Extract Utilities -// -//------------------------------------------------------------------------------------------------- - -#include -#include - -#ifdef __cplusplus -extern "C" { -#endif - -// defines -#define FILETABLESIZE 40 - -// structs -struct MEM_FILE -{ - LPCBYTE vpStart; - UINT uiCurrent; - UINT uiLength; -}; - -enum FAKE_FILE_TYPE { NORMAL_FILE, MEMORY_FILE }; - -typedef HRESULT (*REX_CALLBACK_PROGRESS)(BOOL fBeginFile, LPCWSTR wzFileId, LPVOID pvContext); -typedef VOID (*REX_CALLBACK_WRITE)(UINT cb); - - -struct FAKE_FILE // used __in internal file table -{ - BOOL fUsed; - FAKE_FILE_TYPE fftType; - MEM_FILE mfFile; // State for memory file - HANDLE hFile; // Handle for disk file -}; - -// functions -HRESULT RexInitialize(); -void RexUninitialize(); - -HRESULT RexExtract( - __in_z LPCSTR szResource, - __in_z LPCWSTR wzExtractId, - __in_z LPCWSTR wzExtractDir, - __in_z LPCWSTR wzExtractName, - __in REX_CALLBACK_PROGRESS pfnProgress, - __in REX_CALLBACK_WRITE pfnWrite, - __in LPVOID pvContext - ); - -#ifdef __cplusplus -} -#endif - diff --git a/scripts/windows/installer/WiXSDK/inc/rmutil.h b/scripts/windows/installer/WiXSDK/inc/rmutil.h deleted file mode 100644 index beec457d86..0000000000 --- a/scripts/windows/installer/WiXSDK/inc/rmutil.h +++ /dev/null @@ -1,56 +0,0 @@ -#pragma once -//------------------------------------------------------------------------------------------------- -// -// Copyright (c) 2004, Outercurve Foundation. -// This software is released under Microsoft Reciprocal License (MS-RL). -// The license and further copyright text can be found in the file -// LICENSE.TXT at the root directory of the distribution. -// -// -// -// Header for Restart Manager utility functions. -// -//------------------------------------------------------------------------------------------------- - -#ifdef __cplusplus -extern "C" { -#endif - -typedef struct _RMU_SESSION *PRMU_SESSION; - -HRESULT DAPI RmuJoinSession( - __out PRMU_SESSION *ppSession, - __in_z LPCWSTR wzSessionKey - ); - -HRESULT DAPI RmuAddFile( - __in PRMU_SESSION pSession, - __in_z LPCWSTR wzPath - ); - -HRESULT DAPI RmuAddProcessById( - __in PRMU_SESSION pSession, - __in DWORD dwProcessId - ); - -HRESULT DAPI RmuAddProcessesByName( - __in PRMU_SESSION pSession, - __in_z LPCWSTR wzProcessName - ); - -HRESULT DAPI RmuAddService( - __in PRMU_SESSION pSession, - __in_z LPCWSTR wzServiceName - ); - -HRESULT DAPI RmuRegisterResources( - __in PRMU_SESSION pSession - ); - -HRESULT DAPI RmuEndSession( - __in PRMU_SESSION pSession - ); - -#ifdef __cplusplus -} -#endif diff --git a/scripts/windows/installer/WiXSDK/inc/rssutil.h b/scripts/windows/installer/WiXSDK/inc/rssutil.h deleted file mode 100644 index 9df757c7f8..0000000000 --- a/scripts/windows/installer/WiXSDK/inc/rssutil.h +++ /dev/null @@ -1,101 +0,0 @@ -//------------------------------------------------------------------------------------------------- -// -// Copyright (c) 2004, Outercurve Foundation. -// This software is released under Microsoft Reciprocal License (MS-RL). -// The license and further copyright text can be found in the file -// LICENSE.TXT at the root directory of the distribution. -// -// -// -// RSS helper functions. -// -//------------------------------------------------------------------------------------------------- - -#pragma once - - -#ifdef __cplusplus -extern "C" { -#endif - -#define ReleaseRssChannel(p) if (p) { RssFreeChannel(p); } -#define ReleaseNullRssChannel(p) if (p) { RssFreeChannel(p); p = NULL; } - - -struct RSS_UNKNOWN_ATTRIBUTE -{ - LPWSTR wzNamespace; - LPWSTR wzAttribute; - LPWSTR wzValue; - - RSS_UNKNOWN_ATTRIBUTE* pNext; -}; - -struct RSS_UNKNOWN_ELEMENT -{ - LPWSTR wzNamespace; - LPWSTR wzElement; - LPWSTR wzValue; - - RSS_UNKNOWN_ATTRIBUTE* pAttributes; - RSS_UNKNOWN_ELEMENT* pNext; -}; - -struct RSS_ITEM -{ - LPWSTR wzTitle; - LPWSTR wzLink; - LPWSTR wzDescription; - - LPWSTR wzGuid; - FILETIME ftPublished; - - LPWSTR wzEnclosureUrl; - DWORD dwEnclosureSize; - LPWSTR wzEnclosureType; - - RSS_UNKNOWN_ELEMENT* pUnknownElements; -}; - -struct RSS_CHANNEL -{ - LPWSTR wzTitle; - LPWSTR wzLink; - LPWSTR wzDescription; - DWORD dwTimeToLive; - - RSS_UNKNOWN_ELEMENT* pUnknownElements; - - DWORD cItems; - RSS_ITEM rgItems[1]; -}; - -HRESULT DAPI RssInitialize( - ); - -void DAPI RssUninitialize( - ); - -HRESULT DAPI RssParseFromString( - __in_z LPCWSTR wzRssString, - __out RSS_CHANNEL **ppChannel - ); - -HRESULT DAPI RssParseFromFile( - __in_z LPCWSTR wzRssFile, - __out RSS_CHANNEL **ppChannel - ); - -// Adding this until we have the updated specstrings.h -#ifndef __in_xcount -#define __in_xcount(size) -#endif - -void DAPI RssFreeChannel( - __in_xcount(pChannel->cItems) RSS_CHANNEL *pChannel - ); - -#ifdef __cplusplus -} -#endif - diff --git a/scripts/windows/installer/WiXSDK/inc/sceutil.h b/scripts/windows/installer/WiXSDK/inc/sceutil.h deleted file mode 100644 index 9a3fd52099..0000000000 --- a/scripts/windows/installer/WiXSDK/inc/sceutil.h +++ /dev/null @@ -1,271 +0,0 @@ -#pragma once -//------------------------------------------------------------------------------------------------- -// -// Copyright (c) 2004, Outercurve Foundation. -// This software is released under Microsoft Reciprocal License (MS-RL). -// The license and further copyright text can be found in the file -// LICENSE.TXT at the root directory of the distribution. -// -// -// -// Header for SQL Compact Edition helper functions. -// -//------------------------------------------------------------------------------------------------- - -#ifdef __cplusplus -extern "C" { -#endif - -#include -#include -#include - -typedef void* SCE_DATABASE_HANDLE; -typedef void* SCE_ROW_HANDLE; -typedef void* SCE_QUERY_HANDLE; -typedef void* SCE_QUERY_RESULTS_HANDLE; - -extern const int SCE_ROW_HANDLE_BYTES; -extern const int SCE_QUERY_HANDLE_BYTES; -extern const int SCE_QUERY_RESULTS_HANDLE_BYTES; - -#define ReleaseSceRow(prrh) if (prrh) { SceFreeRow(prrh); } -#define ReleaseNullSceRow(prrh) if (prrh) { SceFreeRow(prrh); prrh = NULL; } -#define ReleaseSceQuery(pqh) if (pqh) { SceFreeQuery(pqh); } -#define ReleaseNullSceQuery(pqh) if (pqh) { SceFreeQuery(pqh); pqh = NULL; } -#define ReleaseSceQueryResults(pqh) if (pqh) { SceFreeQueryResults(pqh); } -#define ReleaseNullSceQueryResults(pqh) if (pqh) { SceFreeQueryResults(pqh); pqh = NULL; } - -struct SCE_COLUMN_SCHEMA -{ - LPCWSTR wzName; - DBTYPE dbtColumnType; - DWORD dwLength; - BOOL fPrimaryKey; // If this column is the primary key - BOOL fNullable; - BOOL fAutoIncrement; - - LPWSTR wzRelationName; - DWORD dwForeignKeyTable; - DWORD dwForeignKeyColumn; -}; - -struct SCE_INDEX_SCHEMA -{ - LPWSTR wzName; - - DWORD *rgColumns; - DWORD cColumns; -}; - -struct SCE_TABLE_SCHEMA -{ - LPCWSTR wzName; - DWORD cColumns; - SCE_COLUMN_SCHEMA *rgColumns; - - DWORD cIndexes; - SCE_INDEX_SCHEMA *rgIndexes; - - // Internal to SCEUtil - consumers shouldn't access or modify - // TODO: enforce / hide in a handle of some sort? - IRowset *pIRowset; - IRowsetChange *pIRowsetChange; -}; - -struct SCE_DATABASE_SCHEMA -{ - DWORD cTables; - SCE_TABLE_SCHEMA *rgTables; -}; - -struct SCE_DATABASE -{ - SCE_DATABASE_HANDLE sdbHandle; - SCE_DATABASE_SCHEMA *pdsSchema; -}; - -HRESULT DAPI SceCreateDatabase( - __in_z LPCWSTR sczFile, - __deref_out SCE_DATABASE **ppDatabase - ); -HRESULT DAPI SceOpenDatabase( - __in_z LPCWSTR sczFile, - __in LPCWSTR wzSchemaType, - __in DWORD dwExpectedVersion, - __deref_out SCE_DATABASE **ppDatabase, - __in BOOL fReadOnly - ); -HRESULT DAPI SceEnsureDatabase( - __in_z LPCWSTR sczFile, - __in LPCWSTR wzSchemaType, - __in DWORD dwExpectedVersion, - __in SCE_DATABASE_SCHEMA *pdsSchema, - __deref_out SCE_DATABASE **ppDatabase - ); -HRESULT DAPI SceIsTableEmpty( - __in SCE_DATABASE *pDatabase, - __in DWORD dwTableIndex, - __out BOOL *pfEmpty - ); -HRESULT DAPI SceGetFirstRow( - __in SCE_DATABASE *pDatabase, - __in DWORD dwTableIndex, - __deref_out_bcount(SCE_ROW_HANDLE_BYTES) SCE_ROW_HANDLE *pRowHandle - ); -HRESULT DAPI SceGetNextRow( - __in SCE_DATABASE *pDatabase, - __in DWORD dwTableIndex, - __deref_out_bcount(SCE_ROW_HANDLE_BYTES) SCE_ROW_HANDLE *pRowHandle - ); -HRESULT DAPI SceBeginTransaction( - __in SCE_DATABASE *pDatabase - ); -HRESULT DAPI SceCommitTransaction( - __in SCE_DATABASE *pDatabase - ); -HRESULT DAPI SceRollbackTransaction( - __in SCE_DATABASE *pDatabase - ); -HRESULT DAPI SceDeleteRow( - __in_bcount(SCE_ROW_HANDLE_BYTES) SCE_ROW_HANDLE *pRowHandle - ); -HRESULT DAPI ScePrepareInsert( - __in SCE_DATABASE *pDatabase, - __in DWORD dwTableIndex, - __deref_out_bcount(SCE_ROW_HANDLE_BYTES) SCE_ROW_HANDLE *pRowHandle - ); -HRESULT DAPI SceFinishUpdate( - __in_bcount(SCE_ROW_HANDLE_BYTES) SCE_ROW_HANDLE rowHandle - ); -HRESULT DAPI SceSetColumnBinary( - __in_bcount(SCE_ROW_HANDLE_BYTES) SCE_ROW_HANDLE rowHandle, - __in DWORD dwColumnIndex, - __in_bcount(cbBuffer) const BYTE* pbBuffer, - __in SIZE_T cbBuffer - ); -HRESULT DAPI SceSetColumnDword( - __in_bcount(SCE_ROW_HANDLE_BYTES) SCE_ROW_HANDLE rowHandle, - __in DWORD dwColumnIndex, - __in const DWORD dwValue - ); -HRESULT DAPI SceSetColumnQword( - __in_bcount(SCE_ROW_HANDLE_BYTES) SCE_ROW_HANDLE rowHandle, - __in DWORD dwColumnIndex, - __in const DWORD64 qwValue - ); -HRESULT DAPI SceSetColumnBool( - __in_bcount(SCE_ROW_HANDLE_BYTES) SCE_ROW_HANDLE rowHandle, - __in DWORD dwColumnIndex, - __in const BOOL fValue - ); -HRESULT DAPI SceSetColumnString( - __in_bcount(SCE_ROW_HANDLE_BYTES) SCE_ROW_HANDLE rowHandle, - __in DWORD dwColumnIndex, - __in_z_opt LPCWSTR wzValue - ); -HRESULT DAPI SceSetColumnSystemTime( - __in_bcount(SCE_ROW_HANDLE_BYTES) SCE_ROW_HANDLE rowHandle, - __in DWORD dwColumnIndex, - __in const SYSTEMTIME *pst - ); -HRESULT DAPI SceSetColumnEmpty( - __in_bcount(SCE_ROW_HANDLE_BYTES) SCE_ROW_HANDLE rowHandle, - __in DWORD dwColumnIndex - ); -HRESULT DAPI SceGetColumnBinary( - __in_bcount(SCE_ROW_HANDLE_BYTES) SCE_ROW_HANDLE rowReadHandle, - __in DWORD dwColumnIndex, - __out_opt BYTE **ppbBuffer, - __inout SIZE_T *pcbBuffer - ); -HRESULT DAPI SceGetColumnDword( - __in_bcount(SCE_ROW_HANDLE_BYTES) SCE_ROW_HANDLE rowReadHandle, - __in DWORD dwColumnIndex, - __out DWORD *pdwValue - ); -HRESULT DAPI SceGetColumnQword( - __in_bcount(SCE_ROW_HANDLE_BYTES) SCE_ROW_HANDLE rowReadHandle, - __in DWORD dwColumnIndex, - __out DWORD64 *pqwValue - ); -HRESULT DAPI SceGetColumnBool( - __in_bcount(SCE_ROW_HANDLE_BYTES) SCE_ROW_HANDLE rowReadHandle, - __in DWORD dwColumnIndex, - __out BOOL *pfValue - ); -HRESULT DAPI SceGetColumnString( - __in_bcount(SCE_ROW_HANDLE_BYTES) SCE_ROW_HANDLE rowReadHandle, - __in DWORD dwColumnIndex, - __out_z LPWSTR *psczValue - ); -HRESULT DAPI SceGetColumnSystemTime( - __in_bcount(SCE_ROW_HANDLE_BYTES) SCE_ROW_HANDLE rowReadHandle, - __in DWORD dwColumnIndex, - __out SYSTEMTIME *pst - ); -HRESULT DAPI SceBeginQuery( - __in SCE_DATABASE *pDatabase, - __in DWORD dwTableIndex, - __in DWORD dwIndex, - __deref_out_bcount(SCE_QUERY_HANDLE_BYTES) SCE_QUERY_HANDLE *psqhHandle - ); -HRESULT DAPI SceSetQueryColumnBinary( - __in_bcount(SCE_QUERY_BYTES) SCE_QUERY_HANDLE sqhHandle, - __in_bcount(cbBuffer) const BYTE* pbBuffer, - __in SIZE_T cbBuffer - ); -HRESULT DAPI SceSetQueryColumnDword( - __in_bcount(SCE_QUERY_BYTES) SCE_QUERY_HANDLE sqhHandle, - __in const DWORD dwValue - ); -HRESULT DAPI SceSetQueryColumnQword( - __in_bcount(SCE_QUERY_BYTES) SCE_QUERY_HANDLE sqhHandle, - __in const DWORD64 qwValue - ); -HRESULT DAPI SceSetQueryColumnBool( - __in_bcount(SCE_QUERY_BYTES) SCE_QUERY_HANDLE sqhHandle, - __in const BOOL fValue - ); -HRESULT DAPI SceSetQueryColumnString( - __in_bcount(SCE_QUERY_BYTES) SCE_QUERY_HANDLE sqhHandle, - __in_z_opt LPCWSTR wzString - ); -HRESULT DAPI SceSetQueryColumnSystemTime( - __in_bcount(SCE_ROW_HANDLE_BYTES) SCE_ROW_HANDLE rowHandle, - __in const SYSTEMTIME *pst - ); -HRESULT DAPI SceSetQueryColumnEmpty( - __in_bcount(SCE_QUERY_BYTES) SCE_QUERY_HANDLE sqhHandle - ); -HRESULT DAPI SceRunQueryExact( - __in_bcount(SCE_QUERY_BYTES) SCE_QUERY_HANDLE *psqhHandle, - __deref_out_bcount(SCE_ROW_HANDLE_BYTES) SCE_ROW_HANDLE *pRowHandle - ); -HRESULT DAPI SceRunQueryRange( - __in_bcount(SCE_QUERY_BYTES) SCE_QUERY_HANDLE *psqhHandle, - __deref_out_bcount(SCE_QUERY_RESULTS_BYTES) SCE_QUERY_RESULTS_HANDLE *psqrhHandle - ); -HRESULT DAPI SceGetNextResultRow( - __in_bcount(SCE_QUERY_RESULTS_BYTES) SCE_QUERY_RESULTS_HANDLE sqrhHandle, - __deref_out_bcount(SCE_ROW_HANDLE_BYTES) SCE_ROW_HANDLE *pRowHandle - ); -void DAPI SceCloseTable( - __in SCE_TABLE_SCHEMA *pTable - ); -HRESULT DAPI SceCloseDatabase( - __in SCE_DATABASE *pDatabase - ); -void DAPI SceFreeRow( - __in_bcount(SCE_ROW_HANDLE_BYTES) SCE_ROW_HANDLE rowReadHandle - ); -void DAPI SceFreeQuery( - __in_bcount(SCE_QUERY_BYTES) SCE_QUERY_HANDLE sqhHandle - ); -void DAPI SceFreeQueryResults( - __in_bcount(SCE_QUERY_RESULTS_BYTES) SCE_QUERY_RESULTS_HANDLE sqrhHandle - ); - -#ifdef __cplusplus -} -#endif diff --git a/scripts/windows/installer/WiXSDK/inc/shelutil.h b/scripts/windows/installer/WiXSDK/inc/shelutil.h deleted file mode 100644 index 462dcacbbe..0000000000 --- a/scripts/windows/installer/WiXSDK/inc/shelutil.h +++ /dev/null @@ -1,57 +0,0 @@ -#pragma once -//------------------------------------------------------------------------------------------------- -// -// Copyright (c) 2004, Outercurve Foundation. -// This software is released under Microsoft Reciprocal License (MS-RL). -// The license and further copyright text can be found in the file -// LICENSE.TXT at the root directory of the distribution. -// -// -// -// Header for shell helper functions. -// -//------------------------------------------------------------------------------------------------- - -#ifndef REFKNOWNFOLDERID -#define REFKNOWNFOLDERID REFGUID -#endif - -#ifdef __cplusplus -extern "C" { -#endif - -typedef BOOL (STDAPICALLTYPE *PFN_SHELLEXECUTEEXW)( - __inout LPSHELLEXECUTEINFOW lpExecInfo - ); - -void DAPI ShelFunctionOverride( - __in_opt PFN_SHELLEXECUTEEXW pfnShellExecuteExW - ); -HRESULT DAPI ShelExec( - __in_z LPCWSTR wzTargetPath, - __in_opt LPCWSTR wzParameters, - __in_opt LPCWSTR wzVerb, - __in_opt LPCWSTR wzWorkingDirectory, - __in int nShowCmd, - __in_opt HWND hwndParent, - __out_opt HANDLE* phProcess - ); -HRESULT DAPI ShelExecUnelevated( - __in_z LPCWSTR wzTargetPath, - __in_z_opt LPCWSTR wzParameters, - __in_z_opt LPCWSTR wzVerb, - __in_z_opt LPCWSTR wzWorkingDirectory, - __in int nShowCmd - ); -HRESULT DAPI ShelGetFolder( - __out_z LPWSTR* psczFolderPath, - __in int csidlFolder - ); -HRESULT DAPI ShelGetKnownFolder( - __out_z LPWSTR* psczFolderPath, - __in REFKNOWNFOLDERID rfidFolder - ); - -#ifdef __cplusplus -} -#endif diff --git a/scripts/windows/installer/WiXSDK/inc/sqlutil.h b/scripts/windows/installer/WiXSDK/inc/sqlutil.h deleted file mode 100644 index eadcb31c61..0000000000 --- a/scripts/windows/installer/WiXSDK/inc/sqlutil.h +++ /dev/null @@ -1,146 +0,0 @@ -#pragma once -//------------------------------------------------------------------------------------------------- -// -// Copyright (c) 2004, Outercurve Foundation. -// This software is released under Microsoft Reciprocal License (MS-RL). -// The license and further copyright text can be found in the file -// LICENSE.TXT at the root directory of the distribution. -// -// -// -// SQL helper functions. -// -//------------------------------------------------------------------------------------------------- - -#include -#include -#include - - -#ifdef __cplusplus -extern "C" { -#endif - -// Adding this until the SQL annotations are published to specstrings.h -#ifndef __sql_command -#define __sql_command -#endif - -// structs -struct SQL_FILESPEC -{ - WCHAR wzName[MAX_PATH]; - WCHAR wzFilename[MAX_PATH]; - WCHAR wzSize[MAX_PATH]; - WCHAR wzMaxSize[MAX_PATH]; - WCHAR wzGrow[MAX_PATH]; -}; - - -// functions -HRESULT DAPI SqlConnectDatabase( - __in_z LPCWSTR wzServer, - __in_z LPCWSTR wzInstance, - __in_z LPCWSTR wzDatabase, - __in BOOL fIntegratedAuth, - __in_z LPCWSTR wzUser, - __in_z LPCWSTR wzPassword, - __out IDBCreateSession** ppidbSession - ); -HRESULT DAPI SqlStartTransaction( - __in IDBCreateSession* pidbSession, - __out IDBCreateCommand** ppidbCommand, - __out ITransaction** ppit - ); -HRESULT DAPI SqlEndTransaction( - __in ITransaction* pit, - __in BOOL fCommit - ); -HRESULT DAPI SqlDatabaseExists( - __in_z LPCWSTR wzServer, - __in_z LPCWSTR wzInstance, - __in_z LPCWSTR wzDatabase, - __in BOOL fIntegratedAuth, - __in_z LPCWSTR wzUser, - __in_z LPCWSTR wzPassword, - __out_opt BSTR* pbstrErrorDescription - ); -HRESULT DAPI SqlSessionDatabaseExists( - __in IDBCreateSession* pidbSession, - __in_z LPCWSTR wzDatabase, - __out_opt BSTR* pbstrErrorDescription - ); -HRESULT DAPI SqlDatabaseEnsureExists( - __in_z LPCWSTR wzServer, - __in_z LPCWSTR wzInstance, - __in_z LPCWSTR wzDatabase, - __in BOOL fIntegratedAuth, - __in_z LPCWSTR wzUser, - __in_z LPCWSTR wzPassword, - __in_opt const SQL_FILESPEC* psfDatabase, - __in_opt const SQL_FILESPEC* psfLog, - __out_opt BSTR* pbstrErrorDescription - ); -HRESULT DAPI SqlSessionDatabaseEnsureExists( - __in IDBCreateSession* pidbSession, - __in_z LPCWSTR wzDatabase, - __in_opt const SQL_FILESPEC* psfDatabase, - __in_opt const SQL_FILESPEC* psfLog, - __out_opt BSTR* pbstrErrorDescription - ); -HRESULT DAPI SqlCreateDatabase( - __in_z LPCWSTR wzServer, - __in_z LPCWSTR wzInstance, - __in_z LPCWSTR wzDatabase, - __in BOOL fIntegratedAuth, - __in_z LPCWSTR wzUser, - __in_z LPCWSTR wzPassword, - __in_opt const SQL_FILESPEC* psfDatabase, - __in_opt const SQL_FILESPEC* psfLog, - __out_opt BSTR* pbstrErrorDescription - ); -HRESULT DAPI SqlSessionCreateDatabase( - __in IDBCreateSession* pidbSession, - __in_z LPCWSTR wzDatabase, - __in_opt const SQL_FILESPEC* psfDatabase, - __in_opt const SQL_FILESPEC* psfLog, - __out_opt BSTR* pbstrErrorDescription - ); -HRESULT DAPI SqlDropDatabase( - __in_z LPCWSTR wzServer, - __in_z LPCWSTR wzInstance, - __in_z LPCWSTR wzDatabase, - __in BOOL fIntegratedAuth, - __in_z LPCWSTR wzUser, - __in_z LPCWSTR wzPassword, - __out_opt BSTR* pbstrErrorDescription - ); -HRESULT DAPI SqlSessionDropDatabase( - __in IDBCreateSession* pidbSession, - __in_z LPCWSTR wzDatabase, - __out_opt BSTR* pbstrErrorDescription - ); -HRESULT DAPI SqlSessionExecuteQuery( - __in IDBCreateSession* pidbSession, - __in __sql_command LPCWSTR wzSql, - __out_opt IRowset** ppirs, - __out_opt DBROWCOUNT* pcRows, - __out_opt BSTR* pbstrErrorDescription - ); -HRESULT DAPI SqlCommandExecuteQuery( - __in IDBCreateCommand* pidbCommand, - __in __sql_command LPCWSTR wzSql, - __out IRowset** ppirs, - __out DBROWCOUNT* pcRows - ); -HRESULT DAPI SqlGetErrorInfo( - __in IUnknown* pObjectWithError, - __in REFIID IID_InterfaceWithError, - __in DWORD dwLocaleId, - __out_opt BSTR* pbstrErrorSource, - __out_opt BSTR* pbstrErrorDescription - ); - -#ifdef __cplusplus -} -#endif diff --git a/scripts/windows/installer/WiXSDK/inc/srputil.h b/scripts/windows/installer/WiXSDK/inc/srputil.h deleted file mode 100644 index 952b2470f1..0000000000 --- a/scripts/windows/installer/WiXSDK/inc/srputil.h +++ /dev/null @@ -1,57 +0,0 @@ -//------------------------------------------------------------------------------------------------- -// -// Copyright (c) 2004, Outercurve Foundation. -// This software is released under Microsoft Reciprocal License (MS-RL). -// The license and further copyright text can be found in the file -// LICENSE.TXT at the root directory of the distribution. -// -// -// -// System restore point helper functions. -// -//------------------------------------------------------------------------------------------------- - -#pragma once - - -#ifdef __cplusplus -extern "C" { -#endif - - -enum SRP_ACTION -{ - SRP_ACTION_UNKNOWN, - SRP_ACTION_UNINSTALL, - SRP_ACTION_INSTALL, - SRP_ACTION_MODIFY, -}; - - -/******************************************************************** - SrpInitialize - initializes system restore point functionality. - -*******************************************************************/ -DAPI_(HRESULT) SrpInitialize( - __in BOOL fInitializeComSecurity - ); - -/******************************************************************** - SrpUninitialize - uninitializes system restore point functionality. - -*******************************************************************/ -DAPI_(void) SrpUninitialize(); - -/******************************************************************** - SrpCreateRestorePoint - creates a system restore point. - -*******************************************************************/ -DAPI_(HRESULT) SrpCreateRestorePoint( - __in_z LPCWSTR wzApplicationName, - __in SRP_ACTION action - ); - -#ifdef __cplusplus -} -#endif - diff --git a/scripts/windows/installer/WiXSDK/inc/strutil.h b/scripts/windows/installer/WiXSDK/inc/strutil.h deleted file mode 100644 index e8dc1acba9..0000000000 --- a/scripts/windows/installer/WiXSDK/inc/strutil.h +++ /dev/null @@ -1,279 +0,0 @@ -#pragma once -//------------------------------------------------------------------------------------------------- -// -// Copyright (c) 2004, Outercurve Foundation. -// This software is released under Microsoft Reciprocal License (MS-RL). -// The license and further copyright text can be found in the file -// LICENSE.TXT at the root directory of the distribution. -// -// -// -// Header for string helper functions. -// -//------------------------------------------------------------------------------------------------- - -#ifdef __cplusplus -extern "C" { -#endif - -#define ReleaseStr(pwz) if (pwz) { StrFree(pwz); } -#define ReleaseNullStr(pwz) if (pwz) { StrFree(pwz); pwz = NULL; } -#define ReleaseBSTR(bstr) if (bstr) { ::SysFreeString(bstr); } -#define ReleaseNullBSTR(bstr) if (bstr) { ::SysFreeString(bstr); bstr = NULL; } -#define ReleaseStrArray(rg, c) { if (rg) { StrArrayFree(rg, c); } } -#define ReleaseNullStrArray(rg, c) { if (rg) { StrArrayFree(rg, c); c = 0; rg = NULL; } } - -#define DeclareConstBSTR(bstr_const, wz) const WCHAR bstr_const[] = { 0x00, 0x00, sizeof(wz)-sizeof(WCHAR), 0x00, wz } -#define UseConstBSTR(bstr_const) const_cast(bstr_const + 4) - -HRESULT DAPI StrAlloc( - __deref_out_ecount_part(cch, 0) LPWSTR* ppwz, - __in DWORD_PTR cch - ); -HRESULT DAPI StrTrimCapacity( - __deref_out_z LPWSTR* ppwz - ); -HRESULT DAPI StrTrimWhitespace( - __deref_out_z LPWSTR* ppwz, - __in_z LPCWSTR wzSource - ); -HRESULT DAPI StrAnsiAlloc( - __deref_out_ecount_part(cch, 0) LPSTR* ppz, - __in DWORD_PTR cch - ); -HRESULT DAPI StrAnsiTrimCapacity( - __deref_out_z LPSTR* ppz - ); -HRESULT DAPI StrAnsiTrimWhitespace( - __deref_out_z LPSTR* ppz, - __in_z LPCSTR szSource - ); -HRESULT DAPI StrAllocString( - __deref_out_ecount_z(cchSource+1) LPWSTR* ppwz, - __in_z LPCWSTR wzSource, - __in DWORD_PTR cchSource - ); -HRESULT DAPI StrAnsiAllocString( - __deref_out_ecount_z(cchSource+1) LPSTR* ppsz, - __in_z LPCWSTR wzSource, - __in DWORD_PTR cchSource, - __in UINT uiCodepage - ); -HRESULT DAPI StrAllocStringAnsi( - __deref_out_ecount_z(cchSource+1) LPWSTR* ppwz, - __in_z LPCSTR szSource, - __in DWORD_PTR cchSource, - __in UINT uiCodepage - ); -HRESULT DAPI StrAnsiAllocStringAnsi( - __deref_out_ecount_z(cchSource+1) LPSTR* ppsz, - __in_z LPCSTR szSource, - __in DWORD_PTR cchSource - ); -HRESULT DAPI StrAllocPrefix( - __deref_out_z LPWSTR* ppwz, - __in_z LPCWSTR wzPrefix, - __in DWORD_PTR cchPrefix - ); -HRESULT DAPI StrAllocConcat( - __deref_out_z LPWSTR* ppwz, - __in_z LPCWSTR wzSource, - __in DWORD_PTR cchSource - ); -HRESULT DAPI StrAnsiAllocConcat( - __deref_out_z LPSTR* ppz, - __in_z LPCSTR pzSource, - __in DWORD_PTR cchSource - ); -HRESULT __cdecl StrAllocFormatted( - __deref_out_z LPWSTR* ppwz, - __in __format_string LPCWSTR wzFormat, - ... - ); -HRESULT __cdecl StrAnsiAllocFormatted( - __deref_out_z LPSTR* ppsz, - __in __format_string LPCSTR szFormat, - ... - ); -HRESULT DAPI StrAllocFormattedArgs( - __deref_out_z LPWSTR* ppwz, - __in __format_string LPCWSTR wzFormat, - __in va_list args - ); -HRESULT DAPI StrAnsiAllocFormattedArgs( - __deref_out_z LPSTR* ppsz, - __in __format_string LPCSTR szFormat, - __in va_list args - ); -HRESULT DAPI StrAllocFromError( - __inout LPWSTR *ppwzMessage, - __in HRESULT hrError, - __in_opt HMODULE hModule, - ... - ); - -HRESULT DAPI StrMaxLength( - __in LPCVOID p, - __out DWORD_PTR* pcch - ); -HRESULT DAPI StrSize( - __in LPCVOID p, - __out DWORD_PTR* pcb - ); - -HRESULT DAPI StrFree( - __in LPVOID p - ); - - -HRESULT DAPI StrReplaceStringAll( - __inout LPWSTR* ppwzOriginal, - __in_z LPCWSTR wzOldSubString, - __in_z LPCWSTR wzNewSubString - ); -HRESULT DAPI StrReplaceString( - __inout LPWSTR* ppwzOriginal, - __inout DWORD* pdwStartIndex, - __in_z LPCWSTR wzOldSubString, - __in_z LPCWSTR wzNewSubString - ); - -HRESULT DAPI StrHexEncode( - __in_ecount(cbSource) const BYTE* pbSource, - __in DWORD_PTR cbSource, - __out_ecount(cchDest) LPWSTR wzDest, - __in DWORD_PTR cchDest - ); -HRESULT DAPI StrHexDecode( - __in_z LPCWSTR wzSource, - __out_bcount(cbDest) BYTE* pbDest, - __in DWORD_PTR cbDest - ); -HRESULT DAPI StrAllocHexDecode( - __in_z LPCWSTR wzSource, - __out_bcount(*pcbDest) BYTE** ppbDest, - __out_opt DWORD* pcbDest - ); - -HRESULT DAPI StrAllocBase85Encode( - __in_bcount_opt(cbSource) const BYTE* pbSource, - __in DWORD_PTR cbSource, - __deref_out_z LPWSTR* pwzDest - ); -HRESULT DAPI StrAllocBase85Decode( - __in_z LPCWSTR wzSource, - __deref_out_bcount(*pcbDest) BYTE** hbDest, - __out DWORD_PTR* pcbDest - ); - -HRESULT DAPI MultiSzLen( - __in_ecount(*pcch) __nullnullterminated LPCWSTR pwzMultiSz, - __out DWORD_PTR* pcch - ); -HRESULT DAPI MultiSzPrepend( - __deref_inout_ecount(*pcchMultiSz) __nullnullterminated LPWSTR* ppwzMultiSz, - __inout_opt DWORD_PTR *pcchMultiSz, - __in __nullnullterminated LPCWSTR pwzInsert - ); -HRESULT DAPI MultiSzFindSubstring( - __in __nullnullterminated LPCWSTR pwzMultiSz, - __in __nullnullterminated LPCWSTR pwzSubstring, - __out_opt DWORD_PTR* pdwIndex, - __deref_opt_out_z LPCWSTR* ppwzFoundIn - ); -HRESULT DAPI MultiSzFindString( - __in __nullnullterminated LPCWSTR pwzMultiSz, - __in __nullnullterminated LPCWSTR pwzString, - __out_opt DWORD_PTR* pdwIndex, - __deref_opt_out __nullnullterminated LPCWSTR* ppwzFound - ); -HRESULT DAPI MultiSzRemoveString( - __deref_inout __nullnullterminated LPWSTR* ppwzMultiSz, - __in DWORD_PTR dwIndex - ); -HRESULT DAPI MultiSzInsertString( - __deref_inout_z LPWSTR* ppwzMultiSz, - __inout_opt DWORD_PTR *pcchMultiSz, - __in DWORD_PTR dwIndex, - __in_z LPCWSTR pwzInsert - ); -HRESULT DAPI MultiSzReplaceString( - __deref_inout __nullnullterminated LPWSTR* ppwzMultiSz, - __in DWORD_PTR dwIndex, - __in_z LPCWSTR pwzString - ); - -LPCWSTR wcsistr( - __in_z LPCWSTR wzString, - __in_z LPCWSTR wzCharSet - ); - -HRESULT DAPI StrStringToInt16( - __in_z LPCWSTR wzIn, - __in DWORD cchIn, - __out SHORT* psOut - ); -HRESULT DAPI StrStringToUInt16( - __in_z LPCWSTR wzIn, - __in DWORD cchIn, - __out USHORT* pusOut - ); -HRESULT DAPI StrStringToInt32( - __in_z LPCWSTR wzIn, - __in DWORD cchIn, - __out INT* piOut - ); -HRESULT DAPI StrStringToUInt32( - __in_z LPCWSTR wzIn, - __in DWORD cchIn, - __out UINT* puiOut - ); -HRESULT DAPI StrStringToInt64( - __in_z LPCWSTR wzIn, - __in DWORD cchIn, - __out LONGLONG* pllOut - ); -HRESULT DAPI StrStringToUInt64( - __in_z LPCWSTR wzIn, - __in DWORD cchIn, - __out ULONGLONG* pullOut - ); -void DAPI StrStringToUpper( - __inout_z LPWSTR wzIn - ); -void DAPI StrStringToLower( - __inout_z LPWSTR wzIn - ); -HRESULT DAPI StrAllocStringToUpperInvariant( - __deref_out_z LPWSTR* pscz, - __in_z LPCWSTR wzSource, - __in int cchSource - ); -HRESULT DAPI StrAllocStringToLowerInvariant( - __deref_out_z LPWSTR* pscz, - __in_z LPCWSTR wzSource, - __in int cchSource - ); - -HRESULT DAPI StrArrayAllocString( - __deref_inout_ecount_opt(*pcStrArray) LPWSTR **prgsczStrArray, - __inout LPUINT pcStrArray, - __in_z LPCWSTR wzSource, - __in DWORD_PTR cchSource - ); - -HRESULT DAPI StrArrayFree( - __in_ecount(cStrArray) LPWSTR *rgsczStrArray, - __in UINT cStrArray - ); - -HRESULT DAPI StrSplitAllocArray( - __deref_inout_ecount_opt(*pcStrArray) LPWSTR **prgsczStrArray, - __inout LPUINT pcStrArray, - __in_z LPCWSTR wzSource, - __in_z LPCWSTR wzDelim - ); - -#ifdef __cplusplus -} -#endif diff --git a/scripts/windows/installer/WiXSDK/inc/svcutil.h b/scripts/windows/installer/WiXSDK/inc/svcutil.h deleted file mode 100644 index d7d87ffb7f..0000000000 --- a/scripts/windows/installer/WiXSDK/inc/svcutil.h +++ /dev/null @@ -1,31 +0,0 @@ -#pragma once -//------------------------------------------------------------------------------------------------- -// -// Copyright (c) 2004, Outercurve Foundation. -// This software is released under Microsoft Reciprocal License (MS-RL). -// The license and further copyright text can be found in the file -// LICENSE.TXT at the root directory of the distribution. -// -// -// -// Header for Windows service helper functions. -// -//------------------------------------------------------------------------------------------------- - -#ifdef __cplusplus -extern "C" { -#endif - - -#define ReleaseServiceHandle(h) if (h) { ::CloseServiceHandle(h); h = NULL; } - - -HRESULT DAPI SvcQueryConfig( - __in SC_HANDLE sch, - __out QUERY_SERVICE_CONFIGW** ppConfig - ); - - -#ifdef __cplusplus -} -#endif diff --git a/scripts/windows/installer/WiXSDK/inc/thmutil.h b/scripts/windows/installer/WiXSDK/inc/thmutil.h deleted file mode 100644 index 4ef2814429..0000000000 --- a/scripts/windows/installer/WiXSDK/inc/thmutil.h +++ /dev/null @@ -1,559 +0,0 @@ -#pragma once -//------------------------------------------------------------------------------------------------- -// -// Copyright (c) 2004, Outercurve Foundation. -// This software is released under Microsoft Reciprocal License (MS-RL). -// The license and further copyright text can be found in the file -// LICENSE.TXT at the root directory of the distribution. -// -// -// -// Theme helper functions. -// -//------------------------------------------------------------------------------------------------- - -#ifdef __cplusplus -extern "C" { -#endif - -#define ReleaseTheme(p) if (p) { ThemeFree(p); p = NULL; } - -enum THEME_CONTROL_DATA -{ - THEME_CONTROL_DATA_HOVER = 1, -}; - -enum THEME_CONTROL_TYPE -{ - THEME_CONTROL_TYPE_UNKNOWN, - THEME_CONTROL_TYPE_BILLBOARD, - THEME_CONTROL_TYPE_BUTTON, - THEME_CONTROL_TYPE_CHECKBOX, - THEME_CONTROL_TYPE_EDITBOX, - THEME_CONTROL_TYPE_HYPERLINK, - THEME_CONTROL_TYPE_HYPERTEXT, - THEME_CONTROL_TYPE_IMAGE, - THEME_CONTROL_TYPE_PROGRESSBAR, - THEME_CONTROL_TYPE_RICHEDIT, - THEME_CONTROL_TYPE_STATIC, - THEME_CONTROL_TYPE_TEXT, - THEME_CONTROL_TYPE_LISTVIEW, - THEME_CONTROL_TYPE_TREEVIEW, - THEME_CONTROL_TYPE_TAB, -}; - - -struct THEME_BILLBOARD -{ - HBITMAP hImage; - LPWSTR sczUrl; -}; - - -struct THEME_COLUMN -{ - LPWSTR pszName; - UINT uStringId; - int nWidth; -}; - - -struct THEME_TAB -{ - LPWSTR pszName; - UINT uStringId; -}; - -// THEME_ASSIGN_CONTROL_ID - Used to apply a specific id to a named control (usually -// to set the WM_COMMAND). -struct THEME_ASSIGN_CONTROL_ID -{ - WORD wId; // id to apply to control - LPCWSTR wzName; // name of control to match -}; - -const DWORD THEME_FIRST_ASSIGN_CONTROL_ID = 1024; // Recommended first control id to be assigned. - -struct THEME_CONTROL -{ - THEME_CONTROL_TYPE type; - - WORD wId; - WORD wPageId; - - LPWSTR sczName; // optional name for control, only used to apply control id. - LPWSTR sczText; - int nX; - int nY; - int nHeight; - int nWidth; - int nSourceX; - int nSourceY; - UINT uStringId; - - HBITMAP hImage; - - // Don't free these; it's just a handle to the central image lists stored in THEME. The handle is freed once, there. - HIMAGELIST rghImageList[4]; - - DWORD dwStyle; - DWORD dwExtendedStyle; - DWORD dwInternalStyle; - - DWORD dwFontId; - DWORD dwFontHoverId; - DWORD dwFontSelectedId; - - // Used by billboard controls - THEME_BILLBOARD* ptbBillboards; - DWORD cBillboards; - WORD wBillboardInterval; - WORD wBillboardUrls; - BOOL fBillboardLoops; - - // Used by listview controls - THEME_COLUMN *ptcColumns; - DWORD cColumns; - - // Used by tab controls - THEME_TAB *pttTabs; - DWORD cTabs; - - // state variables that should be ignored - HWND hWnd; - DWORD dwData; // type specific data -}; - - -struct THEME_IMAGELIST -{ - LPWSTR sczName; - - HIMAGELIST hImageList; -}; - -struct THEME_PAGE -{ - WORD wId; - LPWSTR sczName; - - DWORD cControlIndices; - DWORD* rgdwControlIndices; -}; - -struct THEME_FONT -{ - HFONT hFont; - COLORREF crForeground; - HBRUSH hForeground; - COLORREF crBackground; - HBRUSH hBackground; -}; - - -struct THEME -{ - WORD wId; - - DWORD dwStyle; - DWORD dwFontId; - HANDLE hIcon; - LPWSTR sczCaption; - int nHeight; - int nWidth; - int nSourceX; - int nSourceY; - UINT uStringId; - - HBITMAP hImage; - - DWORD cFonts; - THEME_FONT* rgFonts; - - DWORD cPages; - THEME_PAGE* rgPages; - - DWORD cImageLists; - THEME_IMAGELIST* rgImageLists; - - DWORD cControls; - THEME_CONTROL* rgControls; - - // state variables that should be ignored - HWND hwndParent; // parent for loaded controls - HWND hwndHover; // current hwnd hovered over -}; - - -/******************************************************************** - ThemeInitialize - initialized theme management. - -*******************************************************************/ -DAPI_(HRESULT) ThemeInitialize( - __in_opt HMODULE hModule - ); - -/******************************************************************** - ThemeUninitialize - unitialize theme management. - -*******************************************************************/ -DAPI_(void) ThemeUninitialize(); - -/******************************************************************** - ThemeLoadFromFile - loads a theme from a loose file. - - *******************************************************************/ -DAPI_(HRESULT) ThemeLoadFromFile( - __in_z LPCWSTR wzThemeFile, - __out THEME** ppTheme - ); - -/******************************************************************** - ThemeLoadFromResource - loads a theme from a module's data resource. - - NOTE: The resource data must be UTF-8 encoded. -*******************************************************************/ -DAPI_(HRESULT) ThemeLoadFromResource( - __in_opt HMODULE hModule, - __in_z LPCSTR szResource, - __out THEME** ppTheme - ); - -/******************************************************************** - ThemeFree - frees any memory associated with a theme. - -*******************************************************************/ -DAPI_(void) ThemeFree( - __in THEME* pTheme - ); - -/******************************************************************** - ThemeLoadControls - creates the windows for all the theme controls. - -*******************************************************************/ -DAPI_(HRESULT) ThemeLoadControls( - __in THEME* pTheme, - __in HWND hwndParent, - __in_ecount_opt(cAssignControlIds) const THEME_ASSIGN_CONTROL_ID* rgAssignControlIds, - __in DWORD cAssignControlIds - ); - -/******************************************************************** - ThemeUnloadControls - resets all the theme control windows so the theme - controls can be reloaded. - -*******************************************************************/ -DAPI_(void) ThemeUnloadControls( - __in THEME* pTheme - ); - -/******************************************************************** - ThemeLocalize - Localizes all of the strings in the them. - -*******************************************************************/ -DAPI_(HRESULT) ThemeLocalize( - __in THEME *pTheme, - __in const WIX_LOCALIZATION *pLocStringSet - ); - -DAPI_(HRESULT) ThemeLoadStrings( - __in THEME* pTheme, - __in HMODULE hResModule - ); - -/******************************************************************** - ThemeLoadRichEditFromFile - Attach a richedit control to a RTF file. - - *******************************************************************/ -DAPI_(HRESULT) ThemeLoadRichEditFromFile( - __in THEME* pTheme, - __in DWORD dwControl, - __in_z LPCWSTR wzFileName, - __in HMODULE hModule - ); - -/******************************************************************** - ThemeLoadRichEditFromResource - Attach a richedit control to resource data. - - *******************************************************************/ -DAPI_(HRESULT) ThemeLoadRichEditFromResource( - __in THEME* pTheme, - __in DWORD dwControl, - __in_z LPCSTR szResourceName, - __in HMODULE hModule - ); - -/******************************************************************** - ThemeLoadRichEditFromResourceToHWnd - Attach a richedit control (by - HWND) to resource data. - - *******************************************************************/ -DAPI_(HRESULT) ThemeLoadRichEditFromResourceToHWnd( - __in HWND hWnd, - __in_z LPCSTR szResourceName, - __in HMODULE hModule - ); - -/******************************************************************** - ThemeHandleKeyboardMessage - will translate the message using the active - accelerator table. - -*******************************************************************/ -DAPI_(BOOL) ThemeHandleKeyboardMessage( - __in_opt THEME* pTheme, - __in HWND hWnd, - __in MSG* pMsg - ); - -/******************************************************************** - ThemeDefWindowProc - replacement for DefWindowProc() when using theme. - -*******************************************************************/ -LRESULT CALLBACK ThemeDefWindowProc( - __in_opt THEME* pTheme, - __in HWND hWnd, - __in UINT uMsg, - __in WPARAM wParam, - __in LPARAM lParam - ); - -/******************************************************************** - ThemeGetPageIds - gets the page ids for the theme via page names. - -*******************************************************************/ -DAPI_(void) ThemeGetPageIds( - __in const THEME* pTheme, - __in_ecount(cGetPages) LPCWSTR* rgwzFindNames, - __in_ecount(cGetPages) DWORD* rgdwPageIds, - __in DWORD cGetPages - ); - -/******************************************************************** - ThemeGetPage - gets a theme page by id. - - *******************************************************************/ -DAPI_(THEME_PAGE*) ThemeGetPage( - __in const THEME* pTheme, - __in DWORD dwPage - ); - -/******************************************************************** - ThemeShowPage - shows or hides all of the controls in the page at one time. - - *******************************************************************/ -DAPI_(void) ThemeShowPage( - __in THEME* pTheme, - __in DWORD dwPage, - __in int nCmdShow - ); - -/******************************************************************** - ThemeControlExists - check if a control with the specified id exists. - - *******************************************************************/ -DAPI_(BOOL) ThemeControlExists( - __in THEME* pTheme, - __in DWORD dwControl - ); - -/******************************************************************** - ThemeControlEnable - enables/disables a control. - - *******************************************************************/ -DAPI_(void) ThemeControlEnable( - __in THEME* pTheme, - __in DWORD dwControl, - __in BOOL fEnable - ); - -/******************************************************************** - ThemeControlEnabled - returns whether a control is enabled/disabled. - - *******************************************************************/ -DAPI_(BOOL) ThemeControlEnabled( - __in THEME* pTheme, - __in DWORD dwControl - ); - -/******************************************************************** - ThemeControlElevates - sets/removes the shield icon on a control. - - *******************************************************************/ -DAPI_(void) ThemeControlElevates( - __in THEME* pTheme, - __in DWORD dwControl, - __in BOOL fElevates - ); - -/******************************************************************** - ThemeShowControl - shows/hides a control. - - *******************************************************************/ -DAPI_(void) ThemeShowControl( - __in THEME* pTheme, - __in DWORD dwControl, - __in int nCmdShow - ); - -/******************************************************************** - ThemeControlVisible - returns whether a control is visible. - - *******************************************************************/ -DAPI_(BOOL) ThemeControlVisible( - __in THEME* pTheme, - __in DWORD dwControl - ); - -DAPI_(BOOL) ThemePostControlMessage( - __in THEME* pTheme, - __in DWORD dwControl, - __in UINT Msg, - __in WPARAM wParam, - __in LPARAM lParam - ); - -DAPI_(LRESULT) ThemeSendControlMessage( - __in THEME* pTheme, - __in DWORD dwControl, - __in UINT Msg, - __in WPARAM wParam, - __in LPARAM lParam - ); - -/******************************************************************** - ThemeDrawBackground - draws the theme background. - -*******************************************************************/ -DAPI_(HRESULT) ThemeDrawBackground( - __in THEME* pTheme, - __in PAINTSTRUCT* pps - ); - -/******************************************************************** - ThemeDrawControl - draw an owner drawn control. - -*******************************************************************/ -DAPI_(HRESULT) ThemeDrawControl( - __in THEME* pTheme, - __in DRAWITEMSTRUCT* pdis - ); - -/******************************************************************** - ThemeHoverControl - mark a control as hover. - -*******************************************************************/ -DAPI_(BOOL) ThemeHoverControl( - __in THEME* pTheme, - __in HWND hwndParent, - __in HWND hwndControl - ); - -/******************************************************************** - ThemeIsControlChecked - gets whether a control is checked. Only - really useful for checkbox controls. - -*******************************************************************/ -DAPI_(BOOL) ThemeIsControlChecked( - __in THEME* pTheme, - __in DWORD dwControl - ); - -/******************************************************************** - ThemeSetControlColor - sets the color of text for a control. - -*******************************************************************/ -DAPI_(BOOL) ThemeSetControlColor( - __in THEME* pTheme, - __in HDC hdc, - __in HWND hWnd, - __out HBRUSH* phBackgroundBrush - ); - -/******************************************************************** - ThemeStartBillboard - starts a billboard control changing images according - to their interval. - - NOTE: iImage specifies the image to start on. If iImage is - greater than the number of images, the last image shown - will be the start image. -*******************************************************************/ -DAPI_(HRESULT) ThemeStartBillboard( - __in const THEME* pTheme, - __in DWORD dwControl, - __in WORD iImage - ); - -/******************************************************************** - ThemeStopBillboard - stops a billboard control from changing images. - -*******************************************************************/ -DAPI_(HRESULT) ThemeStopBillboard( - __in const THEME* pTheme, - __in DWORD dwControl - ); - -/******************************************************************** - ThemeSetProgressControl - sets the current percentage complete in a - progress bar control. - -*******************************************************************/ -DAPI_(HRESULT) ThemeSetProgressControl( - __in THEME* pTheme, - __in DWORD dwControl, - __in DWORD dwProgressPercentage - ); - -/******************************************************************** - ThemeSetProgressControlColor - sets the current color of a - progress bar control. - -*******************************************************************/ -DAPI_(HRESULT) ThemeSetProgressControlColor( - __in THEME* pTheme, - __in DWORD dwControl, - __in DWORD dwColorIndex - ); - -/******************************************************************** - ThemeSetTextControl - sets the text of a control. - -*******************************************************************/ -DAPI_(HRESULT) ThemeSetTextControl( - __in THEME* pTheme, - __in DWORD dwControl, - __in_z LPCWSTR wzText - ); - -/******************************************************************** - ThemeGetTextControl - gets the text of a control. - -*******************************************************************/ -DAPI_(HRESULT) ThemeGetTextControl( - __in const THEME* pTheme, - __in DWORD dwControl, - __out LPWSTR* psczText - ); - -/******************************************************************** - ThemeUpdateCaption - updates the caption in the theme. - -*******************************************************************/ -DAPI_(HRESULT) ThemeUpdateCaption( - __in THEME* pTheme, - __in_z LPCWSTR wzCaption - ); - -/******************************************************************** - ThemeSetFocus - set the focus to the control supplied or the next - enabled control if it is disabled. - -*******************************************************************/ -DAPI_(void) ThemeSetFocus( - __in THEME* pTheme, - __in DWORD dwControl - ); - -#ifdef __cplusplus -} -#endif - diff --git a/scripts/windows/installer/WiXSDK/inc/timeutil.h b/scripts/windows/installer/WiXSDK/inc/timeutil.h deleted file mode 100644 index b5f4eabd79..0000000000 --- a/scripts/windows/installer/WiXSDK/inc/timeutil.h +++ /dev/null @@ -1,45 +0,0 @@ -#pragma once -//------------------------------------------------------------------------------------------------- -// -// Copyright (c) 2004, Outercurve Foundation. -// This software is released under Microsoft Reciprocal License (MS-RL). -// The license and further copyright text can be found in the file -// LICENSE.TXT at the root directory of the distribution. -// -// -// -// Time helper functions. -// -//------------------------------------------------------------------------------------------------- - - -#ifdef __cplusplus -extern "C" { -#endif - -HRESULT DAPI TimeFromString( - __in_z LPCWSTR wzTime, - __out FILETIME* pFileTime - ); -HRESULT DAPI TimeFromString3339( - __in_z LPCWSTR wzTime, - __out FILETIME* pFileTime - ); -HRESULT DAPI TimeCurrentTime( - __deref_out_z LPWSTR* ppwz, - __in BOOL fGMT - ); -HRESULT DAPI TimeCurrentDateTime( - __deref_out_z LPWSTR* ppwz, - __in BOOL fGMT - ); -HRESULT DAPI TimeSystemDateTime( - __deref_out_z LPWSTR* ppwz, - __in const SYSTEMTIME *pst, - __in BOOL fGMT - ); - -#ifdef __cplusplus -} -#endif - diff --git a/scripts/windows/installer/WiXSDK/inc/uriutil.h b/scripts/windows/installer/WiXSDK/inc/uriutil.h deleted file mode 100644 index 08079f2da8..0000000000 --- a/scripts/windows/installer/WiXSDK/inc/uriutil.h +++ /dev/null @@ -1,111 +0,0 @@ -//------------------------------------------------------------------------------------------------- -// -// Copyright (c) 2004, Outercurve Foundation. -// This software is released under Microsoft Reciprocal License (MS-RL). -// The license and further copyright text can be found in the file -// LICENSE.TXT at the root directory of the distribution. -// -// -// -// URI helper functions. -// -//------------------------------------------------------------------------------------------------- - -#pragma once - -#include "wininet.h" - - -#ifdef __cplusplus -extern "C" { -#endif - -enum URI_PROTOCOL -{ - URI_PROTOCOL_UNKNOWN, - URI_PROTOCOL_FILE, - URI_PROTOCOL_FTP, - URI_PROTOCOL_HTTP, - URI_PROTOCOL_HTTPS, - URI_PROTOCOL_LOCAL, - URI_PROTOCOL_UNC -}; - -typedef struct _URI_INFO -{ - INTERNET_SCHEME scheme; - LPWSTR sczHostName; - INTERNET_PORT port; - LPWSTR sczUser; - LPWSTR sczPassword; - LPWSTR sczPath; - LPWSTR sczQueryString; -} URI_INFO; - - -HRESULT DAPI UriCanonicalize( - __inout_z LPWSTR* psczUri - ); - -HRESULT DAPI UriCrack( - __in_z LPCWSTR wzUri, - __out_opt INTERNET_SCHEME* pScheme, - __deref_opt_out_z LPWSTR* psczHostName, - __out_opt INTERNET_PORT* pPort, - __deref_opt_out_z LPWSTR* psczUser, - __deref_opt_out_z LPWSTR* psczPassword, - __deref_opt_out_z LPWSTR* psczPath, - __deref_opt_out_z LPWSTR* psczQueryString - ); - -HRESULT DAPI UriCrackEx( - __in_z LPCWSTR wzUri, - __in URI_INFO* pUriInfo - ); - -void DAPI UriInfoUninitialize( - __in URI_INFO* pUriInfo - ); - -HRESULT DAPI UriCreate( - __inout_z LPWSTR* psczUri, - __in INTERNET_SCHEME scheme, - __in_z_opt LPWSTR wzHostName, - __in INTERNET_PORT port, - __in_z_opt LPWSTR wzUser, - __in_z_opt LPWSTR wzPassword, - __in_z_opt LPWSTR wzPath, - __in_z_opt LPWSTR wzQueryString - ); - -HRESULT DAPI UriCanonicalize( - __inout_z LPWSTR* psczUri - ); - -HRESULT DAPI UriFile( - __deref_out_z LPWSTR* psczFile, - __in_z LPCWSTR wzUri - ); - -HRESULT DAPI UriProtocol( - __in_z LPCWSTR wzUri, - __out URI_PROTOCOL* pProtocol - ); - -HRESULT DAPI UriRoot( - __in_z LPCWSTR wzUri, - __out LPWSTR* ppwzRoot, - __out_opt URI_PROTOCOL* pProtocol - ); - -HRESULT DAPI UriResolve( - __in_z LPCWSTR wzUri, - __in_opt LPCWSTR wzBaseUri, - __out LPWSTR* ppwzResolvedUri, - __out_opt const URI_PROTOCOL* pResolvedProtocol - ); - -#ifdef __cplusplus -} -#endif - diff --git a/scripts/windows/installer/WiXSDK/inc/userutil.h b/scripts/windows/installer/WiXSDK/inc/userutil.h deleted file mode 100644 index 569bc8a539..0000000000 --- a/scripts/windows/installer/WiXSDK/inc/userutil.h +++ /dev/null @@ -1,42 +0,0 @@ -#pragma once -//------------------------------------------------------------------------------------------------- -// -// Copyright (c) 2004, Outercurve Foundation. -// This software is released under Microsoft Reciprocal License (MS-RL). -// The license and further copyright text can be found in the file -// LICENSE.TXT at the root directory of the distribution. -// -// -// -// User helper functions. -// -//------------------------------------------------------------------------------------------------- - -#ifdef __cplusplus -extern "C" { -#endif - -HRESULT DAPI UserBuildDomainUserName( - __out_ecount_z(cchDest) LPWSTR wzDest, - __in int cchDest, - __in_z LPCWSTR pwzName, - __in_z LPCWSTR pwzDomain - ); - -HRESULT DAPI UserCheckIsMember( - __in_z LPCWSTR pwzName, - __in_z LPCWSTR pwzDomain, - __in_z LPCWSTR pwzGroupName, - __in_z LPCWSTR pwzGroupDomain, - __out LPBOOL lpfMember - ); - -HRESULT DAPI UserCreateADsPath( - __in_z LPCWSTR wzObjectDomain, - __in_z LPCWSTR wzObjectName, - __out BSTR *pbstrAdsPath - ); - -#ifdef __cplusplus -} -#endif diff --git a/scripts/windows/installer/WiXSDK/inc/wcalog.h b/scripts/windows/installer/WiXSDK/inc/wcalog.h deleted file mode 100644 index b42f09827f..0000000000 --- a/scripts/windows/installer/WiXSDK/inc/wcalog.h +++ /dev/null @@ -1,24 +0,0 @@ -#pragma once -//------------------------------------------------------------------------------------------------- -// -// Copyright (c) 2004, Outercurve Foundation. -// This software is released under Microsoft Reciprocal License (MS-RL). -// The license and further copyright text can be found in the file -// LICENSE.TXT at the root directory of the distribution. -// -// -// -// Private header for internal logging functions -// -//------------------------------------------------------------------------------------------------- - -#ifdef __cplusplus -extern "C" { -#endif - -BOOL WIXAPI IsVerboseLogging(); -HRESULT WIXAPI SetVerboseLoggingAtom(BOOL bValue); - -#ifdef __cplusplus -} -#endif diff --git a/scripts/windows/installer/WiXSDK/inc/wcautil.h b/scripts/windows/installer/WiXSDK/inc/wcautil.h deleted file mode 100644 index a8e5feff15..0000000000 --- a/scripts/windows/installer/WiXSDK/inc/wcautil.h +++ /dev/null @@ -1,372 +0,0 @@ -#pragma once -//------------------------------------------------------------------------------------------------- -// -// Copyright (c) 2004, Outercurve Foundation. -// This software is released under Microsoft Reciprocal License (MS-RL). -// The license and further copyright text can be found in the file -// LICENSE.TXT at the root directory of the distribution. -// -// -// -// Windows Installer XML CustomAction utility library. -// -//------------------------------------------------------------------------------------------------- - -#ifdef __cplusplus -extern "C" { -#endif - -#define WIXAPI __stdcall -#define ExitTrace WcaLogError -#define ExitTrace1 WcaLogError -#define ExitTrace2 WcaLogError -#define ExitTrace3 WcaLogError - -#include "dutil.h" - -#define MessageExitOnLastError(x, e, s) { x = ::GetLastError(); x = HRESULT_FROM_WIN32(x); if (FAILED(x)) { ExitTrace(x, "%s", s); WcaErrorMessage(e, x, MB_OK, 0); goto LExit; } } -#define MessageExitOnLastError1(x, e, f, s) { x = ::GetLastError(); x = HRESULT_FROM_WIN32(x); if (FAILED(x)) { ExitTrace1(x, f, s); WcaErrorMessage(e, x, MB_OK, 1, s); goto LExit; } } - -#define MessageExitOnFailure(x, e, s) if (FAILED(x)) { ExitTrace(x, "%s", s); WcaErrorMessage(e, x, INSTALLMESSAGE_ERROR | MB_OK, 0); goto LExit; } -#define MessageExitOnFailure1(x, e, f, s) if (FAILED(x)) { ExitTrace1(x, f, s); WcaErrorMessage(e, x, INSTALLMESSAGE_ERROR | MB_OK, 1, s); goto LExit; } -#define MessageExitOnFailure2(x, e, f, s, t) if (FAILED(x)) { ExitTrace2(x, f, s, t); WcaErrorMessage(e, x, INSTALLMESSAGE_ERROR | MB_OK, 2, s, t); goto LExit; } -#define MessageExitOnFailure3(x, e, f, s, t, u) if (FAILED(x)) { ExitTrace2(x, f, s, t, u); WcaErrorMessage(e, x, INSTALLMESSAGE_ERROR | MB_OK, 3, s, t, u); goto LExit; } - -#define MessageExitOnNullWithLastError(p, x, e, s) if (NULL == p) { x = ::GetLastError(); x = HRESULT_FROM_WIN32(x); if (!FAILED(x)) { x = E_FAIL; } ExitTrace(x, "%s", s); WcaErrorMessage(e, x, MB_OK, 0); goto LExit; } -#define MessageExitOnNullWithLastError1(p, x, e, f, s) if (NULL == p) { x = ::GetLastError(); x = HRESULT_FROM_WIN32(x); if (!FAILED(x)) { x = E_FAIL; } ExitTrace(x, f, s); WcaErrorMessage(e, x, MB_OK, 1, s); goto LExit; } -#define MessageExitOnNullWithLastError2(p, x, e, f, s, t) if (NULL == p) { x = ::GetLastError(); x = HRESULT_FROM_WIN32(x); if (!FAILED(x)) { x = E_FAIL; } ExitTrace(x, f, s, t); WcaErrorMessage(e, x, MB_OK, 2, s, t); goto LExit; } - -// Generic action enum. -enum WCA_ACTION -{ - WCA_ACTION_NONE, - WCA_ACTION_INSTALL, - WCA_ACTION_UNINSTALL, -}; - -enum WCA_CASCRIPT -{ - WCA_CASCRIPT_SCHEDULED, - WCA_CASCRIPT_ROLLBACK, -}; - -enum WCA_CASCRIPT_CLOSE -{ - WCA_CASCRIPT_CLOSE_PRESERVE, - WCA_CASCRIPT_CLOSE_DELETE, -}; - -enum WCA_TODO -{ - WCA_TODO_UNKNOWN, - WCA_TODO_INSTALL, - WCA_TODO_UNINSTALL, - WCA_TODO_REINSTALL, -}; - -typedef struct WCA_CASCRIPT_STRUCT -{ - LPWSTR pwzScriptPath; - HANDLE hScriptFile; -} *WCA_CASCRIPT_HANDLE; - -void WIXAPI WcaGlobalInitialize( - __in HINSTANCE hInst - ); -void WIXAPI WcaGlobalFinalize(); - -HRESULT WIXAPI WcaInitialize( - __in MSIHANDLE hInstall, - __in_z PCSTR szCustomActionLogName - ); -UINT WIXAPI WcaFinalize( - __in UINT iReturnValue - ); -BOOL WIXAPI WcaIsInitialized(); - -MSIHANDLE WIXAPI WcaGetInstallHandle(); -MSIHANDLE WIXAPI WcaGetDatabaseHandle(); - -const char* WIXAPI WcaGetLogName(); - -void WIXAPI WcaSetReturnValue( - __in UINT iReturnValue - ); -BOOL WIXAPI WcaCancelDetected(); - -const int LOG_BUFFER = 2048; -enum LOGLEVEL -{ - LOGMSG_TRACEONLY, // Never written to the log file (except in DEBUG builds) - LOGMSG_VERBOSE, // Written to log when LOGVERBOSE - LOGMSG_STANDARD // Written to log whenever informational logging is enabled -}; - -void __cdecl WcaLog( - __in LOGLEVEL llv, - __in_z __format_string PCSTR fmt, ... - ); -BOOL WIXAPI WcaDisplayAssert( - __in LPCSTR sz - ); -void __cdecl WcaLogError( - __in HRESULT hr, - __in LPCSTR szMessage, - ... - ); - -UINT WIXAPI WcaProcessMessage( - __in INSTALLMESSAGE eMessageType, - __in MSIHANDLE hRecord - ); -UINT __cdecl WcaErrorMessage( - __in int iError, - __in HRESULT hrError, - __in UINT uiType, - __in DWORD cArgs, - ... - ); -HRESULT WIXAPI WcaProgressMessage( - __in UINT uiCost, - __in BOOL fExtendProgressBar - ); - -BOOL WIXAPI WcaIsInstalling( - __in INSTALLSTATE isInstalled, - __in INSTALLSTATE isAction - ); -BOOL WIXAPI WcaIsReInstalling( - __in INSTALLSTATE isInstalled, - __in INSTALLSTATE isAction - ); -BOOL WIXAPI WcaIsUninstalling( - __in INSTALLSTATE isInstalled, - __in INSTALLSTATE isAction - ); - -HRESULT WIXAPI WcaSetComponentState( - __in_z LPCWSTR wzComponent, - __in INSTALLSTATE isState - ); - -HRESULT WIXAPI WcaTableExists( - __in_z LPCWSTR wzTable - ); - -HRESULT WIXAPI WcaOpenView( - __in_z LPCWSTR wzSql, - __out MSIHANDLE* phView - ); -HRESULT WIXAPI WcaExecuteView( - __in MSIHANDLE hView, - __in MSIHANDLE hRec - ); -HRESULT WIXAPI WcaOpenExecuteView( - __in_z LPCWSTR wzSql, - __out MSIHANDLE* phView - ); -HRESULT WIXAPI WcaFetchRecord( - __in MSIHANDLE hView, - __out MSIHANDLE* phRec - ); -HRESULT WIXAPI WcaFetchSingleRecord( - __in MSIHANDLE hView, - __out MSIHANDLE* phRec - ); - -HRESULT WIXAPI WcaGetProperty( - __in_z LPCWSTR wzProperty, - __inout LPWSTR* ppwzData - ); -HRESULT WIXAPI WcaGetFormattedProperty( - __in_z LPCWSTR wzProperty, - __out LPWSTR* ppwzData - ); -HRESULT WIXAPI WcaGetFormattedString( - __in_z LPCWSTR wzString, - __out LPWSTR* ppwzData - ); -HRESULT WIXAPI WcaGetIntProperty( - __in_z LPCWSTR wzProperty, - __inout int* piData - ); -HRESULT WIXAPI WcaGetTargetPath( - __in_z LPCWSTR wzFolder, - __out LPWSTR* ppwzData - ); -HRESULT WIXAPI WcaSetProperty( - __in_z LPCWSTR wzPropertyName, - __in_z LPCWSTR wzPropertyValue - ); -HRESULT WIXAPI WcaSetIntProperty( - __in_z LPCWSTR wzPropertyName, - __in int nPropertyValue - ); -BOOL WIXAPI WcaIsPropertySet( - __in LPCSTR szProperty - ); -BOOL WIXAPI WcaIsUnicodePropertySet( - __in LPCWSTR wzProperty - ); - -HRESULT WIXAPI WcaGetRecordInteger( - __in MSIHANDLE hRec, - __in UINT uiField, - __inout int* piData - ); -HRESULT WIXAPI WcaGetRecordString( - __in MSIHANDLE hRec, - __in UINT uiField, - __inout LPWSTR* ppwzData - ); -HRESULT WIXAPI WcaGetRecordFormattedInteger( - __in MSIHANDLE hRec, - __in UINT uiField, - __out int* piData - ); -HRESULT WIXAPI WcaGetRecordFormattedString( - __in MSIHANDLE hRec, - __in UINT uiField, - __inout LPWSTR* ppwzData - ); - -HRESULT WIXAPI WcaAllocStream( - __deref_out_bcount_part(cbData, 0) BYTE** ppbData, - __in DWORD cbData - ); -HRESULT WIXAPI WcaFreeStream( - __in BYTE* pbData - ); - -HRESULT WIXAPI WcaGetRecordStream( - __in MSIHANDLE hRecBinary, - __in UINT uiField, - __deref_out_bcount_full(*pcbData) BYTE** ppbData, - __out DWORD* pcbData - ); -HRESULT WIXAPI WcaSetRecordString( - __in MSIHANDLE hRec, - __in UINT uiField, - __in_z LPCWSTR wzData - ); -HRESULT WIXAPI WcaSetRecordInteger( - __in MSIHANDLE hRec, - __in UINT uiField, - __in int iValue - ); - -HRESULT WIXAPI WcaDoDeferredAction( - __in_z LPCWSTR wzAction, - __in_z LPCWSTR wzCustomActionData, - __in UINT uiCost - ); -DWORD WIXAPI WcaCountOfCustomActionDataRecords( - __in_z LPCWSTR wzData - ); - -HRESULT WIXAPI WcaReadStringFromCaData( - __deref_in LPWSTR* ppwzCustomActionData, - __deref_out_z LPWSTR* ppwzString - ); -HRESULT WIXAPI WcaReadIntegerFromCaData( - __deref_in LPWSTR* ppwzCustomActionData, - __out int* piResult - ); -HRESULT WIXAPI WcaReadStreamFromCaData( - __deref_in LPWSTR* ppwzCustomActionData, - __deref_out_bcount(*pcbData) BYTE** ppbData, - __out DWORD_PTR* pcbData - ); -HRESULT WIXAPI WcaWriteStringToCaData( - __in_z LPCWSTR wzString, - __deref_inout_z LPWSTR* ppwzCustomActionData - ); -HRESULT WIXAPI WcaWriteIntegerToCaData( - __in int i, - __deref_out_z_opt LPWSTR* ppwzCustomActionData - ); -HRESULT WIXAPI WcaWriteStreamToCaData( - __in_bcount(cbData) const BYTE* pbData, - __in DWORD cbData, - __deref_inout_z_opt LPWSTR* ppwzCustomActionData - ); - -HRESULT __cdecl WcaAddTempRecord( - __inout MSIHANDLE* phTableView, - __inout MSIHANDLE* phColumns, - __in_z LPCWSTR wzTable, - __out_opt MSIDBERROR* pdbError, - __in UINT uiUniquifyColumn, - __in UINT cColumns, - ... - ); - -HRESULT WIXAPI WcaDumpTable( - __in_z LPCWSTR wzTable - ); - -HRESULT WIXAPI WcaDeferredActionRequiresReboot(); -BOOL WIXAPI WcaDidDeferredActionRequireReboot(); - -HRESULT WIXAPI WcaCaScriptCreateKey( - __out LPWSTR* ppwzScriptKey - ); - -HRESULT WIXAPI WcaCaScriptCreate( - __in WCA_ACTION action, - __in WCA_CASCRIPT script, - __in BOOL fImpersonated, - __in_z LPCWSTR wzScriptKey, - __in BOOL fAppend, - __out WCA_CASCRIPT_HANDLE* phScript - ); - -HRESULT WIXAPI WcaCaScriptOpen( - __in WCA_ACTION action, - __in WCA_CASCRIPT script, - __in BOOL fImpersonated, - __in_z LPCWSTR wzScriptKey, - __out WCA_CASCRIPT_HANDLE* phScript - ); - -void WIXAPI WcaCaScriptClose( - __in_opt WCA_CASCRIPT_HANDLE hScript, - __in WCA_CASCRIPT_CLOSE closeOperation - ); - -HRESULT WIXAPI WcaCaScriptReadAsCustomActionData( - __in WCA_CASCRIPT_HANDLE hScript, - __out LPWSTR* ppwzCustomActionData - ); - -HRESULT WIXAPI WcaCaScriptWriteString( - __in WCA_CASCRIPT_HANDLE hScript, - __in_z LPCWSTR wzValue - ); - -HRESULT WIXAPI WcaCaScriptWriteNumber( - __in WCA_CASCRIPT_HANDLE hScript, - __in DWORD dwValue - ); - -void WIXAPI WcaCaScriptFlush( - __in WCA_CASCRIPT_HANDLE hScript - ); - -void WIXAPI WcaCaScriptCleanup( - __in_z LPCWSTR wzProductCode, - __in BOOL fImpersonated - ); - -HRESULT WIXAPI QuietExec( - __inout_z LPWSTR wzCommand, - __in DWORD dwTimeout - ); - -WCA_TODO WIXAPI WcaGetComponentToDo( - __in_z LPCWSTR wzComponentId - ); - -#ifdef __cplusplus -} -#endif diff --git a/scripts/windows/installer/WiXSDK/inc/wcawow64.h b/scripts/windows/installer/WiXSDK/inc/wcawow64.h deleted file mode 100644 index f714107b85..0000000000 --- a/scripts/windows/installer/WiXSDK/inc/wcawow64.h +++ /dev/null @@ -1,30 +0,0 @@ -#pragma once -//------------------------------------------------------------------------------------------------- -// -// Copyright (c) 2004, Outercurve Foundation. -// This software is released under Microsoft Reciprocal License (MS-RL). -// The license and further copyright text can be found in the file -// LICENSE.TXT at the root directory of the distribution. -// -// -// -// Windows Installer XML CustomAction utility library for Wow64 API-related functionality. -// -//------------------------------------------------------------------------------------------------- - -#include "wcautil.h" - -#ifdef __cplusplus -extern "C" { -#endif - -HRESULT WIXAPI WcaInitializeWow64(); -BOOL WIXAPI WcaIsWow64Process(); -BOOL WIXAPI WcaIsWow64Initialized(); -HRESULT WIXAPI WcaDisableWow64FSRedirection(); -HRESULT WIXAPI WcaRevertWow64FSRedirection(); -HRESULT WIXAPI WcaFinalizeWow64(); - -#ifdef __cplusplus -} -#endif diff --git a/scripts/windows/installer/WiXSDK/inc/wcawrapquery.h b/scripts/windows/installer/WiXSDK/inc/wcawrapquery.h deleted file mode 100644 index ac831fc8af..0000000000 --- a/scripts/windows/installer/WiXSDK/inc/wcawrapquery.h +++ /dev/null @@ -1,141 +0,0 @@ -#pragma once -//------------------------------------------------------------------------------------------------- -// -// Copyright (c) 2004, Outercurve Foundation. -// This software is released under Microsoft Reciprocal License (MS-RL). -// The license and further copyright text can be found in the file -// LICENSE.TXT at the root directory of the distribution. -// -// -// -// Windows Installer XML CustomAction utility library wrappers meant to wrap an MSI view as -// opened by an immediate custom action and transmit it to a deferred custom action -// -//------------------------------------------------------------------------------------------------- - -#include "wcautil.h" - -// Enumerations -enum eWrapQueryAction -{ - wqaTableBegin = 1, - wqaTableFinish, - wqaRowBegin, - wqaRowFinish -}; - -enum eColumnDataType -{ - cdtString = 1, - cdtInt, - cdtStream, - cdtUnknown -}; - -enum eFormatMaskColumn -{ - efmcColumn1 = 1, - efmcColumn2 = 1 << 1, - efmcColumn3 = 1 << 2, - efmcColumn4 = 1 << 3, - efmcColumn5 = 1 << 4, - efmcColumn6 = 1 << 5, - efmcColumn7 = 1 << 6, - efmcColumn8 = 1 << 7, - efmcColumn9 = 1 << 8, - efmcColumn10 = 1 << 9, - efmcColumn11 = 1 << 10, - efmcColumn12 = 1 << 11, - efmcColumn13 = 1 << 12, - efmcColumn14 = 1 << 13, - efmcColumn15 = 1 << 14, - efmcColumn16 = 1 << 15, - efmcColumn17 = 1 << 16, - efmcColumn18 = 1 << 17, - efmcColumn19 = 1 << 18, - efmcColumn20 = 1 << 19, - efmcColumn21 = 1 << 20, - efmcColumn22 = 1 << 21, - efmcColumn23 = 1 << 22, - efmcColumn24 = 1 << 23, - efmcColumn25 = 1 << 24, - efmcColumn26 = 1 << 25, - efmcColumn27 = 1 << 26, - efmcColumn28 = 1 << 27, - efmcColumn29 = 1 << 28, - efmcColumn30 = 1 << 29, - efmcColumn31 = 1 << 30, - efmcColumn32 = 1 << 31, -}; - -// Keeps track of the query instance for the reading CA (deferred CA) -typedef struct WCA_WRAPQUERY_STRUCT -{ - // These are used to size our dynamic arrays below - DWORD dwColumns, dwRows, dwNextIndex; - - // Dynamic arrays of column schema information - eColumnDataType *pcdtColumnType; - LPWSTR *ppwzColumnNames; - - // Dynamic array of raw record data - MSIHANDLE *phRecords; -} *WCA_WRAPQUERY_HANDLE; - -// Wrap a query -// Setting the pfFormatMask enables control over which fields will be formatted, and which will be left unchanged -// Setting dwComponentColumn to something other than 0xFFFFFFFF tells WcaWrapQuery to add two additional columns to the right side of the table -// - ISInstalled and ISAction - which map to the ComponentState of the component (the component is found in the column specified) -// Note that if a component is NULL, the component state columns will also be left null, and it will be up to the deferred CA to fail or ignore the case appropriately -// Setting dwDirectoryColumn to something other than 0xFFFFFFFF tells WcaWrapQuery to add two more additional columns to the right side of the table -// - SourcePath and TargetPath - which map to the Directory's Source and Target Path (the directory is found in the column specified) -// Note that if a directory is NULL, the directory source/target path columns will also be left null, and it will be up to the deferred CA to fail or ignore the case appropriately -HRESULT WIXAPI WcaWrapQuery( - __in_z LPCWSTR pwzQuery, - __inout LPWSTR * ppwzCustomActionData, - __in_opt DWORD dwFormatMask, - __in_opt DWORD dwComponentColumn, - __in_opt DWORD dwDirectoryColumn - ); -// This wraps an empty table query into the custom action data - this is a way to indicate to the deferred custom action that a necessary table doesn't exist, or its query returned no results -HRESULT WIXAPI WcaWrapEmptyQuery( - __inout LPWSTR * ppwzCustomActionData - ); - -// Open a new unwrap query operation, with data from the ppwzCustomActionData string -HRESULT WIXAPI WcaBeginUnwrapQuery( - __out WCA_WRAPQUERY_HANDLE * phWrapQuery, - __inout LPWSTR * ppwzCustomActionData - ); - -// Get the number of records in a query being unwrapped -DWORD WIXAPI WcaGetQueryRecords( - __in const WCA_WRAPQUERY_HANDLE hWrapQuery - ); - -// This function resets a query back to its first row, so that the next fetch returns the first record -void WIXAPI WcaFetchWrappedReset( - __in WCA_WRAPQUERY_HANDLE hWrapQuery - ); -// Fetch the next record in this query -// NOTE: the MSIHANDLE returned by this function should not be released, as it is the same handle used by the query object to maintain the item. -// so, don't use this function with PMSIHANDLE objects! -HRESULT WIXAPI WcaFetchWrappedRecord( - __in WCA_WRAPQUERY_HANDLE hWrapQuery, - __out MSIHANDLE* phRec - ); - -// Fetch the next record in the query where the string value in column dwComparisonColumn equals the value pwzExpectedValue -// NOTE: the MSIHANDLE returned by this function should not be released, as it is the same handle used by the query object to maintain the item. -// so, don't use this function with PMSIHANDLE objects! -HRESULT WIXAPI WcaFetchWrappedRecordWhereString( - __in WCA_WRAPQUERY_HANDLE hWrapQuery, - __in DWORD dwComparisonColumn, - __in_z LPCWSTR pwzExpectedValue, - __out MSIHANDLE* phRec - ); - -// Release a query ID (frees memory, and frees the ID for a new query) -void WIXAPI WcaFinishUnwrapQuery( - __in_opt WCA_WRAPQUERY_HANDLE hWrapQuery - ); diff --git a/scripts/windows/installer/WiXSDK/inc/wiutil.h b/scripts/windows/installer/WiXSDK/inc/wiutil.h deleted file mode 100644 index 123340d249..0000000000 --- a/scripts/windows/installer/WiXSDK/inc/wiutil.h +++ /dev/null @@ -1,367 +0,0 @@ -#pragma once -//------------------------------------------------------------------------------------------------- -// -// Copyright (c) 2004, Outercurve Foundation. -// This software is released under Microsoft Reciprocal License (MS-RL). -// The license and further copyright text can be found in the file -// LICENSE.TXT at the root directory of the distribution. -// -// -// -// Header for Windows Installer helper functions. -// -//------------------------------------------------------------------------------------------------- - -#ifdef __cplusplus -extern "C" { -#endif - -// constants - -#define IDNOACTION 0 -#define WIU_MB_OKIGNORECANCELRETRY 0xE - -#define MAX_DARWIN_KEY 73 -#define MAX_DARWIN_COLUMN 255 - -#define WIU_LOG_DEFAULT INSTALLLOGMODE_FATALEXIT | INSTALLLOGMODE_ERROR | INSTALLLOGMODE_WARNING | \ - INSTALLLOGMODE_USER | INSTALLLOGMODE_INFO | INSTALLLOGMODE_RESOLVESOURCE | \ - INSTALLLOGMODE_OUTOFDISKSPACE | INSTALLLOGMODE_ACTIONSTART | \ - INSTALLLOGMODE_ACTIONDATA | INSTALLLOGMODE_COMMONDATA | INSTALLLOGMODE_PROPERTYDUMP - -#define ReleaseMsi(h) if (h) { ::MsiCloseHandle(h); } -#define ReleaseNullMsi(h) if (h) { ::MsiCloseHandle(h); h = NULL; } - - -enum WIU_RESTART -{ - WIU_RESTART_NONE, - WIU_RESTART_REQUIRED, - WIU_RESTART_INITIATED, -}; - -enum WIU_MSI_EXECUTE_MESSAGE_TYPE -{ - WIU_MSI_EXECUTE_MESSAGE_NONE, - WIU_MSI_EXECUTE_MESSAGE_PROGRESS, - WIU_MSI_EXECUTE_MESSAGE_ERROR, - WIU_MSI_EXECUTE_MESSAGE_MSI_MESSAGE, - WIU_MSI_EXECUTE_MESSAGE_MSI_FILES_IN_USE, -}; - - -// structures - -typedef struct _WIU_MSI_EXECUTE_MESSAGE -{ - WIU_MSI_EXECUTE_MESSAGE_TYPE type; - DWORD dwAllowedResults; - - DWORD cData; - LPCWSTR* rgwzData; - - INT nResultRecommendation; // recommended return result for this message based on analysis of real world installs. - - union - { - struct - { - DWORD dwPercentage; - } progress; - struct - { - DWORD dwErrorCode; - LPCWSTR wzMessage; - } error; - struct - { - INSTALLMESSAGE mt; - LPCWSTR wzMessage; - } msiMessage; - struct - { - DWORD cFiles; - LPCWSTR* rgwzFiles; - } msiFilesInUse; - }; -} WIU_MSI_EXECUTE_MESSAGE; - -typedef struct _WIU_MSI_PROGRESS -{ - DWORD dwTotal; - DWORD dwCompleted; - DWORD dwStep; - BOOL fMoveForward; - BOOL fEnableActionData; - BOOL fScriptInProgress; -} WIU_MSI_PROGRESS; - - -typedef int (*PFN_MSIEXECUTEMESSAGEHANDLER)( - __in WIU_MSI_EXECUTE_MESSAGE* pMessage, - __in_opt LPVOID pvContext - ); - -typedef struct _WIU_MSI_EXECUTE_CONTEXT -{ - BOOL fRollback; - PFN_MSIEXECUTEMESSAGEHANDLER pfnMessageHandler; - LPVOID pvContext; - WIU_MSI_PROGRESS rgMsiProgress[64]; - DWORD dwCurrentProgressIndex; - - INSTALLUILEVEL previousInstallUILevel; - HWND hwndPreviousParentWindow; - INSTALLUI_HANDLERW pfnPreviousExternalUI; - INSTALLUI_HANDLER_RECORD pfnPreviousExternalUIRecord; - - BOOL fSetPreviousExternalUIRecord; - BOOL fSetPreviousExternalUI; -} WIU_MSI_EXECUTE_CONTEXT; - - -// typedefs -typedef UINT (WINAPI *PFN_MSIENABLELOGW)( - __in DWORD dwLogMode, - __in_z LPCWSTR szLogFile, - __in DWORD dwLogAttributes - ); -typedef UINT (WINAPI *PFN_MSIGETPRODUCTINFOW)( - __in LPCWSTR szProductCode, - __in LPCWSTR szProperty, - __out_ecount_opt(*pcchValue) LPWSTR szValue, - __inout LPDWORD pcchValue - ); -typedef INSTALLSTATE (WINAPI *PFN_MSIGETCOMPONENTPATHW)( - __in LPCWSTR szProduct, - __in LPCWSTR szComponent, - __out_ecount_opt(*pcchBuf) LPWSTR lpPathBuf, - __inout_opt LPDWORD pcchBuf - ); -typedef INSTALLSTATE (WINAPI *PFN_MSILOCATECOMPONENTW)( - __in LPCWSTR szComponent, - __out_ecount_opt(*pcchBuf) LPWSTR lpPathBuf, - __inout_opt LPDWORD pcchBuf - ); -typedef UINT (WINAPI *PFN_MSIGETPRODUCTINFOEXW)( - __in LPCWSTR szProductCode, - __in_opt LPCWSTR szUserSid, - __in MSIINSTALLCONTEXT dwContext, - __in LPCWSTR szProperty, - __out_ecount_opt(*pcchValue) LPWSTR szValue, - __inout_opt LPDWORD pcchValue - ); -typedef INSTALLSTATE (WINAPI *PFN_MSIQUERYFEATURESTATEW)( - __in LPCWSTR szProduct, - __in LPCWSTR szFeature - ); -typedef UINT (WINAPI *PFN_MSIGETPATCHINFOEXW)( - __in_z LPCWSTR wzPatchCode, - __in_z LPCWSTR wzProductCode, - __in_z_opt LPCWSTR wzUserSid, - __in MSIINSTALLCONTEXT dwContext, - __in_z LPCWSTR wzProperty, - __out_opt LPWSTR wzValue, - __inout DWORD* pcchValue - ); -typedef UINT (WINAPI *PFN_MSIDETERMINEPATCHSEQUENCEW)( - __in_z LPCWSTR wzProductCode, - __in_z_opt LPCWSTR wzUserSid, - __in MSIINSTALLCONTEXT context, - __in DWORD cPatchInfo, - __in PMSIPATCHSEQUENCEINFOW pPatchInfo - ); -typedef UINT (WINAPI *PFN_MSIINSTALLPRODUCTW)( - __in LPCWSTR szPackagePath, - __in_opt LPCWSTR szCommandLine - ); -typedef UINT (WINAPI *PFN_MSICONFIGUREPRODUCTEXW)( - __in LPCWSTR szProduct, - __in int iInstallLevel, - __in INSTALLSTATE eInstallState, - __in_opt LPCWSTR szCommandLine - ); -typedef UINT (WINAPI *PFN_MSIREMOVEPATCHESW)( - __in_z LPCWSTR wzPatchList, - __in_z LPCWSTR wzProductCode, - __in INSTALLTYPE eUninstallType, - __in_z_opt LPCWSTR szPropertyList - ); -typedef INSTALLUILEVEL (WINAPI *PFN_MSISETINTERNALUI)( - __in INSTALLUILEVEL dwUILevel, - __inout_opt HWND *phWnd - ); -typedef UINT (WINAPI *PFN_MSISETEXTERNALUIRECORD)( - __in_opt INSTALLUI_HANDLER_RECORD puiHandler, - __in DWORD dwMessageFilter, - __in_opt LPVOID pvContext, - __out_opt PINSTALLUI_HANDLER_RECORD ppuiPrevHandler - ); -typedef INSTALLUI_HANDLERW (WINAPI *PFN_MSISETEXTERNALUIW)( - __in_opt INSTALLUI_HANDLERW puiHandler, - __in DWORD dwMessageFilter, - __in_opt LPVOID pvContext - ); -typedef UINT (WINAPI *PFN_MSIENUMPRODUCTSW)( - __in DWORD iProductIndex, - __out_ecount(MAX_GUID_CHARS + 1) LPWSTR lpProductBuf - ); -typedef UINT (WINAPI *PFN_MSIENUMPRODUCTSEXW)( - __in_z_opt LPCWSTR wzProductCode, - __in_z_opt LPCWSTR wzUserSid, - __in DWORD dwContext, - __in DWORD dwIndex, - __out_opt WCHAR wzInstalledProductCode[39], - __out_opt MSIINSTALLCONTEXT *pdwInstalledContext, - __out_opt LPWSTR wzSid, - __inout_opt LPDWORD pcchSid - ); - -typedef UINT (WINAPI *PFN_MSIENUMRELATEDPRODUCTSW)( - __in LPCWSTR lpUpgradeCode, - __reserved DWORD dwReserved, - __in DWORD iProductIndex, - __out_ecount(MAX_GUID_CHARS + 1) LPWSTR lpProductBuf - ); -typedef UINT (WINAPI *PFN_MSISOURCELISTADDSOURCEEXW)( - __in LPCWSTR szProductCodeOrPatchCode, - __in_opt LPCWSTR szUserSid, - __in MSIINSTALLCONTEXT dwContext, - __in DWORD dwOptions, - __in LPCWSTR szSource, - __in_opt DWORD dwIndex - ); - - -HRESULT DAPI WiuInitialize( - ); -void DAPI WiuUninitialize( - ); -void DAPI WiuFunctionOverride( - __in_opt PFN_MSIENABLELOGW pfnMsiEnableLogW, - __in_opt PFN_MSIGETCOMPONENTPATHW pfnMsiGetComponentPathW, - __in_opt PFN_MSILOCATECOMPONENTW pfnMsiLocateComponentW, - __in_opt PFN_MSIQUERYFEATURESTATEW pfnMsiQueryFeatureStateW, - __in_opt PFN_MSIGETPRODUCTINFOW pfnMsiGetProductInfoW, - __in_opt PFN_MSIGETPRODUCTINFOEXW pfnMsiGetProductInfoExW, - __in_opt PFN_MSIINSTALLPRODUCTW pfnMsiInstallProductW, - __in_opt PFN_MSICONFIGUREPRODUCTEXW pfnMsiConfigureProductExW, - __in_opt PFN_MSISETINTERNALUI pfnMsiSetInternalUI, - __in_opt PFN_MSISETEXTERNALUIW pfnMsiSetExternalUIW, - __in_opt PFN_MSIENUMRELATEDPRODUCTSW pfnMsiEnumRelatedProductsW, - __in_opt PFN_MSISETEXTERNALUIRECORD pfnMsiSetExternalUIRecord, - __in_opt PFN_MSISOURCELISTADDSOURCEEXW pfnMsiSourceListAddSourceExW - ); -HRESULT DAPI WiuGetComponentPath( - __in_z LPCWSTR wzProductCode, - __in_z LPCWSTR wzComponentId, - __out INSTALLSTATE* pInstallState, - __out_z LPWSTR* psczValue - ); -HRESULT DAPI WiuLocateComponent( - __in_z LPCWSTR wzComponentId, - __out INSTALLSTATE* pInstallState, - __out_z LPWSTR* psczValue - ); -HRESULT DAPI WiuQueryFeatureState( - __in_z LPCWSTR wzProduct, - __in_z LPCWSTR wzFeature, - __out INSTALLSTATE* pInstallState - ); -HRESULT DAPI WiuGetProductInfo( - __in_z LPCWSTR wzProductCode, - __in_z LPCWSTR wzProperty, - __out LPWSTR* psczValue - ); -HRESULT DAPI WiuGetProductInfoEx( - __in_z LPCWSTR wzProductCode, - __in_z_opt LPCWSTR wzUserSid, - __in MSIINSTALLCONTEXT dwContext, - __in_z LPCWSTR wzProperty, - __out LPWSTR* psczValue - ); -HRESULT DAPI WiuGetProductProperty( - __in MSIHANDLE hProduct, - __in_z LPCWSTR wzProperty, - __out LPWSTR* psczValue - ); -HRESULT DAPI WiuGetPatchInfoEx( - __in_z LPCWSTR wzPatchCode, - __in_z LPCWSTR wzProductCode, - __in_z_opt LPCWSTR wzUserSid, - __in MSIINSTALLCONTEXT dwContext, - __in_z LPCWSTR wzProperty, - __out LPWSTR* psczValue - ); -HRESULT DAPI WiuDeterminePatchSequence( - __in_z LPCWSTR wzProductCode, - __in_z_opt LPCWSTR wzUserSid, - __in MSIINSTALLCONTEXT context, - __in PMSIPATCHSEQUENCEINFOW pPatchInfo, - __in DWORD cPatchInfo - ); -HRESULT DAPI WiuEnumProducts( - __in DWORD iProductIndex, - __out_ecount(MAX_GUID_CHARS + 1) LPWSTR wzProductCode - ); -HRESULT DAPI WiuEnumProductsEx( - __in_z_opt LPCWSTR wzProductCode, - __in_z_opt LPCWSTR wzUserSid, - __in DWORD dwContext, - __in DWORD dwIndex, - __out_opt WCHAR wzInstalledProductCode[39], - __out_opt MSIINSTALLCONTEXT *pdwInstalledContext, - __out_opt LPWSTR wzSid, - __inout_opt LPDWORD pcchSid - ); -HRESULT DAPI WiuEnumRelatedProducts( - __in_z LPCWSTR wzUpgradeCode, - __in DWORD iProductIndex, - __out_ecount(MAX_GUID_CHARS + 1) LPWSTR wzProductCode - ); -HRESULT DAPI WiuEnableLog( - __in DWORD dwLogMode, - __in_z LPCWSTR wzLogFile, - __in DWORD dwLogAttributes - ); -HRESULT DAPI WiuInitializeExternalUI( - __in PFN_MSIEXECUTEMESSAGEHANDLER pfnMessageHandler, - __in INSTALLUILEVEL internalUILevel, - __in HWND hwndParent, - __in LPVOID pvContext, - __in BOOL fRollback, - __in WIU_MSI_EXECUTE_CONTEXT* pExecuteContext - ); -void DAPI WiuUninitializeExternalUI( - __in WIU_MSI_EXECUTE_CONTEXT* pExecuteContext - ); -HRESULT DAPI WiuConfigureProductEx( - __in_z LPCWSTR wzProduct, - __in int iInstallLevel, - __in INSTALLSTATE eInstallState, - __in_z LPCWSTR wzCommandLine, - __out WIU_RESTART* pRestart - ); -HRESULT DAPI WiuInstallProduct( - __in_z LPCWSTR wzPackagPath, - __in_z LPCWSTR wzCommandLine, - __out WIU_RESTART* pRestart - ); -HRESULT DAPI WiuRemovePatches( - __in_z LPCWSTR wzPatchList, - __in_z LPCWSTR wzProductCode, - __in_z LPCWSTR wzPropertyList, - __out WIU_RESTART* pRestart - ); -HRESULT DAPI WiuSourceListAddSourceEx( - __in_z LPCWSTR wzProductCodeOrPatchCode, - __in_z_opt LPCWSTR wzUserSid, - __in MSIINSTALLCONTEXT dwContext, - __in DWORD dwCode, - __in_z LPCWSTR wzSource, - __in_opt DWORD dwIndex - ); - -#ifdef __cplusplus -} -#endif diff --git a/scripts/windows/installer/WiXSDK/inc/wuautil.h b/scripts/windows/installer/WiXSDK/inc/wuautil.h deleted file mode 100644 index 59c2853089..0000000000 --- a/scripts/windows/installer/WiXSDK/inc/wuautil.h +++ /dev/null @@ -1,31 +0,0 @@ -//------------------------------------------------------------------------------------------------- -// -// Copyright (c) 2004, Outercurve Foundation. -// This software is released under Microsoft Reciprocal License (MS-RL). -// The license and further copyright text can be found in the file -// LICENSE.TXT at the root directory of the distribution. -// -// -// -// Header for Windows Update Agent helpers. -// -//------------------------------------------------------------------------------------------------- - -#pragma once - - -#if defined(__cplusplus) -extern "C" { -#endif - -HRESULT DAPI WuaPauseAutomaticUpdates(); - -HRESULT DAPI WuaResumeAutomaticUpdates(); - -HRESULT DAPI WuaRestartRequired( - __out BOOL* pfRestartRequired - ); - -#if defined(__cplusplus) -} -#endif \ No newline at end of file diff --git a/scripts/windows/installer/WiXSDK/inc/xmlutil.h b/scripts/windows/installer/WiXSDK/inc/xmlutil.h deleted file mode 100644 index bef0d8a8c5..0000000000 --- a/scripts/windows/installer/WiXSDK/inc/xmlutil.h +++ /dev/null @@ -1,178 +0,0 @@ -#pragma once -//------------------------------------------------------------------------------------------------- -// -// Copyright (c) 2004, Outercurve Foundation. -// This software is released under Microsoft Reciprocal License (MS-RL). -// The license and further copyright text can be found in the file -// LICENSE.TXT at the root directory of the distribution. -// -// -// -// XML helper functions. -// -//------------------------------------------------------------------------------------------------- - -// constant XML CLSIDs and IIDs -extern __declspec(selectany) const CLSID XmlUtil_CLSID_DOMDocument = {0x2933BF90, 0x7B36, 0x11d2, {0xB2, 0x0E, 0x00, 0xC0, 0x4F, 0x98, 0x3E, 0x60}}; -extern __declspec(selectany) const CLSID XmlUtil_CLSID_DOMDocument20 = {0xF6D90F11, 0x9C73, 0x11D3, {0xB3, 0x2E, 0x00, 0xC0, 0x4F, 0x99, 0x0B, 0xB4}}; -extern __declspec(selectany) const CLSID XmlUtil_CLSID_DOMDocument26 = {0xf5078f1b, 0xc551, 0x11d3, {0x89, 0xb9, 0x00, 0x00, 0xf8, 0x1f, 0xe2, 0x21}}; -extern __declspec(selectany) const CLSID XmlUtil_CLSID_DOMDocument30 = {0xf5078f32, 0xc551, 0x11d3, {0x89, 0xb9, 0x00, 0x00, 0xf8, 0x1f, 0xe2, 0x21}}; -extern __declspec(selectany) const CLSID XmlUtil_CLSID_DOMDocument40 = {0x88d969c0, 0xf192, 0x11d4, {0xa6, 0x5f, 0x00, 0x40, 0x96, 0x32, 0x51, 0xe5}}; -extern __declspec(selectany) const CLSID XmlUtil_CLSID_DOMDocument50 = {0x88d969e5, 0xf192, 0x11d4, {0xa6, 0x5f, 0x00, 0x40, 0x96, 0x32, 0x51, 0xe5}}; -extern __declspec(selectany) const CLSID XmlUtil_CLSID_DOMDocument60 = {0x88d96a05, 0xf192, 0x11d4, {0xa6, 0x5f, 0x00, 0x40, 0x96, 0x32, 0x51, 0xe5}}; -extern __declspec(selectany) const CLSID XmlUtil_CLSID_XMLSchemaCache = {0x88d969c2, 0xf192, 0x11d4, {0xa6, 0x5f, 0x00, 0x40, 0x96, 0x32, 0x51, 0xe5}}; - -extern __declspec(selectany) const IID XmlUtil_IID_IXMLDOMDocument = {0x2933BF81, 0x7B36, 0x11D2, {0xB2, 0x0E, 0x00, 0xC0, 0x4F, 0x98, 0x3E, 0x60}}; -extern __declspec(selectany) const IID XmlUtil_IID_IXMLDOMDocument2 = {0x2933BF95, 0x7B36, 0x11D2, {0xB2, 0x0E, 0x00, 0xC0, 0x4F, 0x98, 0x3E, 0x60}}; -extern __declspec(selectany) const IID XmlUtil_IID_IXMLDOMSchemaCollection = {0x373984C8, 0xB845, 0x449B, {0x91, 0xE7, 0x45, 0xAC, 0x83, 0x03, 0x6A, 0xDE}}; - -enum XML_LOAD_ATTRIBUTE -{ - XML_LOAD_PRESERVE_WHITESPACE = 1, -}; - - -#ifdef __cplusplus -extern "C" { -#endif - -HRESULT DAPI XmlInitialize(); -void DAPI XmlUninitialize(); - -HRESULT DAPI XmlCreateElement( - __in IXMLDOMDocument *pixdDocument, - __in_z LPCWSTR wzElementName, - __out IXMLDOMElement **ppixnElement - ); -HRESULT DAPI XmlCreateDocument( - __in_opt LPCWSTR pwzElementName, - __out IXMLDOMDocument** ppixdDocument, - __out_opt IXMLDOMElement** ppixeRootElement = NULL - ); -HRESULT DAPI XmlLoadDocument( - __in_z LPCWSTR wzDocument, - __out IXMLDOMDocument** ppixdDocument - ); -HRESULT DAPI XmlLoadDocumentEx( - __in_z LPCWSTR wzDocument, - __in DWORD dwAttributes, - __out IXMLDOMDocument** ppixdDocument - ); -HRESULT DAPI XmlLoadDocumentFromFile( - __in_z LPCWSTR wzPath, - __out IXMLDOMDocument** ppixdDocument - ); -HRESULT DAPI XmlLoadDocumentFromBuffer( - __in_bcount(cbSource) const BYTE* pbSource, - __in DWORD cbSource, - __out IXMLDOMDocument** ppixdDocument - ); -HRESULT DAPI XmlLoadDocumentFromFileEx( - __in_z LPCWSTR wzPath, - __in DWORD dwAttributes, - __out IXMLDOMDocument** ppixdDocument - ); -HRESULT DAPI XmlSelectSingleNode( - __in IXMLDOMNode* pixnParent, - __in_z LPCWSTR wzXPath, - __out IXMLDOMNode **ppixnChild - ); -HRESULT DAPI XmlSetAttribute( - __in IXMLDOMNode* pixnNode, - __in_z LPCWSTR pwzAttribute, - __in_z LPCWSTR pwzAttributeValue - ); -HRESULT DAPI XmlCreateTextNode( - __in IXMLDOMDocument *pixdDocument, - __in_z LPCWSTR wzText, - __out IXMLDOMText **ppixnTextNode - ); -HRESULT DAPI XmlGetText( - __in IXMLDOMNode* pixnNode, - __deref_out_z BSTR* pbstrText - ); -HRESULT DAPI XmlGetAttribute( - __in IXMLDOMNode* pixnNode, - __in_z LPCWSTR pwzAttribute, - __deref_out_z BSTR* pbstrAttributeValue - ); -HRESULT DAPI XmlGetAttributeEx( - __in IXMLDOMNode* pixnNode, - __in_z LPCWSTR wzAttribute, - __deref_out_z LPWSTR* psczAttributeValue - ); -HRESULT DAPI XmlGetYesNoAttribute( - __in IXMLDOMNode* pixnNode, - __in_z LPCWSTR wzAttribute, - __out BOOL* pfYes - ); -HRESULT DAPI XmlGetAttributeNumber( - __in IXMLDOMNode* pixnNode, - __in_z LPCWSTR pwzAttribute, - __out DWORD* pdwValue - ); -HRESULT DAPI XmlGetAttributeNumberBase( - __in IXMLDOMNode* pixnNode, - __in_z LPCWSTR pwzAttribute, - __in int nBase, - __out DWORD* pdwValue - ); -HRESULT DAPI XmlGetAttributeLargeNumber( - __in IXMLDOMNode* pixnNode, - __in_z LPCWSTR pwzAttribute, - __out DWORD64* pdw64Value - ); -HRESULT DAPI XmlGetNamedItem( - __in IXMLDOMNamedNodeMap *pixnmAttributes, - __in_opt LPCWSTR wzName, - __out IXMLDOMNode **ppixnNamedItem - ); -HRESULT DAPI XmlSetText( - __in IXMLDOMNode* pixnNode, - __in_z LPCWSTR pwzText - ); -HRESULT DAPI XmlSetTextNumber( - __in IXMLDOMNode *pixnNode, - __in DWORD dwValue - ); -HRESULT DAPI XmlCreateChild( - __in IXMLDOMNode* pixnParent, - __in_z LPCWSTR pwzElementType, - __out IXMLDOMNode** ppixnChild - ); -HRESULT DAPI XmlRemoveAttribute( - __in IXMLDOMNode* pixnNode, - __in_z LPCWSTR pwzAttribute - ); -HRESULT DAPI XmlSelectNodes( - __in IXMLDOMNode* pixnParent, - __in_z LPCWSTR wzXPath, - __out IXMLDOMNodeList **ppixnChild - ); -HRESULT DAPI XmlNextAttribute( - __in IXMLDOMNamedNodeMap* pixnnm, - __out IXMLDOMNode** pixnAttribute, - __deref_opt_out_z_opt BSTR* pbstrAttribute - ); -HRESULT DAPI XmlNextElement( - __in IXMLDOMNodeList* pixnl, - __out IXMLDOMNode** pixnElement, - __deref_opt_out_z_opt BSTR* pbstrElement - ); -HRESULT DAPI XmlRemoveChildren( - __in IXMLDOMNode* pixnSource, - __in_z LPCWSTR pwzXPath - ); -HRESULT DAPI XmlSaveDocument( - __in IXMLDOMDocument* pixdDocument, - __inout LPCWSTR wzPath - ); -HRESULT DAPI XmlSaveDocumentToBuffer( - __in IXMLDOMDocument* pixdDocument, - __deref_out_bcount(*pcbDest) BYTE** ppbDest, - __out DWORD* pcbDest - ); - -#ifdef __cplusplus -} -#endif diff --git a/scripts/windows/installer/WiXSDK/vs2010/lib/x86/balutil.lib b/scripts/windows/installer/WiXSDK/vs2010/lib/x86/balutil.lib deleted file mode 100644 index 395bdd62777c0a022652727c3bec77616cd532ef..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 1155228 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 diff --git a/scripts/windows/installer/WiXSDK/vs2010/lib/x86/deputil.lib b/scripts/windows/installer/WiXSDK/vs2010/lib/x86/deputil.lib deleted file mode 100644 index a50ac90476fe9334e0900c63d8440f84b0a9c3bc..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 1082026 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

    q< zdphSFkkMc6MOcWOGCy~;WdUzC7P5^v7G8lke6GYV#==n1No~aXJ=Ec~MW??{`Qt`= z_t?3h#Zg0#PY;-P)h)1n`Nw{uaw@;6N5}yWmXYVLP5(h>e(pRwfY*D1_X8FWvF~laOoqReZ(d`0oAsKve53SdoArSH?$~n|@@Cv$ zID9_nj9)i7GV`Y#S?tICNO#nvec$7Qclx$dxO-nh#)csKQ=phaK zvM*_W;xFxvKVk9xB!7>Z^1Gbz?{&`F;!Vz2aB824-$W;bp4Z>N7JjK3-1rlNDUILY zj8)h6C?1AC{~UOcz8%1qT>LqU?_W6hy7ye{9@O;h-JKT&?=N(4-*rv^Kh0U6Tzhr^ z|BN$6@347xVTJIpj{G~HXx9}*GAC@<57+liFWI#PVOzan`Mw@wQ@gjd{cFHgpKcHC z<#O4~zSOX}_b-#n7y2g$2Q#_LE_-TYiF)IiC)J_0d6GC!sMq#*lgaSDra6JIdXAUv zj@G9mRGL1CZK#F$zDGvIN8Q%0ZvapD@E9G#y?+O?aKJH;nncnJLzbAw+y&pOXrh1U}Wchl+AmmS)CQcy}N1*-nr*t!oor?k9H*@3ZvyrqH84 zlD#^UqdSt^*zf>u4apAYU4#;7l9a@u3-^&RyJeQ=ON*syaUr!ZSE-ik^NW^;ZZY9` zy3VLV>vp}x=Ub+I#MjW3nFEE?-drYwb7AT1xOgwjjHbs1GICCB9R!WPqIL2R`f)6C z@6L74O6nN2$F}!B06)+eyYq`h^$YSH0~;^m3hFw}2a)doXkdFwXo&K(w|b3j_kS|= z+dGi8=V~vztYA*yWm7YU%C!<*b{2Yjdw0QUVsb!VAxJIw@9r@B2b9+#i7xDecVFTl ztmw(7;M61GQw)}GVHdCLfA>lF>_VLo=#-cThAliZQ<95?nRHW?iU3VKQx^OP;Di&? zP0P43eME7w`M^)HEt|?!Z>me_x2}B#W{F~HVqlgi24?eCq6nU}J4Shi zD3*3FGxafqQ5xI)NF3tz2va{Lj^xEVvXGY&M_|8YVM-jPeWXciiDPhklz|;8I<#J9 zcAgMR^1@V$r{UAaj2jJ~HZsh4IJ!XcTDqX5(3JlY!E?qmjZOPfgS!Qq zc$9@vM?s2pp^g#X1}U44>t4cKJkC;>08L)>?}~UKJh&E;{0zpcgXojzV=Vq2`XtVG zu9T~#eW_eFH9E20(Becz4?GdRze%qXz{mRjs1xYN-t^1w%UF;@^NyFQ)7-=}IR3!E zVZmEHRGR7auCa6J4+TzKWv960?c~c%2yhojHL_1PG;Ub@QUNkuC9`P8ZjO%j#p~1c@F%plKw20 zr?D4`N8IWOUJRG=O!#2=aA{_&QOCBlCw%Zw@WGD_AIy|^wssLC*}8Ip6BShcq-}5F zPaIt&ls5m{Y5Yv^;8w_U|Kji<`i4`{NZ*Kjx`G_JvDZxs8gV~_w75Uok+?&)YG1vd zaM%7!USj)NUW@q*W7ue8+2i;E*|_Uxzy~sCa~j6vO(!a7rm}}A7uy3>+%O8UqE;_Y z(?*c=G-2R4Tz_6%7%W$7^@(}Rq#UcCY4P~E!6Q48+6xKFxaS|pfUM-@yjrwmNG+-vZ`iTd&UP$n}m4!rgk_U&8` zlUM@apz9SmOytdH;m}CNH6JH|+_S1>|HmelO77o7qR+=h^UDFed$(ZWJyS_A_--LJmEj;mWF4fESr zo!lxqly>Bn0NNKciU>2!35V)~&Xl)$fKRmk3h#92(%H#&F@5!fCUn`FK$nLA*5=%a za-w|ar=g28YaQsg+P!fM%Znw9%W^*wX|@G((L*IaQjBp5&8y=Q2{m^=Ep>$3;zT2O zLsVN;y@}cX87xngs&Y+CFpsF(gtlg8tbQ2kLA?n)IcNJ_m&a`y+tSpq_ zm*)_Wn32JMb;{QNG*kbvbbh?hpUP*`94p3g-$AB;fg^WdopK9J6QX==bF)sL&n_+F zT%giG=B@dh+!+fPbrqbS&oKB<+W@~=xy;DeL?%#I;Ffe6R@EZPiV)bSD*VL2<0kYA zoHA&aCh`A48lg;*KQPiiHVjAJZcWMkqp|)#6Ums?P=HQfFiHEOxdV+=`g$P0e_Q6| z{Jc6=;aLAj)H@i4Boir(@fikvD89|SemC|^aT=+zWR9{SUo-A+Lp=EQShrqo-)WBS zJ*(P}wzD`-@RhNL-6(6Q8;YL=gA;+pzdOuH2AEM6b-Mk^ru9ju?zuBe0vEkKkdU(b2Kw&dw<5j zMvCPH8P_RGQ-Awdi>LTRAIUo!%IxUi*t$3-Cj)-kPfa_clkzHCtNXZ4^cM@uE6|z| zrt6Cy!3A1j5sb$(>2->CVxmN@4@_S$I-bEwbp@(xXaU4anH?i+SYyeE5F*nWSol6M z1A`?;700vf^<$)2Cup`Ec=~-}VrX*oN_gjKeJ1&jZ= z{p9(~;pvi?Bue{z@La;osW@ZeY5Hvub{7hVjkY<*JX?`8^ySBV%2-0t=2z)|+C>Vt zDJ*TC(M$Mnr8qMH*B)kGd8sJWCYRteTcG5nk4XA~(o|zEMBD$A^ttk~T?=rp;vt~d z*`U`1?!c2f6EgcS2gC>!rxSK7oCHE2<*DalzXzwnX0T;d)3N{C*el06fU=7~m8YI4 zZ3Rxr3};5TNOX%%=yp!bP?_}ifWD4?)?dUHiSUh)JC+X#1bn=N`f|QGSNOP)&fwa; z`~gVIBZWK`rd0nAkEN*vYpMUQogCQl3?AD<@yH*6-|odcR&1uv`|A)l!1h7Ao?NM2 z?*^JWa9lX=msAIx5B?nc`8Yu{RkeKgA?(S*x_Oy8Ms3UUffMf=!VMgtA+JZ)HI7g%*}%DT|evM)s0TVS7=$_*4IdRr8*qtQ{e>O6X+j(H3qC0Qrm z`>RpeNz`Nhx|-o=n}y zPhAHZ+Yqx>Y;OzJjqM%5JJ-$6w_}5;SE|;3U?QXA|0Tc^vR`GOvREuHrKYFp>J0}% zH2hKt&n``4(x{cjD^T$G`%{-m*gz>M>?snaYjOJ0?c&<8>#2ZmfG%zyA{$x4JBy_N z>Ilgg%=^|Pp})p%m4-`}hI^!5&FOWygeTLhPr{Pvm6EW4Uhjn53;CkGU*K$`O`w}g zP0n}D!kZKeuMZ5V`+C=>BgF!xqr6*QhJP z^JG5F7+RHU^gwI%je`*yaXh9Bwij^dD*V0%->+C;C-=30U81WLTi@o{$oR;zZ*}(fnLkd?`+L091#ETf1GbxRf6tfu zyGS3~-(?;KXk=Yu4>a%Z&rfwrIRYU5eUeYyt^oUWF}s4To^GL=ybX?Fy8_fXWLJQE ze7k}fDSNgIQw*2`nf_4{*m8rH_!6Hv^F6&#UZ$0ez__+T*&%y`d5K5Z6wDk0yMnTT z17`9UUj^LvaQ4AXepspr(A0(Y4e&V}vu^-QxA3JuS4=#t5lTh1m$^=16<93Wdescf zD(gycgC_|jkA?{g*+?7`*mO~4{}ua9Um>K+Vf(Fj@Epq zhSb~gk8k(TBfJ>4TLF*w{g!qSb6U0Hz&Q>PNc{#&hj(EN(G77{rU&!7weGk$Ak^GEvN~*g{cy_au-EkG`&Ml+jXi%@R!2S|S>5yEvN~*Oibpwmb>VSu2b+LPi$m)Q_WOd@Po-HzEb;OIw>H>?% z>VP$s)e#nx)xj?zS)Jdmtj=#&R+n%`R_C`Xt4p{etMl8H)g|1K)%oqp>il+Pb$&-> zb;6>uI$^G?F8M@cb;5j3aAbADqq4f>mmsSX9+lM<7M0ZrkIL!>7M9fsi^}R~tB|aY z@1{29NjA*ZF5K_CNjA-`*e|QBj`Cx&I$$wbop{;~>&xnl7nRiki^=MM#bkA+b!ByY z$7FTDv=jNVI$=>+ov^5^4wx^iUkkZ>2y%H2WA)axebq+3!#r z%L(Ae{cG-5aO)bE8g2B*N<10X63@q6wT|6{TT!a+HqmGT2%t}@ZZgScVjt=q)`=Pm z4e}_%*0P!4-UMys_DkD_Y$oD$a@)_;Qul?8^$1YiZuQS*j!d?dAU$a-aX@e*e&nll z%8p@ktcDVXo@$>oCi}8HV`uakMh`fEUF>;TKk>T@HheIcT7r>0Y*>xH^XXyS^TV(( zY+|Am(OwtaxIl(}JdCc=&}?2DvnAuv_@4T~o*vpB-Ak!X_NbYC|X2p-mb$%2dH zL~gh+f-`S8UjYgp+rDISdZDeh^XqZWl>0~Z@@&~ySmtnEvAm>q(!{&do3};>_pIvK z%3`>kbK~hk3iq|8&9THRcE+=~rZH(JF*TkJ?Od?K5Y|^%BNM^7YWcyocXn(X7E)HP zMcVVO_tC~8wphnzW!q7&$g5%p!p`4}2i@!nJXqnnI+~ucg^c_^a|zF5EG&;5DpePX z%gfxiV12odGwswDXAjmu)#W7CEjt#kFJbG~SH}!{hI0Rs-A8FiT}Ntjz+2m+sBp=;82Nna?f@XEU^ulx}Hbued-)#t6hL(2!oZi(`BZg%>TUAx43 zE*3U0nwJ2>A8k^B0UXJihF!)H31Pj0ye4zQmX}Q2?6|c$k}<%ZB}0++T6P#)4j?}5 z^Wa0ct8C~XwkE0JiNa`Vq(v*sge0Isc>J_iJ39TK(=)K4^4z@k57W2ABo(K1jlBkK zNDdm@#`a}$!>RG{%(^z>K}=~6wM$_C^K7|VCSg%rcy5Ms;bNGtgIwKih7mgQ8QmJ~ zEd(hAAGK3R;#~{#c~|AA3UI+3B5-bNn!Cr7txqpaX4Om4r)bg|BnLKnzmVaXeqk(Z z#4T6sIb`yfhGDdFgTzjk^V@Z{eG=?+ql0kL^p<3%%XC63#gFX-JI^DFQo^;yOb=dD+SLs0jP2=gb~H0OInp0Ldr#}#(B#VzRDdc`1!)Dh>uo=O zzu3HTc0I(yj3U>cBXipb&%qn0<^69wf%U)$GE-SG_X6;6p@~9TzfSDJM@mbL0Cs2> z(+pOo8#O;K_FLLSG*CCp3E9!{NgkzuS$3#*unLkURxtxb&772|)lH}qZGQLlM&(y- zu@|f3)zWMUx4Y^&55_~ggu>Xjn8*HD9{o5qGM?t`9=k*-aNo4ReY$#I`llho@m^3u; zAcYehobw3V=U*g!a=3J;v>^5hlqYy*8vH2zZm7NCz~5P$gN#3L0py1 zN8p5IFgu(X&!%DZt)4(!N&KQ@spldqpt~7>r&R{qPIRy)gZf*1w1;JC5wm?c;$?L48khuU6U`XCA8ujHe!rQAjIF-*HNrZf`@kJ%u+BGY z1H!ssL)xg#dpFoM<12*DteenqbYd_sBN-O-*>uR44M*#d*}4>4n?&7YP>T)O2~pq& zD4Z>7bA=rrH={1pNpb!A%8k}#R|}Pi#Yw6Sed)V4Ya44DobJ&2tVDx z{fs$Q5WdYz7pLbmJXD*?JRM5ob%rHIQlOz{quK(RvfRxx`sFT@N5m6lD>_wsh1hw*^Xwsf_DPU)k~10 zXdC=yQ$MqA#L?5S$y}P}MX=1mF`NUf9YS3@^_q3lwt0(Rhj88A>cfM&>6yp3NtiS$ z+h}bpTvm$6@|21r%JSZIa$B=b+FpkKralvu0h*o4y7}#bw+~l+m-Op*NEqX0YrZB7 z{J{32p6Hzj-)LQ9%J#J>wPxLPuK2w*>Tp|=I%vDSOTr(xc2l{?$oj4M5PY|xd)SBI z{s>dW2px$I$`0DTOh5VX_*ttpaOe_#U5X1vv#w*3(MLhwg6_(`YrcnywRzKj_gH>- zFYtnHL==?SkXj^ht;ch6*#Y43pl_)4eM8-0Xd5`@S+~8NsG#vDZClH+tpDS_q3(40 zY{)lMlqS(G5gS;;G`hyp=>GH#b=UobyRJ*O%TU(3Z>SFdAB^D+A)-W!D*2qK;47Uo zZMoQMliRRmuS4ZEuJRs6jqTb{WrEHk2iT6(`d#wl1{CbD%6Vm{jdsg2ISuVj& zVIZ?F3t3_$GmuTibVC$`2gK=Gez`Qw&C$>ng9Mjr2e|?aP0pbJN2!*O9}h)GFaWxc zeLi;o;LDANL)>_PkFaFK<1vn<2KN`eC*TG!k=}m5v0w{&--$j>UHON=dtrN#fKudJ zhU2DWOFd8Y>mQD#i4#%hOvdHy=#gfSGpZkn<>S{%=2wQ}<)yuu?f8AN&*SN$*lPyI~E#y&GZqR_Jd0XvyOThba7j~kE7#w&q*>y-K zJc&Kl_Kyo4Ny}rRTa2vDx{`89^i*bKOi3m*c=G=;tvP;?)}Pp1TE{w0Y~YQ@IF=D% z^&cR+2J^*+`&N`kwA02Wkp4zZCl@ZLV%vk!@JMC+d?WCdSnOT4FSFmmS3|7dVxNt$ zSU=MKxz)2*(8)HEIA@i<%lq6;@_@OF0%i~LPrwJ^aWz^qv+iWPZl-mqV&`v+b?u*W z_zAuvHag}tZ5MZO&B5@v2#daZUfca5Z}@0MD-xktjL-7ZwK6A8Y?095Db{VG;Sqj{ zW*-Um(Tc!ZVng@?F>~){VmuPX%J2x|aj!d6Bk&0OY&+(|KSenFSZo?^tViqUM0$S` zOXcbwl0f=rV^O*pc#i#&aNKxRT7nzmBWZd)H@wLGN=a)&JDE%TW_rHo4)!yzR z+*#!Mui<@I>c2*Pf_)D3gg$s6mxbHR;nV?mJd`zrwTg)Ni%ZgVtdSJUfSbZ|kkN>x zCa<>s=wf6&vKZ_3&~Z=4<`e-&dMYe>V2v0p!mLGZIet6_r(eqh(;V<%3mMrfC7v(%7&Q6*ln{-z7(Ug zDUof$Fwf(+8P_S-V|@e5xCId=$p7@i^JT>I^~r0~HCjEx0FJ7HbNhy>!nxeaNoH?i z7>3bHVqxs^MZ38{ewFRTvGywtPaF^K(F)yP?e)pc<1^clqL>d_AAK=y^8+Frx52@I z>!n1Q>sb0qlRBh$wMVQ126}wh&srJitFiv#lSkIf42KP(@9&U(>~CUeES^>-U^s5E zlxs;imh()@*8szQ@o~^5D)nrzxqzG6{+WJn?TsfYP6rEg0iB*7&I2hv0m!%PZ{LtQ zvYy9VuU|gjsx8~I#V6qa{KG(cgFkHYGi=$~@4nyacK`A7$zI19J!lKIEo`Y*Pqky{ zH>ECSzjxNw@9&-ZwJ?7U;$Uv94+=0*fT1qcl^Lw}aN9RHrgvIh(%5XSq&~*={sM+~ z`QZU;YB=kMb?|&?`d}W0t0IGQFXbegM(2ngz)ps)YXRCWwynzQ5BH|j-;%(XmUa(w z^TA#l?GSkP#kV&`Co0VnmwFbSNG-SBPDZ=w+-LgebX9%yd^hlWmO85+lK&zeyQ=+>wl8)N&?)||HV zKR`X@4m$Vtx6mFQrMP~0Ih?@_eG%c#f_WKTC^>4QyxdA%)DGZB4ll|1-cY8|xxyCi zf)flk!fTW@5C%;Y=T_*dIRE4U##!wL49?T}dTCki_ETQK+4ZS3jKV65fxSr*KdAlb zPg~*#TnCRE?cxlf@Fb21{FlEdvflr78DEUQTH?X}cMtGb#$5@i+(gzt+SvMHzgaqP z<~^%w&unNmK7XW!qnQ37nm`W1i4b$X#@>acx`=-TZvHwW55p)Py)@S2E;stipJ=x+ zYa%NThSLjvx{vJJGOu%&j@tYGo59Psf#+R1>+Rwe!m*|NC)#l+dXJ8ekF~wma{qmk z$_@9w=_%N*HKy&^BGXoY@mexFevwc9)090lF)^Mu-d1T7IfX4S^1Is{Njjk>$v_3# zc0Ue$$-828PBCLy_}+y7M)~X6cGC`?wpzbHT&x4+++}}uVk9-5Y)E}^vLW@w)~eei z1&(*xJ0HzjdGmcsvRlG8r0=7G^>=+m_Q-eGe~s&FvQNU}eq`-~V3J*Bom|qUSLVh_O2!DBRFmwp{;CQ2f z`93%}ukg$&{A3=%u{e>Vm!+M<_ei=vM%j1q?eh`u2jI5=(3hDfeHXRjXEe#TVAOYF zl5fN$Ux;U!_OXaqJPd4I|A>YL%ZGBM=}OhwOTP)UI?2PmF4J;QLFyItE!dB-U>C-M z`!E)WpQ)Dp3fhS1_iui%-_zxc(D%W9fBb$jAME!Se>Sn-UxT&rPOOdFuE3yXpEde= zR7isAgZDfee+}vu%8av|n<3$^>syU;GvXE9d!9Kr0~VT_@g16*@$Jty z|6A^KrY~FKT{9P6%lOsmozCo|NE@4*0gKJe@O2lOo3RG;eFhp?G4LtKx!Lt0XzuQb z&&}{l81n&+bfJ0jf5UywDxZ)p(Yd+PnVY%Jd=lp24)jscH6+i&k-i!EbQgA5UKl@O zL0{GNjPdcYHa_ZCW{Wds95Y@~G@~Pm_&W>m%-Qvx@s~oaEUs;~avA$B{Lx#WDY2&hXRLo`oY7= zGq?PNm9B||Qq|^StupCbjJoBAIc?XZoM^F8PV>uETN*Ro3|B7LW$MOn+6v47z`C39 zXSf1)ML36Q*3AzWS|3|I*D6ozd5Tj{>2q;tg*5N*?C4Nv{tviW{%F^m~ zqdHs?IPgW%A^WH1{<8_*vSH^7BQ|KP1x<}wGe1INse|s_ehPNI>MxV!bFb}j8!mq% z+qVXTuZC#&e{cVm?fbXzO?7Id4XdCb?o(`k{Dx_`@vU8LOV#7wcQ)HnZX5_J=snQwDg#hHxRzx4y-!bkhBXpUIe#U8?WA zKxBctfmb)~;53lHkIOm0sTa1O^p7==nXnr$(NQEp3Q9@>y0lvUl5L+~b!gHO9_!3+ zy-o0<3>}<{AP?~=FBOWoTGh={hMGcSDQ1$I2e2>|AA$@xVnxNsd-`nlAj|3|mA{f) z{z~+yPD1&{R{hsN@30J@^)l-bhQmf(D#dw-c3S5rrvWY|4a04k6`i}b6NG$7Uc!v5 zzpd*@h}*d)-J^48v?_u9RgaWWD@^S);{d-Q>ldc1Jk0NQeqRuTckmnXu&$||EVv^g zp0)8xVv=L$2VFbZ^+;jG)`8!|c?ESKjvP039v_a!%rk54)xAAUimmMH3S=$d-KG}p>}z6$zV}SXA?(K&p&i0~-&Wnq zn+%5^MY;5p@ps4L3rds=7>2m`_Qa1TZ8I+h414*lwnMa|uUQS%tMsr~k2f7-oomM* z!rIIosQ%r5gtZ%(fA1e*9g=pa%rS}WMgLHjN?j0$X9M_02ZT-IBlT6Y74_5iEn9>4 z_J;-UZ4VFLJG+DTw$q*WGo1HFIPZ@P-nVYMXZ15yUVVyb+YpVPDln1mMc4W?`5su- z`!M#%H(Ybt^Q@Q4_i%Z!TnDkuJkcjGtaI#lO1{+)uh6S=N58=BdZW-^rmtx7Tw36J ztHq@TJc;6*kcAHjoIDY^13`B=XN4FBW^MnwO;FgXe< zm|%=d%^WJ%O8N5A!9s6uuQN(U0{Ws^n1R#Jmt&NU>1KYeA6bNhD)#lgpp|;Xi)1VE zBf~qr27DcG{kE-r$f2zr+x>Flb@3+GM~%GL-hBs@R8OAN-kt+>+D6`~;34GYV_s*1!=VRrye;guz%i85?Xs%{~PzlvTf-Hdj#cR453}h8uYk-+E#U-rfuW?j7c98CicQn4NLmO);RVW|4WbOpteW5$PCY7u4q&!_8 zUdQJ2*1tPkeLLq-Ce9Sn^H^pd??*`Xf!s*EL)<|7VyS^qczrlrSs5=z{QYyf6Ciwh z8aZzgxab2qOb(}Vd+D!uBC|K_Z8~Y08jc-mgYA;(+BmRZQ`X$yDh?Dzpje8CCsfSG zFwwU0ZQjAB#S-1dwq}#40-zcQExLl8)p)k;h zs18mHat0AF&T(Hbn18jW1+k)~HDXJJ#qvx!#`6MPr}Wjgg>-?75xe4AkvDqioMigz zw0{?_`L37YibUq>BHAVxl1V8`7c0jz-17t`@uy<(O+7dtFwFD#?a3N_E9CfTz_xm8 z(IqOnM~TgQVa(Z;9%k>&R~pq|4c>LGrx?GXA zCht-2Jm=unxh9RHxE(w1U4youjQ5;NqkJck7WfjVB~QcMXr3dF!LKD+Me&m+h~P(9i}>k0 zZ1{6#1*^50(kzYzTboP&j+e2iYvBpe_c>kx-k68Q4`P3I44$xa*>r5DKB;XJl7LXR zB#y(sG|i2#A!3_t9xlhQN^~*7*sXe+>p<`D_#W2NFx=JCRO9h|Jq^QDPosUc1{m7Y zFFnd;z9J?%%=-a-L1GZ`{?N^^U8tLB2>z@?i#SIsb8K1}pEl$X)xkVa`j{2dh9P~- zVSxqum?QEX=wq&z??4~(8}c32$2?nLfj;Ir@*UU5+#v9{KIXXskLzQO3Ovxquq~;N zd7i+Jr!9}akEvW@#<~;^EaPMhy*gXj$*leD`q2ha4l#Bc!@ljG@jIILzs)*#-2dL! z!+Q41H`kh7&<(r*^%t8M*?2cM(ePAO3fiA=e_wOQ-c1Ph4E95A#=MRDsjB60;7DV&#+SfrKx9;qyqK}FsVY3wd;mhuX?6J>Zfb9E*?IguebLMJ?v zX2Dnjl&-Qus^;=aQfUcEP~I!8 zY+~>EFi!HVOs(~e>e9Xl`wh_DRiz0p+4wE#%T*w)J0KT%51g!r zSH!O4VCl$IrC7CN``6@5`n>FiajfF`$kziOv1829d4Tb-+5%IviNXnhi_)Uiaq^9( zEuzC-$YL>p60w1mR&tbygMK_%sji^f(5;(E+vo(g3v>FeRb-4ZuyDH>n7!a{%-AJ! zZsuJLZ!$O=UG~J#sk$*nG}HlsyTolRhBjd>47d^=x)`$^Mkw#d>V0zF)R| z(daj(7iyMojm*5v&9aQ%xou%1Q0>Yhh5T({#8T6DowOnVQTOz_;Jsk}cN)>A zVK~>nk^nr*G;dEx;}gTCV;rVaIQjif^s$FPfAtQ8!54LFjo&hl`UWlQu+v7GA+Q@( zdg6dSZmkRUDcL^sI|TusS6r;JKXM+wRq9U~@GhdwuImHeA5~{)_|tD?nGXo-c4)%B zOPbu~&}8%5KTZ?H>X+SjzhV3Cn?-lqkHbQkLT$fzm7L3&TspW^S;6g$Vz0;kdbuoW zp~qY<;>Ok>{=_bF&_0-86qo8w{0lB4+?*66n0Y+%a>9m+hf3MUFa>Oj<%Vr-$5 zYQTewcoXKxB=e7R-CmOjeM#A35>UB%J5g%!{wrNiz6bcKUX{yb-WCCKewS&I#3Wg- zIPrl+;1A|YJ;Vb_YumQ2KNwx(|31oH_6qq7mX*io6K1Wng3lYkZyc8&by0LI$M8R0 zs@0&L!0l*zR0d%@&kKdg-qo40^jO^$N8uoNkMI}6VcTzEM%QszlrzDdYLAvUs@L*_ zUwHq(`#=Zi;qwRb6PXdN-metsYCCR(p~UqMq#2{+)Ekc9Wf(O8AEMP+WhhZPfR6nD>2_ zpZ-YbyUel88aNsG%EHI1w8SePviH85e)1uc#=3^`FDS=Uu01|%>LW67 zeqyp8Yss*ljZJ|y>~J=n#fmpIIxuYXld)A&Vx&GJaQQh)U3DJcE}fy0U8)(|F8WWQ zzR(=f#&xT*UNP(cj|!exgWxD`6vc!=G>C{2eSM^q7xqbHY`oUCbH2vX>f^ux`;Ow1 zNUw|aMa8Up*X)J9U>F8lOJ_|C+-|V#YiI#I7U->GCSmkXXS~(piXza1b1wB0TRph4 zv-$ykpXjZO>vsd+CwYeks^Ev}KHP#r$Bs7b8PG>|d$sGwm$(D3zM^p-hVTj!;_0Q% zRn8*vj-$}Bp4>1|tj?9NSM0109k72CPST==_pGXZA!?iRMH$Coh8MY?`cDi``er`H zUD*D@zR+Slq16LZq96${(Ed)kB;8MK@kqR%`qP_?i_)TJ8*y3xe(FEnd)Ozc=%m6w3?4WsKkS_s99Fb=AZerxjb&QyUvE;mI)!9dmb*?sq;NRJ{W zO_YndhijCtqyAxilPRC{V;JsDV`N!3(69eD0K+`rtT>lzA~;43DjX85iGHxY+fH=g zhZJspW&J~$5WZOWxytsSPUCLDSt1@Ip3y28dPF940Um36s9vAvWoe&Mt={r<_|;*Y#WkV|dEDm+L640POVCi_`D5@o;dZ89!O zi!rg)SYP)0{w9~NvY)YK$t=x`%|b=6P?^J0i~Y>NCzn>RQe-c)J89UXGi$IP0w0Wv zW+!ZLa@08UmBX0ppXNwTB|LJ4<!%?6wGKC}*5h|8 zHzo4>>L%l&v}kp$^RrDZe>AeT9xE+kN(t7`9@fmNtW3eTNx6<~HyR;3>+E(fa0Rb+ zNk2DuTBc}av(|}W$X+#hJ)H{+zTA^3G{6VxI|eyHkE{N`(^7R9*fQCBz?qx zIQ1J3=_6uO(gySq`(?c09Qkv|iS8WvUs7K4Ir6_vn4j!Gu51?^{rj<7x;NXq zlJbSCQ__30Lv5L`8ca+h_{^dYQMSJn`%GckUM~Ig_Z=7x`4evR4$6MRWwH3V(wy8z zV#WoAbB~KKjst2_-Htk7FTrje(DY|K?uHzyf7O9no12l6J#+e%#~7WTzncLZ zXkSaYzY{p<(+Vzb*Qe}eDdUU)0o0N6DPbm~4P35`jH&6$A{5W{(u}peqZ~mVq26+G zDICf$))#)!VN6i1)lIXAj8FJUfDacHZ0b!L@vh^nx3+Mk;uhRe%~$)TD~roJ$}^9C z)9v1U_wfu<-)yN^-_hIKhT0m)j+rVZkV7T55uqJzJNX)VcFdHf8gpmo32et-N88ta z-XU*6v>j8mntpXi91thrQ7GfIdp75BMr24w+e=P4i672$4c=k;(uelNhVPNZ0^D%+ zP0p7OPtH`QaZLTlY_+m7xp3sV$@yCK;N*06@8rs%gR^th%49m#pPD>aK6H3t>EIY* S^ev;Zpb5;zal*tq@&5xFl+eHc diff --git a/scripts/windows/installer/WiXSDK/vs2010/lib/x86/dutil.lib b/scripts/windows/installer/WiXSDK/vs2010/lib/x86/dutil.lib deleted file mode 100644 index 01218ae9ad68f9e6502e318da5abe185b18fc99e..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 3811640 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®_4k3G~;XqvDC>r+BruQUmI;zp=sIM0d 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⪚r0yP)}Prg*pb=)(BbXB9r68nSfdd9Eys92 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%0AH<+kcvka#WZb1i| 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

    DTu7lU`L0p#1>(vtU6nOrAlSYh+Z7}r zcDLztiX67p3W?Jcey(f}avF2!-N#@L2JeP%qfD}ggYYd)oChvsz6yX$R3UH>a6XVR zmjX`(E&wvYWxy%G#Xzo;ECJ2~t^h6rt^{5J#0e$YVsr^`1D@9aw*l$zDqt;;^;idF znbreY01rc}K_yLUP)Sq3szYl~G`wUIQvh_dhpOoIR51QHywAu9r)@qtn*0ccgDI*F z6z7K1+TW?_g;Q&7^_nMBQ90%)z&S8I2_2Jlb$Bvrnl`XhsK|w6G^5WW5z5&6S&W(s znUk@6gfjN!Vy~XaW!=zoJY2>&8UAGG*`~TIpL1^EGl<$xjBXFZA>03 zQ*o5)qok9nu!G`6Tq$S2zX7$x^lb!^OIm>^11|#x_48T45T2Qb%|J%B7kVJK=8I{N za35((#?ho?oT5?2VS<`o<=W{HJ=)c`wbAUbi0ung(#y3QL!8cucN#ZKV2}fz7?6h@ zHI3Y_(ukB;z5I#pua<2aY%2}W>VOUuD6JnH` zpW@0RwAHtVE=Q3laYl}eZOQV=F3uCq(MjOGQ9f5Xo^9E-)ua>1JW{dT zTEv96PChl!-2og08nzll*!p(@$(>!m89=PkMrHx80TuwUhe;;BShJ0+!ZSESwolvu zWEp-L$awZcE3T$VaWzc=>(}^wR%kD4Q^4XBSGnWbzjC+GrY*KV3q2tuY2INp|!VJ+2aTw5u{LqUHYj@xz~ zLP{GMY%hP-qVYWUBxW5jPk>e*7-dc}WPGXG(<0lp1|~)OqD{LKCe@zqg{lAc#2$ex zn*mM5_Qbj&jd+(f8~fyeAn5i)3Et(gUnKUabR@GgZZPoffMlEu`-jjgj?

    o0=2S zqTH*K=H0SsQ0_^(dAppT^|2Xzdh08LD=O~EX6xIo9_885Td?0Yie*B@_0XMS!UPTN zgqg=1j|j{EJHSlf!$6k(-N2bZ>;;U>2Hpo;3dB|)X?NcTuEz5N!1cfffgDTx5J))* zu8VMy?hzpC;!z;$c~b3zcJ@;{@a(kr_ET4Q?7jWeld$)Wu^A`hxEgw8KkW)rIMtVU zzeuT?EPTq?C$6vJDixiKgKpGs)6sQ1m;CLZO{+S7Ls1RkJ%s1%hnNQ{mRpOM(BQzA z17Lm{$OiZfkp0lJz)8U8fYX6L2VMYt9yky93t%zu1z;5rH7{f5-vC)gzXdWL_BM*& zX;S=7Q@~>H^BbYPrcD8E78DXg1t5^BFRXxhH zJ;=L86A3IQsv*!6FjQ}#5wLFl2go$O4P-t188{Jm5XcGZJHQ3NzW|p24+ED0-vw3! z-vibHj{qqe!FQ2+fgb@`FMkKJj(!iV8XHZjvC*UkeQaifq}kCFu)c`eR_;2rDPUc1 z)4poc&=qQT=={W_*6`54xGBJFbdjN3w0u-A0zdvckEfGdy#)8aW}uCj6LqYhyPz{H z3L4ce=ELM}7p8(>A#d%741;PPG|Sy+mMxXB_b&Z?1Us+5XJ=3U917Ooh#ygW`+@aS z&wb9q`^E{89<{<`H%{PFh*RL(+({lst5y;}1e+$k7p1IzbA5~0kn{c1krvlM68d4T zR7lupzOiOgT^TMXv|oL28Qoq)Cnpbwb1FY990R5jMU`LXor;p|LNQs^6L_=1Y&`{J z%i0GF0#TW=`RZ99%j!8GdGQTswRA|6S~{c&7o6btk3##YHU+qATzm}TK5;PxEWZ1A zL)=|z(=e#PqMv7f^`~>(%kdnic3hu|@Ka>pwcuN?EFGf@ zNrW=?UXFVjc3w%#FzKH)u^yG96gf^;xfvRG->A@&R*AUHGZn6>-GH?~xmm$*Tw?Aa z$Hj4v$qA&9tneW$tjN&b5#XU4B?x9I- zWqMm^kzbJEt(W-(G-w5^E*Q0jFF}QPoRm9LDsq2 z6yQ-8P2+e~`2}lr9?Gm-QPn&!dN_N}*rKCji;k`8+5YmE|^afskbr<0S>*?J^M|z50uh?Jox*t(@Z-29UO>f_d>S_qJGR&ce)BXe4 z572AIoC{szv0s|Xu+ul4W+o#~!8YD^Q;&u4ZVOY{K=S&Qenyy zB%FDZHZ1lgjYlUDyR|)t1>lgp#-N`tbyIOm&H4_MmXjq-OwOI7=7k4ouj4hw95lg= z>eUI#&~X^^xGy_$hE*X}s^8?sHWDzuMzIX20?@0)gf+rs^)dMCfLy1z9!NoX1MoE9 zSAZNc-UOTs{3h^X;J1Kvz*~Wgj&-j&nzJT7bVf6FyrlOcSSxyTQW08ZD7CYvIoL2Cp&t^ZIsCao)b3%^ZL%q_w=Ylu?dOH5i)I zJW0_wPf|24vnkrQY?`ydywYD6pqAVEI#Q!x?(K%}lM&JWqBl5q><)wdd%MGjySE?d zt4v-|6@5h-SoK<7)b?buL;AD*?}d)N%^@=ywH^i*7{jL82km5hN*<@Zm+@D6?7fV? z!ej4c{I_AB>tTGRiD}?u_B_J@mXFe(J6bzRH(^?DSoELfekV_Jw1LRvD!JqsX(V&~!Tx znj;dY{a#p_%kJoIjmJKX1+GUd@4|$|92}G!DjY!@D#l5_4bW$~c@h&Y+1azatqz-g zWK`meoxZekh~tddsDwiHP0v7rQ}7z?t6%NJLY>`UhMoTAwxrc!PtcjnXDr{E3#Q zRz_c0@hIG-;<~eEzgQMJFZY+BQ9HPl;tQn<4hUT#I550qX%!}1(WiQ0YaOhJM!EZ| z^CRpCl3ib?j>(xCO6r~}t||_miy`rk;qau~y`gGmEiE*MFgP@daB65m^jUGbM28r~ z@Hv%bk@B}!PTMmc!(?uzSZd;XLv7Y8NL!)yU0{=5r=+0o;QnZ*Bn1~I+`nPZDF0JA zZDT^;jh1BOw2cZ4@Rg(=^q*UzMmPt*f#IA8{S2!ICXSLaWb500EXSB! zcJerfFI0wm$m6VM!{gtgC6uw}*6}1Q#W`ZUS!`qWne?b#lgEDoJ=??MjFWK?9i#3N zEEctx1tq80g)>{3bb#RC^3ON+9*&J}9Dj_$nLrayy59VDvOWG#lRlQ-vv%w%&3qgQ z%`&FC40|?FEY=oaHt;qeJOA5(`M@2(DqtsY74T{xWyhC*H9-2?3H%0-GU1oN?*d-{ z{yXqaAm85I1^fYU8}L7XUjRN2ycYOJ;B~-5K+Me}e*u04$U3+Q_#yD?K+5ca;0D#^ zXi{yCCfr&~8=-Mlsc1?*-wuCP_S1Nuj#(w;^r8Fi%l`1b=itcvk2Bl%bCd%zp0R;O5}P4Y@Cd0{KH9NnYH5Q`vu6 zu|(}z;^iiFNOfOPZ|5_~o!fhpueb+W{g(G;KbN2T($HNcu!|NQn)uAnop&HFC86q) z&>1B|yRt}^b{8!_j8@lEI4aGTdLR|#&c7!O-9_nRx67eB593j{&9tFA|3u63!)%|a zXrBjug=aL;1FW9Tzx#*oA|WSyBs^RN0iWHWQDY9=OMhQwW8d(rQQc*u$2e2aT{bG? zz%>#=^3Yv3(5aCNL%TR??fwycYA?%~=57)U2dNl( zbdf6Dm!LTb3!UG!$O{8+T;&FZz; zzqq6q>9IHx%P5wcK&vfos&A?5kijVj z4WwV z2ja|R1h>^#g}`~hg~0j1a^N!HVjymhv6cWEfJ=d!fy;nj0Gqh)4cbuClcj!o>%hRw2 zH9h(t*?V^U5rOvQ9u1u>qq0DFaCCVpM*T`m495^^$DhDs*3u=}zY-d@q^8Mqlc8mx zeW?yAHmoTG#VBJo4QC%LD0z}K=4gk;-Vga^pyLZJW&z2vV7#Ftxq137HX0_Fi{0GXT-C~vhyO_N%prYT^tJt!J` zOGT660{Wt~6_~ai#%(fv){eIjN?$j&!efE0{8)E+T26WT(48C_?)U^hf$+&#xI^_z zJ!3EafiHu~oAJ}s{(IOi5xbxAa+)WQoQP}@3Z>yCN$QoSjDKp-{)0pNu#z24;}V~^ z#m4-F3<2wQ@ZYTZAGjZTWeVNHdcdOt@^CP!aV-XKjfhcqQP?kdB)UAEOX5YTYKI`w zRDDV3_G4I4G&j{pi;l{+SD6tY_ZhN%pLt5LILI3#v@Vz$pfltgpQ1gAXVr`S45oEr z`x1UR+{&=tgo*Mp#@9RXWE4jqtP^UgebDTDk~RJb=(LYW&qP~w7d{6QPWzvWeX7_m z#P4+;`*Q}-O2x)@!M2z08O}3J4CWAYOF!*GZQgga4izZ;Ksn549dUiy=V>neEhQcS zC#r^}7U1cQONq{o&Fpd-ha}b3Hk!Es$;xZ65GUU;&UZ6#^#!i-D7YCBT`$1;9dJ8IX0e1h@uR32X;(VyxSw zqrIl-yUOKgHD5(t%@fzRGf1@G(w^&hmU_vGDrvKQyng9i*Y!)UbiKB9z)#t>D;vL> zng_S{U!AF~WrcIilcQv&ngs_bvTmg2)C=&;0cMKD zA<0={YQrxJBt_=Ls)64M+B)bAd7DQ8nIiWUoGw1tEI)wW32oGGwSfYfY9BO*q;yOD z3ur21&-wTeu~EC?pHtSheI`5&)!JYS@)IxjRjo^ni`(VgH<@#75Mxao_g3E#R~u2-F4JMxc`E97 z%ci=Dns%H>Lt(2|x_)Hc-MO;R*xnnKw(4%0mlm)h`#V-%0z0Z?WSeVc^i9QM#p!rf*JCyBxOw*&#=O$O0EMWz-hoQ0cQcP0p-5_|mNAF3N&wKL z1OQC|>m%5X6WYhx6tKRFXXWnSwF%oHY#MeNi*3Mq%BJnNX|LO~H*6ZYyVyEu1YZ!p z-HCx|cGBq2@uk(ac6>~IW837`bg z#9+il5e#to8HdDBJN^6_egalf`h{rjfe7tR3we_9(+w}dF+35Lu#>H!aL2U##ZeZ&h8#2bq)anrN-$%- zUDp%+zUpvO?Qrv*%anUl7EA|ssW6>1lh01o@z<9sx27y8&X{IXb|G=^x5j`z8u=Q4 zXS&%QRI`nEw*#y*VDBsghLxxcf^cVeh+)Rc-e-*yyQK8rI`WuFT12@EAx!cb-I=%; z2Fo`-O?cY~J7*r5CWgT{iLCE);l^2J3@c`zWKDF0VdB7KU)&h^FiFDjk6@UL!zmy5 zT-F%l1;b}q@Wc9?sq2E~3moRz4)b)njd0}PA3k`5U+O`&ioE~cyL@K4k{zox-?j#f zNW!wyO!zY@)vB&4U0#h(WmgxiEGk&e53v_jR_4zynmzl%@TN^Q8|&*P;e7T*&d1B! z>L+cqceY$)EsweMSmniR5Jp~qapmP%NHgNu5%Z+tS z9!bXDg)Q3@`8zsa`6nV@sO#9P?6~~7Z9hjoy={JpMZ^$3(_KW>5x?ToIF9ECkk-bIm?9pSzj?feyiFQ zhTr-w#y}>$?9t;%DFZGScpR{ym=aWZ2wPciOG@SzKQ8TX_xjHKEB_d@-ge zlj|_L4sGV7R_4xr-*0JjsmXQq>%!|ZD@ja(_WO2W=*fADTcOCb3W__+3K{}T^vQji zMi~lc+)5b=XWniKbLpmBZwPkCcg9hE7DxGA9ObWZloS?@D5hsJc4XA(XZCe|Ulx8j zr*bRqTA&g)VwwmFOC&}q0EN5}qu?@n2`fg~3JS&~4mV#0CBsGGO9D=KW4@jSWsHl$ zd05az!Qmd+hZXa65~}1Jmzy&|Ip3yCUWe;`w33|o^30n42A- zFz+$S-Jr0xW0YTkLJp2m-UNj$Ax6P#DcLiwD3j&hSU7;<*xc_s74>j7Om}^y?3b#| zIolWIrr+0sJe>>^)d2BF(=Y}JH2}GT11Qc~lroe_ppb(ZSBf>cJ;uIVkMR4@a76|D zckH)xD0m^F!=W4Syu+99s}HkKQU2fT`a#SWUW|#N8@I2MK=J!VC~ND^vSxhnvZrr}ug8jbJ@Jscc z)c^@-;=;94qUc7^mTC&giqdRTf||0;MRArP#|3^LIh$(CrfEY>C|J4CzUT%iba2ZM zQ2f3k{4&pz{#pVdh>C?oib-Px1UH2sv*xIV*xd4}4ta>pEr;wBdgBs_fN<0a?{7!r}DR6Hi0=;YPt4BH;T5^9gd?e$jN@+ znpaxucr#ZDda2uUFvTDO4mFpwdmojT%TTl4#7^B4O5Z&V^$ zZ(WG=_pz^FE228Zj_V#B*C}>fPlA#yZoF|}po6#=8r8O^lYXMg!pUQl7=GXL__gcA zHod6hI#uFw=7KHD?_0%R=v#WrQ3>8$NRQ>a+mVaY?2zBmA)jXFf`^QkA}ogNF0s=Y zi;s4U>y`ZnCdbEhhPb)Z5!dN*|zmIX5GCbRk>oFbI*%C4wTCajq4rIvge4Pu5-!}=rREZHk0*BYxSq3m>}r zw)nU>-tzmnoyEj8#WvlfL!Kfb!=d$rJ1)n#WvYaOU>wRky{vuFjiSBh3Wr`kaZ#L- zjqh#zKK|10J%5a1x`Lu{aWAE<-?tiMlZ$D#X_RKNX?8B=8nzRPGp^|p&My42#4diW z>B0E8W{4Y(_f1QgZpXDihdkYm>rzl4Mr0K0=H8hS4*Mi#{oqu_4(ER1waxKykthAW$B+cwEHKVCrFo-{ zYnC0?_d&S|J{Yp>zN>yT&LvA+Wf znj}_%yg9v4!eQS;S@)&8GVhCz3*rxP-GQ8%BwuL9^$$(D(2i?FK=n-w*xq*ny=%^v*TI~$^!VvgLda@o`l2x0@Y#d{7E&K3W2&fvq0QXZWwNvXUEm7aA*7N$6*nPA$R&2jr8?x2xR6;Ne&132 zvgO@$-@(Q4Aukj+$;gyxoeON!4juA>xRA-Eejm4yQrb*Edf9>aklD+k-$ABKX_VO^ z|4xToCLzP2H8Krr1qhEJD+!PZic&!-b8MZoDXJFW+NRKrQ}!-`SIn*O%lbO-$9dPs zrx3*fH%>Xf$WGyU9rB{MyjO^?!}w+6KJ~_nI^#oT%TntAChrw?$UQpb3Onx)gYtX$ zV8|-(`})n7jFV-RkFk&V^8;UwkG)c2=L*eWn5dT8vA?QAUW(XRGT?boo) z-9u1i!i>LC#kO+aePJT>e4i7pRg~V({My09eZJ6yG2WTR&j~6ZM@mCEj*=Q(-Rb&ZRaj(n~b`O)rylE+fYC*_HpkQ*GC=+B8OKZzVA$XY^Y2|vp2cG=+CHCBh*)NN5^P+rsA+FstY zskPlfoEL6tsasmVxv8V6brW6$^7a|C`V1tn!AMFr(0d59%(HO$S-&(E`cl;jnbFDlHhC@U2o^`RIes!DY` zFU~72Dl9CSzi1wvyPF@l!|k{*uW(UeMSfY?V&m9RJ6@+H3(LyN78FauJ$3DNT9#Lu zzqoMWA{A;s9HhKdS2t~JtFBhbtj({(Yn_e`%0j**UQyr9QWoJ=)>>0nd3i^u-mqO& zQ>c-*^w3rn?$mktdGpGV^Mz&e^B8(Wn#Gkp-`CG@I7W;>WJgGYQ zW^~jk>$^C-sWyaUE#8c`@lAF0c{3neLHCL+3U3DwTmV;v;ZRdc_0rbXP;pIDOSrv0 zmiVl)ys~-u3kv2T6Ik7YwzcWxfvfUcT3TyaGKk6}2N_B%rm0yfJ#iA&<1Bls zRUQAiQ=Q4gm6kUx%MsDE>FDv08YeFxfw7cKn~5kq4vMzsWjj+lZC1AJ#v?P`>CMhE zf$2WRV~wOSE@v&q8j8+U!seDY&DmC`Pn~7W?eAk9d3memFI-rWUp1W@U6vMAF3VrK zEH5wbVr#DJV-s|@vLb(Z+#Z#J#fz2|t<+u$5`HE@;yA9~g$og3b#+a+rKPTEvo$v+ zfb>>X-oGMAKvMZvT~(1UejpH($N;Z`rJ6RamkwPwpQ&Yw3+69gg!VwL)0|gcztQGA zr*}DJRnQvV6hhg~b(Xp}5h?{L{`!qtII^nTvdLYYQ>UxO=5_<-adF_(nK@GFF;^IQ z$yG|8&~j$Th%4Tm8qny(#AKhFC#GrMiXTn5latLhje|-U4Ndh{o|D9n18EC3r-UcCbb?k&#jq?~u2c;{ zq{wM6+bt_UmcHpT)qDisA=+3IQeNy95ECN~x#^OP+0$oPQ>IPL2|Co&>{&BrPQPH< z%q#~H#;I9ZGiS~Of}5v_)un+l->KHO%D%pIAXaZz=qZ(RBL_*pg+7LiD583{Zi+vBGP&C@Pc8O-r>av z6(^Z_=?KrUI7|9S=pSo0e5T4v&&u<0k%eW7<8@i)P6dotsLr{pnXF)=7 z@g-4se4UtP-rv(9RHE=kA${ZFE|&>_>My)1*lpBq#36nXg~z41eQ@_8-ycHt7v7by zOX8aihe{M4PbKmGn)CTi4ywQKI$*aJZeG&vxEzuwyfUP3Fy0ET3c>*t*C_JHr=I%2 zSt@IP5Q~kObfvasBnt0)VAMl!bMv_|cM_h5@429|;ymTX{0iSYmQ6^%1L>>vxRGh!OY*|_9yxHTz;ikIDElumj{V$NWgxA}lPbythP`13VXf{M}US4$tzDa!f z#_GJRti0uoO-j-mdh_&-q_K;VR>!o{N-C3*0;AVFUX&lzkEZ} z=B+K8HY|pHo<7u3Sl@uNwLv!WccD9BxXAJi;|Y<1*{eI+Ygcb++L}FU^*YWLSK|c8 z>W;>yw$)o_&0Jl_Il$^^SyQuChw+(tKFJZ0+17=_d_guaN~+Ut_1Re7RNLO#(b^CS zp0o7a;NrGW)5fN47`p{=pKTkaN$u8v|SCETH+v}#){oL-Uct!86T zdhXS+pjR|?glk%Ym7#E5Q!AwRz3RbUc+O)c$Y;yh9daHJ0oi(X8IH}YXM=XPw z4RNxz+Uvrdiq%b<;=*vd@cNI%kf;dZdK?neU#=>blm#p6+mSXYteV4!trsY4KF(Cg{s21t(#uTr_X_d>E=q z7iCWaVtl`-aB)?oHfB%b=Jz=>va(_XxLCAoPS)0}8CeKx{zimTz6=KVnSXh3QbXHp zvQ$$?JrYnmdrNI&O?!1n%(#rJvKFJ+;G|VybC#$vIH|a;p9)A+Ji=^~+iK~r^>g@x z^SaOBd~+?j`^jx}>yW8!!AZ+1f|F`C)wEo`tsdFExFtAA_N}+qx3#v1W?vSr4>MCO z?zV)AtnI%d6SJqTK2+X6;khQ%vazAouz-YtEceSvg$p}YS2b;_Yu(bZdh-R7v+_@f z&y^Oq-?9Y(X8icl`Z{+zK7I?Z%N|mLvSY4YyfG zV9$3h=$CMb$$cN+(l|eu^4eG5xcbm7k3Z1L!_=fN+p=?UUU%i!MieA{sr#+X$MA_$ z(5e0nI^8#<{i5s3zkF@<50m%iU;n@@m*b*qp)dc-fy z#a<7!+r|+;giiyH8?4@F%e9WW4IPk}vBIq}g}b^V)ZS6kP(Qhm{wXPxV0Fukm?UKZ zx*Q(A@a*>C_T&lOZhik`9*{F>0LVn#5cG5j8Uy_Q{jd=miVmeSb><0+4O0GJE)$ig6H&VE zknD;(A*K6iVaMw7M3k;#ixW}0?vQLAI1$DDDM9~ll>gMMStp`UbUTOz7E5c^tP@c* zpDBVE%Vg!)0>H9v!&sQ_-v?QDXp{Oz4K8WxQx_!gLX__9$9mz&iXP7W+t6K|G!>;* zHss6-or3EYcr7yfDD&~)edz~_qHEHGR4M*et-?)fXL$)DViAZdhJM94Rh9M?EJ8pG z$JB)m(em_eU+(_!fX9be10$E@Y(EyePKDQr^9!i~BqIo|K7+v7S%x(OzwBpISfM^GvwM8&aYFfYWynN2AGBkErj18&>8Y2GiACF&zx$d=pma~ix zpm#zW^%xAKb6J3jd*?Z2B#oWzkF?p?^SgECCQ!P2z+>MHd$p%QoiF&J$NqoBUWLX{ z#v9Py4>T}M4Es^&zkd}!qI~=kO+h;j@YG`rBHvZ;e*eiN67CaSw!+KuQ(?Ck#kOVJ z;&sh9`BT`sv8HJgwhueM0;Q}L;hd>hZ~$~Ye%jVy5RqS};&xu0(za!rA@k~luSj}v zz75lBbCt^7nnqy$Si@Xm`4%+Q|5)lOl>&kSpNmVvyX?soXZAR+YOJZ3b=TZaLZ|TyuOs`WKY~jcRrA9=DTC!BuYbZRt=9I$5W2yz95E4 z|HKbtj4N+}N;~idWLMIoM-cuf zs|^bjV#`-Gcvf6I4k6XLY{-@r8&t`V4eFAu_waNnNm?=8WK6DEF4Huui$$0?9NQ7b z#2q;iR`nUcp}?`gGxhTX;MsUS2Y3$feBgK>nS^%gt}U9>U0XB-q~sM1OepRGR#2M; zS(!GCx2zSVcI|QAh{Mm7Gj*)pOlYH+3o28rtX(b!^Z8xqX6RX-k9yD#-DE(2yBt5F zeDSX~<0{X%g@DH=;M262VJ&QRlyorWOiH-|&q$WUN2{@GR7p*QS$*Z5CiRtfn$%a` z741PhD;i2Adr#MMp#iz&shbBpT7~|nzd|vqp#2rf*AS?erRj%-ax(OvAp@22sTUI~ za6t|ZSk)KScZ8}wrBrw;6+QPNkhYF(^n!({lwo1ehVxD;q3~nZY>|J0E6~booCTN% z3!_Y427oYK6Z6NZ>)_@ANiPJlH!KD+{R@C(#Vlx5z%;1>rYT^(qHPCRuWOSUbMTw# zl`Ep}Wxv+-VQ4%q`b(Sm5rj_0&_^g7?myO8}_(d0aR6i=#O0C7qDi*uT*RmzlOfRBh#2Bx~POcgj!KbGeALW+vQcQ?HlUb zRrRZ+C?_gdn%O8=)jW$lJg)LjwkzM zmOFU;C;10!mbHz`TA3OQdeoI>%ynbCYJQY+H$xl6JW(+_yTpWH*mx!9P6smSX8_4O zp0oI5cBN-zTJ` zMW4j|gW1nDbO#R3;*}+*c=ul5439)-nivcRMn9X6A5n&P`60x%%NNB9E)^)< z2GJK&a4{L=UL&|jqpL79SkD$+Oq_#1&3#?kndZ>MeXl7$XWz?Ds5AXrfP6)CIgowr z7l7o&?LZC+zX&9U>;PT>{1T9P-UVbbXG1IAqDk=e5z;q+Mbntm5roDkH#!d?|dd{ z@xi3%f8nZ171Ba{a3)J_!vtjrLyQs{YfjNPN>uI`kD`$eyv*1E z8tH~v$cz+_q_Jmc)@EZ*K{`Ne)y#vTJN;9TCTnJ7IJF*ouOK}M@pW18r<6`Hqc zDJ8R-d3?L0#&#U#$;9Jx&TUM`NiN-@dRN1wA;e^ulr&~q4=g1n!=;+0$C&&O6M1Kx z@?Et}8Uini)ReONh7hKmIT9Wm>8rbqqk&*}nGu2EBXDa$_{yb{(}2(%1<2)+Xb2*JAvEN2$+^JAu%8E93M>G! z11JVw3dBe+!a9MSG#0qmjfE!FSZGpr#pMa@WBk$-uy&xPmAfu&3h>+Tns$>-b|L$zqh_Fzi-Izi}HI^evioSA^ANlzi;BVmr-LidUUeSzaMp{v+ z!sy#gHxkw3_ow1D=g}FVlRA%nA(Wi^OgJff4+0zK9MvW-^Cipxs_I-VST%aV%06Aep21+t5hXW zq1K3Up9u|_a}xw}XyBZmU|~Wh`OJQk%!&5FQ(fsDt<(D*ST#bc8+i|48s1;ZUxTBb zF4kIwDaBVz@>Ol@7Zb?It5g29=9D;X)CW=zRjukl0tw>ggg2R8;ltrgz)N z6h6r6Y{1jOp zW7Es9?#8b&9foO%(0Gi6BfSi33rrPax&tN(j|_eTSQg|`tWRKCD72Ai4$8+&m?*R| ztd+KD6HNJ_rC1#>Ef5n%!d9uc`?+m8-EUd!;!>;%m{h#gFja~>c0=Coje9aEH!@&H z#qRA)Al;r0jr(|A_D{jWd2gK+m=T+eg#bFxGtogLQzS!~+5 zT02o|fb0j^;qc15mbM19TqDyC3bk>tsoS!&zNSvr1lbDMduJ#)rYgo|t)ZG0nblB+GTB?Uq2dP( zV-qkDsbIPM!v=AHF}aq1SR54TDndtG?7v%3n^f$t`FyW_4$o50ykLgPJdZ*RQ*FZf zB;8NZ <>KF@VL$HuyEfJcoYudt*!Px_6fSEKtS|I`D~wR4yx3z%&{B+P0DejnHY zd>9x8J`LOg{5fzN@Cfh<;6Q}=MIeV^JAmf_e*v5V>;%pMb^+%B(Sbxtw0$|S8_(kn#N&@ZW&%0B;BK3Zm}- zlTf0x9|*h?I7UB@1AY(Byin+VU?K1U;9B5=zy{zCfnNYV1jO~Y)@~rL4tWIl0Ps=Z zkAOb~{shQ)9s}+L;_JZHlfd5s_W=(BQHGHtKy)UNkAdiEBYxD+e*gyoe+fJd_yTY$ z@I@fy%ddc?z~2Db=3fD_9b#Cehfg%A;S)^(s}H{=Li3{>XbM>C5TkO(yeW6>Hf^&_ zyUM0rZPRcmu=e{koAw=>c9%{2p-p?(raf=dUbJapv{uLyfque5n+)erEi#}%;sJ+w(=0t!^Te?y9X`VI*7JGKS8*m|8cl` zZlJ^MIGA~7FL4~)P}4u32jcH9urqhG^>@$gVYqSLGdoz)>`P~weU`c-^L@Bs{3a}> zlS|Z$CzgM|+y!_R(wGXm$&aKB&;6$}RqhIOhE2bGClf0RzkQb=!{(iEv%ycs&mLWN zCOyW@F`YM4AH$J1uO9?w$HN5$-fiftL$Lk3&gYTxZ0;CTcM-?RAj!&`r|Rr7gd5nY z%mZ#z<>$SN(3Fw;9@hcZK)C@Y23+H!A8Oj7a{yQ||N)fAU`BgtEZ5)ItMPJU1(*r>E z`%n*}#*E`VSSCMfHI;7Mz8H_+XHwVr#FC>iU*Ffh=qAak-cs9v{$108o^aUyV&RN_ z@U_>duV;D%elO~|o3!_LrEnI0E1Ys&943xc8N z#=IRL^2y?cs|qIM*qvcTI^^L9*6f(|+PY(Bd-VG__+#q7KVwcoeC(_#zmJ>A>4s{g9s756$Rq98 zf9#5juGyV)*uuC}dj8XP!_uJot4&emira2%ijdN?)2gGWNaF}2#75W_I%V&~@-7Zw!EFV8QOqkUyO z+tIhP(zRm<%o;REh)T)ypf3mR44mE-GGJ zot2j-ryN!Nv~+~pYq39HE>ehp8I1~?s}k*c8_O6L@L*YKDUWz57mn9;${r^=ODpo_ zAehscc{Ad0#E=k>uvmiSYUjbjsW~|_aKtv2`j+}lRpcvSPv=?yPd&!CkW8wJKX#B7 zf#u*V9Csbpht$3tVQTkY9 z)v(ELYnm5sXs9<0h&1h5JDkRL^m)$YO__GVjG#k(>bbX>7i8y%d!BncP0qc2br!yf zq+5QXb8ls43}d82f^%*B{=s+sj~z<(w%zzKre~T|D2Dm=w-O^vyXwI zyF}-Suz$pwq1}i>{3HtRHn^)mUvyZH;`$5kQn(w3UgIiCVJHq{5{1V(@au4M^J(Ht z1}u_3hp?v&JB|O;Zj?*r1LyKQ=b{+hn;v(G;(Z?Oj=|ltSS_LIFCQGp{aw2ehxkbp z9`@B(Nm%4Nj|+KF{e{N?>uR_Oa8U)SzjEQ*iA6Q%D8S)nEGd!tRV|_-ZILRe$xymFb*p%lgA~<<2fY&pA4LbIn>fL%A`(Z08Uu|NlKl zw*vxjj`jJ^(Y4Ek8UOMzy5#>mMyJl_cn=5u-!VF#()_<;bcv3L{(tEhot6Xt;wd^T z1482d5PGaNaM)gU5Rtx8T->sBQPHyM%7T)j@}lbHixw_gT(t=A?FJ6}1r{f8HR96J z>WZa{mn|+>TxMI3*493^b#ZA~5$1%-Ym&!qSp^R8DJ#F*s$?1LPSbYD@phF+#u4ZW zXm+^izLCG%I<91K<2waEpYfwx_WpGlJ_Zju71z@eo#Wdn^u*`*cChzz9k278l*0`d z_ENmd-TxiK(`V&Q#Q7g}pzp+oWS{6c5od_piHr*x1bxcLK0EZ!o{hAFIuXhKw1aa0 z%JIoh3)?Ov_Yud*?KPG4HSM*H&O@WFGom~}I_CtO5yj>`@Z%Ygp%idU6< zLU_m%l%3KO$Uie;XCVJ&ITj1cuE-fVc0HmC#tuYm6;F-MPsVA66ur}Lewy9pbXdbvKd(Zp#VRLx0?78J+G()x`Dbsm)R;CMVQ=x6bWKFg>kzy1E7@}xL^)xii zMwgKYW$Zt3JaN?34xQuK4$d&?o}(ImJ5?#)^7ba)c2fWC>2csZpIMXL2{Bs(bTc2p^v1lsA_JwxOsMU^OUs>xi5uto0~3f$gM~U zPitw=B@X9((Q`G6!Pmj(d)%jQ_95vwB(%`r~37v*+F*=ia*Q zc$(^AT&9U(pF+1T#>Fioq1M{gmNN$n@1Nu3c?v`n~HG%))TIlI7<+BoUby+$1m&wXm> zE~Es9!;h6zg)S-yomn!pYd3=FDIU^1MG3xDtFZqxZQ?U89j!Q+(o>vv@U6-fI78kG zR~G$$1U$f}<|!*1a*KzA>xVv4oZegm#(Q>4YV$T?M|yL}3xx*{EC$D)gqn`d7vhScWO%8-`*D-aHD>$x($d5ZEEeFewWUkeYE zQ+@|qn)4bFh-K1Y1!yRtnD8n<_(SV!@z+;M-NvK3JoPH^6+3pN8vn_Ico;0p|S9$C&#u}?> zi*&c#W3OJDrou+;+nwRDSNjxHZ0tlHf}Z4Qi%b*4=5FD1S6k$DywVPtJflp~@r-sj z)Ea;mC`vAMPS7yfx6l(eEVbe6uY}6|o@8)$Yo${j$l$U8Zp2Z7fKB*4IBi7wjAELp z&Vy#Usn(!SJHV@fd>8N~Aeh1G22y5U3mgXA1>`3PuLn}D;jl*JEFk2x z>=XSOFc;4^0}FuI#u9-nvPdrnJ_%d~+y`V?J_lrdjeu5iiY6teXbM;d@XME2gDj?x zrhvr|l)IJM6u=Sq)v#0D^*?vYneBrznGEJTnX z>JTnX>XfshJ&0#Td(@X_MV^eEJj{fRQK~&FxkTC~76Ftgg@<9z^0Z>(hf;)}xYY_h zBert4w%~iP-UIr^3Glcbs_J6r)pXRen;oqiuHBkd=ykN?E^x|IZvAW1(bjpoVz%Tg zN7N?W%%UlSUx5SZWN?x?_B;egjyxM$l`u`JglP(hBvv%G6h#ByJz4=7(+i5@KoZXZ zHkN?i)Ai6_`}&&gn^fcymGqvj2SLTTA6i!Q&D<}~nMkI&nISycnB2!@x<1^hPxv&S z(a1O@;)5glb~8jBpgLk0J&aQw(Py%Mu~ytXhe^gs@GuiP16#G^=oh3Or5mRg8S@7Yv_Nx!#3r`R0G$w)!Xrq)eO*o)A#O|c<^Hp(Oc&!6?Qgz#QRtql8y zfah4gY*n?jjdHGlRab-p!MOr%->=Y7^9s55}q0LKEE_p^ZH*7Kp&q=qInsi7%g{S3d8gtk|k0v1P*%H05M z3RslxiZ;TgaaV$(W!bc_V{MsS-Y7)+njySrYOhhX!CII}0l%(Zax28=yjH{jPao9^9w%Kor(Um7kl8L19Yb$8tc z;{L8X@XLHXx&ztF+06(-!+Uy;;uv>#&-d`u-Sr@Tb9OT}+8n_VlJ1^|#O6`_KI%)Q zN2Y+*hYr&EF|po*-<;h{5N&!%>)9tZ&*E1lvZ4|3-mn7a#XvHRHau6Ea-VTF-|j9J zPVO^T1on$*Kpx&~>?W2OH#B;`=;ICvIJD5N$Zy-G-N@WFvq ziZuZyC8Rhk;GhfNg@*}k62dG3lM+&UZPTA^)5%H3mWM`^JD$>X3$vXF$tZ5nAj=0e zfx>JabTafr=yN^xy%1)nh%E;b*n#M=p8<~nJ>6wE=zd(`e~kg_Av}fQ%SiiVPj}2T z(Qh&E1IQhvL>RW$)NVk&hNm;lMx`0Ur%S>3sjoQ~{VpPEtE_FTcU<#iWMxTfM@Y_# z(K|covB*VR1+E>H#UBc8z>a|fTBBI6 zROdjKX*#;?2q%PS1u|g(Ps#b~xxg^!`M@iI1;A^8g+TU?^MSVmOM&+T7XW_*EC>D+ zi2O$O1JQp)egUim{vNm-_!e*l@DOkn@Cfh{AV;RFfhoXhATv}0TnDTJVp3!^05<`f zfS8JCGN99;)1XtKlb7HQh*Xh*yl`tgBBZC-JU$ao zMp3L#kwvMz^ORknc}M8<1IZ(!Q|Eb7jE^W1infYSfP+K|BlOQP)s9=nB^zfs!Zqn< zdQ84}HodsLgR}gNg$ld2dCqthGo#C+`G=LXh&{mz8 z=IVsg|4P^o)@_C1d<^Zh|1s>H9cl~wPw{l9OcVWbXz?*bzEY|~WWfjNmfl)Y0P%1z9>&Sn(Qf@yh;Gxs%?MURm;rWcPuL zBMO_>%@ef z9Zh2#%ufQB0QUhm0MS83&_T#4+b;s2$8!{j4lD9a;0r*;hlUWrRg7}FmUZ|lo>@ic z{Iu|=NeO?N0&*E6xFD-1TZxz+%^$|4vL5SMH>B#;df2r3Xm5=cTI zF}asb&}g8VUTC$|s%@=Wmuj`vE>`Orz_r?Ht-Dsy+KNIgC}P^8dB5LzX3jnLESoE%?{v)BZ*4es1*#h;LGtC!?L6~49_}c!ya+8I2O_l-STz=7Q&7C z=w$2q1h4^cFJKcO249_Q(HMGlZURIr?7R+eKj3YE(Bf*i`UPMQ+~{#SS$CN6tCn2> zdy=}PjL9lIv^J2I>`_s z(s?c5FhG{Ya6l>-%+YispiLS9Z9erouWE&3bD+&QfNBofZbP10V>30`_;Y-or z9S6Kgj`u&rqe6Y1{Ja!5hVVBGv(DsjgR8h|h?D}GrG(+<#gJcvKzU|O91acI5HJ0GANaF0iv z;%)B4NC1sHkK3m*TsU6NJ)L}$7zX|jRJFZ`e(|s;p}#l;eny6vW>faz@bOlPN>@1D zqzn5GunzU$5t;XRD-ATJ9vI%l#Sc|sUI|tP-2c5hD0o0I(m0Rcu}tFQs_^D)sC?Tn z^tmiE=ed4}0ciLMfHX7*x`TrHN=z1(W1Mj@bbK7wYiWFc2%;}{$A$U_&5e$@2HLTn zpu#Z~ZqC%1@p0!P)FH67Hf){UpEFxJZrgyMlA0#T=FHxWCP{IoEf>$Z;73}fNvyunK4&kxii079NWxjRtCXBjJ01=WvQNnE`KpRO2-yQLY1jOLo zT|0-VP@ZAxZ)G5QeBcu$s!+kv-a+Y%c2sSY)cE@2< zbOJ~-b4PRQ55sheVeBm+9>pP$+( zWKNy24+c$q+!(w`vTgfcZ|xs@rlP?R+-^IA?bx5toCjMb_7{N}0a|iSjEHN9;=_qP z<@lqNzaQB@E@U3*;p(Z$=@2`vcXeDt?6`IV!-+jPOHRMgG(fm=dW7Qq6yB8bj8V6a z?jJixmC%QX-Drs;?AVV6mgWdM_9?({vO><0IYq|6XA9m+JM<2Cr+-{WDVkf5UX#-! z?YPX{BS+eCRUodPBLq21P8aF)h$eB~Zb2O!AIBrBk)|0TYA}9v@6+Y20{CuX{sj#R zvwtE7=knp??kV0E5dL-T#8YuM0m69Sa51^WKWi2)xR~XDJ^ zQ2%Mpv9DO*FPGa_Gz6S+&uwp!|MvbzcNnM~a24M93wES^3jU%kDX`-rl^qE)E{pdl zK9lEDCrp@#Dp7u1nsoAn-z5Cj-OZC^PNrTf9+9;^;WXYq(cZ*qQDofH5I2_)l+Pr~ zcS?5lge-^o()$^vOgVL;qUZe#k?z45>9)m4_e_j*vHb740_E}s_>JLM0EQsP z>VKcdCBT0I&j5R57?!8ky%6`K+j|T&>)3a~aOk7%nQ*nsV}bud(~yqF>%I&wvkgP< zJ)b=|4Esi}c-JA`7SQZqKMF$?qT+Q7g^4G>@#vwO*-OJjV}y_cZLjokz2uW^>vP>Gp)qf-dc*!{s~dEGJ6@Uzy0@j5`3mu0{ zUgg5cLgPuu@5w?JP5yq3csGJ(+E}6EFwH9;i-7;GrV&cg<@Ec%{7iW6@uG9d)#;#{ zJ`Ssfcxc!kdF8hN>AM~@?~GSuVL5f(OL9IKoOp`Rm^b@3bfy1u?& zhX4J)xB6>u_&?WnYDx-c2a?hzL zFRZEd`)6T`Vrs@<+o!a=tg489=lFByU=2DcgSXjZU{JfJd`Wdf!!oRy2rf==rL8Nl zJ0nvg2UyBozT_NSKY$UFkj7iei9e<)ZV6TqK2>*MO-tMZtmVyxWx1*t7r<2H&cW4>SRP4MpQqKdJEEceI?%9v*kE;AENSzt&easat$H0>S#G)~tyW#!pzVvd;0l^?Io4 zFZtVgggF22H81L~?3S&ID}Ha0Or~c5AOu{%z{U2fFzMsu1B8 zE4o_zMVLSCX$5S6tr8UETnM@*z$)m~AYe6o>ycpY?;3y$)0;E zQ@-iSmWuaOW#bo~$;y_A_o>RpDLH3OiE5t<=WdBs7T%aW!Zr$T%r{}O zp$%HqmLRe=hRM^W-j6chmhMNVUdHAl#(oGYJok@!yQJoBI+-$96+w{CQl(xc0zyC7x{8|A84N z!%oG+O*>-ZFq$rGZ(S~*#*`ErFG3RmtoS2Z> zwNax9m?pL@AD#txXikWe)6pja5`PjPWd@tbI;lD6K3TiR0*-^5h&W-JnMXf%oNgZuw&iMR%7m>io#sCie+ zGGPuGaPQHowK8WjzqcQ*q{2C+^puN_k+v_B3TzVWr1YYVE2+rSwTqUnq=Ifr1>Ka2 zLO@Ez3_wan3E)(~Qb0-*S6xLaXcMWRP5yo*xOhl_;3x}%!$wGrQ-`j;;$QCBFU2D^ zwsp4GW<3A5?|-O38jvhCtN^g@f2f09&PmZG=cH(p`yT{%58Q&2Qn@aB>zJ+4{%)TJ zVj5vu1Ig-+( zhx|to0rMingzlFB8RyGdY$&Eu7_>=Y(B@Oyzy)_B+=4@4bnO~-6Wr#fv8ka_T<_KG ze>1yh^ZH$P-g#&CzIk`f=HZO);CtP{?K?=z;}&U~EmZ3FiZHIL=BMS;xbECo}WPbW;^fi4?eG170s5i$eeeS>^xh9Pc%gUg zY*T%yvnSnQ_NWI`PfES%U(y}?Xy=*zBKvsf#4iiZjyMs)cW2|g{>Hx5v-Da#Do8i&z#-89)e_~UT%N>-lii9c^z@I9VXc~9yEr^lbH zagJ$|KsX0aB6?e>KRlW0E+S5iGOcIu7TdeF?Vq-dw;)K*a1?AZR+tK#gs6b60JL(z zTzokS;1np)x(2p@vfU3`hq65kTN`YM7dB3&GOgEOiySSpl8ku=z7+Umjc|^ZInCJO z@;`MzcoZ@e{*2KXem(pRw>;Q7UH-2te`;URdZ)sFlB=OJP2|mkxQ<(!IK*~!NsQST z;i+8x2HUQSoOs-Y8J7M^4c&QZ6FF=iffD5Q5{2bCn(dGuE}#YweMN0M50JCJv&ZIZ zIut2!JVL|0%oxxs9QXP2Knvpmt};-IBXsQk*q6|7SVVWV%N^40PZ2NuuhwpRU%%Se zpQW+nWXfzf>>R()j7IUN142qVa{;FS76GCU?4*K)4((hGh!I%ldcd;*I{`tfZv7|# z{2AP}fR6$$27C-~A>hk^=nXsH0EA?!+nmk?{1|SG_B*M9<^d)GRsdqe#wlqhj{(rl zLjY(sof82|0P_J$0sVk802={G->ltj+Kro~tmVM-3p*sea|0mr#}Y!T>D&sq7Lc-o zJgI&j^ibIM<4v2K!=uf|^FC@$2lWnm&Q5&1drH%NOWS=}=d1?10sZQcr zxSOkR_2ct_blzD9nA|*$Fu0l>L=t+1t|teKc_J{kC{R!o$Sw+uC<qJQVY7G3{xXTm6iNXA3s*1v2oPJg%l zWxI0vJM}NxnfiCO)8DOsIoEcNI+>=S2#fJ@bp6Y(Hfr2O?#BE#bTCJ6RH7^)ePsq! zGQZY*1(i%~+NYCiwCf?rCymjr)M2kGjJ!;FuuPuS_{*SM(qaD*Ap5!R0nPx#z^bzb z5Hi-uu>i(No$CNecQqj7tn((o-vHhW_zS?F1O5^ac6FWX!+>|gO`VGtt^Sz&Q^4QD zeJkK=fVTls_kvgFhk#oE{{i?IU@zcPfXo+Ki~57|9{^dOkZGk8nI_SRw24ln&8IXW zdxI2d}10IoU6Kwr5U7 zcF#10O}n9IbAdGmY$Fyd;ry7mkNDaZ8R1yoTo4}YrLuVRVDD_$F2|Fo25_@r%Ty=b z*ys|~YIV7?-Glc=WkZ$g18?k3MT8J42wxNVuE82oZD(6GD!yLi=@hPV6lfXW!7xZv(L z>~gJfat)J-=Cw9$SkvU1C)*IUs9N(R0jt+6a^xuS^KZhMsjZCs8HGT@{zGa*|8FmaF?}hyc!6$oT zgt2mcnc#o<;y$JXnlG2;Wu=sIJk`Vo$h4A*5s$?~^O+^LlK%_vSh)8CGB2M4vZ-yx zBa7^`$s#*#KGjMDw@=gg*cw!b6tx5|bd2p_oxOFQ!9*=a{D&Kwb2d(V#4k)h*v0#io@C%bh>*MFyu(DvV_W9rZFV3(wJ6zw@3^_HaT zjc1M>HKmCot4||Qi&Bm(QQb~`yv6HBo$Uy%KH}Ut`I28)&f?WsWTt62 z@Fq<>dn|GjKjcuz8)a;!t4%J_GC+Qmqntb^-vQQD2w>!n>5YtcfI4%`wEE`@|4Ev^ zabv`>=f8I*nTK*5N*Z}^9>-z34WC3E>|6gP^{yBbiZnRK=-6~lpKz%3@4OQVhZ^q) z9T{q1M5v3t&)b7cTqqi4ND~<<5twjX6~FuWj&P_>6^6a1I~3Z0Bh-Ueo`f#L#Pw4h ziZqdNQM$r$?egV)CmiZU9f~xOp$>@%wRG#Oso_xQfs`RlWGGaNBd(X;OTrk=q!1tc zlp#%IsFa9MxBg`0DdAAFbtuwAhGHKW&ew}|i5QNXxGvP8ND~ad7VA6}YzV>lF-qi9GI87d8!_&Da5=D1yt+!qe@PaTRhk)b$j4(BW5xCQ9= zO}<8J3uz)lp@}*|o%Hr;{|JYgqeGDi3~Lum~aXgC;aGF z;ZV2fP^5_rl^GH0;w2Y;BOHoDz?WT+v)gyZV^aN8B(Q2)}QND~?A@Q6@LcRY%L zzb3XuvgyN+CNk6!z{JN@;LUVIno=D~(I~HTfq|A&XLsWxPAQ{Vg3l#*vt1Qbu4$!i zjywr}q@v;SKBbLjD8@2knsi)4tt_4DbsA$Sj8khJg&^^993RqL`;X@P!#Vx74n-Qt z{pU6xgE`SCM4M(tKg^8RMXvve0L_^UhMk32mUMt!R$6 z^S()QJ{mcd#NJ`YMV`*MjzP$9Tu0t<_?-T6v1H=oIvsHxW5@NN=6sBb%gGr7G=yS3 z(yV=azyp#W=dBi5@QJ)7;W(S~>zea%;2fFe;VKkcJ9C=oMG%)dTzsH;H z{Tsiz?$`a}I!V!R>5RQ5&1gHWKj^qdtGJwHcrxhX<1kiJrunj6eWr9Q>#sT#X(IL5 z7+~V#Q2ojzUNmudIMh8-ZE98=DVbwcsMGPLAbjumo6hf_i*bsk0J$(NcdVU@3pHx2 zD8DGbd{(J&tfaq+yRAQEaejrr zBrm^A@l@#wl4z+1<;;rwSw(Vv!AyE9!j}Gov+`%oD9^9RQ!K-jEBaGbl$FgY_4^AH zWhwn@`C8MTvZS!0ytt@9C{;35UfTOp=FciC@fY~>T|7M~OG*o7`e)6QtQV4#Dx}5z zc^1qn%bS&7R2t5aN@xEZO`BCxT2fRp(_NK{QgJ8qaLvz{QJhy$QCy@Lt9nw5y=t_u zyriO{q(V`u#Ht)M^-pX?K}At+t}d!7`Zw~WYAZ7K{F(lOe1C;s@vNqwN@6{2k(7C* zvu5~bl+RR@il<`dk)v68<)yRoMCetGDpBrVQd3IvX5^O^YbjA#S1cWrHO^B*HIWB} zYB-m6>}JhzT$)kX+P=It5NN134J@xb$6quvFTcD@q~h#R`KkmbFq7&E4#{%1Wc(|5 zf=`aQOhT5RnZBylsuOtwRF`?!muZ+K0bW1CR5!J*$iaOQwttwJ zLf3RO)ZuQ9z?z!6*4AZB4OWixc8$h{x@Fn})MsNEBfJA4C+D0QGb{3Hsw;A5{ITOpy#leo@UuhW)UG(lPF4#b~nviwEhzc)$Af7QKIW$5k-EZQrLRPKP$&yl0UO_W}Yan zh*OS zj$O9>s9N%Twvj!4X+-c;7UOwy^QKb%kS(%Rm>>v>3sFA8wym z+|dyZDHA%UoAyp?LXUHDKwKG~tHJ9pnqLasUZ?QKBBI$P_|{s=P%`-Qx^;k4jaM{{ zBE-v!-?PB~19T5E0Wcf`dhz3s>+hO|bTnT4h9Z4Om*ZOxXT31d_+h`T)c~41XA2!i zkzV}TFqnQHG}To?$1$N-`uP3%deGdYKl(-E#|4i+gJ$4-7eB|s9eq;q%+fSM$$0zU zE<$;!23=6oA{n0f$b!ekpt<23;TA0)YvBD?&@4Jv=%VpUKt38l)3V^e{5YlkrKS-| z@AU15=X0QYW}#3;tG5&3{W)kx={W?F;hEp5NcdFHwABbdPEx$;jp_RxXx`U!(fG0a z{tcR=YY)ti%_j(&9!*EJ;U!l$g5O)9xu{O~vAubvkCU@qpczyzbkWi`AN)=L%|#7D z7cIZ*;r%LT<}MLB>JhK>B_pEspxM|cbevv$rH_-Wqnoe~4i8PV^s)TT1I>laLKiK4 ztp1lkbLujoqa1jpk9+CrL9?Sp=ne(&N?#}N&C4z8Lp(Im_>D!vhpoUqzBZwYRv$y* z{TtByLDL}_p6TNU-&aAi{Q}_^t-bvS0&+q-_QC{(?$jv!-b6*+zY1S$)(IV#?NokU zdV>@8wX9@^@#;SY!T-`2>8^@_j{5Gl80gYLcUKH_xW#ouC=e2@6cL_RGD7sh!XXmngER{4NDu z8EBrrROl#=Ug^6Z`lYQ4i)7yrI)1wFYQL1f7c`AflCFQhe;VR_4|GReE>tXcuXyi4 zyx##$UP$Po#mn%!G>uSt$2$X_y`VdLlTaZUp7E}RM=@x&Y!|`os;B z3$775_A_4mxVHZmXx{q1(DAc@7r&Q*-}M9NtRD(pwEpOPq;D^1s#riUcD=dsi_?SF z7oeGVlh8%ucRTpifhOe^p&J6=mA;X{|Cuzm3LS!Z=9lB$OwbIyP3Rb}7eDI1nV_lH zbkX?j2iJ}QC# zF=#&3bkW+|72tQw-Pq&%^8@qCf%nn(U~GqnCR+M7!J`2*dwwBw(aMj_XXG!jxf2f! z}N*aXGf_lUi^lF-|3*6bN_+)Rl|FOrZHT-_@$yjyaBrRA2=|-;qX54LBmO) z7ry}02fDi-IxxRO;Jsbb7_MIYw!`xS&^`UIP(>?0s8j3TnnozS<={PdegV37A2~3; zA@I(8)Nm5$l|GK!PXgV<9-)brz7ybG2byk8hhUy^Iu#z@1J`rxG)=(0ffb_{gG zK-U)|-O;au*kQcNh4nVYi_X>W_kzw3x-;JphSYyv^~T>j+zFbcZwXzraSrv%@o(dl z1Rff;KQDgwKu*68nwjq?GWGFS$$=|wUPStC1I^k`gf1Gtneg5Zn!>$8ccAjC z2hFZeg)Un8Jpu2+eVD_2CUh(puk>+VF$Xl?|EJJJTj#nP-V^?X@jV`zX!%VCzoY(* zdCKQP7cIZkpLc;~kEV+z&z&g0Bfr4hwomxk;~bYf9}hZi=^Yyf3k>t&m0#+Et)RJx z19%uaeXem+COroV4Xrd@`ilB5(~HiPzRM8r1kl}=Bs`BmIIr}rLqS}RPWZ?}g>IyZ zw}1aeeZLAPVVuS*ebo1t#X!gWUg<^W%11NkZgtUl<%8pHFB1O!t+*QIH}-m^Z= z2dis9^BGPT(L~cP@5Ap*3}#2+^brly;gt`zj~{~OE}TxHvE|Q|zIpH)k4fAHPUK*s zwGZn1yFj!0SfPv7J|=_5-#~LTf4&P7Ex#4;J_R%vX9-=j{EmnB z;ZSzOFvsD^@fhz?KJupt4e4mS^a01!Gh(D$7y}*S?TCSn`ejuNbd;k|40P;&u8WcG zh8XA=@2y^Ru6Fq?2;8qgmzyhP-H32r^>!l$EVKP_)}B(Kv*pUAuLdD}P1%>%8|M`l z#6ZV()ExsI<>1a3=-9t)iGl7|(ET|Ex|2co?-=OF@A&dBFBj6~$3RDUsf~e-<+n5j zI+ja!40KAaVxXfO{3-@I_UDhsKsO$A&&5E;{C*w-9mgBTv2$=3Fa1J&a7qkxG^YM!q z=vXd~d(pYtTMb0&Y0!;s64{D2|9B4r*Be2zp+)HI^)T1Cgz}fS+(S-X@s0;c3Fy|Y z5L%X}m)^Js@gCJ0XZ`L1p|j^buKju->t{OC`|sCV0;-bsIO~^qXjo33@xuFc(0r2< zQkZD#CD+35JwSb?5PVD2b)^z7ql*JUeM9l)V5&t)YBH! za|85(QzuNEuprR5TwTNke_XI|Mn+r~=i@Btqpy#%VQEucduvDQl0eqzIVWY6w_y`? z)7qvLOSAG@m$%`vxOOWc;mi!HZdJV%5qC#>-GcB>aICr({-XhZy;T2b;BM-U1!30n zNaQhy( z1VKFlnU0pL%Go7Zl@0Akn<}i@x@+`f-p1IWQ|+Wc6wVoP84)BAOUr!uc~XTZU5h& z_5A_mKkwqo;=B@nO@4Vv`J6faLi}h(xctkSF{iv*3wuqKe|{BKZBjFMk%AbBpgO;% z=$s1woRZ?QSy;|Y&A6Ro2W3_+?PyY{pD&JHwCbqJ$*b zi=<*s`HVUK%E~BFqi>k6Jx2ibb%FP1yG$M08E$LZJ(^Q6kn!(|Ie8IPc0$9F;^FWzJ?{CIpl{yMZ_YXN#NyXpY?zIeZZ;$M0ISePiyU?|=5-?4s}A{8P(%LgBAJ@6+cV z`c2iYJM%WB-@R}0^Vqnn@Som!UHMbPue$50w@2R}H|f%kaWOq2PLF##Vbq>qm0s~& z`qaCI9KQ2mY?4`{@Xy~fV(*rQ!ydZoko&%P?Kj6__=XXuI{U4R!7#@P+N~7=U2|N zX0y1q25#J~CK8ne#K8r9I$rhY}XNI5#hF)3>doYq(U`P5eqX#b+h{;Ski zO#(Q{|F6P7s5*G8>|~yL@c#K_r?WqEVB{BLoUvrFqP|W63#*Bz9eh^dlpl=$i@DO- zpE)oGv5FgII%xm7UPY&NJ3Qi7fzzpDM)vAhgtHMCefsi`$%IAr60JJOn&z zKVop?`f01-WasPPiQ&QLWS8DS=^;c&Oe*{Hwu{78nO{fZMb%F}7-Jw8D?6Q&58|lk zAZm<>HZMmRn_~YuMJg3|K=yXoOgxCA&&a0#6`P+{QKlU1qWN#6vp;jYT(S>_%;-+W z*d>HWBLwtoMS2ibo6X8Do`YDG z2Vfp9m6dX5sF;9u= z#(9ZO|>meYvm{3%B%nD(gCRIX&Kz-M8j+T z>BjdgWd_2ne(muwoNXFOz&MNWP@d}X(8R}CorDR1++dUlNcl(t0C1AUFEs zY)@x4U^?I#fP(<@00#pW1LC|%CpU1h{N?YZw8`H~Y4cg%)xIhGiIt-BSvT9bpV+vE zY+R3x!yjQn{;&8W+-FfcXf$fO6>Fy%kNf{bOd)A9@%*S1FJd@+8U%r?o8M?A zgGrkTu1b{BO=&iU@zI@#hmuLNdVu^}cMTx(fqUdTStl0*vbl5uGJTf-Qfi5l|Jcwb z|FNOXXFacdQ>+)YP5rDJ|0m*KiK;gjrdQyHMA?1a>-X;f0S;!TZQ}W-?)7`8T~v_v z4YU`lvU`2+&H0xORR6}D|o=(P!_Z%f(PFPr`QEBaRA zx3a?J%qtR-I)e$>Jv&>bZ(DZ}emfSLo$x3&j$Azbl|W+mymW<07DuLXq>5vha-@r6 zC>+zy$qbwrD$Wf3ar4>%OG2l1ZN(3OKM8(1=9NGGD{xrl?7pDn3-KJ@=iiH;5r^jP z?ONX3Iem6P+NGc2ce&@)EaI;d*$z&@lW9?Zh^^7KU1{6yhK+TcY4P0FIAx=tP%Cf1 zV@x4@*?yBXg0f7FN7^Jj(_Q}M5K{ABGt!;r^8db)b>TJ<{%J1%&y+u(J2+R7kD;@Cat2Bjv9(I8pCuK!I6arJ%BQoqph$UHvzKO-3&Mi z@Y{gwL%$11)p-?QHQ@IE7Xe-i*aCPRU_j&71O5>1O@KcFWYM4(?Yv&&Zw9;>?q34l z0{B}%{MDfoAMCB406q+O2jCXKI|12Be+Kw6Ahzvx{u%I>fPVqJ7w|*C`v7+XJ^=U` zAdb~`eh&C3AWt@K0pv-(t$-&1GGDB>rvO>FWAMl?4QZ2K8q(&o{(<*ch5JO?eAaw~ z6uJf4ru9ZDez=`ntrW)ew}VG#_vBPGz6?>N=v&=>(IOu_3r8q_R9A0bVCd#q>9g%- z4hrgvyGRTbb0JjBjj+#CDki%x)Ik*!Djdy_D>s*=xn-(PbcTRpdRosK6_>D(!>Wm-9SpQdbUZQD(@jdd!%UacPE7l?H9R?joy zPX8rf;%xPMUH-pdBwB|ofb9mC|6v#b3rA`7J#d}oYV}N03dsPo`?dPodb!hBx<97P z7>7N^hR+{JGZc5rHO^`1(A(npV?(xmDlh!gl%tYxlXs3$n(ZF-DU%35rk}0dE-zXA6Hvb;YBWQk0|BdwJ- zX|1%$pXnwm+&;W%!|Vtlg|1%Pe3sd|%`KZ|{24f`FPPrfRw8qioddFa7H&;dqof@0 zNmPB!r?8E}V+PXbt+nm-r41b& zwM)Nj+Tbyi;?KjGq%O>JYHHM7<}K)KOa$D-3H?O3Yj7aTy*)Lf~u8;^`}X_GN7Z9eNI?VFhy5_!$ zX3PWhjI(z@AfwNp36@>{!p2dxl%|H}CKqS-OrJTaBYDd^3Gp+hhPEt3Z%N_! z6wfF;#vG$9$r?JvjAF13jkU>J%4+PZa?w-_8?X6u}cIb?uJg=N4Rm3p>&lN_Lo zVce{ifp{iq1SoJJjQC|c?nWk3jnzwun>^>!!Nm1B~`#Kl|-9V5^bW;1@{`< zg8Qqsr6_$RICk7Z$DxPd`d6l1g~^U890GRp@p$*WCdbj*%54bgUcX=%Rw3o^A(Wh$ zh$_TUs;0#_eh_^z$k}8Z>lfZN=v7x#_%zoe1>XPbWjftewMtjjYF$-p0GW@qx~i&S zm#U&os){zB^$6aA+p29o>kl^W1sk`+#_h6kGCG=vwwJxn(e#G)1vAkAb+v8m2_7yT z?#7;re8>0osf%QiIzzj&dp7P%yRK)^!mXK*deb(C!&ZYQQB9*3DVu4f1#lU|rcaY8 zK(*2&*hx#6gNMfWe_QpM^pyepZoo5Lt(ZI+b_SjTm%6NI?Fi_m7j5h%%n>%C_l!Xd zq#*|pj$B(IYLvu^{koUQ<*!dZw%meOdGr8L@n z78e)<#|1LM;Tju_8*AgH+PE`p9FF;Gx+)vjUqkc-BV~>f71s6~q(;~FC%~7+$cbCq zZ-<{-P8fz|#2(P^l9S4Y6=tC`nw%h%G5?9e=Wp!O5%52k6L*KeWgHsQAy6)yy#e#* zRx#g4Ju}Zg0HhfH5Rm!5Ue|v;?4n|56BR?7PaXdd+Ek!Le2`OM;mx68xChz*moe+LC0Rp?6*W)-9>NZdH~vob#Ohh#@_&ti^!mi{ zu+4G#PhuO^LzX?TeSyc_!!b={vj)!!s0cCA!xgmGuFAuSpQY`sK^&BG_i#pn5X4(# zDV!u~0pGT^4tp3g4(+P3zOJ-kIXYG$`5W@rSkSPfHrNu#Q->pzvN}_yGfju@n50cx4=K#b2e%$0rO9>_Te$*dke&uVtp$h%jPG5qX6;e&(3jx zKLtDk@GihQz`Fri|33!|0Ak&!ljV6YAoI^u$;5y*nHbRKv$(b@xS87Kvv@O!;Lf#i zOKe=TjazBs*4nsl*tl=nxEpQUEjF&dx}@|svj5XvbkS$89^I2eiH}ujjzwS^BfV~= zc{}{3yE<2fVM&k1;~rlXcj&G)pMOTf|KQy6hcL!?%U|pxEJ&X+(Uc$4Nhx7VwevYp zq~s7lDnB0}^N|9W3fPWElpk%P{Alx8J$MW5F>RA?OM-jR#_h1_cG)=3@f8*`&Wspc zo#H*Z+PH7^z()q=Se^44U%(Ws5nL@sVuhZ7a!YlLxHxK{2q!9qCnK&>xY+;`m7EJ-$MtKil1|iaGv1N~vm%WpVBYAas-aq; zc~%P-e#NRrT+aiN6RNFq9^lJ>EQ?nFS&pml$ViJe8EMhxv+l)vwZi>Y+kDmlC<38N z)HWYK;%gi}-zyt7nb^1!Y#hg75;n)iiBMK@)NhaZL&5Z}hE#O4$(#N7$a$K`*{d7h zSY6z;KGg~ix&L2CPsKd+#9^=T)zVq-95T?uH;w#HQyueke`?2@HH$*quojo9R>3G$ zi8vyR&IpfuNVr7VD7T$>5-rNH;3yQ7+YNY(>C_e@mz3LN;7Ci^3%dNdW*4V?h3*2E zzjMuwqiS{?G={%>&5p9~mitcNn1*$DX1U}Z3ugzCdlL;p9!TyTi#XnL&&6TNeNP5@ z@s7H+O7hKD#u4zSt7}v^E*LYdTt#lI#(;r6HhT{mGacawiRJ;jM^-bCYXz&`op=}F zVWgYz(7X*fXGif4U?$+-0LK8n56BtF2Y{0ScLGvJ{T;9n@FPH${ilFj%i9k)AMgvn zdcZ!wM(t1ayASR)fC-6KC(C>wAPe#$Jko{JCS5pfJ|#sLE8IWvrp;&Z5+kAG6+}YE z!^MJIZ{x1Aao5^7X-im;4yJbXq|25kcEcEtmj)KdWq1wXor*U__-vjPI8(m6W zvNg927Xmfp*W&t_))oC!s)|Bh2NErhS*|Eg!#6x6o8Vx{ys-XR-zJZ#s0X^!09pT; zx?V1WT{>CXq?4u1XFp(?Q`_thvGYQ&X7^Ng`}cSId%OL6xo4sg zG^mF39fYCXj~;3zb#{Fb7aS1!42u+(k4Jho=MObx^079wn-s@K!5>;3`mFH<==l#` zf^H!beEI^D%qUDe@rub?WO9XOg0JFWk{pGJCtfl6kW6N2CN*T@@AYCb*aOeRk42Cm zzDD=j)1>bFRIKfs{H3Fhe=+7iLgu^H_gaBN$zljgxvQb~KTX6>z$IuL#}w|{Htq)4wkX_B zY#g~hqHr(Txc6Y=29rcJq3I8NmjDO)#e ztg=Mwd$9dn*?t6@aJd_{yAHtr4B?f@>+`T(}um5mop2$#cQV-8R*ut^*hu-&F` z^I?;6X@Ko!g+)X$k9fz}>`IsaO$anVPgM^^_->c~7i6kq(EsZRY7T=kwN-6V0?y?Rd$t&%~e_HpP<9A=qBy3aWc zE#SPep`td>h|SnCJR4et;Tb;pEN@s5z$_;*gS~Ht`9{mJSub{hT!3;}j0-^2r&;a; zAp(QC;=0xqyd+M2_2+hxS4M(e)9Mv!5H|z4r+Eh~IjG~hD-Gu~bYG_3$(T0M9f#VX zG44$5eou!VuH7d5r6@rs{dcr`#W3fxO^*&mN|t>Q;9NYv*7!#-CSZN^0Hy_&(rgfasPx z`v4h^-OAtL=El3-fV}>G58x=kPXMO?ehPRt;Aeojfd2&K8aX=IPL4Xs=OV!Ua9;_C z2Ge;9U>x8bfboD20S*Lw3@{1scYucg{sAxr@NK}u0N(*j2mA+M2Hh^@*<0LK9q08R(=1D*{y1F!(F7_b-+-CQR&u&Df<2UrUCGQc^2YXB<&F9)mwyc%#G zAaz7FAlv?CRR!!xXp^}FZL%GSeN~FJ4{zFh)^||CLdTv%=zeVDZnJT}v~lc1gl?;i zd&0)OVB=o4aqrr=zuCBtZQMQ^Hvpw6X-U*JpEbteoEvprN4fbU;0Mnt?nJTST%&*(6I^fPx*wre07&{;CCTj`a#h_{h&qBC`2bW6? zb`CgnIJn_MID89Lh=5K7TQ^hEgmg8kkL6s^sD`^9F8b2G0_JP=Px$2NmX?k}Y_F1Qd{OMiEefJ+eAgPnf6;QeT zc5-ksOJh0*_XKVu{M;LQ7zT2MYs#S9sPUAEn_JSlVkw`h*15-F`_W}*M#uA5{8 z9Em5`(o&A=^>{0u=~jYBY+Df939&Gb9uwnsS-@g-7-P~-HYFOlafnRVE(fF%{wCm1 zz!2b3fSUoK-K}o}jsUy@komX@kY(^99+}wDCKEf_d}`1kxMww;-UXKYSp&xN>2u7S zITf9mF!G)=9|2#QXhnVv{7!K#SThWZoLO2u4liZmDzSIFs+2`^fWpR^kRx6&qpwP2fW_8aEfj+jC;$ z&1uYu2k=XQ-;)Se4;GmA9e{a~)wSK=9z|2UqkhxHTl4h2U%!S^CEmMvB*%&g_2ZeW(tsC#t z@g%B|^%RA>3GeO7_FKHKP`2mseg;pXS{Hdr;dbH8F-oGkq)%{1q1GtsnHK+6dyn$X zhi$vUt+a8Jy-)G5jEuPyz7$~k(NL`=1Ja#@hu2U${g=bjxu(kfa!&vI8CZ|oIWC_7 z|5IJ#a>hwAj(L(fKvPD><@v2G!R0GtzZLl!qu7eWYfNsIHtkVy1_s!VW8yN@YBPJU zc*tTm>Xl8nZgFl)OKTm~g3_cMQJbN+S}RQlF^Auaie#AGg3^@{x``sc5qC+e(e!kk z$ivsl=$bQ48Z)}qzbLRcTIT4xQTrP=mpcr-+3~?|?Z&XYkPNjQf4@c!#W_%xNfsc- z%)b2aw7p7m#D(0>IM&8P9CMV!%a! zGXa+Y&I06It`v~+Q3gm|$T*X%Yqc%K`k}VT#;3R8O0izRn>IPn!4S}y;6aZQMOJ?$|U5En%U^X>7T4SD>S1m-k(|t zl^2d|-RLfVYVx#&5!!U&{(dY2_tYR$)3=$mBk0wzgTdXJG+AlVkB}m#CgmtmG%1>y z^$wm)wT3L3^g6gjlim*7cIEpp-d8BwpYRq9xf8Z~@FZG1h_D?`rgbvvPjJ+F)Q}tS z7;_qYsfpOyXxti-KkRb)yEWuVE`O(nWQw1|;|xE9LjgVJp$0t#;ZJdCP^O9LIhD|* zL91#P_g9~6LfXWnKFxsxs?e{lK)Ik1sX(bx`zz41b<&Ii{Xn~o0!>FYX^g@=#^oNZ z-K1ATV2-}FGlVuQuOirw#6uaPnG4OrGF%8q4Y~-B8uWa?0>E0p62LmZd4LUo)SOEI z1AvWyloK>5brfz5;0V00se>ZiY`p zde;Ktz_xWEAT{VZ!0~_=0kYmN24uBmGiHXiIGb$( zaOOG1*^p7)zzFn~7RO;1(=k1#8N zM`4`7M9Wg5&6fu@)S@8ke8g2~mW{Tb8dYF$p^WR$g>xRrbh8RW*MfZqmWQa-^W8yjeojSaN<)FS#`h5HrWwE5H@Plb+C z4WXlO3yuQ>!O3JMl)El8dwykT(daRYvZ_O8Yz-BT8dEq7r?EHo1roa&_F6dmlbeOl zf#U8}?os$c*tc@19^T`tMPD$HhlG>DOfU;HyW1Iw7(g8A?=ZAuY;wDc;MJ?Ynq4D;o=z{YgC@W2hsj?~Por zKgrbYLjk$k?(}DWlBB6gx54GV;SeBn??k~ZLLs^ZmvJ)e5AfV}6<*53sr`dZEiLMB zni5<_Yz(DD8wjq)5r;!D#y%h1AiDKU+&!3>aRr=%!aWA3#~gBx0H69*)lKyQSr2E& z5CCpPWoxj#uHhWTonvsv&O>%V>@FO1^VN1lrYp*JL<%O2*^anKoc4CZPVF|^5jVN~ zuhi~akPR~uH(}_-axB8bdSbe0Za_oes>_Xl#NPyX1mKSWvjA@foB((WU=HAIfNXp} z0X!e@4!~~!-U-OMzYCD#+@ArmzU~HOL;EKl83EHKBVgKmRvT(uaGXg9uG7YCuyI$| zxT|d3jW+HU8+VV52@={srShi$?XW3b#v;Vd(&e_mV?7qxscR80?#o9*0&Lz*)edn}_A^JY-+ty0}1m z{Gy>igjNnyO}Anm8Y`OZ{)&03#TvGs`S)^uy6C*XVDL!~9J+bNunId;-JXY_)VMYv z@n!e0MQ0F)oF%GN8)@5ffReWTZP=u3{|vT1Jc-tCZQrf1MQ`uV!k6{uZ0~8>odn2! z#Oc2TgmRcnS~aza)Bh#}N^-RK3Z#01tD|C^jN>Uh?)DxG1oVy(ay2IA#*PWKv$5j? zmYH9(v9rNSW3LRX!PhEk4Ucy1YX4u_u9+8_!%$e9L7yg0yPa2Px7k*_S-VX;zf-#h z>G1ct=zFx=+3s)DI0BX@+dZWOszI6Gpk1=m?gtzS_*=lSfDZs>13m>%Q0Q@5$>-7ad*5DU-L@&@L zdVw~X1q+U|V8JzNTZ+Y5u;4fg7CO#?1$ViP<1AQkoCOOVXTgHI-NxNzveREa$fz;E8TAFgJrBJ^75Upq+D^;l{n zo2mHV)|5=GbvEt*CDcitxFe4(b#ElsjXmppPb%BM94uDcOI+h$G3IF`XT|;l7Wlrx z^tiyl(8X0d58F2bst4AJo$;ZIOP2Lz#$PxgbPUP+rf`Vyr@mDQ-5YmD}DDW zW`?-$UK8z~chRbiW$VUUX3*?= zIKazPdnj6z?;r8zKrK=2`At?f@=8)Re(MxnI1M(Tn+ID8p74r(J$M*HIb?+!!?6#? zt<;T2MK2FBT2uosQ%(QA%S|bx$<(^lOwNt29jpCK_$e-Tp>{JqGv?}19OcFOD}r?ho?mPH z>(G6JVSfXVb^9hD`-Hy$GCye5YBh5Q;Pr5S2>4^bU4XX(egw!qVK*Rq^p6351NbT6 zHo(sSUjpm}`~Yx2U^>##2Y5JOTq;i00ww@*PCgLuOu!^S%2^5^b@M>t)T$+IqMK>+ zS#Q9Xv-}jbVo96NqJGtM+UB#UUj;|~Dq*Q#1xNiVxTkE~vo`Kk8~3J-+hOB&*|=UC zx8KGk4={10Y8%c3+BkkwmUu_oxUn`a$Ho=dI5k$xl=&NG@On;%nOi7#Y&E~EbT#ba z>}_^d_uO6L-fd=cyP^NGdp57{z4LN^?~*6||LTj=THn7vgmYp!j&Y_=AN(84@z)_)$DtWGGh4^LF%Khc>GW3^XbMu;+M z{2g%7M~E-OHxrLhI@F5nWT+K6A=`?_>AwkD?@&FSBpp|qoc^!4v|9f2 zBiZhvOb^T9MPsIi?c%hjhu_ie!><@mM*yA)cq|~7ZH@zEsf+~tA>i?V4+D+{d>rs3Kx*fc z0a=e@02xmP>RYr9ZK8E(^I6>4F1Smy&1Y@4aaY>7>uuakHtuIO?iV)hVH>x_#{J&L z{n5rz>qxxRI<)D1-I<|zqbftM;ts4ag;`x64!{sF?Y{hVX+Pgu-CUpjLd|ENrQJ8{ zqHh1LP(B*Dz2;L1Ey0ho3D~?5kE^#r7Y>DvNc;Ie<9oZ;>xpRSys=ma+W3Yn{+u%! zpSg#iaI6RQ(hoM0CpX7cLm}w#nwn2G#~JnTN~m<##-{_r@wo!JVSkSLs={w2aPTZ@ zoEnvZ2uf{p#TV0m*D(^8=aCe*>?z_gTjqeg2$)=4VWY-*uYi~&MT$UaCh}vfO5Laf zt%yRUlyNDGS$0~06Uo21O+!f%CC*v!PuD{!bUC&PD7r(KOEu;%%Rkeaz+F z>vCtJ9BGVZ8m8SwGqDb7jAr^6b}lLz!}_3FV)wF1BeS7CsFtPxjt86ym;8U5>ZlHffs-mNcD>yWOU{%f@lABy=1s3BRXo+_N^0gC(KkU`gnxwgk7! z#&NJDI1ZMCE*&jMaNI~MxOv=25;!VUm_WUyznZR01uk*k4&>Haw2g(&Sy!g&iH`xh z@T{qTB-)HL77cGeB=NAb!6J|~T;mOxggLEguzP@9jAy*7L6RqVjKDMGD!jxLwl`qc zvd0x=j7uAAlR6Aby<3rVv@=C5ogalP$4~(>4hq>oJd^OytVCrq-c^8D$goU zWLnk%QWz-E@>zj4`K&;j&tlUM+*8`-!;YW8kWgZ{p!-%Pi00fzUQ))?q#Uz{KNpPx z#+ajwMMIV`4fD-1T!+U!vov9jgx}D}G7Nv3iN4>=LO~8jK|Y4`VF^7PgtIcvZfJ&H z9iA2CD2%)qx4UdFMcL7}3y|sF2uKyA7XV|-amJ#dTd+AmbsD!|dsPZ~QoxSI za})|s8wz$_#HSA9L&(z7MpsJPL?zwfAgmNF>(d;I$~IHg9EFh=<91ideJFIM=YCxo zzXd!T?gs&x#)kn}DWg@TP_NP^0#BO=yx=JCf_u}Z+iv4RR=5FdO9ooxo_YHe&nP^` z9BM2Yx}|*y@a{Eb6GpYp$bywkTdMbVF*Z(=YC1%{T}oBchqcB8LkGxsScoh%lV(U% zC!E$}y09MCkaKU5WZFcMX~Vo3)PlQ9+kDnRETHqjbev12It%F7$O6Kij4vr2E*b@- zbVzKZ>&pt}8C@{X>H_(_hV0*^U}%$qq0MLAh?EQN7Hw1Nb3&*vU4I^h6eZykY1fi; zd~#2=UHAYm8WvtBST$;eF?!RU4CYSblrYNXSf?lK*bM=bps>`poQk>oEW?w1$)HGm zTZmiA`<1Y8Q!I6#wMA5|qIPOoHfXwsD`IKjbdPtq!_vw|Y7EmvX=STu(a1mPN_i2G zX?PiM5a6qTLjYd`q+)y%FbnW4z>$D&1D*)@F5o!8_W&sXe+6WocK|Y;si;Wl8)*|& zL7UHdK>Mbs^KydwosIj0w)xa*u7rKd#_hG~dTkt5ZRTa~!?gjt8;pnh&2>9iHu>@^ zEIvbG8^OzQg+;nr#^YfaxzJA*q4Pm=I-W#Tl(GoTg8LLt0Ul#2wS}D;4QDQ-GtVrA zl~FCN?u#q_2HZ?nt0hl{=Lq+0CPbMy`7M1@0N4LE)GjYpL<;2& z4-c}g7Qr<=B^PnSf=a{aTGjUAQdXZSKtI}7MlK4 z$8n+c>0`D`?`J24U$8W)0T#gXqqfp#MxB)w}dn#tixF{vvIti)pgIjn&T@Q>g zIojfsqr-q>S@4ui3Lp5I^01LDG?cU(ZhVjT3$H-lo`fJd7v41sK|^DFca=nK#qG31*Eb{1Iz{- z3^)xi6Oefx0!SGuK&{9uk2aa*(dM%z;Vn3-Cc&v?l0@x%3Z!R#aD+4zBcUM$5&O+@vbl645 zWBDhw*(WEeVb_~+U&WzxDt3M8@U->&c`8~wYjC9r??$JBz64LEy3ukrY>7(QRUqw& z)&+2v!j`H2FEd#AlA01O+y1`=m$!6&A3l^UQ`6LP6fjCA*Jn22ar!$qoRaQxm%n?1 z5I<0|R%ms+%e2uw+ z#IT35lzYaEhdNnfcID&ztBRe9k;^t|jo5zEu6pcwOa;tYP^#>)FBYeD0u-Y|s#zw+ zFt0^;*c#Vq=~MQi_WJ*&odUJQJ`4kex&+U@>4h;Q4^F0apRe1zZDo z4&X+>MSvX2oDaydtp#K&mrLPwn@bhB;TTpQP7 z=>jP}Ak&qRq2cht?-gKRuA1)AeEJ^e5W);1)fo&jf4B z_N4eNJ3pbsu@A1tW6Y`ALO&WxC#8~ZJ|pqa7=P+cnf(dfF!8qi-MW(%IL)Oy87Jc) z{9#x+x$jbMK4Ax4#4Byw(`~naVw4RA_P1JdZp0QlB{Lr*o(eq1FkVUw7c2@iay4p_ zd0Y!fJ-7~#pRnm>8C(j;!CV*M7{H4FS@Wzdsd?I@=4nIz@D^Nxw&|-Bu?jtKdTH{? zf%jKiJfN7M3Xc^t3Xd^na%u{m6%!9nx;dhz__+&~VMs#-^`YIaq-CqwWy8k zo+aIJ*un<-0o_B<*YH}5@Lk{=5Roy}u&^?WNV0;MVB!wJGgI4*KRzO(a_B44PYHB} zp9_C;MFIS-tzCT_GPj&oHDW?mk2P2BFG3sn1RWWZ6ssWVzO(ibS{2 zCc1?-8N3RPgIB?YwmgY2*8idHO#rJZ&anTJm5=}ldQrp;5mykwAQEv2gd2hahTR2Z z4Ti{OxEG=VUQJNqC5ja-ZEdS{uh!but=0wVf>>K=-IrFhRD-b=6cLr0@Au4{Irroe zZ2Nux|4Gh$-g##|b7pyG<~=j5&*&9=!QER%|5A+)Uz#A{-*c~P0d)Fqobn?#D*e9+ zUY8fVF6Px1)}DH*f&b!_+@E?SR#f_oaQkz+OYzC9F2bdqT9Hs1ib17AS*EO+8)S_r zn>C{H&8JnC_mJ<7skn@GGer@Fukfsq%I_uIXQY*3=SPWpY~Pu}W_)yL@$cFPUM-o5 z>Lcm-Vg^Rxj8UBF8B<3_!1fUTOa@)%XUu{iV?^1E5tVPWnJiBYgXJ;cvAs!7QyI5@fha~V)KQ@8VF`YYH1^<>|yZ84%$$DGBLhu7n>HRyXa<(|gPEj^H zMcI7^Ebk@Xooz{@d6QcECwFN2YDso8R+=ZzX)HI{Yxay*snJF(sqxrwIrFcheN<`J zrJPnHp`4dQD5+1EvzNqc-CLSxBg?)izL+vgc5F0d-i-P$J1r^7&JKyn_wx9)yiPu4-c0=`{U=Sfie2~B z~ddQwO<7i?5Fzy9$J>) zCV!35W`(gax>F|WbIyMi$Ukx4GMEZ#;!pjUbZyMZ!D1ZlW*ze&|<{*C)) z2(RTxZ8@+px?4VwB>Sv)=`e15tq=AU(5DGKaMMVz5pMw0DyUp_Oh#zWHRmnq1HN3N z-rHcPvDn&~)un+uwFinVmt_z}CB~hG1lHZtP?Cpo&GPCDUU#my3A1Wot~pymbuia_ zJZWwJiuo!+iFkj9y3$a}&r^-NulS|Y#CCsd5+=6p{1zEo%?#SuREU)|v$@@MJhp0F zT>)2pQ_5vleLFnO{_xJqb?aL04ozkduG_Q2E`u18!*Oh_8K$c!_SoTNxQUR$J`yrqI z8ZT5&^#-W&@g{f>_%_%RM77oIvrP#}s5EQ=l~8J+QD^%%xCC=ExB_eel~5{|IXhDJ zzr*}5@F{R7_&!KEF=s%^z7;cNETMP#4X7FBZ$Z63>`Z&K0@{wWMcI+IsC@6w_`bsM zcoswDn^I-nNlC!ElXi;b6$iXC172CcJ15|c4|vl8-mHMPFyN`5vT-OKHV)NE%Uc)l zZV7n9*j6CMpEg!9b2;^&)ZGSUznfqKBOO&ai49VpRXh60efQnhH2RbKP>&s3ysNTt z>Z^_M=EgGrEWF0}=90x6Myc}=lkv?PKJ1XSxZ<}8ELlFPq^$3f&KIwbWR>;j;LGSs zEjc>>@}*>MMdR|V8>3rrRob}xh5Fr{3$M{bw)R%j;+3qJQrK`9wGby%xYBK<*guI>g=KYB~SHuVrCEBeO^OI8ew=a;M) z9M9oP;aGP4m{J$cHcAdbn=rR&DDUXaDVmrQq+(RyCITg*-?~=-G&(Ta8=NMF&wd~0FD z9Xw1j`fA}LUg0C7H_zFyC2vl_hQdeJ>rK5`vLY{5lAQW12jLA_9$DOvkE)Bgm*g3h zMpa?2p7ZlMji`SnuYN_I7k{fIKN)?t@X>7aq~DyAd?sm76ZjX^M1j>DXsOQzVNMlQ*-1ymI}e9r{Gy&C&_V z9Bdjf=HEAUlKl&Xk4}A4DWRag+PZiYGbcmJbJ37|_u%zolVeJcB6)d}3tlJ~y#-ZC zmKwLV#$T{KAx~FcM^-ibnQTvXssAcFe(w2&$dPn8h>KTOCx}MR=$UlEbB(Rb^kZ|VTo!mD^^t=sM(==!fZ#(Vp# z@--RNobAPvyg>oV$mTGJC`OXe`bNv;^|ifbB#>&w4o-zd&*GPL21i`T(cFemEa^bJz{t{{QlZd z>arg&)S>+T+)$_Rn}^$6vleit;oZaUt%iD#UyW#Ty+;G;2`Kd?x!wkTf508_Ug1|g zO|CbPJSaClK8Cu{@U#)*_Y8Fslq5|P{sd)Z z&94LMX!;+^I|s^2juW7)TwhDBB;j<6@&V%q3WRSGt@GuyA73qy30@v zP(L%&DyZ8GwHoTjhFSx4lcCl^tu@p-DCJzPcMH^S40S8iFAYWFjl|jjy6X;X8U7pT zRy;|pl8EFs!mXzZ+i#?U%rUlhrm`ZfwGy5^jfU+A^9A0E|Ja zTnq@ifH7!rI%8luV=pggrKMsajFVZ?Xv;_s^kn9|+q!6zQiYKo=)iOr15Zi|W8eTL zQLJzu+C<-N5@=SFmM)mhPQ%*lSM!}}Mg}0|)?PGp@#47`E%4W^?0K%K^HXQ-WveyM zW;z7bcV@h`;4h8zQOGd0v-}8j0;|Rpy>K&^#nytZTYQr?U05)C;Zo)k78{F~u#gs% z`y|JxLTUHn7t(x0>x>_r9lKS2c=Jmyvw@Y(o3YrQ2Ky#9M-VB>EDK__3+IiTO{pyC z`Y!C4*nvqY)7h{EUGKo|s*xy5EtzG^t1y3W66?9M=9(eTU|j0zNoHvXbP{z*m$o&L zx!E_L?3)WI`??1C=Kj9fEeI#m%rB*xzfLn3sM2yd{{wvUX@2;pJA2=(<&3aj%gw|891$%?nfoFiU z!U?S=(SDl`iD=OiwU}w`&1y7T`k1XHegggsK0Qd{Zje4C@c>9`YPK%AAAAin{g2tQ zh@K_!H_Q)#N+*4l(eS55HX}3I<3uK{B)v_dBlslP1zZnGz^Cs?^Z=g)j{u(oj|HCx zHP+e)N(Wn9zdWtKbsw9q@7x={%vCkOi4uLNh1t zV^%NO4Du}AKSA}g{{mkCw}XV~eFnY(eh&T(+zD<0cY_~+d%%yuRuDH{CgH>L*lahU zZvZ-gl2c^v>6?!NJ7PZFH;({ulNbpWfa5{@CN2Q?11|yh2iJmpO^}ep-wk{SJP7<0 zl>cu)KEq68QYH=qJAuTR=nnP*4+W0|j|NFYVi0%?ILtSn4IYPiBG?D42K#~wz!Shl zU_WpvH~_pEJO%tQSOWeG90J}8@@$C*z%#*z!J**eU>UdpjDmjx761Dn&z@)j&j$B^ zqrgJy#TYOGjs*_^$(zKn;6(6va58ubcpg{=l4pstz^UK_a5`8G&IB8L`)k3um~Q|t z25$w|@cw=aA{Qi{0ueM3$$q8If~X4O+<#l*Q_EvRntI^MnAdP|gD z)f1KPW%2tv!|UKv`Cb<&NihZH^H5QC*5P`?JCa{f`DV*ZNj3#WBTAIj0Fm5NV6@sq z<$L4!m7G#wPNWl+@6F;@5=()1kx$tb#$Os<9lxT`_~lnJQ-PUT6qRodKDgWPe#oz= zeDfD)99ApD2_}`IVGa;HfT&VoNf9C2z4MnNQ`b zRvF2wz$|X9#gy+&r&QQHo$XU>a})4l0WT5o8Uo&$fT#A-z7MsiHoQ9m-h%<}p@6qO z;5{4gHV3>{1KyT^w>98x4|qERo`gIbZ?;e6dqn|HW!tw6z=o$NN=Ku8K5E74u%BXHE0Q!0YnhkRMM z`iJ;6dVhH}S(6!DV`QA^cJzI-{+rhLfc8eFY?ArqGIvPde!OV;v@`xKBek36_+~MZ zC+m0R`noQB&KY+4h zyBDBNH-6uPLPEs0g(1>)$Qt#iRg_z;;C;*;w%^)C6Rs7rxoayDz7ixB2Et_)o17-s5ux z%JT~D{kU)8)}=K;ttaM#Jwc=s^9e&|@HEUw?TN`?5vUYVkrGJ|X(iDF9teIPM4Cz5 z2KE4d2_n@b9tDp8{|xp5Uk8r?{|+7t{tM)|h=j^OA5gCpiPP_?McJNORKD2;7WosN z))YkLn^_j??g7l!o%(Cbdn(`|r~14<1w8e7)}4Ai>sKr+oXlv zmx(xHCVqxPhj% z$~*q4pLu41dK}id-Vyw2z?M?5XpleuQiGr?&w`mgQ{$mms(YZ%clJ8h({&_}X0cdK zoW0KVbRCJpQ3t8Z+4mAN)RCy4NI!c~X_B+S-024&`)z!*j_qFe){$}b1CJEM|GLA_ z+y+I_Txz>*TWh8R^tRolbX9Px#0>YD$7S2bwhyRjfxh6OU_bCE@I+AJ$Vs4{hbdcA zVi-0P&SP*y*+x-RzIQ0UmUo0t*%D)UDlyibDIGLHe5%vB#9v%YzBxYmr)C0WKXLSF z2PVraP^m3qht{0>E#I_c)xVHEd3o)=Fi?l__SN%;oIEXT{2$tDVk1d{*qS*!Q>IgYeVK z)F$lH%aqcju+QfnmL{CIGPPjFOtwu-*J5|6z~lc?rX+2sA&YU(iQ1r5&Je`RT?| zSjb8!Pbxq?>07*2TP{V}aw#g`8^EvSo$OO~Xl!}WfHyX9r&446&I@>p0v_d8XCjA- zZ>3*&FQic`*i~AQ9nUFVUure+?8fxANmCQuwn=l<5euWKBh1qemx`Y&dP3K8Is5c4 z6>r8(`ccCJ;K}a^-1};h%sbxuD+qb>um7d|s4TElVXjo0^cm(-%QU}AmtLb@{XoN^ zQ{q)BQpTnUiL7J6L%?yM(mx*5tJdtA?X*PMPD@n2Ic~x7KJeY;8%fjh_5?h=Lf)Uo zenAt2M3me;*)}kf{r5RdFEmoWoR69-D&jfyoAPLi-v6?(qN42q)k>vpR(eCVeZ#Zi zxU1YJT-DSY*4xxm>pnWoKCBfecSoezr+){dW_eJWxTHAccNlkRS_3k^dSNj5NN+ym z$G`rU*RQn(*L*A}n?GAonD!yP{cvLr*IuZEggY&zyMjC1X|c_%DIphu5$u?;Nc03R z29F1sw@9etUI6NO7lF#_e^5HCR*xvF)gy{|6@D!*;#2uv&w$rE;0+FV>d35LTZ%f- zQPGh_e6c2(H!?PAWbDlPZCSAsM~;m38W}tADRw92B-Iai#nq(7ANcp5+$=-O(Um@N zDC!VaHfq^#a`Ibi%ds9W7%I74!+7m!uO8o)F?GEJ$AMUEnL`t* zjPOb>EQ&>p4vx=2wWs)zhld0T=khfB zbn$IF_NS(`zDkq)uHv5U3X#8}j>^1Wq}%`aLhsqX+HZliG%82_=3^{3+qO6OFj1dR zMR0H`F)yl4sdEpjjW4b?t+E?@x{X#Z@FR3)SI_Sw1oiB$UAP~!8?4^r`w{4QRnGV0 zzJ*&?B**H0cL&w4_W%zD4*@mgI1D@rJRBSXvU*}R!DjU&F&r}*A7=1+95@kkA8-bE z0yrD&2VMmB2j_w(flI(*upS%?D*sDBW!H8}kQEh0Sy53`zS-{A@f)xtM>jQAEGvApVtV1DrD%AKWlKPRP=$87KO5av_bIu1 zWouo|(>bL~r&UYMq?%a$PARjvHMvpW^L8@oyW_CP_4IOVhodIxD;_16iG8PrLrL&E zAx#Y1PDoWw)l;v>UHAHgE7s}4&uwY;>0OE|PR@UNm-06L)5TxKna6!6_Yaj&bJ;G% ze4v)vtLgu;SJ9Wj{vOWlPwHwguNLPB?z!e;8B>u|5p=oXl*_4K5}qpB0&5*C@!QWV zT=kQso=sIv`7w`M*HDVM^1ckzs6GlR;t}9+AWB1tlfbh;bwi^-RjJXSVx%;f^N7ZQ zdLNTPqfbv9az>@~Hx|FSq4sx!$@f z58SD;S>E)3_Z?Lyc2ua^9HeT)m$;?b;mQyT%649;Y#%{tZP^|S#UedryS>uu8cLNW zUFoG);-)TVpI&-Tx7LAudg)azr;q&=r^1r}v2L%@yKvEeTX@}k(tj+gDtPGya}bg1 z`V|QX%`Z(iO#7pBsw8&go?uztG)j!}aR#W8I15x`Uj?c?nFC5-ss>BJ8c=z-5Y+Rc zv}a13Cc3SlBg&RIQTg7#ab~mf~6{36{A=+|h~7_TwGRz2utXmF$4wAIOLOdfq2oTN@Uo^j4or zvzI94loKJnC(`UCN@e?HU!~;HH2ZW>O7HRXG*L=vlHcERkGRPXASFt>KkFx}uHkit}}B7S;ZbMNFTw}N(sZ~q%= zncO$}W~bqW@iXpqK3kytP_0wvvYK009koXJe;L>VM7h;$D6s<6dcYN+-g-S)3SJFX zf~dI~QR)Uzq7#a(X1ms#K?&X0f=UvlG4VLK4tx^)38?q+Q&1V4o#{j?QC74Pm2XZ2 z$}v3ETT%I56>r(Po9k2gUOeDk8t_&IJSk?`@NNotKL~ga2E2y?9yNVzP}Nz~!U6?& zUqVX0$u3dv#jbFZ&qFrGa!Ts@>N}ESV{=RDdM=w?QrCOgG*x%i`$>h5jxH*Ev~t;G zD*ohx7spfeZ4IU_5Ay4BnojzjAseMT$l$Q#rXa&0gC_xO$w6-R)`i+CIY7 zV}s&WiIVn@*>+6|4VH=Qddx3%ry z&%$aLl4qJXTP2i1TL?U27U$4+q(jqq5e-Nv6_4~Ghq6vro`t=Hw$pvSvriY=BogX! z_US^~gV+_P6>r5U_d~hI?A=Y3FPzoRH}Wn5{7{~qycW_DZ@({6vFw5$U9MR6wMOr9 zzb7g2&C4;n5xbgvcPYIU+?pX7?lTY0wZhvWpoEM=!DGO~!GR#%wOJJG4eB|M236d; z@+PdXCdvwHqUy2>39lGVlnfH!L+PJAEk1_Nk)sy-%=3-5#FuMpVA}FwVOB zK4DmQxBFCqQI)nlDPUW7j|T2u3V53X-bfDfn1MoVl~<1P>pV~zQjRwc^J3Ix<0#0^ zGIpk+95`umO|JQ5^QF)4EB=d`B-5D!a&uu@% zO$~c+gpZ9Ul$ERD7q>P=KXJ*iO_|-uW1#{rE9E26_$OH#UBjrzB^PUNPX8Igo=%k~ zcJa(>nz(gbW$W0UHmoBR(XNvC*21e*R3=$1xb2O8!@sQ&W=Xuwq4e=RYWn$#bdr@+ zY(Q`0Pyyw|2Q)=rs;ud*7PlKr51oLmGQQdx-)uR_vr8L?mt^w{C9%QTu~85>+S7`` zI?$K5Q(M_;#!rsP_TpWd2wq54g>5pdexvQ4ObQzQ#7E-po7N%Ex0yExZ(XvSd~Z3* zACm0bSv}57Hk!EWm+$dn9fL=zU;c?Pe&Rn5C*yD|MKX_kW#`E`Ni=pn}cYtyCAe8NZUWAe`9P$3jFW;9C%0HlND5{!U zjIE@DV|*;d=6FL%ROKrc-2DQ|`juw0rQU+FgDiR&pXv=|J2d&T z9ok?h8=Jn)QEJBigvT$W~EUZk$ex|X}TH2WK{cM|CiD86f9 zXOhCM;<`(5$}ityde67lb?MM?tA(bdxl3OBtG)h99g?i2;y7*EoQ1XXXUsFbl$h$k z+AtMZ_X+e!uIqAV9!A`JxyD%fv~b5z)_dohE=yl2s)sUNmijvNVdh{izh9FaER{;r zDbB51U^`-UZu;P`7je#BYItP}<8+tWI7OSkURXgwa6Zr2EvDyB?W#Q&#Twf;wh7dn z%dRbv)U~$tZ*xx_;}|_U*8!K=j`H8u7??HNt;_8dKg&12=y$A|?a=ilFG=Cu?3=&x z&2RW-r+BRyORG!67#MnQ7*QX=W8hU2-3q?7h{GR#qxo z(5md)@J{Sk-BoYnaYEVt_R8Uh7 z(?E6Q)4`{}nc!w{7N{=03Y4%p2mBnY1~r_W3+96tgWbRd;PK!h@Ie~GfY*XY>A0<%yfD&MT6TX$cO7V9np8_Uxao#km1W_f&5=<|*Uct-_1wcFO+ z$pMeA`h1>>rVVdwz*F(Gycq#c&uMv=1iW~_yE5Rd40tyLyqf~vZ2|AjfcL9__i(`5 z5b&N0c<%2DatF43k`s$2KTVH*MW3(wY;Njw3cURaAMKPm2cqMg#ys{Z9~1vb8_4F> zH)sCN>>j%b{)Ox)9^TYbwZ~mGKH-KV>T$B*(XM(&a7*acuE2yOr`_hv^cq+rdTPXW(*>dTORP z3JUC=3twRVDg0gF{oro!N$@Lh1NaU2GPnnP1^gCN4WMB%Qyv+hraH1fO>yLcd0+?d zU{K)}gPky!f}O$9U>9%-SOltEbp=(X&&YIghA1m%h_Z6VnTGco?nK#B7kzhxVcp&1 zQw84r0q?PZ_e8+c?1J^H$q?)J&4BlAz@vTk-R%r`sXp8E$dg(xsVv^rOtQQo&&P_B zdG%lA#0u-b%8VaVvZyaR#x3d@JCu<<2gX(`%V^22pT6wdNt0R^xvj5ul^gxrY@Wz1 z&1nkNF3q`CU^pCijq(ZE=~62o+TG5rv)Af_>xXwhQEkwXZ9B44m~yXDbkACT%#|Va z*ouWqs%l*&OV?&{ap2rk^W3glTnLUda4QZm?B|$(OdXO8uS-i@b~vCuR3+72N{`Y~ zz&+b%p5Mu?9!vqdz?%*p3(f@9qRs|YE9QX3U^S?A_+oGvI1iMJvJh0*i$ImS5#*oM z`xj;P{zc^*O;^j){EX#o_o)I?J1vie;O*$TeqPw{I<~>aV{|mAvik42@xnSzFhlXx zoxfR*I!MaU7Xv4qb;G|mx#YqrOO95*ciNlD5!vdm{N9h5v6x%NV#~8BwQuVr8upP} zau6HFC9?;o+?LgE>@?)Ud9@$$0r!g7lJ4xN)|9P5+UvM{YyXzxI`1n&&BX_z9$V}w;Rt7#TlAtJC6*;zWHdN}TZ&&g245O0Y zMJX#oU5>r$cy~bE!_9_JhASIgN|R#vko(}E5_vlAabNXE<EC0Q-f1XK`Bj>i1m&HBngY3S!rb|MoSfci*Va(O_zVx(8iukviP5sHU7{twTzN>S$K^T!EfJMYazBkx?O!-%~UYROlesel<@q|kk?fr$SJop#8(QAHKWs9N0glbkh zjcl(p^x{r!lHtnS#k|>=LRI;3wL#@880)KhaF^1j;?se9xX-NSwJHhh^_|!cycj$H zoDZt$UI6w3F9G#jwV)!>jGUE2L|HjRRK97jEl;C$%TqIFd1~e?kJoE-(yT0U0DMG= zzDq_nPR&cM=%2Mbk1wD{6!Dr1d`YAJB0fPJk=KU9*{U5>5}cD`y!vQf1Zksh?c>^~ zb>NZ{O?ZP9UXQl&$rYUtP;%{eXZR|@*TC9W7UcW-DMP z-`K`kYOdL46mG>7%}iNJ@77Xk46fsjc#Zs8;pD-9_gknV$=_UaMw&W`h_@|pw=1Bs zaAW;yoM=NUef*R-0Y;*vE@vKN zje%M7D!Ozax%?OUPb&AR@x*%L#{MYXs;Aw!AM*Lk#G7XR0#NmIDkza>8aUZE&j4p) zz66{NHu>i7gBM}G1Dp$L)GV`R$>xE71{Z+uftP^)1Z%;s!Np()(h~=}fUF>z)r8By zUYIWjmA}hDWgk1r`J#>}E9!`{%668g$vw+ch?Xa11Its1vpj`wdCC#X(_)h4oe}Vc z1w742S$7(-TX(cGNIpzB2b($DQ+e$uMQ5INA>FAyvT zOz+^<>_b^v8I&KnQCoTnCBR_Y~J z;@9)2Z0ec&`uu@ecE0#zP-SxvXr32TnV3mF*~6bi*^_5P<$GWHwgqN4ADT-moP*t88%N=uVB%ypoE%!mA&KIcc)K3QLxD zN>1#Q9Jt1A(@%q(Tv2yVMlAcD?0EJ)d9kdqEyX1$G8uBlpBAzPlw}#pR)mG)R0gk)Wxa$SE_Dlse z&*usMnr1JJXV*0Mhq^b-UK-C%6p|2dcba{B8qet}p-PkD{s(t^pWs*OvjGX;O1Qh+ z17NrjemDg9VOc*nkiGo zW9Be0zXShpQ17P~s9d;+a%0D>qHJR>%4$hl9vzKwXSJj)FBb3;K2_i~1iW3>4q$&`W-q%UHY zG%Tfj{(`%K+g;^8;fj~)hiJLgeMXwSgcW-Yj4KqkB6*m2b|yH4Xn4;L(`b3f3$EuyMWl;&Kmoy8NP^6l{{9I#n4+_x5@6=3bir$+1dVFPaN8|E_#;L0tr{2;y zbzS4sRn2l(KYC4T{phu=Qh1K8uB;Z%ir1(ze_puy1!7A^S0{^_&gqLT^f*-J#MWwg zas<Y{zIM#6#QZgskRNLpC8{8y@kcY)z3#C&oL33a8^zyoTqgL zijIXak+;Tg@$Kus&4~Bd2R}3UrII0)tz@(zS=x6g-AWld2#*+vNau*ua6w;@QHZHlhlX9)YSA%wMl2=@^}GQNs8pzR+P z^)ETBaOK-3)LZ>=XJf94$Y!~VuHh({`sHg{*$5)O#!3_DwafkuW52esyi@)1wZ?v} zvoDgpx{{Kq>zId+uk$UYu1iL5p&jgK6%HxXu7ssZSHs=^Zfza%`LYfwN$gCaAkbg* zgRuSsg~ipH$M>}tNAHnlVsK)|Gn12FR zaQ0U@bE=qazw``;wiRdQMVrUlHh?Z0j(-}6M3YXGhln>EY7Mo3b3C9v;Es4#^83D_ z?&Wujp*HZ_WZZ3ndcpAC;+L5g{K~cE=~K%!#rQLZ8w`(e zm(P>p|1~DOD+AsQP#cZA9|Sz{#cmq69H^_Z zhk9HT&+@%fjc9oQDQ)MA+T5<)=`LAhOjiNj-%asJU|mN+cRHVDD^2Nz-U{=TL+JqL zm@gOBVC+RgXVsQ3tgX7J7Uj;_#$s(?k=otFC=IN}BGB42x}~?k3G@;)i>Om16et>_ zR%Ku&23<~NK-EXrXJn1!-TQs>=f3%+H1j`vvr{qH?VFv70UOPl%h?b1&CWiWW}fex zown!NH1qF5=3v&-opqs@^j<5#^SPzfrt88EcCvgrD8Xem*b}79Gv_{B3|@qJ9=H%( z0LH)_;AP-qa1}_uZ+6=i{}#-3;1l3w;LG6U;H%(r@FQ>q_z9Q*KLzVS&A+V#rIU~Z zrD?Mo><(TBY6^V~sM(P3ftmri5j+*V36ze)&EPn29asha0IUIj1Tw?p{REUyek*tl z$frSx)!^;mPr*CDJHWfZyTE(F2f+Kl4dDIYCh!4J`UbxQw}QU{KLURZZUY|%cYu$A zS_pa!)Q6LggFV6Dfk%N)g3=;?3Y2F02Cx`>2CM*|1+`@RJUA2F2wntk0xt$%1m}Z) z1f>`GGN=}HGuQ~e4oVM_&MEO@@GbCm@NMv3@Lf>)kMv53C&4Y?GvNE+Ch+gzYarcG z;;-OG;HO|S_${dS+>LVeF?bO833wRzDcBSI4D1Jf4h{i#f)(JG;CUduY+?qeax)85 zxx3gmtH3MW-}B8X@Ji=zeX|O@()F=#R%;|JQ7b@;vI4Xy`^}-WWedDLxD%Cc&OWg2 z)Du~E8-1!kXNUN_Hv*ofB&<8VZR@us;AwKg^1cap9f-;D^!}~i0|VZ{0q>ZAr*dH3 zaaxA&mvb_F-iUyAcEICQ3*Q~*S@`Z$N^HC;CpNr9z*GNgc{9n4Vd$^UV()$J%&*Ud z7I?GamP2c&{9ZYQ19Fnlf0XhgT9D1e;U#z1w`RoowB(S+==PQ@zT=TTWN`;#-ef%3}+|)uyt(mD;>Ctle3->d(fe=iWi~Xew)mn_Yi)Pm^muF#dYC>#rRy{(2jK zGmO7c?fPqni@#CE9~*%21eNXjYln-!O5=|)I{qfK>#rRy{w5fII_{;ZtkeykCN)M6 zF~y4GEaN>|5RI(%;W*x*xOH2NLc~vD!*nR~ zW)rkj+s2ugIDYh4x{#)_;X!#bh0QjK`?teaoClaV{m(gF4wF@}-m=wrDjDzIRMwvf z6W7MdLW2RCj^LbjD&jHrwq~tdyN46b~ zSw{)4%$LQ~L+T66K`m{nmR}s~OUkM*_?I4A-f_Q=m*m%_+$#&Dye;>SeYg7{aP#_; z-|g5czmt-lsL#**j#P9uQQW9GxSJiwH|%$6?oySv0Yjt^d?DiL!b zekC%SMs50icQf9za{xz?;1{?f=A1Y?hFyZ$j$s?222i@}a*QOvh<87{e;VGep{(EE zLw#&`GF#q1pguCZmVoyS)K1%}g+)!*~<^9U|xHGVQCa`@A>H%Z>USRw0z;=IRv-^zg zK~Og2Q=n|fqo6d;8S&;q-DBJ>gtAX0NmAdcae{2Xdmid%hWApy`y5J2w7K3_0q+n* zJq&?3>YH2ZEy?cup9jq5o*Rnua@r8FrG*Mi?N0b?)weT!Sa z(Hg4abysM%>Z*2TsQzC+ZqX!Cgt!7#G%d+0&q8W5n&CPGRxj?kE}e>4n{kLad+DSZ z^Wt{xR-YQXsW9{TivrZzttMdRSa*t4pEO&){>;^>dNW*ZX6Xtt$(cioS`SiU+@<`i z!0-z99X@|#N4xkr7VHCm9M~V601g2sfo0&i;Mw5$U?s?S%q-IWCEv~=U5I%){Apkn zI0LK!8J(FqB)Pi+a~0+W@FMUguo_g$TLb=vRPU!K=W7K)$asnmj8(t-4$TYWZyy7zM8dC7m>Z znrpfqoCU4{tHJMqnhU=XTmjw$)`RQ7B={rn$KWlX1gM{YkAOb~H4kwc_!9Ut@Xz2K z;A`OB;9tRe!B4@TgP()PDc=USgMR}v=s(^AJA&_nJ-`pZBf+hpX68QvPXf1rr-3b?1`MBq zlfZw0Q@|bIh2ZDlZ14+Eb4y=>aquhfYVd3DI&crDx&3d!TR)z(Vj~@IdfT@F4JT@Hnt1 zH~{PgmV>>)v%#am(ctmmM6fS72Rs4f%meR4a0z%4cm-Gtt^o&vKLQ7VKLrPacY~*b z4}(L%$HCLVr@=G9&0s0`Iyek`6C4h*lf73CZUrmAPr$Rle}iX(IrN63!A{^g-~r%R z@NjTE*c+S(vU|68E?5el2S&jQK(-q8rh?PKY2YQ`bZ`kc6J#q(Z#H;6SOxwNtOoA` z=YkJ{7lUk(=gkK>|TYQAMT*cZG4 zJRMAc6<|GB2{wQe!K=Xw!ByaF@LDhqCc(?WCXj8Ayz9Yw@CNW|@J8?k@FwtQ;LYGY z;5zW<;15By-M4^jL*)Gg+yLGR{sp`Zd=tDKd>gzI+ydSW{vEs*{1m(oYz6NJb7=n` z06TyWf}O!%gGJy&;DO*H;IZJNU_bD;V1Mv;;2`ixumpS>JRRHsjsbrUP5_?;&j+6e zr-LtmbHEqDYVaj+KKLha3HS=gdVu#DsDA!+P<{AKv=MfWSCpOO6_szk(p5`TV3amQ zada6iq;;oxd+ScEspY*D@bt}~m<|h%sDQ^G@cnzZOJstxUgXjV|F#hpUyH>c;%RNQmR5q_YuX-3~#0hV>olI z+UQBR(0t~U`kvA4G%&*0#j&j*))~ybYKAtvA(V4Do)qZ()2e;gY6B^IerugcrNXOY zr+_-+N3+8^=~bazYEmaHdhK@LQd>#9Rm}FzHCtYmL2LfkrN+@qOf1S%<>Dff8+H>b zdm^lS%qO3fV++wIU5IIsiO;6Ig7B4+$>g_UXq$%Fgr`$q7jxS@q=v(@r^zbqHcq{T zIp!(D?@Q08`ERAw&SK9oGszY3mY64LYkMi7ND-}$`&@2jxgX0$Vr_=@Zqtv^&_N9o z)y)W#-`&kg8=D$$^8SU+!dJ1W9KTWDTv*t!jM7)%+_kV_h9L?H8%7%9$XHE%^Pt$| z6Rsz)*wOXPN5zk8TDj-b*4D~N<0m&Zi88UFL|>FN7A*&jA7{1tCu#fX)`u0BokdHc z@{m$^_QGZk-QtAihGNN(6x#uHq*q7!qVUg654Fx0Oo>R7n)V5piR z`)o&f2@=veDEz#>dP+-&Nj5`@*OzYF%}yIGgS3;v8`?|j!?9z>*T6}@UNlESF}43qf4zBsa)!{Jqse@CG~8^R%@hM5Y9C!rUkf*n6cP6__=0< z%6_q(2nX}<{ z9=wS6G}JC*`wG+-hLUtSmlQ;FzP-28@Kh|m;BMe{m*zxNx;5OY}9Mp*K3h){bX*;22P3~?5p8|ZZv<7EKBqod2}P8Z zP(*W=3aR68wCdIy$wd%*i;!238nUr)^)WOA z$>=BAcX6lLchTo-l#`4{SZ?8P^^)b?Ib`n-ea4*DXUxDpWBO)o;Mie&H+;z02+P={ zrqNsNwl{**JQ8)(h1MIT$m1Z2j{UcAnf1yc)NfY1e`X+fAAPtkudhO)%S&Co6E4 zoEw*OSn^hO+bwL+(9-X|*wbcm%@wV$*YD2cvrW316=de#c7+YI;MGu!nl3HJ*K}?; z(dO*NPMNLI?e+7wCbYdYY6Jder`jJox|?t3opSE--R)POhF6%rELmQ(tRvqGWyJZ8 zh+V7qgg*VT!8o!Iv=)`w6f_>FiOl%Oq`B3?JBa;RMI1SqNF<$996ui?(s_k_Mi>19xS z;RR1^xMrYoJynhq4W;_i*HF?AJI+vFKpkx;&C4BWsAHjqaU;+1`;dwEJgA<=wifD8 zLuqYDvtPO1?NFR*5A{1Jt;yzkuR^`Xo$GzVuU2+)y&Qh+N{>S5YIsVeR)BK7a()X8 zbpgM5hFZw4eC2u#{ALiYq;X0U_=8kadl6)x1 zSZ+ITUz%or2o9ZgYaaGX)9f$8-f6cgoOqi3vnC=d$Eo6LwlDpgbfrmtg)gp!Fjt!u z1FPVwgu5#w8vcKn?PaAv5F}hrO ziqp)a(#*5d%$na0`&Uf}o3-i}Hfwb>Y<@4ztg%_xzK9YUHXoa2K0VDmHqAUI&3sv! z840yb_y<$!b-5)W4t6(}Q#P(jvsVq%}ZMHGMs^Ja>`;UFuWW+kEr$QZ~w z1Z0fk9SCaW;UMrQ;C`T1AR^$;z|P6Sc6W9mbAM6MA22TVBf_fk4fCDg30E`1xvt-!BfFHa0s{xJRMAe zXMop(uM^JA;2WTt>~G0yJN^=7$6uoIy?34u z0|K7(KWun<>(<@z0dG*iJ2l{y2fVWa-lTwce!!a(@M;3yl7M$vz`Hu&T^sOj4tPHd zcy|T7p9j200^Z{R@A-iDV!(Sn;JqF2J`8vt2fSSY@9ThLdc+y$1?j{Ai^8=pRMeD96;4KMwmj%451Kza(@8*E_!+>{J!25Z? zdnDjJ9`K$IcrOOL*8|?$0q?_r_i@0JSY*?j?Nj;8I?tqh+PP}YTT2sbf|*sXf}YC^ zv}P6O8NQpub+#qegpQ9FJqE;L`S znRXkJ+UFF19^ouNW1Lkt6H?T(AKKz#Sq`w7~kC(-_sc1-Yg!6A%0u9`ro3WJDFZsJaAHKPh83L$z09kz6+%@ zDE#eb8_NcVw!Mwy`Evs%#BGvnQ=^rgel+O&t<)^$5z(UL;=x%=R7AIz&S}hTVk3iU z_|jGNorZPC>#8)<9v)(u9dpmouqj$pq_ZO044mR-;PiYja6$n#n0IhV;fWjSkiXFX zb84?f(=T;0!@hUNm7bqYk}D*|Q3_mmJ6tVSywA-J{QTMhlH^M}K)M!c3wOl(1;1AH z?_sDYZ|si7@Taa!9gBoxz*r6 zqGQ;;xSNE3*;;o}xd_{@z~0)h)DJZq`}9xS6sO|Qyuj(t7YFAR1c2G)Em+T%0{bsWU%|Y)aqDw_bmlM&qTVo&sW|0@VoQQXdZ+0T0 z1fj6K6Y1q%BA^67UQBQ)k1H@8%DvNZ>5!H0dEjwiM{odG0G5KCK>6tcjsy1xr-Rf{ zBlw*JuE2Z%cpKOQyazl4l(OZa;4|Ri;B(*+paj7q!FRyk;CtZFpqhtcK`m1q2X-XA z3in8`4|oiC0@xQk5!6;Y#o+1SKu`-UCxes0Q$Ura!Jx|VQ0kW53r>{X3re#dTT?oUOnd?%JW z-Uj!)J)83wlKwuo-9gp1p2INP)>DI;F}(F$I&DYIh0?Gz;%VvQhupc|HT-^`J7QF6 z?L>|yt}IXOtvaEIr?P#C@%swYF^2jGO7AdYPH(iWu?9C&jjh_tFSr}H-K7#O{=QmX z)r7FUcEbs`yho(jhj+tKr+)%>*nj$NIC=O_Z<&>*Jp3IG7OaIZmu;Et#(&?v70zBC z8vl=KoSoTcaBW|Gbj^t{sVyrzl9WaM&VxD-M$NKmyiJ;w^9z z_*d{e@SouMpn6=sUQ1+?ew3ZeM&i@K&X{L_g&@jL=IpdNU{B1|peFP$2KCim?wSLkx}sZ`B&RN*%7{>HP1yb&BN@ro zN=C1N>AUSHO!=M3-RCBL%$3@ft-N;Od~-6Os-cTmZfvl|b$e5znz5Ag4PBYez0B@3 zICowZOW<~2sc;2z;*08`sf9Xd$q7OnPuS)lL{+9KCfZbG!YFA(ZIHY4Tov3ZSMz-4 zVQkH(j)^j8rln}l5_)#py#zvyK08VD1Sy+lx(bQFEL*d*oX~q6;- z+W=7UXp;!L6{y)R!ffCmD&PAJwiBQV%vtB6^34{K)}7i_>rT_CmUmjfvqK~LWlE%m zN0hqacPNPFs1Obe;e%O!aHRc1Mo=P?qjy$sW016JN*+_j8d7kIM`bf3S3}e`Nj+dl+E#>$Q_j@g zoUo5FKdx%=!Z@e68*LFq;4TxsHMCdm+v|SZzEf?tA2d}#A&0AioJx{cGe2u)kO-&w zuQ_}w#JTh5nQ3{A0)k2-uNo+1;bzg2z^m#@!lpOqd@!oMIJRt+Cl%bCxntbA7{?{_ zxTRnpa42{pI2=3~ECZ$d` znLTEmI%RR~tSL+9))fz)GBeI;AyXF4teLX7dhVhrb%O^@nH`VKoj2vA{sa0?SyWp! zYvKGw{jm3Tbn&vfbtW9WCVFhl8Pc@!{zfyRx7@|cEBfOAJyoXHe4|pGS=40)n2-`s z#(q4AajVwxW9;Q#x!%Fc@>+~J6+SK04(CT<%bnhe{3smx`PBE5<)?|(Xouod8Wd-~ zmto@1@IEvA&y*(1-%t7Uxu1q3On4dIPTAw<$A~e`&#u5vW>GfPGW;yP$lNcn-|dIf zb$^?#uY9x8+kucO;Vaxb5qw>^dvFs@%fEd;Ha{}FZ)MN3)dHIG3+klyAwa`?%6bV2m0>B54+PrKH>0s`0m6HyHk54cQMkcGH@vF+`Ew$ z-4i{-_L<({emMG$%7&9!)SrBCbT8TST;V#%>upmf39^kjKg~?mx3TYS%(f2eoxXge zO_M7R$C)&z>Lk*58~@!gtGwJwz)IU;yqjFlzB|3Y6Yw7kVJbgzy?%Ng>cn-FX;&xu zi$^%(t4=!pNj`rN;dg?su$5ljq7_H@R{s8(095AOdl0V!a?wD-Qaao-ZpEXXp>{wj z?knipUEG6l@7{s57VSH*d8RNGufkJ0)b0(zy=%9eJZwpZ@2i*@7e(uPK@wXA1C6@J-5=VHYYuOll`#NUb!-m0RRcQ~&AwE%yDn=hf*BN}uc7cz>iX%ZnSonMHLyZ9ICeGnczK^NJ{*rrZ`Dp2|Cg zqdSJ3o>jEMy37yjUz1b*tzCxq6q*PwEozrs81nDxCGtW2koA_UiJy=ropGfbzSw{-7!BMyLh%#Iy!h)`*B2rI5LY4W{M}j!G_xy#F1h6 zF79N&&ou3_bKey3Gm7R9NTv1qfS*}(6?y2~-{A98&u!bau(?6*>93SOF8-SWf3~c+ zJWM@XruTi^r022vyp)?P?+3VX<;|5F*{^}GGW{cC@9KD@|rCsDo&NQdlWVEAs2r?QcXv%vcqVWiA9PWPOy%~1N~#+A1_joIdv z+{D_1nd#jfvR4{hoI>Tpy~f_7LWIOOIk7j#J}eg&mIbx1lhUmo5ysQyP9}>|NeudIunPxHj9#_HP^s?@$}AjXT?W z3V+H&@xys2x2neqzwPs6dmBt#DfyB1rj7ha@^_@it?6c^ThHX;e$JR}zU*zE>21Wm z2jw=0G=!f);W+uC(&Q8|e5@>CAO;}K+Y-mguQo>l2md>=ro>}^Sl zkFmlIH)e3|RsUlCEn5CkRe2pPHcsbrK+`90@`;d2{TW;iDa>H)ixcd0FQscgG-BW+4`qkENuJ>MK@S}zU+B+@#h?q zqQ4HwTxt(g?lmTqyMK`1&VQlr-_;lOYwAN%?}Gy`aC0>ENzW_raw@rD z0NA#UWPAN^=gNiLY3v@3tACok;tSiKlopS|S6ON6F54T}j=R0b!P(v*+_`6S>F&$? zpW=)Ww%U%txN+~#xrt+^TlGM0ZGFh`PQ|Uu2g$XkFyEqn#^r-8OWEFOxRXEi;i^a9 z$89(ra>Udi#EsiQD$4%G0)CWO}2Fy?b^m+nwL;yhQJ5I(%?=)#6#Ta~H)H*7lyp z!Q!{8re@Nq}``a{<*CsA+uX&p9 zj%(0=ifho``JuVd|0O>rwv!)|Liy3_Kjg=Mo5nf&C=ZLLO&d31!pLDW7FU(co3VKD z(AwG=m$oSu1CRduzGpUY(kA(EhoI0r<< z0SqJv7?GRdCb^j*gn$AuBsU}wl9=4fV5Ox7ln|*yty;BOt#znYty;C!T5!Oj{_0Ra z>sW`{ilP>0tW^H*yY}8^xI>)q>+}4dZ|6B@?Ys6`Yfo#fJ)CoP^iQF&CNA#oHtAe5 z`+b<0#)SG6OS&=bk{~n^`yTEb!5qw4_{C>34u*=$0l~rChF=&jT$uau3r~+UW?}@R z5q>dXO^EVT;?CJ?;DwvARDIlS$ma!q-?6CXP{bGpizLRLq+74pH@@y{732;XMslhh!y5+@QsX4Ehx|UgxghO3WBBVk;wAGP2*0lr zRbl%wq}h^}Xvt|JnQ8n`EP#uW*=IQ3MAJB}`qMZJKNwblE$^=TaG;^RNT;;R&-vNe z@g+92-n=l$ft=O2 zGq2F>!;Xz_FRyV1;j z?bwA{^1hOnyWjT{t|M_L$%ejxzm1nnTl4$)mYA{k{cOqCXvzE8wcufkCa5Ss7dOG% zhFE~_qTKB0gep&+qv^II}^NlVZ#S<%6P|>JFxX%@p;h? z`+Yx0O=;&02ikd!CYxZ4ZsceTu_{}>duD<+clMp%cLeUF{KNP!&WO*Qdh7SibG7rq zcJ2*Y^1)J5cMoC%6kKa?=jbx$o?SnWmz;?dzb^$@(}o!iwI#37k`J}p@Ip^5NX-w@ zOi(qwCl2$J2jec`7_efzz@5B5xTWi)_!5p48d|04X*0KSou77dBO$AAVpuLM}X zz5dkSvHw)yG2INLL5sQOe$-OGk7EQwQ}3vJhij4MGMbDdo|5K10o;z9+{c>=964Jw z7iqk?bME2ysh-Dy73cl%GKXuhMw73OkN-TyA_VdwCZ`9i!=)Nq{dK~!u-R=WNOS89*ny$s7Fo-D?Ygs zf=ymLDwKgV-V$a5G(0#~MRSqHn>!{zuH0X_z5>IAX^n|m%}L|s znkrnJgE1_5<co2`|)|On6lZHD(!PVzuMQL)!5eE`Tqi{H0T!+k< z@}M(Ncj^_x-$vg48^eRQS~M4FPz#s$n*og9M}NZbQE=FQ6qkEdf?*Fd9OI1Jm|@3o zth0m}s$MS1Glh%(5{%X_f3Xk)1nc0I9KdhCFT*8yrY(7#mOL{~a-MLV2`<|6FD4Yh zEbzl4IbUe*MusC0W5}~5$>Y*^5oaKcw}i#O_D#875S-mN8<*|jJ%4GB8cil=xm?%XRt z-l+q|@8g<_c^!G}D@)?@nkO^|p5_bkE%|0G`II=xT#NaA zoV~EjZ--7jHonY@gr*Gy+5uP#ZOM;o$qVBoV>pLo>J|OilZW5DBVO{ULUW!=a=k72 z9WA+DB!kcz17}wbNXg3Hk2CHM7;nEf0OR)saEEZ~-POJ5WX9Ycdoh0dedhpe`l7*( z#ZY;VfKCdRB;r^Lv!$v!=Zk<=7pV3j&F^iDl*cv3g^}v_=|R!DdA7TxD*vCI3)MZi8fRJGTqhP>Mw;8nyeec*z||@%vuI-ITfAjyBSyI}9=sW%xk#hroaT`Ov~`w^VR_tkO8@5fU4uqG4zcq~a^VtU z+vjwl!AULnM-M8jw%g}oEqS%wKEDQr|D1)ARr}my=Wa^)mpIJZahL)7=*$2HSmVko zb0#77CJLt{6Ehi@S8a^D#lD9W=Lyt{3yaV+s&#NijFwCqh3mBQ%4GYv{3=uvayV~c zxa^tVo@sdCtu+^ER0)qq?B;~!!4?eUjKiJb;>QQM%JYhrLmH7YB@3}$TMlYEg_2LU zG42w6A1PQ@;?Ce3b2bJLQ`1=^6_zwg@>Il%Z8?-Y4VWAoBu3;Cx=}10b zOD2tyJRPwE63SUCax!sexH$a4qmG=-TFzReh@9hD_u&cU{17S5bJ#0x?gYZrbi6iQ z(kMC9mH`RnpbK4cGXC)DF^-(Gv>ehXIXQ^^4VSHT$Fs$5c4MY8uj@P*_SXe&%%mJN zP@A?3zemSEw2}v zdm+lG{5so~r)bIRtW2F(jVCX#S}njl3&^~bb+52#4A({*!!od^v(I4iY z5MRQxh2~cDoEb0AvP<}LE%_|FgpUAI0}e`7<$2c5o#k=ozCk3Ph&x+y$wj*h;&bm6 znhnT(2x1Hy?A-sUC2x@2-I6zg&hO)#c_1#|(tEn&CHD!<)eomZdE>jFEkYcz&*s(0@7 zVBEcPA!z)*8*rz7=8u?pZ+z}Q5t?UEQUX!%sOYFQVfcXPBC|T9?6iov}OzvEZ`F-@uq+ECVTc5<|ewol@xO(|gJNJl| ze5sxLPk^}w9F*+UsLMr85O>=9@?cMbR)zCLdDi+Id%xVy>lZq&%k8}G@YD;e)>aS3 ztx;EqWWIgF<=4^8SAQB`(<_CBe%@%*6?X2gYspt2cWMQm)$I@K2Bc)w&QpO=A(QRw zni2gRXunSn+t%}KW2YG#z^AcS2lJ>I=Ieah?RU5aL)KX=&T2SWu#z* zt>uu$t94fk*V)L9M)1-3PyHpnHGUy9XP~nVLyX~SyEQWOBLLciztHTl#&|MQo;jSAt1NAj!uX+pX1}%p)-n!o;T;+m?wY0X6i7(-=h2~V`YDS`)>=GV$5E2n?k`lV@ zl)lLCdlUCGToZ#k8sjD3A~bG~bh9marj~rONCu%5))>ZB%})1V+_~Qh8ozHY?ofN{ z);U{0jL-cyLgSv3+-m23j+T6DT)l1+E-03iVeJ2eM#W3MU1+LZEq0qN`5rC#wm8Xm z2-ie#4M*&Z_WLoQ2i%ho5aYuA2g1Cz9oe-WRv@EH5X~Txj!IWv@4PhigafK9@UOi!>K$yj)v_%arhgAC7BwxOy}f zX~5+g9Uc}gzRiK@zxC^f4*EyD9zG&8KTmON=V4n9H*3ic+j@9FCU)i^kCMGlfgcq) zd*jY9i!OQNCWmWF zCUJNd4VRbeabO(H9P`iv#SYiRG33F?j<~#B{|^{v)^zO74c~XT)@Ux$c)9*8Tt-a? z?wEiEGaB`R<|2)k>j~jH8h3{M`dW55TruF#do&Vd~&#!Q})@d%%c)2iT1eY#~_13c96%N-8nu|1E zu4jbnAlwmy(5-iGuh#~ zS#y!b%k@{`O2wVw=#nR4FD9=KH5X~TT+adHykq~$#2aQhTw@NWB+DX=m+N_8oHlIu z+aD)5TsLVh(s;RE5Uvc|8Gd+w_y~tm07Tt*LuxG8ZQ@! zTrEH9UsFdpT+eGR(s;T4?%^6A7<8w@^_k`(jh73Z>dLEoL*LB~*Z$*?h(H=I7lsfQ zSH+RP!=Pk(dAjBzjl#{>7(G(E#-@LYoSi=PRA}gu8L(6Q@XSTu6q+o*^W^BC_Sn>+ zCI8dP)Onp{=VfxgBo1>^9Ol6|%<~>heSKrgvhK(-6a|5KxkuP-!1;ar7ffvCPp>%l z2l2IdOKA9JXfa|8+w59=p!3=W$*3km@F<+*3VD?59bw-F#__%NotLAzOv~4Ri-9!W z{@M=%sxKeRv*qHU)F%H)X z%|#k7*ZaUYE$_SRuB#ocUurJWc)30hF4Gzt&)AL*Hm&iP<|2)k3ufTTD>QkpOC7Fs zl$L=sUapUTalFlAyZ!@JGkN7`F4B0pJ{GQ#xHBwYcg^b#*9Of+8ZXx;z&NABJtaF% zbGV+?T%_@GeJWfguhTv`dx69Cf#xEOmkSQs)fx>~je6AKI`LQ}B9O+*^%*eEj?k5l zZL4&+8Z;Mayj=elE~E2j$T|Aou{1l9kSqFr-ZMWdV$7ULZ5I^ zBIgsQTzbOP_!9Ezqu+NcO1Kw`hv4%KQV}a-qKf!@ncA<`0h106N=6A?-=F$Lj%hW; zXMTmX9HH^FA>Y~a`}g;MDG&5Y z3t!bVs^2N%BM-*ir+haTBN1rW2A}nf?v8J3HB`7xJXobW_XgxM zb7p-(png(*RUlZEUzT4{S{0Z%E-!BmZ!Nrqd0TGBN*G(sTc?fdVyv9ER^HlqTgDr& zfK@-IBv^rO%nRyE=2r)2mxn6LSm37CIUUQw?J8Q*(Xq_@Y$?H+7F}(v?aO9|m$Y_A z!d>B}ijJlzj-aSt(V}9rTN_(~P5fOD?dtC6Drvw!udkPb`D@!-+gl^84Q;KbhXYww zJ&qTTMHM%-cD6;kYg(d_rjC{EfgG#8zIAzLeSK|vm(EfSPpAt_Gbu$~;c$8D;;x3S z)g&*O9jvJ>pHp8nyQ-qTE>xL4nOL2FTSr4vK}UO}tD~*kMwfRqsv=Fpdm+J9t&wq) zCTHbjO}6T5B367$X7nq(jjpzjEZJP~E_}Wamt^>Tz)T z?664}L4`a7ync2^N2I8swJq8eCRS-dRz;w^pt_)>qPRK`X<1IfnK_M}($Vb3mhkd0 z8@erA7GAx$qoJ#*BHZ1Le>f$ARSSl?3(@o)OLU5~pfI97{O?YortZL`<4vm;;0$t{ zB%+F67np3?P!rpA)GdMkRI;K0N1M3vs|mN8Qq;KwLqK8Ml29bPJXXfs*6voEWtlZw8E~2 zmH7>g%a(L?MBAI3LKTMF!jW)cfuoveqj03LCBH2a$UzZRhBY8-j8rXNio3&H(1p_s z!qT=8)>Vm-{6gKjBn2(u#${p2Q5P~Y2Vd*ERL;?)>64*JCc}toEfRY=H#s-ncye0J z%}q^5wM6+@dc-RlR+Wd_mqc3lTMAa&3I7)^Xy}ZzcC-WQD%SBi*39aLuI_MNXJ=b$ zV}nox<`kDr@HCRTc#6>jQ!6{Q5fJLh~xh3#%&h|GNPi2UyTG1pdtRJ%1{&H$TVR>aJR8T11vYU=hd|#8}_KasO2vn9;7nGM)77J|+ zDI&ay+jKnU65>L78aL2dBZStMW>!@~eVECcP&0mSV~P zSVS)2k8N;cN~^o6Z_4*Mb}prF>}aQP>FlygL#0Kfq2e;9Osc_RwZm19{IWoCMRjRK zL9y!4L`9rUDbiD-z)71}Wo8Ofkyl+D3KdpJVdC4SDo|crSyfb8R4oM33{Ik|)mQ*l1DXNUYauaQmB8b8@kVMKMIH#p&j!VdH(88x0VPkg~ z+p|udG;NA_)=IclI+!*a@jjXP3#7d+!Yz69F zD9)910vxrpn{?qfFTXBvUR!5NLw*}3h@8}k;Oef9C0&?S=QnhHbMZ4dvT(Xh5%bJE zr@k6Wr6xNtGdmQRd9w>u&Z?`_ z{8mp~HNWyE-Vzs7mDg5O3a8`&ll2nJ$;)?Ai?HbOCKutXGnKAZjI9xjx8VjdFBL7@(X~36#F3Kezp`;Glhf>7*2!oNCa)~aVj0v&=os0D>=jK#{I;jW!S4fQ-LQ&As zxw@{SYgxEUr{^IZ1BlR3(9A5e6pu7?MWUUd_ReS|pmBk~th`{L`uO5`bvcDRX)U-S z+#V?puL!pVCSiOj44hn2qNFJE_VCSvc(@-FG8zuVrsoICm<~5k6KRMphKX*N^f~byYABN;3_Hz#h1X3VBn@;T@#(ay${vk zG7(lLX*OH*&WF9mM3n^8N)nl;q2H*)rH7xqM*LEEoM!|R|(n|p#!CC9A5HVbundDc*lfF@}iLr zE{wUlc7_Ah4{D?euBr><*hZBf3KUh9go;DZL{?Cy%+Bmf=6*pY$mC5Dq~?=}%i>KY zd5mBOg>|Y~jUBD!W-H0bs4P%fP*z-8RHP=Ui87L@x@6>tpP6IlE^{BbsqD00CWoj)yoyCF>XOl$A;>i&UxRShz!qTEL z*D6sKlfqR_VreSzO0JzkosYQk~jKmzRW(Lq!WvpUKt#G_%W@lTc8OY37>e_xQ zXzS?KTZM2&j_Kx1&$jA0cyd*dzgmsHv3AIGEZt$X39~Z)3vy0}j9hR?j{GT{4C+14 zLY%uPMG`66J7VLtJHmZZCEH-zdBCyDf7G;etW@s6DO^y99IQvIq`7v}z^`SCRH5b6 z*C5^dSW~B9DI^qhXUgTNk;8HG=!Kd{N8>Vk#^gA_{AJkF5ND=j(6KvHF;DYMn{4mA zat7SGJly595af3{e74Ul!>mqGnnnYwnWUQPcypO*&%HzKEA%8mvdfbm5MLuXMc!ew8OWBaH&F`x;z0uYLD|@^BCr|Qh zRg~wK6;`O}TGBe`^2$2BV@0^jm^fAlC1xQR2*|vfD@a$ev*gn!Osk2m8b)M9(9YAg z*-*EQ!NSO{y>d6ma9+X{h%7L4zM*a&fY0VEacIlxa?~S7bJF!3Ja<%u5f`afzWom` zF2@LGE^BGqeU-Qy#&$DYecBz@@3RKGepV14Vh2`BfDaDnn;~*O~f!4RP6_f}*mLyr7zzifdBY>7Cj6;qJ-~`{{?< z1qK6E@BqaXm5Q~NY)+ZQh^0g_qZ1b(sqxlb6(}e#DyqmURS!>OzAjY4By~x$t&B$| zp@QPPQrEtGe1lD?EGVcdE-F*|Ju}{{nHAMtqBmjX zNwan-{XO_n9wV`FIHp|&cjPGOG-rb$zW_s9QE@3$N#?&LEQM&23@(oIa~fI_bYZnR zh63dk`PISFpc=Z8a!DPf<}!$hV#-aohD*f@3Ih2B#btTrA*GYTD*Y}KZYiQOldfTT zq(?=ZkO)pXUDzb%td6`DC=TT3<>M6mLS;`etlUZJb!#SEk%a&zkc zwaZ!+z(`kIm>*PS4YDTEJJKfNESw4#GF5CwQbqF}oHUj!3_ZMdDFqe?GGQN&>6rxedq0KBg%#>yt!RSNe~A>RnpKh>5^>_GghLAD zsc%)Fva+Z+zo1BYZ&{QJljHE@XM+AN2$Yot^NK3VTyx(W zMATKtt@qqc~UW_?W9p1C*$;hbbTJP5cQS>$;a7<5E9XQN1h|V({50K z(n8pCWw}yCQ2{B6)5$V|wUEte(XY^ZBEXXwX4=>@$S)}_P=3|fZxG#-Y-4xj$EUzjEl~hzJGU-^Ux9G8B3|}MT?21sRqN2K5ZHtL=dh*OJ4wY9G=V`5;&opm3 zhNZl+P^oeN@kX4DmpKaZO7x!6JcmE_u{yS-?YVPdxLHm5u>pX`7xr2&*xpp#(2D0b z_JT1Vui~}G;II#(UI?=H6YO0oypzUVZoa^y=gpq1Kk`qsP1a$Xs7 z9;G=`r74r_$HG&B)n)kwRr*Z@(R?u!PxDUAFD)!CtkM(M80Gg+PASc+EUT*09VOyK zD?CJ)o|RPQl~!S-5=|C?jyDz!5-zb@`6=@Wj}W~6QdC`Br5_@R2_(#^I=`ZtPd=}VcM0nA&ls)|rqMUfsaq*{`XhX_qjTAo)OtSD42 zXSQ81F=59iijhj`;)P793>M}USL7?J5w{%QcQDud@`}QWQcdOzePXlD3P|cC%_29E zBrYz&$QHyjHdIxWm+zWii`7aYM3PhS{u(R0tU6d;94b<+Aid~qr(mEA{a0Gxew8Ls zPQohfBqMD6R{fMvNkMsawbmCYQ-a3I3t+geD5)w;zN0T((suEFW=atTk^Bnm^RpJx zl?gH_2oys3%PUKi`pfX@^tf6{-vJZ3U8+kekEr^rOq^^9`0@ zdpBOJm4Cg)jc#rw=tmpb`50@8tIJgxXO1fhhO3_72rO(_2kS&t0u$nBy>mJMTT!2o|Sv|TJk6F{F!6U8|fuW|r%t3&l$CY-@yBOo=1iH6 zJHx4|<@g^HmzQ5WyDHr|W!n8;$@m^Wzqy@*xBERIHN(99Ut{noLvUV>`TRm716D@9 z`&$R1N8_4gK4Z{ynHd?Uy3bT0`f*$#(Cw=~`r_9SfsA;0{0g=hG-HM#f{=nMk-RLF z?KIF_r9V1Bm6bf#89wCamo-y|GvDX|Y{rY>wFP}d-YM_b#P7IZ9Lx}dwIwR6F$ zX~!>U;>-ODCTC5`TF||skv}FP-8#WKafC0EXNm9|lLLR|vtdPRV^>FaM{^`|{OqGL ztME4V^48Pwl4B;HrsIKKmo;$Uj1gAj$|lQ`H%oyA?p8Tkjcr!r2@B-ePs8#|KI!XT z;E2X6_|b;8%$i8FskH+}F)?ew+=2y*TiX{Dlurz=3R{iKo2&_qnG-^uJe>Mrzq%W* zi7$wy@RnjhYkQmwFGVcBlS85w1oc=HC|Rv)W|e2wgu75SX{?6ENM^7J?>nHJD{@dp zl%_4(6kf1kZ03ZMr)ExQ$Gd7vIx;8J<=~o^IiYG2u2x*DCuB}2tSk)X*A^opU!4H* z^OM4=x*8qLo?Ks16Pht4E6YKEqH@lRtW{Z4vLLH?IpkE#K?FR-t1~Awcb-6vYV8iA z0F5WCY;0-hs*gy#xudJ5v7-|S^P^hpCbncwDC$ho0g0MNbZug1Bl$YM1|P_qz6SY< zMtISQolT2Tsnatj%&E?t(9qt{w)*ris(W%<=7cam*60d%c63EfI4v5EvQlkcQ$j~J zChy3^>Z!XAo%aox8zODXn;VS^hzwLYsU{VcbuUn>r|tzSrcTVt+asLwENH)F`~W`q zvCxWMGw$C2?52m)z~^+hs&R2#%JBI=oBY5(wwKJlID6pb7hlxjSN~)QN!B7sAKrD+ zxfSPc?0b3Qmb`OsxeNyttP_0gdvBe#bxL&I9XsB=bN|Yt&Q>4j?#n?8T|{$L&dqDM zwl`xfJaqlnz}8VOQ;cxi0!Y=#7d7F;n#GANxBX*x)3R=qjh_^$PHHfnM64*`#1?DZ zoUF`o;l-VqGXPpUGx<9w^O(#j-}!_H0&)*{pQF)?w;~c9=rXgeHFXDxZLUdR69jd)q!lBD7(``=+Gg8QF0!PNxzmIF4J5!r{l-_IWc<3 zGO-NL;`-pnxJmHUtZ1AS4dd10j`rr(C8C4O*#v5i4rdO)F?55BZp+805U7;${*Cxw zK8-E-K7H5-viu7fbarZ)djq*^_wLZ4!5R{z=!@4-Ucy$<6~n9 zPt>U2E&8`fZ+E4OQP3tX(MST;n}NM`j>M$@*J5pB;oIi5M*$+!wUYod0gnensn!+% z9tOA&@Nht8bR^(KfZ2e|<5<8u_3yg@v+(;qK*(DA0ALQ_Q-F}U_E|uDIWM-zg~|{d zgQpJm8zx7|5tnN1z@1GzOvXdTQmrcVE>nkDH9D4R@xTCuYqW74Hm=*o{lLcc*tkn< z9FHwg`MQU3YH5)*bYC{vn>}a+tPH-!plF6Wt_%ye&C0|+|jHNBUMY4e6+>?J|R%46YT@7gS=mXX5w@qgK=9)_kkjsMp2Ru`#=%A0%{O|bopyR_p+uiL=#t4Bjf4Y0GdWMu zB`Y7>uL(5EH67Rz*7sH5SAwQ49}$FPDXL`UyBx`|`STPVnkk{YHYCgi z&HX1Ux@7ge1jz@Tg43LFF(i|BA`%_}&A>&9E?N2bKTb5`Q%2l>7Nntj4bUb6CaBY8e(9@liqW6RpP(7luIQ4<;}oeAG#fQt zGI_f|cLiuJ?f7zeAAx3gr=sgm-dNBaa$5iLCL?(jXnv*XlF92tf7}O}iR?gxWc_<2 z(juBh2ysiKf8!zVGSEGs2is)*OL-r=2jnF3vLNrEDE@2W3YBXzc@vTReNCe%6PND{ z$h!%2<5%@BZxWJE)-+!xuMc!XPVZkH$KUCo>Ckj2M#A=ML&9p%{NsBu@?z#!T z-9L!QH)ejt1;~8Rtk-nO>d}G(o(lTu+WzISd`JCI(U^O(@&!OQ@67(?v3wgrbEl^3 zuY8+9Gk#tF@{U3B$(lw{Cf1h|k{}vzp}f_gTYsJ+OC}FfMC&fle6Hz|)%S5E3_2fYgL7XJp+9;4ALE%i zE{0_C9z?<{(CqsYMVCz8VMs0p%~DO5OdkDx1T>dl)W1CX`#*!`V@=neyxpKVk`pL| zWaaBY+I-Nwr0J5$djkpo1kGcYinyfm*bTctbIxUoE}6VtNVo_z7yPV$c@?005HusM zRCLMa<2>=R0W`s@6&*KY;K$?MzbJ#e7eRBxHT}zb3G!BeX7+Xc%Ug})ZJ=qmUeSRq z;dnF$2~p5I`YS~@1RzoQW&@voBjn*?NY;LwZ!81Ni#I8{Wb$YqV}6bQ5rc~%nLNJZ z(gB(WZdP>39^VJed%sn50|65GEAFa}x)XZ!yZ+@ZhrD^9 zdFc0FF7I8?{O1q-%ew&bj=K-z)*l_ZMCBWa@_h)JArCloiS!RIq*&8I^X!8TT_Sm0 zuckbNM}Chubcy86L-JhE+^p#!K4JTvhlIO9Q}WoC%R3!3PiwmV}WzdZIvxw_gUJYnAXuAI7T>zSApXguSBqZ}c6Hdp)kj%dXkWmF_ zHa(^2lGz94{RK1wpH_6qQ`*A;~5j0P{-M_pGkbKm3%en^_L$dNwUp@tm|2;*w z7eFF?VKvu-ruAQnE}1;;5B(A}uf4D6lJ)P8kbL9^7-w)XB$LPTy$_oIe5B}-$)kA} ze2j;2pEz`h+HW1?%>&I#I~85B{-{Fo@t>j2xESDu6ZQw^Yrg=^*`Etp(*1~~NdAAI znYv5S4eUo=J!lHP=wIG?B=>@5_-;j)to@!u`AR`^fDaLbVYm|Y?;7AYfMyVnO-D#p z-_1xq3^afDE4pOuw+u374D?yo6G z;bG^UJDYg1gMR zl{RAjg~t8zEcIzqg6)ksL<=WJ;h#(}eO^p@AwIY;=?5ddE+)OYV`aEYvCI2jmq0w- ze1`AIwrJ|y17DiG*O8&;p9#;xh?gh$8~<}zOL6Al7k~WfS?^qS-z^>ZenaqA6@R|& z`bU0xMPb%GgRk5B#u4hD250z|wUks_a|ZqDoa}u+z5Vu`pW0H@e*o&0)O5{LT1rW~{@X{5@`0ulJMB3iZWEx9f|M753}&3y>8) zQBfsza{9kF!S&nI_`c*@zX-10!#0xa_rRy^0nzG>awA&aR-f3_P!n$G!lxvz*XBKM z$@3lh8Q0Myx&z+4GX@avRZf%RSedMv`4hyC&bhQIgA!Z>4Xa+hmj79u#G_O7@=nWXmpR zyl}f&vW@cWfx6fqXnkvMXe+Q?@;&JL`Vnq7i`{hJzFBPBcZBb`hU!Q7o^86gnUZpB z9!vPDGd8;oI9r|tBB&Oj1%fgYJs;+Hl z-=;1~)E*ftyt8DxnExxXk(=(7J>hWo;Pf*_l-(+O#NmFaaJyOdh{ILc8Lwhj<-0Ly zmDwIt9$S=M@IB%TV#*mW-06coH!iuFd=DD1vY_O$Q4?KT+sLr>^>aK)#IqPY*tp>k$wO&OmRd8?USgJJ!Uy&YZjkk`nj>ebA$66DtiPmxWVsw%<8Q+uU zSX1zo=u~{YJsroX;xRRcTe>tb|$kTDiuW zW7S%7tvYNRnIt3puEy8|fgSFUdw3@82)od-XTC7%lo4(9yvzA-!R)^JToo01e z-S~nsihnD-65o@rwobRcXPsfKvA&OTGt_=rAce1XfPdhi!9!AprVdNnYj}Fbh`sk2 zx$h{X>^FM<0}eds;6o1095eQ?afcsqD9G4Q;x5lI&Jz1xhKvz zX=WfVAD_k*6_?xqs*B*ak(*;w6=XEbHAxL)AF}X?5AVXW+Bt zA9M}*BR_55o;$ZMn$kDizd84bNNQd6EP10~d&*K@wZw8CHs8Q6oz}uu?Ngt}Zy(S* zcv0WO^$YPq`jJ47!Znhg4a>*pBhm5d1OCD2boD{7^PzbYFec2`5h^9a*(f!iazg6_ zRuYL|(l@hKlBzy}KY>3HOnNGw*qdM6_+E!=V$6r+%#(Srao+neZW4UvEUUO<42*1$ zCHjOsU4KHp8GF{9ohwhrC%Ebx^08oOY;3XkRX1N;Sc}U9mLUrl-=K(S1 zw^jv2s|M#j97(I&9ZgfZv^|x_E2M3M2n%|(zdBn%{+D+PaS2rG2%wc}O-783F%rJS zs1_@WMt7ZI;8v}LNMSJDN7bTQnTt)rVA9>HwIA>^CDlofRjmz3pB$rF%#-rjy&rj1 z3umLrC$isEy&e?x>Q1g+ERP8+2i0pht}`_9r|5o`4c)z#FMwPL$nLxfa3tW>fUNf~ z0W$%w13Vh=20*^Ba3kRHfHwoq0{jhN4dAVSa{+GyWW8?(q?#RwOQ{)SO3fHc73Dfe za8KjTSgQPscSXl{4ip_!YvEf+mG>xUO^y#4N3;$@H8dT`j;0;4vhU-H;yN~_qsT)V z!fnfNli*v~*bUu|>mrkmhfX-i#2EZ($bcu{;hTPC@WWxX^)=DO#HsU5#O^a4cFC^< zzfnZgMg_dhDh)OUKh*&zjHv@o7)zCd78LGY{8qScbL>lO3-NuU|MsyjYf%OtF4HRJ z*cXm2s#O?Mt-_c(_C?{Kf-(xF(i_dq{$zSIC2}YZXW0h4)mM?$>+9LMJ38dPK>=&+ z_F+$L>-B9Pgi}^}v--9!;s{1Fn25{KuR?O_K&5AJ>lby)T;yah>0udzn5y*eEWlVt zL7AkWTg$i*Hwher?0*Fwr-e$Q5GERj%=tQZLY+HBNoj>VlcKY+QH?@4I0dLq5ut7@ zM;5MOxSABo`X9e?6wd+DQM>@i^p^lR4!sO`FyJeI;{aa=91r*gARWd(0gnUR4#@hw z1IVJ#i44J1O~rN`m^#dQ2X{rs-bJ@&f8y=fLDI3hFH=FC zyf0Z^2Gduug94oqgGrC=%MPSXi18(qIS^MSE^lA*6x1*2MsKg#QwPZFY+S6o2>YxA zmkG>|ea5~yQ6oP^8?y|%0QUj>4tRf}9>!9wUfenL9A<6Ou~a#GO3~c` zoTA%Q@?>+*XG2%|kIi~uQ^}Qx4??`|fn%pWz>Ge|WeS0)410to+#;UD8OfTEkZq-7 zCg21Pl?;4mFU|HOR!MkO0nRg=(~-YA(qA)jKpSQa9&sAjhgvHe?M6El2osnG8;y-O zMiM{MNv=pQRr7bkFOb zrQi8z&;3K1{f{;GY{_cw9lkMr?Q7{t5-SJvY#mr!7QL_jl zR4`;H;L-K{ft#oCCf)5wIDnVNr1R4z<90aJF$Qn=r&2*JnywmD?goq7Gd9@?ya_CK7B2T7)C)CXUCslfzFz>ycKrz;2mOlyIVfBLSP1x2z!2c2 zfMLMP0ha+@3CQ;N1t9B6T6J<2W9sB8#!{{Ka1RQO4wtc1YaV7Kif)09i3-l@3GcGF z#F@K$U(i`kZJQp<=srMnvAX5nffhC_5PE~^=(g>r;?%bVeYI)O&YkIZ4K`k3;IUcT z(~Vmgcx>JF0mn|=_{iqh25v}AzpH4#rg?B4pATKB$mYR&d_D+2glt@T>K16~h5`9i z(O=h}(ihyd=+XPrWFk|JoCjM+;Lf%mEQ29i(DB*p@XLhD5kYyiW+|Udb0&`PTpc%h za*gOAQ`O)@J$LiJC+VUxTySD%$D3X%tV-JZNZW!dR*zXG=6wmS;jwzGUP%)@R;2(D zf+-)Oi6%!zkGG&DR-Uf)m?}%YObF^+Eb3{rSgE$4_5u}8e`B3my0E00K4LFK8F=89 zYofnFVdc&`P^X9EIzup6DM1HW=Gy^TzdHb7SJv+U=@Rb&JQNTLv^EFukAQT5TL2dU z-VaFKeh_dy;6s2v0(=;d&GaWgw%Ox=tQUQZ(sjm^t}~`|y-aY_b;eSy5HwuT@$*ha z*JR`PD!Rg964vuh8je@nUFkhr z@H73+^3neEJI@$BU{m$L^g9bj`?kE6;(vm-NAPo>T@vf9{itut(%S5&>p%UJpeL9y zs0Z@;b}rjod(0!veFM2$U^Vv^?dp4Y{-^JgrtcA^?L^udo%TiF7R?{WH(1zuwx)vX z(b{7^Ywk-EuD&%pn|muMgf4>_{JSss(Wa7txfN;YXJ$ija)W8z%d4$w!E_=H6m=Bu! zM#`9jX5Ssm$ZPH$xw3BudHxIz6h;!8d((;o+x@_B^hztv-dw+Z(A{+yA{XK8$TaND zsx6$6*6$FbMh}+5)K!f3sABw%K*bKQW8br5JU&OIQky@Fgizz!;?0O*DpJ&0S_$4DGw+T2x%0{7Uh@^9I50UgiJX+ES!>x2695kZ%m(C0kpp-X;1obEo~8m$2AmF<4VVi^ zZ+;>m)%+yD62LsbllAW={ks#e0QjE*76M)kSOT~eupIDpz-mCQ_G6vckMvfg z&_D7}OE@|!eO(x_zJ(d|lqVy)bdWeJI+{US-W+huBawZ2KJ!IW@5U*gS0B-mx2@}r#B`&f^?JH`-nY_E7l*fOe_O6IWL(%bj`FtY6nvf zAo}x%o|%@}A?@26PEt>`j5{2QM!;T&c(sx6YOI-dhkBmIDHq$9!I^S>fM3_^x-*4! zqQ9Gr>vD}h3---6+yKbF{}CY5F9hUR_!Gcfz>5G2051j%0{#?`vz^NU=Kx*_$eHfd zfMGybpUl8+06ZVRZv?yy@Fu`30dEKV72q9!Hv|3-@OHp^0Ph357w~?-Er5>!J^=VX zfDZz`4EQMEKLGy(xC8KUz@30k0e%7a3}7ni_yQpJ%U=fM$9;bTJP_~|K>GaG0FMNG z9q?$tzXMJLWVxpS{u6K};9G$FZely&EWmdF>7zaXYy0iG3963!ow{3S;kT=mO#-h(y>%4 zV&hm2#S7mnC!ntyDto=zo3{_c?ru-Y?z=|~;92PEWNO;wI9w)B#~73)#qU;~iL~sP zc?5a5z~R{W;rDQp;0v`!sw3EIsV(nlS4U8rBrnW_!I+gu1WBz`o#C#A_9plw{m78E z5N*Rh;fc0I^wNTQ&h{|DUG8#?d}WAQEx!&(OL+s3o7(>XqyU{Ci}(a+(V*+n{yWphz#x7I$*bN`iQQ#PwDXum_A~KA5^mU&f*=5%UPZ_QJfAk zX-C}MNoXV6dD2)JOuBoUh1&%CNvf0X-e#e5`~|M8m`-M%%p-(rZ^t=Spi5e7PA?C) z$8DmR+`*8@CGM-e8eJkD5Nkp4Tl8-4*R&E30%ZSK7MN6m4Y*8T8R_iY%gcRWWGwf7 zfShQL2IQ8?0f2OV2LiJ54+g|YZyf^2Hp&Fd0X!UVD&P@-CjlM}m-{mwLd*n0mm+SgQP=q(;F#i92JdG6hw1<6*dp4u*?E`nhGdDY&aT`^7proL@b* z=?(78ec+5)`UHO**}r`}jGRlOy?P!VfF)D*=H}cX(e3ylvB+`Q1i>Vt`^W-3WUiBQ z`Cr092wN`$dPnyKM@nScqQ2nHdaQ*qu-e>-f>_(%9gRE7Gg3B9mLisTAU_K!?CA_# z3>?VW&TMmzx!t(j>8}B47B-|iEhha~BDLm@L##R`y;suN(rU|ZZ{#;MMps!Tk`V^u zbhQZojsv@Y_!vx7)}^NQYy^B?LuHMh(weMg)1|RdWF&7|iT~CfUL`JVB#={~GJGwf zs3QtT$ITQjTUZoqri{{-F%~}?8(ZWbz=XTIEn19gSyT~?w88Xb@8uMbGK@rR)!qwj z<8HyJ8`~la7jwT!p{zecXW33q1JXhM6_8sk&jB6=_!1zWS-k>C8$jQ!Jpu4_z!@4} z2>4I@=9bobfE;|t*8uo2U<=@Cmcssc5EnxRG?axNsiy`903M9r2Lg@( zJQQ#O;8?(Hz;S?lihMZWRE_88aTI=+15N_uXf+wI2Jl3{Qvpu`7@7S^@4{`p(RX_BUt^-X)K))+CB8Wj-I2RBlG;F;i*7S3JhG<`ON6(rJEB)+W@<(vzrozF#YHW9Mv@^7rH!Xn~ z_AT7y-wY8of)`qAKs6Fj4*zEV1B#x66+4gF;r|5B!MFJz*;H6IK&K4pd2k$txS{H2 z&ymP4t@lu12K7~B;GfChiG}wc%3zlgYh;ducwGXv{D2u${n7XOg709doe@dFHezns zfXIO)8Kp?rCc$@*+V%8XMc zywzcS2URzHV$Wj=)}bBh9!Ij_Yh$J+7C79hdpw%veObj@jGkA9hIN3CT zZJ&i7%;q4CUj+BTepw92$@CJy@qkMKrvbJBaw5F9G}o;AMb+0K5Y53BYRrp98!W@MXXo0AB;V3GiQlHv@9zdJ7=k z*J{8o0KW(5Lmkcl90*7}ckMCDSvv;sY(VY+YyjlSACt+olL1-Yseoq!o(KrDU0Vfs zBOtYfWmj&LG37=XQ*LyX;8+gEQZ2p{sp$BxHx%7C8#ms@!L?#iZr;d(%gfk}#~9JH zrIx{QuZ|Nl`iGISzNR#1S}+d3OgKVEjA78e{lL+J-^cYET(LV|sQ!G;SOH_fDW)&kzHyTv=x7>mXb?8vlFr6YKFuKTS)rgaR*RWa5y}?xR{TR*W&u^X{OpRt>7Kw2~a}JI^qWDH&+15OL zNc2~DLd8KS#p-)_`^U#1^RsY`l-FlejGamYScl65uC$1!vu2TS|)nw*#`BxrM~}+rI#5yxeMHsn_FDj)XDgNEl1C za?o1}H%-T6OR49b45(Z7=1psM+?f61jhMb*Um*LFf?hl~UAQZE>&oGEW(t;uY0b)| z6XrMPrbknAA6T)hr()Ocz7KPEbRCEle_zFpUQCld>Ma?_#lCv-30diP4P4o?Eo;?` zo}EK~FfIL-;I5_C($wA2kAAv4x}$Gr-wUF;{+;{0(Dy)ga98h|9lZ-bT9s0i8%^ul zy#3m{@$bLZZogHYrf$DsJgQQTYp^KnCd3?HwGO{bpf6(cn*NTRi_DElKMZ|hRF&#G zCnmie=|)vKZq1HK{}cOE=SE-nPh7{xEMZtC@)924s4CP>Y2KU;Y-k>zBYOrcy9uTa z_?^fPn)jlWW`^2PZ#@G61IBJ(%(-vo@1#AtRK~XG_J=ra&d|p@0S45Z!QHq91us;$p*l3z)ASs z0hkRK0n7zl0f+)v=L60JJRL9y_yfQY;JJVc0e=kGpz(AwKg4gE$C-d#fM)^z2yg@7 zWq{`ZUZsC?ey|b0uLop4zXDtbc#Hnc_UBwenH6KotQbob<3C4mpWx0|s?`nyQ*>QA zmWqQL4URkXidU9Ccs(f_&*OU6K=nVurohVmF*w^Mm;3O_p$`Xl@m+%L`E#)lNxv&+ zUe9}3Jzor6nM*^$haMk^1!X_#-@4CJxqt1NuyRmt@T0CH3a}*V`*-fbw5~_E7V-7Y z8i;MUUEGFC!#13f`7R=2VQ+A6vK*KCb||@NF@;USi-D#^lcAfXhwH@UPLF-jpgku2 zgkeDFF@-9S7n6Rmq^sQCN7`R;#qP(kOe_Q8K?zN(*0C*9aM0S7K=d2hmYLTdM%#)y z#zkvlk+9vyVTP0R!|)Rnjx8Mk1cPl$AK=H`f>Jluho&?V*G&p#VN_g8!B+y(>--!r z9q?*En%1>|+*!CDkU8D}cqHJBfNbB}0BKsc0|o%^0;~c29Uw=T`v6-3w*b;~9t2zo z_z)m>0)7j4Cg1~r>j3Woq&o9AoAv@+%2XIrrox!oQ~R;tKE<6e^$#f(T_f~J(eV+J z!kuB`WGbu8LjD0Px7IEG!(FyTIj+HQS$KpfG3p{`FXM2TU>cig46)N!)*;qqlZVs3 zQMjrT>s2S7CB;3N0J#aGR_gJpdb0%nm`_$YA!1G```uL2QTVAxB~T5eZZLN1IAPzC>;Ah;n)WX$39Rv z_JP8&4-^i4fG=&hS2jJGwqn1&fp=k2ma5hQSm33}wCOGN@=Cot=^G7RwWTxOjO*oo#V6AnSD;Ae-VETW5f*Iza@7|7oNIfP*+dgGn}XHY0@RJ&hJPFWsp7r zjCFpT8^tcI$V2CH7_R>uf|~>%N7B5erhe=#6aB(rk*&wZj^;&|gz*&0tjrazsfjrA z5Gy*6!)L!w;7uLeowDNq5jfNYB!aVaBZ zOc^O->Vq7Gdq&gg&mg{=4)_T&nG~~NaCboG0uV^>$?Fby@!`um!K`n`f-%~rdx1z+ zT_aUDm<qyiQ6$h%0s0L(5%m!pf)Bv(0Y6001b%5-Md4TMQ1%NEg zt+-T2Fs3?!u~h3hojS~VNyk$05x|b@&3%vIeTTGZgChfrN~1g1KONPt+^*jp!Af=2 zpkp5EO@9D8@()0@#M>1Dnn25R2Y&NIWhX5R4%+Pv4Jf2pAaWLZKCbC8-vm)6WlX@e z58RIqYITPf7?wm@>N>iXg}d_NjEC8(K;ucnmqD*(aId`+UmmC97fog#uIBK10wO?w zW3+r?s06$BA~qOVfGiW+eK@W&a503(sJ?0j9E9IX0EYm!0x4*@uzItO!ef7qe+5l6yotn`zGZ^Qx#}}^-Vz5`5i#^?jLcf-epYnE@P=y8hT6NGIR`W{mr}gF$n$d zbnmWyyZ6hince&E|Ml+u2;IZ({TPtl`zav1_cK6t@8^K*-v0oydv^n}dwpY7_YMYR z_dbkEbuVM8dl^&Rt8naIh130uPd*3bR-~*@11=Zg9KSxsMZaMJhYSX$F}SUgR(BDu z*ddfWtQP?oJDY>w|N#~U3ubl}IeG#&nY4MJdb@|rVyDhk}*v@gMMV>HI*)I%X! zSOAv^EEg?|O`W5WBhZ8_>)wFGj|Ai}I|`8HKLC(T`~)sFwP8$6Z5UHi8-?T4M&V#U z_*^l2Gv+pfa%Ng3mD`K5sov9wq8^iO+}nwZ3Q6!TWWbQDYQW`d5A8IN?- zetOD-8IkTgJ?&u+vXNb0lRe1(t5%uFo#kf#4Z&3?7#v-J{$X8?1{?)=EZ_lv69MUQ zvjEvflL1-Z;{ll!*8|FA7*i(0m|CMJG?->U_UGSlDT85584P2} zU=)r9qi|v{p9V8zGB^yc7UNmtBhg{o2VypeQO9^hzPZ4Li5+#00gizgGsKQMHvyL$ zTdO<-ALJy|Cjn&m$YkcQO_ zNW)qI$dT)Nfcpck0c0J22*~XJj!PLDW6IDNOOto(My`2_lw#`z2&jq_PRw$&SeG|p{+G*13z+j1JK zjFT~CoQx^sR5%)^!ofJ@h!nMc*c}>?&(O%h7oyXfvV`c zi%wa;J32H}g6ID{%V(<(-#Vw%W1@;37rZ6Fcf-u^x(+#-z@8_bX2kISQTH$Kbrt3Q zKfZR;rfC{zT2d%dAiZ!cElJZW1)4NTuW6e$y?``?G)bG3vqiph%^^_h&9^uf2C#g5v-6{ZF#?XVx>%JTq(N zd1hwKnl(!`KNJ*A(+}r3zYqT`m*H3uZo%0mUmA9MLJ&b1JwEv?(4v#v_qJ1bUanswFfA=@W$dzd=@9Uk5=j&?1Gd0fGr z$dZOFYIss^MqKBwsh$z;p3{uXRSmuWQ01(qU6*q$huq)L3T1yk zsOx)aH6P2uUbDDnz&N|8W)LXt$^@r^S)jU&q2O%rC~zJ)3|s(? z09B^PfGVmtIP8;s`RtQ@`RwbVmbMjrur#lYDB)j=p56I+d>l_Lb0)mW^UAzo-^?4f zj0lu^0hAI>0%w3{gEPTGuo#>ImV?v43UCIv1e^t`OwR>XR0lb%Qp#tQQa-Dc zmL{dNG?cQ6cQ|r;TMw}gy6D+e_DOlyBfPM;Q|w&7jI#EBoyudim@ldik=03VtoE()rAg z>+rgig)R+@58iu}(IT~F1GgMTm$H!f|E4Y-l{ySt71gEm!B@I2spSHr2h4V|mGxPzlKWxS*~;yIaPe`?oMzI8rZBQ!V6ZE9|w)6mGP z%u86am_Cb3T<0`<=-+;neY=*U+-$HA&bY7T9nIRNO?oL>jf{$Xc+x{H+Y}Ugsi5+y zra;xDaf{p?y&g?D&i+cfC1a z^YL9jcso%MUAx>%e!N3#t3vv6_^MC~B=>HrLUB|Ty41J(R~6}IM_lKkRbgHqvyJ$_ zUKPq`YE^ulqE_A?096&=1jm5i26a8(0aX>pgjFG*tqS>URaly;!qPNsWCh3j^f;IT zi4SLMi{61pcMs_K^@OLok9myYB_Wh?d=@LAOl_@BY;;Fe>2=GFAsAA3LHDe^$0F+t zy71nz^AB~$9?u}%02xq^ksR{P`=pllvCN=om+pIH-iNQ|E<#nszOj?V>0E~_?j?@d zDHiABTuIm)hpXnL@y3QW^N`nCn*^piKPZ%?9p`N=Tq81yok7h5lat(ihk4euw5@4< z)27-jZuqsP(;lA0W=c!gOPmdTBRy^9CthV zqo{%|=SQIWlplkd^Y{rUtNj@$$-e~E=>8fk0iOZqfzN^!;BUc7@PEJ+;0s_i_ zxCdMZz6`d5uYg;@zkrv6e+9RLuYszI*Fjy?DC*F*7V=pYl`lIui(gCAbeN?{MYZYJ zQ?JBFYcf=7dJOxF_6}T%n*M6SQ$@SGk6G89r7*5KKAX2=SkrHGwQ_a0+nzL{syW>= zx{LOX;vQ+Dw%IM)@-_?mc3Wjd4)l?dC1uUg`^7VOud8TX_u!&kX8X}OTtTwFmO=6E zdORw7U8kJ%RV}J$!mFL%hu@X~!Gv0UewnjWeU?ncy_O@U3NG^}YFtpVwM9Ny_#rOz7n-{y&@*g-@L)D2_?I1(HJ zsyE68$ACwHr-Qj*Avglmopm0#6g(D`9v=r@03Hvn0Z#@Sz;R$Jcp50ZJp=q8I1%gy z3qaLDA*gFVk-D|>Me^DCBKhp#!_qYPurv)m?3SWgJ(+9+)3ZI->;!Xw7g1(C9Dko3 zi16yYw(-w#Z;ZS+g!r@G>N$_(f{r;=xDC3Os^X3LL%*K&aL0M}-IZAne<1r5cBark zesCvB&$cpykuj(^=seVMuyHM7Ui=a=^y=8k9KG?LGpA$Ve7&?%zQ1^8`GNLw?dEsj zsyBIc;>tFquTST^sO#>@+z?wv7PD*?_YT^l+>m&#-KUS_8n=_c-bLM+$R{A9>qm#G z$m4-S(|CQr<(7^8ru8qkI}p~WG)zK!DKFl1yJoaz%G}%hYQ83M^A8HtrgZSMe1Qp8CNG1+(cW^-6nWGEScYh`eSW=+%s6u*z2a3v_cS`AJGF90<_ zsRqly8jy5?OF(4|yXw3O_^-AQxNm&{5`02UI4EI{|J5%Q~~S&XMzf!1+q_FXDP_O ziJj7w4};QxvH0!$jeK_gMn1cGaGaqXfKR^cpod?}cb)TP2cHgUpABhug|vG^+IK?Q z_e0t*LfX?IP2D@MVAH`zTgC0{ixoe?wl_UbcfA#95w#HRsl7W7`8Kg=S7oJX6KQE^ z6KQ2;*;Z!fu9P-$=dPqS@v8`W@lGz*yiS{=odQgY$lfOhif29DzM$vntKLd(4X+nB zts%3dIlVb2EOQOwklukVucRJn6n{(#d*_=*kpR;u+6GZu0@%E|7V(|(`b#85TEwBW zh$|16?T@*M^^Kw?PHm&8H_kMc$~0S(k2k*WL$i&dCbev%IDilvIsu<;6xBQ)zENC6 zs2VplLUL*phkre8$~smvs1#qMu+7aMaj{|xKa7JM?;J>ic-wfMp1cE z+<9POa--PX+@hCHxDQtQXc|RH_pYCf;x5X=eD%yXijP5Haj9+o-gToGY4Q4Q6lV@! z;&S*8*9fj~=e`mAdrCNyn#LtHf*L=2r!rC_n9m^#l4FOhPSwfh!O`Gt;CS$MP>tc8 zpyGTHRAcyMa5{JoSOQ|~=KkP5P#MIaIzIqD1M0ryo8Wcew?M8VcnJJ7_&x9zkcOf2 zcJK$_-QW+w`@u)SuYr$)4}-fwb?HxlKL#>W2z7C&7W1BWi~M@)jkuM z?7ze&X7a_)R>+z2Xf0RmA>#qkFIR2~c9*eit&l)3wSp)r^1L5wB&NJ(cnGpvvQ8pt^*Q zgA)2l@D%V<;A!A3;91~j!Lz|zLCF+dW_}wu7rYys2P&S-{A=Jv-~(Va_#jvhej8i| zejjWGcY&?o9pD!5eo&=Wh{{>Blh2x+e0G1_$%dx(O+LF1x#hc=bIWJO3|$Qe0&V!! zTYfRX+?m+5YFLVCU{FBigdA`nztCwy2%7| z-bl-5Z=~hRHlIqHVQAlgPrmFxV|&Y&=X_>Lc^RuQ4yO_MnxbL#V-a zs}sgi=t8#Ffsc|(LI+g0-j(5r)^St^UM1|S9H|>6D30p5m}60&b*$Gr`>162y*tv) z+7T+*Z$dIgmE2)!+23r9Lo^Q=Y&DxFf|vNjK;=2Lp7W?DUB|JY>Uk8XdOjY^2TuTt zz!Sk4;22PMO(%oJ;5bnAd>-{>C;sFcYIduaFWYQSaK52^0zUa{Cv5rD30uB*u>3Ql zmLD(*F_wRH+n}z$AKEflukgMLtCxlzuExg`c4|s^f2>|IRgw!i7Wb(UC`8fZf1}mM zr4UX1wR+_@RU0Nzo4SSqP}(pVlr|KB`QTJg^Hnp!Ip8c%S~VTib)N@H8+3natzJHB z_3~M(FEcb*y?oZ{EuXC3^1XvLjP_Q4^p-(gZyxd{KM0fWkHr_0_TlRPa2BsPDw}gT zmiAe{viLqK7=G{mMT<9!r8-Ov_s`;sNjSBR=Tk>UPeIjj1*ke+4CaGNLB&}H>egT- zs4+tosB2#hs*W}HU@cxgYw_|~i(hDHvUvHd#aljEyyc^gHDReYbWHz!=*q-PIwM$H z!qcV=!GnAj)A zQylUCxU*3{_khQPFM%h5`#_U-Q0Xn@nr*enXRAfNZ1Wn8r9JKVT<2O~(tm7Up&yhrZVMey}SVr*TwIIojo7s^U z-_FDh{Y|`M=d&Gb+hln6Zo*?emslg^Sed6mfrf}I2YJFL!~{>z+Zj(!IG}IV*gRY@ zO{osxna^omhhm$@_Rc%R%u2p}iqu=`z7)?>q`iZ=xD2wQxZ7ta7KRbehdP=|W7pfB zx0%eU?5$>g#w5r-fec0s`w%`MuFQ3e=qVrNm)easo*6YfYto{-(LpWOsM(r4v;61{ z{F*%_;hEV(C!^@c-Klu7AG=RIcc}FX&^@?$GVho&Cl@tb3!cNMJeH$pRp3{ zQ1$qf@YMO4d4#79gOn%bfyvOIa*^c8C0oyu@~!qctTOMNH&Lc7A_f#$^>9Q3dY&|S z)+z(i6ipsdot?Qwc)Br@1*JZf)utvYzYdB;FTf=~m(3?+EQfzCtJ^qbR2gUcDc#0t zhC7l=J?Yggqvm~F4iX}jwMYOhNmE08!s1V-%)C=MD!)oyZ}7-{hMOwYt8U`T!Oww< zLEUsUf?ot%!7qclY1GYJC-@cc8t^_)H$GnluLpH=CtLdl_&HEFcejJOxw{*D2>c58 zJ@5hWhu}BC{{o)^p9Fsa{x|p=@F{RV_zZXydHx+Z4AdU%fZLl7s`7$5L8U#wOGC|dX;@F!@`RvW5d@O(9*V0~gKHIXf!H znpVu(hHWTYL3iY^WIJbXX3^^`Ul_>N?}NVQ8l!78fkVH;1Frn;#Rq%-H*C#v_K<}@ z+hxq!H|*Lk;g@K&Wur{wSqFyg_<}eVXRYgwy?8U;SqD1C&n(Xyw&Q9;&s{e&7Qa&O z`V2NP_HOx}Y0a9|n$eJ!=k%86&@$!q{Mxl=J^N@ldUHy9{&&LD?j+Vys#RnxZhCckRca%LTfb6>0vPISk1zP@dW1gK#181`p5=|Qq5bc#Jv29sby=@w`k+xA|FYbfvO<8W+wNV$<@X=~DYr2DcoFgyT z#qUAm(*(3_)|h=a4@&!P);1D4kQmWsZ5ZdGsRNWsM8ox1-8XCETb&aAUq?eUCacHo zjOA0pPgNv0M9^4Icb=)un(`#JCa`Rb_~p`?we-jFeK%|U9T!Aa79Y7;OMNu|?wU2< zjzzNN+cD+8&vq;l5NXH$3cJeBJC&Q7vGE*dIr?zSSM{h3`8BXP7SuzGQK0Ha8}nZP zo(Qf5wL$--;22QN+cGDn>G1tvnC%e>GEr7zjZ#l!0zSTRYkje z!}dK5*M{v-37DpZ5jF1(4hClZDlweS+WE6#JFkUDVR@;m1sovMK zeSgvGio%f2WXKHZ_)>y-dt$Wl%+M!`YfRhM!WG&f-Our<d+D|r*mlWzsZcSTD4|23^#79r>mM?p&Xxk@b33Q9v$ z=P{Kh$^Hn~=ish39**sdIElnbtF8MN$98^t-L*(7T1wa?(yXm}FGhE2G$X^a$eO-B zrth_bZy)16?MB*Xdl?Ccw3l{~UoPe8oyvF=Cns|Zbo5^wWgp)C7MutDf54^SbKpww zc~Euw2e2LdKd=-06Q~yPMX(#(3w{KA1=P@FANWP^ui(Ale(>v{()lg;I`{|h@8JJ| z1C9t<#R+wm#oWpSiAyiS3AG>0uI&0!tqe6wZm z8k$0yr|!l3k_Lukqo;hIZgP1@GP;y~zRBVhQ+;!Is+z+w4Cyp7JU(e;*jt)di>=t( zXNK(}V@+;XPg2Xs2hA4mUq%DTH(h$G?Zx+0@9){p_h5)Kh}N;M``qM4@o}y-&+Iy< zjw3HPz^@$|>OR*tiW=Xa$kF%E@D@Uj)F`GlnyHOqYNMIjC@LRO`Tc1Wl_xcdp9K3H z8k$DYjtt+qQH%`1j(Ecx85zD)qxi3l4c}Fxs75Yw1%42zwzAJgF%pp0D5`7pPGzh{ zF`pyH(dW=es3Tkms!^-})hI3j)hI3n)hI3l)hJehJHeHp20p7nHHH_0H-c+GHHH_1 z_kfpxY7Ezc-vX7+^I$#r0@w)t5o`qyfo-5}aoRyO+*`mg;1%F_kVgicbHERQ7l1c{ zY7{>XUIpF^UITs#{4jV6cmw!Z@Fws!P&#%ysK&7lzik}lvyG#CwsEvHHIA01snx}r zTHVdms#*7$7z5o@?%`$R?fYNmHuANKR1f;D~8hF+RGzhjUbZW+A|O7ifyLMuktJ1SJ6x{6uOXH zJNHZbWafU)2Q~Lw2I{)zgUYTtU#lbXSsjrtJE-K>(lk$EY5#(bn3wW8j@mmY@={)s zj%1O_|9|Spfm2 zwhd+~$?c|=6TFXP9^gnQKpAJ=O?4h$c4{Qlu&a>}YQ=?|58p+&ZzNvDcN0hIor+{C zu9~OBhOr4F@5c^m%tGs#S{4%A>@wZFo&N2B#$2&>jMdbMG@ygrYW~>mSD>djnhUAq z@J@M>AuC`0`VX9JE9oszl@!YlI`hGQaDECnkn@RPCa7!422~Diri`{apM9PxntiS& z-%vBWvb2A?((E`*74aH}&otgZ7bE8@<-M-7#5S<0m6raNp7Lj%ZZCbMxe?O8q0&ZB z39_t_pepSIFdsY)RHdB+s?zd7RoZw^<+O!ru@AxJvy~>Ftu#wJ;P~u(wbndoxwO8o zs0ooP4^1<6#=@tZL*)l~+rzH?W8Pt)(Jcwd3rE3l4fhlPXR~N)>x0wsRWmR$}6_nso9fdU_Mv{jssVMx{mjQ zsy5A}*lLr{R-1g;!Tp48H?#+wFFV-hVhlCkAhUefpV>aVKs=y=B_>PL5EU{i@DgRFA6j5m5R45vc0?FEAf`5>$2m7*uus z98`6FkaD%vDW9!Q`LazH)n#ZJ@5^T`)AGqOEg#is-(leMLiB>iRvMe^Inc#jj@xs2 z$y0x+>Z#7@6>6?sVwAV{@I|) zQb#L?oDXjxLw5II%hzOs!|>?WC{816QA+q-xguC;ui|@xBX!M%@}xY(IbOYyALG<~ zlq6R5A7QW+^sDvoEBb#hoVNJLEBZAe%OVr5p;^+H$R&MQ=vG6rKf0Cz z4iYg#6H)V6i=nb*QADSTV>CDlJQ38G>|{_$<%8qFv7pNG6mSxF8aNYVb-H=-%cB(Y zw&Ns_=1h~hoy$O$%$i3hlfgBdvm(AzWy;Kcr)uCD>e`O=f|u%)$zv=n>D>%$%@{+-sKD!HEAWSYl&_i>hI9zfc5^HR<=e(l>DHWMo6 zwLR4uHre1XJk=W3r-VnXL1Te;vIbfu7LesiSwg2g$r{=?-bl8FI;% zJ(5+Vz5LgY_goHd6=%B~yhe7z6-+lrvZZU1RY?1Izu}MpM2SY9^F~K8t1bcAz9kikfzQ)?CpCp=_AH$KR`DzIcgT+ zJHI{1*ODbSx_jy`rY~VSm(HNg8O;g3<++Zb!>&58;mhb@G)w)H2|wzsip~13_7S~T zjEcF=#Ij84$t3A98PE3S%%1SXvP%EmZS^j$bLo0y)Ly+l%u4A_KVO?;c8gQXlNS{8 zYloGWguX6(wy*gdzRNiB%#H+?8=va*HI5w|-aUp#4XVmrPIjg`7q4{vL5^tnC@jMF zI^w%OCA`j9jAGcHPP*O1Yt_A0)|IZ}Ha%C$k9iyQ`y$Au4$|3b!PCOBB+Utvq6oH3P8=aO#x*~Q^5-G9Iy&J7gSq!9;i047`y_U19pO? z;D^C7@FUti}FsQ8)A1ow5l9gfttCho1KKlREUMDixp z*0s*`Mx~h^fn~<-4)**wVRutT^~R?SaC@G?GNxxX6ClSXjpke^b0o&p^sqR`yrpUF zY#J$BJ5zaEpIS|8XDUn0z2-MjV8WNr-Y|2nW;?) zPhB!2>rJ&T$X&(ViXjOH=05$IYXrX_SBOly6y6 z9>?8|xDKtkuO^> zx|_u@#nX@Nn`8Y-N@0 zqed6>t~p^qmE9k(4_jduLB8B-q&r)=*nU~{Sgyd@$`pL|{&-pFi{rB+zK`P5!{NSd zxi#5CA`OkTfJ6K^c{}Wx0;nF>DR3shZ*tx zbM}&Y%k4WO4fa}(d<%3Kb20bkQF~F|Q|;w;^itPzHz<4g3MhNI7aRlL56WJ?3d&v{ z1ZRNX233aN2g|^R!Ij{n;2Q8p;0Ex&z{|iVz^&kupn9X9fFA^Z4t^Z`6)3xT8oU+! zA5b;%Ikdyti+t8zP!X4k1K z6JV7&!@70dIh7gDR@pfN6FaNu&^(^-$GmtKi5C)EwEa z<^A|Hxu0hSY?gK_G~ICaZ9?}DlEq<_+79M4#UZmennNZO4Syb87;HjqnlhnixE7vg zIunu{8E`Z_b>aD+2%nX5)1*8p?w2@XH}PX!IE7$$IE**cm+N#D zQVcxPYo~8d8o&9y!VFyU8l@Vb@~E_+~^ED*c$_C zDr_vMdK?cP51tB+0Z#*Ec4vSSz%#*#;3QDpRUvpTSOk`UQ$T6URIn191zrN43pRr1 zgPXuPU@KS(svDaNUJ1?zuL2i<8XPVJKLRcSZvYpAGSg+?ZD19s`da}?x9&tMt(nSa z%~ZZ@v!3othV~YG@?~qk6%%7<(C&Qp+u%0twINNW8?jjTiPxT|_YNp}7DH>uVkOW) z27&RD`>^E>Z_B#BdbUqnUVa!`KCNqeR?sm_8yp?PoV&}j9vc`7`nKeU#4Ag-8v^ur zOIBZEE%~g_HwT}c{?O1udXX1s(xZ_p&NFXYTH3wP4sX*B5i0wQ+O+(lX$Yx7do*0# zqPJ;lz|?gY1iSA(+K9`Gvg zI#Bj{19(07QSg)Cji7ERZUS!wKMvjwehQSHd6T`?VAiS}dhpP2c0byFaOU>hI5$_6AWN3n->i4>fn}?E z7av^4>K674$gQ;V@VtdK>+z04w>{b8(T#(8_RV_Zib3BSRLsOt<3rpesg-j(lO4?} zWS+P=gWNZB`@#4SQPk-K=Dml9r{H^#{Ml*w@y6ExEsrCUIej}RoEL1xr%BYj;2M12 zFnm(m*Es4qyi4r|uZ9z|Gj=GwP@5`+^J=b16F*cH--lAdqmw4D5|)9y)a5ZsQ*l+_ z)01sZQ}J`#S~ixqwYAub2UX0_PMe(nTA{@+1I)5z~uafIw}^qEW*Rd%4;mm{HhFO zi$`-@VJNg;=(5V?9*|-V?gMp0@>Njn>o>qL;5We;;Dg{S@Y|p=fHs*v^827}?H&d- zjrJ&bE%+l)Wxg9!c|2h1`ex^|yB&*`tp{1!ZU;O1wew{Mi#S*4Q1iN{<Mbp8M@W-STAFN&<)1yKE3}>E(O6M#@4%9xLzVOPkTB1)F1&E(v%_}Wg?~aO zCic_;*I_cE9d?a$hrW&*zo*_@R;l|&8%x98|L9qHu;<|knMJ#wIM%JmmHb3Z;Bs_6&-SY zX>O2D2FG&bnO;%tVxHMT%UY&vRJYK1fo`;|?>>Ap4WGBx9h`ah0v^$G9YNNr#z8b` z($AdVhevx*jn;me5+3bAC1-a^cxn&&65*-qV3a4teU2kL$(olpv^Lk)HP{VE%z#+= z^v<^^ocCqSdc#o$>y0_=>awH?wQcbQo9Y|3(y!Ukv3>Zqw7H(0bX?*J z$|I5u;=><_AaC_?T<@%(}I5kon6I<&czj)GQMwmdgrrS z*JB4?jKv3k$J~KlxN7xNdwLFRh}mhCo_$Q$9B()DYW4nX8$BaowCm zF@KZOU4T9Eb|ib@bJX@F1u%{Rb%9c!avPwjrOj4f(QzzY+SV zp}paJc5=q@X>!K$VH;g9OKmkdV~j+b7wn1;?a^)BAa33E9xJmsRAe-sJ27oX(2Gnh zgwA!#H5MQ2jmKi$<@=VtXSp#-aA_s1dTn-m@U_m1av zi9!fbaelGPBzKHvjv;l8`|O& zu^nx?-e`G4JM4j;+Ub&YL^cJ`&;pB$O4REPj_f2xho|9`k2T+)65l(ONdd=k9FI6+ zai+aFTnL^Ftpb$rCE$3l5}XV!163C*z;bXExD>n)tO2XR&EUnLw5Jxl3akTng7x4v z;5txd+5~sP^i7-t;p^_OyWsR3 znDzD*MRrTWJZ2L1p0FyqxuFT>ooDTMm}iGu^c=Gu>v)Ej?UEi$Rs;5>UGP4E1immL#8@KakIE`}C}#Jq@3Hb|I7H(?TZ8rzTZ1XFdD4 z9k2>$o;KBMd!r5pP&t0p(jMdlCTza=r|Ai<6n?{%b|}S==xpyxnr_ovz@YCBD(0zp zV>4IZC_z>lGu~SBIt+qUYZULD&x5OfV(<$So-`wcS6&p;RYA32IszEPtzmBv*ZCnu?Tqy=7F z+qz)W=GwNV+D&#<1k9m(2bDjHPs`|5d^pq2b(fo_Rxy%pD5R&#vsr@1+C`|N%I#usBv=C;57vSj zwKRZ*;5u+BxB*m3XoLAKM=Pjuy9`wJpQpa8TFYnETE6Vyw}k%Q(4KR?Y_qwf<(or@ zLxbfZtudrEhcq?ax_8j9V%Rq`H{@Tqj_;&rZ5Sf#7{orzd-tpgwR-ekKE0VU zcSHXB*UfrLT*8h)^LOsL@=wK;s}hr2+LZY3-lew!ITh+-A@K``}>SH_?=X&c9xNs6o209H3P z#T(jrvm^bE*NP=p-=lHAajl;|G8(JeP1D#&YwJeaQpHn@W!MgN-6>1f_s2ptPUzF~ep`*^Cje6EjBG0!l$C12cTq`9jXG1T|LpAb0`T z1xo2Z1g-_I24x%{1~t6C7F0QMmub@9gQD5j5ahG3A;_0)p0vGWXc|__he7dc`35>) zw%I$x(ng20sM3Bo^W6OSz;lOmWX#?Bw}hsS+P;18fIg8sxjX4nHB$N7uk@!(!C zAN(^o9^40>3StUoQzf0x;QRon8hHzx3mycezK6g{5XCZUqxmN`?u3rm_0rqmgna9EpBg z*X3QF^JF=c?x+P*S*hQ>iX*l8QXKK987NBD4f80=d_a{YA!fo3p1zzJVJ1&@r?gh? zDRE@tO?B#>@}P6&!(Y$d0rvgDzk!8Y-b?%h48WZ_go#%Yn!6PB*uQ*a~(S4lL6_!-KNe^fkD5gy-6T`c{?t>2dj7B#|%A)OT)1JiShCxYBVkA!O zochY72RpXHXm`wL957DTCA}ZaQD!J?;Kl^6%3>TSJ3b9mBY8TgTb?t)eDEw#7qXrFXG+bvo?wLF%OI%YD}tj4CAspCC_nEivLHyRiAU8BAU zH@Sc_wbi)|T3O1X6~&QO9?P*jsYWBC{S_@M*}1Ci@FRXAdzab-`5}Iy4kNQEs=YWz zVu^e^`CzoQKgmR0 zUp<;QT#$KgESl0#yuq01pIsV~HJD+^50UHB(2atctK>Kt!9Ewq%7_KG!Q<0VH?uu0aDrp(!8y zif6AaEBHI{P9k0=;Xa-(M?G8+UxGg~I0(Pbr|Kj|nJS)mbS_JNJHq43OL-8FEgx$5 zri2`Sy{S9{;Ne>-xuR!x>Y8FB)Qaocbp1jd%BOH3{7OUq!Tb#}@ojl2Z$6JIufc>J zi#*6y2k@x8bR_aQFc=b%aT&Y{%Qy04!BE0{Stwq<%SR%9MsO57UJp#3T|T_74U2?J z#@Lkb;U+vQS7Fl4;yE@Cagzsoo_Za+{?zLji5#yxV+dCsg&KArM_BYa6#tl{d}IX2 z_rWtRh35o#B-fVzfZ)}lcEbqKpOxClSwI!%I~*Ts*0K`H?)R&W}d-265*s zSvr^Qjg83CBLVG(V#+lo&GGPgz4vMP{Pm^xr^27eb1Zm{TN+=lUdI#R1A;SB_U}<9O3bKO68f7lAiLR z#c;`d1A}Q1Sw1~ogHKQG@QjEoZe5aWH^DbBI42@YGPLp_*)B4Ib0a)nmeNhg$q3Gm z@ElG~afC8D=fLCjQ(-#9r%!7o(i<3*rOKj^Qf1AJ@EAGp3`bT%PDU`l4<1IW zNjwYt;L%4`qH-$w;E_E6-K4hq+IX#{m@!Fg zm&D-?_TK*|>(ehqYMkLQKFyEZ$C03%DGISIWs-R`V^~e>jM#;oNY1xDaOTT4*U=nm z-Z~?;gZS$Iz`5enRB+p(EgCys~6TL2lXT&ssmpeXxNP#U6 zoi*zRCmt*LdULKHpVnuRDADUuPBUWF{3;($9#eEe`gN%_$%tw0&R-Y3HZ-}rED++; z((I0|M7)_nG%d}$W$>)krm*ZU#p`X3qh-j{B|J~_>r)sK`gTK=8)DL`*;3cu9&fWG zLy4v}6naJsWijsZM+ba6JuQ`IM(jy`eOg09-ydv5M%B8msN|zetZDqlI39ZG6Wkoh z7rhG2O=ZON-lQ+Fqe97V5+-+)ku2X3`1E*LlC35jCxOPLrmp8(8L{#FisgYn-0^&R z>KLM~9R`10?34seZmg3$EJ&41b4je^+7WZ~x-fZop5xbF*YHsCL??N;kqk>@V|S$` zR|=18OKBzR1|1EOQ9k3AUUC1jz{H8Bo@aOlBEw(JF`;jnOZ^y9&q%7TktUW}Ke-W; z$1!az=BVUjInRjw2(rJfk)h-!CwU~2?NwY3B z_A)Y5)^f*%XlTc`Y%}O4t8+SS$#Z1=By@K>ru3HNeHa`Kg`rZQqT6DCW$toN)xrl&R9@QkJ?{FR;%ru7^# zuuh>aCH?yX;RJgzHGu0aiUGGdy+@w#zh=wn|G<4!bbMQxd3 zDX|vwOT=JV<8ObMeiiwK=WZB$iJcru9^)jRY$U^|{Si#dF3HJPF~-RG5WkAFuxAoo zf>Mp@;aJ1d41+JRF=1Nlq+r~bFs&*macGikb)(kth%s3=#zCRJ44s*@iYKp2PhG7_ zMvR>s!YdsYrp}w{#*GV8=UwvvA%P@k1~nTSHg0UOy?J1GqUC%FJQ*?BsM`0>FZj_z z>8YP;cq$^=a!Q!`%`Wv*!qo4B@)u%Avc2~2L3uuj!dt$!fwj9G(U_ zBc?nksTW3ky*oXJryHIrT!q(!)50A7M$vGmg*p5il(B}AstIR6&4{)0t4N#wv2#&+ zS{jLD#I$nF>+>0*FGd;3oe`#$<0$DRKLNgs*!}z}t^Jq1bZ2^6XBnPLVDMTuAx!I7 zCwW4c)&wZ;Cx#?b?=`i}%^N%1ASAU^CmPAU{3`VefA#qV>8VdLJnSbDram!DeWpu& zVwn0;DC+YiIoZC>HgeRyDXssUdHEmH(_+{}X&mI&U+LLlTGcMCv%|D5a}?N-8P%3T zBj?CzO*TByvAE`aTEKWZhA-M~OffvIkiBLWg=szD zBo~Eg@d}Yy9w^Dyc76^;eV3&~uXL)BEbEY)vgFA!n~!Mf8VhB_PA7G*t5ZYY^DgzN zCiSS~=_b~ZCC@NCx@qu|r-#1Ro#g3hl4qJ&(kr>o{O=9(((`-{AsMkNB9do@l80$1 zjGKw%5|VkJX&$$ zOXIxI$BQP$oo6LS?ullbSVW3AX_DM_7fU?JT2~AuBX;Eclo+09eu~5V+~gz|r{!mk ziRE*^3C^EA){*n9bd&SEG?cvCNnV;Jd6|iI%20Bdle{ubvSen&WMwgqH3yeHl`i=L!}BBzKF_N|-=$9SY9krO;6_IYpd{P- zg+`7~Yhh*KuhP@fC?q5HNF=Qb!?gJ3p>Y?6X+3e+v@SAo#_@}&;EvqO9!yVbjp2#* zaTkSYJ?$i4WYW?&v%Nv%a=Fy&(o9Q6Oue4cs{Z}iZ=|Qi4Jtg*w5r3jG6oZft2Svx z`_mez8L=*YCHcZzkNR-BkAm4bKbc>M(qAb)n=Noa8zr!+`rD6wNY7 zvaObHI39&so+pzi(K2j+CnL7V<>%vcbX3_CrnSPQ)fA@H1V!z)BqyhJsgdJt`P=_!f{>b4v*B3* z*UT9<}t^+G8oh9oDawb95?K9oXE<*7HMr?tuOM6YXOnAWFVS{uW(?t`Mf zRFad^YB6$(`Bhp~@zYDw(`q$5(d%jn)B2uEt0he97f>{Ql;q^JE;Dj8K37_8Pu?^t z-3HqXPaX{3x-ScTzjtX}X3~o4e7lLI(in*E2m9W?AYHOrvy7M?KX}RQp>Mzt0&(qW zk~^Sg#5Ov~bEkak1z*Yc&YE%fbllDDNv{tpvN{UgGIuAlyUVMlK&%3@^%x;OJ1~5U&T=i5^Y64V0faEw}+B{;UsTQlYFI#rF%f- zdF0q1|2kcAr{O7!tq&O$=A9Xk6zCo@M3Ymb=QOb#<85O;FTkNOE#o-B2=O zvQ5Rly7U^9mkUVJs1F;SXjevQ7OCD7S}{XzCv` zl67_BT)g?Vy!6zSZ+i!H6h66+g{gntrT(!n^~W7Wd}J8+8z^d1m6pxVo+O@Vem((D zM(hR0dEGOk$XblEX#0G#;fc<@eFh9rU@FE^DB-y4u9?HETC7L?Z8Kf>9 z7U#pi`{2m*)IVi-WXs-~J{hJy8Od^=3{#&EMZK9MCu{hpp=88@PWP7DspnNBZvJ=WzLQ3@7Z-JT-TdH4<|9NWpN$L5K z{ZKnph`;t*!u;Im@^ed=pSz$eB!(p0{Cvyt1coP?`e%*g4g3z|xbM{uJe{8Ut%fI> z`e(z`f9fQEHcb6bP}UMdl5Og*L0OqZ$?yuDmY>g=w063&^E-$`?#|HnxJ&&` zlX_J0m*C5Y9a-|14bK67z2q;2zTY^>UrLjFmx*;2zZ6Jt-MIWW((`<`;nBRPx1GB} z$*(%ecNxhr>a)MW>7XPhw;T6B$%ws=U!`@|C)RvDJuO){R|=*5lq)nMtXtGh&ba{hgG~O8|&fK;JLnUv{>o0wB!IbIbgPoE} z8*AHEw9MHSZy-DK%55&lJwdjRiwmcPB{sQW>QoZ6!M4CvSP7|9rxRS$w6V3OrkMh3 zZrHTiWy=&zwDOW8PMbW{7MkkFvh^i@+O(;`>;;?Rm3+>uWo1RnruEA8!ugdYi&T1U zix&zisg$Nu=00q0)24dz-$cx$3!6Rzo;Hny%thL5$pL66{Fyo3f#E|^i6V6r>O z^dY=(NTOERrn#bpl9@IoIUYKm z#IiD-r?6mh3Xk51QN7vnkcya>WVGpFyFd7&shQfjw5ydK; zg67Ot=1S`8O`R@SP+78oN}X-0nF{v-ix%11o^7*Wtzvac+ocU{B_?L&oH8Fbon^IS z!ML1!%TvB}Rc&(<3mzM)+UlH~5+uR2K)U4`go4r~l}qN7%r7mrZGg)}Qf!w5v1QxQ z=!Jz9OH1c1T|(=j=t&}c^7`0);yO$T*c>J?Y^t}{o#0eT%4a%r+YCCTY9&Bw>sVXNILSxu8fxOvUn| zj}&uSq=PRgni(mw#CFy0+ACV>YMaxCrBfK@*ut^txc#M97f+_t$VSr3*vXB;)WU*9 zz9$!`nElm;TY@HCX~EPP@VJJ;?Pr+8Fu8DYwC1K46-E*$EOcd_vV&VvrV0zD6_G^4 z#_~<=+*+8CkQt#f_*Cvvw%AIFJDIUzBE7=G0wgg4jJI4`({2nWqKnZ@i<|}d+lu*W zs=c;PE-ajk7+b;>r9>kW=rZMNuSQmq*r+2qjGkP`;M>c=YTUrmTg~Aj&4`v@!Bi6W zl@cnFC8ghTx28yOi)9FO?q z`jV%&E|$W#o>^A8!^vAs*e4y2VdSSTd76{m2j4+u0CzZfT@=_PF8cn_mhS|hFL`&v z_x%%jaz57b6$0jZBP#|KLiGkK$IF*+#kmE=spYI0wb~TEzS7l7%O~NRf2x&txa;@` z!I#66b(-bVBvN1Uu0`I5;W_pU%QqD0>pG+YI~e&6=_K6W>2Qf8wT==9cv>`4d-9;kY1w;?hEn zCXQ_r^Cy-qDJ!3|avmNtK?rK5ux#n-D(5YlT(h`p!Ff{)3K9f3maI6hU~9qD0%XnG zh@8bM@DOL-w)~0fTF;S2HMKX8fx2_H)G_B%6F2^KEp1hGEv*Dx*x|HpQe*zaxvht( zfWC^yY)!?Y<~n-kNv-v3xv0zYC$6Z>pIE!8wt3s-4P5T~oAW0& z=z}S2T;0+ZKj*TJh7Mg+bFwK>k#&c!$iCInRUei2PeiVbH*Z{5=T*SS;F1rkNo9-L z*Q{o8pk+(@n$6QE6_mUuF)s+veh%9XFvZPBBi1IH@sSN6EP5IZ+ZO#d4fVJnXZT-l zG$ejDx31e%wY;h!&faYCmbQk<7A8(s2k(Q)zf%uWV^v#eb5p~nco|zQog54vzGND4 z^UIf(l-4X+T2s2RY6WxSi%XVQ%`d6o1vh!snh zmshUPxXKI?8$qfz$c^3gk54zw%g=oF#^*lt@~6LdZwm`D4Sn1ntG>Ma=M4w%zjyZN zZ{IwgCy7na<@886H+FQ}`PVJJ;ln+@oAiT{>+bzDE5jZ!^p&r?c-do9J9d11-=Dv6 z{E{=S<^$x=N9q|MCfVwGjCH2R*cf(3?e&+ov(Zk%B5J)wtl_%aYu7bQYE*nR?{+_) zWFXF}K zq}`rO$)CWfVIJSGwl&J9Aj=CqE#i!SEn@!o$puE}jQoivm47-5X_6om8PSE4|9>Ex z)TY?froCsWO`ZDhkQJ88)M@ne?@^&Avf79Euxz+Be$P^T? za#}t2iT&#)GDhy6a9|V=1V+yfRSJA?2X*HV@Q%g_dgA{ZQqz`{Bu# zZB{5++Q%GUw)s}OrQH|O>~4fRcSSdyum0h{K&6ygqROqD!sI4XqMA6<`KufoI8r}i zpg7{uMACmQ=Et~L`f`dRY>k@Fi}yKfuBp1#B+gb>q<_Vq&*7cYVpwSgL4M+DOtmd3 zo!gR<&z6*Ywp1)lrDAE6O3|*JyW@jqEza6J=s|rU>~MwRW~mNaC?7}Y%#`i!6-R|4 z4SPxTYn;Bs%w2o*aq{YSC>4EzL2>sWgzu^9@h(Hw%;6o-MremiL(zB2Rd&CJ3mPj{ zA_Z7XfOq~{G*val5lhC}O)uwwqL+bEqPd{*zYvrv${1|{%V!H%zU<&>7dq5zKyPUj z@G@=g&W98KTJ$WROB=^0XmTdJNmIZs@p;46?fhAM=(_IVT|XEwzjR5*o*F*KHni)- z0gE0lKd8@s7wuZt9b>~%^HHc#Y!-hp-+{^swRQ(ddbb*nG*l%ZC#_Y6MU#y!bbcRx zsnKeM+Pxd*r-VO1_y8wO1t5Ej${)`BrA@(F#m_mLo}vKClk!l-@p7sHM4o}C?P#k= z*2yST)!GzpL|Ww^6IT9cSNYmttCiYk%UUUgeICcQG?(-NYmJZ3ZjZD3*`5e0>nDLyp0S`>`tjfd@D%VY z@N`h~vlGCn;3RMccs4i_ECh?eDIjfOFb%8#XMjt+sQ1gg zJ1?PBsw%s0Sp)7-v<<}n-q*GTJnWd4R&?@nc%zUI);H_nXuHq1 zeg77I+xLT9%Zn$|O7*BBf(`R)dUr}hW$#X1PG!}G_jP~Q$ov%_FL`Hq-IDhc3O5v^ zYe&p+?@G+|5_3&dj0y@dqu!O6Pe@EjRE$a$F}d$b%zsME-%+6OqErQlIrd$Nxm{wu zhL{Z*7j*BGDs32Ware$E@N}1drn~&1?(*OE?v&`>UZYFBTTRe`-knmg%HCe1M~iQ+ z>g`o=^cor6iytIJ*R^3#_XASY?px~3Z=?BbHovXF$o_x~pI4 zuHMsK{c?BpzV43wUc2IB5366#=$gOJPnA
    LQdp5}!dR>c1hd+(M1eEb&_e|FWO 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áTmI7{72^)**M>tN9tsN{jp3A&4ymo+=`5(WoE^D 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
    MetA6k?;wAyNMeh(?r2{&ktP=!DBkF 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 z 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 z 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 U4&vlJ&rw6YiF=RJF(OO;7f!f-J^%m! diff --git a/scripts/windows/installer/WiXSDK/vs2010/lib/x86/wcautil.lib b/scripts/windows/installer/WiXSDK/vs2010/lib/x86/wcautil.lib deleted file mode 100644 index e46cbd4d5de5e6b03be0bf17a1c17b02bfdb0018..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 1328052 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%0ASP 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 z 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 oSVv>0 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%0DOCi| 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

    VT^i$4|IpFV{e$v0{T&-w5p<3g|-lceOX}d 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

    F`c7rWa^e#NTwM8_QVS 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

    5AgqsW^A?2VTz# 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 diff --git a/scripts/windows/installer/WiXSDK/vs2012/lib/x86/balutil.lib b/scripts/windows/installer/WiXSDK/vs2012/lib/x86/balutil.lib deleted file mode 100644 index 2a91dde7746d4a1af4294c88911265bf5481d9cc..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 1345628 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%0DwSq$X>P+RxX+AuY>GG+1k=@ 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 z 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 z z_sx{==khB(pwP!#gmayE(`TLhR&DDAcAO1vHN9#zFa?M|!1y#0Q|x>fUg0`P)PjFN5C$d_?i4 zO$?O5UvBj%NvG+H$=CirO zK9cj-q4w&`89eK}c!W8|dOPFr<#iF)$-h6DJ?qk(`|>bnm3A<}37oYfpQd?!V=}$A zwCGZ8)T1?U6K5Q+ifcSjB4Hm8-w>SdIXf6uq$7^fr6k@NKtpK6?V zmD=f{c?N;z8n;*Yacg-CIHI^iqLuo^8-N@HrE6#_w2NgwqA_xPsbr>Wc&E`kXj;2? zd3yhNRn%AWZJM>Hu#M{Ly}qv>WuGjTfzdPPk7A(GS5eeQUKA?12Qqv)y{ z0yEg4M&%DDvjUmEtmrHqsUM8SYglvh0nk}v_*(F2Z~1-3up_UEIfx#UUG#$VT`~`4 z+=jfbQPG&)e=$A}1ltO%ygHli3xY8}IhP$U(0?Z|=RkS7G0clUdu%#3%*{pJU2wD7 zmWFNdV)=AkPlLHVS@ob7v4}EGVcH(jj@B_x^81zYcLN*4PEoE5!dME<+aPD!3HX7# zxu)S)dUowtoW8F;{dh?4ru?;}J5La_(ywK~pA1|9F4Vv{|8>IW_!dhNjg!28&^ zP8rng34-qjUO~Y+#N`m|dSFw!t2THM^>!SB9{_H;qNm_aqPE-se0*VT_9QPVL(_{3 z4X=NsG6zXhl~p7NVJ_d8H0hL?kJ?($etffFIxGf9ET3S#g7w!M4L>ndUho0I%cuQ8 z>fXnt*Yvt*jvv+>&(FB9FXf@kL(S{g`+5Cf&c@xT9CuQ-na&WCa5E^6uVBu;K>YBw zSPDqi+Va9H#W_vRS}M*b>zB5?TMP0^!GvjcF3v33@RowSV@(Yp_okU#ga>QKB}Mrg zb8LfAKjKQ*UuJms3o_j|Krd(9>}*R%%A-8kO_(61C`^ReL0=#%Lt*^O8^JA|^?yJp z)j@_+8PW3~k&0zmJuv7jz{b40#14s|zwdnBKbB@D!;4bj>e_uRxPMk)i9%4lB95W~RyUeDu+ zr}%$DuFxtMxONk{0JbHCa)IGUE}*{Z4fQ7?y56DvA?{b$9by=L6%Buqa*_$$#oo}F zZeydwNy~ei$C*G11DELkHgJjl9r>Sufx(gCnnJG0dwpgAKywR{Y@C1CkB9a~#qSC8 zG}EJ;Tnexra_oSoGs_r1pCxl3p3|h9PJ}&n7xE$;2&en=6$L);(TOuNi-7y5=^OUG zizhiV0?mIWqPgwKF-=mM=jkMxzk_m$lXP`y6FCgB6PN?XU^r2VK8+@#^*cSS15YfQ zE95Zsn&oZg)*`YP50{80yZ<4J@oS}qn8s7vpP`nt=@b~?3BeSA0h zC7-#MR;j(0dY$nh&(Df~;1)gK&KEW2<2$wTp&L6txH^l3#7xX=+yqCTYd#h@XnY07 zMsz;rVY-1~+dbdP3tR~-_RMCR@x(! zzp;RETS&}!ldDM!A{Mn<`5y_ah}V$*Gd8R9L({X)8jrcHxADsum-j~FV)wET`zp-8 z@XgH8xcnUX#pC`mgIdhv64mFn!BN6M6aS|=SwVqL_p&x9__q16+-HM1xpb=D#In%! zQLt9O86?`+J)8Pv=d`@AVuG-Ey>=<~96Cebvg@g6vlSTrUlx&&tuEoW7}?oy{WQ{; z=*;R)2F@|-7iKj;C*bU&w7ns%e0qAJk;NSCf#&<1A64g(HY$UD66S@NG@PjC($p_> zEzqjLS>hZ$qKxP$-HBg_#^Odeh>NA8#^o0&E56{z9|NM4N6S4PPYj}|gz6v)oTG!P zSG-ZnJA0aEfG33hOm{YZ&rb79jUSpQquJzmtm3-L1B6gvOqFMA{-ry`GhWW@T3X)D z(>w!%iUo}sj>m-_ZihBu;DasxDEydojMo^WUxqftxg+J=LTpNBqCzXt_2Fexgz=`TbsfyxzjLry>%`H;_AHmWSWj#+5#6=21eiltz~H%vfwDq zmyFgGvS3RWUX^aejVw5npQ;$@>|8?ro2B`Jq3;7R-l>XDb!8R%;V^nI-nEC>#!9d7 z*P`(pm!IwnjEUyZhbZ$H_J9vCM~eBJnj)svZfA|g7Y4tH7A4tuzs=7_+e(wZg=zn8 z@CX3J4_PC&0gSh(=JrtON)DuO@#+q)@{=h%kLMUMa?fEMdNT5zAUtnM;dwmoOyLfX z`l~hhk%(^ZVV^7N)P?#hTK;eF$PVDeS4J_OHol3)APW3LW9Cm3LqmK^Ve{wrjb!6n z`Si*tA(kow<%vVKk0l%5&Zh@&B!0g{BQ%G;+*j46rxxEo*<@TUQ zmTYxthuO&|=*?}R%nsj?zW_tFN!Z_aGmdgb)v3l&x{sj1B&-ya<+v2md!X;U5BjoeccAXetd#mmrzXhJ4 zx7L#+iM~I@f9z+;FS0iElTQ-CgKpMm`1_g-gPTv1-{w2$W`*+7&H5eS`n9KJxPxxi z?~+%#S)b+K&@R=XvY!K%;-wV<}fq&6qx*+Yf&;Nn) zaxlGnzusSq-riimRL8T5!_D}jfl3uYfibfo!N#;$SJL4bJO+Zv>u+d9lY@gL*duB_ z5E&5;3-8D{8kt>_aL}EnJ)DnQiLoRo_m1>V@)pi4{5>_-uD`)}sxQ*VtGLrRh zp8;R;^imDn2@1O7PRfD=>!;}V$Ka5C^UFKyeVKDB=Z`(CHJNre+#M1P|4N<@Zu6HQ znM)DxDUXIRpD7v=s{yA8#!ebd^cD;6NgNunn%>(Ib4jv5ou^-oXoFsLhh|>552DeZ zfJ-`7$0|t&J=&nlG*KEVl)=fsKY5mw%)DJK1agnf7#$cj_7gV%)GG#=`rNL)i)i zqx1|lpL%RgDaLCoL$cE_-S>&jZb7a@3#a!Oya_q_{3q>_j&ps!&f~I+9j3kS>rsE% z^IKc7N!zyV{x8akPdLOpRNL%sgYV(Fg|)%ckkvWPE?aE0a0lp$(gzk0RHOZK&P#@T zPTo5*o5*icN3A?HfZqcbKP(f$wSgg-@$lcGjMm2Q5|HwyRJJ*a0t_6Q-QL6f+h8F; zqTOXniNVT~TsQirkPI@v)UPcLp4#=}8&>%Gb@vR8=R@90TpD*muAW@M@VA5C8+Z33 zHiyc&H0GUfZ+9>zl|14qO0R5{6lz(QWS57S9af(Y%xL8vBJM z&W^l54R3fXzS(p0i~iXu2LaWG{d{+Cak%0z7OPCE zE4DtIAHfEW`eql1BwMX7XK?xVoIJU-zKXz030gnGeFeUMPayg~T_4l?a|*x8+Z@Mm z;g^q37!K=D_1xkNk!p><&|B$NXc2zhNv@Y}eZ`cZ-=g0ol#$%;uMj0j574cxNS~lh zdBV+;obCi0BySjNDC5T32Y#MMxCT*fSY6X&S6jZEE(DLs^7*r}N&cLkg)ZbVMnBJT z`Vs?^{d)O8pcv=0JATlQ*bXgX{Rq2fT|hCSJx?|_cYsg(!&h#UK6jw))Z(hVzrs4B z7%f$>b@A1rdsh;tIZr4SwS#9LrI!lQk4qPu^0%^v7(!b^m#QD~O*kd-3(}y0sbSPS z6x)M!Zp*1-GOf3D^@@_gE84pDK1Y%)>wy_{<(75dOX4Sj4Xco(DgB2-pp1 zdID5edPGFe9n83ksYmp?nsU0+&M;UVm)Dp zZp`B*;qUY{B?e=4{ zpRtjAPJNV43Kj!rf`6V&M+LT=eZM@9HkO|&I>YgKW#^dw-kF?B|E70u0KqEr^k+~8S6(3NZbE7%ILm)1IBKdKh3V>)d+GmwvQ)WWBbx{ zKb{ygg*1D74*Rf&9W76c%H@(jPfCf0vnoej^pxOviYyx=7P zW)|kM6Uy}So=Dq#4cMFy4y%_(55^F>Nn5TnH^AD?4}*7i*?FAe z3^qpEho1sY?ZaR0?zj&t+6_DBWOeXa+$9Fa$K<%oogf7%U=C+=x9yn|%i7h}mS&gW zhRxtdx>xF_((xtSoLgSf(QR_&68$_7^;2g`K`oosuYTPCjz3{Me;9%l-;LQiM*8us z%7YUd|46!@8_U+bdXu4sO%?UI?_9MJ;(*?c?Qi05InU37Q`<>ce>W!(RQ zt(59kJ+ZCSGu21>+UxsTJTLIJTP5(bzwrk*Z*5TOzRAypi;oAE#qkQ`-yiiEo8*hG zTm2rOtawoQBq;8Siz$Mnh3NE>9ypcDHmK2Y%azN}OEh~?BEB;FeoZMk{~F)dL)Knz z?I%S-Z?mCt_aujwmV?DzwCBFu-kjF4Zt8dtGSir-8!Uv39meYqVx3LT&!A z!HeQIOwiwbE%6(a_u3Ypbh=mne?5MK);rrZ_Q!gCb$fv3lJqR9&?)>Hkw3gn^HKA9 zk}~p#_bKMJc%`J^4rsB;abk|{FG^Q6-L_G8(T&d?EU0}D*u5}=&DpTmYkar|o*tf? zM#*qhYSD)g=cV!K^^V}~g33W89M+85RHAQ3qrSn{Y*OXLwMl(H22SyBmB&l(v#9Ub z5@G*j7~P-NpK#ZItP#6WTWT)N&(l_ojbNpuQS&8ve{${rzNr1gJSxPiHr+wK55q4% zj7}HpG6X&c-x!YhN}tt?`^v!9R-M^*f>V3WfeY|oj{c41d2~ga(kNu_QyWD8yQ21+ zj%!P0Mx*woSsT=^Y08V=`dj#|V*hQ=UgF*{za;ndhAjF9i~2F^`w@Ih=+28R&aq|h z<5b`H_Bn^ z-rB}Z+AexDD6jY1E_RP%UW$p@e;c7dkLW!m)opG8(hGM+Ha#uGN2&e#k6+8X8Zmj> zbf4E7ygt~Q)+!eWY!RjQZ1R(3a4L?kQvhDIcB=2siTcjI($XaBcq`D_seZ3eRy^cy zd{3u&fM?IqL%bpm!=30YY2vuU*alAfzUKRWxnHa6);<^CP~*imT{<1LnRv}@$Tq7( z?LOn%{aFamL4GKeMvTx?GeaJ@{AOR2LhG;g?bY1@`yJkJT<|3Jc&kJ0zPqK}_qPtU z{kdv82jCBZu=w7_S`p8V*k_mvh--BVjP`0j`7Ha9_Qm|0dc(|pU5H7yrx)GZir&?G z==shlMyzOIap~4phInB)dUD#y*agS#Xc@WtM4bot+4|810>P!{$5jdH`Yu1(L>c^Q z`4vj@E6KG_`~dG-{p+i1rrf1-=mpTJn>yy3hnJR4IUI_Osd#na+25qC?D3+bd;IoO3)L!js%-7@OI)S#>a*${e=6*bE4RG6N%WNo=;$;B%5|} zR5!Pzd$78?USAnlT11xYl-t}IhpzAssFkf-tms?@`l-226HE6*{S3TBzS_;(qdxxt zIK(?Vga4jg+|NEIK$hD{ZF~LLuME`sD~eQUVR9mA(?w-9T3mJ!GC+yUVjGZd=mOtA zGrA-V5I1LfY_87cV9JMX$BcCNY$8E3%_ZfP9$G70`QiI#CONS~zCGj%-%5wipCMpe zP;yA|?Im9k96u8?INoS^>S9-?&qxR8qn4v-3y+Z1s_^(G;AR{TFV#F z^8|M;UyNRY{g}Zl9-Wp zhru5S3$!1mKk_+8J*{wXiWaX0r)cqP-*?f1SE||goPI2jt-xYiPQkVTi)}sy+W~C6 zG2IM4ssy_f7+RL8?VZ{#`PUCev@lsF~mQ-7G=<+x;bUnF>!HHp)$G3idHR3Xg zhs`a!Vu2CAj2%6Taqnd|Zr?A=Kt+zneG~O)t%S49t(E+nj$|Bmp6OY}E@WPj(CO6nNnK*gs0{2a<~=C9N43HoC@0&e_Gk5r%UTw zvb*yxB2B?4)1U2vaqrE&g^Nez-j{>*0K->MDkqliHF}(OMyYL*5x*^>#U6WOX>Xh6 z$lJ-McjIFeQe0WLN0u>;KxK$afM)>Ow4s!*l(gl;umY2845?vdRu&C|+efw}<<-^t z;!FegRc%=+%{D|~f7xnr=puCF^@zsi!(W?}=iPa|*^qU49!F~jLw(!O^ITk};WG;j z0>fUQklVkvx6=U+JZyxkYe6U1I0eyc2mV3Mw)Ixk^f#tgS8dO}U$nxrr|>=?I#E`( zUV3NMKKwJxg_``{9C3E(IL4Pgrt!N()L`S(>?Ts-rg@n5eouY}__Qa#@1V~A(ymWR z7hwb2P;WE2mA{?6on#BhC-sg{t)cCJm80ntxw)f!&h9RkZ*a8CF;SbE9J(>f=WOtD z`FKCeG8(PG=WOwE`LOn^RirxFKZXOlLm5tIiBE?+Q^q;ELH zWu1q-z3q9ONu}aZit5~gE0N9LMtgqRt7gb>Z}gB(vucDtF+0s%TO58_<(Op-1u6=< z;Nsbf#);W&7L=(~t0>Y<5CX~t0cLzdKN7Rsv@%C|vnCS2s3K=#jU&NPM#IExIn#V_ zyN75s#MaQn`MTAoTpNfEF?KWr!IR~1T6b?-UO(2{A7o}6^>2&%x6zirdKgXKBS&ka zF4b3}U+<-S_?bL-llpW%{2ck; z%^JR!!o_kM&#NdTy@t&i-U6fbYWvUowo4~8+&eqjqgBr}X9wzywP||}&F-`Kxi;nF z(9a%dxf9(I2OTsQ;%X=0(l17RRh$oFnJ&;y_4$`5C%$Q=EV*cl3a(qnY@-_qDV|eAmRlXibXno@6lyiaEaaSA1K39YyC3GCwbbkfI-P zjV74OXj__KrYHr>kM?~MKgzof{3sfD3us~c`>g8eqRk(S+Kjxi2-~Lhh?c(!4&A#S zRB~s)r{NDZe?xo(@qw96ZCCPP@@uaAy8b0!hdEd7mny$k?R9D_oJui_e#UZWP@NC5 z*^gSkOgdpQH1+j23iu+mMxt7iw|p8HF`Kd0aoRUtMZxxg-zLrcyupk) zxRa!Z_45VNu^lpH^?4Mt&!Omf*7Ku1)U+#s1zgYMAAd-Gcukj2Yzuj1e%^x+K@odY5fX_;H_; zg7hK8h<5YLOjX;!y~e|2x*u9eERMBkmsJORJmJ{IKQdW;#yfFaBo(cy~Z#L7IkJoy9A{Y7n*Jm>RK zznKGRquijUpJ_k8Kz_xcd@eYP`^lMT?@!U?Dtv=Q{rp4U&v34|ezxDO=qoN17tPOt z`tR;r20I-04LMYLx6-{0J37+=4t@M$)JOO3ruVVp_Gu6N68Uwriw2C7Y4o&;32MV=n0NVn5awub<_nxai^HjXJBcSa(}+{B<=^ zb3$4+7iGxK=j}eO{opGRo%UyXUjOYril$!$xAtB6UC^2pPl%_S!vnHk zlQDSzZ9Xuc<8QIs@o8+p+S}9Ae2l<91urJ6hDLLi+m8Q&xc*-Af00N24}SFeBzc>! z8~n#dSm1{bVTWFJ@oVv)YOvU^3Nk{2@vw+pii=r`3@^aOSktK<^)3%TG*B^~x7&Y@ z42|Qe!|~R=9yU07cw~rm=;>hiEch;MRt!YhNojrmIc;Y}S%t2D;VbLkU-w@`OK{eKPJh2(!0|fVR#yXpsZuadS>JxvaHTqZJ4E{Q3OQP?;;lJ%z{{1!o>L-64 zf(L&c|A)V?*)X{I>-amqgHMi7Uj91%-j{DrYxmdj59F1r&H5;^GVaBk6%Knm6*taUNLgk7FAx*or?6(fAU4 zaok6`e*etB_~PhDW6l46Q6A>tS7^kog<}M#fzq;{?PC+{D&tjr-56t7m}KKO@AnUl zUBY{fbIg~mbMd>xHgLfiyiY6THJcAaS!T`Wwv_bENOm8*@6Xg%#^yup3bmQ3QTlh^ zXVnIeUf8e;wORD|5AaAI>Z@!6#qT2GyfVY=a_z{0fVTx~bkN**n)f;I)ZE+M1GC+h zT=Rk2ZmVpo?Y3b59oy~yf?mAwU6k#%&IZ+oF5l|ihk3oIuQ-cw&lf2ToxYI9E3Qk{ zI9$dUel zj$D%HD!#QuTKM&PdyDThT{Wg#s7H5foTPTxzr^>AOdtt!F-D2#J3etJjk8^lWHgpt zqULL{KGp2Z#0j@cD^CyA?@SiVxrDx-&Uv>h2{~N6Q0-CMBANs}tNYt7^?5sZ^maQ= zJ;ir<&*1eT6&Rc#zA&bhj`b@_u>NYFdJuTU=j$%hO`p^++I{|8o)&`PS!#ByIgAaT z(YR%!kA`B%L%yr<-(=B_ z%9s+bU7y1De^(W9N*dE?=_c?+Tk~XH`?$L%af2CTlh5t~#}hcqp1}NlM;POc|MY~k#VF?u$lV8wA5S*Eo=fX145=YI>*W8e0!B$rkmz{V5*(e&K4t0jG6aAXW$imqR!ma@(zrz^K5pQg9w z%Af`hNU*kzckU@1tx7IisnzNuU}@ z?D8;>X%GHxI0fy&Jvsh)77?%8&vsK6@uW@&pt?%5`QgCAFT7V@s4neAS5Z!9=S!IU z#pj4SJF|n66?543xS|Al;B*_V25;Pl;xp8pm#SBN*c0`^^mjOz?@ztz&!fPhb8!zm z-URe>bMr`fqK1!98%=q43G+^H&GkyZ&Ku<|C4wo8_oS^$A_4QwQ;^#z%)fxnam|s( zP!~iX!)?4XrPITILke)JP2J?vyT=n@iZs59UT$4X@7ft$?NrM{gXM{d^6?s*x^p-& zRg_@#eu1ASl0EVUGO&QVYMpQTE+Ka$Y!?QInU6W-jx%y#%`u(&weBG=?;&!OnZh1N zyLTq*<&~9bWOFO)vt$?EEwq0h^KW%}MggX54oXI|m;B)eZ=UOi&6qsM+AjJ$-qYvC zE=QjQPoF+NeqD(~Fg0^Hn~jsf29Na*PgPO$32^+(DDT+l@bNK?bnFjeAN4R^%8+>` ziU2go#_LJs(|z~^n?bPi5Pe$Tm%5n<$N_OL;?xtb@$>k*BRbf-SSqBYGW|_O>i4ze zlU(+0@JL>92fSR6S6oM$*3Z?*K#+wddfRvkFttPfbx|&}&AcSpul&rd>wURm`RC%I zq>-t4MfORH+`7HNmmf{Gu?xMtL{kVr=v$>yt_3I$}Q~M?JG74Dp z_2ugxO6x1_I+XtH>ORc3m8wL=YS$Gs)F-RJM2?ed$f{faHr&Y-`b>^tbkUkOKH`R&OazI@p4 zR91c0f9j9^ZLjx|vcS&-WFBj<6Lw#SNeeHD+-`(d8v{2hrM^9m! zwj^^c`Paxd%Rba8|9neZLf?zpa?o3dd&obrE%{x|q89-C6K z=<5vc?Aiy^HocO>YkjFDpVnMazUQ>$(;6wtx0>a%Jtmxu>%gzs(7JYe!RdnXlI5TA zFF&KnEB2CKA%3YIyUbraAm)rv};MLG*1(M zCoz0AVEbMEfu-4X@smzV)7Ljm`az%GXgGZu)iVqHMhEw8HHo6(tdn*#Y4|ROWu*}# zD0uX!G@_`T+GX4!7uYtkR>(VBiZ zZ#T~;uYND!U*2xiCL@qNkcBT+wRnUVl1F!oOHsVkynO@r9=FEb+ISJ^f*T)jkDJdr zGxhxv{?i%#V*b@Htf%<=i1Yn`&)2#S#`{K=e@pT*pFiv|+SiKnmXcSrT>tJ>Ts#=t_RX*Ar-~{uJjeC2#b3!?=b17w6xS{HV{bJBj)h z_T9Jecf9ZZ7~f%U4K&cc`{TZRds_Rx`&RO5-~9>x4f8bYyFUdi#Y-y!-mfE1)4r=c zIkENi$mAaK9^=dJueV`4X?ws+f!~qAbNk)PNxRFXX>FUgEZcBU%F{meO48?CI_o=^ zYv=n@N9pnx1dE>Q?!C({#v{7I)`| z(qEgVw>AH~_RXIpPrBRT>t6fj+knOU=GDxS$H)7o-#`_ILTm0}?4NI^jDA1OztR3# zct_G6`ZMIy9=c_x^zMS)LjTy&GMy9?#19_`bpLd+tnsPx5c=P#i_9R) z3h+u*0uIHPa`vo=#jh>-HoOa*K@XXD6xbBi*Q#}#+VZsGL;Wfci_r>w6|aoESx#CD zZA8a+gIhYue~0`=Z}QAGs*Qg&!qwCWz;kHwun9rEV_0|pElvY{(AiULKu+s=^8}XC z)TuhyI!f=Q-ta^AS&Zibb*TM62Ojyzemn07#QZeC`Yg>R&L-QwlZ)B@Kf57`SlD-(b z()xm@MGs%{edaY!O$H;_6~GW3EaFQheZ!M~Pq*P`Iw$g9XpgkaAJI-_yMav}L0n^T z)Ur3jy};A3kSY}EsO*c=qQU{E;^Ykx@#9n-yZ=V!+f(%^MxJ7(D_H$8`X0(CK3;$y zkKnR(#?l9y%-Lz|q0%_&!ljsaQCb>9U1`0f5j}$#>`S?N1|oP|&tc$wM1MZHhPiFj z*J0pdpjYrNrgazEJ1+RR7}AVplLiYTk>x#R@OB#CVQ`c`qyFBN%=C}fP%)aMF^WCD zkjbfkg*i8u%#00=p#8&RGmh~r_>S78IS5NodVe(M=elYw)6H!JEx=yQLFDnlC+PCZ z(g{xIZn?o(y@Sx9D@&_O^K0F!bEj5u7TTO!I8D+H{j|JD1+l#~}a{9XX^nQFkM4z?_Hd#NrHd4od9pS_MoaiR^%}Qg&^O|n!@WbSP zhG65<&85}4+rB(5;Xkaj`PC}nsM2xN{8HMmOS1_kn9k5~!B#EOt`trt7BCDAX_GB! z>)vmM${kah3-ViTp1>iDZ?o#TLurE})#t3EdEncoGIt4HUY(UXL#Sg;FkQz5jBuP3 zTq+TVrk7)QL-5u9>E*#iZ`$tGgz8@Yf2yzB+>D#Nztm_&CA#43~7cU#~Pm@2t-_-z~A-zS4iJ zB|YAUmHyKqT>*K`Re@nh@xP}nJ#RxGy8M#ztjfaRRGl@I>X@sq@6V@&?JXUjU$b*A>m*!3o8c?3)@QJWADjIA{ag9Mc{CQ{a;f<37*R z_JEsH`;2=-&h~>(laJUe93*c4kxjn*;LZl^Prnzdy!3vZy6CEBely-e{Gd;pTw2Tg zRqG8xK9)}V;J#Xu!X>`Yf%1H`(!?LSG>0mb5s&D0s=Oao@rVxY{4k1!vVr~#eG9*R z2@BwU&`@jXw<#~*s&6c{y+Nn3r^6n@+D&2M4f=PZ`t1#x2%+Ji=g(fpb8p-IS@J0! z^{Z)Yu|7iO*vK$pV{~OVl>sN>HCbd)3YdeONj8D{@1gvsdGR^wir)$K{dxYA-v00N zuYQs_2_9rlf56|d%;^vL4sxYXUNWaY^5xsp+GS2(B(G#nU*g};t{`*zGO!dctq6E; zXD&c_oWKIlbz2EE1Dr{4wxisySKkS4fX#8j7X4!(gwp8QYb?9S3CZOa?&4p?f#BFe$o53-~cJ1<&8dtfGV$xosZ`(9%(B&2q(A{i{{;|FZuQw zBQi-C7sZy;w|q>>86+uGmJzwK+~BhETuy@%NOGZdfk^^Wv1A1B2tv-&(nGX8Ig2 zH1q1WqiJhe)6UmYlESg|s5C=|*?bk;wHKS3jjm&rR*Jv9e zF#ORvZ{yx~Tc+33A(5`x82uyV6<_=S2VamcIld^f2^H_dR4Sd1XopScK!30X)nA@g z_mM|-pbw^i>|Xrb>o@-vM6I>Z7%82qDO|yl%M(u53>i-Zmjlmacki}d_C`>p5i-fZ5>%xb&}|21C^-}hbIRzT(*CKOMHcs%>~^gYYP9D z$8*z7$hthvSck3!*qbj!Rg95jtz!ca^>w z(FwU*u0x&rs5SR3%4zTT@)aF*W=5u0R!>ehyf{02(e&bbe#PgoTEmCY^wGSZqqk?e z3F4J{_&faDq<^A$*JJqip6m@u-&^=^JD$c${Hxz)c;dIjxa=h@WzSNdbR9= zj?hl=B;OU)%NCmUp-BH=7kR~#Jd}R}-2+eZFkmTOPOgCW-3&{_A4h`7deuA54$_%=coworW`h6uX=l z{$SF@6Zs|K(U>u#rSBxYn{-)!IRA0Z1X%d>26Q>;VUoH!w{%?rtd(DSknv07_GW%5 z{L+==(Qh~Z!Y}!H+vmL2*u#~FHTL$B8{35MFt(52?|5vl=3C>TJYgMZEcLyI|1{2z z59LUnzdCy0YSL6I>{tbA;ICl#V{~2Cd6!40d(Ku@kaH}#pJ%+zSFWvjzmafMF z+l)?Ip;M3Hz)vgxW^`)bOGKx=$^)HF)8XQ~LCr;dL%DilY=9V;(Hlrn3cF4$=V!|~ z-=uHaPbW3$k|T8_t1H1L$}5;?7N2(x)nkCl_e9!s6|?K~f?UVDd!u|~?rC}dP~L7Z z-pu)RdSTYNRAG*(AM!1*&(lG*J_CNpqUqhQer((QByi}x=xxYgG?tH}y_arud<((c z1Jjra9JXGH{4Kf#X#28g^c>oy{g`QBZzJIw^yfE=0pkJzkPCckc+xNWrnT@?%4;p? z-VoLzCw$+zHK(%{U|rZJES#;+aUPrsbHeq#iC58n9^KrW5R6!G{$14B=?S(ig&nZ{ zVV*YcNaPlC?PR!jiZ7CV!i^Cpysh z^B>H`l*#Y4H&YJ(Kuc$Mma`ZNer^iBE2%c>_2oAB9`4$6{SBUf+*p>e)7>Z7*mAvj zbQ*QSY%O1#j;G5jy!(@i0)*H;pf=uY-(kyeWxIj*8oXL>>dEtTW-F?+ax!qPi9~;v zkg!W@3Q_LLy^6N2d_R zx^96^ccnJ9b?*^9YsW{DBY5Rn3aE{iqRYn|9Gf9lAb#b;JM1&T_eqx)7F{Y^_&ja5 zCs2zorES~QBYc09$eqI?JSF!cnuYiZ<>!sy$ggxsSd;KUb#ug)Dp5aqbGl&N+P80|jC^-UX4OI7V2+_D zTsLm;Y*-#fPc$aO;L@163L*ebhI7!6CxJ%2HD*(Qf_=j?WHr zdA*{;$@g7w{Bfx7Mv;I6e;lY>%rCg;C2qbeFTVB<*Bi^Zyu{cVsI!&MQJWH0Bi!A| z^2kzi0iVd(I0(;Pl`+G2RqbRxqL z$!Gl+fLBFeqUSfOM z20ua_%o(y9$80o^Tm&Cts=ztA_I$M9@ag@E?MfSLukHq>*bE?$`c66*Ri9!s#Bi-S zjmK$?wTiFU%6J7wXEA|sdKQJw z&1bQ?MEBc0-Szi}kk4og^!FVeUgF(ZYe;?6+eBEb0Ve)=v-q_;Hi=&wrxnGom9Nh3 zP2%S&2JgNL#NbuC4<@r|2wx_OhO|D1id0zF-%np}R1Dk>xikhE%R9*zem9%UzcYdT z=w5IPw9aeb)p*Mfsph|vbrYx7q5}F?7HugODj~cL6r@{}reNn^kX~M%6%Qc%#D{Lj zUs+1ixf`^nAC{{zS7Ex9tZihpj3m-flnAT#I8BxxGd1K=b>JiwT{FA%nq_Cwz&4 z-T8DoecqF}LDhN_9lDd&N#W|ABW*8|2j#2t_rZwo*Zoz#R_1|+-+&ttM;dca;bv?` zF9UiSZQFfc8bSj!d4ZY^(hS%m$E3h}5YYoau$LeM9k{$TrNx3Z;5^^NBw{oj%#rX zA%#9@KB$<|2qHp8NQn8qLA~cUON^X+asiO z@4p)mt2@Q5XmdDUyTNd6Ra$Rr+5t<;{IXk{e7Wo4Nw#0fmB#k=RcH~c8ruD^51y6r zgE=?HK#$@VH8$4#AP~??AD8m<}fcOvmJb5>Gkwn$! z795kF?KMbTSJwK^q0A+3+vXC{uZbQ?>`+|zmef#oXJTcgGSyaYm&!#cDx>}63f;|d zpM`pBPX9`2yOF)ma>H01=O(^_1lhOaJsdb!`7~dV$=}7BoPlQHw+Elb_m@86L(YOj z^7noQw^%L)-`USZtB&K(CFgdh6%56lzl15;9C*q}-Ujt|hcOlIN#}}rjPPy*bn{_R ztk%{PYS20IeA+CWzmVGpW+$gnbf1&u>B7u<@LTp=^2*OoYhoBj?hG!;bN6->`@Qmc zl$9_0_6%;{)EwCr%8#w#j#sw^m-Yh6UXhkf6HRwjJkkqE4?p>_XeFlGklMgTV~yJe z<;6d~oPBYE{jK1>(C32|-PT{do+UG&AR5tKp<}Yu5%f8vYlIA9^=?#U^rob`x@iAP zqV`9==pRsB>d!sklVAFKsBN^cKWoJE>95qrjtn1HND?AjXdf7Tndz$@=bJdeX*0M8FJ~fH^qga#D+P5}xH7va>q60C29&j5)gO`I#x>tvJWa+eC zScGHf)AmnIRPoUkc-|>pFk2IB9P_?+^1f2npfxe%j_?dfP`1SOl@fh=Rn#Zs0R^c2 z?Cemd`f@Kgp3kiO2z5x#&^|w*6~3wP#XQ{N4J&}G{ZH^~yw&$rD{mNN89x}c{VL;C zE?kG&`&!D0PkA*APx1V#RTg<#DzD6*#Od~|E(A_r*3qIvqV?g@yn1qBKDCwTv2hz(SXo6tvbJ(=;z-%rEP3CLMEz&% zIyCFTZ5B=5050)9$@T2F?7Lf`jrQH*yMW%Wu?X_BvKEA!txzZ;Tt5nKhs)8x%Q{mT zpqF#D$pC|#b9mUv;?x%P`z=wwrCWcoZBajejIxq<{*ZrzewX*1rFI7S$gQ2`u=b?# zXl0~EfS}`UM>6XAt)L~z=EH^dBR9UhQNoM|`MqHB={&iV-7loiU0tpt0?T}({!~PV zbU$io#D&@?n!F7>+Kb+PS*P({o?SdMeY!qxEKTYTs}1VM`=`OD@h;vA3J~Q%Mz_HC zzr*@?#&jkFZ*>{*$T4w)d#X-L%UX2P+$b?Oel|ywwiX&W+Mv`ZI=s`+yjKE_>xV()yXhtjEDqCQ?h)1XJD>@@|{{OG2 z-&ZA_nsMPaiUvRLX)v`9eWBF$XK<`6N!O^eI3NseP<#qQx{6{OFXjADY zINVqne~SK&+3V5=zjiaVcWBq6o+mWa7NP+*cW{OjZWHJo6$lG8yfz`%B=JPMG$w;{C8P z*j!(9_qoAIXLFJV*}N{6r_hjm$rxbevDL8>Gxzho%;SD z|H;ne1N^HWI-M2=LS=(qXqK-l`8A)fJuTDeOY7Qj_5M0#)UJU0BYd})?@Io6)&^^9 z&^`PO;MYXuKjzD`eJ7!9(l`7~Uq0v?W@%a5E>E^yE!?2`HP58qxMFIH*&SRm`XICK zCI_;zdb2(cJ0K3qLO7RCoLIrXq$zuxSG&bCe%8}KSoJpkoo=`2^?TGI`N~eeu71kf z56$HIl)sm$pIckx;yYU6ekspRWY#B~xZKWY**)(IxUp}1+)(<1lEL|TnNXdsk2M?T ztRD5n3sF!q}?)6LaQGNknSA~?mvh;AM3NM2ROMT{zrBLx(UvY!wia`ADavUpG7 zPW0uLK05uK3)ii&|BCO+5fp(GZ$;;67dA9nzvgv^Be4JQpa~$9#u|*$s)xrWCi|y+ zEYlsiv=PeTvVrKega@&6x;vN7cA@E6>mMC*HgtB*_vZ2(VX~RB(BwpUw5sE-S{o*W zlj9dQa(PpH3YeR=H|dJo8}i^rVsNy|UX|wCD9k68MX@#AyXa3A{{_Da_!*Qj13c`fe-riBVtGf6vJU5)ZtYZ`|CVyvPyep-*@D&{aez0Q;mQauv^3pvo}MlyCpFI$@7q~vd%U`EB^|O^-#X063Viq2l#I6hvt9(S za_{wH_xDCm3u!)#+9TGDPN*QwOwGlAARYbHrC2uK!}#1~F*eb($G_#$$~h~m^%L%I zbJBC_kajW|uTP&+jLx+D)GCscP_|*|X?aT%-yqrj*P`)XPHGt~ze8iDx$=+Hp|j)< zyE~q}gQME=Mx+7cMyG9#Y?gx&2z-_E4>j0qaI2TLU9cSyoS1iLn67f^XEeP1h~VAg zPM6kEHT53PNE44BzUsb+KKQWTtQCHL*rX@4Q}p;}PmgU+@8}oJz23^IvkZ%QyoU3* z!C_ZHVUo>3?XCX`Zg&@QXRh9w@tiX~Q*W3LHn!l>zejySu3CujLUpMh|Ka{WyXd1 z1-3t16aUV*=`D=coVIlN{VUPWZ-FoTB>P8qZK{fV%k?e&><#bx-zLA_p?)47v3MU? zT$o#^pQa_Lj4%fQQ?TQ3ZO0bAAkMUO&hULvpI&sbg0M~{6Ls1$Zry(wdP**ecSRyN z=nQseRH-}kN^?5b0_$21LYp*JTPR~PP-tKL9>YdY94uBK;ogxtM7A7-Dd0We$4TRg z*8>#Waf3BdZ>~q@F1-JoN%#9tE;M*^Q{5%TW*hAZKj)9){?)BMZ3o8_xWB#ciAnNi z+G28&;%#TGRu&A@)FI<`c4vJD}~h_d>9 zyd36IW~crj+FZ-BM0VMEAmlaP=~D7*@7%{;q4zJxyW;64jhZtyt_!K-W7B{p_z&D} zZ<~4-+X)WFutOnD8ROkLq|*}5$2|l*;^RKWCZaW#wCQzHi==iKRog_&K0$Kd`Jlt# z^mv!g%z9rBVg7GTOx@eo_bKX;4y@gV{W&Ndc;@>Wl1)3?^nF#rZXSJiC)}<4cMpBv zr&z+#JxZ`^1+&N|)%E4&r4_U(4WG_}{ls8iUC7SPUgd?OTC1Dax%509NLEsxjG~3~ z({@3h@H=cAa%Wm-{yvoal0O`}tkWH<;v8*GH>R4WnoDPzM%7lJ(N_EK!@w8Ix%7Pn z|7}O2S?4~jpKO-}4>G3R{4M!UkWoFH?;uAC+;6(f7jIh(I=m;eA+h zlylDok@0iC##z9*fo^_cvXBzO9lvA9U1|>V(?OWa)y=HzZ zlvanc+OO&K%~Rj#wzs``3NG7@);G_6v?=`B-#k0lul_uVvU>A;1B*~P9qs#)f<0AX zFvVZ8t4o0le%^V_FcZDb>Gbi&vIAY%|>ezn#*sE2*CBmuQ>xxZrzpX=oS?t{>#vB70;sc{jpYX zb-Ff>(Iv7=!JgJlgA-u3t+{vyR8+bVc=+u~0{Wu5u*)UyhuItd5}u^Pn>M$~soLNX zxAyzTCcGEKHn6q-YTw>Z#cAEuhp&D0rw=!>->vX-`kJ$<(Aeg@^GPb4}O z^HC-MO4&EdvWb?n4>Q zf;u!0`p7Td^W)5eFpfQjU^ewHr*V{T8141=gR^-W>KmYZ_ywPHJiI#k>rzqf*JnzX zLGsJ@oO~u-)VXw^@LV`>)YIq?_(Y?i|L4yr3nQ-mM0IF9E9475#xsA)ZBmD5bSq_b z_Pmp`r-QDQTZ57iGbgILfSS^;BYKBKqlw1(mGBtqgZ_Ssmz&<1vpLA~$QmE*C1`Kv z49+x8!o}Gu+X98i#bnIgrDcb-GdVoHdNMB~)x8dTvD22ae%3@*!lOE{7o&;{#|U)j z*1i;=o^Mg!y)N%ch>eIsKs=fk8b|qt7^9uxhrLOMp}O!mYMzXP zOR|Nb@9ik_ae5|`!&P+gv38T(=cxxB_QIrIoh|S4>;G}qP$&8gp>igs&&Zh5=&N+o z0Z#+zgj7d6rSHn3>{L)9KPy^j9F%rdmL`?cKD4^iGfA}M-NW>4Zm+K_VRPCDWtFzK zK-We(Xp%oxyUE~x`+}~`{iK2DJK62_s_%VDr*$ZOmZKvT!VMfM_oLm$iD=q4M&VA0 zMq{nLBjDFM?DOul^jekZYiA0S^rCJ6Y*-6UzNf?`|*7OB_vH?&+Z$?uN5x!o7Mk zEz|RJ(<~|7?x0;^|N1`vcbK!^&v%jxo}I0mvC%LhTcexy9p2#9m}3ai-CbWW-rfYu z$;Ji8eqnv4dTtfRE|WxZvNEiSomS9P)Jve$z9~rnCPr79up41vC2@z#>D>(<%)T(!)5f2 zhHEv;96nMy&r*lzJn!eH<6mYiu9epCS|Xaxj}WF}d6|7fu*_GCGe8q;4m>;YU^+XC zz}T;U;lehcEZ86~YqIiEe_)qOb@GRw#jh{uk7zMZzE{9we{@GjKCQ1ZP|@wo8E5F- z)Xmj)IK6It14M$q-tgyH4-L{8I8lF2&Ys2JJ*%@P2@~&WFoaD9GFH1+i+^M~lon`f z_+ih`UjHWTQeU4(4qxmN~EP^Ne(1Uc1^4zok zu=c3WP4en|8+}A4-i`S!PPsBUNDTL(F~_>K0uA4NEps@Q0ctL49?OfA`l|08i3PYz zzjr21Vwa!4XJ9=2c?KVZZ9JQX39D@_yd9ccm7JVeT<$+vCrXF-ec=~;kHM#!%o|G) zTyv~j`~#bgZ7`m;nqzx`%Mdh%tDXCj+1cRdL3pn<|A^xtE_OV^X^?d6hWjWRml*7fg(`}+pQP=5!$S$jv4WPVV! z_Pc27*=|d)|HBXJZG*?d?qq+abK@NOqkW;S=aQzsgYMpkNmHAj2VCuB zyD&Yy=PMs&U!Z?Cw621@AB{#-L^0>8mX8cphTxsh`ZPIxSCXa?*Md~WRPysu28Y)l z8K3lNact-f>d}tuk!x9+kURkBoXO{3L_Y0nCmHu!3)lLW<1xu?m0H8EBtQ37m#nLd&!T-peH8s(MV|1}8)DYJPEE`DD7xKC zdF_jH$Wz|n=WJJkA_f{7s|&mWauZX1Ze9vL)m)G-5TE4Un*<+TYM#KP#?Rrch69_f z72<(5+pV4i&u)Z^V|aC5$3^=!9q%vk?#=FU9M(xa;TPv7oYl1!2@3}K8TbS5DT zVF)vmAxuKVUT3nFRlM?4Xu_ggC^+=1^CqO=YmJ}_FqigI)>k69j{B?sI|}B{x#Ay zR>k*xS}+JVfZPw|p+??Ik%Y<=i=DLF9`erqpoOO89= zJ3%B#yEP}C%-&=E;ud9+?_eswBRMfPGj(inX@2Qw&?^%B>g2>hoxMQ^N3fmA37i}N z@;C*%COJWn8ZMjjc66odRL9Qabju*dv|W{-XSS zEe=oED}|%4ZANOjG#DlLT-XygH{?S|j)op)IIcqG zkoMm8G#{oH<1W4ow`Sk=^7zOI+M(rqLsafenr9s6E}dn`;0?X+W6~0E^uQh9DYq`Y z?Tp@NL!NQi8%1$Mg-(GSgFOm)N@*UW#gPi^H7gN@qs&tyW;0RVjD9jBk;-d=54jDt zSBS@ZReR2#Sp=ovNfkX8^IbN!BE6(6R0Y z6#KKza-YqwwKCYcxT+X$kTf%(PR6XY`C8he^;7&#Yx_sI~0Zl>aI()sy zlfR2iO`1iP*D2L`@;dUtV@R%mQnNdcejgZeSY5bm&)1zn_SoLzVyrTFuV_Yc=^o02 zkMvT1QkrRO-T+SNt$qN+&EC3nPgRgeTSo_(rDzJYy7btzEimAQSXNH#rXe#$t- zj_Uy{oRRX?j(?n^%g6J{qM?)V97_{IneDV&v3}A7xBJ^3=j1wB8Pz4x=N{Id`l>zu z&GbKfkA^{X+_Jo zQAg$nA|yIK!qIbW9}<}#h}g+QRvvvE*WT1kgiDhTiEWH;U83nSaK|hCA?*qu>^jbg zW}^SwDJS|r3I4kH{>9=Q?K#xR4E7ql+4ZY9$;RV4#z6acl8g*?o0%kA(8 ziR$!;iRz3`GsjP)%WqhT{%AjaCv9u2B2xKkXqnQe-tV37qP*mX@8+-Cqwy20F(yaq z#>wXX73A2MIP-haMCbV*TRD~0nrUoRdL=DRGMb3q?`d~!y6MrPcc2lfW0A6*iPbCE zMh<;n zC#Ghc=u=x-J<$5BGvoc>)4D9a_eRCW`<)J??T`g;CU041i?Zst23S6J!brH3%)7cbF-iC2eecR(S-~Nxa(~dK0 zOUvdvz~922s&;+C!$S=EkMsL4_$R%ue1A&GCxPoD9O`Gl@mGAm`i#NN9`mpH9dynD zJ*1EJH^B92Ol#Cf``dP>kM=4420E(_mHiB`6fdm^c%{!TeY7V+>xBNvZt=t9Wt&Ne zmC=QFH8unX|8wA6YtbS%34=>3FEhDh!}v3a(zlUb4&|b>za)+SlonGuk#3vx<)cwb zXP4rjf0ndZw@op_LJSPeQ`trSoe=Z+`*!glMVRWQeW-zP)>{7@>FZe;melP|YhcJMlzT;*@f z*OGjtE?+#?GJGw`*L=Pr9CzCIx;_MZ#?ZfSQton^(pavPd@HNl`X1)*w}Hp=_dEPn z`Bw0RHfjET*OzZhYn;FTOkUaSeviL_)~Z8gzYi?M%lr*^|H02+&FwIMzr^<|`PIJ& zH%hSHMJ$IjKmQT<4&cl|6Nn4;RbV@Tp;EYXd?w5Lb>O>PUR}6XYvw`7t%GlnwwJWt zMfquv(k;G+@$(>j|3un8(#!&5UT&=QnuN!1{DgI~jx^uzB~LU<-OkL}p!xnUq{Z|7 zA}DdO?11&b7FhRq#eMl#^6B$~_PRNLmVI9H{og2~`TqB8R!!s_BcrBEWvpD~djCLG z2W0iQ{qR4)cmA17j{YIeB(#1IKA1vss(@z>eiR~$bI_YhJ@2vI8kxDKRDDd#(vN6E_|X2JxIXpk$KaGs z-T-6q0$=~->=}}Ov+<^Kj5hn7x3yJ1-x>ury%vDBhX!hd)V#=KTey?7RuqXqnYpvNVvVJ{VHnhd4gow)?Q z$FtWitZR05i#x(s&w*Zr6_JRv(OFM@8rZdWw1Hc5vR+1B??+7ibZ@8#A$?pO!6Y}b z7c16f;4Rlj{kOOx_oHnZ^9|sU%<*NLw9mC{UT)9$g7bX4pT%5oeEELNO?pq3XD0As zB`M+H#LCn$lM}V@?w_TZy1>{{&s^1<66*1qwhKq8FrSGX(>$%YJc{>V6%OkSU9lmV zKE~@`K>P5UGt`4i$Fht(`zpiE1t^Xq8{iBEZBU;#QBHA1p8rtwxwQGAtYwW)6Zyn& z88J^V>h%*U5A)-Ev8Px5K8~;JvKM$u%3wmj?CxfIV-vS6RqJHpVchX5QX3)gSJChi z%IThT%eBpT^q}68`P^}4oCR=j7W4Uyd96u}U@&NGTOas9+9lexqX&CBw};woG1|kN zAD%$BjfsohV-js}1^A|9cz)Ue4R!^%v1zn8Ki>Kir<;z>mr^%+D;9-G{Skd11T1{^ zrTRwaMibF_E9FJ!uRYAIPsNW7e9vX1Y2Jo=>J68vCaHu5#k#B?Z2|6e(Xdg4e`OWstid`CIgKRFYd;n`VwF;9AchEHv z&&uloZc?*zf_HCz=g$b`(-_Y2E|-m+erNf#cWUowkNV5Kys!~xYoEsEa_~qG`kgSE z#j-q|8F(tdrIA!H^5%UF3D)m0XIItjgy;Y^ZQVEu)+QJaE9#?uZ%pte7}+!mw#i_J z=B9~o5%O&|Sl`Ut(PKG3fLjc1S`(>^?#hTh<^!>zsYacm&ZYC>q2RcRJ4E$@X8PtrI%0hIWJQDnE2{7Fc24{HZ#>E=_*BoePUUVo;ilQ)cg1wjbflk3jCKd?{mDAf2 z{sE=U)=v_FRx1{EOd=%bk-K7 zzc!@HA&$LJ8iq9e%?;@uLqy9zQl6S#f^S!_KtmA5|Bv%&BTI?_=6x`T7Voq4arw$7 z@Mv`=Zokt1tS&u8;Op1>>W7tQdA}L7#P8Hf`#PG{RY-+B+UadF>sKW$)9v=PI6)G3xhj@<_(` zV7}`Uy*w`HS&m8|3rr9-w*ypK(3# ztIwz}PBwG{zk>`Vv`_Mt$NKV(X^rxg8_6sA%FppP&`5Qt?9T&B@zRQb_cicy_4cZJ z$jj9wDW90rRm9{Tdx1fI#zsLo{Q*RENNd}8j{JiR> ztlo8hKnJb^Z_@a#+Y>^8r9rha09d}y+on4|^!_QiNE{nXFy2iYVuJ}T`%x5jSI|hZ z{Z{i%caWg_ruLAnwBPqr*x{|t+8(W!1C)_GiW%8`(3cPF(v znc0ZP75FYkD>t%XuVh}tkx0_Lm3d*CXUL~mSxXDLfVgZ;gP@6gP>Qd5#H*CYyTU`?xOuaRq4f5K+81FK!r+Ug}4w|Y$#xSsn*3*I3UJugocngv-mQ6f z4)3;nn&Az+vT(L1bMBqB=8;DAU0IiAh$EhDhvFWb&K1WOfm>(7y|b=7#-ixS&fC~< zwwGq3@i+bacpSo2G=_C_ur7!{MLFF;^{CS1ymWq;C_C!oM0?Ln4gwyH@thxH$(NQv zr#8b&;Ty=ErMFxA$|#8EbtiXFH}+Eok9{erEhYLjAN5Oe2#aI1MqAXU1+adn;9mpQo6DT_ONBYk>(ZjVgu#JYJ{O6MT5q+mam)BSXGNz+_B ztZ032%E|>P)V*OXZ1#S|P4C%7sj{?X`nx47m($YH)zDA3F*L%h|JZPN zn!XPPu-G=w&Q0klV!^0*7DEV{Z3mS-x4ZVQorRhl&yY0mY|RR;jrI^2H8)pjyUvVi zZrsq%l1E#=20dQ~8?%Hmw7bd&y6bJh`D@S1L&e)UxT&Mt*dM1Z;-oq-GEdQp=aSNi zi2hrWX8keS_q99avKXy2*H401I;<~l(OeI25V%0qQ_t?}{JVqy%`A8C3;KZQi@^J(Cx$#u;!L!XSmbv!$wW@rK^Kk=_PdvHC`Dx@0pJ1C-(6flwEl8!` zqU$e#OT5rqb~QVLE9E}?&G!zPuhawn**6dKH2h_7i5`=F4d`yq-KKUL(Y-~k^?el_ zn$%7Y&EVe+;i!j8_JH4ysbh8d1>YoilwbS;XiCqBXu;l{Z*cV|p$_>? zhV|&2zHQYxef0ZV3EKQB>EYAv<*fIoKbj|ZgG;iMIqqtg=Jq%rUY#+NT)%~SpBL53 zo47kqGk=aF!vp=@-nU0_njfQI1CP$wJ2_*E`NLd1=IgxNH;%`Ao%ZMF=Y2+`Z*SUr z{hplOo%|iU(09}S?=h=Ge|BhXogS(3n!B`We&(D_zI?{*OlDV{@eg7If5*ClNwSY~ zWVwtEN1y&ns~`UDI5q5geD@BzV*vK*gtx?>tomS5>N zqPYUkkRLm@e)BLtH-3|Hx{rROU~h<&nDT$+CJP}oiP`q6Z5rU6!q2Ta7IN*#^HEO|!orcbyVZR@TU1bg1)B$9bFC^=-E~jgO~! z)PFp`A(;5kAWKxc)c03MeP_JasP^32rT)JLobt2v?=8*NEN3Jq#SyV_>BT< zy%s!L_dy;aUO}%zn#20umN@?;k_Qlb!Qh(rJ_exuR@&xdbuRQabp6)c>R zo;TCnczK%FINbEk_$tAj3Q`JttzfBYezwN$ak%l8TSYC#!G-(Hf_LM_0<+K1ZoP}X zO>p-vYV<-RTY6JO_xBlJb9Q=(_HXvIzZiuO&7H4$yUrlveGBR0^YuQXH=(zRzT|tG z{+>yaPk1`>lh29tF0S9$*rvVJ{Lz_5Ovc(u)yW+~p9J4%@K}uN=%BPsmew~jzsv)% zKc7V(=@SX+qhzFe^cL<1X~ll5{*VUo7C%cg>)Dwqd%ND6``z4^7-n0-vmbH<&ExZE z`rBQHNRfQW<{uJ@)Z8fs*xVB>-$5DO$G%!>s&6tffIe6j4moEtUYrK@a1P%FZce~c zE5tFg*VAYo5*G$|rcWYzi$?ennx8r8pU=r3boAa8^^ZG3aouj~Do&$a>hrt7BYEXs zh$!4igABpU#mvds=rAG*3zyOx{MgB0tT7GTnq%()x8~Taw-Mzf4UsKug)`TMbKfiDld=rit{~-@W6q{nKfN^e!H!V|0)1ew0f%@-YoAcgzn zQ(OPkxAmR0Rden~)U7$E?@wn=hwmRGpS~CCQn|Oau~DwW&W&QaQ52^5`Tb#!^ZlMi z+trymS;@0$18+Z7Zn9F|OJjQ|FZX}1Q0LC64}p&uNk`4|Vx(vC5#a2JhD1)a0v{*( zYpk~>v)G=F&KzIjO$25h8BFciA~RF*0i*M18~bguT)NZi{QoF*g->{MEEBv=aeezb zapY=TnmsngU?}3|&Yx3WeDFW+moJ6*{*m`F`R}|-!KbVLrbl!&^_Qss<5B(I$K<#( z8)nPy?i}xD-=VR^@`%bRisdp%XL21F#2kHm&^5jh4o=ONPl8i(B<$BZ zSJ0DlF`OJDWpiF|d=^Q`eE0xZ5Nkwj6TkUaQNNh)jcr(? zZR+n|Q(pe5f5`ln&RNp1PeUJ!JIX`O%sKsK^lE+J9kh8n|4PW=0}rj=_yL;lUSw|O zbnp!(Wh*`piLSi9>VVs>;5<9QdDzKkzx^y!z$r~jUIZb~Lhc|)>E*q74hqJHu& zoA)1?k&FWy6d8~ z#)hpU%IzKjuEON=2LY)@)>jdtK{@9v)k|0UeV)A5k16v+}HMMK7Sb;(v!ci zB}q;f&gUq0jSC?|@RSN+dT^Vk$UPxoe3QUK=TO9GciTDEeP1dq%u8)yKm4lE&teMM zR<3=#K8}!RQi9fBi)j7CIG)crbkNP3ECkRw6fv4;e7;V-l2giVr^)_mhX8lFVN-?3 zq)?4;uxgHe6P%i(Yw6*n_z2V5JBnL`5Zy&j9gT_BUg7>Hk2}cew`=+{f4Md;NzFop z_O7CA5C0bVIe$X3vnH|8aQno!^XXDJkiCiJ2z&Z>$P+%&ZO=8aj)O>>E;y|gjlWBI zot5$(tv>uCXNTyc??cFR^u38*N>0z^dM_ld1E#e3KJ^G!ka3T4cb0xuz1`ZsM*Ts? zU5760LG}h`n^Wa_Nuu4k{{zZuU;6@>*BW2BO-AfxZ&_GW)lsP+l^R5kfA@U|{HSDJ zXaz5Iq3L;a(VewgN0N_m{sM#9s?KDBGS9Del8)|8NVm4?Ec?%>?-}27-`lEj{UNwC zuD@%#R;A6`kV%OCL8h@?O;6^hYFRT<8AF@k;mGoBR{o7HKM${Neu@V{-ZNF}E~k9A zV4DS#o}brU{+7vnfT6FxEJvvRED+9p%6nj9VPRqv0%qsqjVb&94}9*9t^6G+ylZ~d z-{arK-0cxuSNlaLi_@IdJ>-8Pn)bE85wHmCEvP(#pZ!z}l!tb>wecg$N~ZLRQnUTX z`A|mLV9%~Nws|8MjLt_$BhTbxftxpv)Je0O=nhXl1xyF??=Go7R&})vKN475jS_ygd}eBS2#52LSu$JSFOuOC~wozcn0ElwLf*lE0* z@NPvn%Ed!-Zzh7Z!=qO5Kqv8OHVqvvrSE|6oerLYqB!kJ+m#$N$o{#LtIK{q3BC_q z3SF1I0*2+eX?1}t8Qu>0LPG>FJ;YVz_>2$Z?)YS$!Am9Zgil}6IG8p#jo^;354EZt z%$vF0*xHf?NCAzQP;^SE5DQrI;o%F-M@u%>E_!$w{zxAhZ9d|go7_t2LH4C_P zOX~0LALCJ(fK~Kab+60P2RjcZ@Xi~|c1!oRb+naL5fG?rrYH~qbjt4I>&Yj%)FeEk z^bCc!B^l`*>VXNe!*^_$3)(><%6VByoQ8X;vECltMHIKH1dUbqMpt)~F|9s=(E`e8 zPdktNx_|tVe2Jn@&;kx^!ICZNuVjlCkSC;RFH)NRD(ynjius6gH*_|c8kUd*Sn74B zStFRnxOeD_RnM6udAjFyrE{KOgE$IXi}{JI9mne~AD4BpG4r{-lsAG^gowKL=*2Kf z6VGcg+gwVt4yPtNxg^=08(TQ}%`pIF)i2rO{S@sApMAu6y)XR|jW40R2=-NoTP#N( z#O;|gbxYZ;JjiGicp!HN(8k<1u{e$7)%R0!NZnDTV2KaPsj!C#zBz>tq;Pd>E784? zVaT^W+nbA7q`SZaqdvDM`Nr5<&4a9c>g%PHlicxA?t@M4K`f+RnM8Ac$6I-MtiRj8 z3Kk?7-oW3uCJiI0GI5CEhoq&Sb_q5_dc(i3_|@*qe7o;yI!5A~4))`f-dwgB4e}ss zt9Y7i;L<$42;IN;aIaVM&`GSjzm8Prjx&TuooAvjhRTb*9+c4%vmT~=w0npCQeT|Eg?`oNzuM=2 zgwMa-?=KHm#sn`h{v6xM@3v%QRlh}x5;T6K-VJ-wOfxr=9=9Tx6Un2&96?++`2SBv*#MqGtyXH zL;a89-zf7k&!aT@l63Dl=*_NF4^)>{P02o-(dq_oiWtU6Nq*mW2)v$rjU8Q`n>JGt z#XO4mNqoxJCAo87^=*-!?n<>AFI!?cQrkh*x7F&)lC;M@l)AQ2W_Hp1ciX;uA$w!H zgE?hGKOPSw@0A9}|$)6M_-5$)TUR z*N8{itxW#2H{nra$hLa#CIBCxL}%*nbjMiJ)Q%43>iSFffJ=M+Dhu^#@Rp8W>B0{S zm)3C~C6KvgHw4&t&G=p6&FCAwevS&avX4z2BLFu6MKmYWC%u0> zPL1&&i=TcDeG+|so^rAWnA_pboVSZlKI7ikHFuGA!h^|Vg$VV>X9xgF@8G9&?^e2e z5XR{PODFt&Bo7~)Awc{>Sm*h)J`C`~{MKDG#^=JRxN__2(`Kd+l>||-YY%tTTzSX# ziB6es@h!BFN|44cVmAPIPMUHa7)leWMnY>Bc`B9hg!wnQl{> z)6W6s{P}RfIqu|N(tThZl?I}=^48>Z4aG!{dj>j&KpnMlkTTl0o`B#+I#Nl)`;wDy z$_0{Cw~m;3T7S=;dJ$f625QOdL!Im{i&rv&&I<3v1piv9qQWN6{Vv!EWz<*YCze&5 zUY@DWP0V|>2(?#ZG!peY_Kj@#%=U|XEQ+AF#|9-P|u{)KxoNN=b8J4yGk?Roij_<>) zsv%x(oss9@jA2-GK{pUFE&XXM5opx4MdPevF1fR19 z*WNedDglG$MwPyNn^PJ8X6z$3d#_U#u>Du!?oArnoQQS$33$|wR}7c zvfTCIt2G!FAbKndR1N5n2JdJnPGzhC=~!&0mMV1?6tg`+X}r;a%gs^oR*W?heQ`DL z-HyN7T&h`K<<~n&L#6TD%6dXmG;S-D)wsRwnr3H}oVv*`n#q@4>|n!K00*bW}8;|Yc5 zScSI-?v@tZaiEiTjlK{zqH?fvVBEi@pCwa=_JE)RC7Cex268BE!c%ZC?Jcrti;$jfl(*%$cWgvTklQ zONAQYyl)pN*n^JG)#Q38-K$&V%OPV=O+cI?c`TH1>u1{8ZoP_t~3FY4hW`Q)$jhm#&e=={qnm+8qMAx$pE%bNw#x zs9cbr>;BA5A9up;ULkxfwCU+loA9Slh)?Z$2Kf{pPP#o!Y++K_yA<;}&7>7SXFLG8 z!DyOHi`^dlE56Og{rYtCw0ii4Fkd8OylCiVMy;FCS}BtjV7k)2G0XVwD)U6Iv2o+5kL{||WCh)-uj(>|jz zt%-+?j&xVX`lPBqGCVvGwn6Sl8*DGq9DhD_!Vw)HG)(6JM)$mon1*{l0eQk(Y*Au| zm-YQR<#n%@&g@NvYtG%7F$Bj$qlpZA>#xfVX&~2{{7rCcO@_FS;l1Joz;)--Kgmnf z55-}7q4HDiw|uz|dKxmu!^1cC^A@G2)ynwL%|pY7h8(S0@@a}kJ2J)`5gkkUG$=z{ zMV}@bM>q%YLfNNtPUU!$iqm?i>;Q(wy&-*FK7F)T7K|QmU7Ed@%O|hoa_Z-c>6^QI z%&c@TE!{ph;|^mRtAd0MKTa>9oaWXF3$|ExnX}Q{?XFaHFp!D9zYQ*p%O!r_(c1>{ zB(p*jZtau5L!R*AoiVocY>HcJ;N_J2C~IG`<7Mg#O3JHk z;eP!wTjR&3r=YL)xm6m~7TJWU4yr1>igMwDOt@(sYU8WPtGo1*c)2>5&N1hoS;}#Y z2x7;o={~zPoTZt@V>-VwICno4HMywfiN;*~g2w#!s4w_imSlx+-{?8`^;wY6;m7>7 zl#_nxa~|4^CuB<)J=ovfi%tjzh({`W+C_nR@RFBvrc@U!@WX@|kMmLhuaMb3D$i!+32J9q2BVA8+m+tCIFC7tOs7omTrI%SlbzD-keM89qR1D{AGM> z|2}taTAub?9ztVgnGQz#*L$eDf_S87pwdr-R&)2gieK3I`AHrsE4y~>!gq|BWUZZv zAuzejd%-6^jlav>(tN+tkNGuzt~x%Lm2Pol(bDvMtmB0!JCm{j23%Hsp#4`Tm1e?}WD_Xu(PtfhzcX1{4Feb%^tfP8ncK3-2- zMXL|-U3)_l9$=_v6i#zwv?BdGxAt-%5UU+-Pxv^vIQPAz+MTa|4val|Kko4-R#1hM z3{iEJnA0DjE#bo%n?u~JF7@G~z7L;<%*Ar}V7ITSOjN(lQNO2obN&o$?H3(B22RmI z{G;|!>F3=k+K~1MpBC;3{N$7OvG5lF?JVk?=N{$G6Zr(<3`%_h1)0Yu9RkC`9@o$) z*Y^f+N0@JaNqN1$Jk|TVy~U4VF)iHNLmBV#-TpPk@Hc`Df8dkq-yzgw{O29xO@;ej zV)C03WB9j9@E?ndVZLEyE2vQ?n!x&9VzVE6t**k?M-33BKgyc zkb~?^x|df+QR;M+*!!*g{C(CD%0_QrQmG?pb2@9>{*JObKYpj(t&vwFU1`3LFxd_f zn;s9&3gnVL&&05f4qI!V2e0tF#_uUCAwKsn&b4AJ*T=b5m;2!5+=k@%JJm6e#;(p_ zLz%7r?s)!;P(H-7)?S7mfzlU**nh@!gO2+a7F-OYzoO$8DW`Zak1jRcgBRy(VzCgf z&2b}e!;*)AOZ(K9!6n)S9*v)T;CBZa0-~h+u-?nF^jNkreS&u!J;0=THR`K)k*_$! zhMoN@-ZbP{UMD&^usMK6 zdx=&|m&$$p{+e2x26px9+u&BeE<_j};cJ|JHd5B9oxE%+qlk~c80 zzZd-q#7(J0Zhz;&;ZcG-XZ#Sd;I;CWou|+sM`@auIGn?WIOi2V#dxQUYvb+gf%8Iv zI+ej}Zkk_gtgvTA#NV|y%|C=CrjME3+mjW7{~Ce^mQK9pOA-{LOOOY1gRKP_Z5gM$PRzz@zFxdGBTZ>~_4m`Q(!6f}LrOPdAu^&e(Cexh?o+ z=KI97y};O>=FVD^O&c(rzl;~!{#icNtMhbXIYY^RfJ=j7dj?~*@1E(_TxUjIR-Bq&8_^`mqZ6kMWba>YKModvbDx+moNpp4?O~$@zLD434vH zV^YcB9*itm5S2|co7jhJ^* z6~UlUm;*nlU#h@gTtu6~=cU>u&!G*X*~OF-&A!H7*F@gqv;?~3YrMi9Mab+P-i@%U zwn^Zh*b9>BW%m9ndh&+P(nilhg2IJmTjLA`^W9y4iGH~{@4}zhzNEDE(b*j2I+sL! zi`xHPXC{y zr*vu54}42I@$vnrLw$IV@52juw{9X!_AVvxh=X^UVs{gDX|!KwP7gAAji30bFmK&> z1~xalgRSKg<1*S9d}64LOu5p}L^R;t^M1B*{iWN$^HIid)XQl0w7d1*R8Q}w;Ul_N z?MW|IDS%!(Uil&5)SmGpf6i(?u63`{-Kh=x!I8yGuB$!1CpmF=fsms*)AYMfzfmF& zzqv;piPJ~)J4zo*PTUfwAJ*?E{nq3J=c3b>2=+Is=ZVRQ5%gP^rs3qnIV<>d3I~Zl ze+56r-7T(XUcaMymXj0Xar%mWN9iY%69?n;JM}wCKf`@-0xRCo@4HNwzVl?T{ZSj9 zX?@AVo@4p){S&R9XSSM0Q2_RLF!uXT0vqlfJb03KT-Bp>_n8vR!74^ZvgEJ2H5k&q zQQ|p%8v6hPyLqfK|4|Yr;qqz@aV02S9?jK_t?aSslnKXS3a~k(b-A4~x~tyd=jBdt zYfd%UYg2^-43yv1($8dsn7oA=tKh2<*#Tyz3w@RI4k zjZENh3x&uG-pU>DLbNZYY3=^Y+BG*OlE#w|;WX-qGT0ph^Y!=iDG zbua3P?9RKULu6y1G2a0`ohQf9y_lqqq)`W6Z{)b2 zjNUuZ<-`%8io|-|ks=GS_1lp?3M^Q$1xOE)b#rFW&!s1ka)E>hskM&KCSAK^ISn5wkq%kMxiBM09bsz30{+(dSyq>g;_Pbrs(sD$=5Xs(Ld_ z4PM-GDoTM;;q#kRA2YH=kyNB2?3&IJ3>Wrdw~4lh(j_;)3v z%Tv<+s?FRH+^D!quv=5tQ+97bo^VEQ2gkmM9~NHe^W5mPS=iB;O6FO};ZvR5G|caZ z#)TuObOUvSPY-X!_jOz}-j4;x7vKr+0a5YTu!_XTy4_5^^PI{;BiP0!yb(#pgO^Xg z>A3kT7(Vh+h3#xTWOrn>p_RTpF6x`zA@4&Q)UThXyyTPb)`IYIIeIueJcflOx?y7e z*`(#CG_M84p6PT{*2p{DRmK8+td~7Nd9k-`j<>T*L7hxDt#z$@>{NZYfNkgc;PBGIt3P$X{<1%BVVW58f5Lph9tA89+C9>`{+X<9_Xbtt#owCtbeV^=2Abu z!-qS5uC2}br}=dg<4d zszP6dIbJq*$#t*v4T*;T^f}OBuy(X}5zp7K$i@a{`|Ppq>ZxV zEOU#d{L%ryxAt*MSv6fe^NXhKbR?qNw(x%6(A=? zu&<}Ti&t<%&GM>;gH`-M8JyxZ!h3kV>@te$y{eg_{%W3YO-|yh+{Jg+?`_Gc-0$|} zWVz~f81s@0=}Kelw}C?-<2%Q&UP)#sZfCJMUTRR(mT#R%Qv@DQ%2@% z$a|ymdT@YsBy;06Ufg4xJ*K6h>RruUmY-_JUXQ>pb`+%`bg_27aHy_ZHb)czEK!hrT?)>YiU- znI>Mi-zO^`hKH&Yrv4zk!PCe}osHCSdtceZSg9{hjQV1CA1V8%N=nc<{PumAAivI? zBPGczf-XH=%%Q&i?!LjBBO#*aX`(cEKb~+s50i)QA1AV+KMz}Jm(If}>Y@c%M$y)u z^D+?4vh#47yuShu(Ltw*=S)sldaqYxvg^FRqV4SjnZ{xkT%y1Dy|6xLO%QC_I@0?K zce3<8=H6qL8{!}dUK9sOaBQnJ*W_8m*0Est;^vH;ojYn!w`K)r4^4v{s7-k{2+;E=p%6YmdA`rsA6hes<1Mu*2oBKD#vg+5#q=|NnD+&ppyR@F<({y~|z&Ec{C%mjd?G%r9ChEKSi?|Q%RNtRUdELL? z)VfCB-HUVP{xx*I9!~GWI>J8_tS2>hP%asEskiD2!( zIC~~W4|JK_UTxD@Ju~XBja6t%plA3^+tj~b3H@U+Ywf*Ge9alf_bl4mBcJQ#-tKYp z^J2=VwsGaG1v0nd&2!QQ)%hIS5O}3UZ=?FG-2CPqw<^~!rnKnbdmLZ42j;(~rmVs6%JQciY`~{0eVhqD?VB#9ZqpCW)lnIF)npE9zk2y~@*4 zjD3(y zI!{q`bO6_kK#gEp?RfP@{-WX>r*@7p-O4vR0_Q-!Y>w|USFGyu3OssS;P(c#6Elh3{phw2>QTog28$7y-Iph14Q|Wzi zJ1b->IJ>bFpPWORZO*;Rhz7D`F1tDG z$#e_k3&y+(-7-^M@^@$D-RSgs^}ua&K=&m1RqC0ULe+V`JhPm^@qxcQc8oBwn4&5{ zdw_6k!GFh5Cd=`e;i?=(tNnWWyeFase#5f%y3Hs1P5VWIH;`Yt-5+Un<999NukmYo z2XJqU((H0>ILe+f;h`~3p$^T7H&cgjYJXAt)nE7v+sSQ- z^HBF(Im{8x?O?=b>!bn5qxS0@d`m=+=uI(hrK3!f_KQYu1&8jGZ=%j7Z?CCbdRoe{ zIeh4K#c8IH8`sBN3hB1#hkL#1+gg|A3TNZ8Elby?-%xjZK0U=RI_fR(?a}z4&t6Y4 zH#YT9=%{gd2W7SIKaa5)1z%Ehzqi*#R2wq?66MOl-IY}3s#!X9TkVoW;(Ov*6lNlsCe))%*>D%-c@8 z<0b3Iwz_n03T^93axun`z@+6=S4Xtg*u5(^c5LL$Xc;!)X6b%B-wi(P$M0>C-fPPx zt<&otYwXwzVKe+9=BI{Kx`H0bxM!W7yeobU5Et986U zx3_c+Ye)N-?4{wsQD|7L20bQ?pY|(&bv9_&>^N^xw(qN7n-k1+WVddcTefe#pEiV# z-Hq;JKeRsn6dcm~dM!%m#rwI&tP?M{BjaN|y>cKR>*RE_8d5xcKH%wdwWp6er;oXQ zMDtF3QrNRqe~CHsp{QSWR^P|^)vphOLwEGHJ!|k8hlYB(2Rh5;-ovRzd<3E=PQP*z zJeohnJ}UaU2&32+91Zy&Y1xl?It00`+b8mJ8^Mroteo=qx<99k?C56~4=pP0XOO9D zeiK7+vU|Q}VvR7z1lPGn?i~CRjO&)9@7_{t%hPQ%kMaWBd^ z@CopT4?Y61r#t&NXiWctavIa`b7*S~KHvN2pDo&U@_Qbbxw3MDWeL(@tSv0_X06 zQ~0U3e z_uaeJSVP^&_sYF8AxMwQ2$Ze^**ItoY1}@^e9`w?a(vEwga7LjBV}O@5Wbk z$~S(7I-DQ=KD_X_v6i1xt%Wh3<>%qgVjflNZb#j^)7@{Utq~WfTXkJdUAvM+h55EE zFu?Ypfglf)97qRHy(EH|IkBk3>wRyssIH-$>e{0|@AELUylky8bfwQm^W;XYwP%*rWu?-uMag4uX1t)Q2j-m}yP*62({8jvf;Ru@rG5B<2o;I)~fypB&2 z89m&uROUvd)lMM6;i4Cf+v5bEIk~JUrn!u3*3y@vHPaE!g>2TwXFvvJE^BRknX=mN ze;yk7<1@ac=PO9tc8>_3-9TM)k7d0{M-*+glv*8&qsp3fsv2Y+zxj&%QJ zrJ6TIvQoj%RaPo`s~uYtLK7f04>DB2g-5ZPxHMUZ%BL142}(xH4d*Z9hdG*_z2Bni ze^Ev<*6+3E>3Vgux!280X&57YhkiHtdD3nJI;kM1Hvalej13pu)SrEV5o5ywo2pOx z-I`3M_ea%BH%mW``T`FI|JYbB_ja_#*zN9DT(9Z*qqQuq7ff~1qJJ%!E?1I_%q`EP zb|t2(MLbAg*^JIo!~2rb-MuPKi+wG&QqM>~LH9aSCl2PkOZ1TSeK_ z={vPEm)#?f^QoYBj*B9CUM|0kxh@+?>w(r6(e+}=N^U$ve3&NtnLRjSK7SzCSGy-j z4*^p+-_%E>YpaXqJPK1D8(c@~51wW&U|B~x8X(WAA|F^gL>J={virr(0v}k{)cL?t-$biz5v`nj?(BUNoqm>b z;-3_WVUhmn{?Ov=&z$2-LVHXtEfD5!S{7iKU~@t-ZcZP-?9_7ku>M_;OBnfKRi4%Y zT%D6nSD-7pD?EgDRIr2^Dt9_jpL~-I4|>muMJWsq?NA@uDXTlsQ};EuiA7*M*u^zy zKXx=YPn6^X+gPogoW_s@%WLPOTKW0dPMs}&|Gk3m;VgNBKTGm<5v%j{_X6xu=A~=9 zh$XmxL`wO-jikv9YYcxVb%;MwnOJTmxcDQ%&2=j@nPg7rE^!rU;lo|x?0s`f>g@TT zf$07)@Qd!B-rF?RgOkhP!1(N<+@_hRP3PRYOSaRQjnVf@H)imb2S?u@^8I@?m&2ap z_Hk!SEZEhwo7ku(r-jCLpMQkGwBHNj&cB@o8#_iM$5Ue`mN0d2=fEQkp2~(bv=-|^ zG{1(l@JaoLH0_!r_*sZ#{TIC-1#Z#%;k$G$v=!`WBLoX1dY}2cR2)CyKUfbmd~ZzG zIxeyH%PkuETlCwlYlHD}KG?gzA5#|(Z%Yh5JT!1*SiYo`x5L3y8h>iU`1X0RDF&~z zS{fS05{<|vqdtu|X=xhkubVhL{R4PB3HwTWlnzohGR2(8e5~(*4sf+Xq7IrSzkbj$ z+YheQ_`sLHn!Psj(_bDV4!H>dux_%pm+;W)V2TLr^q^Wj45w%}cO4n)EvJ2Vc@ZCA z!#HL!nXaZyZH&2O9glWxvP@~C>=&)_`_y&5U577fD#yT*P_LO|$WwUkXxN^bCfk@^ z=I4C7O~BN_fr%a@Uw}O?T~8arr$zkLPf(xcbyF4T8GBHpO# z^~0LWMi6cds_n%77!BdQnSFzGaQYy8o#5A5Fzd&{-HY>Yhng?=K+MG$6AZoKzNPBv z0|h-o2manuiYJFzwdW=A5hzQ;ZNhU2&d*>U(`v$3qA)ydpJ)d)9XX} zTr~qu=PSL9z70fu+pHa`t`TdsP5m9DyvAS^zW*lZl{E0IipO+l5Mdp=sk0MLJ@6JM zS-c00wGprI7M*z-AC9`xA?gU9F|CV&@zK~GCZFCf zb-!$KmfXVYMJoC6Vv#(Iv6g+(9aOlTf6r@4?)}tS>z+4m`PD+njW^*_##)Omzd&0y zmE;w%HdUQ79RRmR$p6yT+G#0c1b#cLkyoulFUG$uGk$5TkdXe`D18*G@CBj@OmkBT z>GwqGPENVffaA^N344@iB%A+RBl^B=T_sNscNXShMx*tY{vze%r~f59LR|xm#Lp4E z2CatjvDKC7r4ziP3D%OBHu!W3Wo)m5_bE}g_W25U7}bz$8%*HKVj$HTfA&Q3i$8k- ze5_<{t`4z~_<*bsq}KCX_>A%}*c4#$uOI51bana+>ZGxO{x>ywo@>h2)rt(HnM`Q7 z+r55V>s4Oy+4fT>ZYCx+LQnz@Fl6-|xV0g+A$b zTjH0D@26lJk*(<9tDYh%mxp_PO9pG&&(d*{JWJ8W6u&Eso#a@-A}EyqG;cjylRF5D z?DVE2msyDDLF`v#@xwz0rGU|UIOSC$P&%fIl>0Jk6Z^_0^H#VHjpVKLQh?zZ@-)$z zK$K6Xn;+2tx-`HxCY)F@;P-P^JP>CYJdk@UX`@efM13+oC#^PcI4L0QPn9y_ZJxy( z)tNi)`EGsx3Uz30WqP1V@>a&Rc)d!M(J6vmx7X^60ao93-|s7|-}{ML>v%W)Mow$L zg}X#wPUiX&qbkO&d3TC3;z7PZUqb93orBxKuYcit)}M9BlPIIU-l@N5-1jH@@5Q`c zzd47(P)Tm(ya(dmlh&%@Bh zd3xvHd7AfYY{|v!Eiq4?Ueu?ohNktZAJ6dpSmuqocuvy~Y)nT64s;Pn#@}F4fQ^OP z|0}-z7s1~s4!P*hv3Bn(J>Obyi(2GYcDd*tC{s@jEBFp7FP_^ky#LY`RQi)0%8*m_?i$C~&enOEM( z7m50`oSZakI?ZAIUP(@+zeT%~z8wbi`=a1?`nJ@=&$#yFaNHHzW6@L6^B^7O;&Ipf`Blou{`Z}XdDDAvV1iK8Cg;nu=){ak9gu5#sy zu^j@}4StXKHS5>R{A@3#NGNvBq9Dm`Wpm;2?De;{kj9ilIqM(+YfNuheJMec=SMVo zRf}kn`LjM-Uqqi@_w*UUhn3bz&@ujQZvPs9e?gPMpKBUtWWY-&(8CIQ9Cu%A(Yue$ z_`7~Pd1R}*v_Mc*yxmSk`esVI5dVmAlJE$Ak-PgE9~@v8%ceJq3$FT!ZKpf3W9Os! zhusI%o5A=xn@?MfFAr+S863Yd9`A0O8}hO7f{32&1$S+mX^rv%M$^5gypZxb-#)_~ zyI7B=GB$j3?@&cP@C;e>8!VT2y1$$Gnk3_N+v%=I{`2CfZOHA`#G|o&iEqmdvdLy_ zZ;N!2YyP`z5RwL2N&n%&0X^3k;;|6a_$MqI7QtEf*Oy)&u)@XquazF&RD;O4XB z_xP>yupwzXFDSJnul3~{(;QzV+?OQlFKJ~!UPoU2eLa6e|5b;|-UBT3{{mVO@V=7q zO}3zGL;Dlv%unIL_!Z<;H@W##=AEZYgTE4ZJ8(owIr#4a=Rbp27H3Xq+YlcuT(2ep zHH`%4um-!BUE=qF6^@(L-`es9(w7jW=+)!rfSpfoE=b1p8PWXMm|RtQqblU{CjPcH z!M4`?(0qI|WxvUO_Ko%=`3LCW?#!JdW70x-{5YE5`}^_bXj+!;UfYm{w;1A|_m5Qu zd2vymQqquTsI!9nUm2i@^0YR~gRWP|!~0A_I}A^*Mu%@*v%G_y7UM)XZ{WTy*`4l1 zZ=v5rL(g|ps|hRadN51L?)h&OojG`)zPlOUgTs5C228KdJ4??&{F?kj@Q7z#^!tkB zL(H_CA6vnABWUndB)IP0kr*fCPc|j9!jbONTHfY+!SB;LvvsF^2la=KY)#MBX3dj7 zqKxk352t>ut4DahT*c>Yh2YMP3|&M*@ZM(Yfl$NAnj81JEUR}S>P2HI+5k2jPw;fq zxbjlL$u@{D1YY*Ruk*^$vNmF~H~22aPm<4XTaC%aI0tO4evrE0qI?FoNVDG%gueb{`hQFFGqO`a1yFta zkov~I&(eS<`~u!byhzQBQuf=A&qpaQdIWw_ixU zJ_fGvLFX!~tDtVR|KsG>T75m|V3WBPtjKMvdQ6>Zya&>gEcT{ke(X^M3^4cS2gVT| zW&OZkgx4!meI?rb$*9fDuXCGJo>E7T?Ntko6ty`*vCLyJahXJg{TpH3UDF@00w;zrG_u;Bwpkmp00bHr@#cRU zjdQ!=2H(eV(RhCf9C~wqEB`*q*tq?}ndx#{!PU?LhW|6hTeNr|?jGJp*z*$;RhNc* z-At5y8g3VRt5t4hj^D_o^(-w_hj9^TX^P7r)8L27)HN&x?AzcnPvhCDUO-1N~IjAv!1k@n@hd_Jcf9vaI$P=C+Q=PA!D zVq5D_So#I|^zKksufnfJ`GU`UPn!e09l@1mZPA@EqMhl`x>VVKY_Rt-oy(tLj4RHA zvx5Cv5O{P?@I*gY$rPT~%E2K3VB7p4&x8(gh zN6E$Bov#&|LhsJkcGMwX)3@{IL;ygj=r49)#Tgx^ZX7U-cO=-7WYf^ z`3K5KC*)^2Jhbn<2fo9dMTPguem0gl=KSfI^71Leiaa&~8NDvT&q0ZXZ1?|!_e<0h z-!1j~ANjX|8^D+Ot53Ki>h2lJhC5=Gzcu-)&)=BVlAPjRtdH)GDiiLH-{AYzXAExl z$8YjG+z|tA-5Pro~COtj{EB-Z46;{ z<@LDrRQ3O7TxH##bbtJTrDOV2mj`r_AV!UEbN4gOXP4{>@ z-ezk$@Q984-^M5oO1NA7IO+>~b|Zc_OB&(StG*-;b^OrtcyQI&V$5t~JH-4;8sviR zP1;P}N5y~1gR3}rSBX7XHzrb((*tOwF3lU&b3^oo8NR=4jrpYUWImOVfy=_!=0zL$ zWMdJ4VXojaBsDgj@it-W$h(=maYD$yh5Xfd_*EXSrF$>Q8gtGn!N;FZpA!Td){dsG1)I(rb@A*-z0GlPnB zK{~ZOE~g`hYHAecZ99z)KK#PGOyjhLkVgJ07t)E<=Hj@G96MFh5b8LK_D6KZWza7v ze){g#PCZ+a&S_pTXR2(RwUN1{u+J*(fg!CtMHrP7O1o6|#syrrSomO>ExEO# zv++~P#07b!s+qLVmARZUmkBmFaobWgPYb1Ov$Q#;b(W?vkw2YF zqcP@8{E5ayYw$tf)1B~U&%?fd&9@O}SKc{*I{;$Zu&7hFI^D9A&nMX23UZlLt|3y@ zYJ)Q?$Cko=a~W+w25kugOH+0u)VOHRDbeSjiTcbw@2YY^=)xQf;eVSYT3giLZQ#WMmrd9OH5P52u{;R^*4L zm`<_-?d};k;Iy~=k&%aiO>}yMr&G0_uUM%PSX9CkHwTOSF6nHMPcp5=`8rv?Y{^FL z_1Y3r9#y(-v3}_~=J6vVIv~f-x6{quJdC!B4%blbcNv?zIn;{vlJGq=Fx=Tw!R0*1 zP}g|8Kns(M#-htEPnXL)U35Q4=u_834XI?$yw;}br0UY1sQsL$g@|1@3X`l(_2*jf z$cFqYP3M32V8v7lDq3=tnjx)&`Eh-;Z~sN;@=U-tZKw6TpWdrC#c(zz$w*Hnl8-7M zItx9OK`z3mX>ul7ZKg$#+l$E49Xk)s_9^rkAouQ|3=xgH;CmY2TP**zIrw8}J3bbA zTwksB!HMPN)CRbdw+(ds!8b!#k=jc66vEYoLld{7KN@tF_eEo}FR7zZ6S`>(uBV*% zu`AF`kS?xx!j?pe2<8<~qA}dXxfn2xU(BbOp%AoET5DZ7+|TGZWX)ziY#vK}Eb|-^ zHP5t-b5I7>^NcrAMt7?N%t`USlI3tUF`Y)u-N%uxz3(>Peq`#squg#P7@hHejFlRa zzHY^EHGr4n*5?@{Kwtk*ZdFv`jws$~AJ@#4 z^|=$Al4}gX_!R57alL^59yuZlTpQpR03vt4>h`qB?|0>;RkUw{?W<=Y)43~obd4to zV>s$Eg|!sNrF}JHvndG~y$b?pq;@l8rC!<)KJY1LZMWv-e#(gd8i59SW7PbD1E0BL zRSN*ofS+?M0hTgIdA;^N@DQnd$gU`U6tdqLz59KAU&L0Z$(xU3f8_5-9w5-d-f#HE zeejZ8LQ4PJ;4#Aec7QtceNS#rQk2o-bNHrC-#Z4$Cx7K`_YQ{KekO|B!R#e=|`tOv} z-n>lXxATuRjE_6FH#5w9YGj<9SeTnn_2NyJ8*P-=DzG^_1`K`$*l9Ts zPyPCg0}r3gNz{jeK8Y>|$^TyN*ZVl+is@1r-aj-vh7`xYSf)Seo#tH;E!gdb2K#za z0h;}={Kd2*KWI~XD}5)oXnqUr)BL&4)9r}$?-+D;=g}|lTYLybOm3#T1%9z=r?oW6 zqdtj`zSYV(%D{i5op8HI`qSDdy8I&fWk=KvU5ejxX|sGJu>?jiEx}CJP&Gh(KPuo; zKVsR&6M=1~z3S)d6o2h5C-c@`uiulTOWrZTUwwj{K1*v!{@8p&6{Tfz_M&q4fL|ZU z_k}OW_m5K7)n^QD^8I7{4)Xm_ujKo4QJb_&WocQxK|ky^@=CscJAXr8Rfq5{087i# zih%cS#=Bm=KSf^2_w|CWb5ip8X30cTi3~d^R!%-a>!1 z-=Ck9_d7w8vztP{bAP3Ox1Had&3xbE-&XZ~uYJc(lJEQMJMm)nSL7>*J__H3`aM2$ z^U(02)HeP+!Qi$nG_}vSNw9;Rqy3#(9NsGh!|-N!w8zzd=E5^T`s5V^RRq%)(R=g? zG^o)R&Heq6TrB%dhdp1jLO#V-*~)x4Sh#oa4uVJqn}t3&)LWSBrexKl<*3(P;+g6BUv7Pp}GY0Wreb>LRcCzvtl2hQ(=fO$KCA>`}KTCgJ4^FM+ zfTy_Z`s7Kztk#`yhIRL3zQ^nC|L{AkyHK~*-BWz|#1z$BThpyAcag7tJ+9Y#8ue%%ZD2kAGI{iQI)Cjw?I)Z^TBFYZ zm+Tui5s$t2d}Nk$2{!-V;RFc3J38up669nn70z93UnE(vbE?EzdY12l`r&+_H^;5^ zJ)8V`cdnAZm}efc__&zp*(F^&QVv2JZ(+>E<9a!AtzKsjSyk;c@++ROQhr&!DhG%% zGIa{fW!|wE&%h@a*(BZ_^^2GjXKfSwsGU&v&$paYxk0tebQhjW-OuCSC!o<)g?mn= zr`x$&(-$bBdxY~9A~Wj8SO^N_2@bhSr?gDO*-KAoSoge&-)XZIKK^Ph?{R5OIN_ z#)DL)9&9vGJKj!ty;TkGZzcza50Q=R@IgG(nLxZTqD_4o*t`5(QQM2`bLGE7acpL} zPA_7jtNlTJl`j!=4lMSaWaPSIzccFNR^0~fM|;%QcY#N5A20N_cz^44Bu?kvjlBfV zx5v>w*s;0&Q!wdvPc2oa{iLzB3%<$h^bX9RMWL74bo}r~gZ-XDQDNy9t>Z21o5;$! z_PG9Q-(-IkEVcb`dnq+JXO^jKOYm(jZ#R`4#k*R1hCJAAscdK7>vxz(?YgNV-hsD_ zn(yjX`?;H$$4svsllE(e*~+m8dGZ8&I|JMo2=HB|W86r~y$1K0p|ND{Ouy25qA}iw z?y>wO;rZ0x5^c}Q!#do4^scc2>Wb)sLV@+??!-UEK!TkMu zzw76(XncSDY5s4&{RP^Nuow8KmNwoZ;263Ji>tHvyX4)idLWHqsCXNBXdLbe?~3O@FRiaX_3P_Uso5Po=PT138c4e-r@WV+ zcRzxG+5)i-PeYPU|WuFTEfN(9wgPcF>sJJ&qd*1w>xPx24dJ$Rx_clr{q zKPEY)^rZiaJlcc)T7S){>A_JUMlu!SFtVRk zMsp7>4thK)_s@_yxrEob}9DrJZvm!41h zy#+ru3;tc<4ya5_FfK;NE&mrdbBPI7JH6YTpZZNau-fT8?)Rr@^Og7{lfWYEaneT> zV7EUP)lTW73Ks59ZM@~~N~Usga>vkhF+{#Ep8@w_J9FIoE=Paqv%tdVr12AH9}msh zzoVS|-aNFVyG_d_>p-G*>1{y&^qnU*=19;fT$g-~G8&i9>+hLn`mD?e7sq{&**$zkzxoXM{WVF(M+f9>4eLu(TAV2- z>%{H7QCi>41B0|f@KRi+@8<4t;PQ1QzFhn8_o$X2vi<&E@=4zLE;iA4 z?Zh%}mv2mKd}G)^UcE7F3aY3 z_ne7}nl zY(LdLeGz4~|NJBSPw{&OXDzxdJr(qh%GZX|H-mub?B(_}l-tv^912HHy(u#Ah#-{H zyuXBY>l|2Q57*po5re@V9QY*ZM4AU+rx=;SWea4{Qzf4E@7kfvR)59?9`FIwu`O9H zOZr*WO#uAr>pJ%MEu@7{yLhFPBE@|btsh7k>050<;o!l(-9Ke`T)VZG!vCdy`%2XF zpr{`6MVQu8JQk{FtFLD#^)$H`nytFmSWC?yViWm>H0U1WoZ{)=?CgC@_}Pw1KNGbR zea-uYUv1w89@#>CoK3QrZ@}++4_=Ih@DVURI)o1nG5$8c3RC=ic`$f2U!D)$HQumm ze2^MeSH^2T_TY9Pl3z{KmT=??lka(D!8ZX{Sn1)#`BTG-k`*~$lUI=DWLQh9+AD-x zFzgPTjP%gN+zJZK0hiL+kqs^0#D#NlVqWk1>gRfB*dEbvM^f0EHTx<0T@DV(PjC0K zyr)p1`W^T`^`$;e(j4^W%~6h*OokTtzbm8m_&7<@z6n|j5b4PnTA=9|a4n0$V3+Q;qecDwOSYBx^I0MCFv~5Y1F^Juy~NXC)ZZ=1oH^xI zdzc!f-BCYH#$8u&=xQC<+N1vNp}g*AACXL({yxL6hhjat%KnkzY(GhVflXx}4KC5@ zeBP=rXUsxe6Mb*>Z_N7M;@^_(yMIfz?-#naWPLC3uKZWIxwATt^w&`++IO%$oRqGI zy=F#mY*$bS&@{?yBCtQ4cHUtf>@l?WB3FKX>8PXoJ`c0dU>@J~2Al1hsFi#B{8-%J zU|4E(jf8pnSc6r)@4ElT+na#NbyRoXcUogvHo^!aj4%e|u`ouljVudei~;p5(zHDr z(=%F};Pxy%(xBPsnb8&k0?Zor009DoJwO5pOIS=;!kVy!C4oR71`^;Ugn)Sy5=g%A z{{E+`?ycK>dn^IZ*N^3%K2>$9>eP1X)L9(9>pi|b@+V4J(UnkMrAGh{AKrr6(p6*h zNb*W{_pBXmuW?bvTgdHKK~_&J$;VK+&$ z-;jp2sdfyJPy6-j>1Z2X4sCx70(!>vj$C{6aJ9B?XU&@@6($+oXY#&53Nsc@^RedX zxVu(Z+V$bxx%uu-GQY=kK~Z8^#6~YEpS}U#nY{I(ykcB@YNw(y8}esD zw<-^|{F;jgDI=d@_vT<$n_mDe)n@5B6zmNneT1Ir86IcP zl)>^Ii#RG4*R(fcvdawAFd~m}tB%<9_wa(pKYmGq^55ICDQHLNU)wY$oF!N4aeV zFAF)48z<(#E#T4|$m=!a z6YxLN;eMB{S}^h;^#=imyME?|W#W>vs4>d)42=rD4FYWH(#od!a<#>hEL0sc;^4iuN6F z4iW}XF&HqF8D!YSi8RU1t0R<`e%hzmC%&AvX?%Wp%$_bP3rF$7WFbRM3gg?Aro(TV zLZc)zLCzk^jx=T$O=D91#11gP%QG`_B6PxVb!PCf`lQ2gRtBpqS6A@@V$gk0W?26Hw_Q3^^XL2m zc*FyL@9MVayyIc}4wx@fqOSDy;1t4ZjuoeY{({_IDn-PJDRw@>#m-J?&1L(kUOJhh zb*9YxlI^29H{=T2hsJ)3m8) z@QZY&bM06jp2-UNv#pD^5PLAByMj^LwtU)fV;Y-7?o2x0rPuK|=pH`otHpG5tFJf> z8fz^!{P_L+%C@|6%A*Cx2?*Xs`w%WvU?wF@$+))!K3)3Ge;gqd%-%A z>STCJ))6%O}~1kFrychNo00>(|?pz>QDgK4%S(WzwPzdDJfK z1@|q^PWyb8YC6O^|DFtv@L_)aN;K2BJOz9jmrXEH=(!Z}sl9mC(Uu)tI)tA__eoEu zRcq9$aWJBVV!R z&Rt{8cByYqC%^ceCsTK^tQhqlO{? zjb55#&!SzLV=u|gF?d3!{*dl1nqLFBu$Bxw>^HJ=@w-;4``JbRB6#k;C!bqxlgrKv z1Lh_4W zeD`_nbXENM=LK$k2i&IT4!#s$mP{oMSF}gi}{c>Bw76%7bqu-}$luX-pidJJ!zTq2TvO zd6Dw!@#=~B$win3>el*@T;L@U?b)ZA`rn>z8i(Jfta!aX9;3H|FKLmh?XQ+iSxa1j z{~OY1e!YycnqTKdcJ3X-ON@U%DM{{lqhEXC1DH!e@M8UQyumRE8guYJ0Jp_ej2!Qa zp05CYR>$&5=MzM`77F-&9E9s>9kcMqRqXlen9?|&Qt)ROe0+MT_mI(F=f|@<=9c!s ze=oWRRf{*NwfIWv2%qP76!%}WdlmU)Ki}Qq*4vvkt-*P)<)&v0|j=d-6jx2K5?o5;&6&_eK$ zCfNDFWO+0)dpz|?rL%Ffhl{@IlW6n0h&J{H(xy+M&+EynHU5Z_>gYIMQp-#Ey`6to z@Gp}+txMjh{xhd^_YfV5&k)JHM~Ao(?&}+^h6vY2&%zXFtGj4emwFS+-5@+&yJ(m8 z|J*HtG_`@Im);Wf8Cl>Nw?VY{V{oivZ~i=UrC6?3(NOQv}!~eQ+hC+ zm3NaK6G!t?cKh!I9_y;Crxo16$3^e6&{26G>H6HpH##bJN^gzZ`^hVt^;bdf;`=}a zx6&0%)+Nk%G53{e2D_@VTej z-@Rn$HQKjN?^N2u@Y0UI9$mkzQfD7ln9dCPc5Xk*%Qm%VcXEF^Ocdt61!6yYS%={0 zibszT>@krXL^j)2s7XIbdP^AfqioWcts^UwR7RR5b`H}=_}G~hA80t%O@9SxTP%&R zFm>!1PGom3&EJdQi8-WW)HM&1zd$`y{P9j^tjG*FL$7d3u zA$xnHXoW`v|V(#opP5l-rd{V-8(2ZNB}{U{0B4fd^6C- zQD^G6z!&z~Z+p7@#E)+gT?Fe)W>R0Y`i)J#v3Xio`pw zIyqQhSarPJ>)=DN=a`&dviO6k4`;!#>i|B!z+!|g&g>nxGS~FpVeGxHOMLM*;A&6| zSGz95jzjh~YLoC@Zg_>k#cX0PFa2{gE;}?Xr%6kV&3F9R{59`EZSVd)-D5~%2;$zi zf2cQg5t@hkdHOv+9-6aHqP<$b;a&gx*3P*l1kcu=%>Si}{!yMmGEHBD{@K4o{c`$e zr`Hbk>j%DHUnsTfSIv1}cWNcFsB=47Gt~F%hrVBdx4oFLLBklo*3R#Ne)H}>dD4&7 zZRk}YYqdZ^HqjVs^-J$tKg#v%^xL6+{g|@4JH8)TsrKxoL~foe!L4N24sO_FUy@EBw-n3qDV^HUzV^g_~ISg5(W_p}Xj$d(^*2bl(dCzEh|KKoAC&T_2e(!es`hR*_-{xuU=G7`5Kqd}_ zyR`b&nXJxrudb{tE;u=t@&Q|RFqd0&5PW?Kx820nns5+vWo~rhSU_WNwl&6NZeU`0 z|lVYJbDpxeaBZC6S@{ecAb((iFf!}L|?n7hQ1c`UG)1o`E@RQdPlqa zd#%^K*9Ot7|K(}-Kc05sOw>8od?w1yME3N}@3n##z1IqUChxWX8}%7EP}}yZzrP@_ z?&ibPae*Ii*XGrQ)nyI|=Bn=e9niAlfz}!OA39;??kHF{`X5li>6Vnp`x(~OSrpX1 z`}Yi%_T6Hhqb%02GBUeVA6Uedx^BIBkl_`cv%nkQk@R~#{}fj>_`wTzE9vpZwl-Pb zQnGFW7vGZI-9(@Uv<~H3)DvB7RT;Y=KyEu(P~?m zT|Vp*bl*A`_~t18GCq_9zYB2L&!qWD&>igV!1Kf9;@{i@c=P?MIsVON^5}C+#c zH{JEIImy=1PTw!xcd(gI7!W%ErQe|a`oY-U@Qy^dj{tT)uuC-MzPWxDS7IG3PO|#d zxBG!d=hWHV?e+wCMr>{><$)Xf4rbSo2xPdlF1CV8dyD42+AkipdC%?YIG6aP04KPOe@rdez-EV@akKVS%;WCQTyK6(61|^-$mk! zqYi~5DFUVRlAmgwOViv}!n{ii^OTDwpOA{+oheh)s zV|`Gry=Pvh=GJy_NLKg1Q0K|a3F*yrBwWi;6H>gB8`1q69vV1U*)!IUeXZ%}l$z2p zuITA2R~5>}($_Vmj}Q4o+AjR?)j9m!8b`n(&)%GQSsa7wdZUj(o*);f7Gc(hK!`KYsThhU`Li~DtauIl$r(j5$;Ni;pC4GCoQ#` zOiMXA^dm@XKL3LJQTHy%A0J5`eICVkWG|UwvIl_R4K+X+QO%3pl#%T5XZ$PXtC$5@ ztcjiJ6L|~+muS`vF3pXv`91VvYZXr+UPnd0OUbd3@LPK!`nwi)G7U?^eAS-#JMeu) zaWv#70?{tcSF-!UhpTkZ8UR~K*5YK-X- zHpdv|>D@;;y{o^Wq>DN|XL13)z;R8;&CLM?zkXoEhO~vEVxGY}c z#^t+foNbxRBGaS#9PQ-3ix2~C%PD6UnCX3vnJ%N~DwuRamQVH&28o+5Z4kT*+Q=@o zx^lu~?IADrsN}6okulAud#~pdq`i#tjl*#x{n$$WnT5gSL*0wVdnV@QCUMdi&REqU z8PmYT!l6~3yD4b$2#wJIWy9w(jZuzNVUTh_qo3BrAZ2w{z8ZOiX!t2l!{T#IxOExs zA0EEZ`FZg=21N;0NAdelYxcC2dGv;3)Q_ihcHqHMzC&ZlxS74JXs&gJ-^u>jl`*Wm zdx*-G(Oq)+^zIAI)h@R5(r84x%|^R?1J-Jn=vVdh`w|xv@fzAEA8k0}xiP=U{m?G+ z;p`rd>b1M}8PZjC@AGwkow_x4Kk~MKS9+aMw=Ydi1i83q%69n-J^HFeY*e3Qi>h%SeVsl*ZbAflyt=1jb(Lr!@eZb>y z1>JL+-Dw%@+_JR&hjI1d(imda+|-2DOap;Ns9*5&RZl~2_&m*fnWW&vp*-Sr~MH9 z8yGPC^VBno@qiuqG@cDAgX4o^zRz@Lol1}_AS)OP7-I;ay9la z20}vP4JXL|0owQlT6PotPg?JYKI(I|ukS`|G=>Puc93@G;+yi@B15;yLuK9cU-a&x z9&X%g#_QWk4)h}yrdAuv)q4HN2wo%S(1lm~)X(Ys_^e&GZB}>QK8;r$yt*%UG6~j{ zLpz05Chah{=XUz8xnwBd&gL&701=<0z3CkgLw|>Rr}SSF_>iE88s_d{+J%m)9J!>4l+hn7IXnh2Hy1zq+Hg7Z`_z)W9L*s+p!T2(B;^3fQ6fNh$Ct6b%~kBPu@vU@pxkyb7!EV4Uibw+IC?L~$-@mr+Ysyjs$3zE87 z=x6+i{Lc{soP)VRRO`m#%Hou?CGBjMY-fjS_b5SRQa*N9f{Tsg0y#X&cdg5(Hrsil zIOqcqNACojsUdt)odXpl$#EladleSRYN@odgx^q>*6ma|Q3O`utJ zcAui0?9!gj_l17n<0l_yGpfH!2}*#Bsp@(%`NGF^t4D@4ibe-`2KUSN`6=Yp`^zl* zSbM&$z*NRj6`rXe4cwY*PX)K;TAn9p-fyz^KdoP4()h3;+9VpYOWwbg+NNzPkNeeHN@p9G?=`3l3U+`x7sI>&${CB=p0fkTCbIq^7iZX zu8vR4OKHE(*JnlTM=z(`$G=xa1WOcXO~!??p>V1 z7Z?i&4sc(aG_V)nN1eYTXXacU9~i6p2TOB<6oajOVJu}M!hKZR?244qwRewlkLEp~ zw|>+%*>um_AkSk6g{R9?iu+>i&{#e%q6K5wQlT5h7H~?Z=TrVujNz+ki{@K6LyKix z*y3u-M4@_w$h^Ljc^H_(T=4zF{%Q`d6e}isRv!hYj~J=fZGQ@9oYpsY!l}be`32|h zH+4A5ul9ka^rEQ$iu-pu?bFQ)UNYX6WNm@ zyPug^uCFk=SLf<7*K}vM*8cj`=E9{SzdXiSUT<*e7cIh_<`oewSpRD_%+3Ebvsl|j zr&oek``PM)#gDF!_6+y7S?$}aYkaM5pf6nKot-rMcP<5t;XP*EdeI__SE+e&i9lJ5 zbgQdG_g_u@^vC>{G+|UX+SaAEzs9%y{va1$Z};bp;YxS!-ddS!mkA)8eR7|C>Rb9I zmoBdodZW=g)cu&Y*jf8JaO$lqdShqs*4ixMIt=1N%|xD*kqHGH3Yh!d z55dZOq*HV%Hbd zQKHRnkJ`){%OP~c&Vj5Bwf7yAlmDIn3z9axUC^)#Ufv@IVueYD`*d*;-o58W*T5EJ zmIgN2e*HP^?1HAqA+ZmPicZ>+C|+oDm4M%_K2H67_6^Ca7oZUb*i zF41TIt`;zjv3=?Nl#w0KJI-r6hE-fCNK4ZEH{j8*+>-_6DN3?_Hga@cTTa)-*bp~I z^!Cnd++3Bu3-Q@j=O^op<}p$ler0BtLlNe;#!39Z2cvO9Pyd%{zsBi9;E^1!8>DS` zTb>>o{ivvybuf)odc2}+3)pDVT}Dl1#JBl4L?SC?GcZF zA=jNZoEzxHNZ-eKHI{cxt`~ZDQ~H0B-{LRx7+91i>|39R+Qz#V6yiyxoQfTPoC&F`~y?zrdrEaL#&SL!!_Hh@p=jvY< zqaj-kjf-sIK1Dmk3w&DNr!t#F-BTs=kxoOL|Fb^-=Y0O4a4`K_0Ma~}oe)>10bxO0KXKt3E@J>TW_2bIqPX7}(g(T+#Ca&g9T#*D$tr4eSm{G>3? z5MFym)i>>}rKB(q65_#;G0zXKE6ziZvf)8qn|cB+&W)lrl?V2h4_3h?zl_?WbZ`4I zeJaW=y6oRol)|*4&7#LwDEmO(B;_YuXPWV>$smHY;a(KlM~8bAD8%aoog&ljG_5?= z(~m4CJ2$=xE=I~{aJ6T@vpT;= z@ViZYZ&$hP3AwF2*K})}`u{!O|88i|hQDw2N9a&DL%}$cJC}-hm7ZUVA4auP^Wa}1 zT5zT|x2SD9)$borR=yH%VH0VigC~&;;k4xg%b|(@>Dc}dJQ~}5zVAW*V}w9&AtsgP zyx{Ur+^pxYDe)>fe*ATRJRiNR31ZbXI8)R%_4P+lUu6SuXKhm-e@q$4WG-T#c~-i& z5fifqj<;KZJGmNKXvkWBWpBUdj|6ew)K?}MeJFb_^h-P`!O;`GYUzVd+luxRgA zpR{-Xgf=RQXG@bray-EmB|&`KyZLC9|LD`2UnPX#CrkmnJtpaZ&{SHyE^s{+BO*G`Dt~4prdex}X!fF9UdJ zHdV!7v-6*nMfP_nN^o~m@*~RxES8nHz5bo-XXM}H@}~(}OFBn?PFnbEPMS%yCf&@s zf|$;0#`WS-l8fv0-_-X%{Cg0U7VB|Uq#Y?8?A7JKIrbg5h7_iFdj2msH6F$HjDnKw zFoI9-G_7;OaA?P7f{uqD}yAsZK8aD+$I}D_}^hldIpI{F6@ZI==M@yr^tl zq$|5Yz%(E6R(!sqv=iv?>J#hrYVPQtY>ryXbSCF`e4)LnuQ+chxl7x+Go51f^EUr> z+1!rz!Y`Z$j-qzlt*IUIgR#QeZq18*iq9*ZP0^;q)BYa(z5P^1!_E9wdHCs+hSEj8 zr!U`{)~btq0ePj1d@sJk7^)7Hy|?i2Ph)r&S`qNdA7ZmE@>%4OF7ogKQ@UaL$eKfD zhjTV*bXB*4)c>UPls5q9h@uQ$nxsXt+JJ*{abV6RO}0D33*4>Xn50{#G8=)5msLHA zJG~&QNnhr!q-`awSs!{6@NHH`;;iyf_^pXav_ysPeA4(2e9q1^OLh9vTSzQgRr1?$ zA!*I}(s#jMgCfjmeQrcw`aVL==OVt*mu_A2*)q%T1*|xoardR13P`4atrmQM$UbP zlS5>d#b;82IWm+xSBve7iBsU%Z5)yivp%(n6@P*azhaQr8&k6rbI@1)(Ea?uo<5=x zZ=z??Dx1+~RKm~o9n`72N?)a&yd|a_zOZ|1-H33iRYH@*w%NKfIOik543#O0F&>M1*w4qe!}NhztCkm zs-$w`kjb((Fvbt1O!y%GG#OZ1y17wZJC7g7Yr(5=+}EG^Es&fFX;pzAQDQCdg2`>b zD8DWd3CTdh`1Zka(87Q6)qR2`L;aVx8+MZvl+_`vKu<({(gb{#{0iT zBmG^>tMNEFY6_?D%6kc35nYdqQmDJlU9%~-BWe?n(vH_E({{BejUNNo%?%Pt&Gq@4Qdi^LoK?EwtQTYIi3t6KR z=o0s3b?!#yWV}Y`OJi|qHibDohqOO?jh>S-l#9m_kR02)$V@sE0$6R?OqT6 zVsfxkzwp5%>ASzXIr&%skBs)2(|y8npdGFH^XYc?stxiOgL6=SzYJwjb;3(!-&pE{ z+r`I3LWL@O`hJWLZVwOs*<617e|b2*|9uJ7{k?So9=EM*eg~BPf6{cB@>#2`&6^$= z$~ibCu#-RA?2B{`+yH$TDW6FLXDZzOHv>oCMaLV-r!(&e`bt5bXts*uBRp#KTgh%jAiJu1>57U8c0w6q40DL|)kxUcp(bb*$fE?S}oi_)dgAOCQ?r z2k^2y)+Zrjs&dl=rZVhabGoTT=V|5xC(}oD?-9Z80g|D~FsB8Ry^^^A^Jjrz(nF1Q zKHI|um%UOihktGa0dsCS z{n>#m82>j%>L(mD>?=Dshx!*+kXdHe{KEBXL@WU>5MQs{FwY&Fw{hhJ?@u3^->HL~qj>t}FCx%0V$-FK}Yo2B;lGUq< zv`2sj=d(=}Fwf<$NV*=sMcebb9zy2kqSDY5x=L$BbEkxE$73S8A^UD^+Zz26t!}2g zWM=n3|43u~IBJkgLVw>vn)VF63nndZd6i+sKf%Z7RJ|(GCli0Y$k8X8!>+g?6e;}1tYdvQrj|Hwz zkgdF#OLc3$j%3c~D@uDj^DD;jJboADTg>XRzK6Ty zhsipViv!1kO zf1CU|+wY2PPNQ&b=5Lc{c!^#sJ1g4hhqmqq?%hoe6>|K(y~agQzb8C_K4@?GRqo?Y z1P6S3b@mYcx6EzqPwo&s#P6OWEqt2q<7;)$ZI`+0`&!wJ9vYJ;QJ?N`mva~2UN|Nz zc-6$Yrd8norgYHR~4e~c+X2St#6Bvx{-u-MpAA){lvrf8bhmL(3ch&JON$I&! ze@v&Pse-lY)%<=Q<@KJ~#~d$yo1rf~mA(T9Zwjc~FIpaSre0uen3}C0KXDR!aho54 z@m^*yGrIQUDL8uc2A8e4#zuR&_L~*yUr9`{rc>pnH%xX=ama>%_^VnZ!8@>cki8BoSZPEo`xzTpMEXr9*NecaOhs= z^H?w^!BzI6tnAq0%0x@u-1A^LdR8R+4rR7cro6mdpP!sNF}k>n=&WMC0&ZsP=un)*9*J;jQ+eN!j9YVh>PPZ%lxM%3-!t35#RjePb3^befy?QnfqlCL z$EPjyv8aodBsvJb6L>d9g-0ShTY>KaUSU4YPB|J2_7Gq&ob|>W3W5GkEci9RdAVPm zI>OQB+amZwfsf4MFbfuR&&2#JE)Z-EEA3j+R3%Rmb{~U3FTFaNx7X`D(2ni=Iy;$7 z9<*Egwf4=|P)>W!SJ=4P>ALiFkMFIa%;!BwpgNrb49{r(P8=n-T!stp!d!);GN6R^ z%{mXg^~u#keMhA%mh+1uKW|=$f=WcT&c##skbkM|#Ovv6(|tOP=b|+BFQWl*i%V~a z=y?k|HCdN!$;W_{mT#nt*7v_d%VHj@=E6s#S~FN4Jy_d2Iy~+|gA^qg-V42)Mf+eP ze*^OqjT6pP-gtoy#{SJwTd{{Y<2p1C-U1HY{j0pg?_)14;OT?Rdr!GCFg}X7(oP`! zE@GJDh_Y4=dLy}p*3OE$lFaPkEqS$3*R2rq;o*g$#f2VRq#X9}Wow7}_tt#>)~e;S z+M)iwP5osv`34ne&)tnoR{Q76{r)LoT#_7GMVg+T9h_xT@o)J|;_2Nz6y)}~`TG2< z%)JQt&H}-90W)6K z>{DI41ivORm*MWkEy8hal7?Ktupn#Kb-;bl#uVOxOqKm=n&XEmCek+l31?hyGCMt| z6f>D}?-$Up^!8{z4A@?Ga0KVzW2v)4MQYb?=A6d*9psmfz;~9~?QwFyU1NV6J$Us_ zn?f?3cZF86Md(^ZyF#)0y|HTAGVo<1CM^!D;O_YQ05 zo#fMP1qBII;_fORpbp^_{>QSG^mpE-20gh$i&|ind0wUi5As3E$#x>2n5|dtHzCPg zYyH~z5al*T<-(m;cOaI3>BFRl4?3&)re}svt#EoIn*Al^C3je1_ZH5AJschWEGBkj z+tmsOXE=KxJ)e9WY~k;q%^!=}EL*%Y!LK%dobrkVy;5pBwghGvOdpZuZ))7Th-JmL zrqJ#i{Q7k7=DIsHj-p>~#=bg#1eZ^4`6Qj2IFZ6%z#Ne80?X|*ifq2=PWM+)Ker`? zHMEP7b_zdmV z+6eNgE}IWi<<%A5(PkEH@B1uy@bj9&)E2r~`dmae?is&Q|3t&TQ9aP`cN(<@8pN9ZY&?#7E2y)>jTM27dL6^a-65U*FEOzRQxv(v;U{QD1o%DSauT zC-;~$=qvU;o_6==u2{T3RK^Zt3Ag}bX1)fEb+NacRyY*Y+)zvq&5ipd9p}r`{3QF2 z=xP5%TmF58dX@Lf`o7h@L2Mw8et(sJXJdK)_k8OU-eH6%yrE?II+B0L@)^Dkzn6al z`1Vs-`G4ehctZ*0^@ei0FW;Kh`iAmN^6CxcTYQK1s}7a@CtxXF?&JaQN%o#*{m!qE zSNffvrYS8ocl56Cb<*iB?-qLL9$#XXaYc0cdfz6kXjJsJ@Xw^hZwo~+uf9VbeZI># z?+R(%r!&4>IjlT_RN%sTd z2#rlldO?t1V}cV$XrMl`GC0w|zdbYx_X*+%jmndvPcXP}Z%S4vuyAPQaBpMc*n;gD z(rN#JrwdtFdo8UEn?_3?M3aA|tbC4s8~&u29|2zvhHd51K7|y*NCf_GlKPpjV>pyQ7tIwG$*<9>^tcX)cflz`}3XALj^ zDn8G+clHodh8y@$1<_|}98&J_ekj|g`#JdUp3c{KI{y!2nI!#4x$=8=Cq9Umy^l}P z58hx_RtI>Fx0o*C3w|2)UvEplO4~$>{{)|S|5x&8T715FeLk4C?ivmX$_E|a;WYU& zsPF5~d|!i|taL4Z4ov5jWQz2G{dZmR-^vH=|HtPqJ|7%Uig!K58tBGZiTw+q?i zp8(q>g5Bw>gnbxI3x=X$yiu@4>Y^XmC{0%J45~d|^_LiQjdoaPNEQ zgx_-okKXxAr$_V@-Q?S_y1KNaa24v8c);@_x>>xn(2sD$gx~Z_w7DDk_0D&agHQeZ zOK)@f*g`t_aUgy|ZA>b|rra5Vgt_>0`i259yW1;w>&KvFG(Lf6iAF>2#K6)NaaLL{QRe6}PGk~L}bYVmn z>7<`-+tkgp3g>LNS2mxsTgj_Af3dz#wc{Tv z?yWTSh5;*#&6VB6ic)Baa9-kZhBnAXPPTHv&dJiF`I+9>J z81QP0g?E~Nt@+m_5AwKVGbKFXj`kb;z5SH>@8V`%&hKy!3-#%ac7-qBn$~(pyOO-R zqdl1KKm*mGvR461@zRQb_ub5)<~!O0$*VgW_CCxgy$bU`IU=d}cWd@)-PJB5A7mxp zQT&*vxfHP4jf~H?oqWg?q}x`M$>JIBAW!i~tFCn&J4tW8->sJ|7HduX_u1%;T}>W+ zcJa;qu4s0wId8PS9-^}Bg#&tPW**)5o_wEb`wryKX(Yn?heu(+rRR^CR(T+Z<<`hx zYbNMhXdX51^G-I0t;;ylmj$`!b9=Jj?C;AbM<$k+k1aNIKh~NS5B@Mu17S<;T_myo zCEF*OTnA3=udjMkdwVMLErG8v+h6g*(c9;G9vzQsWieWa-q%x?=pEMABls=aguO%e zUaiqbDj)eD<@2w_qxbb-osRw;(o&)xY3FczZVpZhgs<%JUFi2#=i9ttXQcinzKh9= zO3=E8yx|jM)H$4M)Frz1QeJfZZRVTm9`W*{YwQg<=(~8`W%!s{_26K)vyjKl$)J2> zWl-P#y}tc3%!ed-2F;8=Ev1?trK>0A?OA#}|28ae(9zCSd57bh&bS`&{zVlTys#$L z`NA*RC#P~#RGrtPY16mjJ9jhT{Tnm(J#KSp8ka1Y5&Fp;zvQ^|jP?|@U*JM&-SIi* zuk_|C%!k&oboVT!@ydN-o^~nk4J~=yFo~yB8YeWvmRQ~!Tk-~4I^0TE!UBhPL%+59PHc&Pg_{9|CrM(C5#lqDWu3CbZ6mDI=cbb`+x9 z@cH2#-8-GYnT4KKB# z)MoANqec(WM0cU|8R*yAX3?uEda)-}sq_Y0b73!Xbu+6hU?mRAxEDx&)Jye^DJx7e zdKB-`m1Z>V)wvaHIEv*cEt%a?Y{m=*?XzF-a+F}Rdw~9mhf~^q{*LAH`h64sE z-}=Pm#7_pkFV6d0K5yXfR7Y#Rj^yShoWd9Lk}=L(eBM?(880Y4Q)L35ImO>GpE=EM zm1k&^fLnZKJ;I$&%WwyKiW%~X&pgC;pjqHEXMv@7X+^+W#Ap5{dBtbSHs3uKIll5S zz{OWq>k9-0nW_`_#(XT)fQyfmtMKrSBtCQkIAT)akuHgp9F0Gn1TK4v%CdJN$4i3Z zwjKuFI%6E4`B>7L`OFPw^Y8Tg&wK@OM1E%lr=G8_H{ZSA6-_wAS%mC9lT!DBl`i;R)k= zoWE1Nv?AaQz85t13H!Ci<#GJIm0yetYH1dUA}G%q&wq^c7V6i=LW<@fR!wrlTPx>oo1hD-`^mzh!&OMd! ztXk_&plACDWJOvnAH22DE?LQS5$9J^GajZdpt>@n*t<8yKbLlyxH_xTu$3y3v?vBqT zk3P@io4HhYh`EJbm}GN7bL#mj&z!mz{{Y439akfB0WjFtTPa7z@-5(We!UQ!nqNno zbxWJ@G&A!!i=M>@5z!MaB&Lji9Lw{9O*y1{+JuuvaKCoEn&my8r+l&;i)+_d zi5{}ee6gh~kM@VwI*rb);FQKMp}gexk1YL4{9Lf#_AVLLVx#t_WARez)>y2?+odrT z&VaXjc|?=b$Q}L_pR6QJM2xNy!NfvN4UkiWNEGY z)*HyHed~>Uhc<_O>rKGYvg}&{?}FdAmc^9#v+dR774Oo6&ihKHjcWVXYe-X8-iVKg zljkMX_NhMto};DVTG#Pr;LZC}h?lD|QoP)^kVl_C=9~Q~9+AQ^(pdiqc~=;lKT?0` zgVUWHJ1CbLwVr{hd<+WKk$9M#O7p6rwd(XEJzVZmq)bSA1;=lp!=e0&LE_<^0gm5} zy&zZKvr-s-6p>h1c8`C3NE`0HK_)!C;MtB}2fZCg&hs|4AMJgsOuaN$67DC{&~zjJ zlsxkH{BV2E>Dcr%=60ArZzoM_Rp()BU-HfrUfT3(bf=W3_+CNnNUhTNwW;+$4rqJB zccHKD$*Z)xS&rxJ|A}py#TzS%Qycs~ET7Ec)CRu~rxT|(_4U% zfBP`FHNPbvPFj2wv?*J&#jdS?tqj(F)$tKuN6Z3pu^fIp0y(e zt$jL_xYW;)XX+w~4#s2;R`p&lX$$ildkM3jP~9c^^;c29(zukrWZmlDUxQDwrQ`p6mDQV*Z6Eh`~X<)(?;S7;!lWSo3e| zNaYB5&kGku=z92GOl{A)=&54ROiY_erB57Oom-h*!fSm_w{=5HJ~MeC{<7P@gll86 zUx6RnAak@-zD=$9Qe^70boRa&(G@?(ciLys@k^AEP1X-fj*btFe3*4eCKmB-`u%0{ za~4PbN8DQ_Ly_`vS-y_s?|qvBj~Az{*M*Kx@IAS}T-9CnoA_eYcWar>8q-+oGcaP9d=eh0oV)G5C3_NYDL3$wJWPeG>jP4bE_{1)GuW6G;Kg!i9-rDbVF z!23bgMDyF}SI8^AuskU(6?dN%jP54YRqQjl=IV|sm}FVJ&J*g+$*aB!Oxp*xj5+_N zUjr^VmdR0O7nwsR49C}jZ*_3_0~IQiioC8YX~F5P)}!gj0&C_ogG@!|*17PR-yx4a z-{l)VGdM=IYk>c;TYH1%)Az_DA70;pxLWT8=gasImNKK&@<7ePd+IgNUt5Y&zB?HSZuB)M~N@sgXJAFqi8A3LBq4(<1tKo_CALTGAC@LWBg zrGD(fCmY>_Z$CuHVdkdl7au7fV9O^5>kF$!cx#v7@&g7hI>*a%YAd3;@CBxrw^h9* ziI%K^(vPAsGTp3*aADVvKt@ZA%a19i{k{a#R?L^zh#jHJM}N7B$GknmZm64p>Dc_l zkIi}5ICMcn{bN1yrWE@SoIa-4t$vIyEiS4ge*S#>cgoAQHrV*9O(mN5A5s6v z-zN3(r<7G}i}x~_HGe+fb-;@I%RKDeN3ao;r<{Z)kS`CV$GYcf4An<&Pt(nQ^s#xL z?j=%py`kZA@&7_UFQ&wLrJLlYIGrctez<#;nyTN2nxW88 z^W<^#M>J&F+#x@Y8BN_hDX-vSesXn%z>wDedB&0$z$+#X@WE;VU6r+wF{ps0gj?<#$#+_o^lYFwa$(R&t(xj)r05k zm3=Ju)3y8yXu7L}{V5F50+Nk1(T|z@LU18UKO?0xq3ik!Iw&h1-6$6ros2A^hh`v7ZJ_j%tlsAn$7(a3)5`M ze!Yvn*cGHXq|&FhmgswD)OYlBPp|$nY^&z>S=6I9>%T*fPWLLwQj%n3@mRg#eJ8TM z7+=9V@^I6c7QB>$_s(i>-h+GvOeSABn>uQP!$TFKs?~z!s$RZLNrs>jg=r8II;o8t zd>g;U-ql9dJzB;`=_v67NBxt!Cq*+Dq}mhQI%9h9S+K23>rTH*_%@oGz~!_bBf&b8 zg#p}QtWMx4S+XOwL4CVRG)C(gqvp!iYJ>W&mPK)XTP^E-7tQrHd4JON*~&M3^cm88 z{RJ0OPQ3Mrb6nqSOe31>_a*$(+i=iH70m??G=Bhp$27l`-+`{7ylDPF;QF+twbJ}D z@`~mU;ycW>K=a=Kmg1!q0k3qbMRScuke_ekZ>AJ>eqlPp0HfHeJxa9SPI`W}yF1L~ zz+<|{c7E<|d}-+ls|T3{-_Sl@A#SF}5Wn^wOkUCZ+vl}id!vhsD+G&Zu-!N`5dbVs zUUC(9;J(Fw!a!5d_!TcsTHQjKbOo<8wXf z`aFVf#wW<UrD#x@vEHr1HY+mEj}X$nU%Z-|q1}dvx4z=qP?0YPoK+ZJTU$T;R{1 zlW-(x;2aBlv+9D3rLu3cQn_!oMRq!MsXyJ|`yJ|<1K<7NFa7yGH?cCa*q9$(#P)ST z-kjw8U;4fNoR88`bvZ)l5}(FdAEga0PWo|Dxpld;{fmtw%idty;qA<&_emDE)RxjdMn%+BL7 zMSQ{8_hcJ1o~0MMjSTN+fbsb;CT6hf>iAiv(6$}9Jd%GN5>GKuKU$xQ`?x!o z&)%<=56>>8eH_W953SDO)NTs@w4t6`a_N2ZODjYXCqqbI%B2r2R{fi#=zFRuZ7)#} zCEwC~z)hpghrNtzur&4Bn&I&R2G*OPMhRg)^!xd6FMJ&hvBs&bl;l3Cex>*|!dVQV zZk@>*f);2~qU|N&y+|>GS>dxob#wJ;cQ?V1`OFT_P1_|RdletIa^ zHty(ziyrLltEO=o!f#rj`iIFcA46}Vew{r(_VF>=+{?{Rif-h!W+yBe(E27^qu@UG zR6;%39eo3L^ih9DAG5Z~_3gw84z<$zGWMjiD=TyLK8)oid<@zyD6+BOok})SM`xGi z(ZcAWe47&!+eeOHvOD?~Z!aDDdsLZ=6ieELgG%4EL}!L3*@}LQdC_y}*3MI$ZQGLS z32biWZE~>JD8J^+wTbr3Ol~09ZiAr>`8d~3!TQsDSMAs#-pY@y+B4#D>$2b6*0Ctf zOKwa?13Oe2kH-Ii_iK|4jhmBAgSb1$i1$%eK5ed}evR1@-)aj@y(8~Go_RG`InX!i z^>E6~+DzS&Pc9c}G5M6;%@}9|`u6Kt+rd7eIY)CHxFTuHP8C)Xl8S0!oLYQ{noF~6 z{^*X#BaWgB+Fdo=9c3Tr;pW*Zz>ycF3EGbX9Qm(*fU3*PJG~DdfXv09zx_Xp8oj924R+*bx$^?SAJ}Uk3iHF%9ebznig09zZ z0uP@TNxqjGW1Bn8z;y2X7G-6tdjXG7+l%+;J zMdp6*N-&-G>B4b6Yh}0^REV7nS-L_qQJ;3JPm*C-?4UlPbvu8IEl|cl{W(Ng>0WFp zWqx}kBUBtO)v15_tvAXnrq}vpmU23e9;@$D-0=$Mgw3@Y{GJmwXFsXk-52M4`I|j0 z-MiP(dd>1K$mlO!`<+RE&((v!7qxFg3ST0)QMOlX6nq7bZNSt%x=>o6zVO-P))dZUbG^R-I)TT{@G;sXx%A;rkVAB`$@=yZD#+*(fC|(V_+b4l&f9WI?K>4Q#28|}w~6OUbNgy|HmJ?+WCIiqm_ zQJUhcb+69OO?!tGp}tMP!wn1*Ya6o}h@(BZr`j88F}T+3i->28kbagc5|3}z5?cpK zdr3Y`ZX(mPmy))M5`lSR@$K45nU@m_xv@BnhfUi_tRBJtAoH1Sv}XG%9fw}w^NOU_ zOjUQFH$$Pd=EDif>K-+BHFAjb9yL5bL$iD?{78(4J8KTLB|vJsvp$}3 z+M9mV(N-pfT(Pnsvua$=nd~G2fX3}HPXLehsGzs2^%3?otshIj)yb9Mr4#*r693FT zfp2{zvl2YWte(Q(+fNz%e43Zs%I_eT3gsoUda5tqn${|_dK!5pvwAw;pH=zLW;Y^!j;T|6QPlprulwYmSt?k-I4veFa1 zJhn@vy(j&6YmMP$2&u&~EGXB>Cf^|FOJ`|Aiwg9K9~WIa-8toC1!MF3W*aN36LUSp z20xO&3lN19?V*Jgf16`It1mj|UmDQ?{la#wb$flgR6lMn1J{+@;h#!xG!|3bQ#BU) z`$IgC>+fRzhxs#rFA;nRyNc4EV3sYkJFlIMJ;x!TV`D#1Zl24#gd>aI*Yf?JLfxRg z5TDW4*<5cN$`Uf(=T&){q>U+Ro94(Ll3(-n#&f0rSj6+!#zxFBkmK~zU-Yh6pQzS5 zDt#!EBh?<_H4ySJ%8IV9rEbynYx%t+$47|&Liad*yVq~zH+>67XE9kb2i3OL1xL5m zseO!0tQ_|9OK^PtNF~F>`r>5-lfR$Eg_+qy2F-XT?H3M7r2P=_M)Hg23WjE8Ww)kf zvoz62a^2TQHTGtwF(7byy<#q49FG9{X@4yEJ2YQDG z5!Fi<&<>#(LSHn8ZqVAiH9Ob!`%l2Fx2XTf-lFXMej{|$Iji$O&i6Lo7tVjn_v$wJ z{w&Rh?xgpr70SGWv?AQ^^ks_D4$xM8iq}!a^>zp~BMVa*Q6RuP4c<*1VXt~m`nT)L zd)u_@eZF0yVa4xn`uqJ&<^Q5h`49N=f#13j9HQF*->rRJmwc!ozsj`B|Cc_0D=xTd z%IOnme|Oe%Yrc-;V;;wv^zB`ovg0M5VFBjp`w8#_`hGI~+tK&0_+3=@U;Dbl-H@r? zrmv;s(>`zLkM^e`oS$vNDf+#%aITh;ziG-VoW*mYlzhSGZLPDE40>9JeuQx@%KNuj zKWtqFKKjeRx1Y+!>nr?LdBiK}IusxM_fb3YX{~(pSIH|r`fGfLeL!^x@7IBa^{se^ z0dH5Q0vJP7<@=km*+|eYa0vs2^X6(>_RAuTPtZbOF_#50lnU z+AIuxW2L*!Q>XDQO8W?D1Ee+TxLcnhHjtWQ_mKM}A0=(X(&iTxHb_Y-BlsBbi6yCz zXYh{$KLGsj#IgY$NnGDPMcQwXrm6|$1(^sHLX#3~Dr?+g4c??$@mwf*CJv)q>_;|H(x;`^YNML(&QJUu0ai132 zG3_RjwL^34@xH#Ibd^69aKqrl^Gt2M)t8-aO4FQwhA($~e$MFsd0@{5wjyp_@758$ zzDU~hNn5VZ;p;{T%U0$~z+aTYtI!W6OU-6K)}qTxeLc)|-C|PuzQV&L{aapQmW+>9 zLOHeX)uCJiqIq8zg1_FwCnuJ3YxVC)dlPB7_Kz+4mnWyo@ekyQPF4D_uHzfP;(PIh z>?XfqJ{a)3mj8^1|Gx~qr+=i3KDYDDT{%0a<1<8r;QSD;^G))7pL^InN^YU$K!cFT7PBnc$!~5@t*RH@I%V!^KX2o zW4Z?Ksd4=gc{Q$QAv=B=eV6PmNqo%s(P}>yAwAu=O-^-n*q4;2qa_dac*;)9ccqtF z(#MC=9MDdA*0to>GuqcD{`_pa8*9(GgZ9;$n-ggc6eTfbO)mEn%HE1>_h!0O%s`K>H+LtyjP1|Alrw>8D+Hz!LB3wHYo$nkK1iNJd zq-A!cb?4#N7(5TVHigxej;y#Ubgviw>k^$PwJ9^YWvyuLGWAOT!F&#%>(Qn;ow=(u z{!_|5hI`~53K!o~x%>8x4v*xGO*05O!^f#=*)*?XewN#Sa+m#>=VTJ4GILuN#*oTmFtn@Zem-DzZ_L67#w|B`vtPf_B648TLjCa}x(c-@; zBb%k?vEQ|kCyw?J1Od6}UZQooD5Y-uvy%}SMR6)LdO72i=`e^k`m`<4tkkf#4*NGd zMXVO_8P0K5ku$-sMTu&NY@=@_Wg6Zv8 zwzQUiuS}+${=xr3-@ML3VRLOCP~I(QbGLRoG5P3v^b&rN8{@W}ywkDK*uxaro7m-- zw0qBF4)v6WdMjwn^u<00azF?wKd$*VOq_eygHHp^S;?QOWt#=5Pfucamv|_ zxwE<>$*0NEMsvoU;E=DNzXd5WgiRNr{~370b4b&^GivMWR4LHKeLEkqX10n-5?ffgGBj3=Q~-PA zx4ST%%G=n(S{b~c^o_y*RmZ!>#F$8W`m1u9U;zuU~})BcL$%wGx%bVk4*faF)>r@{$`#wCASP~j5z4@pO3&nHFyI+tkoAlgpwu7ImF@lH^y`{yt z?KCr|{lAy*|H&pj2={oH$>KYS`@Bc$*DIMUUVCpB)Y=fmgm&IJvT}-PE!})P$M7UC1c9w|kB{|b-hI~2 z!i;eH>J_v>^<3c3AKjnzu3fM1pO}LWSN#lC>A}8_O6^S6MsB<6+F7iA(O?I7*KtN1 zMnU0*!oCiT?WxxG4G)YHqs3_^n_$5zX_MyX`%d4tr};foZ|-n6i*r1Df2~iuD!x1>cz_r1(YzzX@5hCAqU$cn$ra>wg(MH{P_C3>t@1uch&H7eb$uGos&xo*E=DceXw}@iyoYtoOQlr92;p%_`73c^!Ht(zt4;Q zzS~dkkbF|}x@>LFbczJ)HrPxV%^RD`J?{4?;(ny;4%QoB{vxY#eQCK-%rhLnz%)dD zIW^;WFIQH6F~qM=l1F`&4%QwkOJ+Xnlh(e9W_!uAm+|<0@`Q6&bj$Q>JCX`{bY|S3 z?^A7k^c*mgfAOPxDtpIABORxr6i;i_rSo6sTheMf$&hCDIrtKa>n;xjoAg9opLcV{ z^J<9qneyBrxp+G4V*2U6veDqKzg|BFUB2zi;L0Jm@jJ2b7)1igQ+mT6-sSP2-0G4}fn zER;@uhj&M{Lwn0jQ6JYQ%~e_-n}OC2_3<|;EBV|VRMzHh?&5c)zTO=5nLBquQ{31VB&2<> zf#dlIZNvv_Ov)PPQ|-<}WI|j^i61}G=bWs>0K+L9li(DNSNZv?z9mV0ZfT^x5X+|o z$B*aS(*D_L6wizftHAK(Ik(i^SY1BsatHe0({m2(vpJqRQkvn{b8e}B0{im}hHuZg zCD<^Yp&GO74l4h3*2)&a4W&{}*qN_AbvmM>$#n0ekD4=e%E;#D84Sd;a{bK5=+*e+ z*XtxP)K~CVW->0dM{wc=o$TScvstAJX0R@PQb<8F-+p)`R5K zhoU~Q<|WJD zD@riDx__zP*K(#Y7v=+>u$TF^0a@gnHz^Bay(Pi<&fJOAhD~(2D4AN~;l{>ZoqJ{aRJ;Sz(CUbtgA4L1V?fbG-T}dYQOw7;DoiJgC z8!N#(l1W_=X2Q6rUxH)1wZEA^a zk@~&~RAQY@M8J&=Sh+Eutr_J%J0UnUfv*g|aClB-o4z^hCDlZ z`uS-?u&s7BXYFDhj^kzUCwHiQCHmKh`nR>cF7&UZeWKAa^+{j)*^Esa+45lD;4p+> ztyX$s!QVBz+;-kR9U6Sj&rQcCX=f?t-i!s`kjUSF)0=MId+;NWrZFj3xW?Mt>!KWf z>}uTl4w?F}_q8m1TX>T>#MF|w`|GJdILhc&$|2^h0I?XtucPP(7t-#)7Y|IMP2 z^ni~>;1i$rn>4h|nIBB)Wz9ZXF|W#AE4wHK+Ux8)0bZSb7y5B< z=l>kRP?x6~v(DZ`^>xsv-;Vl(eQ6O^*PEgg>Qg@+uYSP0{5}ZxP^Y_Za)80I5Ai^P zfM>7H7Wb|a;QRZ^H@bJ2&LqGTAiUg-yA0NT_RjJI@M}|d2-O^OwC;b?2!G#vBKhQl z<%g{OHu~^`gO%aTNkaGqieNh^nY_+_(AYoSSM>MU?1WDSzv%lEeM8^vh5JkYSUIy1 zaew=9dFtBb)S6&h;{NvKp6<&99|B#pNBZA^7YlP6|9(?bm0>2h^PzAn<#>DZ5I5h| zw~fiMzD8rQG0KCM%07*Jo07vT3ZSmv>hI=cYU;2LVkDU8LOk6T*hPX3Nzu;XSH7)+ zAuo|<;=oe~zRknUkD$-5x{za2Q{Eq=;K;6FS&sMwhyPLdR^EXg$uTo2%hs@LZ-b!f zDvw)q+8x1ndiXQwZ*OvVets6CG{%r6Sb8R~@abo5x0@%L@6RHy^xrS!a4Mc>%vMAw z{ahHtpr^n5cs`r*nm^%g6~tT^w?3AD-V^cY`8-XcOe zT{?ANvn;yyT^&SCB`aSMrUlK5o)!jhE)Zt5lYGAYHLye*q?_)=Rc~Q?6a* zjhrRF&Vg+XobS&Xt#j_0cGDDIoiVTR?NthAObY^cz_fr3uiE-r%6|$1|1P*SrhoiE zzE4RXsgS>0Se>7Q*PQo8?X~PT7{fhD`yiSytMk3Hhva`iYfiAvWPn|ZnSWEgvFO*G z;2V;?I3Qjk!SVh&Q#bOq){6_Q`H8t|eJO+EOMhwXFv{9^?Nma*y*U}GAA(;#S|4sq z*BjP;-3{It(T96d)?P=L>^JQfJ^qON_h;pxc(f?B&(tU9EC;dhr@c3NVa6O#_?-U%emXCAk_4moQf)Cxl z<8$TXv&(+p4)WNyMSXupN8FsSb*2rr_No7WN*UdIAMD?>U+CpQYWvr{ZI9&iw7O(X zP5y*l^G8u{N@v0MZ!8$bMzh#TZ0mK^-FF^o?hvq3dx^x()? zttAocdIwo|&pW`|#T@)I#Cr>#W`be4iRWH-w(Iw%q_QupnGevWt(-nnjT6SOyIYLQ ztF+JKpQ$KKcusZfsn@3`Il-Mi8SHTBgAv`H-{I-j(&U(AEs4HA>o53_r`Ly>tHo!> z{Ot7X65<3Yx=zm?mFUM%7r?<9?#!Z**`F8qCXxkt@9a^luS9=767^?8Qh;}j`n29Y zN_p{c-(ga<<>8Rg^xPjRloEKnP0o+7 zjODEzn&Y2{`nK6_KE>@&KR!ub?S)4fckO?QBc;8&cw88VUYwzg^+`b9r1jbar=P<2 zDew#5q@TC$-0WGIi)2mi+yn-{8_qg>x8eQ?fIkDI8@thTX5|(t+XK+m=C`T0ntiI~ z>Svn!e+F$9O+HI`@wm^q%NlfGH1QOG6V8z`1o6)V(5D#=9j@_xFCOpN!whT6vlAB~ z41Q{F`}wFp=0m=@j%bGE+C<&z&lf1KF+Ru`H?I|=oTu?tCJ*-3lL4l;uM+h9QdB=a zp8L>6(9@6H*>zjhc@VX__uIdv+`BkMZ)9HI+~({c(par$3@du=iDev}@KD|7_FUeD zJY#vD-j zP|!tGdC9ZUM3`NgtuNrFM9Qq`IV72On&!9S`ZOq_d}YRDOETPmi^QYfVq?VYWYn0S z+##BA7b<-vqQB0pJE4Xfk~_<_+s%!?2e;0y&*3L>Cp46dWmB@ZZ`gu@pp1*C;qd{eA6EB3F_A#p}$8I zH<-V}-PY|Fa|nzTRV3RFJCivC%X&u1VECP!bk8W+d;RSZ?d)#L!%z3MJEmaR_1doyh;6ly2Hm}?B$wh^P#yj)^5?^Un%=->U=1@ zFXkC4CRZC+blgt*3k>S_zxjR#d+fj2N*p7vH)m^6$?{9T|`Ha3J8tbFXBb#@dr=c^)iNVT)=dum2I5vla$DVH~^pcdt_ecVg_iD9@Ptr!=pSh zAst@8pt~uDWM!SC(?nU-Anoi%0}w$7b3r1L_Cbi*um7vodoo4l5=C@ z`i5*m)~o&uiuL34PFSKZ7e;-tn38RfhtsA_vem8r-3NT~v-e5PH?48$rJj4LMPEcOJI_3S8g!$&=%3!wQa-=u@Zv1a z?{$y8#L*CD9%dQ?fYX#Lz*9^MkUq@Z6HaQubg zaPkB7UvKgcifH^{akS0-43oPVPX9&I?Ua|z;3?X2rKg9}-8h7CXWstkIJC!3muA%` z6!$@GDA9(?qc)hl#ur1~(`EGnq$V&eaQyWZl-K$`LK}t(*9HBOKd|9_0|!HB4{q0k z)pT@=Q>kIp_o)lqn&&-DKEtxuxbEJoF-3;eGe3=|ZXdTz{u%Yw0Vi#Nztu*~?;TOU zO|DVgiZBAjskBk!a22>Dj~ha!-{vf;49d=uou=QMSNpT584A8OvVWJ;g=EIM(P43$ zNnsM0r0*Z!2lIaW-@;pTXCfnoe%_26AEUXtOMNk&-^GQAxhyT5bq|T?_FqY@xd(BR zvfg?+T|-%&b^GC0wV$o`@;?1N+~xMUn+xZVm-+S$5szd*+D*%jQtUqvtd+QO3amqM}5{_Xd?6WwKy8wSuRhL>%pyk@n74% z$7|M%Rl2>*ApJ%8cjv|z%hI}u+if2YdsL@%h^CI1no@wF<1N?#YTcse!PDE|%kJ`q&-snhApo^QD5r7uCeY`@M+tI7j{ip5utX?Sk=Rf|U$5YP>~w zLwU?mqn`&7Y14dD~Ii5ZkcqS6`Ta z2lVaBTnYaY{=RTq_V@q#IhwyKrLm9PCCT$v_hS%=dliBw*;{&8H;;eG#k-}|vV_f~gT zcU5;+S65e8&rgpzT(>dbHgh&GH+!^=H}6wlDZ%xgG;n;Nk0L^y++oXJ8IAbYr16p? zCybdK&}bC@#waTr;4Kx$zct?Xpu`u2cbS}*fs-2PPs7)rd;4WLO{@)&qFdob@5&f_ zPgV}3_?xfVp!ZM?)6RT65{E_dL}^K)-;Re)4(4O#iXKi9DpL`!kb`L(i|7%5rpd2& z<6cM&8ei8(?S6e5N92=!>(mg>t9qToE+n?86_m}q^{ z?8kAf9cGUD@THtoyq7Q!=Ofeq+&1LT&Xib!S zIzgL;-P?Tq9XAYh44^FH_a+K-z13dxixc)R&(wz}DJNOF7JZ}mo?&N4PiHsrGxX$6 zaP7^3K;`@=p8_t8=a2gFr#`^Kd;&X}t$o@n(vqA$^f2Z ze7b`+H|pHa>n(48sMZ~+?wRj{V9m~dFtwEoLgThXW774_Gr_YXx;OfKeEP1&5)tVJg4~dkU^WuI>w!IorF zCjCYEa7Ob1^c%HT?;>gZya1f>*^hp|h<|!Re>=RXpicCsp>xE+VQgVyVECso!>?EzTCH|cx|X^AL-+x+IdCx+t>NZntFbtq@Gv# zdSbqvUvsvV@nco;YM);^v*1BzehuHZ8;y>x*YZ1@Uxo5I+j^ZZU!PWgw)NZO)!EkT z`5XFBb*Sv`088=Gihx&oXzf|#i^;p5{&ge9oi)7#n1(nONgGExe|iNlrX{m(`AD4i zH-T%~SGhYG!+#67_Id*oOSZ4qIn^70rQ;D9tFx&$0;@fnT5D%h?j3fWP5mx;^m!A1 z-Px3@DV#>xFZx#V|1An=@%(Z+mF{*9_6CIlCCdRo zcSr5weVDkkF(3y4pW5{v%IK|_wII+uS@wFizJCGQ#hc>x4qw;X>Z}nvy%Tfxh0%Zkhu-%HQTzjp_dV>jnG=>X z(^I&Aq{EMC)a zBh0_W6MpUq^ZdiUe5;>B;!Ulu;77=V-ikA-+%QiV&F3S$8I!c0ym5-7? zd_ru!LHx@GhjmFJvw^yZ6*VceOf>%qIAnkR*xnWFenh1pB*no&wgdfyyGo^59&EIh z+75d<4rD08tAohMS~ysOefHx<-^9`pJ@O3c?giA2<6&&RjdO&X6Vi2I!>r!fxz?XW zy!n2EWO2T+E72gn{5j<%FDE(E3HL(LDcdnH4^{^{%qs%70(ADCj+TLe>b{;3m$N3% z5GUk5gJKd@=r_sFPlBIT>vl)>(;^ydiH|TOot>U$IX}iZ`It05cXArhrNQoRSNlwtmp@KAN`gBf*>C0q;Xw zEU-aNKK00+XcB)uV`bdP#zwe8lk-g|AlhhBe|{F6idFT!^UBr}dc(cfn%=R^LBOOn z=}z!S4wR1b3`ewu%VBbG<55u`k{7e{4MQ#21x)wT)3WNqFVco)*n>DH)VkyI7mQ~} zOTXt5kG}+LTLR3SRTpg?t-#+eTVBWC%QOnJHiv1EL8w*y`zy+5K3s(0+3)LYG8EXp z&GhZoD8bD3?M&Y$rv)?Hw@lxDT@h@R?BUTpEXh`As@xT|Z?)RDB0tt_`igH`FT@qw z)LNF8=2&HqpXell2{&_=XKi!1Xyle9Lb;PC_4BNz$o{3#nIcqzgGKv|uhPb_mi!&x zHHLyd^);h+X5P@iAJM=RuYBF$FpAIWq^8b$K!f`48{pEJ(`(O{?@iIT8}4dv?YhEw zCj0N!_n9qWJ>zYI@B4pnZ62opW6-ttTTy#ik4o^Z+4ODl-NaaW33L_rmwTsdxU1z* z?~q%_`n#jpS@vRCK`QMnIX}-hI0zHRewv=vb2gxw0XtDk=WF3GuPVsI(e zo0(5+L+Z@b4q$YL`R(W&&xnb1!qv%aI2BEGF>JEw{SDEr@^*K~c9?GeqWS&fh~BV& zS*bmu>nD_v{CPa9p5*Z7~)a0VchUe1Q#rwZ9l9T&EVl3bM`Guy0C(Oy<5|8?XUa?^n{O{XJjq4d87W~ zc&5Ki)X;W~ssE&m&V)CCKx3-UpS|BwEFYs-I^8Wj`1AA+6ADTe_d1z!R#|Dq-KWF8 z-}!Cz&hW<3l6mZn*a~G)`qdtWO66w}jXFE+Z|NCuHppLId&HOjp&r>(-@3cZhUtAZ zLPQF6uJ z(q5kds-6AszMj?+J;>ii9OxbD$1GQPy}hqC(QpUf$$N9Z{eHA*OVZ~ah>7mLYk#(i z@z@yg6n(|D@fYBO_7XvMs^P3$I<;gKR4uTe=H@6YUfXU`@bUmzS2b zo`v;qYYKDYK5o-C()xP$r+F{qci2W<5v`#+BKS_=TIcUe|6LgM->xLbMO!O#5csP8 z*+dzwm4C(oX{o+&pr_rgZl>x&3a~M$xxLx<&sY6AA>Du%{_KXOX#WgCS$<)Yvj=9! zWf=AJNWYPO**3G-aU2)Jzz@MW?;j<14t^(X#RsQ4ySOwm>wV(aGN19msg7|mPj!8d z0}%P&EH7lX*UwQuzBi)_t$0WtCTt3!vz7PD;A@h<+R5&T*<~}nnywrJ|8q zg80L^Yvn-^pDk`;%8sCtqyXcO`21kXTuM71;&qZgWi1YJ@x$Dc)pyOqr0!hNpQjG! zts{%M-O)O=f#uxY`sxu3yQz+#d>hR^+&gJ0(Kz3%SU9#e zD5krqg{dC7CFwZs{6o|=JVA;W2y?87I25DHhk4tAVsi^8YGuS$bOXcJ5`y+Q`}Yet z-`=KMVE%0-^~Zf-PgB(2JHq*PA-k>rSL!h94~>V5!6_Z%&K;SLzj(nYa4**@f|72U zMKVkKPsMN!_pL68+Qk~^&fRtDOI&vDxbO&&e?q<}g_futTYWq9#;xob$MC%i_KZtO z3uE+xt?qltK3sv|?R6G8a-%?Flx=0Bqmx1l5?`N2{a1Ne;pmnfd|_^e`+Z(ArhUyF zXF{%J@=|T6&@bEb^xvyChzE}VkM`Dgv1cl?lVTnoZZ8UNQ=b53P6v3T=ijBCPQ|4r z4wa2leP5g0mVR$c4qM$?haVNuMeL=v`YIe_3lgku(X;~`T6cSqIVEyMmh&{YqO&FA zv1wt5{K4BwIjAYb4R{B+> zTd9I{@$2ejDpx$nMx|YwOy!CyZ98L$X;#@CjipxYwhH=KKcu=J2F2U{eC?EbT52~gHU~t*LKHV zx>oSliSs>y{Q4B79rHMf(oXoa5EDRS$Bi?04?U}+lC=3cLf)@YR{l-(cq>UqO4sWvZn90ME6(hji3grDvLTMAt5tHh_=hkrCE7 z;q0Rf=1A2=U)Hscmck8_Ybdt4sMntEYn4*+j>aJ5}XY0rr1 z(yH?i>7Asv^A!B-grQ$-pYhHa5$-OB!+2BM7pl82tvl-~;eQfogIU?SzEb+Zv}~O0 zc=D^H-{{i2=jIo!Pi_WwvxAAI>bNY*+&58uBczR!)`hKXnfomA`8y1(W@WLM6w|t)nyKSG?!^Ez|E= z{%I`>YgAZ2q-#9)!b~<~c`M00W%LO$M0tap$ntSY?eo>ARg&i;!}Y08!{@d%ZFTbE z(zJ%;!}#^;6KIg!kL739wn}omv~8ITs&89E64q4Zv?bAYWKZjNRc$z1OEH`JCNP7xt$f{JY zRh`SgPdT{eeJ<@NX?M6Z6GmyGuTN#4BwX~-*bH&I ziuLXGu6=dSF4e&H>@hsg1@F33#5>E`Br^M@=Cf?e7$bRaUQraX*l}zb*xwzu{g}S5 zOPr6NzGK5o{o3^V{ABDz*tbacB-W()&ZzymOYwZq8M9ESKlqi#_l1_k`GL zP9Ir5;%__YWk&v+p7UqPj-PB%mB%M&UwH|1uf_ftm#wwmH6|UHAbE;+Vq8w6l=hY6 z_RZLfSPd~R%qnztXhz_@>e2fgcBRWIaIq0}=KRvA4|x0JOk8mGhco5!{q!<$%hvR) z)$VLjG>aFyOKn2M)6hgZKBIMh7sb99`B+R8t-L&|vX2kFG`=f85DRYK<$+2B(}o>UEx1!M5mQ z+#gvysWGjKiI_@`a(&MGVyj&&>6O<J4 z_Sls7qtcjGUfzC7!M6Eg{SR_NXPGWizk^BFMTK6CZ_WR=fG2#+7b}o>5BaP< z{e9p5eYC&WPrlktU~PAmfeGsPAquPiQmol?Wcs>*-75R@1PTh^3sXl8{uZ^CRtj&PW(RdN+bhZhVu2UhxI;0!Jkh>DEOMvUzKe9JH~V;zA&r<$ z|4R>hKWPzXZ9n$`V6pxczs;e((mUE8B#%BH;xGEvihZU2{$uj#F4s3`=;eOAdik<= z5;qMLbQ_QILEt`6?)^=TzY62;Bfd`6o320g5&MIDRj~T{RK||l^HFeV9crS!EY8I_ z$t3r0i_fE&rTx`*)*lmY5-G#+!#DLw)O7dhlR4c_Zwk(i&n-Z0H2sW1~Mmz^Pkwpwd=8p5xoSqeDFVGw?_seCZY0{cVg>~YnWq+;x8T3Ef+r{OZ?Q|6s z^ub>4SPu8}a^b7DrM)BbFHF;N@Ks3)Z)tBQTK|B*TZ3GQ{hRNiZpDboXNuxVlqAAf z(__9udBu`?0?bg`cW!p$z4)w5lcr7X0Ie2Rn8TAyie(F{)g1Lf)0<>YYw-Pjkh zF7fvF*ua>41zHIg<7AKY34FDVpXkD*>zuA^KQ8#@V`Zhhjy(%#UHMF&yvWu;Y*Q=U521GvUT}NMo5C>9JT7&UZGz-5qnmR@LL_!+T3d z-=^2EPSfojET_w#`uWcTCSL5s_u*W7>sI~xZQ9C=+J}hm3Z4!;xYXalliUP?80f6_ zIbHq?nIPTf!*{@^wdEOfK#84&tINHu*WrufpDksg>Y1luG?477-5D}bonpCVa|GFc zdNemjoXXKV*|NB363+9TQ~jWytWJHYd|Gv!XRqwyo{gFBK?`?T+>PbxxFv|DRg8)6 zlNLV6zcVz~sdQ(^3)HE6+3d^-pW#>g1RQ`Z;gw<-)||n1ymS zI+lPD|1|~5t_G;`qlgCHLNnZHCb=o)L23JbOu0KZCdsFm9Hn;yEs7|P;IgZ9N0%xT z9yJ3SPRY%G0;lwZr{(&vJ`Sq(cF>HE2wpWrX;ELwFHv?4;_ErMZ4ezll;&fi`iq(F zOe~bs8*r3M&%#8Hbk3hfys>ym_kbSBfYX$h4{00w1=07IEsnloza!)%_mrH$rM=q9 zju{QE$KKEAOQTAa=YWf<<6k`wpXGU28yl+`-tpegls%X3*9gJZC)1{ihjArXquxPk zJu)4`cx!Z2pfGVPxmNkCP&-o&yZ=hS7_2v@(g3A_--cfAxL%PuVMAN%E&duHF$!VOF{2Wsn zzL>I!;#%vsF+S}G^>0ZO!E0#VP75OVR^AXizLbY+Z+Ka#Kk_vX{M?<4akoCZ53f7& z*RaN>K#yO1-oyJvGP^J8<&Dr*##=l2vji8ngloW+|BCvc6Wbn__EQBU{pET4-{h4( z_DLLjHLi})Zt=E6ALaIgDcPM|)zV|s5#E9n>JZNVr4Hd#Tolo-d0iVLz|Hke`UQto z_r|SRr9=L;sr=66$@z!Mr#-yCtM*Iov4KxN+J_gk(h2OM6wjjua43G>SHKi(D$RV? zUR?VUo#U<|kM?Ovo&R!mXn~8$vr8i=W(!tV4&r(A7S>Sl=%esRYd;CB5U#D(&wd`-Hx|f|9 zQ%>Kg%j*rXsLb8f9*sTa<6cT_+nm4afb8PunoO0xaV|UwIb94l?HB?*V#R@7<>@en z`Xpc1f=7DBnn#QO#7|-Di&qzM<{IV`r>UG7p4k^s{(bl&=KSZQb%TIw3hnD;oYrB# zX6USP?ubtfb#63&LM8bGKQ}ctdlhW9?`(t%v#?R5@~vbXPN^YO55Sm>TvC<@vq!%?ViZJ?=1cLY6s86 zji*((uW`6>Cn4GM4)L4psqvXyM?bcccXHO;B8^s+?*x`}dGxq-zR{J;A5A^dBmVX= z*NfnTjvj((IR8i7&?@IqZ}=S4n$)|uC%wv{?+i7Kv-RYY|Kl6Te7VH|Jymh#hV6OQ z=+XhfCoC388uQ>fFWY3tVbrIN_3E1?_PCtnOu!tYS^UJOo2b@PwpQu)nsnV!9O*TZ zU2E<~dvv!es!5Zku5Puxk-VBCKfI#U-+8E;eR1xbC%ee!WZ+6U;F0Fu2I^UNDm#~I zrtL{GbYwAjT}6GjTJY!$U%XJC5@$^$JW|4 zG3nxH3dVcT7DsgY@RY@QSG^TzXo_fH-sCDNt5-B!OgZV758|K3__zGq&061W9Yc+H zuj~_~ZS`%`_s>B0x>IGk(!SolPHuvvb1bzp4Hc%qg_F71!-ctO!w{zdg0&4QibtH! zu%{3yRiD;bjmDJt%T5O0g2O0cwYL8ho7w&q(|8;F$lsDp^SCB?d7yl2lU$nVn5&6r z{BY93rzt6HqIF+k3XNAEZU=|rfSh6zQoQf-rH6X1@990jlgi-|b6vj_=b)Yqo=2ag z9y}aPo~y0~#@-_%8de7yiZR8s6zA|XUG8Z*22I7b=fDvzAC=RiN2K$q;NO{}h0{1Z zO6F#5Gi~xiG_KYuor4>#!5(}?L@RHw`*B`ZOH5~B8`N(*J&iMG>bLL$LY|Vij^Z59 zx+zC%Sg7u{yEf{(M@RIeeOHX_tm+e8S9!V)LDv%*BaF;S7~}4*=NlHW{Z-zItm&e- zqLM67cK7K#ZOHqh(|YyfwCWUXk1e9D1mW4%Df+JV^bMVfzCj-Od17x5=S!s%t|W`m z7v`MgFr1v5#r7F!dwdaXCCFmhO0rmeqU~Bw+YQjRuu|XgDl3ajU#A&VyL$b}SvjF+ zlb=?+%#T+`bNhrI$6f3p82FUa9|h-*DktYlb#UD)8=IRQug$+6ebexCjPR@Ue;{hpskUD!t@ z53{k>5z(E>h!TV`sU=y`v9{OK*A9KfzEfUK^!D#->8U=^9nO{yu@$meoe#>%!rq0$ zBeT;dJ*~kb3$G`|M)#$h?F1<6)NkQr{B9^f(aQ$cb{OOL1J8fYm#1M&SwgpPjv-xS7hC6Y>WQDa!Mom?;-xYaK5dmYQk zg(2z7DO_!;K=%z1-RYYBOK6kkXus#dW6s#0M%@Y>T96Lip+6nn17kW%3;j71(Us0i zN7p^BN3`tsv|I@-E9zW>SXIkws85aPXx37e3|j1C)uC~DsECewEb*|cPo)mg@I+6; zqt4VHX4PAPilTJt2>UZPzu3qt2Bu$AoZi@Rgm)K%*Qw3D3N-#|L}NMzi|UA}EK2uu z-sI`L6gsb6NsjPHH_lK525^p*enw_c!?)_f+vt^M{^1&D=Z)d_mUEKRFY!@v9Yo6u;+1Rw5 zJ?NY;4}x=w)fVp^Imfe7a>;ZyPA8WpIgXw?Hb6`VEv%}qLi-O#?O)5Av}aSF#`u(P z`$iKTLB!Ludb!d4ZXDQRwrY96AO!+Ic4(8_32n$-*b{6l^ zflE{2-Mr*WE^o$D*T$;x)jjxC(9hay9UAeR+$ipPQN zJW)K7z4KVa_iafj7o5B(fSZj;52A?qk@j%Y2=i=}(=-JIB(F zg#|PgH(8mA*PLn8|g$`}fR;v*u09FN-%CdMongIcMOF(rbD1+_U1%ndgLf^E}U+lklck$I7_d-+M6f zf+>JQY&aX%yfA-w6wAfMT3fs1I_uwYcXw9%DD!i3u+|gv2uEaq+9O@-g(dW!O?yP+ zi#&}tLZj@dE6A1hYRkT!-T`g~3=j0SU5_S_di|vI7UzNX{+wJHkXDp?n;9Rix#fki z30qj=JrnlI#U+EL>&klXtDyEGk}5Bacz`|~R_WrlG0M#=K&kqUDvI zmMfv<(!zcoVq@&0;@Y>Ut*16>ykai){c|J;CO2*W{iP^EKg*oi86D+i`zgSTUTnWBtPk*@ZR~p|yeQ}%-{eC0= zvd~Pq=58mE}%mTDHOJ2=@%%0(?7oLOXunmlw`Z zUiS>&>dS{ah*?_wJ;S$=SN9Cx&fh@OcIr^scLGbxLQ}x2duz4#41brrx@U+HD&n4t zeervwX-jipWO}KaSvZX&iuzc04BtUoH7b$ygzhJf=A=uliVcwx4ok zKf?DEFRci8pIFex?pAq_pOCK4 z$M{SC6<{gnv-<8&RgS*<27cf>!I{*Z{c^#gXJ32oP^*8EJ^F3^?{x7NYsGQH0lPN* zxo?-i__v$^$C^!_Aiv%tc^3Ig+R;W>&%Iox@_sq#Pg-GjF3cxnk1FIv3gMs~>pm5= zL+?+ojAPBFzx3^R8dz3nN6Zi5biY^N$7iElnq&4cK-;aIcjbG{uXX-Dz;!`m)# zr=%@#_fMKA*UUe?J-fl{HD9nc%-9`S;eL-kz?9!nZyLSA1!s>tVnK4aV8Tn9m-y?I7{M;Xx;V~ zjzjTNwk-IZ^0OJ3?25I#7oRouCTHvUtg*4JWNavwebLyE4XbEu^dL*_OaJ^$)IYn@ z{vmFO-ULF#aYEi-ZE^eB&{uV-zTf`V_uB;hR(xJIAVD)cctyC!Y(ty$kW-iLxH>>ry{O)^R_dN()pyCE6Hk3aieNk;p^ zI{`{x#qXVd&gl1QeqYINwNZAbzmM8@PH5u}8EScV#=TPK8=eAxjm0q- zT8Fx>rzhHm=%Yi!df>>8AdRIZX<*-(+b^>RRwx^tMzH&r{P`O9bJ#Qcr%t)V2tBI5 z0zKc3=vkYT)NzLTMca44qZm!w>4V~N(%sU3{V-25wi7oXH3rlIjaPZw$I#-e+wP|} zSIF?>4n855;It%yDtXF z$wB4YY(CA4OIZA-$Cca5ZlyIT9#{lZeY{ieVuYEY*5MI+2X_xRdoqt6VgoLX`0=i@ zrXNLo+nv;sR8FVH#E(7SJ_O&2bvWU}!@IZN&7AC~@#?1BI?<1B*}`~i=f9Y?>)nN0 z<`#m3rtwhlHS$rbfs0o0c4neq3u|;?FXKg{-lpSduPB%1lH&o21cyCH{=FX{B z^p1nxL>O7b=pC)6-0d^FRT!JX*KGXH=4PCqdp5K+^?y$9t%<(fmL`?SbHvx9w5!uJ ze*Ml1QNRAw_v`cM*J3&5uZ$E9my$Gk{HomC zC?2c$gV&AKAj|$GqN6b>smF$FNg8bsegEp|yBYe5ZMo(a(Rzpo9_?}Pzk0BZ%B1< zMG3~Ey@fP%84aP&(UGQ?j*QI5XPxTL#>Dp`vQ{=d_2an_y_=JwYOVK*64E|f>*@SD zbe^Hlx>oG7+SJlMbM%HjJ1?Rk>a$vGMo8MDwW-vlK3nf;`AR7*HjsH-o%aE`_Ujpw zPX5wV@Q1!@wgJ|9VhMZrviD2Uns~N)g6LM?-7iOXY0cU6D{8f;yV2AADI2Tdu6D<5 z%Of+yt(seyUOHiMSQ?V+CngAGg>piG!-?@=D{yzRm8Ljh2E{+}Tx+M!95#U8J>@_|A6}ldy9DY3o#Q`%wD8$_mRPU2hkc;_-%LGUU~TJQ zvsEH4Ez|_O19lh9vpfG*L_H9m1Vx5|tTR5Wk=(KMU(%I*L6Ju|3a*;~XV>O$>9o1v1alD<8Ek>Q*l31@}MvzC~J zitFbrrgx{l%@2v{UtiQJlF;v#{(DF^x^!@;$b!<+m%kfN2K{G zjhFfFJ)Z7m=+szVoLAu4!I9A!zqt5u`AG8Hduv&`@keuDt@K_W7cKZ-5iZ=ty>*lK*OkIZv{EP`uoRSYa2H#r>_>k~z4bXIV+k>Zt|5#5bO_dRc;=)V#? zH=uJpkBL`oj}eX4y^0vN-`@1I@lgvjewNLLfFK)LhA$mgSJ4KIE6IV!@Vyy6Kx6ub zwSIFaI@LjTlZSJ`NiIRB`<=%E3m?WwsPc?$77wnbta$L>ASmYn8rk4LExs6N^fc$j zdDiByu!dnb#3z5z>Zs6%kFRTUj4tJK4757b=4*YMe@dI>1CrG3KibM zovZgZo5Y;vy_Eqrj)e%XUNEH8JhSWWTU;Mt5pTK-wvfs%@vGbA zTah=)r#(^dw-e2>CH7cZV-@x}PiN?DPqX;dOFr@IiDbRJj9)G7`>WpR2Tbl)#Iy5b zp4E(za6ZsqK;M9)FE<_r9c)FK)lSK{Ax%-j;H?MPqegrUq8uUlda2(&cEOBdqwL_#p5qZL zwM#N>Dx#UUG*@hwXq)!5-F3e*`PMo>D6qY~)=B<5RH?6DrZ;p?$%f!RkJ{ST4I|W{X&& zt!J!Bl%`?a$}53z2Q*o*u@aVEQE$*>q1$fp?iM`c**=x>M?J~Zun1hP0&iTWb zbVCUrWvFXt{Bah~n4=8@JVf>~>3d><&i zduRRdR^sBj^DR14(PlhPpGsRcCn21CmKOHPPm6fEwxNI~<75Gx7KwjP_x!uz5oP-% zUv~e&_9#~0P#qL}?^*5W(>P0#i7R&wXSR?gAQgj+a!Q@iC-^FZ>+V_xZwAhrHQ<<; zI65(7JaRHcu(A1NKMw?3XZhyR^Iw%+Z!q+jXudQW?8xNI$l+YxjSfCf5bzv)v%&3D zZf^9JOn2B~@QLa92zOJ+J9cX>?^c(0G0wZqU{)P|=^5V33_ins_4>3OmWH5No?ld< zAp3Sj@Z}>JuH6pTIC>npGnsKs3MY3YL-!b*rZ0_*#_;w4ALFnf%HJ8_ob|-;E`t*u zgl%9^9G+jGJk~E<{~~UMQ~LS`sH|l&lCPUqU$LJxBjIAGI~!Le0*eS zL}^)j?r`}RCT8YRo2kb4a|}Mq>XmQj3k*Is8d5@gUXtct%+>pHgO4mP&8hCJ-d7oX zd}4I@@HCd_l&;rga9K4|zP;Yy)3c1-y0-pqnl{cOy=bKo|K4J0Q!HRMPz~Q5#BF}N z!6EO;td0*D?AWwuV<(cf>BA9RjS|h03m-H1IHAs+-9oUBJJ|TG5)HINwxKH#O}9sK z^v`(*rW>p2@L9+_$fNVb zmOJ|?&m3PS965Y#{F4KyN1BFEbnnt7?8yx16y8%_jkW22b8A^YJhl)N)_+a#S?7tz z(Q0@F!+c}aCxV|N-LC+?hI5U@6D{MnWSUTl>)d2ueuVfm!tpG4eQp$AS94*l>7S9G zDKPGGa(7*JtSsJ#@;0K|6~Vb9>+=)7U@VJWpfb`MU70LR{j9j)&yL2;7QLCGrx@;K zKWi*K$B(5qa(CoRV~Jx%JRnQQQf;#J+tHG-RGayp4xWtiT1-^SJS*0vib|#1$g)JE zLw4mCz$@23S*%UXarx4O@u+jg=aVlR+|g96@FG9^*MRosv5_{X+6# z%Qv`aQvaO8+2f0Vhfh;925LEBs#pJ!=IUK+I@`qD9+wf}7UgnOR8?L)ME!OIA> z6D!`V4u*p4e?0AIh~~BETb;CyETK7^=rWbh=KnS5#p3xfo_ckRcYV=9`Hhk#11AVI za%8{)<3OYIV%cb39?`Tp88|e+8#9R91H=lj$nVw{_29G*Ug7CjS3VE>K$uGN_TKK6 zYR@o1<$K({pT5#$t0SD9xqfxcSKm24bg`G7LaUlZ|RV{*^hD7s(k>HZVwmaQ|X+Xo7#X2@_$n>`sPx3G?bDPQZ8px(tt zT>+O9=PO_=$Y6LS4_{B4#gEq$Yb(q>{pLk-O^j#3#+Y--&qtfrfj>C-uP_eIHEH2cqu}kOiXW6!g8v z%NDf>xhOl0E%bpl?sntl9+Q^MC437BrN%?g3nMsRIKo3Y#gIBGfAQ93U8{G_rk;M) zZ8AqS4Q1~jZ8lvegT0A%H@W%&Iz+ltAUlZ8dEOlH=k*zX3c5BwnhG-P(U=mie$Vsj z#uevj&7jPq&qf_sOV;Z!=4+dh$5fjNKK0*QX`^_EspkK+@%c9D4C6D%hPOxj$A%VY z%IMEilfjLSHJjeydA$!_hjT>H#qHSAF^6rZbj&eUOUIm>bNTVDx8pV!j4$<>=HDMg z^zF##tL>FMm9?p!)^~YYpRl4FJkVXWwUBqsQAY=2Iar?rX17ik%fWnsw2^tR;n0|R zFYOcW_b{e@n7a?*L|2&CwjaTgYwr;Gcv~t*e7t3@5Y8&-mSUQQ{N_i6QZ-ovx7fY~ z@QwbiNtTq!o6Wp&Bzp)>R_u=#My9=;po#jotg!F-6|ZZ?u@6<|q9luRqTdfe-wi%A zq5ba81tG!Er;ukRtL1C8H5nXPz~&KY4=K&tl0Ku>+jgytcyyVE2M?`K$BtyMF#j$O zug%Y$3{;rWk+EAt4H=KFNomOJ(tA?aPHW5i=&I5{SiGiWEaDMeIu_g0 zahHw7&J>o7#Xdh4wXSF^elQw~FDV*}D~uP7!4LT{cpt{#_M9xs1Xq}Q+Mlu~vUwpH zz#hr%0JE&A{p3EWZNqJ>ghOT4rFM-x{JcoMX#U?5TZ;O1Gk#rM;F+62&Z{oLnv7R@ z-F{orIqfyfR0ds^@;T%Ejuhs2FMPXG*p;U9pAY{(9PyvCGuHL|d@W%=v(@QPAMyPE zPkccy&)K*3p(!rU;Bt#6dM2~*_rqE{CSd9h@h4Fm@YN-naR*Pj^>_63x{D)Re)aJw zO44YJ#=^&ZTRu%&iuWG_1dVbVTE4kUDJ@+?&egLd4cxcn=n4mfjwZ#@A>On338>$m z&t*RLP8w%)C`W|yxQ=vT>|)rA^Y`oI*R;jpjwjMb{w(4N zvnJ(j8=0ArO6Bn`n~pa>#tmL~Q5U$@Ct~_kz8Ll0w&b4iR{ixQ%D)Af@Cn*eyg#&f zxJ$VG}X_Azw-TcS58KaAM2VU789ee%5kz?TyLA2n;y%~K&}7S z(AV~>e7p`CFdNT`p?RnVCLga{9qP@QWr;gqQ&wKFTycxDCt9<4gO8Yun-N~cZlN!a z5ukWv_VBWu>4|4+>4&?beqau@br6{6-tbI)@)dCD9>C*KKtk*>$vFMfxXFC^S0#Td z{vva}>iMkimoWDve>QoZf6dya*dn7d8h<-!a|3Puy1_xnhxkOjI(gvTyKXnp)1NjE z)vj-l|54yRMB!rp>#7!ymT?UA6P-BVpvxeJhw7kyY<$zV`9Vp;2G*41H#j5wfVT(z z3kremvWOnbcZZ961+NqR{x<*4<>cvG{MASCwDM^U$q53tl%>6#y7USBRo#$g|LSqA zO1|gokvvlUK_2~p@7qtQo$jv15BVKpdxdr??$?ie`TDf_xL-de?<#ow6aEJJRfo#{ zGq4mdtq6E^2dOr;+jq!|j3Bm~I>g0v`$u35tz>9+#6cMk7hL$@aQ)+&D3KapP7zsM)Wfcq(Fas04#P;)Nv!-o3Y8SPqPh@B>n zK6mq%y8>rDel#BcMP--}-=~4%)5o#vYupDr>BWXQ+gIy%CDk!^q-&|(hj)8zr=MyZ zWOrDcek$1d=x)Qsj7{YK-sy=Mi!CBMpzc@wyQfE0Zo?6 zLGSMvAi77JkEJynLntYJ|2ORtzw`Phe!3P{i+2|N`jz?W_8!yQzLK#&qpae#qJ+-E z{j@LQw~2!+mMrHHb40Ye^Dq7LfAV}*tmw0*S!3saDgQ>s&XbsDl85y?sP=N@X@one zJDm_qe;VIJzl@%uU*BJe{LuFxPb#D}GX|vNrFkP6rn0N~cP^e%tN5!=kULpgCc`9m z1P^lOT)uBVCEQN#tmSu*Eup;R&V3@>t5gZURquI~dbzU>xa7`x{0(hZ9m0EGU};%e z5%8+-C3jw6^3=(abI997cK6b^@sN0e4^Gwq-wIq2p%hL{%+-1%IkKL#h~p+d&IeX2 zKh{Zp3=R4FjF(pKM;?6|`HTEWJE^G8)bAIN@451&hJMZ2`hMr#Qt!-5P$Iih%oRay zW~Y}`R?6VVMnmKMsVDT+M!suoT$|hf=l$6=R#qp=GZKLAzD<4~r*WkDqV%9csto?^ zGk&*b`lj+JX1({Cbho|jVAs~&luU8? zv~5Z63WqXVDbvE+7)M5DPV^H=U#}XBPaIF@{5H~KUH#RZ17DVe65Tj+jf-kKYhgXB zY=WQRvqx{R{(}9baq$3fb~7%1@EAAtZ$tl3pJ^VfL66XPoyXRX7wqG`{qiho@7P~$ z)1Lvtjr9R^dQ@q$A1jr{2mA3cnj0Va{&(ZUlu_er6AW03t>-98v#oG`?<4qqBDi}c z$N5F6Ka{?X_3p^rQE9i`6XVnAcv9MVy6-55E}pbpp3tj3SwF5%_M-*NEmX&S7#Cls z+GgjqdP6r&%*xpwRB6G5!xs zML!H(y6hEOmG0P+<$@OVq2k5;N;HPpHExr(gdDME% z^Qw_Im3bqejb^8@y_Ao;9c_A+gT@|>=Qr>kOW1&W+v+;59uC$^bNw@ZtlMsPXJd=^Zbrp!)m4F(tr0E6Pp!wfLR}gg52gG9 zV{(GERc~n2%MiVl%{8mm7Su(5Whf6aUPu-_3|vkwowGsvLAS>E?+tgKKANK~KlZ}i zoK`MjXv|!K{YkWgw%^jzHrrhu1DTw8IQ4BwCMmLaZp<#0IzDZ8@Bln5x}^U; z0(kf|+56aMrb|4!jB=OKp1(ma+wN)DNPj2E?9!1zHQPQ-TZNa8~s{it>8fdXV{2Eaxd}*T`GCq6h7`Xne)63w^gj zI(2OFvVGZ@QzYBn3K(P}zCpS{zrZc?*|F()gd^9|U6_cRtZSmZ_|DYljpR0Q!Dgm8 z4m}%O+`FmI8{r~m1VR90(_BSNmt8)T}R`!Dd}0BL4$BlOgVYXwx+T( z>c6e(zh8jY>dz~|_atW8XP9%EH}7I>Y2KWVzRaAqx0KW#*-~^TlO`lrQ6{9TpPGHT zzMo6_ZqkM8vHE*zg}L0(O>F+bzUsk_uKgw(peKeg9)#y{DIRynVmC4ZDRCs+Z+HT~ zi7T-*(>Hyb>k_FxMNC(W_cQjso#q{SedY1s3ZISQUtC{F8^ot;DW`G&an_HLy`Z!B z4IJuj?d@`sE`~r$f6o8ZTL@kLT9?zFB46d6Yxm>|f%5dLkpc4aY@vO5KTlBjbxCQm zT4r;`y#u4)hzgq*c6ZDv7MAZ~;O9qYVNLv&&3tYFa~@Gs2_Ks3R~Il=kBm+%^iH-c zA0IezWOQ!E{Mf{&bMX;vwfaH8XG8EWUx82JcN=Bo2fCB}(oKbH!LavWY#C~=>I9^# ztCjo3!@aH7u^quN%?JKCQ!bczyO*OsW9)Ovp1Xt83`G7DTs}+36|vjw8jbj;b0glS z8`aZ%v3@DI-e1G{feRtyQHD$g5c6?*oReOjz#>+VTNn01cle+WoT>G0oSi8bG>WJD zz%8DBk~s2;Lsq}OW_EFRv+F?psY8|k*1Jz{$m!x|K3~w<>F(!x6TKg!I(JylxdBch z3hiTKu=XrLakXpD5(KlegtifTH7bmG$s)Zk#%N7_Dh1oZ+hyXo5<*_#K=-SIKbduv zbB1{?Fj?Qfj=9h8DZ8cO+x-S$TWiiD#9Qgk*F}99pE+bKblsPp=wu1TTlLxX;Ly3l z#)^}vzv<=kN@o!L9s9%E;cYw=m#Rw6+Fp=KZIZJ+)a7)hO5LSz8weM|Pkb{p!eRtzqX~<*?85<=UAN#0>b0feVigjsytu>~Rw=Wf9Hcf!XqEmLP z8zNp}FKpAfK>;O>p=GJiDW3L&OM3E$uPm447T+)mb?PG?I*8}jAb7;DC)UXIsBEoV z?>LG|P$b)30`fg7Of~7dR+7h9omJe#jAZ_P>d(u3kKT_>rLT5nY|T=vumixt2R_Et z`86xw0P*V}Wu8iX$0=BR9#7zKZ7T*kZWvLck^4bV)Fi7{G~Eauje&3RPh1r8hEF!fVekbz*3Enuu5Ya{cSLjT*{jY)WxH~bfSt@yzpqcUgICDzxrLU6u_+c5 z;+A1H_PkP_^OIvbY$Jq_n}6=yb!I+ThuVqzJ;v%Cd^p@0>`Z!iYtfuMKBdX7MKBPq zftdPg$y)E8i7eW}UTAK7+3q%pU(!oQp*ehPKeGbA#Q!n!%Z@bR?MQp+Z}F@rKbKmo z?NzfV)=s45qDi!jf|Qn^YoMn!*9YUrTBpaS!#b@wG)X)1a|q0y4@$$C~8+1Lynb zvu}X7_*`{(c4m>ypswTT<|ejNovYSCq4jw+sUGg8cV=`uzr&ePXrs=Ip5e>ar`4Ys-9cWR89kG~fw!tdWuFZ!#Y-y! z-iy$!b!K!OeUc#8bvAUIyl>|hAwY5G=4Ak6Re-+>_&86D>rLALdmk`XjG1x2w-fv% zI6eSeiZ*xX&$%vwle^qGmmPN1{!jDZzMP#umvZ_%kH4IK zonaoV+4Ow!{eX2&`=k;%gN1LQv!kaIvssJchP%003uRtS=GU{@9BGu=>H)3>E*N9J_}r4xtLXw^FRVt$8DV^UXP zDXo%2FQM!g8rel-Y|%J>9X!-}QfkjV(6YaycWAJ!rEefru3{ME3D2*CS9sp+<+gMl zq*1rxI!U(bcLhBu{9fkw>f~rU!6ykA>z0JDW<8a@U7PSa>a0RoX8ZAN$ZU6}=+4=N z^Rnca964quFlmH(E>DhSju2i~XeO`T-q8d1ded6;%HQb~5ifVi-W1bjoUDOCulV>% z%56qJdPGIK-P%U&k0f`mr|sg$t2{sS{h7os5pRMYlk!SJFj6euz;@b#=&Afx)Rxsr z=U~gg^~1x~2LIjH{TlLpmU=FsknoSN4;KDW@Fewq6ayXocA(df_FwJi1Q=(I{mhAd zT!zu!)B9DNF&nk({ZD7(lkCR&cx3UUUINmiHEA4C(>>G{(e(NpP3%B^iEU9oyaD{X znN+8#tV9+B-xbk1yvtKt12o#i%Qu2gyu218=4t=~XTSRF?vL7~LEvOBT({*r|En)Cq5A6ueRJmZRJy%fmNk`LXKg z-GvNSQ&y%fP3P&Zp8dp5ArQ2e1*&UDTCP5Acbdk_@0|3a{-x!`FYSlk8ui7V;46Fv zeyJbcMmg<^KF*_n^3QU9-mTT1_Wd3Gt;72|27{k>3hU!7WsBohNix`w&$lXrwGDB4 z+YODv$$j&H69*<{O-K6`l8^iG6_+k58S)O=64s5@=~ty6GOrL z$=?aS8=>tuV_ReF3*6g5OuXyr4@QNq8-`50fqK`IHXZCv|zx!+ER@vFC)~xq~le>Ot zyx~9Mx6Z->uk^bqxy|TM-+zGL;j=3{$BmlnWJv*mDSti)4xQyb6S-M(Ueey{t_%!c z;bmq7Ncr){;1NH&wvXbYS2|#Vr-^ohll?@W7m?b&#s~wV)ABpHgPDa%_ zx*|YI&qpaE`Pc!1;{Da|0iLRgj?~kih9kd+9-E1M9qz=ReRVRjXzoXhb>Xkj&OeRX z$sRgI=vtZnOxyTz@=N#n1ch$_M^e95n}0#uAXed)_V(atFx1mBG}t-JeH~)-wDdbQ z%y}D}DXZ0eZEh^)ZN$wCB*}Tr+Ss4zYUc9VWR#eP$!WD!{ql*3Ui8lYN7^bG`$_82 z+}({2wdUM+xKpDsRy3#fp5ygJMF1okbZMEJbGYy-1f@C(*z9vtC^A6?7T>@3-zYYqB~d?4d=p( zFXecVZ?G{V4>B6Wk1tbBz8mMGV3e#G{exZh2xpb^Og;7}%b=U?MJZtJFP`T`x$(Gb z9okop&834=WAZNAsxcYtWM46w+Z7Wn^^MYAbG5|*&DIvd(yfS3&0!ywUIs5F>4VYR<>IY6jOv;+;$rjas2N#50Y>zsd1`xQNzrDxpt(@wedE z-IydZyWAYy#yPX-740we`>9~tQaeu5XW^d3OO^MI%xvKKCK}McQ9n9624%k`ZjfKKczN1JJomit@6myB-ATA)jvjU%BN-ZZb;T_ zkbUaAl%#v5#> zgI&&8myN}=H2Pm{W$ab{HR8o{WDi-f89|z^m?`DWzkypelZRq>QQLop4{6+X*@T$! zbMv?WoM4kExqpuJonUS?5KQzCGaQ)n9=hDO{Xe6&H>&MiT;nnI&`9@-)=0kmAM)PS zm?XC&+lu>XcySofHCQ!gn$GEog%OVSPVhqS*uwNYR#_*)&XCDymt2@-tOmL8GwK%I zVP7SBl4P-N--OPYvm*rBc|)69emd2cpHH?P{ttN3C(@Mgo|5Q;%*y|g9zN)AXK4D_ z(h>F1-{3oMSE#Mr} zZ%PvVtIu0W&i8ri)3Uocnny|9o}}8%Vco5G-kT`)KT=vR0Iz5bZD>w7b1H0aCAq(E zgJ@J9m5bMKmA$aA?5bpwFB|gfo}=_cm8qv`RkAs%OL=SC_@KgiD#?R=xv)==zVw48 z`Utqb%RlPH{Hw2XP4X+gZ1FzD)-^7p%1-2Xsb$RrQhq)J9BQk0)RcaA`oqQiuCKQt zY4-Kjr)By>eOg2EInMO;iTm!G%$xeWmE=-ihuZb~tZlXY+*a7OO7d`DF4Ph3!xq)? zh*CN-9V_5bzf0dM!gG1l)?3)SJAOJI?kH?$Lvlr0rorZEkkwZL-+oH{;mYsw<)x>E zxhNg((Z0OelTXX~An0&ckykq0WB4n63Xkeg*~jud#fw}Bcw2enpjL-lM_%c0JUNg_ zA+Mv|m$XLG_7$Yvk2L9Yl7wF>ji%4g>Chc<^3SoOtnM;6a>C$`= zRPpKr-wJ#eaCbk?GJ2`mjUkr9^X3_Kl^~y-cx=g@Im0BDbD{W;0GPGA6oKHCzoW*1b0{+BWCTW1TJQf#~3mBdu=v{??pt1*5={H7>wr}QFKt|`YUlzM_p|m`=g`l6 zlu_TTp?|x{qfZZi>E9HCE$ZPHeWSkZRUQ_*w`!kFzg*0OTzATSe=6|s{gnUyp`4F# zk$tiLPMFRTWb?+5HLH^W-5J9xsP0U`+r5rPS^VvR~^ST=%*&sdn257MJ zg(Hh~Y5k<(Cp<}QGek16`~$$uPgpOicpMs=I&=1QJEwAZ8uakXxa*c9AiCS8b}PMS zUwxKPUgyycsl&NMeY@}t=-KDmq%pobnIA1e;%BF|Mft8#zPiR_ZQX-CtteggDb|U~ zAoPb%d$8@YL)C*s-Z{(;i)}J{({DjCBgpN8hrp+O@FSX-bA@^(4`rklTmPNXd;Q+Q z?FIE-?9|AD8RH!-&*x69;!4{iI!g0>rMUcSk}hmkCUWeJGwo*&Ms(p%TUe*Y{2}tm zKkLmDy0);r)d368xWold0s~AC?#AX$EfgApeA5`v7z%c&Cs9W%-}L)e`6u~yBY*V? zWgFmKC>vy4oPXHomy8oU$hZ-{$1-k|-$9Or@{)05zI=UJy^I?tuVmZ=eMx2g=|;JsWB2z_yj?~DJC4=nT_<9FPT`aMfI^&>VH`viUQR?S zp!HO??j9$txLhSU5tS1?Di`?hWYX&EYDk`vmT54)hH?Bf;2LA0{L_7TwLkDt zFWmXGm~Lk~{WbDx9N*60(2uG^W$yr%;$<8Myz-IIIMx_X7@yJ$=lJgQ=ZRaxIKB;- z^k#H3lUB;N2uyl&+uZz#!8xaEE&*#YnBMwwuw`IdfpM)I>!gDn113FLuXwo#X&D?* zhd#;D6;fD}RNqO;>>y1_V`$e?fk{V>ZMDw;R`oJWdg3$r9nY!r;m-L%PXxE*xBT>; zMLvC=&0o!{SPI(rJx+gkj?$S!3+I>G*0QrhLeqDd@sr~XcOYMM#95q+`rhN$3yn!U zDRXz!1>^0(y8Gzg|wF69?K^=u^yf|y%VfHUnxDuD0> zy`?S@e##!FbE@ZieyZi0!i5g}C!a&T#i37FuMYBCw8r+4EdQ$Hm6X#b$m1-nA-Sml z*VqO4E%UEF|ElCSOL47A?(n$6p3T~YPE?PllDx*_DY2ckES{Jh>mHfKTI>yxF$6AY zoW2em8mDo6zYVOYzSsNuq(6!Nu&pvwKCOP;c@ufH z?!1}5YNzn14wZci-&4G_BH-0r)4H?YcnuBjwIpofd*e?{1DFW1TN70-@ukZ0?f1xDnjVSrEHYD8x)xrLjo&hc%+I6~4dy}ZUwL_1|4^JS(Y?+vuRam+bgf!7(6YCqrN6)BP;2i{PrHqtIw*}2?>$g1h+aQsfME4OWM5s0K{oH#pSxpZm54+3=Uvp80C$w@)h9c?MX*d30}<2*>V?1#5n_4h$6*FL?vqlKdwN zo@n|U_+$M?zdz4Eot@svUwyQe3m(?;FY>D%O&9Q*`<#57h`;qxw;5`0YA z119g)TqW&g7z&hjyO)<}9KF4R1U_x);~_V~r?ho)ZJ)39ZaY2^eTVE$LBq=V+ItW5 z=xKG!%l(6uaIy^bBb?>Cp1leGeP~#zlzQgCu9b4YUiw=6_yM>chL1)Sx<&K*Si41Y zIBO3!&v##d-bP;Sq4h7jU$rLrF>sariT+ZyShv$SH6JT(t)*Mr3__EHRvabN|uZ1h7Iq=qzWp_tgxHkhM;KI>?> zcpEQYj84y>@n*hJD%V6h_BkFUo|!OTxadu}tx=j)=KD%~*_Ncm?5H~MWqSrE@X|ae z^KWom22THiQyslJ`|)XYH18tK=p!g%%)8wYe5dE>o9Opzl4E1aZ^t3DTVsIXSoybT zEOE!FbPQ+={X2QP!Sx#zH^1J_rc(1uGCHZZU)X)Pc8)^k4yO{`c4P$!dx9NFb6GgU z{#W{k`B)R|d#yvBzYtA|#X28fcg7-%fD}PJB*(IhV9*!60yW zS2f&+^jL?{S@jz2|EX7FZ5?{dI`Zgq9)Hneim?j&)Q-zztukJ;um;+h$q+!%IiOi_K7zez^A)kbKnzi9)+<;yeYO-4tMu*ht$0u zOGu|SZc({<>fz9Ti>Lo2oRyuVdyZSqeRJ+9%V-@C4_cR(mU#Ka%t}FqiwD}x^FkA* z^L(1c>`;UycW7=gGZ873O%Z?aYprkB3hfm?9zc1;PwJz^rMB|HL0&>W#BG@U={=YT z1m)6kR$cfH%p3JFvWR$`uxEWO}77vDl>9W zaUzhff6b;Xl#|Z+8FbDdXHm1PP12+ET{86|@|EgN1A~XUxQntkRh?3R)uS=fM0t&w z{99DAi^+4_t@qN2R^wwHe5O%!tj-GbHB&x(+HH@#a-Hg@ODMAz0&b?D+VE zrfCQ~d+W%}r#y_2p+0&TElJ1af#9PlCl_th@%$Mr4(mR76kLc7L-OD2WafjK? zJB!J1%v>RZ(J9_O5}dLpJ`Mq*@gHIU>ie(jE=8n2>Guxu%RcgNc3zk1R&m&@Y8L^XE>2*7SHv#9Cb`Jh%;B<%OpC8eKw9+LXoID0N+k|9sVkr%H5%kB$l7?EL zGIeRHX9sBuirznwB@5@{N!#V?vbac87jRxnn$DuE-MTRDbyd-$vnYc{_t{j>9^gh# z1m6R^9r(!jxP?v%cv^vX0(b3lNjlH!1YSMZ-Q|tH7VGFbV6h%6pNadY=U791vOzVX z%U(}DeY*IIE*oJn6*l|LEY}?GCZA#(z2cIx_1VSy>Eo$J-fwim!$J;u2zYKPh-u_g zi{lyX7Mj9%M!S7HqYODb4`*Q;jIw+zBM47pQp6#Xc6*&b>563}-9xdAZs2$Lgjhx^ z(Iy`CQ%3jbZ(%Z(=&WsuKZ?RuZL9hyH(t!v!Qq$Y(jYjUjNz_0=Qa8s^tWbf;8@=r z(H7ZXam(E4H~T507?@E)8pr)WM3>@V*44X0dqm?w%1hR-;-A|050O0l;pMJ8rtqjeWL9qPur)p-ay-Pn;bp* zt{5WXeHde&_oLyCfOM9o)#Cen4yJtEDIc<+O7;TY-4@HAAyOHQ+N=AW7I?Ikpw!v> z3V9fuQ9H+cJD-W6woHHN?HS+-5Bs8)cJ8U!cYm?dcW`+IYH|KG6VxM`< zw?Zp#U*bsKIXCCyk4x8X0v4X)4EJlri~GRynTY51K0r)&2`|LgBb1Xp<4)H9(({ep zy*tGPYW+41ns0v?J!?%whS;{uUfaQyJHP(BdiBXAcy)2D{x^+tU2mp2zKn47Z<8 zMBnvvC~b$sSBGm?G#)Mn_ik(Vgn#JAtqFo(?cjDdNTE)pU#P9ZeT~D713SsSPK~WS zHDhZXGQOR>wPULjSnb%-c)*-fnUBU+m-f`5|HHTnzZnl2Q@8msb;R0SWD5fa&z^MG zISEEEaP9T;^B46C47QJ@h>k7hlMvMxXo=h9=~)&%td~DwOawh&``cycYvx~ejjcI2@ZmP%g6ze0V|ZvlPiRFhtn~@BRz9Gy ztk3(czG#Ew8QXL{S}3={+Xm!?-X$;8!~#z4A2L zA3pLit#6Jov?#&asd4gja7Y)qh&OGdw@;V)~MwCr>m{HWBiLe z{|cJ4c3Z{ICxb)xMSpw$x-$3>A%heU4>=supVWW925kJhEH@u)6hvbqHDI$nTmBdu zlI(po$-$EIo))zWd8Vc!*Qy$@)vq=^o$`t~(|D;HBfs~0aoP10jQL;%(aRM*wn+|q z70__!<+=lt1lp?Lu{IiF!K=@B+up&QBTU-%4FTSHoR~e%{xa;T8$%j?Y#J}3Q*-`V zc|KH;RG&`q;IBLnPDpRZJoyy^(5;W9rdRpzk1>8cxdhqKXGAX@wU&?cwYyhh36W%m zUb3*Pjt<{C&~EYJhx4J`1>Uz79@t4c|M&HG_ZQYL@c%3IcOB~MC}M!YPeuXv3}Js- zmpp`#seXC^{ic3;C-X>g^PkJ_TIM>LNom{)4z#ldDev=Y@*00^3@Q!nM}Nrs{F=P3 zEgF+bLxV!wTs>O9lVsW+y$I{s3oTFIyml}5biv>}ubEpMp+58$8yT*9Z z80LME`UB49oyPOufJ^UZ{W+8rul2|{vS~UgYHd9uiAsJUg$-*25dU*%*_| zyg9k9Z_+)TlCFKu&cg!lrtcYu7U|n9a5VLa2i&!lUJ>yYeS5CKZpF)ij0fW9D=GJi zO~mvl)#E4qbfA5J6Mh*B$SekS3yxs;mFmqyI+V{tb@odh6d>z2T zSxV=Sa6Wxi#78@y#_cplR`G+ji;u6SoMi9QFecC)u#1b^IX6S!>pGjDM3r&r&K76Q z;z@0AcEMR5?q<*j%Y-4z=4^tqJnf6Kaq_LPt=d080|wiAw1QVCoo)YMuQ!I7Go%tUKjDv<~jib2bhw9h5jei zIor6`lm8}g{fvIm+Gi=hlFmgAXViU)T+It0~C#ih4KJV0Mt z7x}5wt@-da@X0^o^B}KtX6oEuwk<5vLdKAN`)nM%13X%zcjU&wcux1(OeeJ{cg(W4VO`PRA+y2y3+pcj##;DI@JL4w7=KWep40g@%_AXBGA5c zJ!QkXCi_puZ*EMtK##`nfyMci1^-@)VA@N<8&n$STI-q;u5Wp0AdGwE@yb-2AO0@) z`10bY&5y8$yg%aC)}SX2ZE_sTx83vX1C%peJr2OdJnQaXkh`vbp3zX{L14P=)?f## z_N#5-U+}-vy6_?K^oHy%QosL+f2U(b^(azkx2*p|YO>mg42q8}KeN4yt1Ue1yDg8A&@46_z6mIOarGtmwZmF6R8vYuu&3-QHci2n5;OQ03iiwxv zDZnc_|CRjGbsQ&u@pv530XvxG%==J=c^EXxo@oIb8i#z?FWg=vJ8f=N5AGk5C2c0_ zW9y^qVQa^ip@BGsdcY&Shxtmr9r^lPTk)SR5>z>uiCZkSwB%KH*V5M*DrjY+^*O`NRFBBF!AViyK0o?Qco0OMa_sLTI_e*4N z%u-PLkEkx*FL5=67fix0kN4Z;)f*;_6x90hcxF)O(`(T)>U;6N39Y@|eZ8%R)dm|i zISBZL@B82vj>q^ht2m;JSz^CBO&-)+XJHQw8`oHCO*w;dN?Ro#lm#QLE+ zi!-`ps~zw@kMUQ%=lzoM*`60d=Q+FU-;k!|)kDSeq4^*;aAwlJs5~t1`8+-#l)vlsFXM4*WZkub;;(s zv}R*eGM~zX@qahI$K!tszrz?0xHbOoUI+IbOBwFqt8fl^HU7`#Z|J8m{_g=S#S0Yy z@0hngi+vyONM4Qq0lgu^5Ybw!alH|^#y*SgvP*FAGl6e*`7Jt|^4=L3;^1aj;E)SL@va zu{#fPR_y4sN66w$y9&Hd>p~xEQBosI*Wz$i{$cyC!sHSS-&*&qYLoP|5;}uCa39*T zA(@reg2}OGK+T5a+Q}0Zsnp4aAK+aiY)d#{x_A}Z-?vjPe3~U^RgqMOQlnA4zc1yr z*T0y(vsh*aXZxXn!A?1a249pa7}&agN%&S#3TA`qb9@`L;fnOFNC9=XhOLUavl$v$gqC z%AhCU!Kh$?lfA>UE26{c+IUIJ-XM^TrReg%;g9OSi2U-ge=7CMU&rYxvESc>&y$=Euw-MJsv@UrKjI))ZLx}HXhX{mq3T+ zbXA|^>;tt=HR>(P*;y{FF-v2diRKdXVK3#whcoN{b(+Py2T-TJ$HhqODW2)Xi91Ha!tGRc6xQ*D$4RB&}x@xnX>qb<4d|tMyH3n|+#HtykGf zY<0F;I?8o%`nPe>0zbJM5gCH_%o8s~xCGzEei6=)yFC8|-yXq(&+a?n)y`yGc+3n? zI6C0tu7>eena<(+ZLc8)8$t0^amPBNKHArCd-%Hk?ERFLUB<_`zpv9z{pEw5gJtY7 zv=?_Cc1~U+)lm9L?;D49>+XRp?x9v`P3`dO#-G}+eYAJ<;q&R`pzj-{>3$HQr!Y-A z-L{qN{o+ucbhhYTmUR<^y4U!BKjOM=#-FUc+z}M|20xEFHaFm-y?CrLj%WAywML2c zrP9vMr-_m@Z3}5DgdR1kSx<8_WzK1k3-$ztrY0R&J%XRxkaoZES2~vNsK2&0)Ns-* z!Ug=*dT|A1bb`RPGsm! z>JxWP@ZTGh$9=zN>9$)xms>A2VcMrB$FEK2hT`we&M!~)AjSsS!u2yO%MwzaZS?tr zX_NX`yu1@qwB-*8p8tyRdnWHn1zlnvv`eQyGtYDG;Fn3IaP((zhbXeO9I&)7Q(e3x z+239TJbZ|GwFc{4x2=)Ec&k1f1gHA&_3s#tSp#;wCFfUnrv97=9D%t%I$udrhAVb z($Z2nLsz%fsI3FZbWIk?PvSlMNohFh;~`051-w_k9VDM@svi$d$qSG3`n3?V#>vnw z7L2|t7L4jBQOA*}4&)n)1k>Y(jH1l+(7&qVYVt|Xd38hGSg2R@xAnJOLC7y&yD1Y@ zXSiF&21pwgD9ei*C&@%@x80h*Q{b&<0*qj3W&uWmjle^pA5uyWiRf=kMoxm>HS8pr zj0Uy&q2Shh_-?b~Yd4FqTYE}PU992Z`|G?-t#o9zCeRN=wnagk?YG1?;xjSXak6RNHCvO#vu(329 z@xjix1%%j0S%XH6j|zAsOZG!car@nyf#Kb!k%O&+-K}js-rLRI6Rb&t1DkxCwMMW? zAm!g?v}?T2M6@&Bi*dMNUYrJg(LM_vjqS(n;fz+;cdeWuNBo3#S1coK-3I^|_PVLy z-{JQIrVAfTx&8ZX`d!j*|8|>xHzq*@a_gdC>xuP<&!pMXsqb5WZAi3#(~q)7o?Wng zQ?Vj95)qmSz%64Y!)-O2i2f<-bwAgHqdD?>(C=*tH&&y{WkR6s4T5h^;hAl2pkrs! zw=z36x!6BdcJV|aTd`eezs$-DP4|h}vH6+kUQu}WWMwT`Z#;TZR(^l1NfP_f;hTx7d&BEvc2fI<^y@>oH_KCRE!=j1BIN=O}&^Xy_qNT%!E6wv zvssDwwKKW>Z4jT1fkV3gmTh(CFDyWE8tTW#YkzmoQ0HK(j!~7hNyeYz^Gdfxw3(Y+ zM#fv7AD^GGzN~?QL477UTI-)|(8AcOjs=?oz^gr{T^*d!_CPbx)AbTS^{B8GVY<+Ape?mfa!fenNGJ z`-vy=eaEWine)4O62HU!M4(ak6Mqrai@GkQzvzDA$>i1j#8dbi+O9f;_i4aVyigJF z-pDwqzMoqqukI(>h;2MKVlVR8oxtOPGaQorDDao2U4nG@PXNyJO!MNCir&olYkSdB&M&OG9DO#P+uBgEc;%ZuW9 z##sotmGh+*vXR|hEl>qCe8HDc_q}L@bnc#9G$n@HO9Z$1WsABc*xV7E`Bla&*eOK( z9wRt&Yyj&8%dB}T7{4 zE81W8at^M{TkyDajk!F$ag!!xc=lE8111^tm7eX#nR<9g=j2ly8(P1fLs`YDekf(@=rn?TB~}pK7XP{f zZRlY4z)-)lkWCFR3o_Uk%C6J=fK4fA41O*2Ra0`Xvbem0>$waW zlUqew2_D=S@c{qAQ>pQG(I%e!4RuK7el8cKb=IzS#aHkbAg$i1Ja;Ps(8i7Sg%^WQ zGD2v##!Iz~@b8S7#>BrAjVKo0sa5@I_e-L7%Vzpi>sNbTN?F}g>^)Goj};{QUD%IX7RX9E{`R4?*41b5w5tVM|9&th_Z7zi3#*03w))=ruSm&|$#~LBBcJDdyOme6 zpX~fd%jH*`QV*{wBR>|mlK4{5dMsa-G|iV3ACSLFuZsBZ?vziR58~~sDZk+?_zT^| za-?KbJ5#v(U&#-7knuFweY*9bV)x$So$RyNqs>rAqe(Ey%k0kRrjFny!wSzU{ zlW_|2UM2!?>9deKfeS+K2f$5uJ%Z`^oEEx z=$5KTcS~gz(Ap#Z+)UXUz&!<%gDsJ4I(z~F6_%ANO%c7#E1drcMTKF6;#rJ8qho1FkzXv>8tDbouy=zdo zHy5mtR}FU#9zm$?=yZX{i`LO74{d)?Zmh1%wDQRN?AQ!`Q4^E-HG5@7lB~hI=R!84 zP3?Yv)b8T-JF3?WwYBMoHjTRvfLHtR$I*eE?P=9mA<}|{-;o?Cn?R0Yr4L0kU=ysj z9=ID0M#1S%FgyE)50n2}@R;jM8?QgV$c@XZeLW0!K6#zI)*Xf~{XdBG=Hz7kJ|j86 zW1jA=NWV8GZ8Ixg?$_@#xl>x09yR+#`Ne-UqLn?Jy+(UZ=(hA{O6$kSFFocR_*cBX zb}_zr@Vjq_fHzl$M(1H*)4cpRxHSLj@l*I4pz)Itjqo#%%lfbi=KJhZl+!)Lc97)l zA!>DXL3UQ1CF=Z4R43!;u$i)q@TA4i@SxYp=3&0hTPUY-a&e3LqSQ3w_5J$(g7aN_ z^JAU6;Q5IYY(~o{ChaWbbYk)k8hd!S2fmDUY)G8fk92d|V?H0zD0!^69smCW2Y7d; zA8Q%*h_ZLkFG}(BegPbk%a%CI*ICP))yLrn?Ah({W?H|(BrxB0YtTihEu5FRz^;C- z#x+jkSZ|lfCWXgZS9lvYJ*xJoVcHqx+keunua>7LR?l`6#wgdiNQ_s3kA2o!TAf|5ve{bU(RP zY^SeBJg<)JRImNw@xN0}_mE#^Zi>fWIM4A_-~Wm<@%W*P^MbRW>%8m{BF^a?8#+f6 zySjR4*3U&hwE6XQ-&q=?*?WdrAXK-my789AK}9=pjJpMeLv`;OmKb~Aj`)y{z52Ds z!?1oXXcVu$18&XHH*=X^%oE0)d+CA4lm`2IIy#4VVX|ybOzIq!2FF@66SYYf66=t$ zN0E`FzmsW!OFAtx2opcp14Wa11RA;!~T=~21~vDChXt;717Rqla+OQP4*jHqUT5C*FJMM#&Yrfn3`7Z z9%vnE?<#j9fM7qVk(%{OQKGe1^Wi7pck{vZjr>Phv9BM{vygUi<;LmXVWZoaU|`_E zv5ekA37z?3pZgVH8aYJZdUT@iU{pA{t|j`{2!mh4UHS z3?L__ys#fu{=5GdZACr_53%j-P>c`lLE=vw`%b_8o%rrpm$)_QJU%|Nq7Y~9Koy;9 zv7eKT#-JVz2s%>X*=F(Bq9k9Y6-Bx3t)i5amYtNT7`p5%wkySx!S*C`JhiJwKU_Ox zud=twUM0j}Glg$~eMuX1V9&Bp6w{-FHsQ$58@-4qYL=({CdRvLTBh@mOBxr_zy5bL?wk!v@wm{q`UQEle|(O`Mswu*+N)RH_h!FG zUtKufMuxh3dGYT^Uu!RhCs$+qY`aEYiMUpleOf2Ko0HAkDx>~x_wLYvEQw3v#OUHg zb`P+MeASV{bvNz$P_q3{3eV#?j4i^68Tn`C@w^~~=kdHcg=ctVKloa^55Jn1F4(jD zIZ-Cur!xT5 zkH5yAEMDsn3;2vrc_o64uisIIyO!l}?$Nl?+Sazq2dbErM6Zz;g~T{O$FMfXZ)pH)u|%-8z=42TyHBu&gu~6Q52pLu2tMB8qHSw2ZK++i^4!zel^)V7 zCbI9+e7;k}Ut$ND{m&o~>u~;%v6n?L>)<^M-|6+!>2dM(Oz`R4+sj||zwRBwdi+w& z?N!}LJ3rS~vfrG~o$Ou6+X8(W^O=v;X~`y!<1GE9T%G$gyMOS8!3;6xViMhM;I}>cXV69Wq0@yrJ*ftX7g)08Lx?9dl~!F40?zx!Rh+2mnfYR_05966N?U^8i4u< z*PX8KT+jDroF23XB{g@Q>_J1ASM_vqo^^(>IS824U-tly=0>>VTCo9=kEz-MEWYDX zeI;nVS46Y{Uhj|<76n^&RG!B$_|9tw8y*Y*L@O8FS*U9USN5U4X z@3c$xoKHT*gnAE{)y}(kpZ||kol9{hktEYTJzwG3FV}zfrYv>$FHd{Z4BzKki+~eb zXK-qK@9y0u0@b8-^pzvo$c=SkBqLGGFFL77?aOct5BB(aU0#lN6BCQrQrKKcb$H>i zaE#JA$S>WU?zt|A_@Vgh8YrzjLnBC~IJj|&cg!hDfKzTP-3J_+!_VaLn!002eoZ|+ z-2>&E*Oh~SNj$zUcr=!Rj&u$CS(By0IQo;Q4O=8Toun@H?@r1{fBaeIVX%X`fZy32 zOG9!Yd9+U@HFJZxgtZP)?fm1Q2L}6x2W*0Q)1CV1Homg^m7n5+_4=wYWpS1Ye0&V< zPJ8LzEqT-6CMsm>ht~Cu%F?y&@;rm<4ps20R_2#S{kXX=>x%ABErNR#??B`1B6zTk zGrrZ~$EA3p`?K8<-#0h>Z+Wu*?2Ey-4qASOV^8pbej@!N-Jiz0Wa(^wZcOe^evO+; z^p|ln1|OY2X*att-lIcDh=SYExxba@fwWa=4N06v45f_b}FTTAp?vSK*z==YXj z!{o=3V9f!Bvwxg-dw^HP+1_9b0JKb$`**J_)A^6> z-m#HoIng^G9LZ_zQ9H2_D5OX2>LA}Uxa^yu?%joBiqTCp$Kh0vh<^KVv>zPe#j}0; z)F;*UJc8jrYHog^-<;h?_FkRj2K;DG5ckK%+NaJpz1WzYbv!SG$Ju%q6S^j67IHT9 zvi0bloLezfBy&z}(mK@@@nfs$5$m@}eCZ~?WQ<2}K2U!jxwmWMWxkEN10l99Z(i)j zhtBnd=xt{2XtB2i`+B=N(#Vwd1J1hjLT4D!@c;&I-F>yA zyUm}If)tZMz$E(n!J|G3cVRChZWlhKOKqNZ#qNT4{H{y~`Sii)YxW6NStiu|4Bjf) zcUel#z)D_Yz{tr?{d-G5ES8SK$w_PL(v(qYf zb%)oL?XB(@?s+iedGJ)mA+em7v#yEKn8{c`1)Oz<>Tb#5&Y_n(OJ z3LBEnJI>npdpMx-4KgP1_s~SNJU@mZ8(FV#pdxm>gN<MG9~tNz+@Ee^+7hw-%)-LgO9lVSbMw0G1fHjp zb4QocaY8d0_uRx_w&=nj+0z})Tp}79=pUjy>C-UAEA8tWv7xmSlD~Tv-ljwXN9`T? zW`k#RsLiq=xH{q^wodh0<+xcd)${bv!F4wCzqeFxuVyX8^^CVVaggF<6-ILm1DEFC zL%^l^*OudD{){A_Pwt+_jeBjQ>G|}l+@);h%(rAOwPx=sjYMtTsWmOGw+<~DD-WZb z)|B@U=j|YTOA2IL2}2`;!+6$l21s>p(P6;Er8+rib6>8VX2~CpB+>jqjtJ1)I2oS1 z4sEGU(IHuMYV914+RRyHEh=0eua(31^8`3GcUpJRNA%Ubx4FKmV}sx$>0pn7B~_K# zba5K>&RkdwsS7%zD0}LKb>!Xaec1k#c96H74S%&*^IED zHlNNI)A-bxuwXp25BA^`d$2!xQ@~YHkU$NxgK)CW06az3Xe|k@ibHRLg zV!y96P&0B4aHpT)l`Zp!4mKvU`L-8Sy*5o6`*YyXIrY~E>d8CZor{a}i>ASmJ!baP z+9h5sfJ3|rXU2CTKc(;+oWG0g{*-TtfAaNNejhYWo97NfAL_Dt8{n1d zx(<9hRx=uo^E>$Og!1y=IT6*%_(^Fh^540hyz<|9B!5GDREO|B8d!>#_5{3dqMxh% zcb3VEJ}Mz@*MVWAGx_MO0E6vRYr22IgO~yF>ooy zn1_c!WbwKlMOxNn&adY&z^eUvHdwqaCm-Gczn;gEN1s*x602*?F`#kuIPxim(L?xG zd=^VRry3a2f_WBr>`YwOI znD%G-I%T8$LjL_FzeRg3&h^Q&JkFp4P(Gc5^tZT7WAf~JWqi5XdK#0z_GL7`#Dg%u zp2zoiem$SxDz7;dc%}LE0$;v1E%Ut#@%vs#Ud^u?`5XEx%&!*#OYuTQz^fQA)${8q zO4tEMC(ZB)YC|Zy+~7wc+f4Ozs_=K{yc;9%~APYJd~Y3rJHvuuX&f1k8-e2 z3&&rPM|04{jaH~i_ojlSOPe5dZnT)v4s`n-g{%;l;nSAQOAUcZzwvU&d@dr|Sc&fjrf>Xm)D zi_c3B?b99@?i;1IV)Zl|N>sSECWbSxbmHFnAdP?Z3QxaEao<>l+U;>wK&wymzml>a zr}N)VS&gw-={8rBB=4`~Vm!t6+nQ6Ng_u7l%!w^0kKtP}Jvui>xa4p)RDS6f%Q&^q zU}h3*2-H^e4d}OfFg;lr#p1$z#dQvRRn#uorAg0>_jbRj=vs$6y8BIi>NoK^skBt> zd^NbVkB`$&HkY=$cIx{Vy^Um@bC7>;OBD`?|} z#MfQ;!5!ftonC@t+}`$yuWtaCWZ}m$xur8>M=Ys@*{7RJi)ko{G;9))fN504F@mu*F*4$8D>+#!s`P#JF z_4w`N)q4C6{sy|jdi*Y6DPE`ucn1sQowtxz>v6x#lZ-Wq$s+FrUd=7V0)98}cnw=m z?ZjCb7Qatp{dy1S`n;FFtX~1?n*3JZy-)cWkH3TA;r>Lt*G@4S#TsdJ`cj+ATH{KL zp%3^vm76uET4U@cM>TYxn~NW$tj-cgy>9eMbV-^c#p|c^hv?$Fxl-)v>={UH?Q%dc zXYX9QHq7SYeJ?;~V={X!m#uo@#?BS@K=wF|dkSC+(~F}-5Ow~vIyZeJ*S=GyL45rv zWp!TeV2ug#(_!X_=+a$;{+^D8=%2|K(hrip;?wn4>7O87<80dBZ|nP2UhXSCcZp8k z#$rZGz2M%)N-dddQ{dX7UzZ%uShtD6JBF!9Sex9Pp}oC2NMNYNpkr2k>0<%fwh;Cw zt?}{wy4uo|5C=@5-u!)&XxI9FOT=TdU#g|h#!+Fbpk2KFEI4FO`vxYI;&ZvXoVNac z`5v|opt0c`ipEcl1^jR>nie%Q-0hqsZ%6;3KJHaIIujpD^d$LlfF|ynd|X}!YAMD_4qUqu)Jkm01v!XEvWdng@7!O!yYskSg&-tbwpZ$&)7MwV8c#3YrMW`g zc9)>&dKLmF)9vaW;m~Mhxr?|2aeeX^WkFV)0t`8_x|*}PQd?Z2$~NaSh$H}J^M#sRbS`|EjHoef?Z6V@@W3YgON@1C~Tp_CDApW(M?t8=e! z4r9ors67cjEEeSKaqA{qeZv1Ok3ZP?nOZY7@4TbrHMP)lE*@ z`5o}de)SjZDLbemsgd2f_V*JuZNw1z@01R7E*qVh520{~&hO{wEXJWV;0NTB@4;Ot zBtHDPm&uFoZ_;y_4v$i|@#;`cMUugxQTYA~{OY&#dn7|D?Z^C+40$i=)kiX<;6aA` zDc^Uj8r4{dGz@;f1~qo zR8M`rt6zUZIh~0stUYSu@Ok`Qb>DyN^~T5idi3DUs%c@F6^GZPC+AQ~q;sA3h&V

    _J~c%lv4 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

    +`31&x1{m2HILe8n@i)zQ~PwNhr+hIuo_%D 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
    Y}&g08%3yE>G)WCb*<#Pi5T69O7@*sAEio=B!hW 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 diff --git a/scripts/windows/installer/WiXSDK/vs2012/lib/x86/dutil.lib b/scripts/windows/installer/WiXSDK/vs2012/lib/x86/dutil.lib deleted file mode 100644 index 09344c77180c18502d36c63fa74d948adfc56d0d..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 4592816 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 nq6KccczL7#gwPhn5f5c|8Cj?yf(_$ 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
    SxSi!-W&vp_V?D&b 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�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 z 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

    K}w1bpIq6x%Cd~{j6eav7xEAxLGI%ijs0>~O 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

    mvxU@kAYO?VYo=k%KjKGzoSvJ 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�ap7=vCfUdOWJv{Ic%&gd9KJ5X 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

    #j_s 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 diff --git a/scripts/windows/installer/WiXSDK/vs2013/lib/x86/balutil.lib b/scripts/windows/installer/WiXSDK/vs2013/lib/x86/balutil.lib deleted file mode 100644 index 1a46d16c422e4c38cbe829a06871abf3e9bc4160..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 1346004 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�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�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%0DCYgazA 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 fe`1PJOKdFBRHD6q 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ȶ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

    aS46a6{jb?DH~-hnVr>_lUI||9XR8kuKe|5J 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

    ^>OGtYhjdBwBCUpv|` zm-Mc55%2=4z(iRnO7qLeE1Exu?=aT_&3^+} zikDUdywa%_%{3lDe!h*rnNryKh3O0fjAF0$DA9g9>G|32?l6}FkLe!U`MJCCrKKyZ z9%L4LL;HAzxS1Y9{Mvgkc}4GUpVxNnjV>;(5GcH_`Q0I)cD$yMNq*M@%Yo`4>yc(x#`PMiIPZ+1`_&dc*D+1o4 zwQ)6hwKl59vQT%}RV2#nkNUKCd5L|2H;lSfD3Tq>b&-JA1^9a5fpBRH}X%WEa zs=e`%$_uYohL3C`zw-`!yT|wJ(Q(6}qxfy8<+{zbZL-yIfj@gr!jYhXb1d-9stYof z%D&A?<-XY#+3D1!{&a)ycc^O)eD{OD^ymBB#LCQKV}5iI+t&qobCUCa>G%3`K1xT` zUtcls33H>BmXs*5%UnFE)-WdxLFtX!VzaR0DR zWz3bnK9`O=X&jhv7afuAp3=|GrQ;@0-Bb>bMtL^m@?eTGJCDm0@dan!lWov=mR{&K zGQ6Jw#^=YFxIx6U1D;_iNMLY{SLvgi_^J0j5Z{j}y&X4>gb%$uT<#!;Q9C+MX>G=7 z<+(XHujw+EYu{hxDdqC?))yEmWeGUe<M zv^s}VyD9wBhI($vrT5J*tq?_=3?Y3fmp-&u^>31*@2RG=y+lEjd`t5IH;pzQ_A;)) z($s5fhQ|vSSZ{(FC4~9V@8`q4@O3oA8mG2WlKZ6kmEzY3XEB7jbtY>FTA)pdwwHwW zBE<}5h0hMv&DE#f-2_ACGdnytZI?jRO~s`fX;1j@&d~7iWPxT6y;da$>zn#N@a zziEN$A11$i484i^b@u$&$H!=MFE>9ax{=qKov>s;>ziFqWI}F=)G>$i{+qD%ngOon4kk3!{tjZB9&VA31)> z?&w>*y>#sFQDrVtENK@GDt*@yof(>BEBZ0!MbD*MJ5O=8ZA+>ru(_GH$-!Qu{F*b@ zCfYMIxq)E24Td)4<6Juh>reAtwPS~PD?hes&xpsZ%YJiP$D%YZxiJ|H>`-Yu8vg^{ zuT3^IZca80;_e_L-bY#aw7HJ@HD*hEt1UG3j=cYP=G9>3K;Nj>!znjwGj&Toxm={h z~cp#}#Pn>QVZ1;$W&)}r>o z*A?Q^o^}iQBolZ(ei?MfYdtUMMt5b5=&>f4?ko2a@LB9^0i0GYWVe2L&j*Rf z4Rldkb(Upx=}aD{{y>+8?^m#uxD*=i;$P-xqm-}obv>y*nJa(}Wrc<=`v?mAWjK&2-X^OMfy*fKL?HyKx z`ZfU%H!w`BZOmpMj`rl9YHz5;;99dUBAziq`dO|>Jib{=Y#k`=CHXYDiA>X8O4=$) z1m=y!w`(h9UQR6J#^N*{Hf<-ddIbN2%xAjMn(eD}9D0S%E0S6>Ro#K!429O34<{(A zd(_<3$RW~u)JUb5*RNnT<%1yG9RS&MKCN%R@&4RbbMTSTzJbc1yEkxO&86XZXwMjP z*zOEXX_X-<8zP3Uy0Y9;b7fJoPW2hNqvp~^QFf*|hL`(kE)A^1dwiYTOLJ*FA*C^% zfAPe8+Awh%M=7T}%DK>5Z??Y;&GNbMBQYNCtU1({0IBWH`gqD|Z~9S3TbUGc#ma)r zs&PGMvXck^8n?$h0X*8Hg5IvyN7&P}ek}b~Cs%@(PW1ap{4@ImzV(sJO7I}FdJ2DU zKV|UqXgjxkcBu}PeI~FJFRci86?>^!p8I6- zN@n$FLLHtMUNYBol2<(gxFoSD#aKU*S3L{(TJoyjC0(Cq^X+80DTYFtYn?oYypks_ zpO+-B^?SSM-mDv{_1Jby?yBHB9i*e;d!p7i6bHHMcV zq!!Dtpj;=Le1o7bouv&eD$pl>Ty*Vp=aiEbjLq+xZLF+L%=Hi({7C*TKom~2hZa`+ zZI1b@zUZ8PX+#I~3){8U?e*ybymmJB9EXICjr~Bmc`ok~jx2g#%lCf@b%Xjsd`4eqbG>mWOUQVi zSLJDvHm0a;nj?Qme$Ce#&z1gT5zk*68!^W~j?+(n(Ys=OqFV2$^r1|SRC|cmK*+-= zE4sdxx<%Ko<@b&pA0hq=-Q)D_UcZsw^er5n#bnJKRNGn?9Nk){_AxTCa@fx=!SVSc zl?)T>i>F zJQTk;wwR>v&u@zQgU(B9U2C*K^X|=**S+_?2szul10NV1=p7zJR4-jXJA`5gebF4c zL2L8Y>|EFHKLNMiqW&X$i?Z|kjnGl&tj_;9-`jj&IR7o*tJ~!Jvos&NlisIRDDw`| zig3Tvmnlj+KwI@GUPl$z+ac79EKFrYfdKO~csF%~z3M&b->xt3ZPTvz`F4qh6~Djf z@Ao&A|BE)|Kj6y;e(OeXh;9RXxAt{i@}YwKD$_3iU;6y5xZtWOr%#~$-C57A`8tx1 zc^qrfw|8;Mj+c0b1(>JrC%_Zv`^ofgN8i8VcTwGc?duMAL#BG0zLt_t`@Eq)+MkMW zezpmx==ajXxmrs8rYWy*7SDxJ@&%u_wa!v9=xH7L5yrVF@84$quyq;u=r04`ekvQU zukc&t5wE1{P<-^?NA1X`werzlC9nACukjuB0o5VAUk4V}x8fZJyj`7+k6wjl3Fm`! zl;28Tb@5PrrMAFQ3o=Bd{V8c%qqKb{RdeOuPTDro2w7(3;hH7<+GswM!^Uq1U z+^6vh0birV>~y1VBW;IIn>wufH%aK;g>t)m+Kh{3LxwC36)LL_rB&kDD9N=`^<5w8 zYasH+sG&MLNz8&nreCe}-9CMxetacP`ygq(K5Zh>1yp-JOjT%La5L zaeey~X}?99#%}Q#aR9@*^?m;g>9>$RHOI53kvSXlXj$s>}abK@aTP_PkzTENoIivsQfjt}8inw*XTSxTzB5BVjZMi;&uNx&S zTbVBbe^CmrLO+x&HJkldi!Lwq^)T0Ui%IGG3J;g`Z+VGXGCo=f<ks%l#Y-y! z-WS5hOHQG^H|($fMBYE)m*)S{D*Mh97jZv7l=f#nZP{J~v$TIE?Oi@?fnaZ1HDPa- zoa0|e_muY>qSp4hj(-InkLUep{guVzX@2#@d&)P$4=Jb5zww=p=^DJJ#`QZto9R+9|5PjYmPb&0%_+U+VIX@# z$=!eVV~54=K0UF7=1py4db&|x4*r6-lCqxD;%IGN(rS|f3wCxIBVk7h+mPZ|kmKdLz6! z2*>$}veqVK{uKJq1$?uEFRz;Zdn|)eb+sH^crFTc7`l8N_oF|QnZ##MZFOPdC?Ois z_HIp9uBz$P2s6G=zwmVt54IVuc5O@P=={Jd?`8D4Uau`oO=fXXwsN5%gLrnh6+(pvt#GMRSz2mcFw z^EwNK&9!|%dAFd=-P-NMcf&{#E60ql|A?!t5`Z(|Q@W$=R1 zHwpt(9q%3!VO`gR`8&5bD(!Z>OPk5gTpT;ag7xqnykDh5PLVzloO zldbRg)ZFTHR@By>$|@#XbE4>@xpN-r;S>Db7WO~tQDHj$(tNrb_#|JygYjvj2VnHF zH&vr_gg66&&AoHp9ef(k;EO>%Ho1K+pX8RuVk`#?Y&)4YeN(h+Ii>5$|l1 ziq9K(G1Z|s*TUo83OpN{BFpOA(k`DvXyYk-ihYg7dGBl^MUtj%&84}5YU=~GiT9gZ zYVJ?q50oxj=fZX}-vW-y$&=Ncn2+L(%&B`vb83e)l+EqNuYcS%2QQ>9>0~_YA?@xX z={?-*{paN64#q6f{JltX=vH?R-XPlY`@Z~(@87nM0t@@-{rP+QDb0T;_ub0xaE}h< zb;rIKxIV3Et#|A$^6HL#3E!bzszYTT04&8zD*|4{t8Bhw-;ccQ?$}Bzx?}4Oy^XYH zs_71WDe&ey^c8LH&?D@*;<4qw>w%Qh=Q6(2J2Y>;?!C8oJT$fsBERm@C*iY2hr4d! z`;`0pS=e3b@0$wun!Up#sG`((ZbXZ!r(7!&1h&#WKGv6c_gOm&Gs5kwSI`F4bAdm9 zbbr>ncD=rTVh%oB^)pnZ2m3xMwKG{8x$UZJXR-Q4gB{>q#~E=L1%(?5`#LnXr&`-L zJTOj-7N?nPf(5IjO`4zYJAL1t=J!m!xx?Ko&hhY(dy)3%r+brkuhjBxz3Afz3%<$e zi1*B`Dr$neI|{zVJl3XQ+dBl`>hh-yaM(jHv-qOR9O15puqSoVvdhynkI(N#O52g9 z>ERadnS=(Y)(_c3aKODQ3GD!VYqqp)*CvBAD;$%vX0e~?7YL8qzFX-Q#%W+G)>r5k zd}o@F;u{hCCS=W)VY~&uhwA1(gdYR&`EuJnD5(PurAv1Pgz%LYLH_!^FZrkc>5O4BpD&D zn+fCHRm0EyjofXC12-AuJr5@@>wIa2zKFKs+po9s!l8M8=d@Kn9^w0O0SAusL%S%e z^X3wCPA)B6?}Tvn!Q$;NdT?%X*7=fgY@{vW?~aYp-*=7vJ}>(FZa=w0@=49>vb8%7^rR7F3&v5(#(-8UP)Qsc3Tv_?W5WhZ2 z9`#i^SbMB2nfa_wTKg)R?Iq7%#^d+N6V6@HEz_^YbHGgg#gFc( z>>VGCbexJ(Jgrri&VQY6NvrLYFS&=6mB!r2!@whZkRjS8To8tH#Ek>jXg+-l3iLC* z2mhKF^2Ge3Vh`e-#l~Zh@*5K=`OO2Hu1?^7O!OZHz9~ryn?EvG^U?_L@Yz(V74^_9 zlA;uA^ZE-O4G!^J*V6EI>rQt=d8dJ|M|IAxyF3tV(i3%k-pv`$t0CTJ%5#V0;_0x9 z>8Jb3MuWTldi@-9`NkV_R^F|6VAPn%b!OdUMog?%V}UabsJMkoLU>j^`t^5g)8EDQlch zwL1@y32`kYe*8$EbFvZx45x5Rf>StN<>#;ZmL&DLrIGqVET0k_Kb~_-`)8+7JTp41 z0>hW*+){UAb@{N%9q5Bk&pEWu=6LEzX@+0VxuyOI?9Ve8zCGubV8eKZYRs}bsQlMi zD_aCNlu9{aXTJ8->4=Ud)4h{EYR=RtBb%RRFc8nm^)nx%SL2Uguam@3U%_9Q$+*-W z!HE}ivWMr+Zk-nX92HG8*8cWQSjlXDNO#x62V(eU;DN4M50Xp{alI65*sa8UmSDnor&U1M{tD8caR{-u6j%bCVp zm=AoyUgp~dWRY{;q%4f}mIUWJb0<<8HqqsxWNL|r8ykC#=hkFGc}x@$*3m5f`nRDC zp?q2=qQ#Mj7Uqxk4BIZ6%=z(t5bgiA@5@$oC7IkaF+V$Z!h{`etOV~!CUr%a3FD%E z36Aa7{<;D%`*9U)T{4NPwL({B`n`g8CX@CAfoh7)VZqJiZ^8iFG;=0XH^a z<;HxrW|aTzgy7H!0?npAsuQ~~;&r0Vl6woBJkakNXFh7qrMU|c?eO6>acHDGG+cEX zd-{tJ7L67?jb3Gd68x%Y%J`!w`bCTIq=ef7k4C+j;wR zXz)2dHyxj(ou!<6GZuV9B7Xx;Z@PK!!H+3)uX`>YQ9H;YEn13ns!6Ed^*G&l_! zX&jD$Pkh>M($F?%elVq%HT!7AyefOG?4lHCue0w2cy;z&=*PjG|8oRGU7l*pI(rk< z*Fm3tJL(hmrA1g>Z;Dc=PyKkj`T_6q`ykvyo$kKL0S3!H!~+Qep1nF-+`CGE@9!($ z=-y#ElK@kI@NzfqGFbcBJIfQmuT9+{RCCPHy8lfh{C)F@wgg6*JW@;d)PWB+tt(cfpY6FwRIqVH4m4Sly4?l1jg<;+IJ{q4u)scV;0Yl3Zw z``ed$x-S=e2z1dN>3;`aEX-~E`%O(%hMC~bhr+Ft{zu_kc?WtV$IPTGTf?%w4T7qxJZ{lxcLd+*;m@GI zy~*ME`B{w87(6yU7r=PXmZk}kqKa0H5f4`8!sd%0-TM?o3b72sJp8oRV`E1H- z{)D?#7*Fk8{k$k=g3;&%j@?G`3G+s`)9U%K`#Fy(zip0 zARl-!zk}>Ol$TuoCBXG*P0MfxKgqvOUdiQO%6Dj&>QLF2155G39R<8EXU}T3(fd8} z@=oG!`M7xOJ%Mt{>{Lt~&28y|Dlc;=VX{gj&?d9fV|*ETiwNm(t?T#$(qs93>_5!$ zl9!fVK^}cx$v3k4xJjoqUYZB5Qd#DKbj6DO1(={(FWK%*xptK|a+dr$2evtIzCUZU z&be#aO;dPv#=OS2S1Ft^EePBJ(*icUYU^t$|0xLkyWrNC{_z9(J|%smLjG=Hb$$|F zbKV=Z*RtPW4EH4MgJ{C6&iBq9lK%m%Il(%U0d_5B{!R79qF;A{Z%FpyfOv@n$NTF{ z-N@ToFD|g=C+4d4r3{WQ{iU(PC~M=jQwah0=47aT2!8o!eYi1QZ&>?vH+W-2AMQz6 zdmUl2-?U%!_#^V)pRxM_i(mA(I`WhL&;I?TSeDFAR6fvGRqSjxnlZrWZS)1d=qvfx z)4|t8|4(&D_rcwt^c#J^<8xud^>h-vQ*g*yKF+1r-zVP+K6L+%&y|nQF8h5u$Yb9Y z_5B$gadX1fnKszkr~dybWpwX-uz%Bjp_d1#?O*q{J(APY>XJ1z{hy1^fbDb-2H7|j z6)RA?%5zi}yP+kGTEpCSe3YBp!mqjguBiRY?P45m9E;PyuRi@bcr?d9&zSBjZo7-` zfV1*im474Es*C&ChaRVow6RtW>KR%K@1VFA^gC+hfxW|{m9c&oc*I%Q)>>1+_gFt4 z+Q|mrOP@9-@&tgcQ!2O0WF)f3t4_=X>(G?{mMtC!5N|}h0M(uSfoQ^#E4?qGH@0|d z_1IB;tsI{Aw}Dgg#RqVoUz0{<_QI=nUR%4d@1SYU2Gy9+gCk?LmPD}Y9c0}-?*MNX zbMVg)?=5(m35Mk+o_pQduHT!I%D%8>K0uqca{5d)P8h@PZZR&e(ms!WrlK_AIn}YJ zUZ0-i1b6ymu*0PfMs$0Aho@UhlVg&#B>MiWzu-fjULR(z7M~sSv(vLnh!dpfIz4+- zq8~$D00(QhGmA!Me_r65NEYP1vq!DI68-r|)SnGW0p2z0(|Y?T<;BB&he_3zheJlw zhnEG_*d>m0PH64?tI&-=^Mb_NkhypK0#@8MIk6`7Gtd z<38suYtVtw#8UuHI7iA5#6J^2pJq68xW@Orc)Vv1Gps4kPF#dA_^G|^=cE3Z5BcUg zq8XNJ6LqUUU!c6k_#k84yjF~Ip2l05JlI=L2AJNyO3?F5QT_OM?n4(rPd{>J*KJkj zLDcHrZ~vBZ@8T4_k$HV{o3n#RW3`?!tmw5TmT`2#Lv^3qb9oo`EMw1|g#P08NAVG9a^Qlj~yce0oBGWclUUiqk(AMmqn zj;uh7uYs$2uo?=h9s74h0IIZi{eK{z_|G!)O?$*As9$@8{vJ`>VEztwTen}#Auv`{ zk!(NgOy&?Q>lr13;dgSmr^|wc~v%4)1Ki#9_)&8qp_*_P+Rocp z+d8$z|Czi;q3IuhSLch9p>-1sf@p}QeA(NFUmy1EU}u!24f3kOvv{A@h0387kd+&> zIIbkh&qO9u`!4lCyELO4>=*($z^Ar-kG#)h|GtCEir#kMFiJEt`cMvE{QcFN+?kTz zEpkAkuja`2!KXPA_(wNKrY6I>)?7rEwXA4ev5!mhV<3lXe!sijohi#F{Tz~RD{`!{ zAji5dI%)W~GM{7NP3i~K9X=LgFV{qy56zvic8d=GO4)By=R@gzG0#vjx!S;@<95boEBVQP@*Uc&I#l*&z*4-lBH$fjzBbEGenMW!PY_NRO*CfG zTl_EJDP0&h=`8*nSS<4h{Sifb^EnS{p_&U^2$*o1b+$7c*1y{1w0F@#u-Ay?pE9)ek zCd#S?X=gVYfCxgE8%k5zZKOHP8hl650NI&o-keKXWq6KAws^6dqID)lnS89?hBSvZ zk{-_?$<5AndatIlcMkLDuH@0@JieJnZLo>kZSOyUo$vdi{@A&AhV`i*_W*~^$w#qPiud)} zSb3zcwjXf-x`gG?8@-&N8A=ZVkKCmOHNB@PR!xYbxs}unNo8L5Ld_c0D;f3$x&EAf zz3RukD64n0pI+1MJrlC?epM+C!0-1W;$ck24yI1-B%p7ToEsb0H)IpCUiD{CtRJU$ z!V-PCFzSoNlx%}MoHlKet#0-2KH!s|y-#w!X^l%S_1se}cY(e*?(2Oi6UTkkTb0^& zzvi~}l>0+F_%p5Z{=UxdFb(#&Ac*F;jJ7uTGH-_?T^Ig7N%3n4DCr;_z1@v z>ndT7?!~38xu=zrdPJ`-`XYMSdFJ`kpc~ai|MZrY^7%c77iV#PuY2qzj)pMvNTU{< zjQ9;~fY3E}kJ#q&4I;5JZ$F|JLsfbJ@bKZ@^()a!^WakOiPwJ%eQ0~X#~FN3GLv-E z$u^nb&2VUQo9A@{{}sQT3kDBnQ$4%Wqe`Mh>*v1m@RrCW-|_ITV;_P4nw($iIb5GQ zVsRl*-+AvhOF6fv1fer5)I2b~EaJwF?rlVV&N)4mFPhH^F zJnw1p8J5Myb@yJ4DKe~{`Dr|L`?ziLQ!IB5&~tu|_Y?}++sa*g6vgb^rCrHvYg ztH33B+z>MTHfK>~Pp{kxnlBs12H4vX7N3X{MjegF7AnD^WN z7T%&e6B#M=^Je7u7|qpP>Wk_8E-p;WWohB8dq_mL|4M4jJ&2o>_14qr8p`Ud+Yi60 z{cOFL_v!E9F1OF!TsVik%(ridcq9YTZgRGvb_(*6Q1Lzjo$RK4F4_@fQ2spxU0-|d zGr5Ui?2o{l4WrspVy-+q>a+Gj6PdTK#nIr-a(S9u4{q&?|JwFFUbAMb((Ppi=`YH^ zJ2$>qmex(&Zu@xHqdKKSGrVA4yI4CLiK06hLL^LPvLtl9XL*&h zZ7$&0R1n)?b5d?h&f*EDabg^G{gK64g}ce{Y)Pv1xf$ulIN8#pBD&%awQWDO#&-L; zGq$ze8tWg!VI(SW@@$=*c3qBc?R{07A8UE`2wN#>`mL|s^EA@i(6-QB5GTI)HdGr zMn`%AUEI`+0JO;M;}y!>j$WPaKW)!v?Sl5~Xd8GYDanHkr*x^pTq)YS_12CYP5Uyc zJgbdh=hQ|0l9d3oBVBC~k3A6e$?gni&=%2rkn-B2pS*Dm-R#l57>!p5h-q}<;7S43 zC)=mMqp=Dy!mYG7k&Vepw?ZG-*a+5Pu)Tu9!FAej`+m6zP*oI}l`ojD>pl@I1O8A%X_l4WC zzyH_I(fnO0jeX=UNuIa5AA?BTs}MZN-qORmc?@-h4|2t^;Tw6j<#l-O?ML0g4%qg%QFSSr$eZV>FvI*PhL@XaUFLS*5W@Gs7&}*c34PPJj>s1VSK$ zEo>n`fDjT$!eX|>Bm@Wn!cKym^$8?A-(Pk2IeqRu=Snub??3N*KbGg->h9{U>h9|5 z>gsCQ?}Lsg8wq+OekpU>s;9Q~T3eoMcbpHUwmaGO&?QjVFWpZ8yPHLn-4c}ny?U&Isu{J=8ZiN@UD`W88Svip6Z@y~1-a|P= zJM-~K92UtFr6q}eJ03bYn2(t&dN@g_9FBN}98B9-M34A0Lw>y*_d;sW__`q)|IfJe z3}X!&#sCkd^teZKLr3JH5GlMzs7K?rR9}t|1?SoR^ud$DMC+4QKaOkdF!R)hFXgo2 zy@YwV5b(}%G_goQ-1#WzVw=v`wp|gv`y$Q^v#1$eq;88~y$`krE zvuHBkor~Bz!#*y@>){Z?)I_;)LDIGxgy~%1M^4Mc*jCXV~4<*WF9}3_ZCMTzhjMP&xm}Cxc7l z`J;aPsSmI)pTJILYoGSeoPqLI&XF;_si;1b%ml`xMiw7?UU1~+Rc9EPqcn&j(b~;zAqrp#h()2D7S}d8|>&N zez`pJ+X*dDzr!oc;Ok#?Q40+g-`6ppG{3@cwiTzJ>igxnGJq!;pKhnk%{uq8@(6}|xm~?&fOz>=v?u|YlpT29bgireIqv$>tzCMe5;X^F6 zUjp50Ha;7i8pq$cBD)9qKm6wO#+|@N3TK0Ca#&tnEx^T|a^<+7(y0*j++M~K(s=80P zcDyY8?)1rD=XX)PFZXRKUK^^~NBa1vc3zSF_I19prk>v@spnO`o|tbJ)SPW){8*K| z+UJ+fEO^kFU&HrpMx&$awfqj}SE0PlwqEDU*QeE=ZT&WRb++|-{)RqO9V+`fz*4-l zBH)!CT6-4xV)Cw|f8B_2XH72wrXh|+(#Da_pI!lsY00cxITGjnP2igLRqjs4@ZSQi zz24B&vhC}2PW1+0>3BrO>TK$bz-rH?*4o*Wdxu?TQ@=|decr@hcQ)l}3a3%_i@w$T zcr$r){xlD7bcXKMP2A4+_O#nhb-0@d3Y`P}{lxIXx2f8<7pI&(Z6iIyOu+sg>CWfc3Y;@8Z#&<4{``rF%ju&JqD*$(t@knKS1iq2j28msQx$_wYo6*64ey{#_ynJ3gM*MqTOV8wuHAvBK(8+jc)}$bu?R(h2wJB`-$)n?)FND z+74`LVny!}hbwhyy{+`?PP=nRk!aoIebmJn#Z5Tj)_di<79DlT#}pSmg6&q>#bvp> z8jXT=BBhpRW^=G^7n^5*$KG@G^h7$uDf*r_RaeGc7`_zWEs3E@_W_f{Qvr?ZOXARJ ztl*YX`J-qo9!}0YRx}nrKpFY5KikG)Q}e4Bmtl?g5NR5V#cLXFg!#94!q44do`2Yv zZ})RZys7mS{0Mo_TX9B}8|De4`2vJDV-lFI$GE#{I!BkT@=@}KPl&BIjDOkis4hul zHc%I_q9%owiRM26hwRTE+ta}AM^p+zQXCj&J1|JNt5llh!A5JT?Xa(Fe}*EwI*5#{ zg@Yy7XFqQAO)VeMBhQfTUO??S9>(U|I7hf8Azc?X%<7$;YyDZoo9{JA7Uvt=hz9ZH z&nYi?In9|)xEG2}*@=O9xH{BjUJgTCAQ}L1!X=$o8HR!+{YNG*Xd;A;4SSz4xigPNA+~H&Pt@@jd;^q zgACSx#Xcb^-hfgA%ve~M0w(!$N-liL`a#G0XxhGy1aE-{ybo=$z=k>b)FXSMN&NY= zm2o2*8)1Vc=bKPKw9%yg{0ul1tLnSwm#ruChI_9yy`e+j%W*) z!{p$`qoO_}FJ|W(N7}LrnC_>iWz|Jrpbf3C2XRiQb;sw=8_$rIe$OQye-YT$1eiIi zF4;O-fxlm}ypF$@YZPW}4$~roP^D#SQf|>2xnZ8X< z3ud-&nZEtHBG@X~!=rmxlC98Gxif0tYPGK+Kh|vgvTs{I#1-4r+E$k5S!Iu(=q7>* zH*;3zY;(9|U{(6#rQQF~dBO7N}O_$~6?%vgE}bQSlPd#7x)r|n?>h+D`8d!yJ{_F`E< zD(x*fKhNU4X?Ew36((8V%Z~CL+S*DxTcEwq)2`oWCn1ho?(9QpoVgO@0mX}_X*3VN z3l82n4f);T?)zEm`1c~dZS`-o6;S7dT?5+H&))}^SQjQil(|4Hre$4hUiv#yE|k%Ot*j0{QglyZ`i*yYLDppF=Zrw9?PmH zIs7^K5S(Itrcc~{kVkUOL^j;jp}1&ng+8$B>fm!;m|kroDu~Jxd#|W`TW=>BpnFf` zfBqBN0vC%4sE=#~FG_^DwvL~syw>rLGRbw0=-MxLb~K8E?G_$cYJ=)kTE%?gN3Tb- z8^*xfb%4bekF_qP%P+nHPo-1*t814bO5HZCH5n+h;or!s{cAgiN~Pn(y(ix`FqEo% z83aU6_w(Tr>P`}#b@p+f^}E8G$>H}3zj_5FZg?kx z3zp8dAJ&Xk@bHc~`<7*0Si!&Et!cRSSN;=v!pF`tvXdMdE;o=Jod(H zg|aC9Y7axD^0SCWot+N0^$j^2-U~k8G-M-Bo78^u8J)qK@<2xOyiPz2A?C zORY2NeNqJX{wJwVieSwJJ}H9ZGg9Z1B6v%IPfAOTPm1zwZQzrlbnMnSpOoa`0R3lI z@JT74Q+#S7ulRJRMSiAX9#@HHPbe5}_Oyklz(b>QrS6ljp_|WzdG_>hHK>a%g={%N z=2ZOLUPWDu;i7`6%qdEwOHAghro3d1>@3CSJ)=V*YC6YABmR1D9tN_(!nu(@t?ldN zaUPGX=rN33Iyg1=&ZT{l=lZ_Ze-Hb>R_hNg=HrCaKkZD%!KQI9@}e6pE{>hZl8`Oo z{@{6}hY!A6p;@DiXjI>xPr2KXk0@=WdoA+=<4!v_tNYu!2FkCr*JprgXaBpmr?o^6 z^0yI(`bP#a%N1U4AE-?<+`)J9p4@N04{h3<47dkkqPy?fpRHm%Hb*=~UvX{x1^6I- zUkFawA-YTLlef;Fm|>SVbv(V1orCysbYIWU^*P%gONpYI`ZY)6$=;f^)1Yk4kzdDw z1z!1x@+p?!!5WzET|T}BX7?>?VDb+hsevhOz`hz-3$XT;$Izzsk)E?Y)ooyZ}R=~6~9hMH{gXoyJ0EXKaEh9U)c2A{<%pRMm;^!Z=_##%r12u z$Hg%4LvYUf$H|?8-$7gP!KuzIEsxE4pZK-RXMAv~6I{$wUEk#ZME*A`i<#~9v(%68 z&G=$F9+HO$n?mSp<^2-)TI8>GvUh53#f-0}s|c>Q4v0jlXrz`P{&4PEc|gQxi<_9T zBd8=P!1yCRKaet)(ar~Xo#anhi-TPJF!yBjUGp%hJ6H7QsY80}$YO4HwU6vAI7cqb zVD(?^=gcMWl#`*{9!9WAbbhMe=*-Sk?)ylvHHmz4P+kb$h?+JL27Lasz+{4x{f>l z5OobtkRk@c9BUyC#rVo0-nO9F{NjmP8L9cKNZ@o)(^rDNQ&J@fGwFBk>x<$6U>(oM5SW@-Pa7|!9o)umCp zSOeX;yH0(H%g!Aa9s%-C$QPy1618KCZ-?Hvl|ADazIVZ%aT#f0j9$3KeJ|OED-gWB z<%{6ljdH?QC>(QfNWq>(i+JYA-7s-Liu(&d+kc&r8O%uesw)$hAyfstpzTWm}&9 zd(;N;;9=m=-uh1VOl5Xb%)_IdMd5Ag6QIoL01x;4yUf$6xYWd^KYm+CY-jh!! zU!BjbO%CVI@dU%S6qv~`%l8?#wsm$yGH^qUY$pEip2hhiIvleylFbiD=7#4D;@TkC z=41{has%2t66|7NW5@Hb7Vg#HxtjXaX?<<2SzlopZwkzI@I;4MeAI_uAm29nc6!c^ z=(^|UU7W@*0>8rGcp$7Sq;TEW*#X>g4^JJzg>Ko66xU{@UroA|Do7WLitnHuf^34u30VH1J63ya7NWy zppBX0y;x0F8@V+wN=u)*R^#pV%nwJuAIm@83t#3SR3GHE-LaRh75sJLe2*i)K1FHA zJdUEY6Fx1(1kl)V;SMo7r^qWmuW9~<`KUV7uEW4m zytE?VeGhLF*ZO%~N8WX`1L0&gKlya+2FB7XnC`MV=SAd|(%MMd;L`9xVR=z>N1xVC zntZ+}r}M7hIAG;EN%MYR!4hlmJ-}NigE~1lWmjkINY>K2N!#Mmbm}C(5qpRIdf>R* zsZ13?ZTD@}wjSUzRZ@R|=i1&!I_j*_GtD}pYo|*a!bkGR7;Btx4p0Vjr0ODayEVb! zgTSwK`PH^IHjQ$daf_wLIZU42E)Qi*y|A+Tfp3Vv?N z&@Xk)dgqJ?caOtiys7OA)jg2bopqJ)KY_I2tZZFhDg8iNHcoat`BlGvG}w3dZ6Dy$#UHJ*D> zCL6N6m1Kc3`UDxGyg^Q6`8cKa`Rdau$@7un`qZc4b6c9WI(czvT2u02{Cf2XG)V5p z@-u5&B{^Q&woC@qx2-7&>$PN`@CDiTWWL9;?uVmj-qk8jcS-nB_J&nAQ zeW&;v`Y*`7rvppz(u#n0jhB6ri;17x^L#(duTEm7EZaQG=Jyjxo2^T0KhaBoKHX>0 zxK{avG*1u@E^Uc4t?>@GPYcEU99H?`X`Udm+?-h^?a8Det5UsIb*=zE<=~q4xwNCC z-R{y%7^R86K9zlrOQ%6;s?nmf7r3<0kTiqpJx2OVT)G5;6Z}EKd;BNJ^KzF*ZEKkC zRcSlwv#Gw5;Cc;ts&hwqx?s}o3JCrr;IDUOO`uAa{2H*D*}ucBNvoQkL0T+N9>9os zXkMOp!7^ZXl-tn)xdV| zHayP-?|G+)cb2nBWcEwVXW5o9M)Kagq9|msEqxS1A#q&LHNaEf=OH)AhiHN?Cyr_kA< z8G-kzNAGjkl`gBm#YWVb^Gl;X;O&z$alzRi&Xmjd)62juThp^vyR${nEMDj?wFwnZ zLksEnjMn*G6#HW2V=+;*^74oV`P$i;mV(&O)%)CumTPxWif`*Hz#$vbLt&PDW;9-{ zt;F3fJ=d~#A)T{74*oJ#r+#;|qBxcMG-h8#eHyd+{#q1JeGk4l+T*jD3?F6#uJu8D z6HN9c2khbHmf6&<{AzF!yHSqPi_4KMRqbZ|tNd2PANkmpv@GzbwB4F}uK`yteflvF zkC)81uEBj(PWp6Z58G^KbT!)e<4#smYg}nIIOXh7uk*YLwnZP~{>aivjcHv>#8h&W z>vP^0TkT>=ue?5@o4d1kqx|yPC0@J%{IaqAkjm7L1DAz-UzRp4^Dla1HCoy-D;w{wSAl*XIUKjZX zy$RZ)7Kg_HG)97NkX0QLXsDghznOA6qkl9!x!JETvUhPlc9Pe(Ck}f*DvfF7y&Alh5kY-}mj`OZ$uc^62v+{-SR+>?`&6ACpgaxxP+Aukhp5%a^5-xM`rE+jx`@0{4M( z?{8}SRTzIC@pY=+bp5H1*dOGpg4NfjGIrFSkAh3+Lt9jtb; z{+Mu+NEwYEzNt^5rn^p`%;|o5Q*dr_ei3S;`6nHa!-`3){*Nt+>C&mjCe71rdTKF?v8b{w4tGA$^H%9w9qzjHt8E-7 zl}|*x(K&2Cr-~ze*;5k{!1_~s_#|a?&ic-lvNzx1@lZck;oC-rxf(yrJs9^`wObi& zfHuxzbx9`tC3Q*01sUH8P15V|@IE{j#S9T#<4Ev0mWb@A+zHYd2f@F`W^DuJ`LmWX zoEKSK(#OLO$@ou2{4g2+OQ1tM`!smvL;71j9!rR0RHF0scMJ`T>ZS~8O$bSl>3n6W za7{eB!}F}<+%+w2Zz4ykWI;mO51;oq<%6sF>CRn;=i8^``;gsL_yYOhw|iEX_i}<` zgjq=8dyr*cBwzTTE2dT7U3$gaFM&(4>~FL`gZ^iGySRL_ovwm{KHSe8%hA4mE`0U3 zb#`U`g=tz2zA8!KZJnJ&>mTxWYmh6kfAgKxtr$`HOi^5kl0+D5dd!z8uUJx#gBfc3 zj!ka77oU}B(saljpuKG{9S*fX>oe^wTEVG*pgjG$oE*--8~Z}mCEos?7@Cl;Ks(`L zoa~W4fv?u_6Fr!8ozs==#|7V%96vF97*`Tv^aNQh_~rm_pT|kdy&WxhOM>Tx_W{xP z`FrTz!kv~S3pD9st!S_QRp8-stu({4rgzQ8uTfU=`JW%*c=;87wsTMH4_af`7furO z&DLe9mghzGh;@-Y0{cVG9?|UW5z-Yz(>EfT%>IyjvKre%_)X7gJpZGoL$M-X=Etzs z7>;*w*zw2u^DG41nQ-Gfq_Iqn^;xV5=Q|tV?vA-&tLpI#;Ju}zZ`12nr|I?%meb`= z{ru+v6EAk+`*5zkb*p~;7Hwrl?M1}*1WyMZTpH}+Np1o`40TrroGyQcOptE#;oIQT z+VTuKpv2C?)#d*7>+!|$&z3S#^~}>K8c254?hKizPO;pwIfCpzJ)WB*PUYyIZd+P1 z3FrCFseaH;R;RvHKCL>*vsZR;&&JGmp@q9F?#6O;(h@||D#pb3NDCk2-x-?gRJt={ z@-%U;#q;nREtx&U>6&_pmFF4!`lq#Vb#lxD{hYV;a&c;U!a_M49m~Lo|C$12R|8b} zVMGIOp&9NpliZZ@ptOBIqTC%Dc!!Avxb$wIMG?gjTy~Y-=u(Bkqh?^kDY^O2;FO;5 z)Lb9d$3fNJ4w~^1!K;QSE$U18CCaWrd_4!Z4Wi?R(tJ!*e=*aYiG^}{1CDa(S(xaN z&iRvwHx@7HZqOqcaGLV+A?;wlAo?D)+0j?*cZ8heo{}@TbXMEhF{8ot+4~s-X;i85 z9B@%}{F~?Dvpf%LV`H_#JKp;_Y|o|pHA1j;$&9JuVO$B;tap&wkIcj{-WnYjD9oQt zmPfDhIbN$A?{1G1{K(D~MXTiJe?+`&(V9?BNl-1zbL@69_CLX?J5t-d&hSN)WsRQ; za=u9E8|c<%y}5+H;EF|~cNE+FkS???(e$oPa&vcPdIl#YKgX1YFQ#mwxYqh@j88j4 z{hJd-@ETdL(}D=Tg*OC`FX!Rf8(tpjk9^GoKX)Y)+^x^*}E#8*s zquhQlCA*ueT6&B+!ds9+9m4s))FGUTiz50puWMrjxVhdUy-nccZbjZIpmEXBM zIsZ`kw1@Y1)qcr6Ht^|3`|yHRI)Po3;(62r4#m&=GMIu*rIqj6i)&w^bKF(r(LODy z^IxuxEOJqKZg~vFY|-k8S3hq7Zw#UR|CxJq)^!Fq4DKQ>Rzd<>{{O?bhwCwta0?_p&o%%IO<*dA%VPmASXt zr?IDe+)Jr#oAY-al3n~C^GNZZ z_$iEi@#MGy5XSzYkx;od0~ZZV+%yp?#f<(>m^|9j=`<{*}9|-BY>uouyx2ORsY1J3~$5Y#sUJ|M&(nUtw`TPgPvGQG1>>x^zJB35!LN#yq&* z%Qo3@81<=Rz4~UEJuW9XQ!vM97C-UnCaU#eTdVYYO}g$Vj`SMIt~K|eJ-XW!)uc&N zSGU^UOkT~AA6!}L?>y4WzBqTzlU?LFJ7omiL)g*u2oaoB$=)){Xx3+2JnXux^|-$omHE~n~OYep5Ef*$4jCZhCjfs zMf4P(pEFi^tDV(qpRU*Xa7;BY&zJjChw!}9j|27TJ-s`8e-$viz7O7 z=&;3kSG^TzXo+ZG-sCDNt5-B!LOJP|58$81_&5FA&061W9Yc+Huj~_~ZSif?_fJFj zd8f*BrM>+F-P{C8=U8fI8YxVH3nz22hYNGnh9OP^1Zx{q6puKcVRs=?sy?l=8jUIO zmz@m01&2_?YHj~1HnaUJrtwzzk-sII=5bB(@<934Cb=}zF;^4M_@ShQPfJqRMC-o7 z6dJES+y)NC0XfAcqS3Xk4vR zItMpegFX1lh*sWU_v5^-mYB}MHmKircp7KV)NkPhgghm29mP4Ibz_d!uu$D)cWu;n zkBsO^`>q(MPZS<^*vMI~9F?5@*!+K~50 zXY}gHY1Jv(9$iFR3Bt3jQ}kWq=^Hr{eZxHR^Z5Qg&X-CjTuBzAFU&c~VK_NIhwU@a z_ShoYN|430m1ME{MB8)^UqHZeapS(|?y`ljLO8sk-Krwa&AbHGyrmmS3Lc)0i= z->|lb=bOUZKO4H@4mg|q@Iigi?)#$qOyle<*k6*x`aM67da#d59%f^$E22A<5hVy? zQcJR=V{MP8uM_%;eW$#f=pWqM)>nPJJDe>aVhyrcoe#*#!v4iWV{`C4YH*)U+-z&4b6j%=GTzkI4q~NAld2&GQ+LYLp)}loK`)OhrLC#6(EXfDo9Rg z>GQN)3oXTGAin>I&@qVro5C12BB?YNHHJ0Y$pzDa+wCI1*Rh;j7?Hl5!quhWuwq)HUePf^_H({psi)n$THV=+BXeu5?~Hy6$#8qGg|_B0B1^#KW>al{!Sj<2?v5{8{Ouwc$y|L>E?=A+fQ=5AgX#CZP#&ir8)e%!!lfO|2>ypJa z7QI@JCnBEiTvJC`%*h&h*KC~h{QDe;w1=+OQ9HQSJi`UDi5WY4&^ciq1m_g1E#5nF zj%TIhlId)mPA*Mz96f(*h?ovqSXEzz_8*Gczm_*?&!#?&@x#9DZ{`56_^hI;AlP$U zZ!w(y)WG;rm;xpHa(dTv8?P-d=m8e>ucx7B3U5C^wnq|dZ8F_Ce{Am1;ux1ABE4!| zGCeq@mym&mvxwUwTAR6fa(CM&x@SGzuYvC3^H`kz5Aj0Xp|}^+aRqQ_ZqLy?F{GKC z(K{h?lfrPMw5?{G;xn{#GF6dWEK%9+<|F#nB?a{v_Y2^(L$ob;+Fn*lTXk+?{zw6B z1#ob_x|TLK^wPdtolFc&EiQ59l*upGrxSI3&pnp9zQ=c@u$kF8o=;u&$$ z>v)FPsw_o3+sv4_JM@WX%bsV?fM><)RaG8>1najr8k`=nONm|tE=`4hU-bNwY~m*H zG7)EH2;Xfq3C7sh{gTBX`_uE1lm6V*9Lch?lnpv3I9XjJxNq3M5L*KS*U_5u?C3ztc;S3N#6!D6oce~e znjFG5tc%4{JyUas*eUw;=M&g6*Clhlfa?q4v2(4H-SbP!883xL@xB7oW3sw0A&oPw z0d}D#AB4lsvQDPY2UtGgXaPrn#yC{Q&b9FRUs^iGJM(TVsf@+`^3d8ccCK}DWO0^T z0f(bCRB^yO)ECL<+v&!HLTcGi3u9pyWjLjBP+v-G5#i7)Pm0FGwMk9?*hr{>?RIkO z$-e&|QYo|bq~mJdZ?v?5EN8^G+q$ zIr3|`O%^|fG{^Mr)Je{A^kSga@4!#Hk72Ve^L1{eKXn%G980?v7tvUh{}grcwuA#O zxxF=FtMY5W!)HS_7k?pMNj5$mys`a%WLI|yyGs$lUVHa1 z@JW8qj_~BP?B=)Aw!GckSLJ!G^wo*MOs?zQzh_2#T35;^r{gwin0WIn&zq;8HE-H} zS-jEEYsj1DoPjq=ujS2i&x$u^o)hBD^E_`(!kc0pE9359|AEL0rT`AH;cQs*!u;V; zESHvQZS9iltbfPd-C6CU%+Jli+D|MX9FYNPk94gUme6}P?GcSH@-*HAjk2dUkSm?l zw!MA*L);7)9qRA60Zk(H`bp_6&I9d(Ik_?wlGS3^`_bS<2gu2>>4)%56K|91dPWc+* z6!3=k48j<|cVT5VdVAIGR-2@h&$`=xnZ56<&~b6tDxnw!hRlMW9*{h z+PA2!r#5K3VlMXmatXhh@yAq1+JjTLo&y)o3VrdLQCrt1^*Gg*SCi*2w{SO&0enSa zTW}-7g>=X@C;XsAccpLrNk7MTtaHY{c_@C0ch$MtH}H_RE6Zto7Rh0iMUS62jB*n1 z)tZwz-J2acJi{Tgr&W3J?-@9@c;$A%)L!kkUmMX$e8$rDir&|GdY=JF*K{%OC%Uwv%NSN>DF zU*EKzt}vU2`1mIBgnNcrS?*+}Wt*&yaL@29z_)=XwBz@EdEpG@b8W@ExR8qY_z9=zij=ravIP?7pG;Rrd|wMIL?L&0p>t7Gl$myfB4+)!2ED z%HjvI{UN1m(BQ%ZsF%l%_icI$?NrvsAK-WB$538<{6XOQ)Th<=@rTH(KK^6=s*i0hV$;tMC3) z<>-eUh@-Js}b8|>_B>+N#7eGUR` zJ92)o*a0#}Sks+~VseTO{9uPV#ug_fHBx(Ye}}>@70Egf`~0(3;;R}Z`Snue z%)Ya{D3q?4Pg7mk4k(u;sjdexGdAPHerRQ8(yXDlu~Av7@3kZoHA&h2-uuT6PWt!K zRfqG76)4N+ePUH{x@X;`;7@?X3bpH$g5ENnqU<8JZ} z5hZ%co-1^1P`f&T4{+ILYSF?{I1^Vyr~LZ#s_)UMVE=OMx;HYU2Rp_zAxdrI?df_j zd>e3Z#g{g^9s+FGV4O`%`0P>J4iFC<9&{58hQ-dsOqXx$-$Y~erX)AAY!>ApyWQG! zCuN#x+s|3(_npCJ{@I!K4{=NMCJ-Wy6Y{}o zo7>lhzN$<0{q}dh-=^rd;`6d037XO2E5kiz8v?aJuw{NnKb9hu%*=-fM8Yc>_|>T0 z_@taQUag;BqwHz$J{Uw{|Jb5xl5v93ySbs?P02WZ{MqkHGCmOA2~hefe(&&eM!#3{ z`zn5`jj}uaL)6A|LL0ZsP|LeB?v*;<@DymYtBv3AZM+w4ERMm@KGJgoJ<%~j9~~Uk z14niQX)G;C1N)BLewjV6LfPmvg5AI5&sVvh!=Bkcb;>11=u!O@==oMe&)TGc0aYrYR+KGvG)?aa7yL> zT4HNRT!pg&wS}Qu`EEq#x}>&RBd`{j_S^S7ZC}CQTTI)?P#;%3M+W=2B&#!H!&eJ5 zd~f!Bbtz*DANZxY>oH}_jm>gZ(P*HnSY!9hEG{jRn8BLeeK9~z4l3U!^J!jM#^N_K zsoY+6E3HNGz#^FH(I8*q8dk9VCl{V?L&uB4Wvaym68 ze&qS~A^29T!wDZA-u;7a=43yOS2yR@i9vkJ7AIpn|0T3t?=IXrzZe`ejfaA-k&jvp zT(pX}vr~gwSfdMj884dkHXTQMMY%MW9N)!QSLRm6drP7-cTTmUcO3L4!q^fc zZlBq$!q^nPR^xv*H{<-=v!Si2|8sh8P4w-uG^tFUBfcJ`U6ZEyD>**xP0Y`0)3k&$ z_;W70fIj}0sE>DBAD8!u`t>KiU!O<67RxbzWu$Ppl%&z)SLfzN@mR$lyl$)pS@y3H z9nDEeJvL-Z(rAO|`!`SDEznnN%Qd%%_Jc(5=!}E^)q`yukLTpG?(}r&P2=2sDUE~G z);I3*R~Q>^yw>-#`V!kF<3nkQ*?19)mH*7~puRyyem&UQDcb+b)81Yx>*B(xtg8hY zz7S_kw6Q8ZMtuG&(NqMoOy}k zJ8ranWX~S|>_+1(Mw4s`>Kn~_EWM?&L^KCkQ!BR~jg8dxos((q>Z&{2S_L0|p5sH~ zMp=J0&SLErkCI2YHF_;PlCGH4*%&xjB%)>C-qC#>eJs)hwT#(Qno121$nnKa`0=^e zHz7Hxx|*PC74?S?`rSRQOSG)^wEXabGJE^J{+^NEu2J`TZ%jr}g7IiiAq_o7L+EpK zq?zR-V+-+Fr~0!w@x6$wl}%6mcy2`RrlhD^>%F3cw9nRhI==>;XXvw@hJ99>TH0rh z-q2^~M>IrzR*TIDNqe+5mAcet>pU%AE~Ui=GLNhCJ|NeAJ!8_zUz!U3(08piz}inN zV-H{Peo0yr&sI+m-Rish%s3H^5MZmi8uIXo&p1d)qd?H z)XM!k8)l)Yr`1RI^=)1bCGOmbUPpY?@Ifhapo-Z zQu+IHXYFTM?wV`PF5@HBnBlX`yZh|&T}h*v>o@1t_T>{x3sVz<>%4v=ygWN(kF5r@kLW$R-myhzk7^|y`MNTVa!xStnKaSs zuS#d{hDlIU+upf!_Br6h*qfeS;t>VCe(7~{<=>ECC1avRMNIG2x!eOIo^DDqLX2(M zPoqn`*-ZZ1A#8mmL7uI;Nc+%MsAQ_7Z_i(BI2XpkS)uZ*C1#=G`Z9kPoYw_*7i#F+u|Y1;!H^2i~Dqx7b^!w+KF}ShD`d? zXul>m#(9cvX2S8Eda#cu)Ie^ZgRkex_|$QW8>adsPamA4wQ+r-kT?Tx{bW zRphl^0z>iouy1t+uy%_FTfyUa;NqG-l;2rA%%)_U(#iL*G+(9pa{s;0)4c+n8p}%y z3OqYJHa_bY7e6i^PJVlDElW54Xb!BE-s|I{1wV`{$R9rIEV>+`*`nZ%4!4El9Z{DD z8%^TPBPg$!a?b}z@%~GNJ9_K_wM;Gkjdv#xO47g{e3@Gqv$9R_s+{dDGqDYO-3a&O%ys{&ryV>Zz`)w5cSApk7bgt(y@rvy+qOrP1 z5ySS`n|?MvYJtYjviT4YWFyP)rQ_;q+MsbIIq)dHx55W#Oy989Z|+2=I>;{aa4tB_ zCFpd&^Jrk4}J=Qavq?O4G-1gi-AT@Yi^upZT>QA70oUWw_&07 zYYE$JZuCz~@6n=#502U|dvKTKC6Ny@psxL*dk=Z`5(_}{bz2$Tsg?^4eUE5g7t_8j zqPGDbp6B^cwf5!taJ{1s!L-0LyY9Zl4FMMMrpI85sr(YZdR@MTyiq>wiGshKXqGLp z&&nFBu+MoqLvMSU#jk$yiC>Q=>lJ1EYU|ur^-e!va=#*;T@drEW{iaMfx!a$h8%sl z@i6RQ4QW<8CF4dcucOh%LrFVD=RWd^&aOt|qOIeGz#_idTnh7GZA9amwb8gJq4%J* zZMg2ATSSC*WA;Z5#0e2~85=>1iLIeIJV(}MPj)|<&E zT6d5&`2OhJEsK}Yl-xodt;J*dd#Y@0>*dwT_<<4^PRDpuoMb$^!p{fE5?(CP6^{8i zAFfT~Rq%@9)uBU5f4?63Du5;<`q)F>qq;@^6nHK}A@~s$6|XsadfJA%_opW#*-vYK zupv5KBp=^3JF9mxtrc42V;!GCs~j=4op2BOG_Yp!$$CA{BUoyeWZL0~X5P|l*e=mF z<7vC|K4tQ)eTYzCd-|=D{CB8QU%yOm=$?`d$Jy12=$i%q>g4d`)RNmLh+g~qs8&V2#5a^j z++B?);jX~jC+6Cf!(`maLBOpxF8VgEpbNhYKFJ=CMoH5Z5iWSQS9^41*wxd;7#+6w zBm{r6uqEEM;G?EB$lpKYV#HNK1hxiwd#l6My>_u&cFW8bu}oXfSd%DC!?=}K0{Lc> zSOKTvRNe29WpP^EW6cWiteX;hs(Z87oUh(#d~KM6imu7|!|mjd{7{Svl5Z3K&$?MVv%H7s4|bhQ&%7)ho_D@RAzw?HZ+L#0=8(BC-&W2S zCvKBHYUa4@db}>Ay0(Y2#Oyf6m=@~T72f3LaWaAe72@9=V&}F^^Qa(Ju--9dct&@3 zNbjB+TX4e6cp~2SBppMY;ndIbO7OmPzjdYQa%$^9(nXx-EN-u02h#I!cjqziTWPl> zLtX9^dC`&W@hk0cmX^xWeavmtoyzfOZZ9MaN8DMBNzMHee(X1GFFT9!ZEOPcyKKaHw!@l7T9*iBt(ozCp!DvY^}}0!W+A*5hLRx@S3^vXwbw;1ys|>EYYZ<&1IB(W~V|ME3)U5Hy$rQmR7FPT` z5bQk5H=myWs_Z(0p~pn?rP*Ldrf0_vhMd?@Lq24S?;UXr){@11kK9Ak_rXcw=;sT9LaF)a=0eZ z6;=^(TR~4aOjtBSx;m;$wo@{XIUpgS8_msgW$Ck&GmbK@0mw$0;c0RS4 zYJ5M(;B%~A`F6g*;1lB^CA8-yY5t{Ly)QTT*vj&}>dxwYmBA;c##au_V2MuYdQAqG zRWs$=>kU3L$JniF>+hy%lRVOkRvPi|EtYne15&}$bKZgJ#cDcw7BWvV z^ch};-h!?^Sh!~R5dAz1zy-`bGX8Xp4)pg_JDfeaJQ=Ba*Xft#&VI@>$CnAm4qX@j zcb8XVZTjEbS~dueEd+)2UkiNJdE#-j8eYLL-&pmD;O9v9 zD}b-zTx01(+vKg8CY0hjHyK(OBR-9AJPTf*8^zbvTv%)RXXIxJjJurNU6&mzi}#_t z&FFSTaPG+Z{Dd!<$YK|$jPyoVCQDO4D=zr6qj9rYZ>H!ehI`o08cWadW9g0D9XZoj z;+PQ+$kMS?n{54dv}7#RX1=?FC!@R;6V)=$igl@?Qt39bEYawYUHJv@%JokcYg2Pv zzBFMx>YVZUvgeyY)pqIPHU1cskB2pN9h=Or?2ee{Wm0Z&{{{*^a>rCqQfx@X7GTPQ*PsYhDtm{C^*ZL%=ckxjh;Bw-;0mgz1hF9|N z^|V?1cs;SU!raquUL@D_NcZE}I5Yc(y^V+cgtLxJ*K+5w1bUMA^RmN@J8&(UX~o9k z8>o}{Wz$c5(%k!y}Jg;tQI8SQ^WgdMt>cCpE zUWYMX+mt+}+EnnV|K3U)#Y0Rr|F4bDw^3&ppFuXfJ>ow$v_Mlvf1a8QZgi~K_zutO zz3@7mBZ@9=$Ci#cY&)f6jgik8iylx2a%!sn0b3{ve`ndq!VvujHw$P4%?C z%hUR}hH`L!Z`Ia9-Ze)Z9g5{(eG-`6I$bOW^99mI=D~(TW9q%MPrTpFnEFBPK7fhX8-}5V8*NkHys?5bn7Ux92AB4Ued}u=Z-JJ_Uf}u|#&rDX! z*J?{LJhq62*Wt9UG4TQU~$h%OzAo$0vC#$tC0%f{k>AB$R7 zG!{P?jm4J~jl~AzMPu+oehl7=F}N)!%QC?g=AQPa?1^k%NCvP+ay!5*Yid8aS8CgE z8!O>Zne$S+Mjn2CBwsZD?~W}+{kjRiE-vuQ&m!klmtZZ%tGsT%HR+!58fGekE>HQK z@qT*>bG#S6T`BA;)A=ue{~wO{&)FI4dVao^u%FrLbf}Mb{{I)gpjYJVTYJ$IS7vd! z#S=Y~S@`>5t(_1s^@sSAs15k)63w`aC*20S2KwE_5iY;__!K2+v_@m$W4Gs{JH1JititH&flY`7M$*J9l9&L;RdXS zy*}52d4`ox4+rtxIM@6OmKi&r1doT0>fHj3i~T!e2#kVG)%h2`&hKAVdLG!@)vIUw z+S`VR<|RvscPF*sh6iqODplyL@vp$Iv&Pr?e$g7uP8+*r2=(mxMsVJUOYin6N8A_j zy+79WWzH|s^&21BsYCRg9Y9C@*X-q2kSX-FFPV*TbQcU}dV|jGT|P~F!)J3+O5GW0 z7jHk~dAql@%(kExbq8?y=o%it9^W>)&%5l`f#Ih7yPBHs0B4A^^EuDkyses;0Xh6zV6dH<|Mc{|2tXQfhkyep>T zElhBO*Im>FuJwtSK9w&-eYZ8ad%RVDeUb8SK_+~H_7v|AEgmjYZ*Twb!2zzZ+bK$F zJStZBuNK@mY<(9kjWLHh<0FAml@QqJEt`@a|o&o9O9Jn}=%G*UA3~a37>_vHx{d zi$~iehWe>)9B|NO5W^#NP(L=l;oJOxq-i~CO7a_=5q`kigZ>qTKzCV0kLA1F#l3>p ziGF{Jf9G=Y^iBTiqj*~Rw5H?)fm_PbUQS*51pcaSNV9+SxK<_K_4P;|ss133zR&k< zr_@e&*Ww5K4zayLI~DiqhrWD$T7BHFACY$zJpM6%1O2K)W&Z_OikDUdyt;!_8{6&M zgUe~|KC&hsK32AZsu=AkiT;hj~47fAewZsrRO&)#j;xBgv&U*Z4JpQZ7 zFd@E21I4G0W7pTX4|dW^40E=x*6&KHV{T8^QoRrF_S#NA)i}uRusHoxuyxVhhD#Wm z$p1YvQ?nLZM0P;kulf&9kE-4vd2Hb}NBjDRt9uUmXvRa?Q)-PeFiV`i@}J=R6rHy2 zUXIRxzQWO|H6W?8VO!i}Zh&<5>}5KSbPT&-SoL7TFCWbU9K=B%>>47vM~9E4H5x-G zDSrQyc8TA4{S!Z3i>t*ui+=see0BSe>1|)h*q>2Waa&PB=iq+Y7xCM~K^9Av^N2Yj z+THn={`o(7J}XxAS<|es^S_jTBV*?Y%rnWudLC5!x$-o|ozxvph^0S`Z=zpDPtmXM zuS9<6dypp;(pnh<((%%~kqlGW)%-gbPpMV>)hEcEEG?5^k~@M2xpOYxx1ADhCwJEJ zJIIz$UUKJN5$;v0gx{+7{7SvtIS;tx&iVWeZB`w^dv9QASy~bBs_!LtUSRUn$&z!( z+d_8t(zo%Dc!Cd1)&SoEToIuZPEE|!dL%irj*HCo8iOfbPCcejlfCr1_%sphKz*{_V4Vw`TgL@+oG$_nLLi zw^k_DcUFQ|ZIgE=JILBvfdRAWwubJjkht5 zjL)7JB$B>fHJF?_p3eELq{q7Yt2qb0JP9Rwapsy7)ppjxdREy8Kf`CY-eCO&`%B~E ze&Fn7TzvmgZtOo1{X>1Gd9VgOLf>^BTR&c~kM|GCv#7IcU$sMjh6pz{0MO}CrOAG* zRGJ^?$H#bXeB}GzjSo{sjjt^*U@f+uqbSX`!uh?A;P;B)?v)(p7p4AC`gyE(N9K=8 zyX~EtoJq%%($3d?M>%xyq~*$#UhT>Hab2_&U`#JFnFnx@lro&i0^6 z3oabKco-j?V+`$jzQ^L}oZ!lEEf)+2A^VqeY=A0?)7f*g&54^)@zu06Dr3m)_^kYwlRru@n}U3(S|a{#XFt?C zw3o<1d;9R!z;@H$8O1{@OWYmwpG&}{{m_fqOPA<8?Hz*$2QV6Sk0Pu`+k5)kUB}hK z!FpM)eb;i>$M+rYmEQibl2&lIok4LFWk*(=Msj-%%$i*8@%fTu;5^xua851$r$AN$O7iAR@H z?lRi*x9DZtJPjM@?OM&4MRzi3LUJ`_Lc02?)u-$GxuowRUAP{tzo#0^ z<*r_0^A8VH4|MhHGuZ$=F^usbJda87xH}fRkP%3UBjJ9-TniRIaWnd4lSNcAaV zx?;SawfF5b@6hWjj|ErwY!LtA`byd$K3zvSjr)(Yew6G5oyBkHU~hYWkCSvU1X>1j z{-@qT=ke_E8?aTXlg2Jy$N|V(xn=|em82v_6*u1d2 zV@|QKe3t;fAUX?c;kRt&^NX1Ch?+|H&{V&=kgOu3*@JlzX!@${3#kyjkD`t>!l zi@Td$`|D2~vIMZ+b$WeH7eDj)g4RxVKi8Y+{TS7`!#d6la1v2y9~*3uOqYwA-e*k;}?6UUVh@(KsKUmg5OtgDdggob977r!!TWU+eE)Kh@8TRvVOgJ?Rk_n~tu1Z^xn>d@Sm_ z8{bMpCR@nZDAD*hKs}rr0q#<)OY3W`G0nVvsSvYi0z4L-vSZyC@e+Gsht3TOC~*ue zONCDHbP!z9lRtb_xh%K%hEb?fAMwyZJims)BYr);My^L?Yvp>^QB;B=+3pgM?@?i@ zN#C`SJjUv*;wEM!^Y>AIUgmrBerzgzwJT$5mSTnN2Npi?F|N+9S@{NtUk51j6zV%p z!Q%6H0*7l`G1PVA2)mZ9(f&Q7ZGApoRACaN-Id10YPAMUxJAjg{T5;vt!B^UfLY9i zCq(UMk5P!+4}zj5S-qm^Ch%wse3O3~`=8X`Q>-_IauGej*-law*8enovN?`|FW9ke z;k$5sv%%aE&9!H*Iv17g%0&WpGDrQsF3}ENA-m@n+ZHDdv!D>S470K4mGWGW9MfSN zA%xugbLXzJ3&A?nN!;%VR`1}$;m%-Z)5BYf=H&4yO?EAUfp87P)K^Q^diP9Z(Ps8S z^OGxfw@LhxUOEoV;bZ%m2K*BLC&({5(v-I&?V-QLv%dUXYOi)y&7xR4kyeT((FzJu zT7s^Dp7vZHOde~WnVbphwC2z>?a0p|Fnc~I4O^p)3C*2D5smBE--foi@s|Ef$Jk-= z>pbFdFsRsusy)7jX|=!4L|S-GRnIs&tPL_)Jtgz8xL6~UVADLfjW(+v^nKQU5Btnk z>)^SOB_gB*9vvYMcA69>IxCEaIpE>LJS}d|=-Jb$F*6U&_t9rx2XXPa>ge3;5}QF? z$J5PCY^OR`t%E}A^J>OLU(b-=Y|8YL*$+jt=4qB5>w!9NAw0pOZL04=}^vp!Z%F^=ukx)pqXpLKpc-E5CwYroR@n(s#4?;J%KYO%d8CE?o+%w3H z2Hf%uQ}i2tg#FwN=!WaTq5fY1XZ*gCejnqX_IOA6t4}z`(V2fJ8_s94{Hu}^HTk7# ztIVsKv-6xd|C4I+x1AyXQ+)o7Nt2qNydJ#5ufN50tWKWh%Se8!?jXN^jqlq|i3je? z=;{0pXGWooIx~8PFJGTle`a($d39#=O#TMmst%QXHn0>gtq6E8Mz_|P(e?C6f?U_x z&~fsCUIHX3a*0~q+JA9gxx(Z8al^l8rWk27{E*fKt z#`){uq1Ka9d+z?WeO>({!yRn{L#c8V!yr$1ejU8R^JXu%rSl+-dKK46vQ@t;=t<%C z3cpt;M>`2VNx)dQB!o5VDfI2ygx68$6v8swk8ee0yE8?1&MusnC&%Q-F*k)tBh+(6 zax8O%@VY`PdG+>=9=O+=)}mMbPOpe~xl{J0m^R~N4Gen4$5&Er6Z+A^D$?!NHfw(* zxqAa`7e8L*`JwO6Bz}o_6a1KzR}zAeV(|vH(H2Bc<+q}?tWLUz+lFo!9kn+2@4oKW zknc0pb18*{e~f*w@Q;HhsrRE8>Ke2Iy+O49>L4e;ICJb{PVD6}jP{=1ui}i^s9o=W zIvby4H`d1^ODFXbkRGi`p|*&o*XL+r2l7j7i~8XW;NQihI!$FIvLN`bh}O}a zp4u9q(I#HL5q#q1^?5pFa^}3()NC8iq947=8LSPQjZ^$xIf|MYC)%pdP zav`946yU??<~UihXm-|4%?A#j@ODPQn+0z>%3ZQNd{dSmtB&4X$Z)k}W$My&p6=?| zN9+^=L3>%Cy0)j~>eF_mX}tW-NiXVOT3-Cpe(0@HU+fOP!e`)@`r&Pq)4u5AJPIiP zEa&IlUhV7L*EQHay0>dM_<5(W0p3!!IBu0BgN^unt1?)}2&cEb&?ubTHxD>*U}DyE zbzUj?xDQ`(>7tS$@1QMV-Dsbglc|y$%E9S2jpV+6=NU3F6wIIeo#49(+Kw}}HO4;A zT|SMmX+KVMHj4+{%%M5zS)9raXuXVWBb_sxkZ$r=<7iVdp>yJ{xe0<+`f+s5gSAgx zJQOF$E=SdscSn7Lp55OuG+<}04CcZ3ytN=fquOYB4>)8$xC4n;VoPmz#);0Mwvxlv zD8cZGC+`EVc%u7#EzlzBqG{v&?tEG+O!zgv0Y0p@U7rT>ep)XFX$M?D%{rD85|8p`r1Z@yGOaNLyVrbL8pc}Z-X;swYsm%jm5l; zxRrqn8`!ij`Twa@u6Z0@Rt+uLPJ`vH2-ueGXTP0&ZNj;joyYQjboclI+YBa`* z$LRu|CNsEbkIJH8tj|H^?nkLZ_giF~y6UAmn9DiX=3Nmtp= z=TVlwo2Wc!x8&`!{P@zE#Ol#KzdW=s&zYHcCD`iZL>+8xGI2ccO?h~y zJ@pIHZ_b9t_s>k)URiirfZ=~NJ2sb{7YTNe-t<{=2g{=2TzK)t953<>HfH2OMuYhA zCCbTn;{p_nk~L#+xW^vhta6^I#~x)Fbkn^k1q%SLmjVxpzKQQB*+wm6{K+9H^I!Y5YD3YUwap)tl;=`n0`hZO26=zM}V8=fIz zq%9nt_wlY;!L@;SCo@E&RwxefOk?qHbNnAIqP3h#=u=<(9XNJ1C&}ziHwU+J&MbOG z`%C?PD%iHvj??s6xM%TF<-I+#Tj}@L!6zT(ulcqG8(5aslzbR@qfdQWW-qEwYf8c$ z4B4rKFW9NRMP1uYsm;z#^=*EuJhC(i^~z55Pf?rlX<5DNlQrvQpZX4Y_4m8{HC|Ak z>JZ-V155GJihx&Rr1nn5Kah7F?a+&MnuoFveFIoCu%X*#EN-G;{|IaYFm0$6Yf7+h z0>fnv51aWp?a$@+{5@b*UAmACZ7#;jyQ=92z+;Fn^SF>gwG3#u>u=gt$FZ50<&MaV+bt3ExnT&SHg*nD*kPAPfZqXg~RiYDw7KP{Q+@gQWb5JofERrtO$qNQi9X1z{4eR@gZ_4grk_21;^)u7eH0oOsbGhn zk8UrpG;tDZr@x^c*-n7>a%AfLJhXOKXk*irp@kZsTwG?o?eD{bC|ziCAmgvq2%X!+Z*dIN(joIX6RrtgOcM8rq`%4RZfn z{RV!H{zmJPe&36K=Q1+Z@>d__v;3#B^5>Hl)}6S_I$tK74SlX9N%XHiZzZ|F=dDl6 z?&fG7C3Sm}YA=U%x8ZqjqS*gPX}u7$gg{j(i2sto~BjFrl>CEt!?823hSvP5A@~2K7k>fe7}W00g!yS z{E9DIyic)pjmxOA6FFXLS@VFDpAQ0u+A1Ekq~D$Xa0$Qb>upL}eZBQ*nf_3p)|7mf zGktyHzWWCArao^axy;w0cKtqUTP;7g7PhUDJk*y9b%gt{MRh!^l#Wct3V77-()Wt+ zToJYPR`%|WpN@yy3)|V0T$z?>vUwV0^;N*Pol<|e@;iNb>1kmuN{4%-FR%9G)3QDY zI^5Odl@9kP{)(T%qdHXf(R@$wA{PSQcHTIs)#1(~uXH$`9LS`Q*U|1xS~F>T3)1dG znshqKb#skLDuCIkrQ0===5;%++B$u212DGF${%Eb>4EnH-s0-W!S4@z3-BuM0_-8u zXRw4{n{wx|&X#q5bnwTJSD$P7>+TH!w_v-Vi$(9Z*uQQxege|yQJPal8j z-xPx_>fslCqrUA|9u~W|YM)KNT*8Dr@09!g6yV|eDgXULIUnO9`(pi_Fr6jH=8Yk1 zPA3DpGlo}C-I;>7dmW9k_}gFEc^l^o7&K-UbT>q@L3;9y&|v2aN0#c+21&zDc$(T~ ziDY8=hk%)%uwGR0I5akO=IrZsPUY}4=;4=h*DXgtbhl0IR(jvw`YfTm&Z8YthjW?w zcH$e*x7W2vV|-V#FkXbj&rWNL@?EQZb&bi|x*L01QM&9?tP_=C=ntRHVB2Mfst1X@ zbC?|#+hq2p--2XDklP23fKU72hqW;03iV1J%1AA?{yU}j_`QSM3+lbt!()qPjCZs= zpF6dRD{YVHD9!hk;_|OadazlU$gwxhw4Xf?(S<*4VVxTD2gxV@tT$8Wy2AEWhb%zj zG8a4v3@}Bw8=E_|P-qD9O=Cb~DA=W*KpnAs)9+v9pXA$3{M9FvZGv~9Y>;tr{!yP_ zGEVRyrEe$zO( zO=TDd@8yC(=!;u@U;L+hV4?pQzvF(??>Wk;AF;XEC+Lf}krw(d%h!}F_hrHkj;1tJn(xyBt*5ee_c&?A-i&T$(n|T3fJtxe zm|r+CJnwYPWne7^(_3E-wgPMmFs_wjopi8cz@#VZ6)zVdErTQK&?i~CLJDh=>N`o9 z?W9R*4DEUfFzLv#t@atfs$PakPkbi7<2iK!+_@m=iQty}mY?3U$fwV<`Kx&qOF{d- z+vyL_Q95&I@q$v@T6T6wX!;&Aesa9w4&;lDIE!;p-+TOep)rXkW$uo;V7xt8cOU&5 zoF{S~*NdZyJuDX1WBCN9%7P2+kgoNL-NN!-5OeD=;7mJ_3LtzzZ>dX!pR&j4oa*_W zpKAH0u;%LQx0u>^=`GLY```uO*82P3-18~6XJH@3+>B9l59@epb&fz_Qrx;q^NYZx zx%?f^>oIHutOm2w1SZoJW{ow`ESoZKAk9wiL5YogqVCUF_^RN}tef(5a}%%{-#_(P zi{O?w@8`Wm@Ls*+o!Paw3KqQmye{w%+HtwV?ZP~GxNvV5yn_e$qWc*ig-1ID9~hgP zXV)u!;oehuNz^~Po6e43T0>q+IoXyU$YGf7btm;UwZVl6@3!dfLSN+;r8;oh2fwa9 zxIL4h`u%eL$>&gSap)7)s{{NNt+9P1%fBjlCFS%9@;FOtN^UN|HE|(+%lxa)zbg67 zQe3N&+dZzZXR~&p6V>CXB(L#!N^ECsODE_Ht#%WyNZv!i; z@AbYu=})3RtUJHMcdZFw-Fc%gueBxcN$bw<`trh^Ppe;d-b7xlJ8$N%+9^D$LuKE> z_Y^O!2zWKuwC?OP9yr+S{q&s zOlyPeLHHWjR)CW~OZzR-v__D|@rHulblKUw%Dt8}*;7c5fj#Kl24pS9+#59UOj8r=qE0uS7+Js4dpl51_=y^9~K7~wq9Cc|7{q+^DUE!=nn>dR|bsLvi zygXK0i3vY;T!*0+A=jPLOHZ!Qj`v0F(49?UCi3=IXBD^Oy#xM!QwS2nnF8* z+OK~3U=2SM>!q-L(MnvHPW#no9|E7&;D;~<_Z9L;YfA4RYp!FnR${z9ancUa?iyvV zz6fXEwJ{f3>HD?G%;9)_);hjU>+mrbgGw}iB%-;;*0^7+J)--g;MDr}-zdp?BTD|P zO-b)ib$GC?Z-|SBcAc)<-X!X6@6u!PBUQ$g@>Oc{UEi;#iwZkoX>%cJ1d_@10G9RIx-$piTyuB5sX}szClYr}cjbC8bEEZQ;nKT{|FO0p} zo^iZibgwhat4~BcU8`0Nwe9I@8ysvq*xo~xHwRUx#>J;18rB(S z%j;CTKTUqg+b5LkJVPwuJi0eWgk$%{f;GQd2ZjoZm%N^CN&brkPc(fN{IUL{-=E{3 z&Q9;(uRdDK1rKZa7x=#Il)(+x7x^95>rh^6`Imh8`n3AB{IAKYwft}R8``BhRQAij zQoOVx;N9of@+J5l_K=?^uWTW#tDYHd?Yt9sJxko$`M0FSYv&qTu$r|~I_5d7nSV#R zK40Ol_Gfp8-|EA^S2_CdnU|IMziI4sRPk~r{uKem*{SsorGv0G!TRw5IoUmVEO@7D zjgr3@tgL+9w_9yrZDXw#RpUC;_J07!rVEqgF)+1s-V7j1hWEI4upq_%%(e4o;wtDS zz2>*R)HC~cHp&5e>1*-h``~&AJ{nc%7R~Qt?H0}9tUcH~-+du^8+o;d z*1zn2)tcl-z*Y9g`b*hj-A?1we5|;&mTqk`2u%`>fAKiPbM^NnwCkSUS<@c3=+0Vq zGM!yIi}bRdWJ0?33|A>oSC)(p`A(juP2n?ObD=RE;_F?M(b&Hj1jT1@jF;YCg)y;- zl>UMbU-V};p7sHvwNEYki$H-Vy0>TWg1x%=j=R`c7KBG-S|LEXZ`hV!i98Q**;w@Y z>T!$9nC;_bUjaT?3s+2Y;O%28?vA!_ZvsZZg`-0&<91dXaBueT4qm<(pP5DD&3vO& zu7z~$b395sJ7vCb(VKExqBN___m%jvHA#!vQFY+UwhT_-r3Fyt-{80$oc;x;I(l{X zo+QHe!ZPdrRJApbW(4>u={YG9EHpuN+r7O$O;m62RoAHvT%m|x$Fx6O}(0n|3`ms z&-Uv2{WJc_zVTE3>Z3JQ{g|a?>$B3N#}uczxa`L+aO~!w#9>&N} zA3cO}iih{tzK{Oi$0jJYe>odrcHHHyX|c-h_xCZv*~e9s5BgDD zW~Zku$QSwfzn*s0=Oq?xLEbl)mZ&_I3p9S>+N?Du2sq7Jg&eCUAtV8&a=9KR}b{|c;m0dI=UWMtjEe{;=buQ*2sWtP|fJFH;_-C9{!@sMp#UR z&3-e>HOG6&r`SfXxU_72cJY1&c&d^28=dg5kV75-RUhTXi`hCj{L)++2B(uT+!g1%M&E<})@lu$7?>y8BKs?DnLGVvA7vB+ zGfGI~xbKhXQXI^>dK}V0s4ueyBsYk*1(!Eqi zcYi;Z=lgqjaK=!x3dJxuqp|RL^j7iZ<2k;_`<6FYBA;N{b@1~##>;N$yIg{Crj?6V zEncl-zK&yjdLM|?eHiMgt5sSWTpXyxro9Lc-q=Y9Nf z>Dn#8!c&~#eywDW zeC~u#ymj?t?`gIe9ANiQpH^&%Slwj@D zIC&a4q>Eh4n>NzhlDhK%Op?05<9rz%!WaUk+V$LLP502mJ6rj`+`R{wokw;5|L)aV z7Dkvw7Dm_t)@xyeA{VUIYT(! zMN^Xb`J%qVPWNcY>tx2H^!TVv?B{V!g>|b9PoRu+p0~ja_4~pW*Y9=u)4$l@-!Qi@ zdJc6#g7N9)zCW9d*{$t8L>-Q8#02NA7KeUx^imf1xi2{PvJT!;nVKA!TpZU4%kx0# zYp}AzXYuIdME0&H{L0E$SXQ^jw2+^--F-dS;R>fuS6g+*_!oKp6*Ot}wu+xm28Zs8 z{`UTLW$+39_Tlh+aBsEg$Y{cdx_}BFPNBWMNqy9lmv--QvR! z=R>;-ymvJ`u#ydF}({zAvdqbTAwKh$;1jAc>=aJrk`!&0Tx}iPzixlMYR^l+v59qe4F9y^^OasW)|`v4EOQ`hgT~Cuz!k+2?~fJZ*_;RYI)H_S~gQfqT#NVh31&8+H1fi zSzzM>3T=SXKKP~Ng=9ghVT0)`#!xD~F5;ujbpi$sFeL*E{ZFcMwsEf~|4rcf8U3QU z`H~CW+?4%vm}k0A&m_UDzp4LvAIZz+&duOLZq@^brmYO+H77%P*$+vcX1J8z7}08a zAd5GgJ>iLFD1-R^eiLOHHxQ4S#um#*7VpOUnXqy!ELqcQpx_%cdEz9P;!pIJZFq=y z#67^}=5zMcZB;TDvpD4~hBB;Jj%R`?9^46Z2&$WkOK**MfWEda^3$nX^WkmalYhkL zL0;#~)VZ&0TUe%rj3ImX+BkRzc(g`u%Z-EaobI!kPK@=Ts!wftSH4X#cGrv;LVcq9 z-IUQAE~D_M&i>+brTyIzWd-Z+U1SjC+WBWyRLtp(NN_ew@6z zi~IzC16`^^Wj_Th#mlKT;9X=KRL2DP2zl8ul6E30EOTPE_bYKf(_Ns_SQ3-|g-NW0 zLW;99`y^?37CIaGPXmwd<>FW<>Knxe_zZdUxrM*n$(>f;Xl{H~`8OoV4O?8BFY|Fo zwdN;9I*~9b+}LSL2M@j7QZ*+u{54*i{an`Xu$O$n(<_=46EDS6fLC<>EBU4CI7a^B z@i?Lbb}-AC_n{2)FldxL(*ig&4*9TOxV=br+T5xh*f%6g+Dz8R)<@UF){ZYj191xV zfJb@{^Obx%^7Xm4S-k7DJ^dC`OykFvK z3NM(1Umowb$*VU^8Y!qgeLOQL^yziz8TGw*--OoQ?!MmELu!MKnj8fD!uNgf3&&&p zm{lB6#w@X4ohB{pHG;F(EOR+w!$kci7`}pnrIw2UPHgREY&wTH*jyKnE0t+>WpZh1 zgY1F+GvbZ)!ztRJdHh4lT(luceuC0YZR%6}5!$5hZ}w}CzF$V&f`|P>=k69-tA9TM zhwixaFVh>WO@0boWpCAAkFy^;A$>3QA?Vf<6N(pSJWqeY?-0X8XO9;#H}86ht6TVg zF8nuS`;~tGf`4Z+3;&zH`Y4|aNmTcF=;7g)#gG)PUyf7)9(>m?bEGm>AYI2x?3 zu;={`@NM7=di~$>JM3$ry!O2R)`j*=h&8&tv>m z?|HwZe75I>(0R`8`ZuI$dG%27d}uz%4V;;@FDehqdp?g32qk+JEtF~hu;$3`x&*9x zUkrBF>hCkz7uS$SpGN+&FV^jEjm&wPHoyl~tNnDi$j#@&0L z2@dsn=p&6+@zvmd%m`+`$tzp7JMdQ@>o3Mzoc7oaE-l!lX&x*W<}D?6it&&q#`7rJ zrB4{wVLmAaLco`&t1)Tv_(I)EFV0&^Hu${p9hLHi{Q8^GvnJVCm)2~IO6F6UF#hkx z_jvqo;&&M10k_8g-Rt1KV=2QOd=<_kug3rR{0;pS#{WHlrFfwt;2rb!XR+_&9m%Wl zKcF{c7$RDWHLlkK*Vt##U3Li$em3xpF26-*Q{FoRL)^B!2J|@Y0$jFj;6}sl;=3uo za5Ve;AtAuGxcvKl=pLix9P+ay8UBzE@*`#le@A7)Q7QOc$-l$rPZK;%=aRPDmBBi9 zf$gI*tHYG=kSLz9iGEK=eBK_f^5xC#bIN>e=O! zJx!C@*f@FKY@DMuZ&aI4gFdzOe!i{G<2mDj6}=WK2MlrrcEcrYqh;AHRc z?1<=ax;9?YvNs51V=21)Z}_A7FCo8t?4L^g^4D>?O6<3Kxw-1=^nSJW8#SE*koOK? zZP_WFIelc5*2;U@J)Nezcu?dwyNf!gIm@Vb5zJiE0uofgAq?E2ZMWJ<=k>Ap94(v+ znDq_uv?YP*6;8vPcAa@)yG2wmqsPN2u=Mnsjk?=Yz{aEcKPOs@pz&6M>f78N zW?hs0rUBr;^q8XkiahP^xUJWhy4!|_Iz3aXp>R$#JkZndW(3u`^Vr4w=q&T7X6j57 z!@$+&X|9gzA)XW0qjPC|lts(UO~H6SXAEF!oA!W>ny&%k^!qH|rM*$xY|h5@hD9od z`F6EZPUpY{*27|b@5sUKzFj+=6^tgIkEv4)HGG*~;cWB@Yjfvy?#;07QlI!26m6ZF zrEbRBvgwJisWOuWzlJGoJ!w6o$PMG;tXuA#TCHzN+vwBmYQ4%e0JXnueK-S!eeHD!qEXAcQlN*%5)Cj zZ+i_f*a(WRiaXXB_0isj+r!tj=kBAd>@q&i{e7K&>MtMY94upxp}n~CkaO}HsfN-| zdfzy-TXzp+aSydhYifsIH~!Rq?W4V;51&sj2YuftP4|NcJ%wq~>9(z8?-z&qq_ai$ zvaFjR)V;?4`w`b|BmQLV<&L1xH~0nAv9SRk?Zu;&aXh=nuQN)lFO_y~K24OQX`4t} zA@rzO&3c-fDRW+fT(BoFG&SkK>Jj|>hP3;QztXXENBy--s5N0-dW}mE(~c75(~nw@Tnvv=d5}e=tXzd>H)vjb0R};P@lMSg8$y2Jns8F zOSj$nx!iiG3DZ73IeuL_Hxz$&c7A!X2QfCt7OtORS(cFUY`xDPOqE?xC z>kX!rB)(^NUTNZ$^i$XeE)TG6#PO7$!CFC_Z0WRmM;DJ&=KPu__;$e^(E3vLz*kh+ zR7=jRwp|_G5^ProPBP zbs*nZB$ysQWE5qlhyGO^*N{(o&TAU##zMWazpcORNX&EHbC02Kv`bg zI7KFEyY1HeodRz?6JP{OGYc>hYy=(({g6_6NJM{QGI9#^u3@LhWHhMF4+Xd8!*`n< zU%Od^-P%)X>S7HK-(Tl#YNaEyHGzI0vMmbQY`-PG5x@QIU09#Vw~iMgW*I%<9MeKc z))|AvcYV#|ZAu1sC+Yh6MZb?IFK-EYSRS|1HhDX5-3=>F>v+T~?gjB&(4LHefj!IF z-63Io=@n94D0NO-0m691xbcmV|WVO z;;+s%;%T+~xS!hAC5z)TZ3~3xA@!oFso?uNH9N6I7tTlpF0xADCqg~^DCZe73 zUW~&H^Wrq{i}qRYXly@jH)piMzH8+SIpQa@yJ8t>>)sE*u-8om|2DrLFkSdy%I)88 z)9;dg`?uTlyDgNp42PA~zs37_=?oz^gr{T^*d!_CPbx)AbTS^{B8GVY<+Apb>mfa!fenNGJ`-vy=ecMURGv{~n zBz}kci9n<7C;lR;7j<1qf6@KKlgX?5iKp;4v|V)w@6&*#c%dTTy^(QJeLr`SytTcLI+G&TvTfp}=37b_vqqKLI$?GtJLyJ(m9l;JTwo^OGQ*{!@YHyUW?G zJRNwf*N@*y)i}^wsm~yfKF{QDV>K43JM)OsG4+?qj}UtYE-#Ab8D}BnR?e4N$VPU0 zwLlfn@C9E&-S?sq(z$zb(Ucf&FA?14mo4g+U~@-s=2scBV5boAdyL@Bu>q_XEVJgV zVBEo*nQt|2&M~HQR2+hkmwWl1d1p{=^LCK6do$(ZbCPg!M_-;?kV+;iyG3&zTABD# z9-$q`+OaiypFY$@EEUt2%WNaOHzb*3hj8<-GEv|n+nQ{D-JL{Qt!RJU!#TJzZ^7fz zHRg)&#!Z@(;n`cY546w=9lQv!T$xGt2En@QB?zptqq>MYc;)<9Cie{_t#qD_VgtR( zr?G)pR(iG{XX@c0os&;1Ff88eW?)l)9-RR3%?53zEsW}^rL{XG`Tl;V~9P|fA zO*sS6<@($fV6t2^4zTmKpQvO7hViL$q1p{8ZXr{!oM?S z8WaCgG@@8|r&jf=-7ksSEt~1ntzYeVDP?s}v1fnXK30(I10mEatMZ|s9H{Bz)5%H8 zgZ;2O8%?*4FB9fJlKstJ1-C@4XQ6Lj5w%fwIDc%K#EVx_hxFC=rEiPlSs*Lv_}hol zT34UJ)2#=-U(llREd_evxy(;3ryHh@WK8Uxkru@2d;4gF+%aM{%?M&hBeeY;o1eGFEy`)DG5&)2dVSzm{@3XZ$yF zvCh0FGT|W4Kx>cq zb2DXc0QVG34z@(Hl?!oIWvd}MUhk5+=yN3z3UaT+Z=8{6YYsDAzpl(JZg+KbSQEMqP{YuX1t zm)->p#D8%KUKSNSC3yU9(!%FZDZWp;J@l+S_dVdzTJ_BP=v{-ty}4kGyn48E@GwGk zN2d!sUbK!zd1(8Ca$|L6rjC2m|^Hk5bHzz0S_gTq)9`kf}Mf$xyX`5N` za=(6`&7IQ1^r+b{$}j$-5v}a$>^0hRLbs(qQ(8Ype(5pqz`x@4wTto1gWr8a1iZN_ zG&&Cho95-m!KL|EkDtQd0F9rFXoR16T-JwGFyCjNqMYs_wt^&Y4^gYD3$nB7EK%oY zqBD^}xqn5n9c6xW9|6j#+(*5LWv7Npi@w_^=Q@!?! z$Nx?_-9vtvxhWoh;R453eg7-c#N&rD&I`_huJf`-h&ZQnZ0HFSw9#3(B{|I zz2|6*X73qhfl%GL>c(3d2NmtaQSKHL4%NMDSYqsbJK{q+_UhLj55xMopi#W~4!AW( z-^^uxF;5tG?xhDFQyT2=>F6Bdg~_r#F{yJ@8XRlYOw=Y_NUTG~9z{ly{!XR^F6qo< zFn=%eL3pP(AWZyV4-|b`o4z0Mqf7VEt5$97I8`R2PyF}+xD^ke89}eu4!^4x4xohZ z4Es;^8!Ywqo3MZXS42DeO;*%!$!9;!N9dE^%|xd2D=UMIp}Ifhs!JVm~JvjX^yc5Ok!% zv&G`EMM=I)D~fX6TSX};E!!zmF?88kY)6VGgY8b{cxqRVez3z@BBHD5ggTZNibAH+m6K)GSZ?O^kQhv`ptyQ~G-n+*grlR49}YF9sNc95OM` zMjhjAmozSjpoSrwO5~X-<$m&eNEwb8yV{E<;B0l zeXYG1o?L_Rv+WvrCE{vX_G+E{Zca9DtBm@)-Md2vvLr5v6Qhe0**(BX@1j|bExK1a_ndliVE*o4m!YbHflci#flKWTc1%uJS$wA=nUiI- z)JU1|!LB2BPf@Qf(R~KxbVu=63fGw%PPS4sSE*n34fmNnmcpd&>kfwr^YE^d#dxH4 zo$1?^x24Zw#)mam@`P79*&Cjst3(^`5Veu>*B^y0@!%}*%1`_oe%<)O4#)p6pWS%N z>|gb}r^m(Dv%#lxZ!dq<|GIY!>+wr9w@>O$+WEP@lKtjF z?qu&m-WKT7n9qEy&PXli%&<#bM9MFA}U&EK7 z0ga+AJ}QfooyQi4d0ipskV0R_Ylj=F1)0j%RTkRWBK;m9eCv{_?z!p8SisXey0D-K zNMYPd*Itw%Lv@?oxk(;77e0hfxOb`3D!0HM@_wpvb4oE@M1x~p=VlJ2D?-f9Z`l#fDlLQJ%_NzC1y z-7Qp6-%I*kpLH)dX5U@P~h8lo=VqxvL;kn8qRwmJ+1euGp zYeU&IF`Hl0$#_i++soOXX3#@q2~O9Cy+rA}sBaehomg}T)d18_xbAd)=X<_4@^Q<$3%|XDV{<;TvG&jN>*NP30d`#6AVDTN7>MKF>y&{^;ckC4P zX?{0T<|6jI-OSrir|`2kr*WXf`{&b#?9C}`o3FE_x=vnqJRG)IeWzWj=R)!+Ce(Yt ztajeT`}}{T>RgI5i6oi!>G=xJe!2d;H)W~2e|g%QX81nWS_GWfI)hW=dv@+L5vV4u zqpuvvMsBPVBN>Tee$h!yYF~zHc(BLU>+*8Eo0wR{mcr&rs>2J9g=3V~L4N7(bkB8B z#1F-1*Fb6Q85%(<#lekJykkyL0-SPV=|14l9DXK`*VG+L@@wkp=^iNOysjJsOyco< z!K1Mhbfl};&zdY1#?hZdZP+B)=@fOTf45Uc`s2?s4}%@lMf}e0SQ?Ux$)kNLshJzh zC9HLbYUdvZ-9OkrJYW;do9@(4xAB$Tuly7rtk+kKDT}jI;NxR(ciKz$ZpoVlH&G#5 zKeVoQRFc`D}Syyz2Y7yL{cn2D1m%xK9objy=KQ6@+-Jk7@ z_`b2>f6J4#=k5aE8ff_$jy=H#`ib<9bblJ}lBKi#xiPsv`894X)nCTV7<_d8q}}Yo zc#jSpCJJsx=e|~=2hvuhH6(EwJ%}`N)kt?QrX2pA);PV)jW^001EDJc$EA^<=^pB3 zv_%E9keH8Y1f#>5;~H}hAis1FH#gLk*X;rLE`sRw?;mXKb-QRD20Gne7L3WX*ht%O z`&FI(#k^{$pKDimo_))YJ$JXKk&)RI3+C-!Z7tDn$%^5;qu-l?4U->Bf;9&i&i--U ztpQ#YXLkp8MWb^oGu3Z+?lzm~OvkW?JEqYICy8oowlE&9NDNs{c6}gi+naO|{c!$> zT&s0nk+0Z;fQL_4GLq+O9bT*79!xpe1cem#i^~1u^QEs~2I^e&bLQr(WK!(*JbYwaw-*GjPv<|jdq+o>;`ae8r?&l0Ld8qQ%}8?Cb67NF!6)4>;@A3!Py^#{(F=b@$bd?lyl;3Q|l40h8$O z2aozF+=ac2xLx>^F12~u6}t=G@w+k|_&-P)?ae>sU$I@1-*%BG%ucJ^)g4|}wzs-txaYx; z=fP8bA2y2xNzdfb$r&4O`rUv{@6tTZ^vji_GQrbW)w#7q+KAY@8N*T zH^`X4-$N78^86TvtY^K#fr{Ai4mQReY%^;eQ50=1sBIdb2O=Kf7vSC-kK5qZrdl{{ z6Tc2pUT5BSL2R+!e`KI@a9_HOX-mZRGYbn}FBSYR&&}($<9MD<&K+4!#|h13+;bCy z*`f=BWKVZEbBSndpnr(+q))>bue7hP$A;EUNdE3wc$*Rl9JP1k8x5Y(p*G8g;F^e! z*gDl~mE&f;RL|2t2iLjG|K3u)y_&TU*E8Pg#6gOaRT#}N3|yLj4*{3vUt5ls`7@Gy zKDm1yH}18KrsvbIa+k7^GvAWE)SA7kG!nISyVkV0-a52stUQczT2tOboVNq;Eh&&~ zB@B%W4&zzJ86efYMTY?sm+Iu8&3(Ccnk9cYl0@?dIU+!F<79a5dbFiFMTcb3skL)F zYBOh*)u?cNyjl+5&lBL(+-coGAJJF$-s1YIjtzp3q=P*QmQ+<{)5U4jlfTOhnv6^) z4>liKN17S;tRst++0MD3`xY%~|8&0n#r3(C7pM6)SHL5AW+TFa+I%KsOyg5$!h-S8 zKG=g(?1BF1O#xR)K>{_%4#LSg1Mn1Cr+sn8^ozEh{^>n6&IR+~iT%FPK+VWGz@2`E zSGLR_I@p-Z=G$IS_3AWf?9YKi=hR>CuP5(xcP=i@FPa8N_L$jEYnOPn01ojgoEhJV z{FK6PaQ-f``%}Ip{>j&8k-z!`|D8Ck`hCziZJs*_eW=UoZGcy*>w55QJDJgNjNie3 zCzO}}&he;T#!pI9k^jyK^2&ebk^BwqQ60kjXkaN`+7s};iGHs3-&rOv`ly7sUHgZT z&g7%B0t~hbR-Rwsi51!r;2Rx0_-yDVE=^10dZT>aM(|vx?u*b)+)OY#w#k4=u*C`w27xM2f z`7PROajs3C<#7fbfb!`aq`$>w8k1+&E91-6*3+2$wJ)RjB_4$N^*p}E^XvKiR(Z{# zz$?wK7x?nEX_@a`h~M`@@@jtF$luUkVSc>`Sc(@a0$#;{sh(d?A+P3FQ0GZPB3ef} zr=CVS>_wVd#Di`L{dJZ@^XD0)Z;ZLeO}h5NPCD}FxS%QwH(!6k8zzQ??2Bo;vY z4(Phbhu``C`;$@>`%v)B2{&=vYT*YLWys{j?dZcM%$mjVRcD^pM||CZAKYOc(&;5Q z#_esN`1%HLNfv%AlUq77cEplen0>mrL_VUs1un-bQ$DzC9tOAKb-RVa%l@Bu_(t*Y zhHTx}?>F;LF^S*AUwyP53m(?vf8=|-9>0~}Va*NYwI09Cm#RUaiOP;BTNS ztjF&Hmg0qqfOoJ!-gygowI27&Jjqy-m@M*6;MLqxEZ}zokJqrZ)J~k0Ve$J6*01-F zuFre<%lZ|NuF7xq-TRcE@%TF!9_~-Xd+ijXQLK?hr!Td+tTnF082W&(Q@L4lsx`)L za#Tb2y1Dp4%IYj}#Op?{LYJgDQoMdje~2!=n=8ex&YpqP)-DGGbN0@)Yr||V-uD7@ zHYT&zaoMUTZtPrf4`h!sxTgTNFugcR1X1Ttt8>#wa_u{P8pPL+QdZ~X4%V0;KOJI@ zh%Vhl=AkZ7gQA)C=xytkjaZ zHU+LN`gO_ijCGqByknS(gtf`t8QR;cg9L_J3_51zmp&GtZ3|(4(i$J%ud6Lh330#_ z>doIbiFU2;w?sTP`=we6Z5$Q03fjf%&w@ktv~OTSDL$9G%W3QHm+xWg02&+4p=kW% zSileGqG?e>!`;p)@^yqQ;~Sc#HEh zORdC~T#$o!B%5e_^3MIPot?+@Dg+_fvb|FGoW8y?)_8jHF3lC{wz~vH*Rv2fnQmA2 z2nRlmk4F9|Gx?@$z%6Y3^)2;b_i|{aCD}=H_p{2(gBV;MTK}Rn6Qp{RltJ$ENdHlh)zr{KqnVaWeHI`H_Vn^xQQJb)xtc%#Su5NPL&hLOv_N%{OPuWHt zNsa8*wXdJBX(NWvf2VYybJ^(3dq`~bSrd#

    3GURQ*^{Gv(l_7sdUdfO@=Wn1(b*StwfTegvg~xjhb602jyKxtkFn@F={t0Ot z`Nf$yYd2{+5C1o5Mck4s`AgDbSyC};!n+dUyX47Vkw>3j^EWyVNA=X_yZZGvl+&5G z!rG%Y4qw3ElkWSEz25k!UymNVQ8g_rv*PfY^yC~$iFB^>9udb#LbgQf)B0q7Y6`F6 z*dDPdnQ{sNZ^NjVdE9@DE53DDx3{Pq4>an2S7)H#`8KL{d*227AK4AtkV4?_KhwGL zd-Cgkv7~j1Hg)ZCZ7M$VfIzQ{vyb+0QcNYV7zXCw<@UPM^QDuI1o1@E%dpVC_0f6J zovBS`Bb3p^!Rb*a?+UK>CzqBN2PYS1PyijQa4Tm#qKnYs5GKpz=b|iwpO+x!rTLZQ z_)7P3{+vl8yo;8{5XVP8cT;l~Ce(0CZ@2|m&V7SE4K@~Q?yp{OAM1;lPoYC%7`)Rs zYowg~C@v|vK6$Y3lhtheHqd|EC8Rcf8V?jNof*+!c7=NI@gOo}s6YJnb+048Z2f)> z*<;|ST|1q=LYp@-sO^$rxEX>dO_Yqp47yE+3bhSfgpY;(hf_>i~s~zgMJAq$&|Fu`uyHmkux%EKj zNGs6?jQ`PZxKV7^;PbfMH!kHMl+*fF&`()ix%Vn-z}62zN7rOL>X|$;I)2;

    9sx zMetIl-wESugXJfU&)!nho|sa#ms-T5bI32f%Aa`|#NPKlS=Y~b011rC){)-Mj_y`Y zJe&<$LwMVwBx_5HA4kn13R`~+8|IdKCnqYSgM@9y1c-4bnUw9Sbhn892I(08fcn&~ zP2kbl|1UtQb@W5pBTnjjL(}`1zhUn^pL_xSBlr;D_ekNTriZiEC{MUM)EdTKGCC8k zOZ~nfcu8;$rn*&>$C=iulP<2{C@*aI+eY`ss^&m*)LvT;5by?Cc~!za3ZYjjGKlZ9 z3n-&K;_sP*YMbnhMc>)P#%O49=YM|QI<>~hxQ^c5(Ib^{qo>*Ev{>jEk6f2M-0a(- z^fie^W-m;q3g*6!|mIFkpq5Sfpc z2GRuK5f6!Dsz~~xo)AovG`u=|47zx>QVWV1k%R2^9 zo#}!uR(6(VhFgyE?dJX7z1DQts_Mw9k}Ior6K=>0n*0 zeH}djWzR02tDmm`FFfV_rrvT_&%U14{pR;$2JJDB23TJ|ko@OUXFmueThz*9V3QuW z|3J@SZu?q03bfeOX&}$r$<^wybq3)rt%WIekU4dRU*lv$r}*mnEqXME_CjO$m~Y4* zK#%58D|n=vei1${;`>qmUO_mYJX;sy$=ven(5%ht?~u1kzxScQ#3fBMNoEzVJ0hAM zCXV-Y9@H6vfDSx75QQM9hQk}t(n)#ACjDMEd4s?64EGN@8@`@&jU9d0{X-XJME46h zGimHxT-aaEX0olj&kbC&k>r=vyXLN2Fbrs+m7r#ga&nJ;qpkPx#ZfCnvBewB9=3l9 zsPUu+8rCJs<3kg`6Vai5>Wz33Y&VPPSbJ_Cc_nw==I@+-1rcFBeAmlqU-9(GA3-t8 z2mydJk+&sPn%Siia1$dP4#P5R&Gx7!dMH<%JpyH2!0;=+wu7$b8LSTDOOK|($6RTdR+-;i8i)5N|Xj8 zp5Z$?&^m|_C>vp|-m)->UUh3_+4J){*2-Y_Bi~r{t=6Gz4O){7lUL*Dfc~DWx3+5D z_Y*o#*BbUbhmEHiC=`UbuJtFx7SngV_YwGw%#M{xCOb;+j}N4OLEhP`f?Bj+n4xb8u^D$8cb z5%A~^L=@=(t^m{hhhXN^?eXdkqB+s)U%ZLKEz6_}h;K5F(zX((WC8ER*setI9acuS zI{wA52;Uw{D<7Z38anj5+O60iPBzYbY(;;E=;xMu(kwUgd{k_Zr4wRP<~1AI(?hw` zLOqayQJg8jjM&uxuccE`RF|6#?(SbPmg6aTO_T?<57E&KXYQtYP6_r z6O@%~b3Of5EE|lB?C-XGSyo%U(^e#qao z2c3fQqEp}&%FVMCe#N%e70P0RJT)inxL<=G4h$cwskz~~F+tT9(3GwN9zOWO7ZU6? z(ZVEai}*AH9>o!DhT+nieDA_cKQc#J*w@ZxJ=XVN3#zuvlPbo|$~ z%^y4D#;)LvNd!Oa;O8+8)(O6_ynhB$nEu6z9u~9pSY?`&);>8i(>*tS$d7TsH%9Qo zz|{uqI?g%~@eR4GhFCYoYrxh9@#vA1m#lhcnwUZ`UZUsvl=_x%dcIK@#E-h^AzMST}v3R#rdWAspaOSiR+fG zl|R?~^-I?tz3k#kMz5{R5w~t)^4g=5i;GK(;}=h}XRST=Y0&X>{yhbJ#dku`#xoWD zM2v{M?J@{sMf>M7!4d8k{*v!nA5Qr7VMWApUuF`b?<>J#-(>Ao+*PBPcf50Z7wwbx0Y;7HzwnB%Q5F0VWHKQH1-xSu>F zUAMCh;^p(HM|*V>|32c!L$jKcjP0AWu<}c|RJcACydfEL$9~&7l;ql~v{FcOZOxTi zlZ>?=pW)Obs2^i0(`ay=obtHNNXG1)9i3m4qA{iXYsrrWp74G7{AVU(>5)ac6X^k7 z81WE&DUTu!b~@GFaQHz_y0iX`7kuQ(-n)Gsw@eoWuw`{BGx>dFJ{Lp|;#>+-OBniK7XKlv0US=-c>mx5dK!(@Y< z?z`-5!rE9p_g_wa?$<3u3hI^7&|k2GG0UD3NwUHrnOpG|JUl%MydvTa`)DDNo;5{H zGx{|~U+H=CC-~;74SVS)wI}Fvk*%-k^^%fk^*UZ)9i7}}b_zBY>2qHNzLAmM?hY*3 zGDjHqNK)_U9M^S=BRh8Nuuy%d^G_ouq*8}yeKokHU;ia`pLOm}^cLd)uEZUXM*ufd zk2p3IrGQ#({s-`?&F}U7b^(1syVG4?{UBH=vXN1L#pgJsujBqMeveVGv$#jgUyfz# z*LsUhsa+FYp?|AUczI(&7NY6hn_wILeV1Jv`gK8a7O}i3nuBhd! z@@w-<<+PpRpj{r8v$9|u-jFa8d|^;xw~wZm2QsRyNf`l+b?PZ!kxnL72~;_F{^j?UnthLlHNjA;9k z{~q-Cy8qF?FBj6cCi#k|uUP-+=}Vu^iw8*xOzHSqM907R@9|jqdLa#^^x+tX7tu0PAVr%$-AeJSg5;BgOk2DN1xlkcs9 zuh;GkrMGL?Py(;;-G%0RI`iZ7 zyIW^|!tYwz8j_!`LR)o=gLv=wu;*u3e-SAP@&CLo{>&~r@KF6xkB7gki>D#EIitn) zyKs*D4P~~SgeQKF_#b|Y2dHe*eNeXJzm0I`(=r-^KluM4uWZME$KSBOst)1h(3s(6 ze+_ugYIL^aS6W{?+wp&-{A;1($mH_K#QeDF0%TME4&XO?ctviyT4>#&&1}x!OZr=~ zawaN-Emq~&UA`ef;5xIatU$I`U0Q8?WHO4=v0w0IG>vR@_rmNdO^?Xn7r+^U$>CO znCQj=wKBmd!B19HS{c>ZM7ruMN>}-fzWn0k()`R(yTn_Z8+E?uszW$7c^vif2+wAZ zXMs!#$#rm=J9QU0!FVM+%^pv^JZj?>pJ$%<3iQO1eAdSCkC(5z=usZM^Q1P-6MKJo zboA(GWk#WVQa)`@)42zkTO#i8tcHQTPyBnzS4oJJThq|Mnh^VXY-82vaj_4EPxX-u zc5i$^O5o6E4S(?k$)5+}9U)9t_5+>!m6=&l1fw#4wmg&kPhlgt4CfB5ji1<>?MJ`4 ztNUIoS5k|6<4C?vPG^t@QHjn94NZ5Xjaz#1QoFLCg!_R-Kg8$~`E zIy=kfWNVeriFAA0?Vh~6tcZ-^jLkbAqT5c80k#v30*ZpNBBK&0xO;ye0V3sAM&Buq z+Q(ZUYFbW*y2rz$M^)b;=9KOXf5PVqjgZsmJB`OC%E?#cM9Ga0-I<2|yMVUndyvoc zTmPE*cMj!rKPo=TS8OA{HNNhuzm(DU`}^^w?{|yf@7$H;`8)r;*oLaRmq$e^S9iM! z<$w5bS8Dp$B@R!JRn+gBJss!k?+uy!qu=-BpX|5p!C!qeb_EY(x0&zTP8!_KuNUw; z$R?q@WRn(OzBa8^Ho1_zl1;YoS9}m2)uFN%@jb;06#=jGY}K)9?nU19(0n!V){h$_ zkV8xnH8qOehpl(_CQr&S+wayi+y_{^)`b`e;geXZTlASe>a`0XSCwRa8Fa|%KW@J2>Xop8!-gfVSGs@_(obRM?(dGA z-dXUooLzYit~$_9rLiUTyUFXIz?{=tZp`fZ2S=~B)btJr+q8ME-6t1^=F>Fs1bs~D zex9eGW{vs7cp`pZ3?AvKMt8We)8_p;itluI6u}3kAK4Xx=|m7Xt?_pWI5j_mt(fDv z?)*^P`+FD3{OEEqnQ}m_MapM-T%2L-g?Gl6=s-3v?TXsVy~8Q#P}_D>Mm8-S)K#oc z85t;d>B427A3y0&TH@O+Vo)R4Qta$8l!#-HYsZ9o8h18YV&-kGbh2^uIIxfH)-IvE-sF`a5E!?NuIwA zO&wAFoxYAa&+8Qtkc=+lH8i$@6@J*WTFJ-QnU#@`?kWSk9XR$tJo$4yZzypFS-|hr;44vU)aj|=!}=Q&lMa!|0w&Z zPsnVj`y<}!KI-<=t9A`gUUpZHWie2@KCs=jt9a~-dy}(WZQVn?tuE4V4nkYPd~UI} zjE}|Z@(A+~8wIV@w*Hi8)=)&h`J|l!zi1w&%q`5HDe9<8CyzG_wIY;f5ot3BbgHcf z!J|HWljnb+IhIEy$8o3Ijq_DHPXxo?w0(YNWj5G(3r5`TLGJfs`IbEUP#I*fjY)+( zdDy08{Fo{Tb4s{269YVkodNHf@hN9nxAUjkt$UTj5&yPobZ4!!xs`*^Zt?FL%IH3Q z(CxE9z5|I|iE zfSzEdcSiCs<)>dpeYrY&OaDH%wfK!P{b@98gD*+VT?6EjE%jN~cXF$)313&RovPl4 zCP~-Xg(B9k+Fyz7=1gg6vuM;lIz_(lA+B3Wlw07^pGKql;0XC8yIrj z+L?c4#-w0bsoC)}W&ot#`cyJ5G2kymQnOp9A!J zfq!~SexASjNESzKOR}_vQLFo01IutBUA*uPh}ib zpFbW!UY$SsbiKuXCjHDJFuE|&`&I$A1Wdz6h801_bv-alYm@dFo-3rU6pQ20z~WAH z<<~Sk7I=JKQ5=plrJEUWvcNjdEGNmM&*S*ZndOvYL*wo7%FAML7w_ltVlPXJCm%p= ztUvacLt3~ZcgP%s(I*^F0>5y)+|MDlcs{f4!0+W8!AiiKeZB1vCZ`Hc47OnWW^07T z@mgT1YDwemMveiMNwIjz|Kqd9gaq&(U4k!-A^ zxmJbQo3)&FijPmBjOOiv-|K&h{#@;zO4hPwKDi`Ztj-7f4_>-^q^D!Zy?b=|KUq&wznD!B=8ooll9fMBCjsTzwue=ya(**Nz7iqF=;A2BjOEqKvnHA_EZBQ&&heuq^!&X1=v7`Mn3_DG%1JDVBP>yqnuSY1J^eC%!VhW+K) zQJc1SyQ6ybs;{3ze%X2b@PYOA^^tOy>`wa!2naIV?zM!~K;w(}@LceT5C7o%FnjwW zvj=P>*2)T+bhSsiH=P;uFi7~#IbmoXKI^v|-&1LvFu|NmFx5JD+`F@5A>S%}JK@fh zF1w?1lWAQm_~-kaT&23sGrb*m92R@hUJo!|5}oOvAMx&aMN;@gd$Z)2WsY9lkQdmO7lwW)<)jmfdD`DFr{L~#MuCC78HSFqQv zPo~FaBO6-5cr$ry7AX@~I`bh!HC=j9)LvwfK#?1v;TQC&eJ>`jWWnb{NU@E;$Pi)B z`gps%Ptnlqhr?702j_Xdo$4#iaY8;!49#C>@pXhBHkMu*(Z`vk7SAg9Mf1xjuQ^(g zzb8EYxIeRmbJX{cXL&!~8_Hz1P3uzs%y3O5|4rwM`pSqV*dwo1>lXrMLK|ij%{|wzKCmgkPHzx0@Dii7pJS-~n9$%(5jrRlaS=XmFEt3UT zk*O6su{`7+gf&6R1NH_T+Xtvy{1LxD=)cG94Sn_@(rRgFOg`*s593Sitj*Vue8lGq zx_sp;&Ra@8mf>uY|6`D!KMvf@kA@9eI#m7>(ZAYy8Uo zF~5_1uQKl>O)|eL<5C2FH*iEoG*k=6*~l&Ldx13r>z(IP+O4>@$1DH)NE552(ISM3 z<$pggt}zv@6WPbX{s|aMI4|lE%gEs{SywndO4<(6co>8Dr^myhZn*xLwB3eF;%P{7 zZTJ*vdq^Yxejtnchb6mv{xoShpSC^v9L_;sCZ9fE;Vwy7)mw_&1C`d43{6*-2Dk^9XJ3v> zXL&YN=ZP={nWfp)F~F!X#ia8r%l6tWKHY_h&2-FKXLtlV~2ZfJ6G zw!-tp1OrGhn6HH7xqtJ#69;xABUkpf^*aN3=bPEu-rlcAo4A;jSe6T1dU|=`y!ifg z>XDrB{$@Wvck%azXieewH^?J>#I=6iNY|n$ZMJS&!5)y7%hn59i-3o<=sVOIuSMVG zce)n&@>+|&2V9@pvPfl74Zq4ie0H!&wXV~@7H`CkZ=C^_G06si76Q#KM_MfDs2K
    #dFiV`!CX}=iQzByc=M?${tYqhaZtopC9v=c^BLPQfxK>tD$~8{Dd;H^?&X; z^>ke$8g4e~MnWK+7y_Q)gROah$H2_!5qE}>?E!Z$W-_HY_V+B#!9P>K_j4X@a(4B) z3uqtaO`ilQ3diAJ^z)))?a3@-xbOoUuK`CROL|$=(HZkL}gWqvAAh{~a`C zx&%?Ak9%XZ23M?F7(Mc!_@^`tjSEC?9Ea^x3^BMPBicPCkr-MJuqW8{a7bV0%GPFJJ}J)y;9sBcR<7y{?Z@K}Q?AKHA4Mk6 zc(!6OT0goz)7qf4UoZ~2!_W0}Nc*Lw<(Ow9&OC7>lY?B;tdVG0w0cc}Z zxPIqxJYU8B*+-LdhZjBPG z3BS?VW8=%1Q5xRgL(fLyPzIRJ)6!2S_+}(r=#y> z_d)42Z^+~q{a!~N*lYF(>MzL((oGblh4Y=pf%4SmEhTsKbQh()jyT!+g!8)Mm%Wt( zh5icPh5ReVyEZx7;|(-~GDYXkMa*oFv&cmXiHeW+> z*R=kI4d~;neSu!Ju^9gu$=!Upa37{J`qxIG+IrR`cdwKGIA?{T{O1?sN1jgc=Xtdz zxrfgm+N-?6o6pyf+{@>ytuvEvHU1u`@pn=>D(B;&wzW{Uwp=N>uz=S3`PU@(PHE*F z?RECme7sL#U2Br9zHB@u0$)UP6TW=bz+Fs7DS1!< zZtIjne7jO?*UhB-KC`4K=Yq*QIl7Zyh>{-fQh6 zugJZ+mfrU2cjy&Mqx3*S?b_eoGht`jl3=5l;1v^)spPU7pW0K(0E6arM z@b9v&2foq4EiQ7Jid?Jn?VU)c>6Gh0z8+t;*PlJkJCi0oT1d+o)>V+D+g9c#yr0Bf z$lDy{9bUkGYSLj-JsU{hQj;zly&39t`n8SZ*&5{;oSczn#nj|Z9th})q! z);yj$7tZmU$fL7)$m8+!E>(PP-@fz6w>!!=G`fiEOO(y?XfyftMES_!V^BD{?@7A! zbfG?9OWHWKznMIHqdaM%uj2yJJ1m`79p^H>Z2{hu!t)#vUZwY>={as#|6WA;K$>3D zLd$bs@(iVUqSkrZ{)F^HX?k_*T)(J&*QR;W)){_{&4*c9>%zj!@myaiZNkz}e;%c~ zecx;cKJD? zdQJH}{eMQDXJvV?L+71GM}qNQIR3giJw@UA?t$caL6)bwgAI@P_@XRNia~U0?7q~} zh{8CIrEXOJgGqa3oR;IFt6yz+bv_Sz6gO7GoNgu0Yjb%58y${z(r=E_8OFWDs?=?P zXzV2YEpfWeL_V&!()W}8_Bg$o3w|z$5ATlirJQhdbdmmkOV3{9b?k8ID*xfC^c01! z<4W>;%<|ZLNt30^A0Vw;p=r5h7+oOhzOq!tou{akU(+y1o><3tPj;MLnQp(@{cNC* zv+!?Z7#w^xLuAql|n1iO?|**dy2 z>%!6$YlqIa`psFtGQrtD=pGOGwyAySVS=G!-MV!yJxm$dK8~?(7yGY`bPRUui5ck~ zNA~z;gUrzM`g3*3- zB2$$k26cQ9d{aV5R{uV`cqQ0o%1?6dM(E^an-&pnY zcL?6!*-N}#(`%^iF2TAm|HlPDN~MsuM{t(jqZPu=M(rDLaNKN2RB&4#>sh#lly(5V z%rA01hp5H;3iu8w?SvV$P;g3%Nm|#nN<;5r-Q>%((8h<+MwFNG=y5GgU6`}76CUs4 zr00_Fm~lOv;&F+O)9?|8z3#cO`C}>DjHQl7@pM5vt;rPF>)wE3ik7a8=EgB}l&3SM zH9sCgIqBvb*PPb;xW5ky7306ZqTxy&9s!rmonOi83j?vn_v*U`{Vtj-f)~vd!K>$r zU`2C9{iT?IH60c8r{V&-NfyX-yjR)gv}~59HAFh$(TLyJ$mRLrb-_^|7>~s7G0*Sk zm2`e{=QGu%e`<&RYVEsa6W{rp*{q+LOo+emdD8P)-|y&kw6D+eJQr_oFLy|d39t0> zsMX?edm6rV=7{v~)2SbTUw@D0bFCaR$D@c}8v@)h3YNuAK|6q5gwoID-%Jly?dZr&aRz(?fo6O zh-asfbFaHwtx$*T6VI1F7Cd|0PB%{L>&SUOftTkFyQdSZH>EkxLBTCtGrlh#l;eNx z`w8k->B-GVG2*9mys~c)Elk1ET*MEvm(SN)mlln!dCE$MJ-yzw^NP)`oyE3xw8)&7 zI?Ff|w+;;tx-f;cU|Q<@=oWoj_xZNom%5PTmxhQwe|$0EA0 zk1NEX`j3-O_Hp+@#?Y8}sba~U#0H-Bak?mpOWDVp16wp=*$q^^)aERRYg3_DxF1Db z!mT&4nnBvazX9Hc_}AR{^H(V{o%Z{r@)57i95oG`8-qimN2>C!Pb_9l>I0@dQ#hI& zygWH$4>VZ63%=3b4$AwI3BJkTX?EKK9zz>8vmUr}UaPK`4X*q%SPAXuTR3J$G0-j^ zYQ24I)E5iE&bpRMZslEthw87B;F7Jy`K+@3JtagN$Cj@zdHQ7s)_CeUB@R|Z6oMjw_e^rS*@2dtRDx8 z$FM6ouuD#W13U`e*28Oq!-t}HgRAAB9>rG-W2!nvq{e}*m1ePU+pVIZ#2EOCs7=_~ zuU13czG5nUTc7OP`Zd2d%x!e@E6^tylARe@&>jv;$7xKT)^5@Fv?}@r599jj+}Q~Q z>q*K3p~CqBJe{(O)O`o)tHbj)_ug_xxmEj8D=rswX5?-%vPuT4C-~&Hs7c(d`fKxC zn|kdvy-WtuTbFF*KC6Sjb%(}%7T^1A{N`SLGS~v>_m<=l)(-9Qe;M(GJ$@B39gkMY zkn-zUo?kby=1N9Vn-sI*TU(Mk{uAB)e1+t0)kMF+s&(Kw;MCf>Eos=mnq%u7*E<%+ zBK|9*QTz;O`?W`C4R-JEc(JmK^^t!M4l+xxi`r>2 zbFO-8D?()sn6~%zl)Z?_{dD5ch5IY{8|f^jGm-i#JA*YQH>(Y_<&C~AVV_Vw+9Lbk z^o)N2<*~C%VUkTt(EH|yUh_k5Zyk1_YamnKp-z4A7V_zh+^yHYIE}a+kKk`{kV0$EoNjTq21&V!LSvaUs)Va-+&XW$*iVj zMw`VbZ-(wo*d10DoUIA$D7`akyWRxx9xkU%r}*+NaLA7841(#`*(xTk-Q*rApT~t7I^m)b{s*Q?l#xkj*YFUXL=ps8`lR0K-#HC;R8j_1OR1>jYNS z$$l_uV@@Yqr*5_3LzIzD_8Na)8uRjZ@fzda29duBeo@`+KDdQF7?J_4U3tAzklr&{ zhFj;<23Gdz>!g#wmtb*n;-H>;3%21(YeKGGtV-2dq%_lYxN`fECoB*QZ;3g=%U_jwmqB=ye&3pOPZoQuc!T^<`e?*&?9r>(;KorEFdaJ|qpar5 zjqttroIElx+{PB@(75lE&d1p(-p4dI!us}!h(_e}LYx{0pCq65nkV?Z<}xpP4;GJW zCrP&x<7A|KxVH^+$ei?BH`&_%o7`UPPHX*B<>Rws^8_}G$4Jl7(IKqu7MGS?YCOk7 zIaxd6Kr$vr>8$MfBrBWc$jUb*yu0gh>s1*4%5*A!Z*=K;*ey!V@H6hJ%1i9Y@N=eC zdRE?&Z@X3e)Y!Qt>KAOc>oUxBf8FGCJbe~?T8mEXs3&u?pRxFi^bPG!MT77gEMNHp z;{7R>9`XJZvw3umEl6`m_AOesxK88hL-M`jndAo9K>}}ISz4Z-^{Fb;!hGWm5nSPw zK2}6!$Wp|7ovQM1?cGE89oHPc<eLGxQ4X)kMnsx!S5c5xjUUa_Du;tp@(J0MlJSI74P-8k2vctUk4A4atJXSCsZBc&ra+ z%qHOrXU}i)ecMTcoA2Sb_^tBlg;1}~p8pZmn@`K^w}QXVx5=xs=Xdxk*;RN{hwy%n z?EO#z43f8QcknuQ*(>!xFM{?z<0KLA`?V0GDOi3B7XfPIM<2Kq{h=+dA8l&`eSSqT0 zYlyG$Gk%8;@!WEC)oY)4`*X@EZr3&jr}#PV`SwtMkFPb6s5Uk(RIh%QlDQx>rh9U% z=Tp9B@)6@`pmGd%N7xhAQNiz!C{EY>V({e*`OhL&7bbA>@JwaFI~uG!U72#{DwW3v zVn2^9@)V}?1r6oz?Ql8!&Tr0=gR;F+X3UZm+eqK`P89k2UYE^%oAHD0Oc4(c|eXwPYVqXZZyWj(r zC0R^bO31$jc*m%8!|pt&`wCRarC&zl)?%d%;FHoL=eX9Pj!qsT>mDHFsf}Q^qQXR* zs~XF{0+;T$E@AQ0Sia(7w+86@q5Egwf5n;}){Niy@0a?y_*gu*XbC;i&V8K;8nXD_PDmj_h37?2V3;*eTo+O#Kk}2!r8`%U`@P* zzPLPnK=Je@Nl-ru-t6FMfdJouMst>jQv;4Q)XN>1#HfkM3A-J)xE}aklp0A3pS}1- z7Ete&tfCapuQR}*Gg_1Sk9IzTMyXHh=pGqH(Va{9<$1IYTq>K_QSr{QSzWq$)&jv= z(la(DM^h7?c+;J@ZY3&e??n(Z8AyB=AIab%6 zqqn2mz3J=1Y^7)JYB*SL^kYTmH(ro9;et~*z6jO`%pEozOu9hM-Tl|kW%u7YORdK` zRBNTaHzmi@@5lqkf^4KT_UzOiNaJmDvXsWXmz>xf#a~wYbmxCT#G@@X-%h`M;#mvj zrQ3hSed?auTu2fvem#{j<9&AyWc=4SyaIp1u(#eDy!sw|eRSS`9_z?Of|GZP{@#$C z$@F_G|8&N?4}bLuXR<7YRY3FpY2eBX9b{BU=eyZEho8NNwqv(Aybqk8jc8SZe7ygzw$j=Yq=fzPT#c=rHH z@j^wwyR#sM&3(y>DCOhPsPo-EuJhqG(pZXgUuhFous;E|(ZSO5f#BPLZ*uVcD{MBQ zJgRw>=S7b)VXx=xP12Co?9zh$Zd%9vz_leyOV3Oy_ot+7b!k20zMdVxSf*4DBiHG* zmG=_hhztpS`;)CRGpuSnlft<}XWYw3%MWjN#(e8MKGI2Z$?bl~>&b^#``urJx zIp^jkO1-(Gd3Xi+UjtKbX5mx6y(^LlcqGN<(v^klyJP~a?ppi0dq;?%t+y=)dn4hX zAdMOO54nA?))r4|HSq&Gux%a>_QfuSpy})!+yo-G_9@Nl7j>71iKAP~weBg+>lj;S zDx>LLfaaOrt9Gw@I6S&n+>}fooSPuN0$8*@s@?eLm0CS-#b0}?_z!5ec-;mb$r{(6 zt@EMteZ2_YZ{?rvF*V0zC(%JZ^~El~*A~lUDBE~-gs^b2RGx>y@27fxH;Z`e{K6Z> z`rW`fFC%gB>YcY?PR`CRPr3xhFO_de7RQe+jm)p$EWyLP znoa3>@4{pWDLkL3c4&X?qJ80meQus+x5?&Vv_t&srrbkVPoF|z@#kw^X4Ur_y?&;6 z|LxYHK<^|mcjqvUlakfkENbD@C49Zq74`{@7ya(zU$A2l{b7$$y8dY|)q0oDza|-= zoIYBIg(s}TgM5$I;WEF&IvncLIy~gd*QV93!^7m&I(&e?p&elzJ_Ibq3l#zH3C2jZ zKChp=T8CRFCL*3Wdy=b3W5{wtH#0f9G?`1+T6U21B92REcbK$zJ(K;&8Tig9Hjnyl zEo<2|7SFNY ztmT25leKVoBYr=O@;W2vpT=C9U$-=_w6^HXhy6uI1@nvWyOd0Ycg78-IYS)WF~5lC z)@tnBq`yyLl6UbxIBJ(4ew|ulb`Fb2h(R-t*R0*YYpofN+Gg=b%B}l4TL%YQ-9@Ud z8UldUxI2Xj%4kpQU>rR3q1(I?FR7|&xRp!+nHua~B^sa~4)oh&U|Q?y(w%U1OLK$bre{jOMcq{?^_Gjs|tB-y|R9B>(q6?+&blY zOETCDFv*MiQ08in6KodPCSdy~U8rus=7337?5Ip2s?pUx?>z8k;8>k3;QB-C>Jx@X z>)r}!VPt5nyPn_GYuz2pPjJBQAqiyJ(#}Nk&9w~pAda552JM(eA{G8 z#;RvRqwuLsH{{!tFY6kShk;KtKap}DXTV)la&%sGe@ExTb9~I(uFL;M@wdExPIvGL zkUjdQQ}_kR9(_w@k1nqs>ld0-dUDhT>syK6G(#W8TJkFC_6)}NuEPq z_0M1H?@9Ol(`3^3;yrC@Vq}Q`RuYTdS88=S-RFB8(&y`Zrn+DNYnbDYV64;=Bjaqn z^o9E8g_LO&Y}8(=O6`ws1Rg$(4aIe;t$#zl_cFda$gFle#moAk-J(Hl*T1;kH;GpA zzeImeDs9bOl~@1x$yU2K;bX@p0qu{rWQStTVq5r(e|=dpWT1 zc`|DrHzTdQM%6krG}zrXJk*KpQ){`)uXe?Wd&7Ks1-K+P{fv23XFWS4Q@T#PIr@e= z5BbGA4+ERpd}qJj$TnPkz!t%$+7>deLlz&_v;Np4uoIWq`2IU+YD!vjzCYMM`8+!< zkNCbRarb#)ybG6nha9e5)*hXoUls8S+onA2j!k(O?a>%`wdc)V45aGVQ!-KX+;O&w zMF6necI#ZOzgK1~)@`I`7R`;x%FO6dyuQb;^AdnN<0_5&?r>-{3&I_}4^jMh72}nmQk&cmk6uG#xXjg`!x~I> zYm%)Fjgi+=hvr3#x9@Ux#9r$5W8T{lFPg1E$Nf#9Y=ktPm9{r&l@*yn z0;j1;8)EKGB+i+pC;e#WI%&PY=4wCi!YeckO^1GKL20z=ua0;kGF zudB~r)$ICQ-{0c<|Ki-dnA4jiBj(WN$M-*y5BvCG=CYl;L}v+Jyfxy5?wtQvbc!!; z1NU1P^`B*2)Uh3B5iIjY@(7poov0k0>dS88(kZY?4)_u82YcBMzMJF2c+NNb1hh!* zu;s$@MKFt#xw1$ogMs;_iYb$9jA=ZtPp*%m4!CjqK*rYD$5SKn7a&FfLLf3 zKXq^OuBiVW##mm3TYfmNlEe79_S|=a^U<{DEzqSgc9gNLHRfE;+hyQHIGe*j$ktEE z9}Up*zK9llcn`9Nj##DcE7+aP`F`@rhxZn+)VXUP8o+gT@G3{L|6%3FsH!YPt+U^n z`TD?MC%S%b!WKioBwl>X^CHNHYA^O41k-UIC~9Xj5YD@^JSSC=4qEki?8-Psh^D+olN{G-^R!LF@E~K zD4Cyw#>jea2NP^O#2djkC*5_)_Ab9OJ$orn0jJ@RQ$o2BbgzlG0^)TgC>V;n~l;geuQR03A+!~$4qh~dGWk^a7( z!}x)oY5lFW;a|Wj35lGoJm}hQZ)hFdodZFH+53K;ypoZg#63XqTF`Z{^+0EL`dUu- z1p?9huasYHZ4yqcO@0Rd5Zdp-T2H+q>(!sGScOmDpIo&^{lboYS`z}yi>(d}c5zoJ;#W>E7$J%vK*P+(=a{RsC zeizNk$j$5Dgr*J1wX>xK@BARvH!JMcXwUR?5@PcEmeSPu_0A51|J%U6RR=wX_d8 zJyRG_%;R^eOFl_emw$y$v^OS99`RNDJ38(So zqW=V+9&dA?`#r1U)kXj1;$?+>zrmo0aeRxiWySlM!{N&%+P|K)Lv`F-bfji}i5|Q< zU0w7vI+q?_pKSbf(JzyF*Nb*um;P(sH!mgWf5W%(VV;laFJ1a?UHa;Kbm<=Njf@YKdw)M9u5{_xFIYFDJw{3~{Xx3%9}y1gNnf5B z{$s+|+Vu7?s=xJ>zNYj)A$*-ppBesB!bM*4x8YnZzyX%SMoH^%{G2!qA&!hV4-jV~ zaaxeO2WBlQt>0CK|0Zmc3oDHEakHhiuWi^b2s_u}Zqa6vOBtuzO4#7c5LnYVe?__- z3NyZ0tzF0Of%y(+^IlQ+zrezM0oin%~(IWqmc;>m-$VxT)u;!pT;=F*q z*MuNYLyyD^%ca^}h254?mjp0Igv-gBnI-3Pc0b6PUGW^A=()UrnH2`EEpF~n|6^oG zt*vC2B|A1YcgrPX;uGpz#>-=BG{M`G@pBF9C4n*YiFL!mQ!g7ibBN4@n6X)TV&^tA zzc7x7X?6-@xcrWJme$;(xUwyGFe{+Z4n9ow<=#@z>wi{4?~T|v3@_@cj9`W4(n*Hf z8ckvm$S(>NYvdPW~t4Jr==q_l| zlHHC{CKLzqU3kz!oe--NtH5BibHi$IN?!8zyl%e)zkoy6dcBV5r*(2y>Dt+{x59FC zkj%3>8e^+03G#GRd!_m`-^_^41u~+XKvdpRmpkY#kMUpK!}3GJs)AhuY_C)V zQ;SB4q&5?L2>8H&9gTc>1s}0^b(GVzi}+y-7=FX2{oLr={jI<|XUEN1D1Y8Yb-N9? zPUdj)TQ8no;yS$(IDmQE1j*Ru0xNi3V_v7rg z0MC~K`1Sz)72v%kBN13~1iW!y66Q!^eY%`O|34+@|My455o5zR&6>zrzz2XPuiJVg zX|&&X2OA~XI+wzpu1?HVITACou-%LxDF~Qqr*nG!B$)@8{58g$M*bS#_5P^%-P#4O z(>L%_^?OqyKkNH+{lwrqd2pm(EaRqHr zZ<_ck>NW!p<^5COfJb?GU*5ud?HIBang0pI)pIVt=tqy*_a!%+N8BGFi`>|#F=S9vH)D*4k)@h~VHMa_<9#C#uHd`{J0Be2QOWlsf{>Ut5}AYS=0Iu~Eo$8E9iUMJH` zT$MMeZ!T&9rgW|PU6L#s)@$UTJZ#SNA27CfzP@UA!LJYC;$duq1U4&6?c=Jg^WgQ5 z@kM5~5}OAHIm|+RC6(9C z`B(B?nO<{UUk%(@Hl6*%)m%5gucw3Z5Z+zDeBGpn@_64(TUY9#E+?+^P~7{14%i-- z@$+3LVXzuuyCz2uro*}kL%cV4lFYcX3>wdSfUh%foxri<%!Pvj)kxZ_)wov5nej`v1LuXEuubTILQ?9V)}o#4i8e@C6hQ`I+~r+7Co z!TIyNdpxzD0I%>(>URnJrcIYB`AhqJyX=7L?AnTbgWbi>{H}aw^}*_6jZNK@_kNdm z+VA_~lqIxXN3PzY_CxP$J)Q>g!r&y%GGy+A?U6=5(7^kZkPZ@gU}_#Mr1))tZ|-ME=^)oKe|oxT9myD!yDq3N zXQYpspUPb(jdYJs+?dSUi-u^6lb!g`SN{6O)^4(6GL+BKeds>U9CDX1<9%e#-@#tF zg`hm~O4g{h zXKOTNkKw64`&)3b*XeEGQvN&CPuTDDVcwK3=C}ID`mIZDb+)uQNLd5BI>|BRX{%;4 z{svL==MDvQ=?(pVa5Y0upL2Sfc>l0asG;^cOj_~T2bd7mXBwG@)L)Ngv-6A~Pxi&T z^4){pXve-g{LdtwY<9GnUcVCa()^9P&vKKEB!x~ zeREju>BOi}gNfIc$X|E&I=IXUWUK z%G}|i;;!btLUXs<&dmq_>jOv5N%5dr!5coAf3)gS+Ev0hQTEl!PxW|ix*i#5Z8b6i zOn%~n=Yd0KomSFLqVK!6S^8${lvuy9e;^ULxZRm1gb=XKxH`Cff?j;n#%&@PHicF9 z9SM%S9vVHx{bNluCLBhMpmuGfwei*HY>e&wQydY=-5k(jE%V{g%Bi})kTg24p*c*x zAEK&#F9wv$d-lrdN$jt|e^b{Frfe%}`#6!FR(oBc9}|s*ZPCF!(_E|Q$HoqQm#ohQ zg?B~=_lDuU`VPVeqJ#Uw@ICqt!mo-BGPtxXE-cK>cpb3tUW5M?Op9hm*nIKwjNl_N z93)Pr5qu&#*cawArSBl0x#-|v7`~wIApB5ta90@q41EXTOVPpB(wwy~R(?0(FQ#;; z`H- zwfN;F#Fw4Vc^Fde%H)^ge6iR!z*^GXyJ=0gIJ{Wmf-l<{mx}>UX?^xG^6~4l`?lNu zDER+uP2jI2j>f?QsWD@IavaO(#d6~Ra%D7YFD7^Gss4kEI^ry9Oh0=CxHwO#KIZ!% zrL}U>s|Z78FfK@fKx0p;e)np^{X@T7u6D;%f6@6bzBUh*Bm8D0jzC%f8vFsU;^qnD^+qv87fb=RjH#52hl^1aCwEPt;Kv_Ur!&j8SKJpyt~bL9IO>+Xp@$g`%}E6 zy5fgyu`K5ZY?}G;L2ziJ)sFE$B>C};LEVj>E{xomE zCQ+h8S{c2G_@dF9^$U&k{z&?be}5cw^zZvN+V^bxyUDrYG`m%XYu!6k@^VK%a!3?S zPM3?*+|f5#;)sM9#|2+$;N~8>vC{CUId7GNE^iO$f}g@n{HpUih^Mnp`>AubJqFE~ z;e#Tcqq4#%yJ+!FN0+p`du)C<bzezH}1p4^8SXvV2fOx6 z+T8nt`fzr(8lN38tKsCMdVGNNvb$e^6Qv)Qy{$c&toet=aZcZoAO!+#rK~(`oydAU4C4ZFrddQPj~ulANI+|3 z{uIJmd5FdzC7pbg{s1J|eX-cx)>j;4sZi`{?(6Spw)zW;Gc(APzlQvfnZT+=wk?Cw z#Q?J(pBgnhVM87-8v{MZ9n@(hKGeACWt+xv)r;!oJ|57BGsBr>S*8%CUZUA2z;hD= z^E78@YxJq2JvUSwnzR4 zI(D2QtX+mHBU9F>(8@Y?oFdE%I@(l(KB|LcojU{iAnQ~WcDXu;E_adsrOXdwbbdeA z+V$(f>%A?NwTnA={lF+*c^yBie{=tg)QaWF5p$x)$grAg?+(g@kNcih_SX8iy3Uj( z`Hb7+QM(TL%n#e2#V|x{@J?`X}6@5b1V;^)p5E#;qIF2MQP8SWO?`?$^RF!>}X8?C|WA$*&UV^0fZd!n@$Ut2VmH?nA;$k-oprpY~(F z$FCl(vjz9-?;rBMdC9G};HaLNXq8JO0u9F4=e4%j!L?=fqF?ti7Z5mnOgR zxB*aBl_v+k{R+5$WTRlNX>952X(=X-oT{L3f%^KdNvpN<&6n9S+~V$k&7R|o5Bt{6 zLa%iOZbxVNwNGH+9jf-xpM+;S={Le#rj!0{)=7VYfDEX+pM&ToJZV4u|3jU!{Pb^g zeO=+~vzU2Ye)@l(reC@~HR>qZ{eg6neUD=z^J{Od_fJB3rr$4Pn|(FM(jt_wm z6~uLR?aC(@3s&>}F#crIxMMqo=23stI1z?b+BAk?l{SrGSS_2z^U13^pB2$bltqum zBjNGmQ9bV(D}bBv=n;JTF~{ep@#qwnzB;UWJbEN?H6E?yS9BL1<)O5v@gC!)6dvze zGi(!2Ag*jFjD25VoA_|x4Gvyuo2W2`3X?`*S+Qq!a^HF<JSva0Zt-$?6ku$)Iig_F}%PCEv#RqMiNpGlk`%IIOeKeMP^j3+Aci$7@)Fc4Q|G2?>Cl;;oWu>Kr^1)2tC=M$QfeB|0>gm1~h2e&+8gv*4E8- z^08qS<5?Cf8L^rwF{@6`d#GjDer$!Pik4Lh+T!MiR1QugOqb@4p(NQ6Yn0{152-9r zJUbWDDK6!tASPua=gG2IZI~T5t3<}0QVVU`DUlrOC1i`~>UOpu%=dsd$Y^yw1|~hfR)tjim66 zNx1Uq({YvgVBNb(;jT0I{6&v*6S%D;Wm7#jWYx2(Gr95+cWZ(t85o>gr}AACglARM z)8mpLUQp4PUY7>pVMTqLHAQ{Q;Ko?Zw!EXY>e`kLi|gytb|m4B6B1tPtO&D-lki?n z>uM~pnI`ao0A879j|+2|#k_b`2)Bvi`d<@<&1X?E;jN)m+<=+^|Ba;LgcP-W&{)L> z*#k$+Q^X&u!fBPbp3YNh!;oA-8_lJ|s@iBF39o9SLlt2my~Tsis0hy_UqG81D&q$v z^!&P187CwmxYU=PN4S+z?eUw%!`TZKAlWZ}DL+H_r>VrQkM^XtuG6X7QY1bVUk(CqC71acj=v zNEX`8n(?u~{qvQmQsOXEVI{E1>(|a9t^Awme(bBw99(7pxy(5WTnjnVqN7AI`FTCM z=!vA9I%6)F^p_gR&=`%EOVjZY5x-xc^5u{nA0N~g9m7$ww)HEpb zg`%;=5^tSHy(-c9@k?R4D^T^74q{6{U*ngxs#=DoH40<(woe3yYyo~jX=>U&#CzYn zadgnLyVk7~sZgrh=k&IXswzCwTAG>~LRISPqx&INn)@N_T)jxF)zM7r^hp1N_vseg zMPasYye-J~%DO+qGK!bZ2bXl$A2>;8o3m`z@afjoi)nRBp;I20v@YWqR?&GYw4A$a z6vJQA16)8}CoD;3vT~%|4`HXujqQu*(&{6_4o6g$9R27?L0#D+TQ;L(EsN@X5qPy1 z@|X*1?kUkyZIQ)p}IZA)$Px8o(sBP%lSL6n-ZVt`!eES_ixUIsFeQPki!2x z@Pm`Y%|*?wTw&a2gUjoi!nmy!aUTP%YvIkixHWAi2RaKa@)F{^wEu?ks^3o1i?8(F z5x-k~R)O#8^3_F`yF9bP3e-u@>FC7J0~mXV*HC`_HKM1~Z*{ukqArKipMBKcYopTh zTOEHz)DxG%=HugwPTFVKkeTkd=t`H)>+Do#;YY0+v~69~pTsjf;B|h3z&9_6UY16? zGSW-ux7($!#GQ3UYY%ay^V`d>=Q-t}v`+)(c|&KkJl+QvTsN?>#df&)>#&Pji#Tu9C}Fd2_bK?ydCp8|RqC z=FXkEJ)pzNBDDhJat(n?a!#xEdFb0OW~}!8{91Qbb=i4aUiR=G*qO%w2pOo$o)AVR z(1ckPX!1?Vf7SDLBlR-&A?4X=Kb{Mw{p$hFrKmjg!`yg^4z;rM16u9!sC_2Dr8)YW zw2$bp&iQ83``cl9(WHi5OiycnuN-^!;&s&ugLaavhEw~rFLT{zh3&69`|ND(tN3Ac zw5uc+^~zuMo(}4bpPlM_mdRgropEjchf{4`A3>+_ZGKyWeXp?wFgCHR19*f?E+%Np zI}VH&0Y{4k9d1s^Zdq%9YMWlm7ZcsB<->CevJ|Jk`n8mJ1CZS5m^IQj*q_Ee8qh$w zgeAR?C)FbXhrmA)LiBIjtdgDbpnwF4bw4<_C?5Y&OO;UW0|Q+W@9M|;8_W`0y3IQZyg z`NH2J(%gytlH63a7^9|qa~G?l-a&VW=4i3t3!U+T1|mpDL&cdyhenya_T-53Y4^_QOn@h_Bd-%snG$6YR>5Mg`k@j~2_&YSn4a1h>}h@*k#lTDhz} zmBvVJ_2}PMd7)_t1oHz&u61;mtg1D-r=j?dJ0j+r?S*Wq{wJFwAMcx#X-zaSf4$>t z?LA`yGfbazqJ zdM^VfVaeLb+u^*NxRQZi!LP4}@=)4W0gKZj1ADx(MXj{MxrMlrfh8-puv=h>Y-Q3H z6NX46S=G5HbD{8oWX4w#p4|jWzoPEdgopBDcwe5{TKDDs1#$GehF@gIht$^M`@bZ; z#_5m1OIuQ7WqMAHb3da*iQUGz5&NA`NU!11yDR-tR_;6LN? zzm4=(=CbR<+xX7P=j|>Z^(~dt_pQI>J?vZWbm`T%e0|in-sRE@cRDPotM6OyCa(I{ zd-(M<^nL5^fW>$zg~$7ajK1||;;L`CmNQ=QHHK=9_7=j_w_5P`Fyl^@hGB@>tbRs( zh)MHS(r9hjH)=7mARI&CW7di9AWZAZim;xUpb6Ax-%Gp-?lOJ#eZVXGs`n8h9+i)f zzbB5K_w!3%O)+FG9u@C@K=B#xp9aro^SkCa?!50A97vs44PkK1$6UYOU`kQ@%&O+B zmC=E;>qsY`=#1s+iu0_($NANP(cy_1E}j@a?B+hfFXz1H>?A%F0vKmoySY*}K1Zf_ z-JApEPUM-?bp4U+}P(}^No|ikiLpq+)A&%bKg_xtM z;GFS3#KG4T{GY(L8hG=eNvoY8zRE}Ob9V$ZFm||calGgd15Ei;|BsVK{szxFIXpAe zIeV~+D}Kv|<&AQ&%sKkm-~t_MQRh`)`$X{f6#$9C=e}O{neHZC%d)JwF zKL*|neDe}vPRI5c#q;r3C@tH+OrNm%uGcn@(k9)6x*k5~CA?H7T? zX&DbaUg>s1Swmyb7l<3ziT)%R;Y+~6aYy#NE26<((Pt%N&OZ~b=U@0`%&AEq(f7;5 zkqq!M{#4H0&IVKbEMC?h<0^JOc27X^E+g>b*jS=3SDcj&7Rtsqm~jIW_;|a~u8p1z zob~nCjJcH4!v2+VaPGKoZrBY8E(^)n_Y#)eM;4j0$XauM6}W#kv1gfeF6+UZr4l{v z1Ed~Na*z5ZJ5ahpI zUA{?t=`KHyZp`cJ#V`8%9s4g0&{jJ8#IE?b=-Z@Gy}zSh>h1MjSvpU*rfkKsZgRLZ zW!8t*PqQ6XHFt{s-wn#`{Y$e=mhaY;>Za`07hVi=<^LY()E2K`F|IQGB?5!Wr1#&Q zpS)icyx+oFNpZC9i>k(}VsF0Bn49BgFL7m41tovw@nc5=^~c*AEZrC~j@;{bLG6d< zeBDZG+MX!bV5W5)f~|-;@M+FB44CW_Yr8%3I!s?^e!^0da)$-l1k=I#0NeYkJJGm>+rvC|bYY57vz9pJzzW-^^ zUJZ3s)UhpANlDjcKO?R74*M>!?KHdHwnt4lie1Z=o|c|H@e&2T4q>h>9&l~(az}gB zsnQ1FMU12PUK}ngjK=zB!PWw^o-1tKl@@>Ua)|1{wmr1(yeXPEIKxGi(?hd{rh=Vo zUJohbeQ*g4LgqCGzE0dIhg3VN&4AY>xWu#&W#TBmxnFA^}RJZ9DmQSDA*Al(s9`sCLEnu zU$=0T3wNod;JwkLaVILE=ko#i+Gv@c3}JiFcR5fzHeY4p;e=ZegYsUZxDG6wD&q)s z_4xEXK|S@Ye!+L{H$nSOseO;JO*F6kmb8)u-%C5}%O0ED=D8Q(+6o+i=W6M_p^w4k z=jf7>|D)>!hu=qV@!1ZU+@KR+%{SDn8N;O!W6eK-xh~Fa76S{|B9XrQukmt zv^*{BD7AbX=%u!)1Fy!c_h4hOJ=3ReTThqY%@p2U!8bU(zV7v>qu1ERsKof7b2pkp z9>I60&(QaA`sSz38U-8B)SlZudI$d4l?6&!N-3kovb=<{PZtVE`NuS zub=YFrbRAVTO;4_Zlk2mE27ile606ZKyJ#;=eTH{ODElr@cDJm>A*KHi7%|~ z=nTI7ddBCgwa)rDU#t5`!m8Igk0GwsI%o3h`AvBUZv(J6Ev4{y9W!pAB10*e1fbuX_>qD<=L4z_gz)qX7K8?w(|qOnBA+ zXNp5lgaqtxp9pLRu)=))I&O_H@lFDU7-w&ScJb0D4@K7D`CDZrb6%jN+&sAo(^ z$eoK?<@rd$+mvobr-Q8S=~Q4Hz$oAJ>`ZTYbZqjFDWuCw;hltIcYy7}fzjU5!i4s( zh3`>>_1gTxTaZlHqX`=zjLnDn(J<8ERlW8Q&PaNg)7R5dmhERLr?uu;gcUr%#9vXj z0a&=!%<^TfHO?bhcQz7N&)NL4?(~?97Snw&QrUI=M#Z78y@YjEwp>nrTS%ZBkj zx5KJnDqvs}znudv$=f+6cWC@#1oT3%nH$t!Sg)DMLgT!?S*PV^4osG3XLQ$sokIj? zZEE#kBDz~Y3C{Xd69Wo;E9(k|KPZIfu}O2*B8a;#n(G*ynoGr9Px{e0yikyv0=#}q zcp9Q=KY4<0RGP68K8KXG*)@#ovq@{x>*1XPle3FPTQqNI2}yICTw90|=SCHDv-47# zzR*(h(BnxbA9>Hp)v~#?>m*h%1NnXXn#~GE?r3{0(pFtKR2>L*wR^HZyAhp&w>Mo! ze!BfDyo*_Fqq^pXJt+tW7&ZT^746L&>#Dyl^@SfIp=LPlM%KAFH7{^k^Ri|wM zm)3l50kQb&F4?y%+4mh=lJ_^deQm}0IlQbmec5tVb6Z!Tn{#D-%}7(YK-mprhmKHc zheJ6pA2pu=K_Zsw{Zpf(ZVe{bO746=6u=sZ#Tgznj*}y!vl^1v7je9)FwXLzb<7Uq zJP-KiP#nx2#E*(i%2=TGP+HFRkXLoM>Mi}i1wlKoUtPOiwkc|dQ*ZI(h2WE1^ik=h zp!1ZYdG^}6U_~}#E6;f#%z4e=QwasPa9s@UP%hHefyH=@RGu19?VS>VVUQo4XXhGKIyiRmv5#90}&9iAyoPYw@E;KO1ezT4_4XCQ+| z{c|PfyYX`Bv08Q{a`)3}E=q~_O0FPjFbwQ|rd z(n|mS6L>g#AF9}flP4ntZTCV@0x)=>1^RcV%1VXLHOkb}&gPlrOc_3z>R30B)$U0W*LYh*^$%OuMNm`~HLjSNh9Gnjo z&q!G{i62(E5A$@AO`*R>)WbwiZsi>W`j}%_v4^9ld_jfp>5nf+?Tb9y}uPSI15w^c;q(etdf>AJvjw|?BbDYNTYq*GD1c6 zTu&-I5)K#xs!(y80-FA@+4YG`(|8#sJ81{8j zrE%M~`exsr^GdDLejn&K+LiUq0#aUl6{7G7&RPcL{-G3Hy6g4mY`f(TY$^^ycDM50 zL_jCwtN%gNOSGDFwAxs69SBjb$oI+jLvM2-K4KDp42}H!vw=EC+_5oPMxpHJB3Ldu z*grZv8}El{ZGqp`E7&=1p4Pqy{ZH#qttF;{I+?Z)GV?7TfZ}$aCY|)F--c#d6KA%2 zV$w>*%tzeDv!quW*B%pl@Q;x~&=o_#;%U%G-O$KsC^zHBb>LkYO;37yynsEdmC^qA z`*L)KoOLtbD!1meazF#)do`79Qf{^3JaNVEUy&>TuU>kFt;ZJRVEl*0dwsh5N^`2W z32fk9W%a+w9^eVl0dNY}LH#b-_m4W;M6LOvsyNBtg-6{-bwUVWCE# zq5X}nPyL=c&}&m?!Bjr2uP{B0$Kuu88}Iv=_F~sKKY(Ufc04EedNe-xSitAUh*f4) zjN9k3Z#ROdhqpX)ElplG(HbVw}m2b(F@5gky>@mL3icEra zk%SfFZrd#9DuAX9#Va?0&+>|0fBl-e$MBo%nn`+K#d|J)TIb!wuO7c`xxLWhQh+kiR<)O4M0T$z>{2uQC z+N*NS_dMci&4*qxAemk7J)bbhqp-_M2TB8F?$g%zp!M8~39F(!VX{4WDPfiCx#L*R z$W@G?It^o{pETOOcs}IVzz4#co`|_xnSyhKrX8 zhf_q)bDaOj1KHz9#_dCFmB2eeiX_{ez$B2UEI-R3Ek5>&a7N&EqbxJo_rf zQq}1lsXAoKUculPjIkpJ^W}2v&r&py{2Z@>-8ef!n_G*$@vMB=z$|c&`)dSHwN^>uE?x2yK%9K!A`NYxwV7CYJK@4*D|t>~EAy0t9A7vj#rSaK{rhyk&2yfw-W>t?K(T|X0Usmp2ocEg^;(sgma#D%Al12kt zF?>Z%Aq-dGNi&QCmnZth59BJHnLiefnL}__(@WBAWKCZxk-!bhcJ{ z|A32^y`Q8K_6&Bn^#?akRlq2>w_RBzpIU20?@L59R@u4Rp}k)oAo5s6q8#w>HEDPk zG>^mT(_zNoM7AJaMi<_-inFs^8mqv&E)7rNU7rrK*V4POQaBr;$=yb|KktwRVH+#L z3}P299nmJ^H#n8Nt&@9|eSOcZNZ(WD95VZ&Q+)AZ#}}u$zM{2X6fMpy&eJQXpJZ3Wt=vb0@^ROh$71+9 z{sO1U^fBVcGWq?C&k|R%?dSLv z-ISm5P}{(A$Jna zay3pL+$tNV$3!eiA4E|4yGYNnDo)=wik9Em9w_gIFs%zzI)!Zv(wUoS;XxlJJBGN- zCNK$u{p0-X?X^kR)-at7G_w3XFm`8q4+G;KuH3IUl(zuhYP8I|4reErUB#@>Y%DxF7v1 zc`L66T))>GgGHU0*feJ88@-3Tvzz-rJ&apT*{#tPM|Qodc)IJRr8JLmM`2nkVL#^S zOnBSq(Bin3Hp1*o*L?WeXeJI0ZR3S=9XM@9x-o1@=ndZ2GM20-%%}$Z4U%pgRyz4_ zH>EJjSzE>p)NErk#-beW5AdOAD&Os2b#14b8(Fpn(Yy>>BRFo)`@pC37$A6aKuQP?j(OwTE>AB9H;O>CB?kTMZdjUrnR>Ec68lu}GT?uZ)<4() zKB&CaC%#L1$^Xwn$xx#{JNtSDi9`fzcqy%wIP&WX>zGBF20Ztxq-a#olJW< ze1rYHSZe3lZ&I4o37pH~b}IUj&4DlFBa{=V%qCW)j3;IL2|>+ytOtlAnSQ*kmVTz# z-rqXVS-f&EkJ)fLYqFN!mSW3bdpn+;jh3-?IGKo-e?cCikMElc=%+O+qSD`bX!{Ox zHnwN11uuVg6{Gn~;~hoH{fe~y;r^A{c^yMp)ONoHpL`^|?WE+q@N?l4$-`QUBs%LA z(Qj35%Ktl8e!YKjqpgeHPj~M%*Cz#>w{_*Y&!;uHe>8+apR(iWto4cHTJ|(LX3N)O zSTG#hNej*zg{9#_6`VDSxh+YTKKQjqi8GR%CmL&KqfjuFS9`sG3}|a?&%?4Adcr*+ zjPi+7IAl(rFAjF(b)yu0WpmHO~Ah^sY&xh8B> z#8DTqI`0jHr737-kcVydPEB1c<~(KO2_?7Cqqp% zP_HFhx3AMr{QJTM$@_)?{@k?|zKb$M)%#$^uCv(LyqBZlMqc(e`0ea;B(!({Y~7$sQw zLv^4_M!|Ei5tmTPv+b z3SGUOh1SA=yH(W?G|RJUX1pe=AdHbyFve4rWl3dmW61fGQ*ByK zLY!Y+{oRd8-LG))zMPeDHLoC%%?+E=-nxcXqPgyHlU0&k&*(fh>zT~+*yw)a^VqWW z*$)1+txqO{oAra@uEE~Fx}#X#;10s;qY@c(kCZt&A=BbMOp@7Dj`f{SBF@^Vv~zTZ z4fA0)HoHi@B}6}0hf9gK&fv-)nk(lIpk6fN%VogVM_Msr=b37#F+xpijhzExbV`zV16!+(2{@%V$(sgnc0)iT- z-PywM{A8ip_%qJ-RD~!wzvtS%fVc$&~j@H@AxS*a2+gc+cU{k>7t1UPlMf)w$-KP4YB_Y2-{u1GXIEZF)w!K|Afjh(P*?wX+PSJlBE zy4Ae1XJ@-{Z5=yfNkbj)l}IZatQ9O+YUmI=nasZG-lDgvtpXc*eazLj(KJT-F4}hj zG~=o5rmfzExagq%#+WKwOE!j*JreCDJdnmY&cZUvkfLdz(xDVML8S49JC&y9(> zVZC6ijBU>Yo>ZF}zp%2Db8#EMq4QtZ9R)hx;aDf6@@p+T6VQ{r@CRLf(R3CZvV;C0 zdDgILYt=cXJs0oTUTo`-i`-_^1F@&`8i7#9o>$IT8>Esz=K=$-Yzz!)?~NqPvnr0G zec92z+w~9m+<^9mX4e14c>G=;T^GNvV|5{(o+mwXGHt~T$C6Qux5Rlv2hn#Spf7ry zRJk7v9Yp6va7o{K3*(K~pYX~va>%#4zOm)5@C%D&D5oexUQqw7-2cUwqugJ_^Rn!> z^M@A7B{#=vtti{RgF&6v89V6MdeaQxjC3h`PL=%-X{0;(M`ReU&$MM9o*X@N`1(Dr z|J(9g*xmrPIgA ziT#&jLT+hyOi^QcKA(J~KR6p*^F2LiQ;{Yst+oBMljMvt!ae*lmpD)V#ZQQ~;^8 z*|T^#@y}v_Tt&au_;bJ8cdjw#=J%k#sI}`{Bhb)SxL-wH8rwV{HyS?Hd@#vaV0}9) zU)AL=i0dC@{2Hh&=hg@``HGIO0hjh=ze*$7vr$VqkK6wGwnC6Dz#6`W909EAuC7&= zjY-a`?`vIsKW4^=%JW#qlxL`MD~&%j{6sK2&u!1oa@ln`^HRiggr-Dm0kWoJDgkx* z;QzPs<5I2EP0ME;Jd48~VyW$URE?F5{4w+&(Vn7TGelbN%d}w@9fR|o{atJew4W=l z5*!Shm~`jJUr#&Y^W4W5t<8M-R|f9OX=R)q_>6P;rQr!1=M5%KvPUfblf3gr;Qo>C za(g~wS+26oek?I*Gx7bcs6A&6yjv3YTuJ45LOb_WET)yuvKeCoemt`%L` zdyLO}XpO;|&x;#Ut{J&caMpWfbs_ren{|ZTdtg`_8QXY3xwix~VXmkshOK@D(3DMe z{TtG1y?|MS>3a)-?6f7YoA@3Z|Efa`eX^0Iuau8{lrFL$?q}!;^%%=UFlDK+uC7XE zYf}Y|Y5lj3*4tA&JFJ!OsG*u$lf9F8_*5HD0v<3vAal_3T>(91i=nm4|D|rC^Si;R z^}-S6j6@f{B07;ZZ1(!KxtleVJ91>5xfgd?sVXxB3jB+!Gi=M#KRLe5@{zuC`re*= zudL8TD$XkQQidncpgLK<5!mWThU_d?q&(m*9Py##75rsPmFDL;g_GzG*BhUKJ!58Z zHnKT-U(hD!Mwt{atdSYgWc&5sgG2rL z1K9aWFH|jm7Wx-CA26=kT8)XpSp@~3=BdxDw|&Czb?UyW50Z!Oep2`cc-Q`h-|N)( z?fhx4^B?%t<8_Kk`$PI$b=+L^As4qgtS(wGI=B(C;d3p10(o~|@CchPRpC&Ba=arud z@5@{KCtu!o6GzWy_+_v6nE6j*%4d~Ei}Y=^_}ST!d2ew$-RNn3=XW*l%(J}S2{+q$ zYI_51vSi!k^WfHdyBkxS9&G-4YpNLQCD4JzyF-3o;0vV1C*$~B5Tg1@*8d`5{)zoC z97Fk3-!G9?J{Ud>BJs|3TWuM)gS)yfW3$(rFXsE2F?}*NLdm!5zh8EBJjd0s(G<)a zs5JF!;F~sKwjG&dNWh1lJ+JYvK^>SM61*AtsNDAwU*pbw>@!MlQ(abRY4QUdJ#Ddb zhZMw>cem4DygJn;$$5H>&HqMT$P#lSQZTtOSS*50a&mqSje~e&+0e8ZT>9MXwbNE_7A9K$4D0LH!zD}CE z8K2H%?95)LE|?Skx{9(7Cm8vG=7OEf>(K2|CAz#()Ti}zOP`k4k&>1q7BYO^_<&ECDofUY<4k;itvVHbGS0``R z_FYrS@lTr?Rk>t0;`gS9SV6Y1Lkjr@gXm z&kFquBW@eg=q%Mn6)>>*xwDZnN=G&$+R(RusCwO$%vbvUPyRG_{)k^any&=+^VNUx zzIn;O&3yM0zWto!(`&x^sY_oSRy|++jJTSwe$KBim-0~B2Y|(RDTT+okN#OXU;UW4 zny++jR)P~7$M&);?$Ofu*dv5jPzRrZE9(9mcsPf6TOn&dcTVmXgzNbwznVXeh30C% zUnxEv;MFL`Rj-rq5h|Y4dnae8{QHaIeZ0E*CMHNv>;ECW;&{GO`_X#sT#?rs+On^V zW(H;rB=Ljs2UljLFnnhgC%sHZoKW0pM{9aP8Vawd-2Y43d+AG`c5^_Tv*A{`zwY{# z?3F)yiCw>_HXlMM=*Gz0Q&c|Sx;P=wyK5d>L70D@ zpQE(Rd-DC#%*9)YF@Ta=zdS2RBfa+p+?!BC{~74=x|+L1ks@nb&I#L7p{WzX#}=2| zx1{DbHdp0?&>2!`e9+xjD|Pp`^G&F-<*4KFK^-;ECFe)~bY)YUt|lMNk8ePSw%j_< zZ3P6o<7R0Vf(@<33nze6{CRzasq8tei5$!v z%(Ibs(QA-BuME;RHX-vQ0agdEeWx`69nW>^$*|B?Y{;&Q=yM|JwRU_C3nA5Q7yZ`v z&zqf0;MWn7(=@Mzwh50AEl78Yqlw->8m#Tt(Eh?#L&xU|wo|SK_p-w8L5bShSzwWG zboAOeOVwbxh^Bo!Kc0`@Jp|s}$i}6wlkN4$HM!0;va42JZ6!}r4nk_p9kI_D+YntRFue$e;% zq}BQD?XFy+JEC?JhW)z~oIKTGNqbg@)kSmLYNcBd9jFd6km>e9dhQsA)9RofPOXHKn zPUaAQvpyTrC5V!La*UrHuIws5b6qt~JLOix$xC%9kY2iy0r*07nQO3h(fdC*p9wYg zDlrA;{!n)|*6x-DB3G?Y^6hi;hrLs0iVY3Uu-eNN+N6%qe6hjQH91r2VXNGkRvX<3 zr?kJysQIKjO^;fouvDoP>S)sgF70dn5X7R#pJ|R+s-<_3BcT4CPBxA?Je==#$Ib$Z z)D9=V8yropKb4AO!xNs@6->S!TNlf0rzL*yJWW(-t^hdLpeFI$fZR-Z3C zr+~+u#I!*sBdgPp4B8*i?=)o4|4W_3UjyKKCi!Z<%GTEu+Y1nFU%s!$`tz>Z5w0B$ z-7a)=)7cMtWO4`^o)CQmU(Lz&!?@q$Y

    H-)LF3$0|#X`tAz>qiFm5+6wN)75%u>PXkHzEMKnx)di)wh zakUPqj+=`{UEHj&YfM{L=bMddMKs}XX^vI-{TzEO@0$OB8yRmu-^x#Q@%7XkJLS?> zhgHw9)5O&rJHxNqRd|$#($4W7}0RlrNO!1Rnw} z8Ba2y^UP`XGDd*k4t#!b2)PdV&ajJ}i-qeWgked>#Q-M2q!|N#2k^<6d5&!+@NwXu z0zNW2HM(F;6HWX{;CBNrkK(*%*am1mo&}!Ct!55iQFk5T;oK~_^88wIC2ro-AJ#Bm zmr18*p5IumOtHP`tXWx`{-AMbfwYn%@8#fR$d8}Bz_#1n`VIPvz7LW{eozj${KZd# zdwx0$JmjbA`Sv{H(~F;;?$TF>RrAv`h%0`2Ccok*;qmhx zhC{sHBbu@0wIF{%j0{hYcM?N z+l`gaA)eac(dfB`z!7DfC(N6p4_1$4=ZAi5{t|mXJ1n;yEm}MdK9@XCSYrRx%^Qs( zk=c*7bELlUGZL?VG=~Tl`rXtwcASjAsLw~sEs{>dbBGGZhBFmjc^+|Xq<)1I+*g|6 zx<;2g(KD_~hr8s7pSVAFv?eQLXN0gnA)VAeo)3P_W4(;e;yc+di*9=F-fG`Jl%ip_ ze?7d?<6lIpNwfqUMDlttol(YSMd}+Lp~u^~YAuKT$^iiVbECuf`DE{q6GLi?1w-4h zj?z3^vhx$1;+i)e^n5$X{y80DY5GFy!@Vf2D~Ue-O}fatRX$E@(8m2{kehed_Ot~58wA#`(9y-V%H!}j=2^5 ztD^&@vb&MRZbsSj@j2@8%Ag*`zS|h8>riQakEwtZ<+9A|FWp?xsocr#=1_nOZ2i-nAS=;>i1Vc{iG+&&epMicAzPf>ih<9X&w1fw^n+R)*qCyhMwM8 z=gXJsZd|IwM#R-{a!{TB+SU0I$7c`4j#y=(c)2$R^~ScKI!{~WYB*(4UEe}_?L#z~ zHCC?vMNUszqprF=qQ4`bAJER#Zf~3=8`w11(DK5R&;Rr~u#r~QIxsu~@&z-FPDpE4 zn&AR6jf3)~!1y_Ty?3WbUl;s-^c27uh|Rs*Chls+_4;U{fP3;dEq6^}zafZCCw%y4 z2j8SF5iz*F0WQYVv6;51aVZZy&q=1of0UX0JnTEf<-E<UWsskg={Pou1lcA?=TjtP`og;l8eP>XgM8EUk z^H$y71upf`7m&O54x%b~i-DaxJ+1RIt`O+hv&##@zHVbrXqeF9sO8CcR#(qHTP zbmg6`q6xlZCR+O~&%KxO;|p!r>o^p?CztLIf?bsxj?c`A?=Pm#*W~OvM)hV`&i!3L z*AeZ@X4TD4oLOO%TQq$ic(f1kGN`F>>J4t(%cef zSD(v!u>R5ahln5gf%NO<+exprjCAQqJnRZx+5GxS@v`IQqK~<_)p%A!uO)9i9*<~p zM`oV6=;IEL*S#n|#sBZK?cP8&{*}=uYvx@S9j@3r3hVbuS1zps1^4T~PlIpsl4xr6 z3U~AE*Lps^)`6c1@?~C%Y4`A4^*Zpg#ML_RbNs5UghzP@@8^NVcqxU)ds>F?$`2EF z4S8W-VmgF$2ZF%{9@fFpUZcPNC~&$?bmih``LIu5*6wFS|3sMd_<&nWGhF02T$-{@ z4)P1qR}1eQ#GyM#*B|Hg31AJtbO&Z-{7(_Kk+8Pr5w5bbWw;X<>aeJ7aHeFT7WZAi zMSkJ&@wJ}42Y5lbxhp)4uSsCxdR99CYutKPYu6K5yMB>4dcMRjYu5mSS-U3RO}5|v zv*Iz?od^-KZS|~M%E6iaGqM2{mJ|d$YR4~wC+uhX{tAE6%e@Wz8au;C+U(f@vPvUXa9}&kY~Tfx6+F*eR}ci*MaM)4oh(R{igegE1vy#etlg%&wdkF zjF(b)ybmxJRN6%SD{;lM*59h(#@J$1GKP5VUgC&{o&VB`NH)$_i6eftcyMls;NjEX zN0|88rFVfzI`Oeh=WeNUJg#&NNje{BbSvK=EY;>F&5F8j0k7o8hZ%nCHMWr_z>nW1 zj-K!E>;0ZC$4eT||AV*-$QGNSx#<0>^Z8w}@6W`ymfmG^=GV%c(!kD7+ih0vYC`TI zuc`4_PPI-<8+lN+FXlX|CLV1(IXUe6~~Ldu!EMdYhjG^n}N1*U5@N zwZo~i==yW;Nfx@20;%tOI?&H-cmA~nzl=e`_o+4U{;2I!r=!PVlz?W5E>UOpx$jDz zPYpjUnEH;nEx06}^j01y-IV&#uYx*qhRtZ8jJqvPQ1%bD46w~;YnK(`>h)`Is1N-o z2>9_miT7-26FailWO5 zO{LQyYHRgbe;}Q7FTcpy`nJ3F@_SS&>mP~Z?L^MnM!Z1I)py-fHUBd6@vFzru}N5R zW~MqUnFp)G>Y_&Q>(Tsc@KJ8je-(LcUNUgA7j-<}evb9|YW`gvlu2`Q5|-ra=ii4B zSM%=){3;K{RUX2-23VYy`PbvUIb;6K5m)oCZZq-o4Mj%!?-xN6*Rp zBBzB|jGz_(VxFic?h77)ta_668CEfJ`m@3?Q+QfncjftC>zOOd<(>;^s>DF1N5&ph z9vrQ}>)3o&CO#-D7ifM`N>_yLAme^WIRWCr#nkyb`JHiaGpPD`YmM}*E+Fi`ocHKL zbw5e(E^sZ#;!INKQxVY_+GY9Saox{>XVkqi*s8_sFU= zo*;JIRQNqQ3n==*Z(0*S9N%GUf&1sXiQd+p2#J*$sfLevSTqv3WD)k%)@SPn#7*+IjF8lk@9a&=8UjsO z)t^rXpT_L8J?8ZOaDKgxytsdFKcXAA4OyStvg2Mw`v9ApC~La1v|~KUtqL0x_rEsD|Cz2of`fu`#XvQdpUQ-;nlo&O>yg@<>U5u zG;dSfKKwD{D687#Eb?47mD*zWj%A}jP~)qiLFI=wBj6Q%Z)JcJePfx~(55`jE=)Wh zp29>e9lJd>r6brQ@mZ)v@ZbX{^}QxCm*Uz;)J1DY&Gly++$7+^rw?|ph5lZ%VH4lI zlRz9lZ6uBMZaxPwRNhCNW6N7pR+c^TuC^kZLOSwh?2(fjZZpEjC%q?CZI7&dyp`Mu zfN_D&o0qucGPX(y3 z0IVAER68@Cmc13W8jXis2m26>-GbK(-ZO^a%$0?UcI{%}gEI&5HmqGwpGM^t&ut6p zjC}c!$}O5~2ajauzuT&DP4nwg&Q!zWY#!W$2ZpYeo=#5tix8anH>XNd0Z_rpLOZ~x zHk&bR?dNKX5v!$)q?Pk_|KaH@mlpyzWu+%;`r<>+Pj+Wn85(%49L=41i7fJ<>c_H* zb$eEpa!aqETDkt8>e<@Ynw6)(%jEZc<^s*<7t*e28NjrY+5b=&(&XW3ctCNVR2A3K zSp2RqYwH)8xEEE$^+d38g2JVRG=u@aaCD;Uc6xPo)NQ;Mo*|pE^7v4^dbee{xC+0a zgTbRPq}#q$Gl#Ci2SNR+OMu~*FN05)=Y931CzDov>0zunug)Cnbg+hv#9|9q)LenB zf_z6>V+D6s$c!{cjRngOrPlh1Ev@L&K&{wMa2HisnhACsb}b7Nh4_51V5_15a|!{d zp^0F}N1cmWa5e>~ODi2$C}(NRlx%ykgWE(5o0RTdbNC7UJVkIfGYg07zK0(A54 z`Qy)c%xMOPohRxvrAIA%-viD&8>~%ZXtPNlFmp?rOQU(FHPE%`K5O9;eCrnbo-Oai zy0M;Jg|@`EqS<{_k?-Qr&upFa5}isGHjBSAl-y z70hS89f#b#8amrj&0n>B#yjhq<Kh+f7#(o1c(2b}8ngKRw3u)XMM?blUC#x-Q1cCG@OHcj;%C=k&KV?CfP%*gP{LkIBQM zUM*sjOj#kWzGJHIO^MD>-{bsg-~2lp>0mt4{R!^(-X?k9yky`;_jfJdUiatIOZT@Q zxSr~;YTe%yai#l14mNca9_695v%JT6DTT*-HGE#V_clRX>HcJXSH{>hru$0?}Lc!q*Y5r_3+9yi82X(OYeb-puU7o)2xadAFz=p_rKp z?R$%Z{gRv*HvLKDte|)-SOm9t_vNYnpSE+gXT#-f)!t(4@1*zh8|(eng{gi<2D>I( zjWV>JemoIF?fl&c9q^-q^DVr)+URCpSNwH~ABHd{sIKb!2OSMXNA^J;Qe8#IL*UUE z@HELW^o=hEGR#i&e4>Nkw+8U*;e2TjYd20GjqunV&^k?S(CYNb_9-G!Px>YDeCk(v7P3qP(_- zbB3;pw=!xgZ*}vRzVX>x-WGhX;d^`Vjl5AlKlsLmyL@5rjm>uXN$&gVi_{+NQ?sQ7 zbCag$hg(>OjPJCzs><`F`fg9YU#ahW^8FfpwUYa{WU#b+dXb|rjo3Klg(~F&%&eiQDJ@_n-?!z+q>M8d)`BMLvY8thl>WA==Xh{ z$(-N2RrV_7@faA)_gibs_d6=)d(nuk@Z9qP8eOFQ_0B-F@n29$edN!HtA4!)pAef< zbQ#8)EYan^61^>QObnA=GDlu72=X#>Z)>y8zzr0-l5O@F;_|$iG;bi!KSGCWn{q1- zTko&M^W9) z=*)rwyp5vbWBb~Lg_M^L<1%CW>a6*dwcXzqz2wL6#R1(}$E0avyF(i0X#Wz@eHPmH z(s-hu)&Qd4yB+;5M&=>Z%lIkz-=3B9y2r$~qG+TrbEd_v4dU}CzD?F8IC1-c|0p+R zG?3eRb_5S%QZgE6YxM-zY!GddHN`vVdkt<)q4kjV`ClH;;iatSYOHwNsEY?2*(q}&QGxDu$nw%ntlL*HUM4B*8DE+- z_r{*n{imox^`?;@Lkr zvwyq6BRakVJgRT}ep9m6QP?~AlU-!j#TKvVCAg>8yLsPi(p$UR_weo4Nb`b9(ZUbLEGo94AzdURg zQf3|X_k^V=glwSo(+7Zu>nGW*hIWElLw%4qdj5f5)=&XiEjI^%xV>&yT-xhiHlk~^ zm$AuVn@PSfETRwsCeh+U;0f2d`u;F~YNJZK=_D+nvD!~?-+mwCJ#4>!;@h{8Pp|g7 z1Gt{*umrcaf%!Ob)qbDg*O%G1-=~1ZcqxU)D}80_FqwVC-BO)JPzBIUT~=mR?(Js5l7Fb`K2vWSj;*&gwO^WTklp}+VXyQ zExRp?y*=)xu*3m*0C8>kS@4{&Bwe>1Tbv(PBU1@4B+T98%BM0iUK|y#%J+HFNFLFK zqv(GQql5C%`?labyNItir$=?CpgS~jo95<4_x>;7ls>+Z@8j8#__E3lzOU$) zbb9Y`W3oRpp!ABL=<##WS6#aMT)Ol+wsY3Y^N^SNc1-$jrZFBa`eRr3O!hljey;i& zIIMiUSN&yx*|K%7Yoo6draQRnDMJl;*!Y#`?aR042U7EC$}d@4vbTLmN4`SX8erPFn=Q+*Z~&JV z`;C0Ap_M)FAk2vMCQSLRi^J08IURVsy+_}Z-WYK(_nm+?+<$|u#TBU8Syv5gJ3m-m zRl{8y|A(W|A&}LO16o?khvyb7k>tbQHghEue4_F9z~_1S+1u^ApZ9J1FHZSIke7|{ z4P>#qdmeuP4%R_2Oyz=Cb3Y8~iriXRf|}(LFZ_tK+6(#(G*&sk?sP!eV-LNcZ*;n2 zXJ=1KbEm2jqC-pJ3lHJ_g*RgYIcF5nYsk+MNkyc2){}t(g=#d05W2fr$lT@8j zxn$<6y8M(h>X*Ibk=-xBgUs8mtIzs&c6&qth#FX%g`a~rC6G$fvY+v(g7X5YXXV zC$k@|{G!EwlTI>vJ9zz=sX5>zU>Y;+e2|NNNxW?S#wYpQ+-!Lvk7s;)m#3MtDxpwJ zeDiD3>n1yg(`6!k|AxQt+>7J`!M%L&JKi@#W8g+l{y%(s8NjEPeDHhVdaA>!<%2&E zSMtIC^6Sf`Jd`%NEGd_KqItYyv~i_;@LSSLK8O#dxO&egh#v0Ziywr? z^TUa}hx~97-@eU#e&UCdUHa;knkCX(8S@mvDq72| z7uEs~`A6%8RkELEo>QC4C*!Ha(Q_KV@KCCOYqh!f=TVB!ApKVw?`hwYFW`5{zTf5M zfEwdM&(vtE?(0cyp;Z8z>^N%sb#AN0dj@%W9?}@0@5k_`F=9Qxdeo-ru%u1JFG}P2 zrGfX5UpDaVdBWoszcdE8nOov~v(9CnOZZ6hAoOd8qIzd2{?dh<4ZmqbG=r(eN(@?7Gm{~CXsnm?F37WkH&ejZ_>(H8xZ zE_>g#*w@=C=LiG+`77DCYn8c^;moW6S2p&3$V>V1bL1R12W!26Z5Fp{Tf66NH(|jCA@t3ca?v z*~*A;C91#%r}(`CoOV34>w8GX(=#95-zr!x>Y7}b>bz$Ci#fk(9XLIo|{CRw1P;f&|#^lbTX=WNN@%6eK1%u?CjiNk5#$H>9v z1EtAIcs;bU@vXQX-ovJIq&7`;*gBtX*JOENkrg)m!nfUepDqX!O^~f}0|Cv^jf51i zEEGbZiFjv_H1eH$5sWAroe=2v{@uw9g1;XEh;}t(M>gKL1e+U)rb>s6F471nl~C6X z`&>JC-yg5%e5=;2I_r6=@+3bK=cYt%)c2q9r*+9y{OXb1D7cp!i@a}MGH|o*yoPTt zH~RFF8%r*Ibyy;kdcE`zaV0kn^Xto{Jd}16Sd5oac)Z##t6Xa67m z;f1O|D=&@_7Rrm2>&Y`U{J2~U z$Dh;SyotVly5rCL&avfFTa2BXyce9zA$T49q&j5ts?`U|>iy(*vTeU|2M_g-*z(AtyyDCJQ(;XiYR`5CTGO0&|<_j)fo`!O$<*WPEhUJd>J z`chE0WPjaX^=;1&?rQEF^rzsB*?jC8GzfQX{%r7RfBml+)KspMDZj7Ry<3y_?*;YU z9gI~^IN!!OGZ)Tz(#qja(1>hyJUs~CuZ$)Rav-FoSkz@7n@#VR=qn@ zw}?^kv*%)7`llZ(TxwQDE- zN5g#rPy1fx$t?JQtxsOIberj$xR1y^Kj7az(#7_)cgKRQ-W^}QfOxvA>JG{-zI;!E z=S8azse@;=j$VNfFWtv2#8)O+^%m+8ro$%&D2>^vd(rVPUMQsE@M z`n7mNe+~5O&${v2_E~)O2YPtLk&I_I7@V{d@QY+TUL-q5hwDAE&FtSr@&^22w~ zFD>*eorJQx)c5<7bnex?SC8{J@VN79ib|CiuT7bpLfty7VonP^4!s&Sp zUvw&y6eoGPE6Ckz38Q(DKOOFQbZn%Td@Gt4x#eD7zK&1I=I~(Oke5sMFUaJZz%7|v z5$g99?jEG(;Hlv*Xt}#H+~F>0x##0PE%HB9Zv2%lBG-5eIPGD5xt6YUj<*s(C+ zX}1oc!8ZorTK?WJ(4VVOF)ZZa?I916pI?N&+47@)fZY!}t$mTZJG(|5g=;h9o}cZ_ z-R}g~q1leX)s(;H%9WpYmGaXWUCQITLmsyW-E!tWp4X!DQ1+dQ@A`k!X~qAo2(jR< zohNZj0JFElCx!b%78a7n_l#e2`q}Q^#Q4_f%g1JC#wRWxpB%k>7rSKTI2rp3(fkQ;f0B10IZw|gO1_u_ zTfb%PrNiqta7rk)u7jI$eIexsL247NU)21ImXNl}NFwyZv!vIZ?OEB}JwDpx6c~k- z?la$XC&ArBu-851#~G{A6=e%fv*^Uj)fxE(y_DmcM)JL1V;Ce)+gNw>t|Bo-!U9T)&ddKW)uqQ{GNqZJx0@ zHj8a#jrTp=k=z<FWTKdFR#{4?)80hZC&rvlkR|y^r$dg^2E`RBD zk-v*>Jd%DV`Q$v%*64nj3VyB}45xHJX9+b$X5_PT{Vsn-)8V?MKsjwEl)|j+ zU*)DPJr0e_Ps~QPZW);xmyz!VtRQr%qRNS}apNnIEN~`uN9Ck4|0?k|(zQeca_p)jH*NvSCo#NDpyC%Ws?>%&u^Rwxh?Hq1X)&Cb} z+o!f^4oBfv7iFok5*Qn$t=1O#ap?55(xzHFolnl+9_(PE6mq!A#!Ae}RAmuhwY^6t z;@3|xyQ_qQ+$UJZ-4_h^uh9+18+B5&Ix%ijEoPw8eqgt; z+AYjkaWbxNzC#@mjB^*J+^!$mV>=7Rc)B1OkE>2B#7=Is>8gs@>H3Wx;GDx)JL}=@ z;j9PYI+id;ql3ibvl-^i7PIa;zH?-1udliJd1UhI<;+NCEZC9N%zecdjn%##@plXz z<&N-0JpT@OWW)F;^iJtiy| zpJX>iM{THE_iK%o_ScK&totSRHi)P5gT1Hdm2Ucjh%X1*StA8yZRr&+en?!c>-1?1 z0sW6y>gm^i)fMGsV<|6_rTspdAJJZI>@r=Ak}>1d_%3WTeSMLB#~BU-lRKJJIBx-? zHb8Bd`o^C|v};}JK-)0o;TCXcec>Q8r{KeEO$MMwap5{JuP{~H93|pptdyD162OfAH%t(eY?0*YSfLMP1t?93MXAM zoNL-PoMd0Rfo@&e-OR}x9GUjEzVerDU~7qah+yX`fAu#xJkn?7=hn9J6KgM+;&PY? zy6PD_%U5~tiTJa&x!bKdT6?x6^5eRqaXXhm<);4qw~rcH??)NE?p&51?Mjm9;-7XmA_u3@{lGjI()XXLiu|htjgOTKO%= z(0jOPsW}ETv{mCUhW1`}4{Y)`h7@DtKSX(Ee_}`UDc^r2p4y%_+{@?tWv6)g6%W20 z)|B=CLlOLq(Ba#p)L1hdTN8Hp4`Pu~+2ik)1rpwlXG-fY&}41L5n+wz$))zMtS3pP zR4)dnw{t#3KX>G_`2ds%iu-5 zVL$3_f^c?V=I*N087hA#u05PD<@XaNGUglqw%#t^DvPYww?WrxO$R>QL|Y_2w9z%| zc2RzCnlPBs%(mLOt|O174et+*qrO( z#9g)zJYmlD&bX`bHRrkjxSqOSf!o%c@6zk%T#w*uG%F3oT__l@XqK(B;e9;yKx@t) zMn*EqRCA+;66OqC{yhBZjy50WFv4j5HJqnk4dmug?@E{&KV2GKbB@HXI-h!Hn@{CD zV3nEd8IK~Ip1bu*hU(a~MqPtaW|IF!ibLDCnfWoBbJyCP<~cMEHy^y3mp__t;@3U& z-RJ+`cd7rMZm-e$+4rz%=z_sjD+e~`dvaqKG+bM1V`la;yvprk)V_GlsoJLaB^c|U zX-gQVa7?$|JP_%boFi0PKi0kp`cb!jEV@}vYTS!F+2hWok7;xgU&%}0T@UfZyO*gB z!JD&s3f^oDZK&YChL^^(@19rue*rp{!LJT$%ISJY`u*!ST)MJvsE=c0Hy1O)Whivn zUXmp)L(D_e)~d?*O z?K;!T)(rn;b8;f##ix_>-Pd+J_~8DHgTro*cVE9d4y?FFJn02Bx83^mAYU5aBIWBZ z1}3?YdqFmYf+$@8H7Jsq9?rgKd80(H21R~L3%}a9`-H4KUvo13`-z#23^W^3oLO@U zd9~*a*>Exgz7I=!xxA_Vo(i6mnT>r9$kOYc?tF08=VdzYtW|V8xOam^d_Nr=;=Aod zP#Jxn_CRZBx&QUPjZ}M}@MrPreE2i@>QVby_N$){U&JfgW#K=g*Qamo{BqnWd=CV! zNBx9wSwHb0{x93-;LbMbJlxh7Seoi5&Ihii?pM%b{RFIWYjb^kjR#6Yar=Sgc%j1Z zT0b%EWX<;h46oU3<`Xs@Qy$s6t6YG(VWQ+Gl$XlO`L%m(|v& zu~Npm)+Us=xQ?SkWBb&$-lX7dmIg^fbwzsJx6nnGKK^4|5(2*%s+)O z+WKDQH^8(UJ3H;@Y>@8__}Q}q`}=={PVwR*@M*4RCFLg@vIH;It=u@=ziD{Wz-6mc zh$zuq`|9n;!ti~6A>fGW1&cwBANqe|q*uo9@zBrN*lY;eoZZ_x>HqAM4eje@;Li4K zsD%#)ECu)$;OybtHp#~Gc%J@Z;BFkTdaAY4$8cvYB36w{@Uw??*!|_i%hditkXP~a zQgF&%?o)J-%I{%Oeh*t(@ZnWqZ?M9g6vl1oew~%BRU6mpSa_}14Q+J$rZ?B1f!A*# zZONY5&o6NqoZx^ST{@!ac3n>7`?rTdtLCTHbIi|#E;oHB8tR32=3N*+~lenLRK9!gHt}mZi^j+KW zi~Ft}xFt6V6OX0jz7jw6W8-}FSU**zfPIbnO}Frcc^MJUv(UN>)?YUEg%c;M$ez z2m7N`17D|zr@PaSUkGo~ZCwB0rVBU_P^{ZO-oRNsk3zbJX4z>E}!Dp$x*-xH9l7!Qr;>JuTofUiganU^B=56_2QstFVOTI7f1(Yx6 zYiaVu-S4UN8szi2y)K~pL5Dx!^pw}gyV(a6pz~A(74#Lk`Iak!0|yiUL0`f|4YJulW+0orGi;n*ZY1}<6@=#a$d>& z%lPV1A6)jElRW~RU61qx#j!E&zw&?CJ_mPW+*jeY{@-v*H@FeFp1NOMH@Kjtmp zYcwkj#eFTX94}ND-pQaFXm5^m1C3K(L0F2)-9ziIoSk-e=e`m+U9&qcDlZG-NS}BO ze&tdVuC6(+10L%V@&0|4o8~)TPZ&LK=#~7Hv82jg^7KZ+YA?>FE}z%S?#Xwb|9|F@ z{(qajjDE#?Xbp8`SW1Z9Az6n9IeRN<33vIPwXmKZ+X$G9vkdgeuskzE*>Um^9n^WkK*S$d;J>Lz3%UM z=nJI&oN*K zvKgDA!d~$`&_T~%iXhT2KBEft{1WZ&C5~j_L5H`qBO74cFpX`gjx5E}%C{(GSSaiF zgUj@E)n&Oqz^gTn&(S99v3g$k6?M_(M`s9k#Hm^K^fUZ8p&q9@`*5$Y74vi!UUBQ; zyRwh=Ds<8RTKIa{M)n`QE@%SJoa~opdq1^F%7e8@pXC3teJXRmN8?ktg_|mt^FeLW zr-AFK`xSh!dAHB>`Znpad?i0hPiZLb=lO3u)cTC!{dj1T;(50Z5?1qWtRMDIj7(2s zY~$Lh4*^$OH89N{9j1NNetiU(Z>L6_ULe@VfGr}NJGdIT6zt=`7}`5n7;`f?_I{th zuLnP+H#=o==Q+kEwyycd4;x#_~M zkV%tk_30@b-v_Qo^+NHjUi^^%alQBvZj*gWNA=>z!1dJq3L30l{G`{{i=Xlpzl6u? z#eeZX#|ssPSL^rHy|UjWY;`{Rd%#pD;`!*CfvHZ&7{=zKe*jE%BEHA;7GQ2Z+B7Fu zSGwl>40u(xZBAPKxaOpPP8dDE=ykGvyZV>p=9dbKe*36{JRkak+-N@bIB-c$X|8ge zRWN3qWJcrq!r%02+?1R6DwC(@Y!>XY#0AQ8YQP);M97>|H5ds4|QI^ zZ+BhoTGpD19U%jkFo7-zdEMsXRqskH#j9%E-jFwSpI`9lEk!30+PCE;J45FD5_b+W zMa|`v&LA+iXOKJxBQht0OJJhr-8l_e+fs5E^VS|1WL4p0`&Zp7DtVV4!mZL_a>&cJ z!Y}6T1+J+n-A|5vIm56?KXV(|4K8(XU6Jh1CefY7Ctw4=X$MC9ZtIK3tM%+Pz-^zf z#vSu0xAM5dSnA`*|C7O9TD())9?tmVph$)m%_%Y28kVB8VY_5xK5?|y<%#or-MP={ zUalqMcRADlPs@($p|{haQh;8)ui>l!!FSedTj{I4%`0lDwYD_!Go zzIsegDE#WWM&VcV^UA|vA$`+3?ut8wZ(&GFdWUeC-fyaToJHj|&xsH>GzhP*~`&eazCQ?*a_=mh_Gz zfK~O5BY{=*j(Y%$3sJHqo%)`@Z%^+yhA?{W#W$>l?^iY?dp(5JeAF%U@8ZMbj`gyV zUS~$0FCN;oiN$4g+UwTq3WR>wgPU--@piJPF}?aI)#J8n3Rp3_8A)VUG&E?Jmxg>P zmOIy}O(LDppgi9jd~VJhF!H6n)@4tB=8|}O zVu`m^dOFXa_<9n!q?5ge_A@=_G=MQ%b2|r@O^(?*tjlf!PHvUg`zx#rUKD=y_To&!s=YXiuhC`g#o55}xKLqu zWfxE#r<_VywHItWZ|zBNLvx4^AWVWIjOn}PoP%H74%oRqelGs_#&Z1iJdiJKKq3V< zlURqtZiU(g`w#?`Axs;`3O?e)CQ1O3EdUt?-`F#Jsjf@ZJLh_3T+5Wm=)kc4o zo|o~2hm-LOOL9HfoY~PTt!r?%7uvc%nIc}7l#a_iU%8*!PSGUYu0QZaykYGzk@Ws) z5^q+5Lt~-$J;3v0bu`y%EQU_bopEn^7-InL=|V4%ubGu z>F{vqR^8nY;M_^?z=B;6U^AmANVJhkkNnLWaOGVjpxji`QywlPoZ9=V?&S0E$CHb4 z)LwFxX{DWJ1J|laPO^3S-b2pw?MV)VRzLTeHP%HuW_`ppVSQ_dhSzb#cD0!-!Gr9r zC%)Q`*WbCVo%%Y?&|kl99Vdrsb|4(s_Yfet!I^v1q*o6NGb8ibT&1LON;zm`~97tD411({~Zit~jQX6t7q zgW{uTQytq9<(W0te+q4q*^9xediM+_K-3PcyPua+n`2hJzd!Xt<+iRTqaCwzX}hz_ zh^sgc(RUyI`{~!Y&wJdjg+@557B!? zpx5^5Xe;Z zWn60QqqifN;DX+;BQ>;}f@=>OW7Vs4xU%Z6VA`+d534H1ld8X$MD33hHK81-4ez(c`%9o!vq z@8&LOiW=J@nOVsk$?cV$WMeyVv>(o$@ryiM8FUA&1!T3kA^I?#bGLR=<(kk4hD?}U zYW4hvCGdoMnM->k;e`t6$`%^b> z3?_SRJRLsKH6{8SUGbQV(-g+WM`v_?gSyBd3%b{{JKMrB^{pv89729-M;c^yCgNpx zzZ$;BV*$CZA-u){Pt!n}$L19ZzeaXH!lnJ@WK(Cf z_xl6-P`h}KqrcH(a}wVrY(4Ec*>!<8Hus`>^@SenM4_o3zAM`o!pD7^gz)zQQSvM3uz8?o5?157XYn-|QyRkiFTgAh zT9-AvpQb;mj_dXkR^vK<9G;F#^y{*M!>$1DpJiZ7 zGV84u%#M$_u#W(y^;uwUic)h-j|A4^VXh|<>`}m$dYDY=+$kS|KN>j8jf%f|yg8At z1wR%zOC>pcU8|tuarm8r--g+89Kls(3?9dM0)D7y1wPK_)|tnm;Ys+h6vO)Tpzce| z_tVPn$@ul+=XuvZ)s&)1`y#)m;&?MwY`U2*>)Oj+CtXwoO?{&xO0!>p#yUoW@nx(6_Z22fO>F z%8MRewMuw^^|o7|?E1&*yuZJ{s*ER|{vX+XUhG5=PGZ?3wG<$5Z!yVD#NHJ0e=aQ- z?3zi@B5^(N0(tWruq`czwpcgqeR1jC? zNAuKpF)(}3j}yhT|MF9R_7ZTYKYMwYUwuKCYdkrr56I4ccw9M^gE}jRHO&0lBhv@ec4NP* zo9sty%&~-!^RsOeBipCL{SjH?#)yA@ujPT!A^zP24%MrNqqL>R4+A>GW?*ufjSmwp zUopVt$NEyysQtfs^xMZ050yw^Qd?;wnxck-oOj1o!nUS;?$!pdgnCt=R% zIbn`Hy>|$)ykIkzENiQn#)KxTC7>(UkCfVh)E)&dk7^6F_nR{tIJeoKL}IcmIA=ow zU(HdWe%vP50tf3K*`=H0Lwh3lLI)pgPRqBZzZcH8qn{CzKRwVrVgYz`!=&!IgqS$#i#Y8%qL zF4-`zU^>kuRD;6pB_&=vmBZz67ws9g(ktk9T^bGY@}Vd%6+7wurlGuin7FF%x4{SH z<=``mynHm|MfJnxN6aQ=r)#U$wPsc{x3R|Hcr6%rskCPLw#g_ZUr+jYM4#EDq$XoL zGx{|xlJa&kD4IV3KFxhx6y`qu9@=ATN0+Ej8PoUgXpN7S?)4nq>P{EIkVdl6L%Yg; zz#OJB(^&P>5xv?sBZ9b@MrV2!I|iyys1t3U3AF7x*taYDj`#8)9-bfO?PX)s1BIfK zL8`N9*?JG}MyG{uevGIv^fIoE7rkEq_Z+mg_&l&<32~Iao2GOI))xu8$itn{(uJXq z{St6{IA14yw~jA}v|q^Qm%*bs!Z$%cdX8_vZ-8TKW;ohva69*zqG>vXu8k+y{TljL z!5{Y%a(|6iW6!E^T8FSdIZ-0I~w`5*To|B2iB35%~je;Ds$-e26INpx#tZp;llqo#09Q3zHK~&jb(Z1;tF`{_ zvhU*8mcve0@0xQnVcPXCDl^%@f1faVe!!RhrA@Kiewj)3e+UlsJKLml!4DbIsV%gz zxW>GadFeBnyU~ByJp6=s3jb4m39tW~sTkG&HkK70!$ExoMJ=`Hx#_O;@1Mc<+Z=U3YJ@2FNzXTrk2sdpG9x@uga`=^o%4&G? zCJbQ*`!;S`!xm1vOyi=>eJeL^-mo@I741Jvs9(PZ@AdRCLu63=7{g}9`0*bM2<`t- znxo(6!%T)S8dGJddA`2Qm-P2-D9*t(H)%dMv^mGRoa`B7DD3(hxjD;hgSlsMcW1lZ z1;JBxX)f|69^D;!*;jk*hDlu%f1i{6|1C+L zv6*`FAckohw+!^VU3*+zWNl`cJKtXjXtB0j^Wj=^+{9V?bV_bsLHV^g^>~}I;BSNx zoH6M`dt>QvBwOb8rmLU&OT?2Cvwxgc)#1N_^K8oTnT>Wf1@KzuCo>c6n4yD}tqiJg z^1r2|$M`dA<1>}XCh{bEOBBD!!gfvTfdeyMhc>y;dLXN19LVg~Kvn-Re8?X+uUw^J zKeQ>obBHfF*+T=|W^E}P71+0V<-pJ|W4g5~*sDF<*Kaewmu?zbH8@=NCigny&G+Sh zfv402ZsbNY3iZY3y|5{kn=&6CqrBO^>hvd-b2l{FgFf;P(W5-i1)utEcfJ61$~p+e&LXwa~zXvOCX+)+hb&9iPjL#w%}yj zU_*Ea@#bf^ohCEwXlRiCLxJ1Fe#a)s;{Pq| ztr4wl%HG*6$S`#!Ym2%TN!M4i*&*bW@F zt|@Pc6~PTGdmJCam<-VEpUm%I^V8Ix79w zsJ99B^Xm5muKD(X$=$kU-OZKU3mEMHbJ7C?D?P>6HzqdBP+TQMLTYes_=1lxNjqiIkSBIWEeXYC7%C|X!afT*} z-N+Q09bFCVU$lTl=d}{sPDey&iXa$8PUy`@` z8s*<3+kqV{O^ij}q2HXLES6TzM7Fp~@Y7nqTh(BC+K--nK28O%?$>hN>n!uE%=?Nb zrvca9T7e$HIqk(AJMZSE52M{YoiO&CK_7ge_hU0T!P_Aov2^**r?$8_MWw z$Y(g401TV~4^+)Z&#$cDEFehf$ zaCpDxvD~L*dvmw$BRM0xMlC=NTSAz%+33`YtNIzjPL<#rvTL;KU)*NypF@?j z3sW|I`8taZWr~5lHio*8bkxR_?PAYG zTW;Aj9*QLaw+ZBHwrYpz!}CdH(XMgA+K8{RRVy{A%38 zPrCaEezERudo#QYAK%!Dzn)RP=*Xhf5j*m{Y zrd!))dZx#&n&!eX8HY|^zWV_upE{zO$|h#VnwL*ANFmy8ZYzUM$;ue%H+i>1i}-Zp z8GQHo|1+V@*m}F|?O@+JtPeNphK&6howo_s+w0OEhYqEEbf{0>27PU7dwzhi?mqB$ z$X!KPdzjmf+SWE{_-5hu!$FJqG68t&x=*3c-qqXMtPMqGFDA_kb+-FYK6J2 z<3oOzxC}+>snEcBs<$s9j?!+>E?f=Vp6Z%vCuu8xQ{d3r>cK(ZA3w|I@8on@uU@;p zZ|Kz1&h}h1S8uN?w^?wh+^mmu=INY>#DyZLi(VHOY<{+8eESXubm!YO$jct$+Cw=S z=2|+U`5MBiOm-7dvifB>v}dp~CQ9n`ry4BWzgvTgheTbP(=f zIqT-#+{j}H1530%$i#^bsa?O~!i}p|TO0XA{3GtWw(-fp;Ho*&v;^E*=M$f`M)xe@E8Y$I?(_fe8)QoG zcM!qge`e0k{y#mJ!8r?F&7L?b*XKug>}>q&lCsHc{gC#CXcw){fYLt8KK9iPuHb@5 zf71{r=SnLpZRI)8SiQY2e=iDjJ-KwZ`RqhI79^|ie0Cz(BlJyAH+OEGV7Cc+8^_4k z&IX)MSVqy~+ZYgS;6BXw3`gNQwBjF+`>#ZJxNCCU;!9b&m^*u#PC4>zhj1(c$A%V1 za_r4h$j2&+OMU@+(6xl0`5FeLid)8RW1IiclS%&2(tt~J zoEYULRD{8iE4dLX3Uf*#%=lzE%o#b&B`kTK&aU}847vZg_*=o`b6Z-u3)xrR?!7e2 zdYL=2aBa%d>E{ZoyVEVKm4~=(c~cnOrEX!0^6=wT`LB)qOLT>PKs?+4?V7^#Mj^M| zs(L~H(0IuTJi~KI_W!P4sQq{;X{&Gfx%40E`{gJ5I^JgO)s|h^Z?T%80u^)}S8zsS zr~L%zRi9&L!XE4LJ3F1^^R*Yh^M z^m%o@y5da0d%e#3cEy9=dyw5WYoyL@Io1&)09d?U`cCj1ystRFTx}>)v3CaB>TNnI zD{5O=6V`&TYpvDh`1X7id-^rFE#_et?dP7v#l?CnY4|y|9#ZUK#l#sTxYbzS#t42a zbGjpAwo%HTx1#yPcSE;5Cj=Yq{pD41|8K<6TI{Payp$|l8};p9f|ugMRM5}g>+o|% zzuOkew`^`3u_}4!0|8chY{nUN+tj9@*@ig~FqJ9u@81e?q>8*4qQjxa8{hc7Hgc zg?qaP2M5;M<=_5)Nb4hnlik7*tZ&;q!4hy@b1LiY-9G&fYrJuNp)1S%AH>rUO zQGJviUHH|{nJN5=dT#5J9|dO$$EN~*wKa-wZOvzZs~xcTpT%wMiKU~q=5rB!(jN=I zf(BdP{5)aR)_j4l_^z-@LwLUgERPEnhWE*dw&vr6Ra+CEE%OOrs+#eccAo^su-&bC zNRG6A`DtKU+ltTyV)z~eS5zGp>kiq5qA3Ssnol`rj-yK5(4 zadSrzpjT~*>e<&67Wo?vcCn_DiziL=2GukD*ZsBjU-RAee{uBxZ1&g1vLp9*z+YW| zm+TaNMcF8wIiYS_S>H^2la(UQob3C+^|a{|Sy7TTgFg{?NT!g!jjqFcdtLs12tLcx zkMjS1J^jbHQ#AYpxE||MwH_l|gnHOUc1t3x&XP=p{aFZG_nVVFu-7G-h&LzO1HbjC z{)ksre|`nNW&0f5_0_+|E!?Uj##7aw-$dz_{faWO`tw`Ds{Y){SLG%=N<(;m2Q0@6 z6^2)LpI7_p?-Ew^XJd0aXWllae2KY59cL>bf7K=K{lq39_Vsn>d-(f$#kRfarik(7K6eK_qDNY>uWo>jsbF%++_F z|No@Wj<=DIe(jIYO(^R(a^Qwv-|~|wo>A@np?!6bkLr0F;a&>va~+tT#^A^FKfxDd zy62VY{PB?qZ$((xO5O>&?Xfd9?kH_4!-K)6wX9Y2sp+*Hzt+k^76;<2DX)PSKyn(+ z1`K@t|7+oHc|4zM`Dd(!t9%gE#^I3+*jji|6iz6sh33jf<$Y)3Y7PAHbVRBLPd(Px zgEngt3G44*zm@VKl?#Ks`*SPm_TYl+zOAY~__L7viaoen`|l#Zca8E(yOm1W*Tj?$ zG%4Q;!J)Z{$2NSvZ#&uNJFSzsd(iqeUAnGfg`>;QN?^xV*B*gi?TPJcJI+;7HNSp* zR;*oQoU!HGzq?2IVq7-J+DI_EcYhsj(SEdOr_AQjx25Z7u0LaEw?UeCNrw)=oYq^I znGvn=xayvyVdJXB{Eu~Gx$niRan&(=^_ad__|?Z%g_$P$;UC?OhOJBS%a6P6=7Jdb7rY|ldtn|hE@ilsthT@(C zERPEnhWF`-@m3FEtK+R>fl-vD@zxSx)$!Kxz^db|6M@xAI_Oj<;}`2x@t8|8qcPY0 z38Uu}zR{TLc4bB~cq(z!|30n@9TI$5eQvL|w<;LLUE`&(t#>Y$Pm1;ue)uFW7wP&b zTMEvoai*o-#KKpc1RU%t!?U1Ya%MJdUqMIU%<*g8r3ayo3f2uQKGR9-aoCUg&AISe z^HVd#JT$w;>0A20AoFM0>Hk9Pn5-|Cdl7a_=3at(aW*}(ml2-uNH<|!!K=&QR$iGx zYMc$N_AHgH(*fjFWpxhmW!v_A=|$xITVXt$p3f8h_3YV_S)lbDIUp~aa|8cO-<5ua z`N6N4$a1;=nl1VAJ1F)Ey%|EXQn26gurvbb(WSH@|+sV zOz`+TbDdeGd}=Q5yois^HZadtI-la*`GI#IV?OKgp)X72Rb|@^o!+$5tybl-L4HL) zhDkn8!7fMJeS-08oL8Mq?d(JI@N?-b7G{I3+3Dtn7JEnhdS=$>tLA6Ts57x)x?u-avJ%U+&&?iulbiAUw_m6Ul_|s3F;dh=8SOle^nqk@jB{-q@%XL z_N*)+A6Or8X9xD!+;kn+S9dR=gGZyfAd{M>)_x{#X3h0Ho&V)^88-Kkm0TxpaI4?m0$fksuikH8Ojz~X zm+-axSigN4upBQ`7~Z#qetYTJO2yC9TtwJ2aQQ_uG0qtjy19^z_$erJH2t&F?wn3H zf3gYqxgIVf1In2xJv019UNl!CyuH;hE7_Whzt(*&#lKQA;O?695a4m&uKAL?yzF?k(`cs00sd;ym7Hj?Q+AiT`I&Ztl=2AmY|es* zf!E4=g#U4QZ^f-LQW%rDE@+o~j8|np%2$t-ec@Lx`zB#k_S^UxUMu?@!1B0IWO!GE zvY#dIDtnc|cEYAIr7}`kjN>1dMXYCuce=0jO2X*5if?xso7$&TGLCmDlL_ML&enHp zUoU)`cWS{W%}L8WNf?SOd%L5*sJDe*S9TQP^a#g`din0tf3Is_O?<1fMVvX=6mUH$ zzxezC#j*08B~Dzvy94en@EC5D>7EF8*{{fl>EYK9R%N=Eukpaj^x?pAyij3yzn9R% zTZEM!t~;vy{H5QMwF|gd$GoXsMCIz~H1LHUt{UtwOAK{bxTKfs@XQ$33~fKk5B#fTx_)_n6 zqho=^jRZ@eT*e+nc-`;z-mZ4_-t9xt(!aa@ihZH0^KHS}kW%#l^RG)fQ`wH@t0)Z6 zryG5?jf^&PeMj&`{{GO~9-Xs~)7-OW3v|qzUmcO|ES>BW?W2)J*>v-2R*QGF#<__` zHwICc73Lh`o{_sgTnn6gm>K*%b|47Qt*kbt9A4kQX#mX`(DfLS2&fc(o-KN-1 z=5_)(zL>3ypNAc4tw1;1KFNTDe5$;^$aqt_+;;Aw;e;mF;ftmQ`G0zpe{2G7Cplj( zw-dN$PVxB=Pu>;Iwn)zf3}3L3gT2_Fg#kDB)?BbQoLf)>=RA5r;E~mjC7B*< z=-8zfk1KUXtzdQzvck;|u+wQ{L=WUPUIadSIKQBlu+MW1?C4S6UrcO9=#lzisK-4aAc0z$(#JK0ST1&ac(zv9=!s%J=mt_ zdGLJ9ojLzrNqEhVeuOtYK2)FBH@16xy1Aw`k?&8b0CQfx3Vf!MO4pM6Mqb&N-7n}< zrW+N0oZCdZrYGh1Y%QR+@f$p+onN67Y5b(LOy7Dv|CjAkUGciy8*nS#E>Iaw(zo6S zTu&<*s?}SHbDDGSNpW}rJ!~1z;qPk9g6Je!qd5(Ks>(#(09&Y;{ zapmCk>3d|a0WMujYs+!?*8+EX7N5Y z%}hG|TY%Rjz~Sne^EUk2=~t2^-7Wfd!svMiU$0+vCQGW@?<9_Nte+BJJiVGhqS|Nu zpBLFrb<5^Fz_)N#n*IOMDaHSJ)G33%ntiMG|FjeQ|1If0BigT`qeK#R;QI?ftq`pr zBp*uesL%#TcVc&#O=vm0Qbecm;lL~TVpqC9%)UDBF9d0ehaUl_>i7E?c&FRPft6FO zUH(Efhc$8s`ahP_Kj#RM{yggA629jne75f4!dzd}U%5ZQtFt>l&R0*oW@2%zz8B%U zvQLHZb-$wCsZJ}7)#=ajf7w3x9P0Gva9h1K+^W-`k8pQEQ{h+OwmSUpPewqJyT&OU-HzexxCkd-My^Z-OiCBjo;1-qd)!@SBr;o4TsU?69tdc{8|8PKvON>^tDo zBRLV=lLntaBAgsijd6M zHLoriQ(8;$)1>+|X2n)&lBplzXLm^(T=O?S0bZ4>_&gM~_dg|!o?G}LSLO2e?MoRJ z+Nu9ic*e5tN5;g%Z-w(P^}k23eY)#Dsn-wh9vvQ;VbX9bI`;JP<*i*ho?|4s&O@SD zgZ2)WBSHv#Q+mII7L(5|@*?-Icn@h5Wq%Ci2T!tJ1FxZm$D(yk)@b|&e|zR+l_dW` zS~nJZQKzRy*>ZZ#>1SWAe-qz?AKxObd(vQnP z?mzIVZvLLHo|8iv{1JB|A*Uw`A0s+=(R6ufP$vH!;>(AAwk!tAm#0ukf)em_UesRx z4{3;pt7sS6jL)m-&Q6YBJzE&SIsR2(>GZ^}Kap0RvG1Gji`JxWA}b$RFXFz8#8WvQw`(`kw?*~&6sXaTszqZ?_LuI#LBr%|68nc6$Nb)q$TRhd<3uSDuj z){Y?Um|t?=l{c=7vH=sn76MOW&u$gnYO9VUj6I3^*e1HzmG(-}EuI}kI^x;-&fD@G z<74dBEiziPVsMKm zJzX8^2s2Y7lhd>h!y}c}D&>(#*~!o`q#N@_?tAgZb?&SnLp{J#xYZ_U-p#jJ*NCJU zX4rE5;8^0>lc;}5lww}WBb5*FZwYCLf79I^w^h@v*{RWreo%oWQVTM*l=Nc0$$f9$ zm~S@LDf|k3*Nur`%JIaZ$g}(KRokZV!U_DZ5K_~<)V6g|XYWf`dlI~@q7hpwuyh{9 z(`DcmPd9aU+<)%C-azNKRBCD!nod*t#fhXD^HuJXcw@e5{X}ir$-wIg#0d(LtS5Kj(W4JI@_uq3C_8Cd>ZM-e3Sch-k5Ku zcbow{nP{mVM^3x2Fvct7JRnJHnV}G?gFm@hs91AAbuUJJk1?@sWmlZsP*{?Md;a zN|i6WDl|>2__GH5;?HBdSYhl;R;HTU%JnG*BvNv1(S@WF^F;0k^Ts?eeQPc77^muy zXp@`_;%85SAEjs#lNgYqO*~i!PVrz-cjxWOsl!dJ2-%dFZ&xb7RC-=d`zL;E!rz_*KWb53J5s@yqEmbs0=M|`?Cy^1&giaP!&lF?W-6V1 z9h^#2yxBsUF>mC)m^W^7t*^fXcpY;*R-Sfdj^dZ~^_LRIoZT^*{8S_}~t9VoG+ywAC<}9D%--*9HiFPg#RV=E5Q?!adli(MB z#;LbgcGeG0wkAh)cdJfBD6=T(lSnzp;x5vT`6Tz%yfL3_&SnaD5y2Y~@(h<+zOa-Fm+R}y~cvgd^X&1k)1;6<96J+e^oynMnN6o3y(i;m+vIq6!ud>{w zy?Sd%5+vH1zVa_VKLT1~KFfWb_`}-JBlYF6e)v(i(@Fb&#oJ* z@%>5A7V};1C-cU9H@SZb@Kj=D-g~)MKE?Z|633p-c%Mu`{7-pwluwnx)1X6T@H&XO z<82Y=EbB;+VQzV!*jp}zv{y&;sT`gGeQ`O+{Y>6epZF}`>EyCol{fW?HxS02M4u>L zR@&J%7{&RtS4Vjh@Bal_#QT>+&>fe5s^7@Oj3(8~j8DKjqD=O}T}L#~NOf9vtHl{W z+y^K3oD6&OnI;#Acy}XfuAXR(xHIA8--Y(un$@{bx7~U}b`X1v<~L+B^jz{;Tlr6L zIzjRB<;vKwJ8A0TGyMPFM7WM}CZ0bp@O%WitgjPHvi2N(uPii4%>d`!@ zY=#vlkf!}F*^6)|=yJNg!urseyW5@})r}VieDdk6{->~q=C@k@9dW~-RrV6-kPJQy zIv#(A+u#wK|0s)K9o!LRRxXkqmCMVZF)kOmU%{(#c{yJ_HbyJ_>SMH55>`_EuY4cF zxmkx(ZbxG0+Q-(${C_wASZ%k#Z0~*UZgFnm)U2*p%HwGd=Js$8jD?e}aE!<8N2G3; z|LXDPglxpjeL<6b4&$S4pS`y7#BuZ8NKyE~=FE;3_jXx)Zl;~3^5yOVQIW<5>>1fC z;P(1kJb&lo7H79(uuU$5nX`L*75u6frPt|HM$8zFOpIgx3~kb>PXVI)FeX}i2GLN* zF@|&XK=8R(*XuUIUGBJ&^mgys5tMb->%C=<=t&@b!eT zr?bAW9Y!&~jbDfPQyIJgdQ=8CLew4a52u>Dl7sOCyhGa52E7T|V&2RBX5N_hHdp%= z;EB{+p2YXJ;%`r9d{1E$&lB(t^CW)14LZc{Xa7U|-l-~{8il4jI-*Yeeh0M0{FeKj zyfMFRF63RnQ;DhllpKlY?b4?SPZU4)6z<-VUx7@1`=H6w87Je@&gK+;MRLKft9ijh3!B|Iv5=Rn zJNT_+LNB5*o6lzDk?H9;f7t@354(KleQg})l#thor)bZ5n*%G?`W`#R+1QuuYxXe# zw|6J!s(2rT@7^c7`sNVYFtZ$GIAyb0hMO@Sh40RqQb9a8!H9vazRjYIkP zuHSpOGE*GNXl-kBWTG0L@-da7mJa3PRGw-a%4VpEi9G63Ee?J$Q}Xn)Msr|7DpsJt zctUygP4Ar?-7(dg%o&#F_3w{5KZBclVYN?*_TZo+j|tp-j>aD!BCI`~jX%m6bSh05)N!6aOxkJ#Cm`S-7;{V~XMIL$;Ew1L?>`D% zG4JL67;oI?SRel%!0Sn6w<2Y<&V6#OD`6$Q{>drV825!^|@j;L3C_yV-YWh3_&c~j%=!mmE= z{t|KM@v<-Tz2X0lyYun+{>I%l4i6o^+aLTD_}57ROYhY8u^AV-w?R&<^t>K7Sh;#OKWr(xFY*u9>NFgA@Z2%Z<)H;Jc&~^G)vW@y2{J zo3NXK$2cYHW)t>({On2atQ1YWi2*6v#DgDzQ#|-14OoY^rVJD6OWRdoDm}HiKO()D z7jplYS8cBC#WS1xp8&7owYu-^?aO04w#dTF@x*Jc8rCt(fWhnU779x9UnC}_qYZyRU! z(Za8~WK|wsMfflOOAd<{8*0U{x$C*jXP(*;;YBz*_D>fpBLfgWWNpJ>V8EZ ze{?qQ2#PxU4Po`YHGFU5yOq9PYbC;OYbAH4Tz-eU!WuU}tZ=qYVzwFG(RonH+kCUG zri?5Mcka!OGY@Wk9(U|vwCvsD3+Gv4LO<1#j98pSnWmNfva!_}@pW+o4~FWwy;e`; zCy6s$OC4PM2?`oca4^GA%!{8Gb`V*bqVJ^0O3dKO>nULuTMRoxVcq5wXJz2pq`NYn z`@Q2G$av1aU1@crw@MKtq?0yKJn5!g{R=qlN$5|hBVIrcebir2G$?V0bWZi=%V6X?mO)3iuFeg;@Okvk7_6#(>kDE{OSU?_%(_ET-llI zHg#<1u&-n}e_V}8`Xo3m)-asC0GvpunHEcB>CCn&~C!Aw9j*?%d#Op|26>yVC*Cr}G+ig2ATC z3U}`T(Rpy7^BvG>{g!A~J26+^>x({2?!$Q1P8`ZtkF^tpU%j0;oUkgfJM+B`Ua0R< z8rFBoEjo%k`1R2Rz>=8>{f%(M{hDxe=U9qZk`QvxTG=mzms0@}_kDqkvZsI~q05 zb~pU&N$C95Xlgntur!V0$s%xzCok@tCtjf_^P~bxrzf5qO?oj;NcZQ9)OMX}-@p>I87BoNp$94*ShO=zk(`bHac;$GS-l@HaGlSxNB{3Jr$;r>fBkEx0QWf_!8OFTP; zv|^sgeJXFvGqZ<34R{%A%q!ygdniRZux8D`g`^v-oocc*UP@cRsEt z25sdwHUUqh8v35INH^w{+z;T5d8IWrt*M<2Jb^qKC&+i0(^pX${Vp@+4m{t^A+9|M zzNOHLc?ozrFXG{H(hv{3yE>M!Q4T*XbFTzRrzIIXm$YKO$^9T+@y+b;>%iiN_MEK=>B=XeE3`+ca%k(D=7-8;fb>)*Um?BgIx7>b>6R~_a(9`c8)N4%JUu!! zzN=C;`wP$uiUdiL=?6nkTqbgJGIOadurew9>SZ!W9F@sBzUPH9Se@3a!lp4Qk!(_YgE7lq6eudnduKW=2N$xKX--q(mU82%; zui$?>vdgmX_a)hUDtDWWX|7hhn@iaZgU6nPo*U}HKaY1R!-tWk%J2{_q&*<{Z;k94 z-svpd%H=nm@Yqk;Z6*Dc} z^y|L=P#p>yDD7TRmkM>#%2%|{_jhP8lr7dQ4t1LDa0$k}37(;v1dDVy?zn4io5mn8 zta*qh+;125q=qu?R^NdFK(l}kytjU+;;ZWLyU4f^d z;Xd%%yx2cg9wd`jlb&RoPcCs7=h)i_ z#$DTDjgu@ZcjiF1IzS}D-03mJs;xWX(!wpsyzrTOA+urJh*DasS(I_Y*Y+7V52G@J zPmOD#)1Jj`9 z>@PqYo~Vo-OWG={`+yH9hZmPkLOM4W`$q9z7~E(Sy_F3 z0{B!`PYmBD@ipD-$^5TT9Mw&FAo`PHUdYwe>E`gZ*~w9rr|Oe*v!{T^o_4xfJslNV z4ceApDyyfGj>_t}gj|_LqiJ!|p&{#rqpbTf9Gc?t$rJ zP9IDTW|BT_`F%8fAW0|tK$XR_p)W2Axu45>NMmmH9KL$2?<@R@`eJR{^9ZZ@@_fG6 zhPLem{7+K5-@4*-v0c~>>+*4?W|^sP_N2Dr44^M;i)MjxQno zxE$qvDQ{|Rr|_$no)j{=9ui$@*9P68;k7A#Y-?JutwmTb{ooNj_UdX=V zmEf?aU0at-L&cHuXu}JY#lMo4%HmyfJGQyWb>5xTgDy3Ah=Fa>_3LetMde>*awBxa zWg_>hc~vGi@zrB>tMIG$Q-xnqUe-^&20SXS*M{%w`1*3|%3ja^D*0AsUY{uXDPLxO z#!Y7wXdYgD)EmHIPrGufrJ*vb0^9O!-cfHP4VBm386RkUu7kN|S6)+N*OWV?7|Sgsd@Tjcb9=`A3>usvKvUl=7 zCcj)xS2g!WZDzOMkK_u^`oH;_Ee+#L@o*kx_bzbSldyld!#q?SdpEdMW)GQrVC|j6 zVmNgqTFRqM86HocraRl>c?6ZE+)j?ef0gUMLuXvBa=(}NkjDJ%J$&_8xfXs!*;)Vg zKEkT(-p}{zp8W!8m6zh&+aR@>9PB&l(>Ld;ul%4C%fznQyE2)dFr) zj*_Dfk(T7>c7xHZJbT*dqWi%s4!8GilQ;4CZ{k0nj>7OSZ-@m9&OS; ziu#IL!QupKYFOz;;rgDFUH?BukriEWoZr0|0 zl{hN5ukp2WLBG!b1U>m!f!UOaX;e|0d;bRE?P*uvQuxI71iWp&#rJQLmiT_o+yfhD z7e>s(wdTs%BknIi8;Vr7z6CvTImrEO-nbmhR^vOs_m_;xc3dB9eEnVG+S885`^7D0 z?=L``Jc{SvBW>|~)!YM{hhj*PvbCy0+oUWxpR?d^gW_8~DZdtp-mnNHn)5&J0tJe3W#Je(zc<4T?r*K3{r28(&w$4sm zHN36KbyAW^o16Y6G}zN_ykDnLf>(pKEpy4+uSiGo_VT$0wm$8eaOqlHa$mn3h1rI> zUt2mPN56rNSdQfWEpJ@6t(*(LqMWUby_GmB=iB(&8t3o$-;Q1@L+cZ@&a5@g-xJ54 zc5OgAoOu^_06b7x{DCx87DvrJ;JVLT((KO4l@1>B|tjzOP6UCqajY7^sE<@4Xr z7MG9Q|I2$wV_x<@eDzrQ6n=HRrtmAu&h(l;fk$Qc=kWat-y4En^H=`YGZgEksWqkg z`jO_|s_RG0y}89plLgk3YU@V}E9*zHx&0e7*|Vt4xFSJwsHB~hjpX9*q$9cb*xUn_ zi`32)NUDI_$c4=<#O=OhVb1EZEXdu(tGR^+Up*!ZgSdH+<)X??K@^pYN8?&fkgub!Nme<@prr3iYUz zuh-?om#g2YdAmBn_#_MD+oL&;g%v$P<$VaUb`-SPv)?wTT&_+HPvog>c}w2zMp}}$ zCn9fKNxy@6O~2?~JKVhv?yXGA^!8?MZ_wRIGnOH_kLHc_0-M9Q2k<)PxIUNnz$*`$ z!&po_dlG$p0;Q^I9h}O8_;ye5i*I`oxDMxor?Etv#FPpwO`~{n9Js}kvpQd23I;{=n-k3NRjp{e zwNcG8L4o7Zy-7djk=)1g#ymPc@aR6k+a@078D&>`0^#gQ@T)Bf*YFz!NlW~D zC-&^>cRHwxh4B{~*2|)m_G-tw`;m6cJGoEfP1VVhfTyv?^%8=lE7N`|FRGI#6VIMR zoos_roJ@PA@*+OopLE2>yHPhgy) zxzFZ}d1dG6oCCau8rc%9s;A5Gwvc+dw<@!*4<%gFBW zVeBHdS1%o`gHvg$KJ}Ak%n!L&^2Y6w?R#4VypB0;le}%3=?JR{Z%?8fjXZ z;@1V>7r*X;%xJB;gZ3O|?b zya;#&aWqDlXGu$-y-CtXl|-A3ZslaQ?{O3$-Wp3?M-Uz@-!e*KDi*kS*+ zhZ7!$caBU=@2F~^NuPAu;@xJ_j(I2d7Ty%^E(V@NAC0L(2xk>wdcq~dvnRp3G)i$W z>66Zj_;@Mlh>tg-uXfnyaSzy7YqEL=N)4J$Q~Y}fX~z7M`*Pk?-FztU8tSOey8?fE z5_Pj4RXnOe)3k~|!{8Tx7Qmkl$2ipcT4P^{gkL2FL8}rE4 z%f^9M5Jx}^KV9Uk41D|+{nb9k-cu8L40Pp&L;J1pK87E!baS4~ZU+-wHVB<@%xO5ugc2O0kChDVAsxxkL*P+|ZBxpks{%`> zC%*3`y_oNEU&|Y}+oqR49C!tBKL7Fv{On1z+0|&OR~1;AM)Bm4;1*9lO0 z?1JYS?D5p)mI<#!>TcZfDAJDkBlkYum_Ih|eKhbk3A?!h>79=uj6DfHwTUivrM*&g zi)W7|9r5hlRE7@aXm)Z(t94ab_pHDYsUf$qjZt+i?s3o&^H1(4@XE&M@qG1Iy)OLf zYb=Fd-R`sSE82r4VJ-cMqyY=ECx!2m!}lqCy&Y0__Ei2?G8*+K?u4w|%^qKOiebFY zGCvFE>XH6;C>qXab6m}_>#w!e@-))1XF*nLL#iaG&?~Ss|5e^k2e-=mGw3uO?mfk5 ze|md!Mkl1Y{Tr2%Z|9q)L2b!1p&>47xu3-w*A<(mya9N70{mVA)t7%EoIQ#9(jJB5 z-ht&oe0(88M^k5V9Z4x3=I3soESD*nfEAopu|wJ+o~eD#=as(4oKig0tX*N1R*zoJf>oyhA5 zt2+6H@O>lSD}r7s{DofHmAwgfo9sH-Q+U%$3wzj!k-eC^4v%qt*yI=+Z!>30J`bJs z%`Uv+$i}_XQgB*p8!{4H4|?lcNK5kh5z^{V-(Y;IIl;1ER)L8WU7Ptf(u>Pc?zi*C zeT~fpz5{p_ugz(xk9jBl_9Xh4T2xiuDlkQ->g~J0ExzpRd>k#*^viX=#K2T~lJ9>b zy_hd@|2uDrFYf_fON{bV`H3&@#owMbe2GcQCv;f#yaQA^oS};nJpDq zBDK)|e}MF2zR3MS-njj@`ds)G_1XH^4-rT8`NMoQXQT1tNBCbMBaqG;_|@z0*9c2ivaj>?`~Mo*H~3#8 zFB;3CacRLn-_yl?45f4X=W~ig>#A|Keff1;?cMxlphtg-)f+xipVdF8>LB zmCJRV>(Sb~#7R5NvGGcUPkAI#cKz$^Ap#xW1dL7JhYE{Sk2_ zt3T#znl5-s~l~)?T}@@ zR)MMX#MhsZUd&gyf6g1rp6PtQ0A9r#>wLe&-=2ir)uM_oRbYxv@#RMNO>!sblI#pG0wOO)b{X^gnL9)ai-Bi{kJ_&fbEG0vKBn`>X z-$F-V$dlL0B9bN27`lRU=&yFS? z@$4pe)}ifcbqyhMr_+&aEhe3qKXTubSF%+-KmHit5mKk~NbeAIm`lx7H$|)J;JpZI zPfDgL>m3o=G_B%E4>-k>6W~dQeVuC{%Jr@cN~Gr6^ChGe^F{9Ccw@P-zHTY-GFE?2 zgXHDj_}Pb~To zHhW(uiRBZc9!nS4bnzJxpf~@YXDyWn@oib)+YjmQY%N4E)rAxEy}lS5$bAy8>cWY9 z_1L(f@T-p-P9`kHlHH%L^hw$2D2<#-vY@%uQ({<7xo@i#-p0EsU)kxL>R^H=?R0YV z1uDr?9o&vLr-5HG^#gd*Vg0JFT$Uh-ltR0F25H5-mitWJxKA^?!Lxvu(3a+}ynVRn zRlD;5!rGH)cgkqQo)RQYujJ-z@QOG84R1PJqukYUhsLscwQYpM2Fj(<&ND#)<6pZ2 zj@xm`yRV1Xn}`2ceNB!t|D`&pJK^lkx(7mYt!}kTIJrRCE^vZM(iWf24Sf1O6~OA3 zV5(os^^NM6+~@PE%+KSiXLYDAieu}C8jtnjZbyyjgo@*1`E|lB>P%n2E1!fsv_&b= zXy=*8z03Ow(vpnaOx`;ke|Xt&GF%prAT?#5M9QH)tt9Q3w{oxIjq8)?h^v7o(I@Ja z@}YWl0ded}@G*@}OicQu^C9_JLptK&2hguO)O%PVF0(EMBvNwy`-P+v^Gogr^QQXu zwZLPXrst@CAH>g|ME_ojCU(St6m8_!{Pg|@Ezf6_K;ioU&>CY z&2y$9`CRTDv4@l%B74YD(y=FD4_PKbMOuQSd93mr1Fy>SgOq2dZ3A;f7}Auglbe9o z98}dKk+N$qw~=mKwsLRhjb+~2h8@6DxZ}2AoG|tz7iO%mQzpLd@4d9B29|U(#`Q6W5-Ej#&y{Gt%n1z;#K|C9IN`R zN8oQyqW;#RibGXkicaz6k>D0zUex)VG{z$}Tb~Lnky_}t9z}XFU*z7$8}r5HdL9kD zg4oTQizko4&z=NNs?o%f3M@^dc=A|qizmM)fez>Cb$L(Cu%`-4r0ClF$B|yl6S*JH z8;>V!p8g5It9T_V#X1?;WVz8@787Jh_3eqovnNsCYAD69DlkRA`1K@ki(lu{Zgt47 zU9(#!#z)JIRRxwvEy&PQNH6A>+)w3A$;e@)-Oy5SA$*ADbw zI=rE8W1rJD+xYeNx;Y=U6-ykd(XE?kxUBsUjQh6ttezO*7%tzYXzh>l19z{whRNj( zEh_Ea4P08~XoAef%Oc)jpLU06Qr=$(5A?(0; zKJ4lw@436DfBo9^8wdM_`qvDtAL`q9!Kxw0`J@kgpP~+m?`JP0A#Om|+@h5OcYf{Z z8`aIOUT0Ds53Q7gVBAHwb)75-LwhgSLSQRLW=0Hl4)_;k4uTnu?hwctZy-d;~3)q!hzdvm7S#WtTIAF_s7D8yuA0W zlD)~{k%@7xXP$QB!n+WPGxdi@#>S?c^>dW(LlwU{gYC5D>$ApNqdYEPEhLq`^6@sp zeSoyy0q!<)UKg%kv3|vctNMqA`L}7+(D1;z)vl-q*01xmYkwigsrd5_((z{r`#h_x zvj0Qdo50ywRC)hT-|i$W1nr3dBSdXNLu;?vDF9Iv}pNyx(6{o#&~$1$^KC|K`(qp6Ar5 zQ&p#`PMtb+sw(Ln-?wXgu7|0w<`_yJwJZ0&DDRBTN1}ee(pNeE4VvdtUri_a`ubnm zh4SP2%%ijSX)Rb4&PIXRA&Tiee;OeQB3P45()$|c$G zp{QIdUAyZk40N>*c^Rd47{1||^88`&zd)X!4!!egwyV;>VE^_~zHhjDXINX^ErU>NtBs!lVAENo>Q0I53(g_s&ZWu+PiE~CTFpf92l4yS(uoa+gAwZ{;Q3s z{(SlVjjgd{s)GYpm#nCH(b>=<%^wG;P9E&)mOp4nf#nX+qZH1waDbkar<7L-Rh; zQ``9=bk2nly*bK5`laK1xoYbzC7l3NY~Px19~`7q+w+A&mrJBpfU7UfJ5>(Y#m{Mr zPDZ|x`s04E+2QHE(=!LWj6Bx0F^)N*Z76+>0Y8n($yu#`cls*h&!D09(gNdD#+!m( ztoO?|`SK2uUQ(?im-;#fcMc4dio*i~{ewgKu2N6FZ`)9J7(40)yRuixj^4>>h67!w zn(1zm9law5tKgCy2)?;-=e?2POLlbmC6P3a@~*MuR}rsd$NqoGyZH8N=)C|v?TLYJ z|8q9HI_&)_boY|J?*eB<(vS=xll7C&MP=A;AL7GUV{TC#yD#A$;%-<{oiwZ>iR8C@ zo6m;PmJQ=~!1b#R%hna#zBq{d9^6Krf8eS56&FNGbwJzf31%&X?d^SS}k<+HKj zUczR$q-lg9^#WiIgd-13hW!s+_(Iyv(aFiVKZB>=UwAgvpr%QCRT{K#wUNIP=V!>? ze}Gw{SECOxwJG)Hy9({4p`8Qy&~qw)uD?j{deNy~?`oxK$&V?M9bM!5Cr8JJbd7eT z$2Xx9GwCmIF=?kR+P1I;=7G&wn9G~wNe;OEPGR-w{^xD^agD@18{K6xmn3R4S>C2b z=ZllOr@27cbeDA`!nis*9~1z~m*9+}!e`>_`?bcQm4bB^UGYR$uol4zTxLwM1p7H@ zbEf|2e13Y&`8$NOu0``)!MBZYV)dZYhb(XBr|@m~dU-i3{I(R{q0!vyt@P6_!MD=D z+|~%+Mo@`z%Obw@l&0!-dXDG z?;FbR@TzdB5=w5(=5T;IT7p&!rF_*m%$*v1e5;Jl1y}u%x}di zyk{Dnb!ZY3g5h(I{ekk3yXm)H7k_Y6Cyd>-^L`)YQk|`aj^;WiA^`0Sed%xyT;qAH zvgq4vJj(NmWO;I2;P*q0%yif%nssy&xj!lxty!VyWu?dz;H)u*aaroRd zIW@VUO`y?Sw4ehSCKnD3&5ewreDBV}Rwjjg3=xc1?r7#z{)ne7N&6U^G?~_nOclpR z7w4cLL2EKtzLF=vgUUjftW(%(dV<=+ilimCmT&vf9%}N*H;0-*j_+y@4};F7bl{_y z@TotUjIg=DBM2|o?Q=;hFyWr4=TegPmlIuvX!2nusdn883}0FH9{6^y??zTlc8B@B z;>eeF_jHCMej#@z&)S^vwmIpUiN9ASy^~`Al*UQmEBu@-2|k1JLr8KbkvIFfxnEa4 zodfZjmVZ5Xn(u9-&8tj($TO8m?`s~Fy+892+57P)XYZ$P%-#p0_g|mo;hKw9%ca8h z$?*gIyRI4^UD)huDF(Q_X+C$vc$LwJC7o~^u}mjCBh*i3e{Dz#vQ<#FGeg)$^hL%b zCtp?1>id5s@3KAUZxeX>+svQpMR7MO?%_;7)%ONriwV?&(ku!iJN(3@@EDth|+4UMN7zcD#KDu-}Xjx;Xm zD-Rde%zI;UQ5v_w@yhC>9ry<5n2z2N;-gC?R(9#=ogu#RRUTHYqj!NT9X-#}>PBfO z?lxd4U0Q|F{V=jmI{G~A-gNY{!ClE$*WAbf$sFm==K>STw(*6|nW>q%A~s&Z&jXIg zNEoZeQM?@PZIXdY*?Nby zH}!>HaK+n4>lw9sefRUHHIP1@`l$~JZgqYs?{S?E@@@5M@m1%=5WhOCy3U8dRh zw0v2eUj{6tOD>GA?ER{9wFj&70p8d1MIErDB+dA4cb4XM;1LHm`}WY-umgByJsjod zK+fj2jC$DV=(Ej#+Fsa|T^6wsYDyrE3y`?@eF zZAZPGiY%XE$U$oE&@s8509=u?`LoqnE|J8jI#at-mkr(6f|w#3ev zeVnE=KIbgmkq#0po*0azH(Uw->gf#%TZ!IaI_6qxds@?2G#63lOwH78tTx}86wB@& zI}zCWq>D8iwL^I@`A+(`&TuwMc>*8}-!M_OcLj&5JLEASP ztCJ2^6Ux(OxI>l~_KoZwS76$9XdAv2v`?Y0Ib&K%XMLiHZWdte;}p-EerGzN%@q%E zTFE|RlFx^Dy2114KJiZX^jzkQilw#D)2JD?$;T@$?wT*lfyLeIR|1zqo=>a1{M1zWu-dfbS6)iyRN$?fP zWlVR+J4aX)%TJ41|9(!VWjlh7Ct1dx$Ru}=JlPLF-def$ji6Qtn6jM z>Ofn0EQ&yVmanPw%p727wy{BNRCDm%dmQjC=^4)=@0Em2-Y85Xs_Gn;@Vj(zWX#9i zjGnbDX<2?9IMi)f{#B_%<)DkTjl?^#?JV|`9GKej_9cS#1S&ApH~_QU7o|2lp3ffqqbYmk3~a2-2rv3qNw zC*MEd9TL2`xl{q9G$9 zmC5Xot<%#jWcTz#Mvx=Y6;~w_?bCmgx#>lF4mzBeQ!L`g^r% zCf>BcyR~>@7oAnj>rjHVCgX=<*fp#_ua|$DI}X~fKgh4+)e(<+G`^MR*haZ>DCH23 zUPD~1KkSg~f=A1PoU3E6DlW2ywp;!tZs9BabnQ#=UnjmC&TKIHem#F$2Yn0q*H3fe zW}aDCHYb*x7u@9hn|R-_q`dic&>Q%+Ikm;teEZG7^{WocXxlpIjo@m&{T7~S8%_@teWX@9jL9i)R#S)P?Hy9l}F){ARr`=gE<8+Fx3MEvd|2 zuF*C4?Qrc;@3~~BTaU`|`tFdfFpy`R{r!W%v%$T(x>tJt0^YT>d+D6w>)Rs#kPE|F zlI-0zWV9q$ac6NT-|Loi3dNy9XIKrb8I-oS_mQT`abuW!OE$rE<}Q9_V)l6TGlk_6 zn`LBkrfj~pZ+40qZgF95anvnWW;o5sFjjEUWd$he&nwH|9fuZzf8{#TYH?v*lk+I^ zah%m@9H&R6a{$FzQy%6C1{tgHwJFW&xUJ}M3nQ9RmZ!JA3|^i`=5rxVbv~J!g|O(x{7|{&nsY^XnLL*97{hkt&I2K@y50` z>PX?aq%xe9#hJxj(!&(qSQYMPWQ>!2GYgXwhrqkgoqdqxG^T!-@|A`L+xv>`o#~2a zUYWjZOEsKKlMnIb--#z(>pJP7l;eg@UyhBTzn|xny2AYYA|flaFTt=;Ff|>S@>U=D zcWO@=zL-&c;Xl(U|M)_&IGi7pep6s>hvR5Re$dxh-Qcv|{sVeix7;efG4l7jU>DT; zlh*mX>izY>7gO)MBYARijw-&aAOsC)E zQt>|<;>*4s>wa!#6?i6@g6?EOC7u5-Ps-QLUWBg@Ys#a$s9&SC-szG4AYQBmW$TNl zL}C3C6Z4qr(|D&xVR2sGOxZUj2S#b!?uc4vTq2(;e=~LXdCFtIEt2C$D8Jg!7r^g@ z=5J{L;>RZ_gYo>A(Ol=Y;72K($3^REyMxRZ{QDcTxL?OF#^^jfs`q!mOu@~jr*VX) zz;|L&|b>h=OsP|5x}Lj zD)2z{lq3W0oE*_=pp17%Wke5)qSmIReE)_x8V9c3BKu=4-K&5j!(9I0=+vT|v^)JC zTt~2G2)R`Gf2(pH_BwMjIo0>?_){Mphfn&Mo}Yy^Bx^c+nD{2R@$HYiZ&(s+^qqC&LpB;4lr`Qeuk5ub zY!9+zXtkT4@7@JOd1{264}y;UBtx8c^Z!Mj#NQTZNx%6ZOsS)PjA8|um>EA9{HfAU zN_F>LwkJXS)%w&ytsA((-s=zlgp6*&KI@L;QdlV0VPxm>q=)&2RC2E~JP``3SjnFp zMQ+AXf)1lJRwojw16uHKdd3H+r8OzcuUD!ZvNt?9;?vrOQkrouh0;$~4)J0&_>X`O zZ->eC>L0nd9X)dE&eCvE25`SSz*Fq39q8z*Z5;=Fwab^4)qnZAfZBxo{3?C=6S52!qu|&R!G`9!7c(=T8LH4$fp8Hd*!5 zXx^}_J%dl7ND8O64Y1I~y*@>Ed0?20Inzod6gJs7C0nY}UQa&a@lf9<^C!F4BYEm) z<6#z-jaeEG1-J3=RNgl%iMAgPH}Gv^p2gRAcv?i8?v-R=8EvzBoer+X!$+ zJp))8ms}X#{WZqJM}e#H5Z|KRbc*r0p^>@W!I$V1!ZZdd3@NmKJcMcN+elb7hyA#> ziLiS1FV&UCy)(hlZ!=HEy~x$_qmoQpITnu`aXv=r2l+>z0arBcNUh_iRxQ$tMA7WH?HsV__q4C_^R*60oSiO zETe7peLlFV?+bXUzD39C`yyZ|U2S7!3ab0xtZTzY^7|N|#(1-OEGYQ#~b=Pki4BF6tRPp28D7G*oydUiT0dbIG@2-@p0@tK|0z z@q56pBgogQ9~}J#c$V|~$o)b6>r%ym?=O9nFW>D!pR6rsS)=I6cMNaq?(e@uJHTCi zRsvm}idRF>K5EI^;B1U#r^(omJ4!bjcNud6Oj|QK2%SM$_+$&)%an6eQu`B3I?u{P zE2Jatyl26rBXSOamSx=jAFX3=4?H1=vA!~k_46&BTt?iJN&M3YX7wve*WF}<1C8@U z5BYiVW5x5?)CTl1Y%2IF?3tX$e#+@)qkglS%e(Tq+MQI>k6%`18)|2+zJ~nI9@0{t zKl4ERS2=b@C_*V22@wEHj#&)}rHA@J)b*auTvK+tj50cl1zb*DuEQ+hedcx6;Z zotIHX*Hu>ycqr!x@ioW)JU*ng=gOt6!#zEvfuX_D4mKW_hT1z=w(wMIg+Nz)8HKKR zv@4X!&+P}tCkkUjGtPl4v%xB?DG9)#8HZ$T)|b1FZE_y0_OuCS+?B}=c3u}#{|iXu z#v@)Zm#LMzBj#J}cLExRsrRQqQ04erw0Hh7q-*v5^59b^`;BbeO%1*6J4%=L_vM+% z;oK_Nr;`+>?aPA&=Mtpz#aFnxQ=8sPdS-JogZ$+

    {6GcTE|VR);D1>@;gD#H{s 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 diff --git a/scripts/windows/installer/WiXSDK/vs2013/lib/x86/deputil.lib b/scripts/windows/installer/WiXSDK/vs2013/lib/x86/deputil.lib deleted file mode 100644 index cd372adf78e787e78bec7e83bae009c9b02a94e5..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 1249172 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 z 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 z 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

    8xWiciGefOpqb1rF9dmN0%U$~Z}_$8suhhKE^z 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 ~NB8bhpa6nh7jMORMJ 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

    %4@Ir3w^4WPo$B+j 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

    )04 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%0A2UK*wRedpMLdfYH-%*l|dG`ebn87Vp)8 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 z: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�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

    ;8YGOGX5%G0|tftB(luD>9U?}TK!o+ZJ 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 z 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

    Qt4qt8$b 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

    v4 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�)7U2eufH+ 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 z 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 z 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⋙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≧nRLK|$x(SjonWpWYl2#M=OaLSkk zqWwyJ3Y+Yq%%`a`{}1YHWmVd^)UhqqqWzy_xCiwy8j->kINETu<7mb4*{9g%1bgts z@z=*YK90p7+46S0A3G(Z{jBcv{m7<~@l0E8gR4wkVK;`pYL~~KVZ_pPO2FMU62XEs z;70HXD)<)&uA_jU+9LPaiVH8`t_wpzTYw|kI1A@;;hTYTneZ*fxfw@{QH}E~L5s%u z3mofkXm^qF#3_6ln23YCJnC`K>G1F1j~5}5RxLt9;rU3e{*N-{EV6~)!SNYBbEW$f z2S&B{LrNYx(U4=B7z%hAhmR{|YMlu`u+pB+1PCD1!Tv)65DSt`3r^Utsx zi&QNY-J$;1PKyvFPfXKb9Pv1Go_~UmS6N240J+?~1vmnDJCN&vs9EvtKl1F)!u4Ii z9N^D^ML<-opH+)5yZy}Ty+G!HYrFEBa{A;q<@9;P?me}F_9f2rdAL)Rh!HP-RVn$P zjM&GZWL_QxG8y?eaCnHUfNy|&!1Zq+E8sgID**3!iVBDVvI5*dRzNI} zsVSgeR5N|D0_c-}x|X!PiceI)G5sHpy$Ni`NL%$8@MPfUKt7WC0(d&`Fp&B97m%gT z9z~WueX{iFlmFw9v=$74-T=9{^~wu4aHskuxnFXTe8^UwydG7j-i63>v;UIDp-^p zj2;+p1#<^R2eP6&W8=(iosz^G+iYIR`1!9MOkhIP%V1(DLYZUgD;;aH9}d!3rp3yy z!;_-;K!>678~53^aBk*g-Q0*}V3q$ngloNF|Fj2(y>T*4OaliZ-mN$Z=L%o8!O8#? zMy5n^Xl=w*q``#V)Pz%ab1Xrk)}1Onz#x$s77e&wjXJnJE1M%%hFYpu;r`rQl{*{_ z1GQ>t)=Iq2SGlyY2IV7v{MP}xcFfaY9K2VfBIX%#Fj5GlYR>`EjH1j%gDwGbP*Ms^ z2V$7$&jg}e{Mo>T!1=)Qf#pC9ApI<}3xT{32P|?>LZ2Lz&?g5a9B#&oEraRv82sK# z@^vWRQEF_e(Aa2GV<%cPwjX}<6-;nryYoO?XKeKMQdN$Vtg2*JRVuzU+^(uLXV!4L zs^-|j?W+0`!pGZ&QcM$76;)(#^IGX_s``JdsQjZ76;)_&^{W3!O_?9Nnxc>Kv)s-G zQcceRQcY8VX8@s^LQN+CsiqTwnLrpGp{7%SR4hDB_CvLe^MEX`X+Wwe)L*G7eNs*7 z^N3xTsL=7^F(rNSf1;9)3M=_Ab~X(wHdQYxFAiqlZzLAO8dp~L4@B>}RM^(UZQMP) zIC!Xz?Ve%^&fx z7=HQ59q#g!Hab*py2QG&cwBzVDk8H;c9bGMGO`D1i z&kaVqgU@-o)ZnjR z;PLo3QO4qLSDq+uS9g_Qs3V_X?iwk7gNWFfkX13`hJPFV( z`F!}~IJ*hHd>qLJYeKg32jP>gn=)sK&_CeZh$BX{7K{OUXy+dzBo0Rs4m!5;fjFpV zx~*Bmxn-Un*$n{CYdEao$%v>&c9iq7Eu33dTSs>LaAj}jOcUeo$C1AkC*iE^951Jc zcFsF%M-5Z%e=x2~RNWVqAm5o z^$Or|z>9z*fUUq(pbyA4y$YBC>;R%`G=2=s1fso)C8$e*)D&KGRL$!`bv;L2F9BW# z`Z6Hn*8|rA+kwz?KjH|wAGjXZ*8rj7{+ks27GMC^cLJe>e)cZVcK`kA`ZwzOaUkVC z3A`Fen+93_cYxOc-veF`WIf*iWDU;7A#DVG(nioHZN!CwMjJt&$MB={B;Pva`wwhH z-LD{{>oQ>@`l?3z07(tXOf(oU6veO;OrY7jvyDYC5RZ}ElY#g>1MLQaO$~z!oWH+; zm=7V+KrDwZA4jsW5oc*2STWK-JOrOK5YNNMijNVKD;k){1A#7t#NkN7LB~{E4a6Q? zTf^-Jf*pZ1+-@NLXbZO+2r7wvQ%0tVY4`_@Sv?sD@$`{{0p4A^{~II0NAcg+NHC9f zBe4aIqz~wK0gnTs;Rz%0D_|O06(kSqnMuFGG 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⁣{gQK%;WL*%wq${k(oTfydoF)`SgR=V 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

    X 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

    8+ib0K(` zszsrX=eN*-z=nFo-fjGRJqtOg45|QP3ssjxU+|rTN7s6}g4dKjAiAd^4{V4Y>&bzn#Fk+7_9$o|!Icj9N6Hhq8kGP<=25=Trm#bZNKX$3ZlTcBJe634cO6h&L>? z98uO~D60i(e^rvxCvoH1;A>APCVATw{(u0VZ>^b5iz+|*C7}rOM@|(&eR2sutuDUwQ+C33SP9=?o2xx*;Ab>_GJNr~E19*`0&gqE%nH7@z<(AA`>1 z#~N%grgWcFZBmliNT?#;mA&OStDbH%rZ0L<*;8nPw#|afA#56aZ$;+=wyLV+0suAZ zkhU1jI^>6*c@S7@so04Dn}()q1)uiYRa@3pZ}so6uMJJlFAfm}U`M3}UyX!C$`Ax~ z2n;|zNcjby&{jiNFSB)}DLe`_hEOyZ`mVm-2*L=u^E`N{ePAI)3L>+dB(irD>KS<( zJ6aPx6)K?J-W+*rumv;&%h9mqT1KV<)LtLp>zoRv&kVJk^t-@8sB8nPc%ck^_h%mmkmki zTH{j?XZi?djD9{o7ENxE&8oMcmp|++bi~$&V9+aZ1rM5DNw6sT{c++j!t0rl7VB`& z4oid|)KY@g6iluvkcof1Ut21Jk4q0E_L`{lE`yE8{rfa>lMo}VeFRCnuV@EpLzP-+ zNVmRLuWlZCs@dP8AxSwS5Tur2C%9IZ_YE!H_2RpEQI2mokAzqelf>&oEx#=Ubu_jz zHIzbc4OH*)i#-x-jP6e*Zn<1Qh`r_l@ASYhw?samK>Dp(u*`a8O$*(}TM+!wQ*}#) zjY)Y}!lc77U^oFn0fj!(qcKTI8G}noi541HThge8A+4?XvaQAYWniRV9gH=$WepOHOPQEe}R{P>uFF-a?hw%HmdPB|s7 z==%z08Se&$i8S$yPvOm)<1&RG+zDQ1ziLQheKs>4#^B6CaxAvop~FBnzPu_zh!VV0 z{6Fbc;s@_S4z|NRN1SV;haN58z)s|4Vy!iU>8X2iOIOJ~2&Cn`SqG}fm%vKF?VJ3F zJ+h-pkgGW5ItCx^CKNVAV&xTIr%OzzQQ`2NO%TL2-@wcReHfyLdSv-PXdB386E1lu z+JV1LpWo2hEIE9W(5hv=h;cY5CDlU4)f7+ykRjPU!Ij^XnpoWR?o0`2ib4;Jjnb4# zka?vi=uBMsf4sd1xL#RVw;!5-C`fOjBO(^sOlF2o;It%XavC}3q#+za<}eeDx2+~9lQJSEFL($QOJ@4NojHJRjH zYwfkyUh7#;FBQ^j2`+4`tNY^WT1g{*&4me>-6!yF@TT|qxpu+iR>j`ADbEeTw&StA zuP0DtML)Q}-f#8VyJ41Bln~SMyca zd5O~LvE6S2^>eW*AkRxObV5|O#szKe3NHen+$&Ob?8N|O&Jp>vr!y_jZ*D5}E7%ID~4tY}*vZr?kh-gE_1fL_5#F`Ks@G}WYf#@ zqq?rJ#+7!%xBQYz*hqW){wLDqVJ5IAC%HFr@>e5{6zj65NjogGlwD!e9>_Ju z9C1OI**7yq8X$pSB5J(zki}~8gH@~4KSSu(+d%Q`0?{xq2Tsx|Pa?K#S&b*7$8*3v z8B^j>_;91QHk^PyvmoXQ^_A4T17=hrYym!j?lbW8?aHc&;lKu}zv8I>7~VX(tfsb# zN~;W9UdGROuZtt*c%UsTvw6OModXyaeZ*niHf0C!$UkaQAtR^MsS(nGeRq zPdL64Gd3?*y5tnl3nuj-`W~#sQ2%HcXeb0WZl`=D=%{CWkU^2UZgu}S{eeT5`|>sx zyA)rT(wq5R8$ZjdbSEAcX|7+gv%(uP=`SIXEMI*3)Pb(pb5h3sG zo^8&{X?1+{P|hAd5^V}bS}Du?xSz2wb>gz)rz&t{di~^~0Qjx#i4-(ie$3UMMPIl_ z*p*Uodn#{{??itj`&Fzwkmn{_HF8)qQpV^9nV>6F7SE*{y6d&+a;mrRvC9$pWDs|ui3 z43!$O&wJ%huC2kpP=J9-6$13ci4zAe%S4}{dnu_u@Vwl;pUdV6Ue|3tqe60q5$7&n z$%t`t-j4O7>tyKMy-o`9lj{ZG+rmj)K2Q>u!}y?jHB?Bp?NcnTG@EdG82sla5kyP6 zAbL7T=mSdR@(IIw)D_$KNuKq<_{|sBozVvA9$un2DEKVK`4ea zF<0Lsx0jdeqdXb|M^Ve%xT*6&BnRf#Dv-_zUMWnh|&lwkUEaWYh>NV;U3MNqbpd{PBmMEJ*$J-h0fi5Jo3e?*47aC|T z&+E|p8ygTS$s&ohPJ_nW+Ny5-|X{1lbtwsYM)c@wb@;=m2Yt+k%(1Ov!fnBHsW`&jG_ChSXi(6oAXJy zZ*HXSF7J(W&#oLMIq=a77s%RtXux5)+3(^edgjvDI&rD4%DgdMo&@%23>s5&I7eiW zdsJJE-_tTIizmi=#__|{?x}5C&Su`*e>bC>i^jGH=Rf(~JfYCGEz7y#cQbtXvP-sY znPNFV{N0Wo|Df%Mj!vAoY}=OoO!8y@my?Xo9o)Tb%TF`)t^XfSz5VpjaMs(lOfdUR z|F^SONc0}2xW)g~6ysk$cXSycM`ZR@8N4aHvK2FQKL$^R8+$46S_ZETS;5437VNxPylZ>w`@Ewg{5FiZeB5K2Qf?QbY>>^uxnP!4 z2Tz=$SoOh6;>++Vcs2PFYk*=sUE-$eyyPu^j<>I*||+x8&K`Oa+Y2yISt( zS!pf5p5zhmv!ChmmsTfH#)5p#%^p3~wodKT)#P+jzr|;ad<9;aBB+PoXv>ySZ-C;E zOCb2=ytljwJY)J_Cb|73xa49+ zl4GZ7GBkNVln3Klns*%KmkiJt$WP?he?!#VlrdG*Jm-5?X8Gps&AP^K-SqmUkc#Ew z>xT|M_%Nvs?#q)`_g-(9^gBE`-o0}0cvNZIwmg(6ul4_Q%JFwio<7-qfll|^wmh9z zUg!VUSB@`f`OwM3vJN_6laG7bmIEwl%m0fdAs@pBtZ)*$@cZd5eMAsPAfv6#Y>Qy72;OVA`pII>8%yb!*W;*JM(y@yR@0F1% zIit%q6laxy%9%3!{Jq*3nBADXz0Yf)Q0dYnsCBgCE~OfOB@_aU{&>KryK&EaQf5n1 zrM-!#yGL5X4R&rorL6XoBqDob{C~_%I~3NLNQTh~&DI`4&zR9<>Xv;S3mR1lv9>kL zZCBV@q`V7_4`*&B=N#fJh9ZKCR;G^LU!B$TSENsu4SVquoZ{b@Xn`k-~|;i8gnrDV}Y*nNa^b zmo{|$Tz2TR$RB3IvQb?uaeiWbF(-H z3aWr$G&&@8V6X7vjxNybN51gCQ74vMg#%mBys!&12wa^EtNgmMnC91`*^G-p;}!r( zZ_KxuCCx2RGE+b8hJ1@2K=|mg5O{`?655rRzXCgwWg&)a!<+;TaeoWc> z{x0nUr9`&)Z+*U@BQ5X)U0&H@vW-szK>;0P)SDs7Wo2hx@*p&nj&6Q-aX;{iehy61 zSk~r+Be@Ea`Ip9GlN*S%njX;K`1V0$5z$@Fa7VDm00DOi{wi4M!;UX@Z)$NnQhu~q zVa9cc73+V%A;A&5X9lLN0HAi<_vVF_t+@=*wSKi118<3n!GAYHTUf&iMQZZ}FN@IL z1%nFFPbyT`Y+@9;N6#=9P2#_v>$lBLqMe9NMB4JqcI|ncriI+JkoI5YUJjt5LV#Yx z{gx#yra8vDu&Q4}2(f+49kGD;3A}U|&{|}zQrv9C-?lkV0$qq+wz{J{~bF*VV z?9=fbAQ~GNKWBWtZQO_0>2dy=K|xmb@u4mM0~qH=w3KCLmCOGHF7=u|C{gh}*U6fZ zy*xX(qMgf6E~r|!F_oJjc?FxdNi?P#^DO3Un1I{9w#=VGeTK*5PFK#wZ$X^mR)DO_ zsFW-8(Oad_RG7M61W3KVuR*Um!kL^u5r@O?hl6XBcfcw1?EYC zHRY7y=zGypcXU}%rO4Q9MmA5<0QgKkBv)3ZM!(ha(J|V)3-%UpO&>W(E?2gLDV`l< zlq~LiGSj&);H{jt4e=J@@QnQ!Bo>c@v@m;@n=u4J8$KY|cW=lB&v65)17GNV2BqGJxbxVyCrRu9hvJV(`ZUR z5mVzyhM36}-;fTh>6EpnR{Z+%`U&+kNtVQ$E6zVm#kY~8CJ0gPlFZaKF(a`g;2ZSn zAG)eVa*9YQGCbqQuWqn~?s|wumX(DR5Jb8i3oVn_Sqdm8c7{qo+7-Xdn9`DMqUDT# zjjZRT2iJ~J5-dpPp5nj~LSm#7+HVo>L9J)vgSw|5YV6tK0z7D|)De#36~*H;{g_T@ z4OzPFFVoOvSUV`T=QF5O^=~e9s!#Rw^_B~qFBZ^k`4WT5iDxsH_FS*eJI@F~#ISpN zp8b>^-;L{04)JmhppJjcP#WIg<5|bdKDq7ID03IZ59C0&%4HKi~HoRVraN_v!$%7{p?W0+Fi%SsSb_q3l zq|`6F0=7N<+}sw+I~>+&BQ%kUS>Xn@tdjP1dlY7# z{W1 z{6SiWxz`KTB^#$2zPq5I@bIiK;DW6`)_q=~=*on87kH>)$RBYRMvrh1*;bHVufBfp*LyTGO{IpTq1N7v^M9>ovpgmFzO%+B-dUA5B5b2+!>kB2p?yBVP@>DuyiZWqj^MsTP((rAB5gCzubw? zn1=$?S@Wo)_VzgfBC|@Xjl-#jP zoi^lFIk`+Ay({APon}aTYkKIM$LQsq3Ugg4@aM+WD!k8+o(}M%M~7Mo#ZlY7SCvMEaoMTw`n~u-Otus z1wKNUBuTBov3Ch;pm=84BoyXshCL0k)c~IdGPeZuQ`U*NG@_X55oX9^z3Mnr_sIWRBx0g>@chy z;Sd6DKh=F@U%CpYo9qe5Y(f3sx@Ac#@Ip;i5G%Z%OTBm5N;VZWa(_QfZ9$8U!yke& zLs98(Igjyo0ik+vcETi~oF+raiVkt?UvaE)n(VekNXxrF!c*XN#DXr{v{3R!P-8_m z4UZ=3_Z1egcIDxLqQS4T_P$VDrc#CC<5d$pOx12C!$)+_?&h9zeU3Y8CDk6$qC}s} zElvi(E&1(|pQa&c693v#ZsMZ7ojtVg1_g*f8Ohxux?f;aqbjs(Di}Jz%5lzTmJTF& zQ7?Z;X`mGN)c%jC{%zbzW0_=1b_*8Y;d~<;)?IQr{(|dU@n%7v!r~wySy0Ay9u%p; z{K;Fo*fQEag|jLz0trlc2Svb^&%KYY+rDgZs4`Y>pCF82X|f9?kY%_>mbAfdGFbi2 zphxa(OVVAM_QNWWy-Y2c0UDKXC3j<I$yV-#)0(5lw{=UWQ% zvHGI{wWeIJl$>il+qK4Fs^J8%nVEORRkuK8IPPX4*u4U-ym@go2R2XV6ib5hlOk0O z0NIb*IelHFei(t&^e58=_f3Ti;G4O@J-j?4s+lKtcrlrN$h$y``#~qHK4}g zP8qL>mBsl8r$5A+I@0CFw}YNsZP|xBf*;J7`OzAHrEE;Ts4{+;Tt6NI0-eK(9u?AON{i6L?i03xmz- zhMv=nib?6el8@U=O|eQIw;c=Qz;lYr*xB+kpEz>SG17Kle96MWOV-o(Z%k1brMPtX zFcr*Ow({KP={qBbumXit?(Xpjeyc?tST471#AM(_7*oNO7t^oi`iKV6_Gs|<3@c(RJYC&jrtg_*?-Ls1zxTxxa+rAg2)9lVur;abIUxYU# zDwM5h|Lt2cQ{lrwN-|IOkZN>vfac7^H5xzdP!yEHGh5E5{}Wm4|413Crt@Py##308 z>Po(w25vOmh~fYoZSap+*POF`OKJ(>A3WbLCw1r|nRE9Cicj$gZ2Yib!_3aET7%Vf zkZuSlFDdQ{-qt7rn=Y1nhb>JnQIdL(V95SnUMmi!*)-3QXa7ZXP~F*ESGDHI-F&z5 zv`kBvY*)$cp-{zvr37D}y$C?YmeXrEu%C$TTNP5o0B zJYeXWb8IO&DC#pXOD4a&62qT3zU@HCt>{mw@H~fqFd0Q8j0+<2eh44Jh9cW9aziuF9edHEM{U~CPXpsFgPEHmtC-@~I8w8Z<%sb0@xyJmJT0A-21 z^xCxisH*&vULb7D@44J^ItN`%ndPKJqF2$ui$)#$M1;RhM=*tVHW2f9I7Wtw_fnXq zXH*dKUc>{*Rab-yO^T~|fiG_2NVsR0{bD$CX5v~bg^$;eB^@y1dS#M-C|aZD5K!3%qX~se5T4?48!-hM8C-_v`*KhV`X?}kshmY`&$YEEFe?jB3SevxZ+lM+ z>a#nJ9DC5gBLm;d72Tvl3Kl?CKC-+tQ=uEDy(P%rL?U?opUuo2fgO+b_LPUEMvA3l z$wS|6nGoT{yp1nD|{s0cty1F zm_97oE6;E{Zd^xM)KS1y8>>@Dk3`CFSjilaa3p7a1P>4OS%L~GcNcFWkIv5` z%H#n3bxL{$h)8KWX>HCKvfd{`Ksn{I%(fXt?Lx^#mk(o9@re-4m6-zvCdzUwECp2@ zXTS&_dtQaszYY|Fkg>Qxb&uV-@oz>|xHvmGje?!B*kyZt&_H)qTG2RNUEn)AV?c{8 z9pr>Mobi2 z|0&0wh}-35uE>sl3LNjsHNgR$dnhc#d{6I?*Z%_82DSP21vzduYASd4?ks9FB6f|c zAr&@qEg1Lq#f!^ZJDlNtI^R!G08p`r!m3y;G0{$J!2^308f#B$9=${3&?j)f+Is$- zlkBF12f=H5`P>o-(-*7vMoaPr4bz(tc%t=7n;9tW>~ez8V=+*U27`A3bxR4BOLWdT zd;)?>Q~%YCJvX~iIZKF$Z&*?_<5s_ToQob050xc6$AQxZ-4o5P{cBAbV`PysE}trH zp?DDa)}%FnuyXCZn8Q+>Shz|};`Z+65G!p~c`QiUz7`xLgWY_<%6PBD(ggIyr3T!x z(^g;@ItTH(#-G(~m&E)fv~sA)#K*=%JlpRo@NYbLPkADE-v&UInz7urZz9M8XARDN zU?=2_J3^GL1089Pb7*Ct74~oMt2&WyW?z=lm->Xj&EhS~XXz(+nsp3fe&l4Hz$z*i zMu7h8TR;xx)ex@q6FUcU+?L1T1p6rlv(|_3O!HRv?pg-Z1Nj=L8?I%?%wj4&gsS}r zh);D+NU?X>|U~SKSGPyGDlJj1$Ranb57>|fh=V<`vxzbnjn10mZTzaUdi3u z)bdm`DG_Te`7tOPRC@Jm*aSAJtSF5o6j2>RC%QpC^*UZX@7dT@ z-0a-J%Z{BswS4N>3H0t+KQ1UZDo^Z1LXfq|Hhz|&svGg+T$tKVy1=~=Qa?@ekhhF` zP;f+d>_L|z!B6_CnWKk}U5J-QMLBOjc!-x?mRCLo%nivKXzx9u_wmTmunt;`0sjIO zT9`M4+x6?xFy_zT2EChRAsR%md;qFSUZ--?y*D2gxGk+?mzaJQ#4N?_yw^ZQpD_-3u~I^u zu{^Qcb~(m?#54C5h=qVv3cZbqq~R^_uI?`uoUP&Ez6$M? zS?;T#CF24sGljJtkFBjlGOp%#nO)vkm;3C$SM4HJ-d83g)yTZOlCe#K*pRrxtN6yy zxV~Z%J)S7=S-=bdo|TU+4Cco`k$x0`r6zl-Z7oojg?~4K&>-Eco1K8yIkNX;w;snr zIt#$!eB*hRV;y*mU02Rnc-0=ouz@P8B*fa$VyYfax5Qzlc!FSy`QSiP`r+$Ioikth0IbJ9cmE7>^~Huwov1mu*|_!xNW(7f;MT_|)X#QPf_> z^-I@}Y};}#W_ZhYF~b=izXy;1(RcAU3)s5h-FN5VKm6_<-ter@d5BGn+u*T7r!O(F zjIeMo;C&VLs{%eQ=W-4+l{FznX7Ja6Mk-|!!e41W=O#$rz7w>P3O+53ttwTS*YBEl z^=Ow^mFR|BJxo(>$08ln_Zm$N9NNoTMqQY4Ef<_9G)iSnM@M8m=IxQYQn-+KXua)n zm?K|=vRrVcLAcXamQPGE;g_~Ea_uxQ(aZaD2VV1f&t|m!?sxA{BIygwh;XtjCLYJ# zK-wWt@Z+ZO4?Zgvc9EaqM=bzukKUr<*lP(mEtf0Wz5D<~ zi7?!2=S7`#587r;wR3#^LcCZ{9XoXFNEB2HTcw^A4PR2-`;?(`EZD9 zmV(vDV3tx3>wA4{Q&}V{zlPnhg36FgllUN4^QtuWl#}I-zg!HQksVo;0Q+^M38EDw*^xursO3rU=AJt_Qf-=%K_%-=GhuCU&nGy=9ZX z>H`DX-sh&|jJ{0o;p1zUoLGP87{i_#Wn%F!W>ysf1Ha~~yyVBM&MhwNK=J9W{i|#^;jfr? zs4qe3B>=t8#$oHZS=oDO>>|Dk;#mGlY-Ra#rtQl7;SF}aktGa6C^)9*=K zzy)g&0?{EgAogni2?P1y%}SXF8efAI?z7Zn)s>>WnWw55T+?Q8_%J~{U(aK(0r7!J+)N@Z2f_6Uk+9SRl$Oz`QUe}q#POY z_k7bP+Gy3_=OA-;f+a9NCI^N%TiLBc?wt;c1(z4ftDSo@-H?i@56bt=V02w3AOdou zmxg$)(>{u7f7=Nfdr}BVI#7yx(;qb*Qgsx;y)N!H><;n;!6ZFU0jjiwB)!Kf5k6Wg zf0@a4?kazn=Wx{z2Xy+q zrcCS@ zG+pBULm5Qs$B8nNeGUq?(ThdoaX0uwpk{VrjwKS;A$Gb6s*UD!Sw5GK?!Ih{w{BV& zm}^hrmv7Fu;Z2PV&BBxzDGkG@stFGTL=Y`jf=&I1%b2n+rxbk%y#Qq52CSrhe}+Mi zXZD!By=oMG0XXMFLlLCio!6eTzEiyF-7DbbI9=HNn55)_e!0fwpqW)aEvMQAYAC1% ztL^qN-b4z7LCpcRuHs2)45GEzXul@tjV|3xlhb-JOBz+X`dwc=pDmtS0Vf8Cg|B;r zyL5*KE>`7WsgtxS_>(tl@HKV{O}(My;_1z^Z1Y~u9X|SyaDC^{05=v$a{ql}xhMPr zCk790Ev|v}M7(`xj0k*qr)zLCi|Nf5-N}8aG?TT>+2k*=x=nIi=MMg+2&T*LbTuWC z#%Q{n^3;)U_Y9NfDz2y;3+J+zQ6*X ze%G+ZX94^NB<(PyhBoCgndF(Q6XwR2Tl-1ActgNLXy%X7(>Ve8hL4`h$K|%h%ba>$ z^Vzc>VqCK(CNIK7u)!^8?M#Wyp$?8Eae>_q>8&qh-`Jtqgf2UxPAxxRYZubj1$J%7 z!kU#{m!WW87=?G`Oum=jI}v&Efj2y^qqtp7rFm{dw=-(LQbrbfOPCkzC_2 zOLF0VOLT{wRp~PBAu~W=*Xfqc%E+M6e7PG%^B!LgrtDp zWt$eJ0Ea0lN+~aka9wcIp~fLt_}xrAFiv2IG`Av!k0n|y^>psdo%HF$@ z*dNUHC>V_n*1MZGEMnrle+KjPzrP$vuJG$dGO!40>^gFZG~l)L1BV4tZtQDl7$kHK z;rm@$Ht}T^!e2qx?99XQCpmiX2$_?Q;$K2mpRUP7~-AoMcukq-a<+)9) zzrx)j-#BiTi*)!;;N{UIUcICj6Ll3LNQ6Mrq}A{oh9~qSkC3W2!Dn*dN^H$c zKC^FnPnnnhp6}y!cZC*Fn9T+MKGzTH`H+{H^zq=$o@;1s*RvVPSyplG<~%5kI*yyl z&|NpjbY0l8wUwRI;ff?QPsh&3%32bI&bi++d1l@p<1Ucaw0{7weNUxt6Y)Ll^Dp~c z2ZvpOrrxdd`47N(6o7glfOt?FK6Z4;RgjrpS)=nzp^yn z7(eIM8p{`LFvz+i520`E(DB1$m0EvzMf_e&(^92dF4u*NXaJHyN?z?!s8y8a?O>rs zUG)+4oED%#mOe#tN=k*58bv8D0X>@tdET-Im{5UC)wnYm8qEXZ^Kv`aaz(Vsr1c{lKrP8p0^XB4re)KuKZ>>Uc`4d zhZE>a?i*P@6)V>Vze?B2vT-Zd4~mnw@-(dZAc?po?bFN4m3T3jY=R{<2S_{s%VW!f zxhW$n=Yl8G40QtFjd&44!!)`~H00qdZ{*wfPMRyfF&MWn?e*;$^Np4qe^Y^pfS8Ge z{pKmNzH}YE+j%`--R+XjDhl4$p>Ztn(SWm)e-^X$r2XUtD`DTe{~_^6ooC}!T*Wn9 zUB{>j(~0(5ozKC%hb7j*sL2@*qLu((&BymnRRRPr$gPoD!_!q@N*G(UtFm&3POhb{ zuJ64n4mV14b4-icDR zao0ov_rLDUQhl^3Fkxj~@YiX^(QkH#>GRR%#df!0RxW-2T{yS*SF@$gGaHiz(z?+mt zb0^5Vb|cD3q}?RDCQ18RC3i{P9({1{8m8}^=Ls`}hsy6sTDt8LSk6tXAQxk;I5$#U z?5d0?78M%Q6bg^>8cvYAEW32{!u1PNiXe$nV+jnidK$TQv`7`noUBi-WG?{!Jzw5s z)iG_3dK2@PG&&!3(1#e)E@J~dT#+?=evpoex>-6Gb{FEiGK;~7s6tZK@L>V}_c5s4 zO!~1o=kmBUC`Tg@5ob0HKWw+dqk6B48RFWqJG?~hx+R3`(7azLa%t`f2M)w}Okv<% zPI1PNI+5F-J3`IMuvmbqk*+!!aOwqmC!==mrfwS!!$RHfLNz4LWf+V7O_A?Bv<`u~ zUKR#6nkqz2vcEV&a^P3RR&RxwmTSC?&5yaJ3-x=D_Inj!Ro29^C2Q zy(wVOoVRc~UznJntdzGaFMU;3+9#jq=h$9Bd%yLrg>7C+a}VE_>z|>#Wr^|an6#-O zn@j!2rnwt%!o6)4FdpG8T;3UZ0_mcm`La&q5_lTZNza;?%7ASg%wZow1GO>j|S*}PCL#(IaPh}u~2a2Nf*w)>3zeb<_U7j5hR#JS-PsUNXK`ONiG zhc4c>Wsb?7{lA`U`Ov{52Tu%V6PTak(gm4(%^DKFJN8So&UTp)2EGKs>-``Rs*=Px z$?kC(Lx-nUJW&sExJMnfSFie76_SNhVavki&V<%P(?o&= z^g5w8Q@o)Afhkm2rrJTx4; zqM{r`<9GH!rQiWze-h53!o%xsQh$OC81?+m`SqAdt`mqM0RV379eJeG^HCfH%iPWv z6`)h)5`P02umM5y+TI3Nf=w#^MkfGsPwavBQZ)CIOf_CAR04EcUml9Y8 znTOT6H6u#WDS10|_{HD^Z`z1y-S?c8(LKW-B8cFuYhW_}wiIC{nA{O)>dTf4mas0% z{HouV>CzA(kMqN>G_5U=O!P`c_8G|#7eD9ft8OU5@7 zT3PMD3A^blf)T%muA&R&ui6<{)Zab>n$ejtLj;R~>a>o+$W?i~Z2glTijLn5#VzBA$yv#*6J^Ig z(!I8F@rh#(Oa3w^(;B*oF*M2vCo5Ff==UJhC$RcA^lNlCd<202MnTTy!#*`u3os<_ zGA_RY`i7W$(VTKsm+7goj^6eUqd^O88#lI4KCv0T_bYq|fM_s*_{K>pb&+HvK{7kJYF{>aU?mzYNI2 zS|k|+vVHhBf}$4?+r4?O^4*05#+(~7vB=})88YMo!&qG%=8bi>{JX?d>>hgYBpQ5> za_MSZpQyEZ8ZBMaU*fc`?n-4W6%Ce-m`~jZ5$ub7ZZo@mD2=f2B1ZH>S4E>QpsnS- zobG&B-L*^k4#26^UkVx9?h8ytr;v=MW@eD7K&<&I0H-Y0M(t9}QQq8%aM~7D>JUQ5 zU{Dw4G!d1T_0lb!yXD%h8PM0p(%pDHicZyo3VW-i68xC-Xnk$2>ynyqJGrb;*_@pD55 z3DKq++hznsw)F$nP}$n^3=PDEm$aLqiO?NRf7@Tqa-swq_KYt{QF~ix*LDQC7^uoW z-W<2!)iR;}cwSFj(ZF+GM&j1A0w#Nw+5UYq(`t#cwPMmArcW2brZw)UoQHNxx;h`s zs0cyWEor>KaPxZCh#Dv9eH8}Yj>_Nwp(Dm+dTnlSb><3j@zFcu$WdF7d56f#*WTFI z#tdBcd})8v*84HfL##l`=-DPq&*dK9fJb*wC`>&tOy_dNJ_teI=BB7)S(zj2cu;LH z&h>m(^Ym|-hNCTMz@qNq`x#O&UzAPpm+eQ(($uvM`d;VJFGjwmSQqwX&(Pmmsqw$i z$1HUT-^$&hWgQVIe8b)*EEV7sW%?TJN!>I|)m{MgRXV) zN;oZOYZIsxqhjg$yaNZ@o40mSgWLHpcE@U>y;6a~3}@cFf3~NyVM@n7O@naXQ|V1a zkNC;FVpPL1xoZ5h#&Ch*3JqFI%T!`rS%u}prxT4JlZUhY2Ob|0BzQWmpfV@3H(P2LRRu`rppy$Od3#<~On)7++k-uu8A6)XwM zIw$c9f+_FzEo@#mUpT(8&_d~lTwl}bYkcBBNe*+DoegJgI<$T^G(YseStDo9nU&}qT>GYc zDEQR;Grfc;GTB#V*p5Q*%kciHj0y{Sp`O6eVT<>MB}eS-59ja}Kfy09x8{GHDW z0(u;MJKZ$&$s(Xf=M53R*v*aUioL?Gf%Rkm=#OnFnEO$AE}H25R8{S4*OdnP={FuI z{QayD`ULJYEa{;C~U*6beA< zI^&9*sUMm(cRKvS!d;${P?q;FHFp$h8y-pM`y3>K1U31@Xcmq!$tItDd&VB2Yv8pb z2%o8DOz7xCvYObED}TkhGb109fdACytPaJb0Uk(h1UU*oylb6KL zzdt>*$ov5>9AKWxAt_ed#e<_VX74`8>da<9m#u4) zDxB`vP6uhxQik`yrftYw9|#AL9P&l^NQf8Ke@bzkGRMr$_)KrPBac2__IRvg^9ZiH zbnczF9z%gK z4Z(pG+peXEge`UVoH57cKKs}8<}vjG2R9vvI|=0p?p#?!0g~-{-8mzdheRYhFwVeP z#_||haqD1&@w~p;tSuF0K0!H$N)qyYEKzfid0{Hzv36XFcWwG){g*pTD_u1gNpoD| zMvkN+k+1n>_7(P!NZLO zaw&zyrj+X|!HGb0b(XSpU}-A$G(qpGG!#lBG9mWT&Z)7vXNmsh^hX(e@56Oq+7>W@ z8<$TJ@vK?6{05`TZrSAwM8+N%F6F1J9X0|^Wm&Rzw5%d4M!mNROPd{!D)lfa&#XrpuZVvJcad{7Ompp|Ew5l{! zIEKfW1Vv$B_RXUP3$0Xz`7Rz}^J{g_;~P1m#%(R`(7!%sbQb`%&l}Dx?3vw-71uL) z2Qwfj63RL^0}d{u+s6Ro)dhu(Wt8ZCYHm^KU*F0Th1vpDnsxtVu=b`kVE0CaMq%&G zKG=zAO;;HXz~J|Yr+P$Pi9?iF?Nxbu0uI|X9v0K9GYdm`M-WQH!KoFn!TiMRTr@-g zd(q#hVg!uq$fDv1J~0e)c{#5b(`lR=jHu(!kh*qp18awm9>XWi#l4ULdp2lzF)hb6Tcq2#j{AwhQY}fuAk;vkCG;-MJEAW_+ZTeLjh_0Q5 z^_tpAu<9zpZ;3SyKczkbV2@_dfYbO+3>5X*yJrkBo1cwB|{`vneKni3FB6Si@;f`I6>j-_#JnV#jFTiFPQQ zv7{-JA93_h^&kKn03$Kzryi1@kDfYy>O{MYhnVg=NR-NsYkuAt z3;+_86(}hVbR1QBIZ1p%V#ab#t*6X&9_l+@|?qSp;<_u{d z(=K_M_xecRIpfY@^l?gK^malyRuYh0yl{Zy2uA^7onp%yTc+^$(`U2ho}ZKWJo;+y zA>LtIM)O8ZO=hlt2Rl~=gU%4CYsO`}$67b%dhePKSa5DOrdP$#NUgn`HGa;0n4`A2MMG$N7na|A!*X727D?sxUr;l@`}m|_i`ych4z_ad<6AtqVV9L2I>y^!n-*`=Z|xya-bGC8OMR{ z&}(7JM#_YqUzG_zoo`l)J3HMaWZzmabPiKhuIHu0$JecA7GU|IyrBxLbLDYv3)Hz) zH=}DOj0(aJyl2z;y0bT?0{|OpCBpvS&=+X+X|h*|%xKGY&=7sg^%zmU(qw~-mmS(X zsHABSgu`pouM%W~JEV5DtJ?{!^O{2f)%$5ifu$zQqsm}E9W!4cn%ojb1$&9?p4Y^c zo`glJ@o;_23qL!^*Iitn!Eo(6#JIy)xIaRNvoxaIEu48VC(@^W!I^i1JsoBz+?#E> zs^1Zzl53`(y9*!ATBXcS0V_4uMdq}hTfZ1pb-5#E`y`Cq!o=g=HRBlrC6?c2`pQ{0 z7mQ^ZtYT!EH;eoA&9;USKnfrKb$aAkmI-JTj=#Wfb?9xK{Vbrv?f;zb+@OmR$UZ|) z4{-~8buOQvgJp?In?}rA`Vrq2o=|3-PsR#v(?AWZ`yHIgl{rdwJfCs{ZZTfai_cmm)2|lZL0*6XiaRGv+&g(rZoGL$v9_MmpA#FVG=eC=27d5w z^B~AEfk?|s`@_g5mDB90WP0>dw6e~1A+xKF59y)ROxVbevn+tGSWvyLqp-Q{F4l*BAEY>Do>LiViQNQE_C$n_qn-;B~i+oLx zb>{*TB(-+u!s6@5HN)BsxVy+aK9nhD7mt(2>>-^?p_}p{I6aoOnQAVM6k@jzU|bp@ z7Bl-Q+x2bXrb8J#o2C^fkFht$YOAcikf#*tfbBEeNlF1G2w$ckzL(aHeHeN~cAn{e zx<$}NYM_ZgP4FZJYB`=dW$MD-r0y1>?_xwR>4XbxY!zq-SKEN{JR1enX!;+zTGglR z8^IcY#sBch*~O`P@c94mK|+7G<%7=SgK*%<`EC}A9l*q~ zYn;LqKXMKoTE$T+ObyB~i52eX6QDR^3&0cZ>FsG5MCFrdy}}v97fSS<*=R(h7chRz zi6BhvbOfLurK##j6zdzLqs)}LY2!kZDDM+Ujs)z)S z5p;QLklQO@LT0`H@s^VU{2=ckqkb4R00%O#vWUuZ_u}G8NZ-xrZ(1_AoI;(u#rbAe z_tiILfO@{Rp1q0GF`yvP1QNj;GJ?C%!o3Ous3PsD4r;+qE{uujkqQo8${UEBrg^0v!D`n7oDAU;7w49shgicBnqm`waZ z_R)*dPfz9xua<{{Gr;wQ9VD<L4b^G6w zCi#V-g0WrGLNpTpcRQ%>Cn9#EG$7_ycl*!j9uE$i=v$KC&VZqArvjg}o;TyL7x~Y? zs2x2nV*C~!0zCWCuWFZG!NB6zOM^ds0iGY~vx1o4#6$6}8Fhqqm2b!@g`xz=awVrL ztazSOv{Ez;IBOjNl~Wos;mADvK4Th@LJcb)6^)7T@EW@e$!fQ;wokAmh^q_->9uj@)^XN3$$?iR~c&3fz$c>UOR!8egEUmUogt=>Q(L=aJA3gkt&R#0v zI8Ikg$ZI(J%5*)1hCyP4gntBC9Hx10Nt*^VbOvi22y;Fd@?v@hP*jeA;oBGBAe#%L z948ky-uVW=`QkN9?u!%_i;dEAJj6T$fG7pI1eqt_Ufg&zw63zG^~OY(mxR&KEN14SO!e$nkl7(@qKg*YY)rf7fZU5_C&)-R@crg z1;~AA-k`8LH?VRJT?-=x2y`LV!crc0S7u_7z5gkvUOshV{op0B^4tX;oNX%70E)L} zC06B?{qfI=c6H$f8M2eq1-loccrO;f>At1Pu~H0Vy07`WY&~ptPi8A5B7*!khRhCh zS7P&z+ky_ZQu5^(UPcqqvEa;w8Ipk+6jtAVlNSDO6m&_j(z=)U+LJB8-;skSPwqUt ze&XPXLll$pbFy|uqK?TB0sS1kYcT zg@>8An%;}Pohur$WW4Xmuh}G-Z3`5wK2|Th7Jb@WHIQ+Kf@^e(HM~LRgx2};RpK(HQe*_N9dZjfqP^`J#zBW z^%J_$R2G!H*+|vVKvlo&299sIeO$1MBEa)m6@oW-WQs$s#p9JSD7RFabak6_q(s_? zbaWLOa0IDrdoe)%H@rfr3OXw>!AYiO$a$O&uY~B73-)T>4G+|`O9MpQx0QTd)}tR> z5bE=XP&suDC4$GGxW()EWk)xRGw{$!sUWYTK=-ALP%Kfqr`fObF6q0x$rD@`BGKZI z!$~%FLx}rVC+V2(x?-vFEpR4_{&Xs7`M%FFw3BRg(IQT-OCi>@_y!$$kw4?eVh<~s zU9j%K-D9oenuCRHTkgTr7k=k)8=j={;D-%J;KU5S5f>QWz7EBnK_B@RN&)pn5!@*oDB-t=(d9mg~peGEjv9n zoDv@5v9g2gTOPbxGbS2gcvYOaNfs7FS_J!bArU@t1+AUnLN3XH z0aLN(9rgwHZ^932S$Zo2PiW3pqb8YLuqlMU%yL#oxjhy+o zEYmMRokH>Por`n$RtH->mM+%ccyrUchLk`@L>_lXdWsQn)d*=mae8$QI?U3DKh2sR z?bIk1r>7?Z&vM9b#S{xjK*1?y7O@0?b-FoJxlNMYBo@XI5BGC|t%htv;+Aq9BoQa` zEu*d{V(cwCcoo-oAvgD=yh+dyt@nMj^YwA5c zj41NfUC@6x3+_#C*pa8by+3I92D|;b`?PL9x~3?iEtb3IhQ8@VG+rbOF@iadKL=K+ zTVwxmk9v}8YhMe>Hv*P&4)v_x_ameIqe1(w?ZwJUDG{j$hryvZtK;cdu5K%j1J!QJk#^0k|zIZEVe+ zebb#4$bJ7|zoDoUW`bg)EKj1#-gj`9#TwzLA7qA_AYo`A7@U!ZPPNSCIs70TNwKWp z^5~hNbc1B<;ROY}(T)m^Uiqf9CXIJ+HG*XhATAXnzfAP)FIdl2q0Iz@Dm`USb$@1koBFXom4 zPiXrynwlDVY1h>9UG-5gO+m2+QBAxvLok8(fkR#NH*q`60_y?wAMm1UOVNP8ooDWO z`sh)3_6zTD%B(v5Sc7d@&0850h38N;^&re%`=E|`Xx5TH2G}jHtWKf?M(G%~=2xK9 zU?I{6RGX~tA2HYIsX4OyQIOcX_68clA9wPSTyn5w7YgWJZsROckZaH4+$w(E`NEdc zRAlm6W=VgzY@9LIdIQ5Y{T?I09>gf)*flq0IxOSO+Z>{sS2ChKRky9{^aU^PKfY)D zaX;j2_|7aL@@8?Dqc73d`o-Ns`=hWc_txUwK8M{*uD=Wmz^ctU2*3`T+dI-LB>pCI z$3}_lYtrd-2x-4Q)=}?^bn*SLne*Fq7(suZ2i)%G@IcefZZLPbj`KkqVXZgx3cb(d z=^lse(w^FyF2ICDg`nY^UJk?5(#CI?%Lkv#gBvU?F7b(UOs>xDQqovW=3}E6YhoY# z1^P?1%Huu4WJy0&-r)|r*e2CjEhCl4^{WcxbJLS^Sn{QC7cxdw zJ?4;82Oqw$ei7krl*x-=xoTg}PC}~ZQwI+pT|W{0^IT>+t)~qE59Gacp%XkH?zeh+ zDdcFV!g2z<^|3k?VAaUVCn}lUoq;>2rvm(UbC#ZFu|g7F4dc40%`l63284RxJ6Qo1 zKg0tBUl*5`L7$MCcaH5ve}9n^8^k%pq0EE13oA(2s(b@kE6bDUTwA-u&kCx=t-cY0 zKagx;IN*o!SrXX$foqu_)x_-f${O%0#ED9tCFonQ96VecsInKZhq04G8i6dgpEKNj^OO7?#}1=4gKRiVTM3H?r$55VdKu1Q35><@q8z%0 z@xUnyk*J05f~WMZ-GZqWP|cJhTTS;WPG1b(JU>h#9yIZ7wz#aXy*>60-w6OEr!yLh zxL3(NUH|HAhr{k1!D~0{IUqfkbLph;a)rmZY@K(Mj*UtwgmA+LlgzlF?{@3Q`XEDXXeA;q72E{2SEw1Qp zi0!jGPn|m6Wz31&`gMGL@$#t_Pa^I!L?x=ix~8L1Jr+0-@&{vv+_8{gYAlrQ(?`LY znEVtWJq}ZS5jeiOFBhhc<0?)Q6f#I)6tuveZRu5Ubk!GYtnKO9$`Rru-=e6a4hCfg zxGx`lisvtR(8*JvO-vSE#Q%cdw%jO%i`E}}=om`OoP@#~ERLr|Cg(O!4Gm{YZ~*WB^~21d0AU_zh)V%cdgL(lwbJ()%SP=oQsXo@G;A zEyVDd<+a6$a@Os+Y$YKS&it~g~5Vr~ApikfI?wd!-fm&eMvLSiaC?ml zxdTSs;^bDI>s>)Lh&k3@guTVbHq4Uhm`*VW6)KJo|fB2`abiObKNTShfw!X#*Klx zr=k5b7k%9PDeQcZ&W(4r{C~~*WNPW`+Zx$l1*rGtfdMvxXBh1FZfF}YvuYs))bL2( z+}6f3N0@sL&tgsM;-jjtLLQgH{gl!`ytTE`Z1B1h@4TA{$o1bb9>jjQt?zVN04E;! zm0{tjh#~FX=4!u{A-YFR9XxdLdW6n1>EH#s7dkq2v4C(2E12!C(1Z^oG*xinywjskS@_cbKT5GuF+;rYK2(T`G{MTAQ2X?qtUwPO>?Z_ zYAi3S;}-Yi6mNq=QHMmz!r3AngID;#x#M&EhbistOB9c!j}7L{_Xmv?DHkv$H-Rbt6jW)d?lHS zY6p_pRaYIXCAVKW^`bkN-dYI9JzinZs7oklr!%_7LHxGZYV|IdADz`dp$J& zl=uZ=o-=z_v5?Zjc?P%h+r&lOi!Rr-8n+wQGF#*Kl&94Ch0Qc(L4H{^BpG>N4YsH?EJQL3jR3pPszd>-H3a)!NWMXH` z)%vW0#49FY%wbgy@Z7VCgm+}8oF0mbOMFn3ZrM38w>|kcyf4-x3G(ijBe7!|srUlC zkcK=vRx)qjvxV&PjHoLTOJ^l)F{22(55@wXy$@W%|ehmw~6NX6WqnR1H?AY6y{wv144wn3e5cA30xadvW=+-g~c zrz(`k101@5?f^uQTk}24Fv9a!or`IQ-A{mv4}aL7J|taLHJYDULIi#m|^@?@9HWnzvyvZ*_ufbkwi z8kpFt`Vew;McOC!%|ugLxoiK-S?hM<_Qs2~Muip`-i6os#`rFQ=xoQX7@-mTBS8BZ|+y{yKYKkkkutXJ+zM7Ek60vyrA>R$|l@3oatMf+G|0-4P$>gZ(wxB#Roi-ZYck} z%K8nCRAAJt%=%Qv^yJ3TP*HW}upHo*-8-<9g0I9MPp*|Lk*)&OxtsN*YGF%MCHqIl z8s)Dt)td#hzO#J`Q3#Hb^;#+U2-SC;T(Hs@K0EhF+FHhE=w=ptnX^}L=ERYUj*%1n;!74VTSw-&)bU_LWRlb*K;neynZaew z)jkKjTO4GBkt)GD%mUH5bb6SVIMD{j122x5WYm@nQ^^!B{}7*O=8-ba9d@PRYQ%cz zAMr2EwyxVTE;@C!HRpK8ZDp^|Frd$DZ{k^V$;rdi{98Xcdvx_A?zgkd_M`t-v(1xK z@!&;FHO*9K{qLt*KXKw1Qo#;pxz+!E7Laa|WNyoGA8;dw^_KC@Sw(5YEy@jE@k9ti zP9Z3HxS=P9(6G~Pi{)7^Q}x7`{K$FT(~)O#I}ms1k_y0c=T<^YzX71(slQw~ zr|+H@^|Jnl;Ov!+H?kwH3PyDmJl@UGQzmEXglVDfF0{5H1PkQcO!eD4(SBP;hp}lE zr{>jBu`|G&SG7|giPj9@8pLl2>9=79;4ZgPcfbWpOt3ss_rC z-inTVP3&^49Hyg}bzS^_kt7D*P^kJrbw{sUii6%eDGt zO=T($7=`1N5zbX!)Bbe&Bto%*>sf$RAGM-V><8O~=2?9wECSX`S<;y(Y%cn5 zG9WoZ!wx^6U&Z}hS@4Hw=0_rej@ba8%;PO#K;?@Fqw@=C9ZMlp9tz(Atdok?6htF8 z-3@z;58|vES~r&Hy(|frF~ZEGoO?AWagy@u!Xug%ZqFPKb3_;0TW~4gX=1o`7G+5( zsL@;rYc_vaz@#(3FfjdVuK3jfw-V~r|a<+>ss@1w2LamLdB#0riyN?|^)umUFNBc?%yyQ@} z(192KBJGN#3D!v38S6t2T~ObzF5t>lBU z@D+t8X4$TJaw_!ER5hbH{>mnP4ce#o;K5hg07B;j3scILkFKQS7ZTr{u; zE0%*5rGK3cicl;}$Du)Ok}UC8Y274$Y#BwrrhPM&EOO!2?ivhwZTR3hj0aFA%wxI- zSVF}@ApGk!N@7;eC4`c z%VV=shDL8cc!;b_m!)+Nf30;PJ?UMNz737B-IOtT6K`yyfAnz^%sGCG}@ATqv%3o0H+ z5-o1AZVa}I77fZAWC#obluF*r@go@(mvcsc%mK2nBH3`Y9m$qH-H2xvI!~w2&+EIK zV3*hkwyrHr7TbyvM?=7~b+v6_hTRe9hEXWml32Js=Xz~)Lw1|4?felsc5~QsaP|v? z!vp}X?gs!c+f||h9jL$u-x|43Tzs-@rv`L;GT#PScOMO;%<@Eca(KE`8INx|1_NyK zDee?BR9^Mm|0C#LB1cvuJwX~G_Llrx`o=8A?)ClZu!n{!ykjEwK=|@?iPB8&_T+)c zA^EnCzz}rXC%eN=;5s**mHaDjn_amWCEL-1hmTP68RU~=4lXYmUk*BQ*=eXRblt$p`o%@d*nYiBwG_(pt zht6V@8lBPnKra0aJb>vFMWP;~L1_oLeqdXXR+R>QoiFKLf5u!r>p(h7FZHo>>`qVy z&GzvV^AlggJOe8xw0Qqo`136Mat4nu`cX-|$~TuirEIds4_s&WXk%Y1qzU%)wlIJ% z_ifzyas??B>_Cjf``IN9ew+Hooq8z`shfl?n#Ym5^LlXg7rK^)@cMOXblSU?OWN4C zVP)rR3)mYDYqtDNqhY1^FX3HFEkird2G`Q1p_ak;tt@hSYBGAl7df^o`cih+7upm( zN-6mT{39~bB9g`kEa1%)rv)@erT#%F1EUB^?S+!Qm6gWWRqiERLCABfkRf{e4c^2( zgDE3zfpG}&{RK6HSOnj-t#>~A?C`X|RwLnA_w7H>a;Hf1pXpj<`({=qcZC{+6_`h( zJfdl=oN7;Tw7j0Eg!d)*2UM#jN|zn6K1hGdIsASizlUDQ8VHL5^md_1`0^lOiGGaF z9Y|G%S0(p=2<0%7^$lv+oh#kzk8qtuktE+Q2Xc#sgnkU_hPb$&zfD@npj&*yMSjTC zfnl8}!D}M~g~r_9v3~R>zDlBp1N5V0#dob-QN*5m!~g8{$xeo?gYTkaW|x<7pC4fV zz~z_u{3^CZ6cb`Zyzhuz3OZJT+{1j?g{JbhZGkqvH```Jlkj^1Z3B$KVei<%t1^p6 zKI5vI)_rp3z$_u;-o5EeKJLO5C-WOajZIsQX_~ zKg79VdU#RKo8Zh8n>6|c_P)iaB)=R`UYtuKO@GavyuQ7-`AxKBIo@tl;WW;1V=f%w z@1fjo)Or!4{oN~p6D;yMCg2o<00?Ij&wjR=Q0^T+v~=Rw!!Mg^8QfBr^}!^-&rSV1 zhV>T*brvW;OmlLxfPW|CKq*yTbrj4_(9v{5hH^}UodO#R(2JR#QoKHGSFs? zT2F+hE9g#I5IAa*QsLSVjPo{{M_rHZn(h2!+J|X#8aWj>%N`@2w+gbHoj!c>_`y?$ zE)GP$(IteD9xo)J`pv5Kb$QQJv|b!?3$aUs`*PvJ)?~-;@i?2`x`Y%uWH?^wTgQB5 zbQ-w`65SwOHrP8b*q;G1`)wZH;53q(W-5>}vT`klxj@`Y-APzV-=oApkr(*{p%A%e z&*uj;QgmNoXFV3t-TO8A#R$p&oEPc=(Kz00baQ}k>z?jpfuAz=L4Oz-{dseMk*|5` zU{uHQ3l|?mRU36&lvcY-mL$q%cNtKB(TDnS4Fn+D`b&k3moGkj>cV3WJ38>2d7KY` z$XZ%+xIio4dO~J^Ul=tRR|dVu@<=CzZ4#5J!`LGo(!|&0nVDTwaU%W?K6Y%|28ocO zIniujDsFaJNsw<^Tqrw7>7N7-WvFohN|bz*b^%S7_(?Pt3ROpF^MY@1o^^ZI=|qDx zPzF^DhkjA$9eU|EN-6mOr=J2!6F*vC7F4jGjw)>0f~ShA?xA^5sLZ0r$@l8EPSL}n z;L$lo^=!M^e&2_VmI+W5MNFB|E#0%8;N!wJ-i4pBCAYFW6X66NfKa|v>ZP3C!*mo; ziQ3EVAH;GVk2l0_x}s)48u(`IMR-C|t0Xa1cVIizih&RYn2*q=vzg<{gI>K?w`bI_ z62sgv%05dPj9K$k24QQ#6O3IN&vGd|Tw9F|P&t9Un-z?d?UJV4j0bndZ>2em-jD{2 zJd0D_x-!ULH%%N~AR%<|+P<&oW~XH6Ow~aq@|>{eI(oNA=g~-qEvnqF=_Ifkd`jZ- zT6vlPYo#l@iX(a_P%$`u@V7z>QSNb*^nL^oEBNz2s-rVT`xWIt`K5HotTs>Y(3~&O zD*gbTNH2xX#0R3x{~SF7M#vLINLQIJ2U*0cQ|4>Y(;GXjn>%BRfp3LidM20aHT^c7 z=O2A*hk$sOPPTj^tRwztrBnT+Lq>w1WQG2L*4e#>kIo)lKcz{#`Pd0D@3l*e)v4xu z(OaFRlPH?p5JX#A$&TMx==cpefH(R~SwN!4{e6Ce1C}xWq1y9U4hU|YRy5OLNVDVB z3~l00>BvN^M!S6Dz8gEng&?wOZDZ)SzpJ4e9!_E{mv5Y17i8y_^@(dSl`D&lioVP* zm8$mC6|yKVp*>8c#MsM^cCv!)UO*2IAR>8f+~McZGJ@w@88j~l@`nPVl}Ore6N?Pily-&_BS&Rg6?d+D&YU95xjpZV;i6M81Djk+f0$bXh6 z2k0S`@!@G1&3ES-PSZZ3&gj)1l;WJQe;E4|+;*Hc*#LJaFy*nS6zFsUQl1ZCLjv)0 z0$qA+f&7w8*9-MhsQ4KgHPH+HXa21y_T#?m;BFuy*+{bKnF2p`IZE>0GJ(hR!rR~^;EbE{sp?uPOmfRH^ zv1OMnOEbL6+`5AGEG=vz^bX;bX!FHX>CIYi%v#m2z!_9kPp{^7X9(_!Hv;#&h2%`v zM8VAg&sNX*-qnuClB<2s?x*rxm-|Xy>+Vim_#Ijug6zg=I0}pI*S4gplLt?($9gbv z;>5wrLXiRg;#9bjUOkhp;D_HY7vvB0U5xQ{M(f4F}=#Y@RAqweeg9 zv)j|pHYR+>1oY?TWB)sDYc2I%v)|Q2yYC0e)2{TEZeiCsRz!%I=mq5dmJkl@3=rF~$Q8y2(A`S<+06=0ek zRDl0$o+^@DQ9LpbtL6UoK3^1r6UyKj$RnOO!RidfDyk#w{a2UjwIrpt{gk((qb98rgnw@=uX6) zyxbuw?mV8I{1|G)iye41ZROy%YyGmg_K6mLhgNLj#oFckUq;J-rM7fW7x6uR@F*T@ zC-NmvbI=T4sP3Wn8Mrl$T6W-3^bv|rwq$Z8$lzIL()9fmM)P9e4rZVSD1{#%%3}o5 zPVF+CFrOFE;wX(BZR|{51j1Dnkn`EHrcXs&C~7IDJ(QVd;iZ@M=WvA1TOrU%G5{`& z$(qy@5g*7 zO_|NKQwFNy$UTCiGM781XAxx<^jAfldV89`DqA?xym>9bGHm=XZ)wg>F1fpEZuQOS zLi;g!0Xpg4Cdh-_$h9?;<5}H+-vqA?s|tj?KEJ?bSRKVxUzefWyTjydIYQRt<>O@< z|2AW>q71AJrH20|txH$V6 z{TJvQ<<9R?cl5Ja%pjcc+z?T!x)GL+(lUQx(rxR6waO-arSZFmNR@wMb!> z*Q5vc@wpwUS)#GC$@@^6o`mWs9Q-!zo6%R_-1#0!hYobK&|P^JG_9o5B&`8Pv1dmE z5hxIizLJ)7U8abZcO0gRuaQjr%pbP3K4&ZSZa3*tlg7A&4?3sH$3hj=I2 zo@JXidFa47gh{D)|7y$meiIg<)0zm+u)m;>F3*&CW4?xyaMOrY6x9T-dNVspzty{~ zF6n8!ekfX;n_F~$p67CRB^=y%gYMVHqV6?-p92>pNx|;outzh@O#u1MtYF2M+fiXl z-yyr`!+4BYV7W#@L}geXoEZmXyA|uJs5uWP7 zfF7F)Bg!#g{TA!|CHS={Oa)+iAqqiH`1&D@4uEW<&9IN+JBwa_?ryFG`)4=5HbFCWp{4J(-~OazKmkf%AvnRxRKk zVuH0pr%#+%KYHl0L^){@zNOPHFMB>$Vl@-^E|+7US`_PbHC?mfTQGy3>3&`If9<@= zigcrNcrfAE+@u?%X&zTHQZMw>JI?@&|-O|21}0s?lwR|G7It@pnxjU`g^LK z&9IJ}ZbCkT)ZYX1$qB?l7oXek@jrTXPf_PDaKBgTo7~H$lrTE&%*meoz&{3$w!ys= z7TtHaiC<&7F~dhN@K4uA;tJwCrfW4aR74s;&q3aBdw zUYGv9pTT8P+CE>2vn2eOSNS#y%E4?&?%u;FY$OLyT()%Z1a)`ZJ+AQ3V`zD2$0EpQ z{~v~1vD|vaD~oG5-}9?;7ID5mV?cMyI;fT7>=WoPoMNrFFt~C#c17ytG2Y}mC@A0- zc*lY#-$3J7(VZ~xzfU{9P?HUt4U~1!m5fjkY1{8PTGBI@kN;hMa@qq8m2d>}myVS_FiE^=O*8BD1Oat_zmu^Ki$i zWFv3^w?#70QRgj6w$t>~$t9F}#75;hA4-4eAx2|Rw$H6{X>wEoxsvCIgqgiLOe=c> z(@c)@C<;U^uaoB(7=$Z7Z*GepJQ*d)s9wE!+&#EvQ|_pXP~r6Ao%_?3Bx04Rh;_ld zn0Ot=5Pwa6L$D9}zl$#|xESmu(#DR!%=vUujvhTjhsgbU z+zVhB#V&7y0&>8;OjTF{B#l>IBtdlX2#>0$rykG)qYQ-D?Yg~huI_RQK|etyP_(8j zWqVW%V=*dab^9@%Bmb4`K&L~loEW#Fqm<9s5$kQLe!TEEr3+*{yMvrTAS@zWYA#*; z!?S9;={)?^_Fa#TsR=UEW|O{$UrT4OD|=7>vY0&XrK8XbL=;@%*auiAR$k%G?p6^4!IXf!$c>0hLSg;jh--L>rP2Y{I&X2suF z;QG8TBgqB{8bi;$#h=Ln;=h3a(^YoF*bDl%z6&En`QYcy(z0dOGKyD~n!5ryAEd44GCxHs19!L6Zh0c_X9&v9 z2tF*X616Jm09)$P`jU=5D1Sj$yCZ}A6foFg6~8U)mYeYo$8~C$&eOQ^JYP;1k@zn^S9GuwA|c6MfVmL)7*SRYvmzcxFGBald=SKx2Z6dtyag-~CKyDN3j|FlY+b+y28 zFZmAAHRpS3gS*~&L@KwSHCp9FA>?y_@iPN4w;isM15P(NQC9S9w+oKJI(y>JOM|}b zw-{fE7;AR`ieM+R=A)nrREBsGKD8a{cP*1c+U27Po`zFscRjPhCsE#$S0|5dg0LQ& zYHKO6VJqUk&hBS{!Fo#IXe)P1kh-W}SqUiP!SGH533Mj;_+q#piLO|+uUx|`kPa7MyjRWD z`Qa?3TO0U8Z2_!pDa-Y}d#x5cJ{K6pBL*N3E>zn7gj^eV`jrT+>h}gESuhV8yy;0p~^NcaQ4(v!pzM;>mV)1x|?$TCnn&_5jLd z`4&joJf0?ZJ7v2=a$Yc8=sOW`T()BsdSK^6k2&{AxXi{$&cMh(9YV|)!EoWBTv>07 zAkErF3xzY{~jLBL`3^h&+JzZq21z z_T(dc^0qyNRvepc)OqTbJ_IUM*{07!-l66?7^s6DT0EGBK!K`!H{zv#3u7g3p(Hz5 zdV1y!MQQG%hr89HZw3V^c{+FSS%3}nq24+q%`(9H^8vZh%9URVWcsJ&>GzD zgXjR|Dy~VH(2*pw`;kOtRiC;^4AcL{^tomrPsG)wNa{X|dMmp(=a@(;#fGZ~H*#`L z6~kIdj4LvypRj2-X*Y^Jj2i-p=uSWzxsYT)NbKJR1Ve{d$+*5?4!`97>!3!*mbEHse&(y2 z*?Hh4ssi&YKB`=za!iy<{d8lb(=uS8>0#&wcrQ}kGAs_R7E8q!gMP2(?B74uuuwA_ zwu3Y*KyQc04E+(ZmRul$*i?_DRLi&KW%<8ODa;C0Si@~%SrX}i3(Kc3!0i{IRj$I9 zkc-wD*#d;sbGDynStJjm2I zXUolewQK6LA@>6z201JfRh#|<5Pis)u0wnQTzS-8fWw1;zFt;MLYlc1V1E=cYeeOG zyB;_b>kq;F8WE1b_plI;JD3C~na;rS$f24}OF`hd6Q;R}g)knV5Y(0UA_synN^dqY zBJJU2KyVoVNewW^Qg2jV41|m{4ntfoHK07Ie`VFva3h=+iL4UF$R9GXl*Z52lAEC9 z66NEmObg;ecvgobc|5-5)U>n#PA0Gsz1iKqgV&x$8Q_u!gejFZcABXrAY@N~O zhT29Mpbpjn&q4V9sHXzSEe;^ZHh4dmR)i=p*569T@+h`Mv=#2j2Ap=G;Fhv%D>sR_ zq|yVaz704I9Amrpg$n_zXtJ}kF&r>Kg#e(F$x^0cvbYObOJ^|=TB10 zzQ8h=W`ZXO38Tpl?+K_Zs6d#`nZWE0jOajASG7!xmU^;uObfC~+ttw;4W0Qyf%7O;zxNW`qCD0)iF`PA{X|NpL%k z0KHi3#jZi!SeQ5tsmhfZ=rLfQ=WE3oD|fg)Makm1sY4ElSV(@*_hfmd`VE_>ywI;f zqhS9GP;h(+yhKCZ{3PJ6W0Ehl42=W7WO0MK{>Yrs_VSn{70TpX8mGK~iG~yQb0)*K z;@7t;ElU2J5YgnkYq@P5b<|RxYRJQ%29MPq8atcMU5IRfChcgr6Hc&|UGde)9=M&&g?x%prnW)f^yHi`Ew`p;piZjht#QFDUzEI-$Uc}XZ3B6kE+!JnW4@p zA2V3EeT;m7XyG>?31t;m(<6gN?sGLTI@4Ica&CcF4{tH@Y<@YA)QZ(=ga-!lG{-10 zLF)Tn=K~6lmpWdyHEL51_c=^VvAr^~yit8x^ltA-OrN9L_T0OqVN|}HfMot~j2yoW zfCZinQngq&z(JcMBz#H)SsVG2W|+q$9iJ3 z%aib4=#iam6)2Q&%N2*%Ouk6I6_<hu(hB$(Hvw z{0;d=ogCPTHeO(rcwn-KTGC+8qhfBw^oA@3d5KHKIm5qq7Smz~v7w@*-5PxQ*pLn@z&} zD{>i49F)CS9vUt1Lx5=jMdeL z_HL<0xJ$-EVqvedFg6?l zQw~uNFkiobX51<7)rRoQ@0vYSA#pb_e%~bMDGoq}I{~(8aHxlHk`&(*m|AjQC*-QV z4XJfRgON*QTyFs~U>HUfq`RCun6mt@Ls}!cyI~Wsm8xa>Y8KT03IOL$l^(dvB_2b1 z;3iMHj9K7`yBJV}IS0km)3rrvV|G5^AzaOSCPM>)ew#_LjNzri!~0426auM7Y-ZU4 z)iDgKP_*1E>qShwxJlNBdAT<$KYMDHYD;H;~{LDw*V~blUZ&-Dy%;h<85^PCMn-N z!k}?Wbg`2+P?_Kc4OLwNPa6vW7VQ+40uIOZDln=VN8DQuXM+Aay-*^qpMhb@rdPqb zeZJJnCVIeA5hDoq31u1Y$3(*A!DMRb9EanAnEn{ID!9)`;3~Fo8XJIE@1}t!ey?dE z&lms2mJaTOjZTPkC#E;NKuM+l&3fD=D&!3MNP`RLJ?e( zH2ha~s&UA+Ri|;5KMD!Oqseof5+LTn#ng>oUw-H?DJ$S!;Y zEJw7V4JHV%05YvpL4dBL;VsNc(HVTe1z#DK`FIz9+XsL>-(m{N$P@Ov&>|>GBeh@6^x-{{_x4PsBmjQ{R!8?CTdu0BR3B zc%m+?KLZAQ4a-yAEL$ONEn!$;HsyXG`BYRD?qb>?mG@{-x^QH~I4O4l+Mj2rHSi^{ zC6QaXaFr>MTit;yd^6bHLU=IZ& zN8znijX&cl*LgU<25_@!Ro8jvYwKn};pDq4E}uJw+sR9i!ahTQC=~5{ajPMgm5OUY zGP0kGyNzB-W@mbk2feHc={xb%U#tbl)ibDoX_c2U*~hXW_AO=MdkI2x-SBwWUvUhr=E$`U8`sX=h*Kq0OB0{b z;ISU+Nuzn;j<^ewM9KHvSM52}mqWVH^(NOpn-EcAnM@0B7T0@Mi@D=W6%cK_MhU3* z1FFD8^)`38P$SY$8B%OOx-C$a%uV>XcBO z91E&O)!M=JvjuhLUR&~+!KcH#@dd4MoVBZfkqcm=XD}hO$tu6YEO}%b)^Z_mem5B$ zbGU8OoyQ(&`g!wEOg<6=<1rwbm(BBuLbswxH}T=ADB zQ?rF}%A?#OH)&FAZXiy5cVjJ(Zr};XT0NO~CdFqQWFNc)>z?ZoVcfXWI@jhMx$RCMOdnX^PnYe521Evd#BnQ(~!t3!A(-*$#edB4YK1L0!f_9A`b^tPFgvaYNYnVEHcNLwo*oVF0nedIblUP(mWKGO9~1&`Chy6D}{K9 zKM1L<7Sr#q=Z+XDtqh5R>U6L+vh!V77Y}6#r3i%Cg6*U0GF!dJT(sA za%zH<37=10cw~~pSdz%nx?MQ?0ayf}XVt?5Aa)$R#2N70ylTO%Sq?4##jea7^X|SZ zgZVk2%`_TRHbPiwQ>R*)9WI8y11oY07rW{i*_OWm9FAlH3#;ENO3KuP>RV-^_@D%>SHg^5keaen|<8i%Qocj_W>HNZT*i<43nJU`y8fL@Eug0RmkMM6XaxK81n~`fB7^Msqd2wyA%| zjz$+d9*aAGg9L=I)}nqt2A_$_0jEx!0PDVWI+9jD$Jz1hoT{2|_Gxxj?Xr`@{H($ z>`q4PZorcFxjOQtc*edJF6y#~wgZ-Xg7B><4mPB}Cut3EO$xl5id#MAM%M^rP_2_s z`O6htD2RTlC2o0JP@XhAmt@(~;KdLjj?a)DR|Du#!r}WApMiS<1bz%4o>jCuG~GUF z#?Z#eR^zi{NW^7e%}i7L$Y(^S*!(9inOYlhQ4-=C#@olHW&OT^lmW&B*@L{X75j7m z4o59+O|LS&26;2F#Ek{tIH8JM@gl3oTZ1+J`&iCF$o>qoTcO0WYAnZfKz)zHx4nz1 z<#A@nH<4skKNqA>kskSXM5`lpja!(_Z%d;(|0)8Fw8L<>5qT{x zWTIzN=qZ;o5mlm7gB4d6{W;b8g{@yTsp=kj1`r^`npV&XnFd(2 zhS;Jc)bAKB#Co!13Dwf1iDjo(eos`OXaQN_@%RQe)pHTmXEc@aWVarO>gt+inC*p0 zWF#ZiWx0YCm)xXUVJw>fiB7UEqf zK^tLN(PKL|)a5{xJ`G8{g}DMMFJ&D+f~p$H0~U|!C90BZW**9|M(?fiUjv~+ zVxS4Wp%i#JfpslL3gdh(@)YC0asucKNrk`X4M{UV6`&&dh~0?k=CKBM8%FiQrZ5HOPiL$pTj#%LT+=PixPQn8K%Z? zj~sV3oM_eSevDQK9smm)R(wQAdL*Fiu9XO6*Bil>(Dj90%w!H8mxL=O_r+qiihC<% zD-&9k3B|M^{OL=ardft@HL_OxW?`0}0$GnZ&3tLt9^`0er#%uO3w42h%=0*14|Br_ zau)RgbKmPpGP2?$!j0#BslYz%A?oM10ji4}CHmR7STrxPtG+_Slw0X{>A}3%X_f7L z$?ilXnO>v(hyDK@3V;G(09^t1#ow|D*Nx7bIx$h-f$74LUIUr2z0a~dkgK^QOdkFO zK;i&R{y_)2$5M4S`^o7Pax*t+PvLcdII;pGQt|%m$O!pxIV0$#nAT5cWL|0TF5A729YDXjq22s+0 zv+u*fAsp&T#Cj4n)V)d|eA4`{fv`LzM;WwKWQE6(0DC(wS(B=NfiDbWu0}+!c>D}V zpNz@vOhpEf+aCfJ@^xdSSa)UG?j^|BM<9-9Gzvd+xX9d5dBKVz1pivGOvw#RrPNb^^-EDD??t|%NJDYdi% z7;a8B2GrE zl&jJhv~XPamL+ALcbSt+DO}xT;)ap8OODidzZYybuRM{xcD$z60E{q zdR+ZyA&VMYbW@@%n`>NND!R&3fUzg0>PSOyVauXavk6_378Ae#wR0p zq5HmE_yaqXn&u%hq#L#H%fcqdI2cgGN~EU?CCPHuz-JBTR3ssK%>ZZyKt4h;(b~C@ zH({sJo!eed;d0&^>AC4pz%d$F;l|SmZ@|!FjZ--zN6cLS)GagT6sxCvDjs|rP^CES zZO?-8h(sERM);TP)f12|FGHg^JdTC%5YAnFG(PgZawd%NQJ9W-%$7Ic0x!h#yfy+^ zbyerHK*(~YerF3fq38B5!)Yzy-ah^%6UjLi!oaNA9^x|~f;NeH8dv0FMPRoSl2X6t zzXAy2p(HK>9DDdCV5(Ze-xKLRgnt z5KjQ_MmCzi=pyK9t;uw5MN%?lU+hRqvo`~5&alR~Ez&npKLiTP1ct`?HiQPEuQOf2 zIOf*^)fmD~6{0ao6f#E4xdIrBoxNZo0@?R*^z^~}mj(GMCvS8dE{pp+$Xv%!!4?Y% zk92tfKvn{!7|u;b&OX+qg2Q_b6N&hVc@+M193WsWzPXjXeLcWvNeJ>Oo@b!4ov+}+ zCIw|X`_;)Wozv>3h^>NR__4sWh&h5@P)f~cPgN60N7~+j1lk69B#LDFbtzlgrKcX* za?R@+>ZsLt6l&)5G)s1K7a+t}M8!L$9^n3>tPx_PZE|?4MH)sck{*Qcfga|(X+u%% z2quFy10Gtk>bbAX2h6CIP1{^OgX@K-*NA2#CH*!UjLQk`ol&x%39vn#FfxFY%>GOV zBHObX2by-gmXS<%WMn#b1lZg=)H_O|{J^%OQDh>LXfhLNuSHRhrr~Vh$?zghY$qi( zBT$MA!Z>`^VY-D~mJkQhg+U?cF+}!XL}WvxzTS6pgGA(pO%dKt=a$dqdV*05_YYUi zDgH#9f}ts3Ch5`AaCK{4L{3j1K(ZK62_(Ze7uiXVP*Q{`$+%HbKLTQD2v18^s)q$k z-Z&x2mii%3#$+Szx!A(Oq2*HHJ4C_ULESZ8{i_aF>e5tUheSXp=3F0U-oiitkeq86 zoWxgvQRna_2OISSdDk?sAs)F9a9Q0;D4xH_QhcH+965B}q|v_u))NEZ6y}Ax`z27= zQ^sXSqf1nk>6D&&KelqV%g}i}WS z_uO=)`*iGCE?ZF+SnMe+2zt(@sWLpJwbbD;6-4a9WXsZ4$4!RPMhhS&LCJ?T2RV%Q zSdRhNy_{?OrX+eJ)&?%fdA>s2>Y9<*7u`e8(h<*0%@J+H2)zXPX94KAA2`SrV?I%@^O2yPrBTZU+RU4g?dhlrs(xLpgN_rHswlsN-ZDNYX0(qlK~?sj)(cZls%4 z_bDYkWEVk$WI3EE@`kBd*xV{Dg$PedR$Hwy3l*n6!nC+ra8o1|DddhhH0#rmtAXcj zq{;ijh+1Xd0NQ_fUV~)+7EmlU4R+6qQ$po00NRu6OvGc^Zn;v=wfrp0CzHvEfiJtr zV?@eQbluY!2(3x>YlbM#iBL{X@&LfmUc~-Vwke}~7t7Jr$7lW!B_pKX8L|R-u%*7- zzP>;{b|b#wcHqByLqinjkPppcDJ@2{duxl*lL#+b1Of&#_4fpb{^1x~iRVS-q6OKf z7hhVfV{(wVjH#9PO!0bH2&B)GEw&VsB(;qOx&LWmR1EY_#`y6-(Qmxwrviq1rpeoZHdNVth81GMX(J zPziuM4%g!f3~maNRtuO;?pNvy6YTGQaKsRAV^_AddO;WsB9#r&rq6jm%8e$fp*Q|P zlrm{!RIBlfyVTSD9to7jj3L0pNa8TO3LI|AfD5=0q!3QC-!v7xq2Em3a?BBBV6PLxZqNJ2yjHNmy*T59#1 zLAjjI&>V0X0=Ec3=I7SOx=(cx<{ca>6>(9W45WlOVG$>2NaqSyTx|+ zk_AMu5IY5>iUtgWMu(w9G7c$}*ZHM;a)c4UFl>e22btti2sp|S3yzT{^rXgB_s9e; zd59b)@Rl*paNR!ul)h6U<9;VT>F!=fZHnvp%~Sf1qzuHh*WE;&wtXB~*v1c;oty0v z+)adog4vEpW#5;Q$ugUG8x5Cp{c$qMH?Bqs4T@^-YABPY7UW{)wsODl54s>#F{*|5 zwL+V~TS^>>^OzK>IeOi3!eP>qM|PaqKz@rzzd#phgUK@tn}ILnjlWmq1Sc{R?Ol42 zhr_lWAWZKvuwKqrnkh8AY3oezO~~o+VB>rxfeEV3=7=Qy4ZxL&8bgLE>v5!NfPER# z3QpS8V#}~bq!2A1QA2I{B-%wl1(iEO8M6Ozhn078RLu;7fVZUlK3#`P@su@a`@nVq z|0z8N%mbzw_B;e2F^39abrk?p0;)425ZC1lCN=bDZ8KQW&Oh+GY?R{^;Q!KsNn18v zQ*rmS$E-e^&WW^tzzGu#T_fFhtjq|gIk93^10)P9#NB=nWh#g04x#Ez67yjt=MUHca zz<;#(`FGaDOM8ym>$%OlZ!YO|oG%5w=113Wy#HHsFPZw*uO8m~;`6sV&LM>?|AOeD zzf6}dyJGCo4_tou#8+z^=bHlGW5Z82AGF(}wNpAae(>hm`z0Ocet};#Ke6o3zbaic z`?(+9dF2z6i%`D6Z3usLXBu#&1rO|b_mtRWPkn9gVX3j# z{rk(O9VaI6<{Yy^ucG2^L>FY4{d5Wb(p7!PF3%+ybsfRnx z+XBDyy2-!TTr+;tXB$5+pZMt$H#-im+?5u*a^7WgcK*)|KiIUk0`w`DXu6CTW1%78TT`+I{+FPbSKK|9cmaPss&eH-Pd;HVmR{UoF zJ$BgsF2PP8zx7vkxC0KjG%{TF!8sIm1}*Z$3WZtcN@HJLu(G z?%(B*>y~`zIDG=I`qiE_k%^Dra9;Tv|32^j`!SyP2>jtWcl_(xy^lF}?+-V>cI^1R zvmEC&fq(Ryw>QRCjoz|s{@)*XaOL_p9A}5&EPwl7-SE^kW9FUqKz-r$zul!AOtMPg zUmJGSH$PvO?)vd(yY2FW?5mi^lLWqCk2{ap_toz|{)eSstcex=d0)qQRN(h5n)LaZ zC9P+^^4s21_WHEybj{W1^MX@is zo;dk$-#g!NP8RsTV;k@4TK`;p!ZXKzdDyJeFfWe@{Il&}y6U307Zm>C`5i0bxBu>A z$0;sh`3IhV%*_RNwk+6t>AVpik1zWn){DUZ{@M8De>`?U`1D1G_x9#HAGvhV?kHd2A9rtl;F0V<|L5md{QaN1 z?XvIBF+KwC_|h5i`4KN}dGmum+a0s@5WfVsrJ7gK97@) zz)u`|+5GU$7k_v8pT=JD*o3E0&dCD5{rdm3{OD_E{_gsl&%+B&PomyO1^&=A_g^-D z?5!W|xnNgk;jM3g2^5WH`8VG9-OCG(8-MrnXUsWh-lm0@p?rb=dt>R5KTaN*ykf7F z7ln`c^j(xM@Ynab@}5&~Kdt5JW3GK@rU+;Gi4YH%h3tNVyxrbD)6(Xtorq(ExS#bGjZ4zM;`OUa>w~d;71*>+wH|) zmTc*buKi8nmYsj&I0qt6X+hK472o>!=Pf(UerDlA?f)5j2>7AE$KO2btm}_C>A;6) zKKtk?SDrh~ac&a$fvfKL{Uf8Fm~cYrqAiCXc<2Vlc~{`I6RsaNX0KoVW#1#N%U<}W z_mO_DaV&q!OGT^J-u8{VhP^iL^!=}S7UPo;_|!X2{Ps_O28V*`WgoSlb1&L?y};`` zPPpj1Cp6tS9kpW@zR(7_-OC)OB`p<@htzNHIIB_ zMQqPoFPpx@uATq>5#~KE@QeQXWOerG^t=o9-gU-?TOa@2ajp~isQ4`}O=|kyBe!1~ zx%QfOYF~An_XJ+?y(@lQGQH)`Kdxz?G%~dx*4^Ha6H5!$&)%)<b zxUV@*hrk=(-|5@e6|D(Z?f6{V56+lTf%Xf$=8WT}o%QHT7sMWYr=ak;qmn3J;D5R1 zwl5#~(H)VUuljiGL%TdW)p7Q~K2}-~NxpY?-x1Mgb}OHH)Qse&GaYBOz{h_0LF?BK z{pM?D)vw!S+kA3SX5X@C2~IseNizmEM>;IrRI z?{o7*&zyGbqEzu!g%cieoWBcvR?&gi|0gwae*Fi>Uh)06FZ}}ThY|>Ub?V9APnKMs!=cL4T&fj|Du7dAaV>UTGM`-d;goj>mj(9dN8zvaJItX^0){Pm08I`yL~ zetLVxaegQ8zuda#FVAZ~?dZdNEa3_0(r-j=eiQw`b>1F30!?{E$z7`Q8tn-2Kqrhepr*>!Byy={Ro) zeEjcEOJ3di!P(9|qd$0W?UI#_voqEz=;t3tZ2$PUTh1GCL->X8hKBPo{sM3N+lOl( zKe+dlyFdQxJyRR^JDjs4YFKmLHf|I-(GtAGvC_0 z|ATG2-ty0C2(tp;r|p>cmwq~D^&xXkUv&D~Ge2@1zPwOc@QwZ7E&0`Z&;0Dy-?-_; zul@5n(C?=hi>HBe;`3KzyE3cbkyqA{OeMNkbSC3nnQmMwD}(oIZ!A^T-P7Bi%#_V4 zpD}YqUwlO}9Z&VPCsw4Aoynf=8LL@BcUOGHy5#!V^W?8oa%K05b@5nlPcntV6Y)%E zR?`hsQ+N9s|==SzCeTlBYOBlSbiS_Yp&rk}8clER< zI?QMdGzx>ap*xluQVTL^8!Kh2B@HqiE8|@ohBg#^h$^|Ykr<=_pojF(rlJR?bsfn; z$QIY)HV)wXMFuOcYq5t9_wl!N&)ag?%4MHLtD0d1qcM)x6So; zW#j4gZRe0&F(CFKRo|W5cDW|CF|j@yOKxy0beu zw4HNRZxZyn?aT%Z*yfQUr|gRlDSI}P+4iLtM-=sK=Tlk4%ifB-I|z|s(1+6TWG3FT z?Hvb)9?DT8lS<$SnHfs^<3nIDot@nqx_c6x+gyK~M8D0sxxL|v+*Sx@a25?7l}rz5 zi;Hz{NN@YnVIPLDa6tgBxVvp<=5_Jav8{~YAd9E78?JHNJb~TWL|iA}t8i$f91@4d zLW_3yX184)0hdfCde&|G>BQIHp|vELjuV8fz=b=cGjC-IeX^+1@T0C z(?i)g+q;rbeo4QyHF*z?P~L$8yJH>OzFj0cx1CjXxA#T+HFTgQKgfz5Y9Fu&x)R&Y zFxMoy(utIBtOx4C*4Q@mt=mjG)I0Tb4{76Rk0-XBk#w(4q*Af$kmNOSM;?3xwmO8d zu5F)4ij1A{p&hQbs&XELj*+(u>onhj73I38h*_5$(zbz)y3EC63@dw+srD7ncCF}M zoy@LSKW~n!&M%)iYqtHEk&TP?e;_I!q=S$Q2A|$R@*3UGylpNZ6Wgj-F-Y~0O3Jsn zYV;e6Yn!v1u5Y`x6?5w8rM(H~UjeI)vEFDy^Q7|#Q2rXcLt9;{sCw`c2AK{}a5_Z^ z%W*d27bY@ixKlsjfj0Pp;O|jRK`C5#;79ez=21>zDXvgBqc#z)e~$r%X|ldFMJCNS zr(j|s;KlfcDUkl!rTpJ<3Y}qq`SCpl&$Psk$iWlN{1!hF-xE>3v<-hVzpbMH-|*CM zM&p0BZ7sfR`^OTt$*X%DzHL6+w()@3wh_<#tebzcZ4+|vg!}Q^;d?J<*ks4q#P0ik zq7uGs#u1fm^4Ed|(!R+^Z`-#${?_&tO)f*u>G;K*Y_4*OCXR)}7Qf+bf{Tr_9Dc*K z0`tW0a`$_pVZ<9B^yWpF@96!$C2#oKp_~yL9)c{{gcV&bjAIsns1N~d+&ZgPj zq*;`I?DM>68(lI>d!8RB^HW&5rzv;FfaNyx61fZ^3gQQHYP;z-!nPhhU|s~Ot8B#W zbh+c_77~D(cI<1)vb4!@;4jCH>wsgoKht204lrq}^4H6t8s;vvb?BDn_lKLhXPELp z8~NzkKYsQJ9XvkGc41ehH>>ai0Ur~9hhph?A{8=G`J7L+JodTNX^F)X)v1)J z;~?anc zq*Gcr2jBLmY@qS%Ka<{AW3YzCFSr5ml=#VJ@{74>&piBIe2C6F$J(xYj=K~Nze>%#A;JyLZO>nfk4_^=j3`%OBY@Q#Wwc1o{ zRky==tVElG1)(}aGsHPgx5M>N#0uQCOi->b=W?K6^;Wr zW2tloT!!ILrE9jY00H{GZGv$7wOz!*RMA<1~OA&{|Vv7FA6ZR*>!$4amds zv~tZfd~*-vFL^xw9|5_hiRrix;(OG$^zS20UhJC_3jk+cFHeCJkvs(=f7$)A&C65D zIkWJk25$Em+YYb1LT5SB?3aHpFv0Os@2^Xn3Y}x{{{V78D$sGa z=bvo0eTQo!e!RZ(yTtUJWwP&asYeoGPlyg!Ch4plY1!sBB)4s5nfzs&S4vrh;-fl0 z?_A-A5-tJp$%=3#u8DJqgCNYD(&lQEMcOQv{dW_Z${*aB#B(Cp*IR4&Y#8$6{YyVc z^5^7f3#8CYK^SuF8mNaisg_Gh`3v{~=73kI8I@DIBA12uh4fr6lifb#lVMmgB9ZV$ zq~!K}oBWxr<*&lEAPFyI2GV{bfBv;}S-Q z`)sTyzFK@M7)ZD2#^>34J-Qaba*iJTMrVH;QyY1az^5&OMF)l{r zN+6Q4TYZ19Ti!QKd2$AR>K*Jn*`{3-eJkC~)xQx%63OTWzl|aT`V2sI%0<74c-rZSIMnNKBXUn)YXq0B5ben$HDtVuIKfMUxW9_ za>-yG^2NdXgeNoo70IXcX^{CukfNMS{6?<)=W`k1JUb*}KX}`w)HxtMAikCD82*&B z+>5?rcn$wf`Tl0?IxAE6_~3oMzfUlK-#JWmLev4_2AeA<^SjVl*OH)*SfYKFm7i5t z3oUJ(*=<^1qVA-Y|9ysJ|(kXblZ_<5BVQGP7d*QAid9wN)PbIUAKqfHG zYl*WG1~#wmwUUmom8pyjtG202;ecuRj9pRUWV<&qtLclDmtCho%}07cI=E(fb&zfV zYsdaip!8wA!pz31c{f^^Y}1rd@WyO5RJPf7$kg^hVQ} zw&@g__Fk&#bRip#U5;zppd-`L``Ae_O&W zxCGVJE}_dQ#Q46^8s`6@DeKOn|9AI9J+r6Wb&$Kqm7%}j^DeK=-6IzW{{Nf3D&L;- zRrd(aO)h`m8sEs}5!>mS*1I?rw$+UzM(78p*&aS z*^`}eWh1T+$Vx69?QXsU{8V6Dmyh!CL?bh}JU<^#&&R`e*E#FeNz?v*RlcrcknPjO zs{7H67^^W(79d%?!cTK~BG-I5c;Zb+Yk!0%4#Izi#tW?ngX;cnM!mQ27rZdnUVJOy zs`n~}M&9bZY%3A%Gi<_~fh{fZKEah#FLOKdpCaXoUY7H|qcc);x5V9n-_eBy&X4gw ze};pX^8fy69Oo{RW}-7(?A~|cn>ygT@qfScfZO!Mv0k^nTpZ>+AI|EMDU(b2fpi7V z{iZ#qif*?+c)sIwMk$|-hc@#kz3kM(4_%6j4Px+77A!#iC85BWoV{qg}oLfXE@9K^B zh4U0l4YYlcv1=j1A!ld^?T}{;NFdDZq*ylN&U`u`C2n zd0NskJ^5|FQ5$e9F(zB1i^1&+arefu*fpO)JD$bwZV-s9eTQ?yc?r%*k@G9StW0Io z^q;$8=hsM=U+)l2W>)rgNayrVcWz!l9@2+h+b`mq^uYazR=bz*eXbd2whOB)YtI&> z8Q2)%SFgNX_n0UhqGZn_evA|CfC1C}h7E&9B=>s~^24W`t&_cgd8Rl~e0L`|V%{iQ zv)r8#D7`b=L3_RQ5yMvaGTLT;V5`pC$05&~b$JIr;kteWb^Z>&b5SwJiQ~l|@>Xke zp?^?t91ES-f#+UAdC~gz{GPB)-q^n>Wt5b1j+yEYdGh?x$u4IlgZ0( zTi?4mdAUCq04DqZec?BEkoN(z<&z%SADf2XO!FcBCx0p8|C^)_!pB&b&HESNnC~O} z&#_Y3zsUJ3zAZoE+%gT%g*LsHc9`>bmLI66uyib8sMFT-3BL2y^Qo^M%lBB1P4BPg zGgFT(+pag;CiY=E+Ueyfc0MfHJo__;p+im+EEVsz{uPK*!mb)u> zH^M*3I*_r#-&;%_!MsR?1BPvf?PtDr6e1nR^bP ziTAhNrf2&{nmU4chdZMHw{7Q`TDl0*Pq8z`myYcpDBU=uvvihQUa;v8EwFyyt`Pi1W(JA!s2rw&e%AyC-7N^+5;iVL}IOBoK)$nv%teaC$(%j+FI_6n2b%lg)mrm;%tOiK?zky#Evnqt5beGN1bhzBNe^aw zK>+#vZ1Ap(KbWbEbO7YiF!7dEx~DRgT^;k~gGGyw+DunxtOszm7vxcRh;RHL;|Ch2BNzbvUyLEH*2?{T z8N>Og|4{svfj8vm3*aZYv0^!n{lV^79%jaJ!14l5H8VuCDKHm~67#PgR9?BPCc?*6 z+{`XO+F^Y=kC5?A^mH~R*0sWsw;{pXkqBaM=57J-?GEsj>l5Aec%Tt;!*&;9ZYm`& zCKo>+754A2ZFbJ^Nd4rwRmjh=T?2-le=K|vdTk(Xopdj9uZ5#j^3H0MM>@6V$Qpce zFXvjOZljiXq+4jxeGBv~`%q5UU_7fGMx12XX9{v~3@L2)w!%C(1e^wg#p|BSbbl<$ zm!_=|`#fG?ho40)_AJsm_pC75HBbO!P{GoQ0g&jv&?^HV&jYQ_nuRm?aND8AY=HjX?uF!#rHQBMjrZ5>LUr`<$G77HPUuGzljjc?kl0C^p zx2bcO!B@q4a1(w5pM)3tCEGLHpI0z-2&R%s(6&hY2&cI#!<{YD6~Gc#;?Jx74E1(( z(NkCQj&v&9JCkV;v8eQX!=d<5Cckk|s7tO)bk$NxfVIH#M|*WsX-rNfzQM$e@z?Fg zn!IDZy#98JuLJXsbLwN=JxgP260KstCv3dHBB?|oD?q|ZO+7X16LH)S%%pYnq*nR$0-Ay|sEWAY$rERAfRw;nrPI^H|< z>rZ`V)he)OLkm;< zF~8ls|6-;pY1a9E7EbTdRLn3KrK$b3zLo^y-gNiq^V7Ed2Ly1u;{wlrL-z+d3k@xq ztY$AHEzR)yl3SD@eR`Gnm%)nfazvBa!IE-*0o0ZKFe1w=B_%^ z8G|gX^HJ_tUeP5jVgA{pA4>o&HJ@%01rlsap z7W>2u9;vJmr^clf10d}l)L{0Y^1UHzUGGkic0Jb#Km1-wY+gV6h zJxvQ9tcWm~s!UhYx^$w;S4Oc9C!^=X4fEkNAN|fGw~WbfA71kY@gs~+{Zoi*G~@1JrF~P0tHPak@P1u9UcYwq;Q~^D zZ@hN$rQxXf+q$z4w~(yFmv0vzPFA^_S?6k3A0Ef_OmDiU$(R|X6!v*HUm6{aKoaR+ znJ-NAp$Tq zFTC%g>IN^*9=<#+PsJ-~6@;@VzsR>Eu95KPrf?POier>7T;P^TA9L39XJHf>Ek} zDk*0U)3mNmb~kmcilxo9Q{Ps+X5M~Lu-M0>Kg(?xMystK=4u3GIvwQV(oD>HO4OkYd*QtZ%){u>qX z3yJs34=pHL8Md^qPVh0TmKZo0IcYqZjitJC<%uxUHD=PGL6Wk*MNH={t`@uqoJprP zh2mpl5i^g5L(5>n0i}?%U!o@K(d44zX%zJLne(F znY0Nq<do~%!#SM|{M$ohV?q73_kd!%2v{-NvP zP3$Ag0rhWfXvY%#;+YKRLineWb^&RP*5LWI<;tfE_}$osr}}gaLMPN34VQ~t1|1Oo zu8_Zr`FD%{Jxuy*uo;WGRu8VPmLF0xe5?z~EDPiGR(zXeb2Op-4iTds8XSUPt z3X6vx1bMZO(08Cde3-o33l8^I&G!z92SD3Ah2Kl?q?!4i%I`W@)$r7r&9ft6c$&?A z@5FESYM_qA&V=C=>6S_z-(C3KhNl!^p$a#8_QhQZ*IP-lmUq){xpBmK*@NGB=^i>y z8H+vnjk~k{`u8HN%>uO_3kY*>wkoWWFu6Ob-&OpExv&N=X|k@6enauO(AA+j?t7yHZle!F~ zp)#`A+EE2gu0|keV=wT(3d8@FajjOiP?fGc&wN-uw;XuddY*zJxg)RNoOz^lEAQ(G z@B1n*@fm(d+a&qnUIBg>Cvl7IX9e1Xd-SVtOGsdBTOs;%G~o6JJn*a3sG9$;k`iqj zGOx5zq(O(|m3*Kuir*qQT)pku4CHjDiXzAbR@YLXx)y~SWwJg07y5Cc+Etn;^20^R zmZnx*=!`L4po`S*1LO)fn!Zp zHAP&0Q0N#qqw-W&f-5lw!wBw9(w=tIffPQ4l>O3n;9jfsk<1g~%syb_g+k-}CQxPv ze&gux0JhTVmM|JB&xl6n7=w8bhU#fsT8(nJCN6}}2<@NKh0x>XzMAKw2>X2_{RpjZ zA?`KQr2CRxnRI8u@5=~3^=gUs*&Gu&!lo}(p8zpYSlA>dtLJBddVY&joNQepl?|lb znf?P=Sa4Ar5!4yma>|^nIoe1QUHBf%(-G@U_0S!G=5?<>`|vK{Mra87lF(N%U$^wF z6ZCL^)6t`yKt7XacZ|zC$WAFm^c$ZAEU%$sm9zl#W!qLwcvDS7TbJISBM+)0tPbxc ztc!IezT zo|2{J0#Ta!;di1e(n@~W)Xj!d93KRihUEgKEc!#0p+nR03;*iP-!S}`@~Yz`Ge&DI z<5C6)?u10v!A8Mx;`c~?m+Ni(q7b4xK_$X0r-J! z3epG!bMMX90sGFe>_T43pS*zZn#(I1B6aojuZqBo3f;5WGYcFKF3v^Rs+$@Y%D!Bf zi(87P-!ZlvIxAy2e%vcER&}+53bzc%JSf58{C3CxC-FtlVo{m5BdvB zx!W1#rG5ye)9}(>q~)G|Lg7HMUG&Y}XjJIJeh58~53NI9($@Bd7Rbxtr6?vW*1`M# z82Z8uNN0bF%{#vN${gCB>WjN>`nM7FeiOg{03qeSUx%1=?mNRGnRwsm<&LIb3#9Su zg|_*3v9m$S!?2Ay!Phs)8D4%}88&c(M;CuNDJ=OLbu@xO$31cUX}<9T=4|G^~imU$x% z6T05vs}aN-dDqH2@Ye|9=?rP|!cQZJtE!BILskaM!NE_nE##fChUMn1_0G(ja&hpv zst#8|XwkA4g&&loOF2ly{Q(Sw2R?Oi-c~QOLEfb;>A*Gadi$- z@5sFAB>I$F)~K8`mR|jR9G#Pf5=;}Mc|@^t%NdiCCfpcq#kvR|o7*%ZQ{MXN$a z?-2!|G`DF~qpc@%*Xl)P%^hy`Udr%}W28&tZ$O!HI-n&^V{d0uZx5VK((SO2m{i>y zZ??A(eg6*1vp?{U{XcE*(BzeM@Dwx8HlsChS z9nYTd&Bu9k<*^t&8KY}aPch<$uFB9In=V1lX7;BLWAp>y><|3#2Ws(F`@`|N4rOt? z&cb-XZyf(_LKXfWo-0D(=#uIvZe1*oHdnSZ$SnwZC-+03S9&JB0cCQWT1+3OOOfsC zLN=POp#{Q=aelAu%5+-#AglziR`l7@(HMM3vWWzBU~DIbtnfzPILMv)e$9~~7_gn} z|4k@^=ZEEZ+r1@k|Dm0Y>OFYTQwymWe)(G z3%4V1Rd}X)<6GvW*&K3TT218~#C&^ra9Cfx^!qsQ#9|Rm9reld8sW!wt`5*VVJL;x zOJTmbp6SD}K#ut+%;l}VxvYSX{!qpo^kH>(*#Vxf9{jF}c?N;>aU0roJAVHF=kNUb z6Q_ zhBK2{zhx*B8q);)S6%&2fl~<|>Ua`PHhpky6F9O!x&}!IDS7k)e{MPw%6ew`xUVL9 zKaMGNK=%MX>ql?ltYb6qVb1^rT&AVrx=~PM0<>leLv~Vbom|qVD^Bb(c_r z3RQ|lk@M(&VQ^U214zr*LQkRe%guSRz`nl$_r}gJWRBXj3gB z$YN7Br%mFE3|=DD!(3L=h^UPIvqBDDrVw+@yu%C*#v@4fbwU%vT^NLA+;X$$(h;_t z%EoA8<&rS2*SRuliNWFQ0EJmi>(Zu{#iS?JG1B0|5uFojZye>pjc|%Pha#(JzR@0D z<`Oo!mS_WRI~tqT7=N9TLTP-gmoHKiYHP9WALoNt)~akj-d{!??x{4jEU#^PI^@dWmM z8cj%Z{h(+V_mQ8YEbgiK^<2yae+anMxrOK_a(}WJHE*{kp+Q}1u34mY=uh6$7`b2>y?wXa+Y zt-g%9Ucv8Lv>)>$@qDN=;n+RO|9$h#@7M6lyHKyH@Y**EOX0r<9OUcJ84K6lB0SyD51Ym@&N1ixPe|iikuvY^0_LChQE1&Tr>(6S zdAO#BWA5KW8veYG|BL-4SjOO6(?gqoI8i`AIwfF!?R*csQ>wmT!E9w4|MX;(t31mUcb|%*~5d*mCbNv_rbG zwDS@E1}kw4cdt%}t3J(^N<+j?0UqxYc_`rzJAs){UUzu&NOuK980*3LfHcW`Wx&C2 zkG}sX5U#Ur;QA<+boVdd`|Tf6XHmfyz~$24NYEcBQ2feDK!0B%4S)WP|CRo}+Wth@ z=s(Cq8oFrYKxaw!&Uj-}Yq)l~@7QfGllu_D;|4gx=SfbPE9VNjuQ0))MA|sFppDbf zN6e4=UI)KnDS;~_#cl80RP5+AWP7&3TR8N!7g-k<;lLkaB9CJ&itJsW7rv#mGVhMO zuO)gs$kPGoFUPSEWgLVy&cZkjaOOaagF0RzjaIeQ*6Qm7Z8(|-fTp~n$!pOX_OB5A zwK@lWI}V)zXc;%|g`hw7a~SF`cGPCi`jM}2xUXNdfd#8FeF_2>Q0`!VMj$VBURRDA zP;Vk?R5*)OwxCl`&#HzY+7B#cj&gPN_SpcHIdL=h;OMO8p7Q9yv#hPP(5anGSVe^Z zMW%(f@9b!KbI-ha9t`sg*h~OD*f7H8md_Lj#)k6naMm$FvEq1&p5*7R0Qf7 z&w6rTrG(}5Z-SH;9K(qghLL1%*q803-ALzyP13f^Ygp-x;bg+fXV3J*ws&ghMavJK z6P;D=`aA9*>1GDf;TF ze)&q7&xfHtk>}vC(hjzT{Hgx}(3O^dU2v_9GkrS%eH%cZCEjmP4YXosrXB!}x^RSO zGh4R0(d9$y+JkIxEB1fx-Al~aO_$cjSIP1?zg%f>a0lof^+Rd@q4&_nTc}vwmvP)exLf=~hqyCLvQx2Gn zyzKKpeh`#}AT|{4;A=DdAo7+sG@F9&4PA^i`!xl1PQ@=w+ylsDaO{s6M*p^+9j{4LaAcVc<>PHr3R;naZ73)sM%~b_hb9`4_4Ua5zf@$lMoyi`5 zGQ)>)Ln2Tn=!`e|!|lF1wZ%DU7+P5`A!3g=cVLHkX(G4{&nue!s#L!3)`x}L)PXN* zSp6*%9zVh>&nm}ok+L((nEJeA4Eu=h+Q0Ja5-*RA4=zJx@(+^PN4&Psw$hHvGP%RV zHjnbkMFvQd{;JJ5j`q^XO$~n%mNCY`^UB*+ zbqH!M6DlbW0;DH&I}Q1$XIwUo@=3u&o-J%lEgQ#cBxtD@%wRfjUd*o%&hE%N;Q0d& z9SNVrQ3QXYI{HE9vu)H>hwQ50UuI40g|fNU^XpmaMBfFIug&RwoBaEj{5DP)d0sEt z&tIUVAN-rK!}nua@R$8fp5WiXw`XUVG&cwA2&sr@iG6lc)>kY%R&FedtV(?j_--K9 z6JcWn=J{FfjXFvJ3mM+bamT(c@Ah$D!&KqilBT()nL!3DY)2>Enh}WZjZC+*lWxEz zV~Isz)9ngaY<&<0+d~NP+g;z$ebI*L&T8tv`KF}Q0TBGdQz2Xp6M38E9RT2dP70AU z<>qQ#CbLG;9tijhfrI9Ivo8D~z{>%b)U63DN*td=%+)p%KL>cpl?Tu9n(wR*WT$M# zwh(u?vpSHKIMOKX^D|Ml{i&jkIS-8v?L3crhn?*yzH3fCJd1tB?_BU<>^FJrdTPyz z)Zl6b#O_G&C_#UPXg{2x?+TRb-wVs6W9WJWp~Rv0Vtw2T=lJ?u09ht)nMR<=i$i_v z%UqPh^TQnc=3kQ-&$`G_uIHNfi4q1}`;nvU3g%y?Z}UyxtR3M{>BH*ojkwfi=bA9A zukMYlpjyPMVVerk->*qpon^5j4AQ2d&2@WwqBG^bD|#5}JsiKgqU!v1eGCX}4w&Rt zaU-&Z4G$#al>e-WytN1p7zr-V&!nY%^>#$h5G^H-2Sehw&O{YxQ+Q>Lh)Hknd2?#$hNVfB&n(t*|{Tsi>=| zq;-Hj2!f=n{CUxT#9Cao{3ygLY(_vr(|tb-x!(-%wV25WcKAk?O|HV+885Helj*CT@9u9Lp;sE|luRRo@){4uyw1vyg2Nl+Cwq z?87`QIIzaL*VwhgvJN18VOJu7tpFGq55i{>UWM>F0`~e@LAZo=3#Ok(cqrnY*J{y; zuMq|bEt^3s17lNX*~bvRFxJ@_LxX&6YyqB;{_ zL+Q=V!(z0j7-z0Jp3pjA`CrHvo^;IXf!p7YGkYY@s9dKFzA-qC>om80c8%o1rQO4~ zZ$$pvF&3o<>-n2@nERLHQ2n529%ai`l*PT9wkD^auTM1aV7mE0 zPW9yf%PiE>PM<8MFUf)`c;DR>IN0 zk(xAc4C*BfVCBsz6&z(}6T) zD6fO8EKRGv!r6b^ed}Ym3^~MLjobZtAG9?Bc`1=Y!v}~CEzyxc48nG>Y6%cv_BD>_ zOl@~dyU&-aLe5wOY57byPt&o@?jH9wNhct;9Scw&FNyXchJ}en;Nq&C)l96R08uvS z7F{h|g@5c%ont9v>va1Sc;(=JTHSFp$K#c&(T*g3Z^CwxpSD|SAjH)ysjSyaJg_tP z4JZR*LE9(D8autv_EY~KFh}nD>*DI#llK*Ni&`*XVW?jA_Z0d@x`xVRb4Nh;s%7}) zLw#3L^v}?1IYOwzuFpEI&)zJBTxm0P_1(TPsiz#| zYoOghd?3^2;oJ8hA9bYlSeN!5c!9I9rU{-|B4wa0D$fvB4_Ip(Ug{MXBGC|rYl{kG zx?+KaBTcw_$?swId$xWLm+zL^(5$(0=AchZGeXM=*|-KJ@?DG7(O6x-T%yxTx{(5J zs;v!&aI3~+kk)ycAwS1k(&G3 zH&HM5**DEvCI80?%xc6)glLR;zKPU%VQ&lQyp975I=hBMy4T(3ps$1N1bKP8+t4h1 zZc6d4tN(kF6L;e;6F&v_8A;3hduK=QIih&%Q{6oq%o{e;f9=72VxtKBLi>d6BQVwb z+V#MFsb+md@^W0M3qGC&nxC0+en-fTRtEZqacPio9rAqlVnfA*lee6JHk`tI9#vk^ACJpGg5w?N+`PP5>1&GkB}2C_wt{bCOvov7Gm&4) zy9)g~3-<9RCb@~+a10>`=2Kc4d91BMiLlfsSI-7&vxw~Ubw2k+DRuzzfPIJr-X z_cVYOz9(bi!#7po>Kr^1stx~?e*5rvumTRKxGQP$kLS4f@EkAR)xxVbG7hJ^E)w;~F1yE~E|nFsM!1TK!s;nwBR zwiY)o6ymK2uBEA|wYn+PhK<3!BZ+t`g3E;?&WgZspRle8KFqrI6efP*Anyo*QsJgS zCBl{ozQmS=&`Z^VH(1lgkp>TXs*Bdb*e{LL_Kz|+G+R+jWat}l%B3w0*x_w|#~2tV zug0_wG07!e1a}}BDz#1HEDQ%nn|Hi{RpUvRuz7!`)WGCgA+;-}%@b^XI)HOrO(u>9 zVvqkn%$*6CTt{{9@3h9UFam@k8)FMI9)uCb7)h3m?HEwcrfF+7re{WyW892pdZe*t zriWRyID{xbHj)rX90G;_ArJy2VF_8tzOaQYFN6>Rge4)6ge1fcWP1s`-~UwAy>+{9 zk7WGb_r3nU`KJ3+)u~gbwo|9hIc4?5JRsh&(66m)&*)yKUJxs9vNNYc(Tdh+c3GL4K|i|2|6_@4p?pigcae&5Ae;XFlXPn5TFS zV70a271RfLS;llB$UuR%pC+&L2G4(NyStFe*!(hap4YJ+G9fhj4U+ICQyE#Ln^xKT zjLh*@fit%8)$dpHcQK>Hf%U1Jeefie3R$I+CkXN>vKgWNqQ^KP(wZPbFfUTM?PPUbA1Qu}<8}UsYKM$$zyvA>#8j2|5%*jm6#Y1xa#@swsy_cUhDO0v^ANPF1Zp}8|jz4Fri>m9(uN47{0 zmTvLmo#H3!${k!J6yIakFpBD#cFG~+LiQW#PvvOO+gtfN|HCM=tsOe!@`g}ww@lvz zP#cxDHCgYU_4oI(%ifl(r1zU@D*7wfGHpJYqE&LsyCWX#N;ald?fq5qKbF5=1z+2{ zH5~dYIPS#vk`c)IEPt1gZ?|YCHr$L4G-YQT!FB*6EPU?XX%}afpbr#1EP$%eAKcj>i+}e1>+htwyM0bzf&?P&(;pw{@E5W>(`5De}^0UQAqcBbSQwv_~trtU?ZNRyr zT+{O5+X$$gy z%u(Z~;FlyhZl>_9ieq5zvJ#hP`-yTagO@b@k!gA*O_UB({CjW2Kh~ahtvYX;#nbnB zp5FVkwss+_wc7Z^L(Jcz5Z^V&G&erXcl8$^Y;N2d{}EtGGA;5)=hEh6Sk=$ypv_k0 zqn20s)rML#trx@t`YYW1Z4fh%yZYJs95+$3T{BO4N|$u7t6jUX-dW}rcBPAJ>-q|B zAw1d1q922^TpyGOsC^b`ChhQZuYc|i|Ro1cr;i@yL)jKVoA#_H0istqN^ z^rtMp%4ja(8TugF@X*eJE6X!Wvr-qCjPjSz@oE0f(!e(S?Nt~J>`p2pwf>=gJIFZ+ zr3G&MEp7WO_{78F`%f3IA%D?om@u*-@`mf9ZJz^2kexs8@ohvO{f=X?bRd)7cf!by z!C-c=6AH$VW#(;61$dGFa=INmYMWAgJOA3#)kc=-ofsmLFzd6M-RV!GLu2hrzWi_I z_Okr`{sr06W`9!&mdu_iF12e;q-EosEI ztgNoC%dT+JUPD7DeUIep&{*{%6z3XISM!KyplP7$- zd`ylD9Wz>&ze0J*h94PdyVtp>wf=IYzgC_+5_glyx-E$*uN5CcWAa$>8e+I{{g!sX zJKyvATy3C#f*asyFsPP|vZeKXmG-E*d7y zsp$np&2-m!etiBT<%!`+VAO#+j{(`JR{4Jh&Uhanp1uS6{PzQAtTPdKIF;ueV%s0x z2Q$_g&lW#IaX%!KfO~HK3~Pk&K0tZKJb_3QVgf7>t#h5ybcfKD%%R^qbJiz&vYkBB zO}b?5!L_wzH#v1+b@6Ky>*HU+9X`9gUk5UrUCln2ajkjtb#Q6ky!$}g^?SU37+)9e z)^L~8P5Ba`)i8qc;vh&f8;@y8h%YX9sv{Jis3RqeoiSL=h)eS^(7ba#luVB+6-If<#E$WZ;r`oOT z_Twj)(di~o_S?683;AVp_yBdck;^7V5A~1Kc<-U#hwzC2U~x8Zmw-p(e7om`yVG@c zN5b1d-)xO&s&?LJkK+?=iqm=UeW<70OSAP{dY}47x^BDs3it_H7Lt{AQCuEV z9~bY&-T!Zn)5iOIxcWfXO^`y5_u|%cp4SNX7!lpX-{I~ty)SuKT&`*-eWEjtPiRH2 z(l4Tmb9dHmX6V8GiIzMMkMpp>OEKTK*S+0=pHo);F!qU~hpV^vw|5^Ar`=IL9P{Im zaaxMg`N-NGVBlk#cB9=*Dn4}DPr5wmn^X^2TOJ*!g+B7_+#aVX9wvcFb(g^KvAcvv z@kOgtid;i3T&#Lp7<3n6r@Ddd)#B9(9OHQYsXQ{ z2qyZq#)_%oBVXJLptDq;GfgkVNFP(+@Qoe$ULn7W>t+W@r@7+G1%6E|`l;0J>wbust zH6FfUdqtOzo7zmS2dDkCJFCZH=scO<*`0bva;?&#`6>GEX}->vkuEA})tilv5pVVA z$V8d*o?>iO1}b5PDojdgx!&V#b7$iE!6Qa4j+>T2tuIR3_IO->=;v7%ztQ(p*Vd1j zwXEd3CjjeA^kA;uE1gjM0@Ig15jgug<^WjqA`*vr_axxNG+5*WFR&L9oQ(HW(zYcN zC)SrvIz(P}cp7ldHN?DITE!@qv((yjIJ0y^5x$AJbJJe(bB=NOye>d}tyuc|NDCj% z>@9;hW{6$ly2)z%)qJ^u^3omYKC}&wQ>6zQE{@U;V-wKug;?rpL&Dj~oLYRFr6=i3 zoIXPJl%V~lh<3%x3%Zu`)g!u}PFbCq_8x3cw=`0wyvZSKf;)7}k4cSPZCOnYz%`gesd0~TRIpzqWW3}yVp`_YZrF!Ym7*VWmE+~1&gMLoq1sTTXS~ckk8lu^ zCyxUyI0mvN9^$o_+G1>L&L?wQ28qQjv{xLQ{MC6*`$H2>UMuK5)YsoLc~Bc@O8atJ~-mqR@0 zNPJ@?RY1#;T5pf~S83m}vXvnYgoC5JS*ExjRcYKUpPExuxOB_Q+XvQBs%^M3$hN04 z<5OiXfAaQ0F1>#+OWV?v)}yBncwepeP{5tFffz3Ivx9qHIh(bc_NQ?5duX$_T}mw% zL%+94mpVxbdycZ+c*yfYV<0VK#yrELD9-T;WhD6V))ln_1J>JX6N9`2$a|4KrhL+A z{8fwt>xaN+2Pb6yAq{nBD?N^EPMj~3%?FqpdK-C~NEN+}mBCqsli|*BhS!j|4_eiv zI*h|)`y5O%+M%`ZAh>j1eCA$oGGCKcxxr#&TOYs;uk&;vI^EG;VaAJ+sl?g+pAY90 z2j;#=jhd@4OEi31V{eCMt+7AvWr+4M!&!Gx_i%zCRhMpIOVpyIJdQYZH_FKvPU|@m0G0A?gmFJ|C03h;eT7%5foP zyYWGNHw-@Qzt?bED0?K0Wp!JO&I3l`_Q9CxdJj6^m#g55S%^u$A;7)PkX}>7VyEwga);%069Ge|HeKTwZos-}f zJ9xFRzCx4;S08smqRGT3<$0L_~7(vU;zlRR}iktTv~a?BJM;QSkH&Yxb&&{m9_Qh1^=G5?uAchwrZCb<>_D2 z$W8hASeHji#p4#3$D&WWwqD`VCM%8#%{J07RlHpUCB zC(gg&cGm01`S~)g`Qnsyx;OAa-)nJjn>MM;8hD|(UiI_lQuKOl)@j^dCi;iji}kVz zwkvr2^z;wa^zw==)a}!$M*7f#b(+GpDA<9J`QMbe)vv!((8jBG?lCs#)fuiE2>QRA zUp~5#`B`QNL-KyLL9*>(E35K4!*M=+2yGCbj(9#jhrpM|yiIm;?px@w(0(dZWVOFP zyvJs~5gr`JzBaw6hvQ z&a*ik<-m}aV@%)KobCyf&X6Y$Y+two-s=Psc5}y&9-tj zE3ecomZIp^7_N~&e0GWh4}xxR1Y4iw2mi*v{Nf_2Q;qxQLc=tFiro^pvGYA#8S3lR z(~;(i5NJ(0tiFD&-@SUuj9X?i&-ZgIDOvi+sMH00YNSr%LmE z;`>rQnPchu=1NEZX8k%Qo1A`MUcDEwB-G>kNMoQf&_qM%C*IyxjL6a6(ILk$_;HLi zh0Vy;lsU#*&8gHX?pBcSP(HvO8#IROE44j)_Uv_Q&4uJ-AXA6N@^Ns>KjY*0Koskk zD+tObSOVr{iPnF{=0g(RUFY`P2L4@-1k$9dj-i&!Hq&o%i_Z0a}#Job&y8wBVvC&l-Rh&6qh zbbZe7pS$B6YAyUZ2z*!HpCzyQ{u5mExA7@pAumtzyc3#oJy(`lFBK$!)!plUH+a>b zA#O$7pU+nseLAoIQJ?Df3;2`W_xJE$AN8r=p-<28J?_)*<9Fz{P+oodLSMc$t+h{I zL|*mji}@eu3Vr$mz*4+W5%7jSRevY6Sw1e`%XhYfT%R&otWUq6v>g9QP@n!F@VHOo z81|Zr>enB#I+Emv`QOy9ZReu;_9f(3-^eBW#d|e}w}-J%d%bi^g=LA5D*2Q$1Y%ur9ZYCmhbpKMFmr)plN4<2 zD8Y|=frpRoLLN#xG!B1Cyk#8z2m1ClYmBR7vIl0>(7Cs8DW5_cHBWyUyjo-0@!z>C z4IRWAW@2!-<+9J&f0hf<&%^&38r5e0r!dL}x${-V$MVAQ2B+;4i*|Q+A29qr@g|&~ zkx`cTA)de5@;a_x9(bN_weM}~jeH7qiqEeBhxmLS^QP@tLiag6#1S~;?s5z%3waY5 zjBXu&EjY#F=5s=DgwpyUd0KO*Gg*?3BDFQk;t2I{QaEWeX}-NaYU|c;k8^=EshvMd zdEMW9f(=yT;CZYSqA~bWN|pe`?=9Ozmwd0^sCJO|O=)|I&iOEc;1k2x=qMUv|B*iQ z^!~`y42MI)_hyf;_`b3kUokdC)GeOxl;<5Z4$@QRh7)LsVOG}J!Mz1qlBB*c*T1yB zh-PMvz;D`r)IV<}?YEW2?ehHbr75B)HDnW}aZ;jB-ezT0o__3Trh8*Ps84>8^0I}i zFvp8^DBy&zJ=oQ|Yuo5IZFr_%v)p~!0x`-IMI+XsEF2@qoY5TgD%gb{8`RY}`BbOI z*4v|Y*x1^jPSO1iPxlgIruYuDW)UCDgvBE$)y&%ZN?p!I-hrn$jrM44ybIhKm%*o_ z+qlb{1MAC*OQMUONJlhMKP@P25gqE2cSmi(r=z$ow<;8;L5JG-tKgBY`C)t8^-WC? zKUmcW>gn)hzYWKxOS_<5^dlzS|5o2unqz2}7K2_?{UR8#ITu}MPS<~e5u0<-hvu|4 z3r1{CmrvH&k?$69I2V1$PRlF%lI_3<*||E#iwz6WxF9Y|E>8Y$&{k}*d)DXB2K#X# z+l2Q-yxf_buf4oWNB$cb&s7H1Poy#kMpM1b=X-<6KJu^vy9Id)zhLFny=-LwxBGF# z=a9x52!=;bq;r<94jn~Ng5eoDu>PT=6X@rvhujlxPKH5WsQic}#LTETecLt2E}LoQyfy>Bb6oHertMNMU*0!ozzOX8WwQQ};^0 zpYP*5{cc?6VYEr};}1N4zQN$$NIqdHaj)B!C;KYiyvGEWd;(bA-uXx1)%uH=jM z>4J4A_BBee`Xs|!9EZ)xXlVhXuUUpFNCl(TsrP$2!y5cP<70R$x39i7J-?v48uiHs zNW*U;B`(%pwYqV*WAWQ`;29 z$aC^cy2BQw`SyMo-0GLGj&&QQt+pxJi#n6j#CV^dspHVD_CJk!4jevUUv z+v?J!S43Zu`7tQX$4V?O%ulCpXsYfV*owsao#ZBBB;tFHl{#27cfbY8`d}*6W?CUyHA3Ma(bkp zUD3g|I%MX{M~OdcEp2pd_*umEeCe9rUI+4TSa8>dY+Xw7lj1iR2UZJ&vF-4ds51O8}Cf0nYc?|LNh)if@5 z^IhXo-#oW>Af?5d4lqP*nK zr6;vLtGfq(rPo)qE$PU;@2#7|=uh+@a8Wwd-0sJj_>&}amDM4Fb93#j^;$X**%u1r zj3cr$h5Q5s?^|E7`+dxnPENlLi#=@$u`j;`qh|?9Lf+sO= z*w=qX0rGJ(%=o1^6}~>6j-Nr7G?V5Eb!#u{JyD-IX>LcE9Cx|!PS39m;*6yFg3R{S zh|kF7`Sv>A=3$0rh?%L&( zgU|SYZm3;(>}ssMf|i@bvB!&Tjlp~U+dQfZyBdR`>MMtPIBaSRHaVhzTtS|9Fs$BK z(=WbM>$UV0|4f_MY-Mq%GHSia@&Q28Z9aXCd~ahu4b%2E@+w-@vFczy#)kGnLs@o| zQe-F|escn7U4JC4Hg9S6F--9MT+G8LEgk&>(9{7QtwaCHcdc93FqevOR{bG!tU6|O ztIRii8GZjZ|2?dGl7}QqFnx0C-hU_``Tx`BzrL`(L3geV5ka z^S`^_CzkaRhA;bHz;-DvMXDHdIR6{??&JgqeHJ1-ONk(q)`k7y>OFCa$MsFhT$h|! zUT7*KTziDeo7e=J_c%Nr>dqlFrSvWGhtGb!9ojPVH=YyBt%qQfu)MN*LJtqPJrE&3 z>EQ1lI@<1mgwrE3aflWXtfLN&xu<`1yeUq$u_)iz=h4`1{sxg_b#Eg6T&fEx&d@7s zw!^3Ugy1@FdpK7DuD_l@?yf9eS2|`op?$Z1!&G}D+iK||VBxc@H%!|Q=(*f3+0(!I zvd!RAe6tU7(Ansm>*7H8o0WLCw3B8*Dm7@G*aCj7OZVjV(7gUg{L}tv5h*-R7)v_y zA$!jg{$jQs{9^>?yywq)E=4?dKDNuJ%%j@fy=Wg^mwc~wNpEvW#5;W9+EMOU*DjTI zNw#=6xO7(j4LW`!zKsnY#eke(?N!X;a`77MPN6l`^X(CyZ@;zy-<+Jqd{!iXg~U_5 z`%^p#66uH}dnmboX{IrYgHo(F6yGI#C_VU1h?lyf+Lj2)Sj9htMI;@QDkHff&M(+b zVAzW4*2Q8tizhleKPuvRSGZ$oZFR)+0*=8G@qC--`QToi--`CR6AhkBLD%UW0 z<8Zs@r@o7C8k0+&x9-mFL@oA(*+G6{S=YF}BZkzf$+dJhV-ncx?8+J;kHR`E_$9#c zra2zoMpAk96w6y%z$}+>D4I16FC{H}*kcN5erW3;@xxaUvb}xQWz_c={@zTb#pg?I zc=eXGUf7T;g%>)SfN)alYIb%<_{jY}z#6zOwfdh2SW#uIzL?k> z6sUwsJHZn^|IzVa`egHEkE5*O6#gj(sj0%bu{K;e(mzfQ<5)E0)tfc^+lTtgBQ{|+ z%3ytenV&COgE{j}P3u)D`bqV%#g@7v`a6@2&|O%4n)6qKQ#!K)=$}IUYgYgI5*H?R zj*=Xy`k#=iKNB3Sw(O_1};@$dY{POl@M{PkoPq_uSTjaY_G{gEdCYm zIPHZFBk}_BLA}xC_`k^JU6jUr79SMHSvF<%7n@wcwYY;~hL4+-7a- zpW+^HvzQ*z#*VlGlPFl}rRuWuM1eIDI=5bvQZLVLM-#S@eh|eld zC7<3gL&1-+-va*>&L}&_cb3){@Uj}O&u~rS@9dsNnJuMdizz~ZG)+8^oVbVd@Yzyw z^j#Pacz2Vs;^}YQ*p8>1msg7qZ;9&mcF|QuFV47aKM%Nl zdGlqrl3(`GpP`2BTbzETgZKSL`kcVdBMtP~2m`lj0Z6oVONUa5^RPjTVE8~bv-R2( zr{T?N!AX_q%XY@;Jv<x9_;}){Tc`lCgT8Rs!Fw5-WjGs`GkkBajd zzX-tq!9L)P(X=hj1IhUuj;2S)c?{3wSlYwB|F*|@Typ4Pqxn1Hbn1yPSo)4Q9j$@0 z%9eX7;-RnO(m0PjCO{RQZBJBiZmUo?jK`aWh+sg^i2H$7#eKOUdwk(G{oDUq_B2 zQby~>)p5G>Za@S&*dKJX-En&F=;)z}-fGV5HJ*@9AI2j&HSF~Euj#nhmCx&NO^y-# zvC3;GZVh^3Q6773#q-AV_nNl(TqD9*d{Wzd?(u|>Z+F{#Fl`t;ljrA?+vY<)$9hZi z`P#O5v|1h<=UrgS_mnuFSJ@2WWESeWE|-48Sn#q_9Z!wZsxVNxG2cJUe7`=<%c@e< z>oNF{G-nsyr^R{mc&jx9&OJ;|d0y;^^V<66Pc6QW_U6)C=2ch>jTigkyf%o5Pm9rV zWn{QQ`~bx>vAJ+VoNr8~o~ZK2vk9X%?2q$kA`g}Am9Z?BTQ_cu^Hr-u1UY5uSr7pl z>GIr^%i|)mggMrX@9DX`Bb9*xT-Mv{A2-K&Ee?Us8`|=#*a%*HDPpqSd)$VsfE1Sr z2NEjm<|6|kSlIdI8RV5sdk4ykVx4{M%;G|g=N&N>G~qh^X|hSM`OtY9t=SR|ys7R) zcB903TAn$9`53$jXKZZmW}0E#3C_=O=29M&!_Ece*Fa;P2Ll2Oy&kasGu)Nwmd)~Z zQ!DnpEB>j8y&7lAFF5yK0d77_Y9B|<(t$|!;@pxpsHlAp?JT*t3i4EEU8de1{+`NN z@|sR3!*wNnebw6j#YI1Mu2y{Z`DgQNyBka0#1Ni7HElK^8mCW4o?YqnX}gl)vD(cP z^>gcqi9(19;L2W;lq(Z^4Pf)&Nl71WbS@3ubMM5Mn;%b3Dm}xs8}{G4$Nj$6|Gs5U zSaXyV4q14wTHg)6zU!0f=m;<6Oboa>o|g1Y z)o#jY-;=PT`@DO7-hKY}zNA-*3|*9?^B%AC;n^x)+>rG4)mUjmz5DIA!+)cFKWzDK zqAr)wwf*Vtx24_ezNbE`wVhkf0*>i3Pc!=wK9ce>wc`fcv_P-U2P+UI#j zLPV^n%ro8Zw9K=Tu|Cq%-v<(eL|4H2sho^eMn=jsn)o37M_g9l$32cWd-sVX59>|F z1}j6Av1-kM#hbolup$wp62bbD-lK$@neZU1Yalr^+K2J_-u+n{52{Tg1LL(D_uUxk z7)(YghuAKtA*H*LR7QvU50-0pRMNh`J-}`+-x10l!rH+k@1&1Qoz|c_w zhPl2OPT|#~w-aJfZ5c^eHHn#68`x*RM;Z6~qH#W!a0sfo7?01k@57dF+`c;>n`$z3 zq&zXbT(7x!iWBK?hjY@#>@7F%_hWl18JZZaO)d~!0Rs+4+hK$0mLH|BhaGX_r#$R` zAJv?TXuBgR_l^5HzstV6`tEe~-4g11PEw_y8@qP}+Q9it*7axkb-jI_(VS@Ozw}iH!5?%0 zU97uWd--qr@hZKZ*FefHS&4ELnru4o8&_;i)R+dR$9bGyMtZI>Qk7+kt5`XIVl z_KHiB7M)V+UOI6CuZ`L2>3Lb$Ybz~Gfve)_D0s!w^!tmQUmp8cqO@o8hYrJH45}@% z84x_!3{?4k?Ky*+ujT~5gYRA_FTcJ?;QF+tWw^H|o43oKZ;HJ7f0+M)F4dv3M}ehy zp(5Z_A2<7Ij+58kvs$SyV~~m8-j#`9jFCjPH1kVN_blJdBfty!#8{EPpWZ5J5IaQy zHJ$-1_V-hNY{uX3yU3%@o%}~v8r*#^xIfg-&!Md3q_=T{Jy+Pz=>*hag2+o)tsETD zYYZ5;S9zp-j7vf{rgUAXDZD|(bZ*tCSL5K5Iel8VqR3<&Y~W=fk;*>kNaO^7t!S?T zq?=e4wglUVDjyw7gsb9?tbXeeA^9RjD_920w2# z&pBu3>T)@<%EU|Q;--Bcsh?!Gbbb~+I9{p`k5Px#!IR9@w)U&GkinVR=kfw9WoCz@5{E^@-%;E%*y9_wXdd370$YajW3Y87J+(ZGt&xoD{Z0 zFqFmpn49Tw9+h{xP2h%7DQB&1;%Pm{(|kjWdwGzxO?;Z8oP3Xd0y(^`-`n6}9X@m( zGsF1QEVCI7)>!vG;`f2)!4Hj(*Yi97e%9>iKCU<8ySjPkkq&*3Tj+)Y8y@6(&F>X= zlQtfwnTfdb!=jr@CnFwwU8kaE`T`@G;YRo7%N8iFxZIbbFPE)#>-x@EMJk;{WJ^Q$ z#}M$mu<713>}&3Pq*(m8diZzp)Te^WCZ1cDlWPrk-zk`E;hXOur3XLac_DsE|9v$2 zExq>-sAn7R|AtAs-#q5)z822 zl}`chNNx?WTMR5X%2*!|wJYksPUIfhc7znQS^cs_@KL>SvCufqb}70v-dCgcai;cB zEiardwRa61x+8kqo_4+>P4>B{a0V&|3r&lC5-on<{(sK3S@$~jK5uG6rFO|y$hcw9 zY)t8H$a>Nn+lGFYeTU{n&-~If5w)h*PGmkJN|TR>Ld}h?U^?SMwnghHacrlLr?y(k ze>wU4>X^sO68cPwtRGKG+euom*Og75)fA=kCgHN83olHcwIunN$QJc<)F-=|ZJ#fY zcj}ij;E~Pq@0WCU7i@I#Ct_P3X*j)$&PyHK^4DTU;TT)i;!X} zUIuS;rpN>7MAI34H~F=X-i( zn3a~r6S(C@MzoJ8U?E>7V=w(&DiuifJqLctW!D$)3B4S~d8#P5pZQ@!3rcTay{+ zf-HZ}{37V!UCrYG7|us81|B}amd>e~bDVJNrPt#0JoxfZ@X4kvX*tijoKYciI@_@>c-GAy zM?`EyT;ILi+EQO!@ndz3^exGJ|LP37mtWhLvLrKMW0+qIWRg{Lb0hjnW=N@P784N|5x zCmBDqM!W*t>ic3o63T?d&Ba3V-zgd5l{fS4mEdBIuPyk9nxeJDSb0^{c6&>Rwl@=W zK3X;I@AG_k4K@v7P3J^EgbVcu!G|$e8|e@0c1Hy7?)^Wb*AurPqPdSQNhywFB8UtEZq|Ll=d3VhL-xC?yU{2@l&e|NH(wdaRQ{N&^1_I#;ZZ@q1OX$hO{ z*{8}v`KiP6t2573(E1gTuMbMkVzSDV5Yk8FNbeCW7n3sER&fqaW_ui7hW1jBwZ4;iDuls!a z1dn;U&$m(Vn7{jcI|Yw(I60Gdu8_7dIZd50sOUn z8ZNf0YpX6L%(svxva>Sya{Dp{!<)O$J&esf(7jxcUw#cbQjN9qY>v**L6w~)sO{QY zf1PqVN57`jR=3!z=WcbLKH}_f*{4$gXq;T|9`I~*7NtlQWKsz9i_(%&f6JGBf#0XQ z;b(%bMeiFF`4x51XwIU?dRG=KIkv;tg1p`g|84Md<^pUQU0ds&Ki3KOgaV#Tn#a=5 zA<~t8hy3BAvuD;^x4cFGYrpvTyOfcPvIOxu!!k%q0f+mq(-Lvou%;WXxd_{>(b`%P z4gampe3@QYu-inx*C}>0GFSTc?30l9@LTDVjfQB^`STB=Hl^?Ev{Yy9Ye#6>);|Q7 zd?vp9$ea$S!bxr%b3x2j?O~zH05*RF9Bm7T`$X;Lv#f zAarRi==&f0?;FbAZoh6KE(LL zvAC@J1-Vj0vic6Ci3W>$=j40UdAZ<6#_9{YMjn={XqL89X-8Yr)CXNw*TM=B%x2?y zc6m6DoitY1p<_Rf-AWs;&zjp_MB8IHXQZsPY&i#Uy7nV;< z=kwnzcyBemYZ#z`w+Y5IiXA_rbH;N8KRCU(I1NF5o~h2+6mA6Bxk&I6DO?0)=c5I| zwLs9)(BI2~F{gEnX$PaIt!q)54T&i2jMCD9?cz)5-KI}QuTL1 zA$W}^?F%}JPe<)wem2+Q=4LaLy49A?__lnNy{L^1s|%?!ff2vMl>G*W_KLp(hxUzd zx39UxYq3Y`)6U*Oze~yKVa!wPeey8h6whq>?C9L#di`V=>&m;?;I8fZy(Kw4$U8tb z4)psHaAD^{Fc~*?1>4FUDSlvByk@XRD&GS3W|pvO?UN1b=Ocb$E1R{apnc-e7s#)B z>}xvO#!Hw$7mS_$gf}fC`~W&)d=>m9M%!dK_`v_{-Wq7%FN!UxaLQT=ptxKAo*7Qm62kCB1vhFnFdV z_&r~2vXuDv&+sF>0Kq-8o*E+fL+aV3W&9a-49-^VH(TYzq|QkkGOxkAItwrI&0eeEK8W=B8}m%8%%J2 zchZX8Msd4(HD0~}4xI%)%EF}ip0u35($jIzWK}PEu*i&i=Q&2>Wcy@V=H%~x_iYR7 zOqWrt`+lzP8Gm7&`Om059oeb;+p1S>`!De6jJ^P~+MFZC>x+#wJq$L8(gELIYf%$0 zZO4E6b{xy=dz-S~dTSU;7|cj!S=A`JMW`nVQx4RcFi;`q0kF6JSlYq&ZzG>ESl58zDp zI$5IyN~1K+OW@NuzstApF77?JA5Lw5y7{#wS!@tPAg6oYn#`G1Qjo>CFC+XzCa=kM z%3{ozsv^5z?4-W%ap(67qg8F!Y|wq|Z_@S)ykA7u)9!xJlG3qsvFAha{UY462Prfh z{dY=+yQAj&#fO1QF*X-qfaKM1zj#U1_JaGx3!+tgcsO_@Zz^tlF};I|IUC}F>1*1~ zNBDMzxxZ$ek;RA*KCNYsifHXjit&jS-E};X@w}5l#kABW#%duVv3*Tx+3snXDqQEB z-oW0ibZ6O`bG_u%Ja10AVGe51_}<~`xHWf9G;u1uD~%klcfOt8zP%Ucvzdn_mu; zs79yP7uG_wi7>}5$L@$@=i>a@0Eak}3uSk`dZMwAI~(py^G&drE+}(hzOFa3zkdwn_k^_a z9Pi;03@JK$ipTgLRr>NwweYFDtIu9>3E1vb6MVd5uqocSZ-dpNOh}2wRy#_Bx1@u-yLtUQ0C#+|3BA{-C zgHiM9N{_FNE^2794Z?zil*Y$-oTZ$NFYi&ho=E#v_W85^`di~-C*|zj%1H09RpTUk z&Nc1JF#fjX(>*pf&V+AAK0UQv)EMDzH9T?Kf|q;Mke0)F6*#-Hv=ra>v7haVUu9yV zA%$72pi3BYkEdMtTo=wogr z>a`iSM+lC+tfvT|Uq^OPH@33mCo>Q11Ya!Gxoq%-`IBB&5^OD5JXT||sx7)W9&q4{|_ZIGKScj zW%lbXX+P@ILK~k%KfNqjwgM>(oc97-Se#CI@g!ic1hyW*o($|Y)a`nbhWmZ;THvow z+~9HsiY~T1Q>641(!%FAk~MSxayjRT8pcdtpK)WeILXF^#{PBS`3U3vI?h+c@-u21 z7wK7RUv}5m3^3n!ga*o!-PAB z)FU8V%miCuGyZCy%kxF+gZOe&u0M5;WVcJ{T75Hg$tKLKi=#BrSfahRMD1<47kLOY zY8>1OZr%TUqwReOyd3Nw8arGe%*nv0b0BDf8Gp05gwTBdJ-*FuJ;Yr=6Uih!zs}It zovcK*CfQgxn|>#rRNDV4kN=Ftvm5Nh^djrjmER?*q#~j z&0-)xNR=T zV02&a`}u0)SKfwF@%c(-!^bqhPe@}_bTCg!hjMLr=ya&PL*SGg_P>z*i`VvGufiM3 zC}dp=!*XUIYtyy9O_0yWM`nx0OlOj{Q}w7lqfvXbRyn(vjq4H3W1i-_*gv(WTu-GM z1KU#@JQo+m`ovw`nvJs8X`?*${UwK8OcxZ(rOJ3xdWfNBWzmL=m*w~2?X-Nn7E2o< zLeeB&zrI|Eo94y=8>vjweOic@W@%%D$vQkb-sjUooHSRiTpJ_sC+cjYCB#JwX}o=m z%dw*~#6q*QQK$b7anD?SXsAIS{x)h?h<9dbzTF`#S7>{Pd1iTdP(4Hk(ijwu5brEY zmlodGXLW>FXRdy@=F5fHW(KchF~UMTGlLHdl@IbrBu7i)G>rD#j_GYEA7YxhdRYl9 zn;$NoA0eih*y2Bp~K*k9{ks7R-5y96jeL$+73IdaL_7V z!BKE_&>xzUcko?vawFW;%J3NO#ukv=uPbuliosxZ`0n)hg!?(s_fU`EH4ncccXrRm zHU1)N1-dqzw%6RX5BRm$bH3Pj42yC{Wr8wZ z<(^A9$r(5*w#k*rH9M2J!D;-%PI(0vin7%cOX#blc#CN3GCP>!T!DW1_VyB!Vy*5J zU4koq@ow2c6PjJ}wE9D5`e|qkpPN~G#dsGP{``Hd@pFvwveD~2*!GUzaE_HLK1xFR z)A}^*7m8obZE0iWH0GVYy@G8)_kr`!s(2t9fD$yVYh3_J1K%&~=32OtN~Jl5~c`n|G{+Ik9xy*PQMS5C~vwjJQd zA6Z)H&|k_+oCm2(THucaj?;Hq54PsD@HU9bZC4$u?j0$O3&Ds5Q6m(3TIMp#ll{J& z-wSioqBhNQ1+d1crADA>3Eu4l#u8#OzVPl+p8Dc^m|KEf<6$T*EMJ3iyInbpt0tNx z$K3{uI+yCFoi8KPvb0Rz@Hr6tCbC|1%eWJOGbnwlvGP31O4fYxwe&H49ptv)_tlXM zReDSg7(lv4r0&JwfIijUTguY3KoJ%_$Yg05p6BfA&)yKq;N>c2u!oGOoZr_P^f1GH zMmw*YG!OugZF}W9`ShO9dmq6W#mfSvq!)KTEK$mO)g`l)c!s%jN_dwblLt;a`W>=VmT^Bt zJ9_b8kH5UqIL`ABT{2T!y>oGXW~H&(m|N>wojtjFCod2X#9{T$Q%}Es@ARGXOEU}W zv-LY0$L>DHa|#%Ls_)KFmwYNe($UVgU2jbGvT#~#TN?*C2n4CmzZ)Ey-}-(TJk|Hh zk`9Gcwz)3fVExIaTyMB_1HYJ=`vR4t%=h~8;q4=(>o4S&oOdx&{P+3%FZB6^OA=h1 z_F|v5FLy7ecm=5f!seQP3xTt;dm$}b%TH8$S;ynOU$iTJ0op(_^^iAKumKjG+Y-GZ z7bW@iU*&eVazg2fMSBBp6j3fq5)I!2{hZH_+v^0_0<6exIob=ll9{F?CwHhWd(Ure zWt?Ts+9=v~TO9&r`L4@ovb93__N279vU(Ru@jYm>3uhA1eKY%!lSUj)_0w(1@+p~L znFb-sdw{%EJhtk#F}nP!uMfCx2nkwQpG70K)<6j!wR4bkX*^EpO%+RYbe)4gL(s*e zOATIyM0MzJz6ki3gX<+WYuEP!n=lv=AJBMP_K3D4$q6yvn}j(3hR3iT{s85|=guTI z;tS`1=F$&RW*(k>nE_esL+|7<=8{`aO?2Yd0oi6=MCo&-P^bH!=CA4UEMLe#lyq|R zODL^57vwMT7oSs2+qE@67Jh_0(lG|0Xr#i@j{*-Lo!2EZ7SX6S{up^BAKrsl|DgW>NHIGJs%`zryuxHfLv!As5-u6J2yc>19#7 z@I&38TF2Q9G8kQI|I5KCUFl0%FD1XW_SxX!@>D;TxIwR#{xlrz^jX3M%F?|N&FHhz z!bV~CGo|OJ$S*&W|7uH*WL?yhBf&B_`VE%idx|JeWFp@JrTkRRJ}S!5>;tH!gR z{lgrI^+dE=@L~w4G`4;bJQ`agO|ldF@H%k=bFmAx4v*KLw?5DIZ7I>ds`D`31L3_? zuQ<;3ew~S<^ql>V&cYHE7Q-!BSnMPGIuBc(;pwGyn8j~cIewpzVK4Z!G z$0T~Khj7+eoH^sqId7-lckss)$=;PlX6@oHoH6uW=ZJS{4loyfMgPyW)qg0iMOklk zpqWi$@HPRNRZc$pRgWv2iIZe}c}ATqU#|sxw#cV5Vu#>W!kRU~OM>&lP#tMFO`?xf zW|QGsn8zM85^{A1nw=?so%$^jhojiuO41^LUO6M#pl(gM{UPz4xE#}~XP0JRJ~V25 z`VH!T4}Z5u{Qot6i}y;4&vC!S?_zma+ac0bg#+nWbzd6MDTYD*r~STowGFgy?=5@9 zd}@BnUh9R%yt8S@bTLEe`}7%XBuU*H(^&V?*^XiRm@QZqAk*fP(w-~3#aZsiqqv!Z zFWbGL%PYP}&-=UZD16RIripnFcC{D=U(^r3M>)xh?<}>GUr$e;s-q>Vfz$9rzrmq- z@dx10ya@N&I(K4uzuYIOD_S?SKk%Xe=ez8VFs#kmA1vamdo?TPzo)%H=g1hB_JsJn zslL!2Fw|%)hjaKJLYLwKj>vjGqJy(^h}>y1A$rHsA4UA@N}@Ivv{`(6ujkuk@a~207@eRL!rxDz!Eym9a$VZ#S z=RXF&wgZ_$oy>)v3P(RN~C|*}~ z6e>)jGmY-gQC4fnCDu8uWTA3ACF$~o38zgPZKnVw^tW5Y#8O^INQm^LKlIIm8 zn@Va^MED?RX|N?Q*ck5GIe5wCC46512Yy+8Nto$-GMz3jw+v(Uc#`6-YHil}@o%8P zx9$*{1hvlYK7>Vpz@smbPj?@kELK4#M?mk#Q~vh$)&}rSMH4fW%Fn>)*j~?X z?sIx;!_{8QbI9fTz+fKW#-#F;b9uPSkz7xx7Et>(T_o7RSX!gXZnk_!g*?r7vDG*-A?PNSW|4J(mW4JZHmin5cc|pUAIyK*-m2 zdK2Os+xAo2=ObrF0I<08-PgdQxj*Oo!O6tSgvfX6yV@)m_RlT=IzidPxm<8!&PWPd zV>wOFOSq@uBmy=KTFpdy&T?(rjUi0Ykb8*8+_AI$QwF&AX?1v%JLF8RVsfT;83O50NgE5XPA5>`Io27cq~) zMZT|gsf>BcscTFsOzGLJIL-uuuAiF6e^uq&*>91tbX_vH<{CjcuP=E5eJ8!lf=g)O z&jH~Zo;z+7`2H4ceS(kn4=Ye;X!oFCgWOtSTT}OT!^%4(c+id|b7>=9O1ialElnRD zaQqS8S&w(6?zvPD$6b6p0Uz;(tSlXCoJrYcEOmV?o-T{0Etvv)ogFyO0hInNnkQ$N zC%Ligr%DdS_|{zccRyGDzSLF^BqIc7%EaCqY`%D8d7#Zb&6of5^Cj5EYb~Rf6;ate zpX~ds8)&EeBzw=AGeocjQhxl=xb(z4h;SFYI>$|?7lADupfPvmT5r?S<@)3jQE z>&{1O$N!Fag5A{xw?lmSZ_4Uivdm$63VccHd8~K1deEMzvIoa`Yr)+MW^OMVWJvk- zP0z3M%jnWY&&)4N3x)v|-Xk_wUu8CD+zb*0&p%65Uchf^e(i+4$EWcuyENieyA1VN zGP||f%$`ev(spQmpwFX$Vs4_!&NzUtJ&nmoF8qP}7`-mFRDqs~-BHb_7CIc~@#H+whC zVtiDeUF`epLyv2BhFu%R?0eiBHt|RUo#*fM3K9(OeL4Pd7IofdHkQRx>D1Wt)=#82+k3YubEEJ{du_i%9N{Qn5n59xk&b^*7&lcw?X2+}p4itne*MuF$0 ziEGnelYN2jHY^unD7D?5<0rgp6ED;8mi9+F%r4rGoRY#s3nCK+P7vxp=yqf;5!c$5 zmWO;cug|T9v-zW;VLN{}K}WEeQh$Ac1Ay9+@pMzNgM8xYrTTxat(;pORMef!!K)Sl ze7|M>U7a0@h3#}_({|`MQQ;(DV^4kAnaroZMUQkQktkr}`Euyls&^Hlw^%fGhrqY3 zWAz?MTtOZR^6q0P6F$%Fh)Hy8Z>4$jWmizKK&ClCbUD`TCD+U?zA}@pV8J`{vO*)5RUll1H-JDjMw>LxAA{jZ8O_hcZ zu*&g3+jMRYODFDh?k+@`)=%p@9aLjs9kRAI-O!co3-ve9z2@6zlYsq@%cgg z_2XTqpiC5x-HJ#HVX1|DE*xRn)lz&ZJfDGjWfn;?dX*mq&0_QcT%iS-T!JQAH0< zC>ohLom^mM51Bck7hLrzyBYuvM9R zxH=Hk7>B^n`i59cf^`YDn1}IJ&RPxY1mzP?q}SRT^~s(jV}j#)$|B>5__~k$pMtMX zD7Dx$YCTNXyhpR9qf<#?!KQJ4RG-~X^p<-@F)r7jW7NA})TX*_B=2jf>(6OVn?CH5 zYhNU3WWT|ob?oWj(B7)K-VGl8K^k`5@%_?_v!L<)aSLTSlj(&ZbExhTyt*|->8>u?-VLoC@%N4hUW&eNioSP7 z-!F>3Z_d6y_TmTb|3lyYXIh))de>G56;a6c|7ST^-|9*RJK$jB3#+pR)LLJ5up^DR zxfIru!LXKacQd^X*58Gw-aI5W|#6zzv5j)#Fpfg=~}fvYhS!QM|-}aFe#erRyz(+PIF@`?I@PTh0D1=4o#nJ z@Uo+yVmY9-<*wXZaJfyZ=I4Xj$Xq@>vl@#$ZvD9%8t4;mVwJ&od&LqQ6di)BH38z95u$kOuw8H}>x)nU)8{Jr!H$AdL{j3(@3N605T_ADW@ z`8*o&#NuSc^;|$3#G5<7Aze&^zq^WgBb%wg2|~`9aA5|Yy}UAoHl|V@s@B}e!7Qsb z%0;`!i}CZKPz_69lso0giNTt43MR0=N8C2q`d7Ssj_2hs`#E=)@da(+(yD@b<4$U? z6Hdqe7Thc5;x2A!iXAmE&5cnM2QBCoN9W4xYbTbfyk9LfxYJcIp0`=~Jp5|lJJ4Th znCmRg`-qBUR9!!Ix5a=Fza^*EqJF&GS*~rwNjIv_*DG*G{rg;S>z$~#qs%Lo^{waR zPp;?>Q`jPhC&5)i9&R`{U8=KpH*<-9#HWh)d>6(`YxNBE5>uCZH3C2kD(>Y)!K<=u=Cv;y zISABpAj2bhXc@Z1n~sP#C#}sZv*C_sf!|$;JGp9}2RUxh@==%%Z?d+fSN*y~UY$+8 z$!1-A&d1%ZTGf;8X_Sx1E~_|=R)~+w;1(}J93SnmoI&bK$MbQ+EI%-Ie&cv<#-5uCdl%dhZ2G5jJA zw>`CgJS15i7yGncB5qehim#t|p@xqL8kkXpL`U1hd|H*kq(iqS!*FsRWaWk?%PCyG zrjlpZ;KU2y4-%YZ5*N)_#D2j->J|^bmpqb*);Y)>D;^`>u&%E<3|GB2R2DnU!RgPR zk7~7M$nLcp`uInjoOnIW+u*nES(xJKf>(lNr7t}vzK}LxpOq%4ZEB0g)r&|AAKqa( zKaFmQz%w?C$h(E z{ZDFo;QqhP@u|p;ExXIod<^=>Di0p;FpllpTGx2rAiXFqugsjlILrJi#50vs9^N|` znqJD@`YEz2C;7T5;`L*F4aq-KI_s5-heL}!#_fPoyV4Whu~E47>@KrO@o*tTKS-^8p`7b zC*>3F2Ec1{W0Ia`Lhu0CMKk{+=rA^+cgI|lgZJ;{#>fxJCcb-_ptO@YGbH* zvdizCen+}rZPeKQ@rX~mbGoqqH*I8}vl?e^y^}-fgY`{6xwg2*ywxp-Uwd8#wwLqw zTH08=KUHMAfvbynX#ElcQojErI5e-Md-Zz&_SrHh)B!x$=JBj-tvcRop`pUMZ>w>o z&$2n#ri9q%Rbm)~X9%LS&SY$KY?AOdQ^d;?X4-LkWS{p_&=KOfM}#YEygg`+KL&x9 z`gr@TIhCe(p1cAaiea>!tt{;Qf@vOUj9FV>EW4|RnH-?sui{Vgz$^K$59^TSb9$fB zwpRnc_ME|OeR>VQRbIPgDF5(MNAfeid~2G!yA$s1$>!~wSma(yUj2U^{{vmBLuG#! zSc(_PFyNK^AY-gm#(KiIfApnSCijsS+pc76T?Q=naA5K%G-a;`9Yf3*yx;}5@KQ@dJql?Fn){i%lS3G|_3~6&_=&AHo5G;8= zkTbLS{h79{1)Pq_H-oeNTF*HHd`)=t)5-_EP`9_^c-AdO2HX6j2w^3etghMRKbH(dwY9CQPINmSOJJ>B)oU;B{ zuMjLLHpofM8cVVr5bxTYYjh{eso7EQe;Caw`*zRwr48uKQ7PjH0(Quwy_n_;$nEKV zr>|Rdyvu(-wLx4fwbN`SHn5S<*%SM?Q+Z2@^)n_>Gbc12glC6rEe`WWXJ!FoX)534 z%3G>0X=&XIj$On^knIeUFTI-(d^dNEV3d!i=~o4lPb0A26OH-wt-W8SoqN#HFH1kL zGQE&h?`V66OPAMMeZ|{`$W~;3A}=7YaaNTw#{pO}_Byi|lze7=?adUD$ZlJo#1XkWT5y746=>#4e?m_m&PGWTeSr zq}j5kF!6xX;d9OhzvjcOte=5DvcKtR%$~)%ca6DV{poCQ;1<_MF2IS*r3e_rI2nN- zCHV24h#%5(f4g+4-M{JEy~J6#&6(U@I;~bGrEAG_f}X?Z2`epWv|97$w|$#0NPk(g zz>V(yBd2_{1moi?Jnw$j+Mj9{Q(08!C2XTdmvqm%gq_UNss^akSm`-KdA8;A@Y<*4 zF#g|X^H3Vc(Me0cjlD)?;@w z<yO^nIz0T*?tv`ZReEW|(pgXf^-+FJv3ysk%8uLS^S3G*3=h1!0A=eh}6N7!@ zQ)%#8_uaSk1C&);ui&glza<~!xAZRE(VxzKlC3UIE=vAb`5Dh2^5u&4ZBzlDd3RG5 zI^Gqk3Fhnnh{qFb(N(Y3g1+909iBDLBrD3d3+o%89M!_1%ky37W}BjPvoguuLJ5cPVL9SSX8@Zet@#mBYAB*>V zfqYj#ev-1!gx2pWwUd$QN9;`wj+gsnxQZ?8>CJfpcmqB<9LgBcqn{}sKkxat z8$Q0&&xs4?%Im-Oyq?|BZtdY-RWD$V`U~IS1k?-# zqt=iwflq7yWu9MtpBu%z#{Ai}zOl@ez8ulbyA93QjO-RDb!eV_g|a$xy$OA+>b#ck zs`CZZ>2({`L6n5Gp;27Mf^K8j!FW}Cu*_8@fd{pQdEK^4>#Gb5^p7($afTa|fm_gb z__73%8XxU7y*K)8SEhG-v|6Py@=C8PIYn#HKR_cR%wFNLzmNyr zfUKnKo&i!y_X7(b?&G3rT(?93t5<#U0A+Nic!Yw*`*${H3v34kGF$@>dY)x=fU@`7 z>Fxc(p8SodExV%mu@Mbw&%aSlYtYvvw=u@v#9Ac22KqEdu}7%~|2_TgOx94rxxG!l zk=xRDu=SgFup4V@4fDIu-Yl8nKO_3M)8Qc98uv-`{1^EYzyEe7Pw|>q3A!Qtn7qM< zbyoo#PD}r#u@dxO{{w!tuUP)ba5zhsCd3YC{U=_1%j44bgkXZg8)U)v!_#k)-VHzW z*P(Rs{kO`z*y+Y}ccqsv4`P%Ta ze`$R&H3{mU2u4bkRyZwJ8y*HewN>9QNx!@Mj)(KRh=#462K9&95c=bhz^^r2uKc5X zdCAP7tAsPBvbbz`$aCT4ij0xjxk3*$N$?(_i#^ z7?bid)|l+(zj%8EIOFlG-#htJe5EV-uTRijhq7UOWO+-;RX(rAhu~p+bn!hNA6N4` zjDb*IX!Hhc<-qagFfvr#3tsDgs{J<1~+t$C1bBt6kg!jfKYp z)A$%$U$wgp_4^ZnrMzU_RDVASSaW}0M1PMlrqnl^>F?d-(dWthSAVzb8};qAeWE*sn@QK_7XGVG+VNCEZemoO;p2gqQ;45B#YQw{d zUNJE0$O^xpMB}YY*)ZOE_;I(GN4?<#PXmQ5^s2r623QTS@HJKqZZ^WJ=vuIP3f`B(LE`&J@Ihj##q|(( zZ9J}LEIBpggnM^~^l>gGoYs&l znb(zQ48FJH{9{OC@peBJC%C`U`jE8Rf4LZ6J!S63$NP1p%)ECBlWcqjJ2}lQJjCZ$ z6h1UW6N~1Z-dnw=K00SF4l^dh8Z{iXg)>-TMQ(BxCK(NC-w1eQC-=VV+nvk8T8+A) zKD}r-^B}{e`8Ecwc>mMyXY&{QR@Kt5XP%)>?PZeXvwR&%mHhey*+=N+x|? z)qRqDTGs;p!=$yA=}3;GWjc)BurA&KTzh0F|6RVkWadDh_Tf8y`LGXXX|4P4bI7ZG z_%8kj{-_R>eJ-%HEUR|pr+G7)P zTMP%^Yi-j#|JQw+P8H*CYlfzffM#cUp>}Jn1ya7A_B34K$7i?kRWot9L9`dH@E$Om zGxh!1h>wiZ|L63nAMT+}*@@i;UGgDlyN{)o-@NZ=hW$qg^Q9N!TxYo5q-`eO?|GZ{ z>pf4dHlE~d!oLT)n%{jCeI>vz$n)tuRX-T|u-OH-_Pr1B{$ufcihSpTS4kQG;BeZ` z=g}th^_Eh0m-6lU`@ayHiv0cWW})9vD)#q(QN*Knmo9{6>}@F{fB$#0=Cxa=q<_>{ z{ecKS?=2MG4QhP-Ao+B+rR>G}GL{D}U${TP5eQpRq6malqX}%hm9Ad$U-Ny6@j975 zF@_o`oK3bScs}+l&IegodGLEXCQ!(;!}82yh>)FMh{blSM5hZ@7aq@Yx+C46 zyd-M>&0arzp=}UfeuVPU6YE`u;&BFFaJ?O$AXedE;7AHEUTBZ`G4N=Q3Hx8n7vWW3 z{dh#H`Shk}it&oRmwEagg*;xYm#>VkFD)rlIhF`=K{7Q+9tM@7@h3cu`X25Xf;@Gv z(n6jWXR?{fyn;XJNPdd{`V^mWD{>6#T|46l@IO-iyi)kjsSc-;c@@8d{1?}8pRYq{ z+MBbqOnwWpr_%M;il>zPOoT@=Y=);J`7Hgd540Fhf{gik%1HhTH2$ooQ8H#IFB$U< z5$=3iMq{uc{WC51S@YGT zN&Y0ke!qs_Ocmr&pViB$uLUmobEq+MGNec@eI0PgpjO3MIVMN`U~XI=Pmq47FD(99jhAmZzaEE(R(@9DR!2-=kxa>mD!PU*+nt0^z%8h zCeu5U-;^(Uvox2Fvn+Z-gPgdw2#&865ic^hXea^xwWzJgmF;SA4Q-bS4Qk`BgG=u?-3b$m&qXy} zf-Yn4J2~tSrawKOHeK2Ut=;^6i~Hr^^C_6_MPt9f-=waNWMO*Aze%LF{8rSKq+{c{ z9-6Lo>DUc>GJlHSrrzJ-?+s9?_4LEK-#ypP2b{f|h{QbPBb$JJ#N^&;8WgD|!T3_l zOYjVh9#kOjw0QVUsbK$HbXL>;L@cSEh72eU&(Gp*nc7orN#?6Oc(}081m7CqgD&K@ z=AG~m!?u@bIH*mjLCR!-yZ zeU#Jq3+sZ~oA7?jOxg9b#so1^j?MJM{m$=R%{k{&`+ox|yqz zj_ufKnU93<%OCb(q^)ya=;n9k7rQz65arsefjq=+&kGL_)sJxAH5c;8PY}#ti&JTN z@f@jDc}~WnCb{({{h9LWqn=kQO?!y~nyfiZx}67{?}vQtjx`!h;r{vx<+I(a{4 zahl-HVLu`!pq^Qja^A+u$Ee5Ri%kcxvkjMR&!3PMKHPJ(Yo%{OdmgAy{uj7j&Y1aK zcjeP9G1Sf87MG3bcX7aPLQX>7HaY3z z@P|nk6%bp^kSc;PJfKbd{4?^)N9nt-YHP>hOcwfARvIg2^>2rrCZHd0?ws*B=7#3! zpMyKree3sM@TYUlC;6{Wkoz^x!kHq@_m@rix+znX?=x9Gt2dl4{tCEc|4`58_^tA6 z;Yp}R=Znw#@~vsD=Zi0pSLcf_@;|gwb*Sv$088=G&Vctf3(gmxBCpODoB`|_R_B6G z1Jk)e21(Av*4c#!zQe)$2)@2DZ+nunBT<^^xa(_a3~S-~EO39u5M1XBiz}e}>c1wf z($t9>6FOsjiL`cS4B0yAjPbYR(dWzj=Zw*esqGlinEMK4hsuX>9hdo;J>vyT@04mG%DL>`AB7 zGL&hVmKFv{!%&AZmg#gTwe-O3Bs-JcNwPzBGMTB!ZYJ583A1w{m$@Kn@E~$f5fHhF zH#~rXh@zsPc)=qo%JG1xctP=o;stFLMHKkGKhIk0`(59?zk4pg@4SA0{POBF`95o{ zXRYizE?@a5Q*Z)dh&FjzbJM<;Y>wgE9;-wV<@7aQR{b}-QUR%^5U7O8? zjAGBBP+)WHamhcENAtY4%t^G$F@i0*=H})Drd4B6hV9y=2kAAM{GNq9uIwAN4o5lAIWe1XgmZD@u;%bMLHKuJ#AhK zE}OC2f!5I1LH@OzMM^)rm}Nqf4T-S!2A{k8ya{ z>Nf&$M?hi)yJGi-Cy_@!*is;ShWb~6rnf~jMR()N>Yr%%)t-irhmLx;Njh{?u);hm zJ0`Iz{%?9S>F1AoOJ8r8+7s>6+}X{Bi7r%QRt}VX><-X#KU#0dL7L7s)Pl(f_-x3>o;bx1qFdn-p=)RH8VfqkGc5zKzB6plTkAWQuJJ zclfe8O1u6WWi<~}$20xkfxppS-Os;g0oOUF_nNF;?5=#hDyzGh@PvI|wgCgA2OQE9 z>BK?gE03d?PLLNd`-IWl2RMi!z7G{}sP3*f2pnFSNKXlnrT{RwId{b4xD6SO`U%UP z1bYb0k73f^0?kMGtug8B3z5l4(~o!x(W%GdJ_`KyErXj6lu^C|-w^02o?^_G?@a6D zDaOewo}$L@Fh5j>%03%dikDUdyx;G6ir5FredP7;S7By2BPRAK-4CUILRZ9dgmin$ z8UpTlL%d^4I>F0R%2>?|d8dhgF=H#1CeBvaqZoG)*vUH~E zLd4G$zu`qv3^td;7o(_kH%%U`yAk6Jot)uye2YF`OIo~s^nILvT0b-V){n+b@Gx!< z@OM0JU&nVCn^0ck_8ecnGp%#nzMi}qx99RZv@49;gTPX}v?AbDJOuHA8q>fFo*=L8 z?WdZ!=a$;7A1}fCJp8N~ygOdK0X(dK8d$f+AkSdPohY3@{L58Md!-M$97ENt}4y`#_6!QP=O;mY#FH-?rz`=iTsQr`uDZq3TrGn|XH( z=VpK@z7es-CYv;qke(K5UQV1tdY|G+EiP^H)`5H1dEH;U%hoJD!QN!>!d#0mpz;$( z!^~OR=DN{deg@Cbw(uh!Tm0;oLVL~E7P!PuKXSO+Inuy_(0Qcrmd!DM5j4A&UCZDJ z`^O4@Ydphws_|I`CYohF`tYfweC$zcK7X;TV1qE3!wvj2qFt6oES>Iv(h}j?@VK6r zn@dwG8?!C>wf4$n*%O}4N|usY}*e7%LS+L0*mR~l_Q9rvAy(?-zVKef0)>a;pZ^=w3j<>yqkR)wlBokU8Q;6_T?OHIM2TaX-HQ-+8gx`O_tN=(+Fg9I^30G zy(!I$H*;G;cVMp75mThtZdhgHx0bjeC&fr;e4M-?DSbmkuYF!uOh)w=YnRsS3n{0! zx1HcEUNh|Kla(WAAy+09Xd$(E$pNjOS~K4SKCRcF%VE2Sv6}J7iH^%B!KVC%HS!51R?>bi12UeDw&OPJ8A_o7){p4X_>%#vB zxsVm|A69pl_d&eB|_<&@5b%1HNGQiFS3agxo>Z-F17bN$uA!T@1wKD>ofK}bbKnvY%+gDz-YPJ z{awD@ZE_Vq)b2dJhxIDC3XXYFxay_)(kt_Ak9;0=uUCC|73HMs@;BV~i`O4+jmM>j zHCAcF?!4Qf^ds2+>#juvAokwIoHFXukab^=h5yZ`~#J_a}3F1{~zt=A2p1_;Xls1L0fGEzf6h13kZryC-wy z67#8Y0cAHzof}`xLA@(EJv8WXi4MfLPyM0m`)2ojFr4jz?MciMLpG`|bHuauCCfV8 zZ6^x6g39bomSIezBwywS>GMAJ{U{~ngZ5Kq(a>f5!+{h}20N6n%MnO4)c0iibx(3S za36NQ=&kQQ)uULqQ_ZE-7LS`Eh41?h(T>B?wID+FNrh;Q`ZPqJydP6FGu6-jclN9i z%AC%prtKe1mQm|j+fbnx-vm577X}z7r>~(j%{R7^(wk^U_?gm~-DSRMKL0Rz57MuH zU||;T&6Kanwe6$}xR`w&)|@@&<*lILr-feMNu!l`Oy_G%AR|)RC+u!F+wUYhlT&L8 zPV8p1QCmP!dP~%oUFyq4+M@ovmHeM#J|DcUn|@p4SZx%C&Mx#VYVWAI`3<}v!TMM% zyNVIGEemnj(T2ll<*rM%-S{@z(+_3%#hpFY2Zgsi*<7nFASgLwDzm8`|J%vDgY|)i zuEF3v?JW2);Nhn)x$=I9KJNgB&SL3R+>!L$z+KJSr#8xGr`COV)9&MM!R7VpZfAWb_Mso!-k5?m^4*Q^@D zYYV)_d!l~emq-1$WIby0dwrW<&$%f5yrkm{Ym5*2aIO4d?bF)mqh*?3G{=1S{Q`J2 z#zDURi+qRoNXY_!N$JdmU-tQ89L(c~#{D@byznV=Ct*{Z)|>mmN6VA~9~jMElho_W)2u#=k$%(pN%#24*w<#Rf~@3Zz=J2(-Rbx_zIDEMO? z?i8l_Za3JPy*X(v3icF(t*5YGp)6+_eOp}#@+0NrOamr;E3I1U=z^K8Cvw^;rZ-GIy(#YBZ6s7+sk`+C=bD&3KDD#yX|o_xg5lNb22 zst-C!m*MQ9xnxP#CY}LKzTi%`R<(zekZW0#?`S>tCha`=5xY!@=D$llJF$$P^D$xd zjSp7)R=;KI_fcTs$8>kEu-~HR?}0;hrQeJ`!+0@0={_nT$EtE(W9L#X;A^*3D5m}V z55TW=|JdBwUYs!p#h4s0&A zf5$tSLx3pdLui@ z`clw0(exAK*E`IIS$i7Wd-?lfd%D(@#`Q0wdf3zJ4}@bvf6+DJ{wwmx9#>hr?&Ia- zOhTM3r1HcR02cS2{7Dd~O)>u<9^`&M|FkzE^*hhSG3S?BaO6wpxrFB6e+#}Hz{}?s z*X^bQt<^rsIzFYw`X7r+nKs7=$T^V$tbOX|-%&>U*DV~rffv%*9P>i|pgus~f7I`- zOfLE&Yy7DBwha3+G5rG9YIiH`4JF$4Pf^>jp%|5~%`$vtc?zqaf$6D=zZVrGq;36Y zaA#Zu0#`GX2m;c8JwrR+V62R)_>`Crs8s|U*%?DYfuAJFS6~jdb!HGwMs9^=~93z-~ z;C7e(D($nhZAXYj$a{+BfoSj_IT{o-~pl`Kl!Kk^Dgtr z^!1E%xP8Yvy@_2@4HBoPSCpL6^7G&qEj72^;puv;c<#2vG3ip9f`quh5pjmJzJ#@* z`hxz=7pVV>{ObYUPd~%j-r#TZ{i*!4ZChJ8<-3)CD)Z~?57OJo_JpgFt9-fbZRIw} zuYW2R{>9~XkiYAGioH+C z%PH@O{T`;Vvlk5L=c~$Nzc<-jZO*#f*_y_FPp?~ZO)KE`TlwLB1bqoVw%=y04I6F- zq5WF3J1HYOwwFBxJ^)@_dJOUxytIk{zykA*H#Y{VwK{9j>qUf;0mol6%V zmz5=bXl04O5k7WcTiWnut99YoILhLQoxRNKP(?8 z^1M18Ulsk%@$-+S4!zquQy-wrY3(s3=ICzH!Vl-}#air6or~q5C7Q!Gf>Y=4kFu{6 z_X}1de)mk@A96tJSCAd)Ohu-fdt(jfZ2KGQ%~78^-dHbEm)d>{W%b7T3~F13rf!Yl ztX%%gr^@xCe%)as?qJTFxnEBnhWm12bz(*6{1hZxU-Svn<44D9Gvgjdvh{_4gqN=* z=fC`Mv;!)+bWz?kjoc@Mu{pYjJbD|vgMqxi%b8&Z5^pxgWX`CwAv&B2(?G6y`BmW7 zybL-iPvBej68ZB1xsdXa|5l%0ym}|!g}mi>Ws-|X;H0x}U*8jbdEwgY|Gt#$w# zACtXYqz;YkSCe0|mxnMU?Rv(Pr;nT8%XFTk09xw!pC|kF{i$Dbx-TdAU<^J!-TnF8 zMEKTu)SH|gT3bBZOuY*Db7hUa9-Z%;PfV4^*W^@l?({Okj#D9qrQrADbJ9O<-WhnQ ze&C~=ZS~DnQymw7C4t2Rx>L)W3m8jnt~J-3uf~w}p!l)^zmBVkZVj1VN9j*JC8G0| zW@So}aEzq@qmgL6-_!bsp>^@x1kY&sL}e07TkL1Ojer+@bV>7b09DGB-fjAIuz>N?crGmvUc7WaD~Q3?YhaQWsS?qJqEub&DD+5?QOtE zRGqh_xy6>Hq%^$+T$|@zJnrxgsy071Ssb0cK(tN7%dyP-ammTBE>b>j5As46aekKf zm<^kU97&}E(R}XHeEt&Vq2~CV;L+W9FMNBkzZP&K%dJBm6%N$^ift=by6ke1u+7caDpN zZ%TFLq3Y$~ilHAs4a)_a1XCVrZQpj|vuJz2%_Gsl&9i439X94+3@a@nJ88aX@7y6D zKub;^=rDP9^455g3(h?EboE;_EL&MJ^JBg$({2U=rU2`==r=$a>D@O=-RRf2zc%0u z&<=U`q!GaIXwD3QM{{Po-~ZJwPMMXHSmvn@PWR5KMz}kZ;xU35aHj?9efeg zjq%Eis;I^_9`x+9Acsxtx^*JpcTW5lCA6wGI3~NfT zoxrO2lUT!~U^LR9RT_FWOVU0mN@L$yDxYl*o}Trdnfy7Za-3^RNCXPg*z=cWoNK1E zUGM=*HQ4jhsGNqiAw0w^S{hnB#Y(`2y1Y)P*^T3II(o?M=_f+^^C`cd^x?&|^$oSe zuT#PA06seF!M@#s6Y~!GI4yLQ&^i>7D^esUYnjAtk6~` zpG)(j`#dBGl;z)%<@X`MD?`;OCy&^brO9d%?pH-!T3?h_87@zcPGxC_v$T=w&=3x0 zT^qJCIF5_ur7g3~N_x`v;VDV@25Y0EmC;l-QcBZ#@^Lw|e$=<5H%-GM*uZ3Mrk?gM z*^#DAR_MZD#gbgPU1?f%4EIP?wr}eNcxBI}n9Gt6ejW5@w0vfhDVvlf0GJRaXL%0! z#J8NGNqVQ~$13O!BmKjv00snE*!02_5NjWOE_k&k2Rm`iJ8D>LHS=#JvLD%z zI2S%j#S?+73T*8uZC5fiyM}>ZoEF|w9;A-&b8}MI8k?epDYR2-YZe?jd!E1>;ByQ6 z?`*1^^iJ<$z0UeMUPsNtA-&Nu|LV_WHIxehT%TYwEmt> zV_rBJ;p#bpoXS`Y2mdA*y`VX!zLb~?3lWWizkshqUqri8;Fb>E=k|8HBYI~JgNGVO zQDX6&xw44BX`dH;pMz|)-v+q&y@OjdW?Bhyao5)~ZGCO8#1B+E*y>h)TE0II6GyzO zTxV>s+L*!ld!xqHP2)dSPoKbx(!j3uufX(r+esi`saJIU zaq&U)wzC@1(eBVi{W4;*!xW{_XVLTd;E_!7XW5jB=RO;Hw_$C~VkFo(Y_Nq%9t!Y3;r5cV0p^V-l#iyN3pBUjy!E<# zk}32iPVGQ#mQ3NCl_fJj+mqrpGY7wnx7qpmrngx;PhA)Iw?b=O(NOS56-VAj~fr+vQKeO%9o%n?j4d7{!lbQpROSVDt;2SBccfY^j-A`-b z(-2-~L(riiiJvb&-sM)*M$=(e5Q0D+{q5)Fi^wP2lEW}KYR^+>fZ9{cTS><_y{U)D zB6%2i`#r67cTKq01z)QDeD(VKd(i*=)~KEA$$4CElgh(%-RB-%>bl<^sZ3!( zAnh>X$#OQ0dDW6mI5^e!mx5D$7jLMx>L17ML*c!-k8eB@<>bwR^++b^wZ^oT1S_@4 zDFxe>oP_mp+t%2u(~(piy@_1E&YoOsas9wdLpWYWTOw?Gez~Vzh&P~qajUacFMMZ?$ik66tOGjJlBefZBk~G=q*_X7nQnx>pJ((Jo-n+%* zY#)=!u_%{c8_L(-7mu3x%m7FE+Q-o6!~TYI`RW@nd9bzrde#Trhfj6uLHn9rZgbFV zO}&9K?_=Hn4b72WpT?pm(XCk%dbokZU-ZdXScGBbN}bM|Qc)gEN*Q=t3CCzx$+zo` z)DiT36<@?jq62rIDj2grc@5((nZjQ6ec+QH!56_#6u-wb&T-%4I$tdZEAlbSJ%2(TB$89lbg(45Gs9pJQ&fswur{Nl9OB+mBZoKurjNg%V#p! zSqGcPW0io`4~+?LN3&~dvnFQ{{x>^(NFTDYeau_(S%;P9diQM|*0*#jNl)qZX#XAe z^{|6^qPTXJ9n2HO!94Cj6llkk59x=yWZmZ7l>oHUhm2U;u!1= z9u|nBvTt=|J#k#ye$>Iv&PKFewQ)6K87|GKUCCxj8_iw5Q`$Vyf5)^Df5H4&j^~T+ zdBWp>uKw?_cFwz@@qK=cYr6-!e7d(V9@Z%J_5< zwZnV`@RX_tB~NeJ%j3f;XD>es4Br4% z-<| zH-f(OF4`S_4&kGyb85KLtRTVWjOOA`X{=$^A6Jt6INX_LcyMl-S1;a|@bfagd}ev& zoNQhl?~$eR;O?^M3gXjCNtPZZ+8s!;7_I%Eq29&}rgeB%D-VwFe;#I>>lt{A&IB54 z_ltK^PWRvoTo`rU{uqSNoWGdtTTM%;{M7Oh&6NvK1?epQGv^ z+M7c43F3zQE(vN4xGweDTJ{QhgMybs)xm!IXWp;#WedRFcVojlq9 z?fd^rzW+h)>EukSXB$>xIkj)r+~`dLoLEVIo$37r{ScoYgKZzN6J;(>evNh} z*u2x+`87|wH9vQl^8B=Fc;#D0VMLZnwr>fJFO6J`Aijj7B zb9sG&`XSlOuSc|GUR`lNG=F{r9C`=-w;t(l7roUroNBhVGWobhZ-4N_ATM_k({`GR zUS{T$jvw@N47woVOR(RNe?n7iQJZL5>9?c4BHz5sYTP(pW@c-XX!0TIl1%3>Zq+?W zHlJH1YgU5uEjGtzPuHf(1Oy&KSi&`Nssjopy({!n=xWwV`1_WtGx@pFc**2|a=M0E zGyli>C>Z|mOyk4NjSoAxzjPe1HnFd4{|IpOVlKN)>f7)7zP+}ut3B{cb-FQDui^~_ zLuMZ39}pf8_Zfzkk)`%F1b`Ir<6C{^fL{T!O7l!P&p+sB1XwHovC}&fYbF zTXB2%(%1;be$}CCCOAA020fdjTXM7#Y$_~2=* ztwnlp(ratin?tXyLpM$|hex@DZd=~AH0;~O`fXmzCRKfNwADPmd_A{LT{?Uepop0H zCY?yoP+Eh@o0zZ|PMRAmz|tQxSHjPf_^QjC8=CWfLRr0W905T$p2TcBoJZS91ajj5BuDQ^_-g8{{T+GH`Cn)-hHhM4Bn1(gLx-~n&Kl5wg6MhYZ_xL}zeu}5X zM6A`cgGA$^@;ZYfaQYtq7gokmNAK}pslJGIe+h2!7l=KR2a3-JSDzRfIbf=KC)3re8ZYdO{j5SPAP*-*!;{yxo>$G|-;-DR685%l!-m_EaZ3 zkZ(792cf1L?x}9?2Hu)o4>l93hZvHpM_LzFPkX<${_g5Qu3nvGeddd9cyWVz)puNE zmL87A0A0w->bq$EFO(A>c0KQ8qN(hWG!MGSX*(W|BY@4N8*;LN|7*J59cL5gpx^Yf z^I}hdPIX^_PW4{i?b>y!_jS>g-d~{iES>2CkPZ5rMv&a=uoWjEz=?q>}D_B@W!l~b})p2ktN%cOd) z&gU5$dRmk%@|vr>=-b78sn4x1s=eu2y`Ogttq-l6&q2#5o-~%a)!{0Po=iBjN9H0* z=Te#4&`0C(pWu+p;TPHHyWH#So{eLh+F)5nczhh`2Hute>X+sApuB$AC)oTrf2-^3 zyt_&e;P;w-`h)$4AR<8OuR;FZWe1WaxcRSh9J$)yns)}Tv;ARk!$U5ZrNGn*b`{RQ zgWjgU5Y1I|6t1{WqSY5gZ)o+`cXiWKXdu@_%hWOa;t?#=Bp zd76nf=wyt|uAebEN+y4F`*P4TLlNX;*pq{PnQ_FP9~W#ldve6&8lNq=_UcSYG25FZ zYdpPj&gzwXv(L#l%d1|VsBzd!Sv>O)BRy-+K49^AApJ<>f@hi+95nFA2avaptZbxu zlfri>l9&4Lu@zQSuqzh~zoee6cRGe_^QCRjGW^`f%D9rT(D?RJ{ucW9X7;9w>YU17E7Kl#DqQwMJtjU!e=!U`%2JTx}@PuN_gp%&uHYB2i^AKNNwj z4eHl5louaTV$+tteeE+n$z;Vp$(q^%%FN}e*Gnk1rRni_tXk)l*}Xyc7NplkhX{J> z)SJTIi##t^hwxOMJzYi>!PKBazFkH6j-yE6_x`?ubWp$|yEpU01?gTn+xGFTwsg$o zM-)3Z)j{aVw^M2smdF^0R!J$J&XfG)6j%Dt{-igbjsnF|UG()fPS|DJs~^D_z{TV; zx;?rb%CJ$d#%(8M^fvx6W{h;$tSt%gk)7+HAW3q%yOdE3U8b(pcO7LFS=ncekAxhM z+N`cek^hy<{W=q_3$G+i2q#3i)4#C95D?|>9?noh>)i32tEmh?c8r{J7;U)y;>~=c z&$7e`E=hYCa}#R=%e-_0?Fv7A_{qLh8$`E9Q${?-0}NfUUx1;}BO%tZEuQF`e(0U( zMsV~n|FlQn#NSR96J#&F$?eceX*c^c{jIkprYeJpvz@9S^H+I*bKkbjRa zdw*{4zx4Z)_F?X7xpyYL$slW4e?joc?9bK5PzP`X>n;+n#^Z|Kq%8P_8>d^q1s}Sw zJk&a+%~$hO_^2A0Ov{dy0DC-nk;!ztDe0bpT!yFr1^;;FaHMZa?j^|8>hUWL+06P2 zTpGrEE?IT!EZ|)U1+Kvj`C-xhf$LW3tEfNx#P3HJdmq%?c>?8n;CBg|)RiBy*Blhv zD%?kFb<}%Oxkf<>^Qntm&beUL2Ta_dst_fb~-+sk2~ zi}yJ8V(hQSaJQ0og6bi(`U8Hgw%dPe4{MJ%qIL2A`!RL?twf9Y1h;{nht>D#H@hkY`MRaj{w_Xd>mBYX8zbfVh-+e(M5C+tji=LI@h4sO zZPyz4Y=Tce5*%N)L%}9oU+Zz{UgPc)=3AXt4fI5?;}xugj0u11)g|IStrNE`_??t3 zWC@x}hVcyWcxp#Hs;g80sx$udK2Pf}d{u(|P09=Vkl*FymE{XdE4UYMZ3)jcLAc@{ zkXQq*U1@r*X-Y$0r4$5UI|AOCBobxOZXBT zEEi-6{d$(~*L&$#m%YRhV+p4yk0sv$8!6c6gJ9g@ zQeBIXs=ei2((sFq%P20QQH&0)BleBWjnll#BjVCnB7QUePh+#&jkTTL!lQoO3{M{o zy$grt_n|WBd*ml-ewKUv1*Z<;+t*Kv`&_&fTL-uvC=HN5{Ok=g=1W*tTDODX(*Cl= zx_w?cmw2khV)N5={OaH@!cSDsAaa23ok2bpbpWH?>JT=KZ9FANaG*x-Z%${7q0^{N-D4 z++BQkb3C6Zc|)-2?2}%(``Q>dw9nm?^hnjz?g;AVIB?w;bQhBx@@jffQ(pG7316ne zUI>9??y=0z-#+jl$2=*yq@_o`M37^4z*RT*FlDbQ)^WJINQN29JaryPCuNfS;YYl> z_+0NQ*HJKr*m!QgsZJU3w_itRyX^5+3N87{xa`op0a_c-=$MyR%~>E8J2HL$-$*^u z<;oJAKZO!)KNhuJ@2G0~<SL1k^N*Mr_@j>R zxyJwUKz7%2 zN$yGj>zBrVjykk=-Hx2~HTbA;^K)>tE+3xQe4_YeF2K=?^L$7?jjC`HGU?~2Ph&4f zgF>FeQ`;~6&lcdk^KQ{Xb?yr3la;X=ibuY%rS*k0-yUBlg}mTsu=95WdG$;F@iG`<#O5K?%k3sFppn}qP5aE8{K#e zPtq*!OeEc{9bJ{LH{_Fz+%aju-F1-2kyBxS0={&7(|q{*Ey$OSbLca4JQ~>#Zllh$ zR})-CM@P|zxcWv+dW?^4GGE!_T;tQt&3!VdZBJVuk9@sKF08ft6nK#CcL?p6m^Z_w zYJ;d8&%7_>pdgn#TQS3b*6wGHFa3RR@53jlvq*Na5~;TIylCx?*sh$zW(&2WX6n$I zJVRO8x4&b5lE}YhZG)TiU|tFQ`s+zyV=1hZ!p6&C zkHK=ummS04&Xw2P67Qlutf~(_im5Ejcm8$;auxyf2s3R_b-2<3uLh<@6RO`msB zqGuepe!qb>;_uts4SQvkhs5W~ZwEGQE}=HuOi*H!S7Zp;+A(&oIaxG9Qbg z!OkQPSG#o|+=}Qx%(*YS-J;KnJbgY5p|w^%@8711WenOq%^=os5?NPs90v^3}pXU*%c%9JKk@Dmaw)Q+u zV8#Jw~fU_4Nd4!m3`1dcTRmbdF7L4ihEMfLtZ{eAxcwcg{Tc##QgPyO1HqLOSay-_qk~6Hqi{+z*l7(h_RFU3LUZ*$Yl`j{0 z3T>{r=YasvHe?pm5q_hpWxrg$tYeQ(NHpqOSad@dl~uYm&WuB;FmmO9NB0W z-82R2!Q_7&3nLz6PmE8MgV3up!NxPJW9fw^$#fbcN^2JXglyPjv(MvH7d-^K!NC@n zfrWR}@5}f5irb*ReLpy!#RJso(na>E!2yImh|s1gGYEgfsDWWn6lcNe)D2|VQnM0 zJ~4{o4VO(x?%alz0qKd0-<)*3r;*i`WUBh@z9=CX!ds}npRr<^rm^4J_oSltS(U*L z{3-#4jYe+;&z=Nsoo}5T;4A$|M3+9@Jub5!qRWp`R(le{@l+>7y3(6~9%BB9r-c_Z zoshSaxA?ru+h{z^YZT@TH=b5D+G!rV13a1sFZc66^}&ss9Zb7VYUGzW+Z@rOJx*G- zFSuJ7HnA?qOLJa!Wh*#zHQK2x{vg+8m)DmT?Qw0gxv_R3&7;2QZt%{Cp6nTI-EbR3 z8_@bDdj14urPuRX>ME9j*9SS-C3Hp^O^j^CQL7W2((7HGUa>4{FT)djY)LmV;Z8b< ze_$3&x*tNjvvS;RkFxMFflk_22RGMb7A_Vzl~0L2+FL7%D(h0xGV+~Y-f(-)Pt%^= z@_R0T-3y(Mt)GeLb`LsWSJF?>?%kAMq%R-m3@fG`b9=J6G=d}MvJ~|u@TMA;X*(S1 z1zTSuPqJiwphN?G_a^5N3p-lrdq;91{dRPi%f$-#IqrSC5*~u0SOM>e`fD~A?QOV7 z+tlCpQeJY48S3wHcDVCutlrT1>+R#*1T0FS&t2B1w-ag$7}yS_yzZ%Co}dkJF5D;t zdnZB}-6!ls_U~%1hb}iKdblgMPRURDY3D0n@Vy4-&CYt^cCquTe&Kn@7QL7O!C6Q7=?ta>h4>;WJJ7@f&jq?ZWji)`m`mBFdtTyKtwcV**IyZkK>L0ow z9SyixyVTd;q`c%&-R76Z{Kkx1lPo6w^zVshtE#NqCmY<&-L(ltK3FU?}MVe6xh zFJf$o2OK5(Y)9NArSrZkey}jz(M_XWTZrE$1a~^GwS_9W?2EWg$FqA*r-wMkRu1ct zwj9~q+?DC>REU$z!#Q4C7|SqscP9h0>jib+?BVU_)gBKYz;Y|#=u3{Qu0{G&^8L6s z8O*`dpF`v`ojsdN&L-%$qjA3{=m33*W2AZTAwLgpz(46HnXgW!hsJ`gCpv(sTQJ_s z94xZU;hoIEqBwurW38<7x@%>z^Kq~le8wM@Gmy-72m2n619cDrMwI8~>>XTnV%Ou+ zs>}FaShTexxW?JF&$||3tq6WifQPV!zU|ir_~`7(Ccc~`BUJpW4QTv3^q&K2$SG9H z%bPdsi9k$flc)Y4Pb=Al7w@yx`pUw_5Q0MK-c6H`4tHX0#S?B%`$rN!^jQDGIrrzlZwD9W-wi#K{|jGUGKbLbN1&|ym%hAk z=hKqpr|hn)JIMAMwt?iY$gAIf&F?@@)uFO~11!bMX&dm$u2kxS#$hpxZzamgQ& z7d2o-bW@y}Ft-w={V{3EdPMHw6^4ShTJ20aUqU+9BBhTv&u7U>`vhe%`%22|7nbKt z%e~doq+MG)xhY;p)^)=3D745vN#1x8JN(;v{ucNO%16>J`ftqZYw79L$@KK}go~59 zBe|{gDe~y&@A%!D$5Oa9v>*LFdFA`>NepJOovy`y(GhHch}=w(C1eV+c@lKGH80To zS~)r5!W4%+7#)SCWXVoxD%;<8c)cjq%{Z4n?fW1s=-cEf>Q=Y<@lTY~`FeL>lDq(& zX6;Ws$uN2fAqYeoP{Hr7Sz0~vBib94k=I6xhT!)*+8W^_Y&4-M6%0akp_`tj#lawy zhVECE76pS)8m|y(nhyqH?c0jr?2>hy4Ud+o&%CYr_9Q)7+4i6i!kv_|^eiZZ+q;wA zEG-ulBH-SUrN@CG4DYTiEgu*{`)w8%f}kIgFoet|>@dBJ6vEV@K8@eQZl z)itP@q1GTbV7XktMQUxFclqFZw3LK&c|Vo5TXj(Q)J8O+d|6)eP}mu-O$8GwOW%>E z>t3Ce+m*rx@pXxGhX-hmt4hGz7pE(E-~<&pzr%;qv}#>R#Oah%a6g_=d%!1W>PE|+ z01uDjGb5GpW5l~x1QI`1rI3fWP9y<5iC63HjfWXpAvORpM8X?rZ^&B>Sjs5)VM&C=1zFuue?-<6(?Gkeb9XqC=lrBWHLA`=O1Q@&`-3GmAC z=IN)jY`m$Ts2ZV#F|}>pkT;tHGt2?$W>m(f$10PUz`40ao@^e}rzaHny*`E;1LO>- z%MwGbrglj$IOrz)t6K}cquR-ACHU`b9ejp-pJG2AXCLi$&z~A?l*f74nzs36x=U_r z94trywa&zU2d~cXATQRP8!d=U3&fLMwvF%BT^rurrDaci)}9i>@gLv{Ka!Id)OykO zXuW?99J)jQ(;eM-y9TOnEOy(Qy^t`5_cR$_&<~S`G|LpvkKNs{M0!*?k z&f!%;lv`4OORnXdwYl<=Im!>Z9QU-$>Mw)K{uoit%0^opJlP)y=Rd+L9N3g0xLi5A zD9Ic1Lp-hC&c6`RvoE=HzeT?rBlH_un3QvR`X!Vb^wx4%bmudq9QX(x1{eNWO|L#(Axe@ZFotng8G0{XE(g z)oE`##t~>L>jnmQ09}Otdh+R=^Fi(gpY#6hldaFAU^_Hmj1*fZCVkbR@?`3xUa`cp z^f68fvz)elU-8GYG%+y}(>RvQ&Oqtm2GrxV9Is|N_aSX)dIFON)+3&e{27IeCM&B* zW0+Y59YWK;4`m0+L*gycb1yDO^ekeY)n+`-tKu{cC7)=0*&e6C9EnSs^5w3M)2L5c zG<4L?`5kR(gWMoPTdrwKI|9=g(ynbwo2iZtN$4NaAJLW$i{#yZxHETWTROq6k4(!b zop~bKKe8=dB7d1@hV<*&(kIGOBO&ckZE305gr~=@wsa@h&0@1%-lFqDkvHyJix3r~?m5&nwz>H<<0moz8@(h-_T`}X-zQ?ttwfiH$ zt|qHr*SPT`=}cGo$H(bfA5t-98z|coMq+o8TiL6$A3mBrfn6d)s2wU;srWU<_F;FD z-Q<;x%CjkVTj3cya&$Ber^a6t)INI?<+RW0@5lJRgC9$^ffv)|&2Ad5~iIstG#=u7n)_rQkrF;K(oh_S2~dY1DRbHd4ki+Gq$yH(0g9U!#o|I04~w- zTXJXjTzF=(^P$}rgT6VVD$8dV*H)G@-;07{ui}*XEM$^9Uj&!`Mjq?TwT#Xj!OVB# z^1|XNgE~8W>9gKSo5GLId($zzL|-&^{gl&N?=wr6)bEQODyK`?7`32DSCj*qeN#Fo zGM~;SR`z0B&6l3Y-?P%jR|x;^*KzC%T4{zw*0g>f+}2js(x*q}*M7IzxcUHx0b)hRM9DkwA9Wn-%g*NCCa`otih*b zZJipKtW6&=8`;$TwujL|#zFIKzi;C=OGyEFnC5lAP28}2-24|T*89{L>}VTj;Z%9` zduNmuXsR^%`bM|B%@?_b!@ZlUJ-c0cM?Y1*k9ORQED#O5!P&Xf&5R1JZl&LnOiM$d zxu9^o7S4&=)CO@VW%}&fsCDd=&S<@tWHRd(Qv_F;yb)H@=N4on027qVT<;2Nzo7SVOzs?cTMm6Dkr+@jp?pvd}SAP z8PtsKD3_+Y#`_R;=-wh7&0^hE?^CosCSTZt6v`Z@O z5gnfaF46I0@C%yHFZQw={T*VM7V{9|;Ht+flaRLVJwWF{)Zp|gp5^=eLEqx$M@y!LCP7u|8?MSM#skFm-eVX5#+c2=JL-2`2f+v?(G|^sGj>h6a<7zKW z6VZKua?-naDhy4rO)|vf5_Bwm+Kj%TY;lp@__t|)hw&87YU`)%A#>wvI5=A-Np^8dTCd{#;y=mop+eg<=mm?nfVK06l@ zv|kC1?J{s@88z8_zTpv^eGflWE2|+kykIvAR>io=uNlpoJ?QH!c|9?G_a#o`DE#`~ zo1F7zByL;<+n1bE8*w$5!S*NT6wRImdwUnB+wC zDBcmlJPTOdkznJgd2tlHnis|M3Y_Te4>K)Njp6VOhO>S?h?dBWQoSV6M|YRrWO0BX z-_11_X~EXK;OO($=hjwQJ_17u-x=UO3PZp{{G&k^&Bh@L@ZBlg7x3dXMxT%YEAXh; zlVL<`HlI}Y6m=}+u(`2U+VLpOW3;vj-*dp17Bq}mxz{C&W6kBwTs#Tkd!vJUR4%`8 z{UEqhz|cf({u9-KqUYwirKEM=+@t*K>-e;@1dYG^l8u8a{7m&+`S@#I)xaTr>wkH& zsqwWSTiGnZ(W`u=S2Vvjy*+?BWPZVd8_>R%#@ z)0kAyL+zTRykyCLi=LnSnY#N3oSPH#4o|1|Y{9(q4&+ueXkEG*bD}#GWFY8l& zytwjaKROKa$@3vE$bE`vmw)HHN-mYhK zjr5GBC(Q5SwdfhGkVikO{6^2{ir1R<*5^}JYq$rV`VD^1hXS>+BclUsRf82%fyEh^ zTu9JI?M?VBXip!i@pj>JxlqNImpAOs7sbaTJNrWB<7k~Wvo4N|)&_`QJHh3Bq~WF9 ztQiv`7o@Rt{CToLdC5jU%%!7vzX5x&p&Y5zjw0)xX3y7xEKC7)c-Iu4hxOGthThI> z@k71Ik~^`XiTD-4c6d9^z*o{7=40mTRP90>P&!9j!;i(czruEDjL(BZ=lVagxb7(A z7aLO(4GE^*p5s5#z2*g!*IpCeIPYYUNLKL;z_pj?jZ^DZZ=5ewUiQIn^ks_gF2MX@~%b()=T((&d#z>`A-mu9FMacm-$$7M0mv#onw(md`L`986>9}0TG ziHlF}oH%rkhwjp6R@Tla{DnWqOL5tHtJz#7(fdBxR+Q%bpZGZG4reHLm*ZD_ymXf~ zvWPaHZ9tyKFoB#ecY1SUK8rzkbzEOtob}*4;J?%VGKrV#L+ULuf&oc1<$8$)#oXjF*L}uh%BW zP$^j%T3ia*vwl7zDX*sBsQ){Y>DBd+J%T?nnL?_zG~3c)#Qi9y*>yoPc4bX6+>H%{ zyP?gG%F-|HIx~7mlg#RP z2M6U%F7I7&-mmiX9hlvKBV5D+rgJVl0hD|imqOE{)?_EGlDPVh1t#4 z#^?${0n{|+E*J*wZ;xl6ehGQP&uEfcCs(+?ZNKT;z@@eHA?{(t`zIHO$zyWi65I_* zjSl}`o@wls%3{sibC=4L1)^xgX@)?X+PPM zB=1i77MTyAZfY)Rg8S>hv&3m8*|Pnzl*DlO8grTL%52M}4b=uwJ`DPuz4^4Mpd)fs z4n9%U8W7L4JqNE5qj(ZqimT0LOLye&q(AT$Y79D)k=K?sAlAo_WAMJ0t-P*6Y@G8pb zP517SbgBw<@SJ>nus)&S2FFlp@gYPz;m}0<%d5dDo+s~{#@<&HLCEI6-lx&gI)^0M zYZIDMqOAiLcUE?n$Z!ZdqjtfslwK3{Q97F@nZL|-sjsi4ykzzN+TCBzFv`eIS}`y^ zjQ;|+p4y@GGv=ibK{Ky1zj-XJhhD?F3g-&1!A|2YI-|H<&dET-BFna&QKe*I4MBOD zBs_1R?c0+1%%^-~7GKhC-%#2$i3=v+z;569Uf_>Pc-rPhcB-)`7nf#3FCBn4k`{h$ zC5FT0_j~(I-$&W^u~)qd1YPdq3WtXpF;X0OD_>Gxt zt~O_}evxZcn~#FyJLcHp+Q#N=iy~%3=xD4o?jt^p!37ReBTo!w)`*+NtU0YCF{CD*hlS`^U5i_ubw0ydylx zBLW;|E>uyxG7(B1X1KQ9s6O}ePxJn6KhO0on@wEFr!?zLoXwu*?^~#UyKeE`hpqNq zt?9Q$eM0v#UtiZYY`^J8D5rD&vpsH~ad+#v`4B-*-$-TV@$70mv%a_K+v$Yb-5H(C z`Hi6Fz}k#`0ly9W%|W@YT$WyqR7upDnL}+rNMdKo+sXgaoGFrD6z`)PM!cj-4IjOK zbjv~@sscDjwU537oLU#}^)%MqxBY!UFyc^I`$T7b??_Dio$_FU?M%+0$mr&*;=c1v zbaH8R@N{$T3@RKMoOdGN)61wYSc-6JZ1p~_r=r+ab(D>64{wQ(RJS%8cj0as4trQK zAH;g+dnbJfKdU;euYeZXyMKc6v*1==itQ-DS)V#FioM6MJMdxv6qPMQtV6M7CopNiUUaStz1kJ|gwzP-<(y&B8gId?Rc-QL6HkC!K* znq$9?PsQ34g=v0{{4Dhduj+V{uS0+Tp#NKPsW67j9kHOBnCe}S%l)tqy$2ljR-Q|A zbWs|*Xf8IK70Tf7E#APw5^Vf6SFo)&y@t4s_ku@0G_nNeXG~|&&yyB@;9Uj_`|I|C z;xuR>n*RcLbiRN0ja|t>`>lbYf=DJ1GzItHQ;ei?G{sJ^=3B$t=YJ*v&27n|?i_Yw%}w zrG3}j`VH{NZ_tC#HoOPi=4E-A46l@YkbKfjapw^#x~MUa``}};;;c8E?Us*sW^y2{ zL&<14%IwYWx4{7w3ktg(>Vy6C<%`;^MnV*{jUD80W zx%E5X)|!a<-4bJ}Z;g%qArE`#25c3=nn0qT`eYRE(Cd9NrtUu@|DYQS$H7)}7R3m83{B&usQk6Qe6^AmP5F|YKFtnxc}H4kuBEyBJQI%Ve7@Sk5Kcv% z?u+2q$;y0Mb*8@dL%VKpX{LMQ6VrNkyR@|1?ddnUbm!^RCkDLe6`IL*)?FV<#-Cqm z7y9Y5r)FP(EGMJ4#$%83|7oNO&Yy%=X?@8s%r3XA^#kde+nd7fG*}<`_9bI0XPd)o zD@$qf)3hh2Y38`q`l~Xxr|@bs*ioror9CB0Gg76v_G6-w5pdcM9pa%r7) zJ~fw~ulGQLW!#zRWd%?e3_4@lVf=hho9{#h>|*xja#(*qZ0kPow~lTf0d^?mc@NrJ zgg-3(F7WU}Ow2E7Eoz;A6g<+|d zT_o|v}v9`&I&Da7nLQq&siRA2rS9I|uVQ^Kwvyh+EK z3p+YeNV%jZK8*!C;TngEg5I)a`B)hnzzeM0fTge7S60N2anG(#(3T$d4AJ7xJuQN) zLhn*=@2jyoiq@;(l566UN$M-+G9v6BJCeL`7DpeBwFbV|I26$%L?ir8r1xrl2Y(Y91L;-nOloEVZI?h_PVhZRb(x2dMU?cT z3>oeB%g2r5u1wA>Ui@z(S|5<+(O{*HmwHnOx|05hexCxD?&xRP^t$X%-ZQ=N;;A7` z8xU%_`TF;sUSWTd3=w|Z1c#!9mnjz7&2Wdo)xMK4hW+UuqrSp(w^i$wbsNyyqP~5a zvXYy=kTz&6zlBw;z4N(+>$@R;q$5*24x3|CJ**g2LVKxP)ULW7@^qLi zu8S?CF;g8!_Ew&r8fiEy#HkaZlCH@qo&Uw-|8c)Z{;Sa`J@*IKns)P<#dVvVef^9A zK1W)!r!s$4_^iyurE-DVv;2Vvt1T$savgaC5B)wJn&MNd1KtOGH?hFh*r^Bcm&)~O zj^`wQ2TdLl?KOu#W9`-4klf-cM|+L?zk&O0oO$nIV=BHAv1V)skNuwIKq;L+>*<`A zlW&M4m1#{Q=yU5F?nPd#%@?6C;zhTH1>c^)y0yvFJ{R?$b2nGHo7FjxwMTvXPs&NI z`^(_fJd;mw&FL=l%hab+)NOOgVwFYJHnqvnnY@aVsOvi+~K6M>Gl zJ$5FiH0@#U(;m3Q?_&KC^W$Y|(vrBQUtrJ}Jd3%eF$lV9z2Fgin|{AI(<#&UcK%(> z>3$Wz^&_1!!NYmKgTHUz%5Yu7chD&d<)u@0tuNo1)~QqW2=Yp&Y$v}%yHtnDUZ*tv zsa=nt6#?%g`%1e`+12EcP8q(ZOlRDb3OUQo)(R?_G!EAU-jTm5K{cujFAKy{l?ng2s z`Se9X%G-VR#w9ps(inDP+}HAO*Wegnhu9XUFWF zBeZ2dvOrV0_T|O@Vc!J%w+RDsA&6Dedix>wA!!hzr5)~Ag586T#iIPG60cIY1-mc3 zcV)1{PWw>TS?i52gTzH zLX>ojZ}u{uXhEcD*jhH6)jN(VPdUSEYYTno%W%fmCwu>pZ`mi3C;YsQ2s5d6XrRYM z=%jJj>&M|YnJ2e1?~;x?RYI174d%2d7MYfYjd^ zF;1%u9K|&hEf4|t2oeLmSxJ_P?o}0~`Y|4aGh+dt)~7T=WL5E+P&+z3q5VW<4hyae zGkOb0aKlvh`L_gD#TX&u>8l>{Cq2M1bex=$u8ON3GYG?#l&lU(Q^pb6Vm0CFNcwY^2CG>2V!;fZt1L^81l5K&s3)d6{|#j zQ5yP?)HPWdu1tFO8v(KNStnZ-jqOtyAJd43$`UziYGGxK#DMY!VPeo0jpcswN{9K6 zkxz8t^W@0|H-U}G@{CM9SPxtfh4(iYvzr)WzyXGR#Y~d4k0Trrv|KE}L z%RlW?drI`_0Oi9E@7~?(yNvdz&v$}PaX4^c|%iO3pnHr{AOR zDE+?V9Fk}AXAMS*LowmN@VJ*v-@1JPBYViS1p+n(# zhMTdadU-F9&x(w z{&L>|W+pxSkYXK&^UU7%H`XwmmDZD^eHJ5xICtJI^z)p-PM>gj8Hsbs|H$W?I|yCb zerSdd|8p>F%z?ztBFWRfHtMtVsIH{FqQSkCmpoIkcZzi^p`+drr8j=8TA7i&L&0WU z9GGs2Mi21>_kmygMR<2@efe-b0)Naw@ znGr40_rWir-J;90z@<0Bw=@5`$Oi5wvLr5xr(LvGw_oL9P(d^(dm6kyH$M~~h|q3+ zU21%L8Q+wrFRyW%kTZ#F{wR-p1fs2sT+#Wm3iD0#CA?T1@bk^_N3GQk4$0T4bom8L z(>-@3oJ#8>P5Mjt4^H_m(Ly}XU_|SE@X41$3(<9ma+1Sd%bnt7&_m}TtFJo5`I^}; z+PC6G*?C!V>39+=r~Wm!IT%)dA?C1^ao(8xIeV4MV@j^7XS@5B^Gwqjy4vHwe#YW< z2HpQ*+GyA^A2I1CLuzO35%P%VZ*{f#gI}1c4m&rnne#Bo1qxF@e1C3!Qn3x;rn%X+Q55glfv-;ngC# zn4K_t+?BRpw3z^p_KB~*vD+C!e_$I4h)jGY+{DUpohCsi*l42tViKI%GxO(3@qQt_ zNnSGT+;}c~6>^A_2h%x=euWGIa`x7e1){$*mkJ@+4|M)%51oqWV){{6(00*dn)13& zyq3DV@?-c4)-zwKrxL!Qfcih<`~O@&zMda*@(a&qYTO0KSBA4zXoI8s>3l`D!O{Kn z1`LjGU`m%xM13~@jiEhZpu#upQy(87|3TKnF$$}_PvUQlSFtWzCPTQ>I~Pl32zSod znBUMv-sImvI^<1)7s;ChZ$aVI0 zk=N{Rlf7sxCAT>c$!$bS!hDyW8;#B3NFLLTmKvW1WwbX>!_(aE&zPR%_$X2lSyP}1 z?(SjOJP798LjY5J-4b=`-ZcvjSAsVe&4Zak=_i9`XTVAF{1Ib+0oom-y`6iR*K3y^ zuYw@)>RYcXWUAD39K+xg-wQL?+|c}*ryk9(4_@Sa&{&Coz*42WJg*lO{2Z;!qswV8 ziK*N}K1dYONSgXF?*V+=62xUkJc;-UDK7_IfBA3PRS+{tvMKpcvS>=)Rg=b5`I#@9 z($3D@Iy?VYI&T-~Tlm=@>;MYMae4I8_@4r&bO%58jBaa^&9^*#JnyY11*CLe^mPBz z{66#*^VOsMi#y^}bMEx=N^9j*@OLEm?b2O$k3o0Fa`pm#k_&;Bz63Xv-U>4LWBgUemD!$z+QZIH0ooB zYh;JuO?0zw%H;W{{Qc=;tWK>D7hI3Ww=!zcNU%l275ac5CBjs-yz{nWk>~eDFwT|IZlP;3~cpXkijle{de%V-$h7rz7e?OUR)^Q-Zle5<@}Yk^*RUwnDghJ0GqhTyY8 z@#*xw_zHf9F;gAF`zl~5UL>ah@BQ#bdSBe6{RwBZd`o;2dHF9nMQj_*KD+U7W+`op zgg(*`MRugA++Nbw@Q;7i-sxOXmHQUb_BosluH7bk5d6i!_j|av{IYsp0{no32kr1& zJCuGXtt+2Jcwb8TJ)|#lxz_5@9xwR+0Dhm9lQ7l6z8%UWbCzpGvc)vxDW)%{Eu&wm~7tFI=Xe!hp_?tS(0*R}SF*HBJxuAgBs z70ZwsHJSDi-KnbBDfJ0<{Ys>>-!0Ye0j~qU_CC#-D*S~0{&bEP%Ex-_r!U&;IY3ue zmhrV!ozMA#lt0HE$$&kzMtN-C3~8_{agy;*^809ZQhmg^b@|tuQe01Y zs5j8|J=jX*6Em4!ANucdlQlYEH z?Tz3PpY%-RsguS0>wx1=henKLMQM@epI8~DdpdOt)y8FKB;7tJ$Ko)ybusgc&jt2^O$3qwK{Wv5a2?f3% zry}2vq8%(k>3>G!GcVpTMY|FV!%?Sw@3H z+mPxM{0`s~vjllFMNUTsqbE;-7DNuys@JcjS_!HeI099?GM`g0j|EPULQ{17gU7-&N528!#H(@!h`znbKjiSX+PJwm)H4{y!imJa$K5oa~kHX(hdOMPnQp%)oW*=G;TlV$E{6HeN6EQL@V_R`LrAfq-&@b+O@yyB6F7NTe^mK8qL|YO>xr2 z<&tdvy-{Dy2U^ym!Zxa}Kkxhce)h>?`3!w^cA`VofvTd*A??PcPQX}{M*kn{W!CL) zFK>pLJD6{+0emiS$cPTQL*J}7UAzj1?>&0IjlTPm^YyhkM+4>Gn_S3!?_*vG5X$4r z+A`={^YlQnvam3)v>5UT#(X>JK`CwTv3x`lS4Ka_l=nX6_27W>aI$D&*J7MQ_`}`6 zfwK*2RDL9x6Ug)*MQ7>n{9-g-qnevVw7dkJHHN`q|Qx~sN$t@Az;1wRNJpA4IGXW&kvw%i4LVsT^cG}8Xz z*`>vn*Nst`L!_z7Iue91m+wiI>6Dpu*jmtje4k)CEGlD`Pq4#+4HBo@PYjh8d`R%} zS$~kaw_EAlyg!=bBbwv+85d@E9?Cq_y#7@`uOGqLcoX}H(*-cw6lWlTTY8jq*Dy0% zBu;UM&*h$^GcUYSoYU(M6y{UZosPV{1vsVrz%;uMXI5Lc738fgYXG@7oy3)J)?#bN zRYmz*^K64r`{GjUFDH4Ek}bmqWAJOx%NZRxn~$;bIFCt_CP*oACvEmgm&nRc82|DC za7#D%9}!A*k>OOw^mIi;R9QR?RqBJ2)rqN^cdOJT5%do~l=oYqnaS{?u(rOjXm9di zjwT6g`YF7~wrurHo!-Q`akR%WHk^|@TQ=E(momN-8@iRXbF=cQ4)RO~t{<9Vn}k>_ zJ6pZIcZyqm6@7m*n#br-b?J^x=WdDCSIz4WdRorHUr1i><~1$=P--yUargLbbHd{A z1-SH0&{^?#{ z$s!(PPwGy$+Bk7s^4@SUE=*z2P5j|U!6o{4<-3N4Dr2J!g@loJT~luk8)iWgSRa1q zRen6QCrigLtdC5$a4Pi$(@%~a@RDZv;Mb949mJcMk`Zdy+jk+S!ogvBF6=Jw$%~$t zsnLh}exJVW;SP10vntU14;DoOMepe zb(fbZb!(sc_;K<}F7zF=O6?u<_Hx6Xj~3s;?R}w>A8RedcX{PQUv#0eK8Iw+Oo(jU z1V_hdAr^FKdb{`C}Il}x4-+u1>Ir+s~{|tj#%v%$6;Amx>Ft@}fs1uppdsbf)LS;NtaqANs*JqelZSyB3Q!&jN-$_!5%2^%eXo zBC{K9o<#~2ot1sb&;@4w;+zKP6dYxgwl}1e&(1EkvY2T7(0rfs^X5F}MP<<0!F&ug z|5G?klQ%t|rhcJ+fTjt~lji9WaM4lv1b-Ec#XWE?mrF;jm%pa0_>u2>g45wqztukW zJh^vC?aZ!c+_1?@VYgFviMszLs+;=@@q^0MFa`LN(QUlkwi)8__dZ~;N zs3C}7Vu0a!z>m9YU$LHEkX(d*XkV7qL@ew0TNrBex6F|n9`bE}77V?bIzq3-Ij&83 za#NDc8`URS%qaJtO&DcyI$qr^O_$7HbySDO;EYT%l%^pcjnaI{Xv~q1TDtJ6bUSY3 zqoMqCHIfmlUC2bUG+!|E9rSD@KyWM0#L3SEY5ma`WgUyZ*Sli z7-m#dbK@l4wxJX*{?)-%ekz6M@f;_<+yyMtPTMnfhUaxDJdfu`Qnb z7;ErL>91({&)|{XwtORqpEsU%>+@K65&m|#X1=d54D;csy*<^|7xL**cxzYwi~02F z@uTClnQ`qQj%Us%mj~*p-{GDlpN1)wB`W5pWM#T9JxrTf`MHc5TVtPdP==K{)z5#S zjQnl=2IW73tVHeTK^uI0XxJIJwb_|TH$6@B@lZqi@ug#F7UtHB*5u@d5V)e*5vSYE zJGAAg4HHjiyrMwK76&Kb*yYo4EW{le(=9Mq@M}+_zO)Vt897)U9I1q|yuiBpiIAfO z6X07OK7qo$`Jf5(?s55@S2KJ|Oi$uG6ob0~78~>4#-!x(KyGhzM_}WS*6Y$nxW-Ic zP;g&nhi^xXKs+JuE(fdAuJNg?+g3-POPiQ19~mp7vrfoDb<5HYyEN!wk&~R8mdsAi zrD`&u=sDCd-8q%(-I6_?OC6r95KG7`64RLGN)Kb{?D*v4XvpeRS{O^k+O9Y1(*t8f ziSTq&dKgFAH9T1xvj#V+!$c>VGUw!R-Y}-hh=C;>v1`BZgz+4n8A4xT@Mv5vjAxt1m@C041e%h(;|KK0{S@Kh?P5sCp zg5W`4=|B1V_AP_o&_nuv@g4M)LV4*ceIB@eI@2=TL0{<$j0hGJM``NPB+u0U4|{JOXX#PZ|37`FXGt=I zAxy#m0dJZFhI~UvCPN4zK;Pb`JM>21?pb1>bG!TYOeejiZ}%(#b%Y>@$R@I>i0lXo z@bZ33_Yh1xiHW57Al;r4@L0F!Tw1sl-JWsMMf+{&^=u)JKAn7{*Ks4)ib@dHZxvQcI;(ViId{IGyjcKv|pbJ{of0&bZ^6G0MZ6HIFgM%g5k7+(Q zAB1@F!^y!cPJ!hMTfD{7IcGbGPvArFru_2vIJ0)(KWY8yYmBGbK_B;EC2e#|gMQCMwIW^c9$9GV6|Ml@-Hji%*zOX)i3rvMugSi>upa3t zxW3QMpplOJz5nDY=TXQ@42KzRG8+VaPRnCIGsDeisqW*esQm5#Bfg5}w&aKRi|B)& zq8_I=b$0C+O)j9k^pWXVWmy}!J%%Y$dO*}~^XGPkHma|CD5Lk+ z7a<>2JKx~_Q0VVJ#tDbo{Qt{EoDAfi$VGJjXeSrBI2tFDhk7}PGf845h2P90jnPBM zFS*Ev8RX*kfbns{a}d4*jr`!<*gX8()NGdscG=mu^;%}`;b&gjueJss#xMLv1g|!B z$5-7Y=2T zeHGvT<2V0DGES^93pKfnmXr1$#ZhF95!biAv}&3`ZeMx;YXi8ni%cU*d28gw=lc+v zXlYq&yomoRh$|<2*m!|&L1B@Mz7I56((3$j-{MhGS-gbskyZ01C*OStdCLiT!x822 zZZIG4C4{o;Jo)uZ>}&_&Z%UU&V}x#M3$ff5-U2onYFsX(djYDXaD0tmo%m)kt&N-NYb$=9 z3%_7;T#H^w=A0yaqG>+2|}#xL@Io=3R)dGK$n>mjBkUrs-OhfeuuS=%IkPWK?h z-EE39ozo%co9vZT9)V)6Zr$;N&cLwVkrzD9BUIxYZrB3KvS+V?Zx|67t9fQuh}g1%3; zlOIQX2nPP6s7DmCKyez45#A?xy!n_rS**jx`Wg~W8uAhb{%FZK+b>(D=>;6DxYS{bZ=txrd=$LdF{8*P_xMC#$zcL!b zKI&i}429Jy6U7DqO|fz6C*NZ@8{bL?i{IdHQGz9Dhv^Q+3D-A~U+`)`Hn|egQA|^{(NW z4S1SB>z!QU%y=y1Lm?td0h8w2FzwSkexpAZbl=DNh5NpE9j033qf%+Ssrh(r**k{l zsCO&2#^cTM1nI2CJg)L`cUIOMUpYcM6gwtM$nM{Jz!7ZCMMJ$`j7H;u|B?by6?R=h zDWjprX3USxRg8_~b2_J*;}d846R_p%`;~b#lo$i$)&7HzB0I3;0u{lblmhPBy|c-W!J#Hd~$Jl|3Za2DZcUuB}tujMTP&U-`8ST*J4Is@E1 zA30udYk>7nOrQ^D`b**bIY`@l&G?V%A6739?T;aJleS!$Y{d$V*WK%HZmiATd}86` zHP_i+iwiT2o98gBSiE^*dDi`PCMPUJq8d~jqV9Q11o1k{0EnwOdf=-{02T65e6yqTj)T{2c0^lGOvTq z!OOuNr#X2T^_Vy{!+%{e3$St&$xqhUD9_E%;Re?8YMWf4oq7)r`@=!jg7gEPO4;z~ zV{PY$!Mi7HKTdH58zZgtr-4)Z@aM~I_hETvXQQ30_CJNYMBn(B98I|sq#y;%;fyZZ zo;k6qU2T13b_H(Oj9{b}q<$(LKc>rbt1CLXO|D#`pS7r;I#UX2*|dK3YX%%oLN@ji z2v&SIX6qQ~#TO3)&}8l5zM=fG!jHoqTs*+3u?_OCzj9Fq)LIw`VGszvr9 zItz4T)%`(jf}bkQM}0*{{H)ugJ|3m4bniZfFrm%4kLbO(*%@CRMi14$1>e77nR(_@ zE!+1qpM1KL$R{7KRA~$mjj!Ok3r%1Qv>y3+7VUOL^IL6~%>1^97U-1b+v!F;52Nj( z!y@J6lkYj)|APIH>Q+6m{m`=dNMBccUyJ8Oh+^&p0l_U-3zWLA_jBPOd&AkquE=6e zgz;aC`iz~f4*-4Uy4CLnWyOQaH<$PnyIY+8fp^j>ud|$J*~3$1^oToulGFd4&r=bes-`HS=fo&lZ0XEE}>)owm&UjGzjw*7sYKsSM}6a5MpJ^goj*dG)c2nSr}&Sd%cQqh)OYMduxYXF-~DO*33t^?jM$6Q zE6XeM^PaB|tduNH`;xq$xc1)}wV#+yg?QDbXOr&%yOZSpbh`L0KAh9|J8;ZH`YdGJ zLk70C>dbi#IJM{OI|KjV=)br+kFMjgG~(F%)CST2=cD$Uj%HJ3Mx)lISsT=^=TTn# z!q?#!iv301x&q%kzan?phAjFG7WL!#z8}GFfbMMAIUHW~J{9#FUxG*C-#hTj9RJ># zoCr>fO%ItVS$aX#w_Qn8Z$UfMmlyiJ{62TQwqu0-pz~4b19b)hHN$=1UhMl;d@eu} z-u#*{We{+Lv2C{T?1Cn7Y|me!9{8f8tH^EDcJYBPjrwoz!p&{mr0t@|FH>Icj~(nD zZTK2R;w0>nB9mu2C`~|m;m*jHds^sSNbT1@K27gJ#6N4%pV(MLdTwtr4H#hT%cQnz z_y1RdQ!&$=0&BzCslLA|>O1>NQrNyH>fX40rP`=d&T==8^Iey7SCCAsNJt?YWF>@Lo|OqI9|*-@nR4b-#b_< zL{jfVY%vT2om$t%FxspA;Vycv$-`mhr8gsv|N_A=mY$4~fZ$|Hng5Zi87dOOtf3Dh9js*?k{xuv)BMq{JC*0-{R zEYvAyrF4aVKrL#+;_~G(&`-@nnppa+sGotC$XC00d(`LO28VcuC$Ro+E$(NJ6M!lh zoVLB*io!Sa4vnLSVPQEUX~|h-HCmj17BVb}d}14hGV>6=e`a(=8Vs4dNIFz8O!?4F zn2`>eO(bZhxzxq{k{(qvT>0VqXC^tZL%xg27k(=pK7WQ_OW~0|#dj(Bis1MTn5k6y z4Bx}37atWf&25pbLy%92_IkVhooGzEQ=P6KGwm7ocT$gZzkY?bX|8`#`lhFK*U$V1 zb#qqT3xvZ{4RKI5PV=`anTl{qqY3YJVS8j#>40(*smIFc5MNd z(K=%xZRy=npWmm$`y7T3s%p%R-_fS@6_76bRmWRQ|1Pinmra$r{Mm^1N zaEcc11E*+ltM9w!4X-S-@j0#itrJ*mCnwl8V6i=&U^{?~FA`?j+iVDSE-G6I~j}MiIGsqfqa)e3j_RNzLQp6cdnOH68=O~T$=a4qR zvRpKSFqi69% zz0Ah#`-K^($nm&;Og&mF;cV-o{jw2`*NS8ucAn{3!7gNOj}V;wym7~Pt)+P~fCKJEpGPD(J*KRl)*Pj^($I@7u!A<&115coeTJQLM@j8wdh!T96OwJIO zy4&KIYA^Y-h=zebXy5FJS7@IprR7IFEkD8GRxER1f8}u{Y*+kgWtTl&n%_d*otF@< z4U7u?*)ACO-rQTRctq}fIan7k{J*eN9giv9Ve}B~j8fb5F8CJ_EiSe`|*%fThzDKm;f+@WBicXZ39+Tb)wGV$> zb6mbm4w`1q{4F!T&Ke=gUn>3{%ukJPPgQ*4x)*A@X+*V<>1f(PCZ)>@++qG z@F}eaf++S4PY)H_?mfmYh|M#xB8*4*Yw*c-@5`Kh#j;e+5Nea(pKy-&pLUjL4gC!` z#D83wZ?q1jXHrOZAoL*WXb-d`up^NqssWK12SuvWA~e;bOUs=T$JW zj4sBGe+e*JueN{Iw_Q4o;ojNIJ9W`Gy@gj#EzkDV7uRd%s3E)0;=B03+6tqSk=r*V2GJ77*M7;j<&RL*Z6ovZLI~-#5l3Z$ zxs0};31*5?!2D3(C-I}a>%fnqLAHPvvA@p-x!;$gHY2Yr!nSEWqUAq>L-+1;O70BU zmf9gXpZDSeGo8?mJ*CVH?<=oE}`xnAaBhJV{d-=v(*xW0$Bv*B@jLv?bBjjmeN<>v5_XrEtdf!Ml9AQPJ0AFsIIfN4?Kc2^WBA3iGw>y zdRRY?CLP-sQ?|w#1j}xnD3jTG+m*lqM!ra{CO^EU%O|#lys{q>&v{owLu@tL^~_PT zU8<++-QZH(p9$v2MZWLalanNi!>c__WA}fedKHIP0cWviNMrk^zdi2%Apd2|N$CV= zj$8uPF8-C6BVoPkH=cpr<{9=HAf3rXaR5$)!g znOe4hX`x&9-=nyQhP*xSx`b>HR6XT!r6YQ9s$xte@dras6z)ThUjAZ66N(aQ7{P4F;I{ zh8!xrTj}109oPxQ1PpyFQD6ADcenQK(;m2m{JLZP6bHf6pc6YxDU^5L;R;?EMym`@ z48z0nOEB&DOEx3FpZj}i+g#A&nSQL#Ucbmqam@!8-_Th_#k$9W;|pmSXVFN@=AsPQ zK5+$l4RUUP^0(c`wI6JY=yX-4r}QKDQ8e8SZtc60 zLjyxFm`d+xPS?%B^RlIaG;Si3gVQ}@!7s;_);w2V%iK3!xF{_{VEVdRA6jGQ(DqzQ zwKxv#&w&_9&9}4C*VVhfly_0tH9qrP@Sn%O%cx8HnWN3*V4rN$Wa!=dWFI8W@&3p} zeHw?8&b>4>AFu5`;KUr&(6}atU$hoFYFy4Ik9-@v^6G3{z<*?f&2R7kHs%!U0c-=%qXdH8|8AsgGW|2;A=jvEel@96fh{?Wma0Y6T7 z12TLT2$eP~9-VBUG%mYnJG+f#aQzFvvi{xA_wNOqALvsTtmPrpUhOmx3l@HW;BNR2 zXAe{6OzWaP@vhpx?hnr3i-Wc#`h6k)w&VSDH{bfm7l+`%7smtm`|{HUH(wlk_#OOh zg!1ym@jzd`HLcYb$Aic#UmOqSJG4u6sO&?4rFdyYz&MsRr-+OD9t+LH_*@FEjcG-KO7w?~E zWtXjUQ}v-F5>Grbft1k2dnCH*_{4!U=5axi(O5Qznv=!4X0tOBN8K*1JY7`3Gg&al z5&HcS=Gd+zhupaQ$R*HJffi~|tQHom;-w>N;^+G=f<7Y3i#(HpA=RAa!9 zriQVA_Nh-p<=vh1Y2j6EjmhRBwqVX#y zMWnQyp(vp{+*Pj!hj{THJQACN@CJYSdtOK121-Wz$g3S6o}B)EF0H51hj@2j=s@7n zPXAXf9rxK|Bjdw}#T{Rlr1lC9chyW0yyrsbZ2WF&ui)~eZWGh=V5i{HBe#jZ{Qu`JF0ImsZ67{u>A7oHQ~E^z$QVBKT)#?9Wt}TVS8hu_O>eYz zk9BvCT%C>_zP_#ba>1wq+yCtS{RYO59VJGhK{vbM7|4JdkN*Vn%ckPp%)@pvVF@!O zh>Rp%_KcjuK&JKi^PD1DpItfLY8KI`TZ`S)MQoj;0;sMMbG8C3e8M|#iq{`xx%#O~ zdrS}Iw68u3{omp}#_g-wraE4k95jSQ31D?P0h0a2eJI{v-CnAC)rWzo52p9RrhQN9 zReuhELwn}M$Z;m1pPQQpD-+ZBhO~i`SC2671lL?2>J9g;QX-hb?M~VqYK#5m359O= z4kl(-u04JoVh>RlM4-Tvd7nwAhyM*JSXXM(jpWmN!6P^@HNLO&Z+^w}o<4!1NVPK1 zUzwPw9O1$)ha$#>7bFu~h>bx)rjKYksFuIJO{XfzuqgY_To9iFP9AQRyD7g64^(cvRw8tK>% zzy$R$UdoVpq=^7D$i}NmKHZg$!i)y{2+^ncU8c-LKz@c>38&U~xu3^V5gqJ3DHU!~ znf|6C_4^?CB+tA9Ji5!ik8?iUWe=04_46R^$H+($y$KuvrgrFG2lFYj$=jOTr2NdS zpY-L5<%Ua3lH#Ri3E59t$rD*)W#Dv zvXjlg?yLl;SqInqIl5u^%nft0iyEe>ueq@DYn~~s6VEQ{%a&wU=@x#6&(5e#Hn(yW zx^-70|I?xG2?~ie*L&G-F>TVP{ovgxJoWb`?mCN_fEB_-@ur%aU6x93lHuXNk*Lx9bp5<<~aj#(f)mHgGYwd4m^3%Rd z+%L({TJx5Y(*=3g+vI(w&l}`(J&dW^5yu+O#(7I}r_bL-+vP7;`xRTLok0VXeIxxC z6pq6BwkJR5%ZL3=Wz~26Q-Ac`+NZ6_a|_D-3*#QjUQ$@!*5rAgca!xryfBk3Cw`>!@}-mw z>*1IE-=Y66<9G4cl#-YGIzvo$?E`9?UKg@C(2=~dDWBF{QNCYk%BM9_l<(KFe747g zv+>t~Uw&Ha+U*6eDJU;F?{E0>&A87iwaR&4OJ2!&U&nXY(^QAbz5!V1=XvaD0q^zb zY&FYySIFz-yxQ9;>qK->eD!tUOasY((>+h{lfXIl1s~XudI#^SCMC!Jl+qsQqwW}Rno?@wA}c-nzYF*Egd8I&VD^<=~2u% zELr{=fyJ`?3z%gWAo4ElQu4b^?a;Z@KL3{FJwAUpSCxPBGM&l$e3|$> z>Y`lHd6e~eYx4WPTwC6ucd9yR!4EW=@LSpErzK=znqkEyvDPE+B zem_##^|a13)#_8)NtYJ(?=*wzeLv~XaOt`Ic%P@y2S`8d(z(E-MGf}{Nn?8u{YVoz z^64KU{kds+zUiu4<)5FXL$0*AJ3o~EqBOmw`FCmG{3v0nq&@T#-hwh2a z3(1m@b31qi?cYf$>Uw?N0JqT1m4lU`VM~-uQST%g)4!q~t$2q(dQM(>ya~uwU~-60 zk^j_%_+JBo?w?MUH9l1tKyNyAjTmHE0X|fffJ3o`oE>Olu{=w@4W9;Q(BCBv0k$~x z^=chwrik5r*i!}IFj}G2?v;2q%SmgYjp+C{;Fd1$H;~`xy_VTVwee?~FeTFjUO9jc ziPW^bLr{1BElvY{&~;P1GEVFI@=+{|sZ({Zb(B6sz2SrGvl!1A>QMXt9z61md>IE$ zJDntSs1=PA)s3MFKCdQ*@IsEIVh=i|>8@_RMK;StpW?R{+K#@UdxyHjI)aIWMVoi> zUcvBjX+GH8yLd(e$sj&YyLnTI(w)AM=G_+}+Q`2C$JhRC7k$ywYcB$-Hog+1eLH6U zAbF{n@JgvoK&YYllf6Z;)!((x`va1m6}!^L0=j1EYZt%d^U7;%rm)?>5FISxgC%|6 zkzYr*;X7H4%F1t@J>W5a0=_b^$%BY%EPhs2&!xcAP<1L4=`ZY!)1txwr{bdx5b5Ez zI`;C5nNLTxL9x*kKU#si57YNhMsd*s{73|sjW8B6*fQc5tUi~m zAg=04{}j#nxsK_k>EtTWPG!ua_Hhw>5AQ zxjeUWqH*)_$6k4LP2M3FH|FX$uODC8SV!H=?S)^a4gbtPwv%@HC2Zmfy(PnzIC}bY zE1cF9zbQ#x*Hk_D&VbMROj4-j#aPPcIn`}zk@ct&0c35dH@MvZED2`Non^n)vO6wn~-oC-B zv~Qcr+#1zbjtQ>k@&mQh4ny!o!5h7`)&3Cj-pymBty;7w<4q2YYz>o@OMx!=Sjw%@`nKH{5Ed(qu* z!L2rZi#(s;l8?#*{7uINCB9`(qcPQ6mG1G|;bi_d`MSKlqs1Y&fbrr6r!CThEUky} zYCaX|ww4k?kr(7cIjoPM3(o$nU7lgQiGy8hUOY6qCWW|0DmRW1y)PH%a96v$L!&Ku z%Wd*bjl&wEpYIU6HgvbiORzCN-^KV_;i92c^?LPv2w70|ITf2nPL zycpAkiI!qcFQoHK<>HpP{wF(%%S??Qn5gviO9ziT#P$ohlG)wqZsrUpR$(D6l@OY~ zb&4?c8F$UkZ-YZ|>R-n^YF()@W?PBICKrRXLu(zHThmq3YdfJM(auc?#DmLOa7C(;b{yzVtC;dIX z^^qJ$@F2(e0e{DGod4!`kky3plH>f)mv2pLmE-&mc_qh5h?^YR734T2U@2Z&5%Au` zokwz<4dd~hoZ!E}Bl-5RTEputBqkf^07o&^oP2c)>9L$ZaS3;roWS`?lD>2&dGy)J zH*$d@O51Q2rZ5H?+ijHX*_|XWqp#}cBWUlrr`z3sn6Z5m2YJ{W%` z(cJ5@7S5gM>vfTh1#>^V}Tc}O1CRcs? zHmSeoQC4s0Pocl^N9|+~+%>tsR908H;kdagIC>fjGi$ZAQ*i=o?}@DAl3&O70UuO} zau|CTR&Wy>()hJ|KINp7@uI8R`kO`1)*P*;gqCOT6auQe?(5u%*sqk%s7~JXk8;rz z&C9GW`I#Cc%0n0z`Iypg`86cDbiatM=%UB98Buc(>K8pPpp5jbx*3>fru6LVA9udL zDvKv-r+D?44`)?J(ww$zXI&|Sqgy{@_aBV`I+p<#@Ue|`_*ub;PuV{{xw2kc^bsJ< zfKh8Bi(9-~Z6jN-yz+j;GF_QAiFD2O*9$4HSk3z`Y;T_^euAk~dO$=w>=XNXgJq)r z^0eAR9@!+GM*-Ox__^0>z81ztU6=uXrgtRO6t2Ltl?lfaAUBENJ%rV8^13ZCd}qi>+SL3d9uZYFw#GhVUF<{4JpwNs{( zQGyl^u{_GBIhWPwCQ(`!)wpx)p}wBCQBU!`aC!szQFW3?QGG*GBMwgvWVp0{mBFR` z%gMWfzK=D9|K;&qe?9Uek2BUwYXWxXOHmbLB>AQEeY&Wx1q8GeX%vqkL^pq^)-+ZkLKuCD(mv{3V-!V_J zpWiCaHkr0lJjr9Cdh=6;JY5z60F@Px3fmq5pc*4|u=BJZ*l{znr}Ap?Vvc zT3&K9#d)T2Jj)fNYwD8jXO3>2Naa|sdK}=~t1ir>qot zmc!DoCS5#{UlJaT8IM`|KGMsiOWWT0GIQpr!moFg>qrli)YZAA<9cAt{L(qbFOAzf z^ttd$k0*~lH}DO=q??^$F7I-JB;m<_&XlkZhmV#lqakMjir9~ z@K57h;ai_D2eP!*aqcCr#<`F0fH#cu0I;+yEed$W%V?Z62NK3fbn55t&`bAbwx#0$ zu+8Yy37rNF2W9!r=+wHGh)y?>M|3()hl}q9(=LJ*3d`C!M}6 zhdjHIjoz9IYCnQNy@pdWD_>*$cSmtlt44o?Om*@YwQ)}ec7xuJfba=+ae$4~8n^kn zAH^7#J8&Z_w-f#xRr|_YHe>^X_$+HPu)y+KJ0_|3(k-s6v%quxQC+X!GIv5aoJxqO-jcVLajW=;}@ozAR?NZ(BoYXe){70g` z+Fj}_+orXD6J_P|;A2;}<3py$23!zP>tp(hzG*GoOnI#Z-5bJML?^xH)Vk9H3$PA! z{ufTx=Qs~;3va6-@u2G8uO$}At|VCkRB=B2la_a8S6(jJ zxF$qs3gBQVw*SpFC5<6A)e5$DXn&cde_hb;7WNbU*5CRE?{L@e`S(oy)=3`kwKJ5% zSIx=^p1L;H*V9L;z254Og|M=S&xn-%bI|FQ)P}L{ zy>n;n_&{^`H+KShrDU-tVVR%tMH|+IsDpeGAv_ zpI&!+VKcPb@jc-T-%(2L3U*LB|B?h#)itN*DO#|FvBscceR_5cgQzf91xJ=Ec+Ca9 zc61Qj`MjAvArCKsZitUrlMO{{u<^c?{_IIu1^iZjv?tyc(WzXzC;cG?7iB*KeHN*w zIDUrWM4R%=^wq)3Q3il2+7sRRp!X;4)98XZd7$VZ7_w~yL#rF>ywe6c2#&l zD^xc}a%m;%3-3N>tXpHeN*Vc9kc_L1e8QX>Pq=Pe?O}ew zMc#1pLV58MKUiN}&E+LNR9~H~caGYW(1>uClhu)xEBNDyL z_h>}-z494_joX>%CE9Oz+TUDiOZ!S+UmD))YESz-4BB^jdaIpDV#G?%icTM&OKqi^ z(#fc;$glFa-0IE4z^}HR@@;(pNQ&hw)4fDqj^w%i7v(iKo=$nqjSuJM2Kq3Kqm|`3 zMV;(lo?V&qO5c9Zq(97+ncj62(n-W6ciJ!PA6wwhpbq8?*`1EM=7!`b_`gyG&PlW9 zy9I}@?^Rq)+F*No8JOY0IoBs){cV!?os+%and9qGy?V6utJgVUCy)07^KS z;7?OVa^;@|@lD`KT6m)7IG6Z29U33PiC9eFd??I(7OP8iKkezRzkkBt&-C{*J-pQ9 z|0FC{(N6sqzr9)P&>fq^4vo`_Vu#AlWOvf7h+9sFAKx26)`NHQ0dn1VB!sZF=NB4|lptbXC@M^pjH$n5?$;OEhY7y=H ztBkf3bMx=s0Eorgnr;z>f~|c)dS!K1XPn>beO-^VK02d+`GWj$ST<6s3V z)gz-#xWhJs4^l9<$pCt-w=EZnKhQkksJ`n{e*bZNhiROody4a?Qj-C;?FWwEkePM1 z@5FI-+}Jwd#Td|^Bvc=+_W5pkq37ZGm8X7n zjvUbNX@7Yk__W{4pGMeAl4QXS&hWc4S+)Vt?>A8Qj%00iu}5a=&URg}J%SCO-WT0} z(C3un8#hpXKiBwPkt~PpD;?9TlI7f;Tlw}U%j^WiFNorMT$lKmfD!Eaq|w6r-;gXz zbxZM3Qu&*3b|)+I^KnYluD)b>yk<643n{O04t*Qsp1$bBb2hGmjSDt{P99SQP1ICh zPjwvT3>rsRu;|>RS{cF7iJPB~6Qa7&&(tmRz%Xk;bXFa6t`77hvpO{9Y`3KsM{{UV zufMtBwK>!b><;JJODHQnr{};+w&8~-=FkKz| z5LQN~_aEr7_hRSUJ;OJxx+vuQflnU}PT3J^y7%JK5UZTxR-`nXV_jpoI+fPloVL%> zGN0nsCSUGqc#`cFhhBU8E1^ZOENJy1-hWaC27>`+YZ zrqr-c?M$q!yrZ?0+of_*ipoeXw_A64+#8`{>J0$g`cv9P$m(agVKm0Mxv$kYUR+v< z1-Qqj`HD$&uhu9rZzB9KE%ud!& zHlLIA=fcbeH-6jOeuKR7wbPs!#*sUNOY+>k9mRgHd@W_=hrKm}8yn4$U7`HgI<91O zYjA0=r|j;uY?^5LqvDa?KzjJdmqar$-GYE|y{b$7`AzW2r}~}L zHd@%9br%zU?BMVbh0`D^gZ6=uY8qQiQD9qB=}oh4R?4#aaV~xzTJBw%s~#gNl+7dg zLsSg+#`>Bx=dF!g4NJcj(Si6i_qvUu!Eb|0x>|!g%CuWAEW$DT0ryT#RPpf{c-|>p zFq;!>9P@gTd0&>=%ZYz>kY_^ziY2zMl<3p%M14XYP=MOc&Ng+bFYg4$=a`irpbp6y zTIVOU!ao$ga)+BdQU#E;|KWZfHv6Ay<_&`^<9DOB?=fEG%yp=}@1~silwV}OEuMeV zLrXkGRn}&YAx@mtg}}MSbhK!bXni<0*?PeSba3zK?(ZEtWdG*)nD<$mD@(izx&RA) zUjAMNuO3^NPyO|E*|-fXtThmjtgoG#I9RbZOWybUQU4jcHqAP7n?;lNgG;9_>Z1JHOp{ zug)%=s2#7*8%vYAq-ufs@%||IG~UH~K>?yX$mkaM{*PH7PneEn;H}OlmNsT)a8K2m zw6aAv&5aUs<1ceGX=$O6qXkNhqQl2M9Xgm~ZTO?15!s5Gr}O9*Jlz7eK4?yT($nID ze*KI8lXek13+_5Ip0JcSj&E$`}_*t~Q0TwC<}o1K43zrcKi)@H#@pxBh~mgb-tt$5pPg6$%fnnH)@jL`Z2w^6_MB<-4U<~E83f9Gj1wHN)O z;Bz$TAFD{xHQI0Yvkv!rWNH$Fk!i)0b@#opgNrspy#zKJtKien-!Z#gTHg^IO2&zj z37&RomC+-HY;0m^(ri#o9@$}ak5rz_^qv|X=9X)1NOl-J^}DIOXkV$Fb`9<4x-d}n z_fU`D#h#HEd}2&;2bJM|r7{Y;+!th&+?@pTZFM-3lEGxXLiDS&DTX8IbU3(PGwJXV zStU9+PF1b_WlI|!gI&UKdSrT}GEp6@q`m->U9K)4ORZ9=$nJXkg&|hf-!mTKQp9jY z(R(Gx#JPH#=1FW3(pf6Cj_T!*0sx|OMVA4%h`sbB?XQl(H-(TXN>{9-LZ+*}cG(Y_+8+1jp zd>zR@`FyQunGRrD*J)SpS16-)1>9fdcWZfKDrIf3wgz3ruLHk4D*vy(Jll5?+9v(P zZ}{>-KQT+o+IB&*?E>i~{u_Dq{Y}0@dsT zeC|yQ5jAka_QSKuX!CW{pOczr(uZ6#HOK4@E*X7z&o7e$Sy_F#J`Xz}4$8t0SB@TC z!^fkO&#K+x8NcIcAgp>D|8cil^!hG!NWQYuud9!GAC@z@KIQLa>St$@Tzp4U%qr#C ziOl+_6PMc=E!*Q=$i_`v&b-myBE8PcuNtYEpF0qg(3-*OS|joM_H_*a3?B>0RE#sI(?rr*R8&6DZ9QLL~%&* zFm#^EMn~({Jl}8x_73)&077Z3!6>adI5siaJLThW?#QK$P!6{VL|!F)gPqg(XphRW zT}T&rx_5NI+1%MV-<`{oni;3&qSfhPLhLwx;dCxUX|uM zU6@ZSi_8HXAM=``Jfz7M3Afz#9=a8Jau7$AY7aE4*9gYIGq*+mZRD3f@>g)~=*;1CDm_TNNpZeb(v{@uWKC%QzftvkmOuK$AX0e%AI%>WPk z>G@?6{m0@^M~$)$=bLWrRG;r#cKhi!+Mk^$_V@s4HWmALvl$*5!Ht!sTh80k+2o|= znc{srD{YTgXRf48HtSoPIXML1JvK$SnGgb=A`G;Chb@yV)sRoji zPfmB z2n4>$`Dp52UgTCUZM$G=A~-S0&`51?>1Q;&y@}vuai=RAsHS?aW2C8_;;Z)1=J2_S z{oqG!r|9uOaEcz=9@o}4nR~sJ6=($(^9U{|disam22_}2b5MKhgTbvk#|3^q>a7{? zHMN=gqWM8%3obo`JmG^}wGiQ%>QX-*3Lf?2c6bEU{cUZibiBTNtl7E$Q;TSE8Snf-ig| z`$u<;hymyuuZP`?9@SiBD`EzB(ttA2Ssl@aD3V3Hq!uuKIj?^Kt{U}TU?>^sGjVoRfP=v=7)kuALBRY5C{pU=&-+OFf zkvBKhU1DsmpgrN^{8!wwy49ygfkQSd?|wv*yo$D%oFsYjz$GP?HRcNcx%t2nsPJxZ`E1heQO)s5BFl{K^}4WG_} ztB4=mSjf)KZsmoeTCbbuxAZ*jOV(1qh@yq`)2@X+;WKC)a(h~6{yvucl0O_czug^c z$T_>LElw@pw!Cs;*{IqKG}>zad>r^?&(eVe?o^1j^n76=xAYWL?9c(@IKr{n-t$gn)rbSd@pA!=Y}9A3n?+*ZY*0y z`=9Nh5yEzLsO?XtoMOGmuA|M}zUj@;YvwmYX>~ZO{hChSJoOvh_LetK!DZXg{N_1I zo5H8{&9i;|>dzQu_2&697NK-HTK6RdT&lugioax6mjW65yz{bQ%s~5e`uHlt+2W6) zeVI5gP3`CteA3Edfx!rhy+owmLD$KN*mytQeZQtnafGQEH< z8{Ez1ofC{B_TZw9?Z?&dn|ielG`38i(j@Tk(Omga##ZxZ3Vf1legFZZ*7AGcyR?>z z`J`#5ibQ5R z@hiPNygK^pQsI8mBPS=kjr{UeCm%~^buR5IJQwyI@-$ikpJ){H|NI$cVVzkOvc<@T6Rb~lfhc!SYAe|dmZ*-$1P>! zq=~Eoua3PKRb)6C(4nk-DL_5XuJ&B&@~(wAW$WZs%s$HtG~m1S6>LryLs_L=TA*tq9W==wPnF5wKYN3&%{`=n=zB-m?NyI|bh~vZeU?KbL%94u zQ0Yaxjnmt-Z;Zn25{<@Md(QyB)?tsQxBA6suGMefsN)tOox`2%!L_4}^f&xW9l;`o zxM^0KUt8$=PnQje{coq~+uXbMssBF%F3AZ#^$6|Ng*-64@8nRAn^5j=dUsQCUSe6| zqE8Rqa5tPi6YkYJK0i0jlG5#&v@7giKkNSvbM{&M=Js`Rwr<8o!-#B+ZrXQvgIi~g zAxL+3eZhEp6D%hi7aaSAjhX7H2997Rv9h-{FZixxV1al|=^D_O?P_{+SH9gzWo>3* zUEU&*jpNl|!Jb(R&z-bUHVcdM;$@s2<+Fi>54H-0bk&&r9QiaRx(^qR35Vd=(7=$5 ziT@kQ74uw!74(jVr>8A*_>t22=cz+*r-nR$l54>~iTB$R9oyU%a3{qQ&#c_jUHa4`S@m zhEMAm>KoGS%o%6s-PFz1Rye(Gegi~;Pf+blpHyeyME&-hJ&V74R%ee9#@o~2Exg+y zW3_v=+QoDzy^yws5B3bL^>5NH_4P%R7f*162UFcyk`_7Hbg$wc4^^vEn2B&5%_4U= z)NPY(yq}iagE+(HdXKFvI3I2r!(t<>E``2;DfM@XVWlYwXKC8K$AVmv6-dS z-eYwlWr*Jwe!(v`_|!7<#!>|D0%uwL1DlR*FrK!WW0wLKFA>AlhP}z`Z1D3SyjK|B z%zqWKuF}iPWb~h_Olo^}G}9QoqU_}1pM?(!vBJJcJ+k-Eze~W&SCYNGY)xK88J%yx zqVLo0?>b|szXRW_y(39BmT_`v^FwRDgSNi9Yzg*1{H8v+|47)K?9X&={5tvMJN3WG zsdek*^k^cY+KCxfwQ{h3XaJrEZB3J}cO+>VF(F80EL5hH!Qs(I#wUGR99Q`_s7pJk zN3P{$!tDT{Q6^V^E%~$`9b>$1EL@{~{fcPMi_s{rqEi#2sHmoUQkyi8i_T9*CO=_vU{P;~MvuE>g`q%D`ljXIYp&g<)5p2%J?l)hby=WIuU z0tK2CjRnPnSU#%y+`JTgYI#9EJbaSiTP*+Z%JNZ6Vf-BKG#Iv6YsAuAbn|_y!93d` zsK>j_;N~>J>e+6;F+YV-Q69bVY^SeUpKqtV%=`Y6xb?u12)@;D&!nJk+K3wIGH8>| zP=HVUeg}ADC;ugIYM+2l<^5o5vO{|UbNij7YpmMu@toqw>rg7L?#s;CVqiM%@A9~| z`TMN)Cn98z@cd%yL%)fDJRW{)5A95jJD)j0lt{ZZC;paw&iukH%aq>1RDN%AVzNGa zY&^N4%Ajg3ixZ`^KIwPJ&!vG~`vjj%Br__%F9Ub6Z&TOX${>cuHdz;wKR58T4_%pCub@tA8IF8KB~ zf1LIZ;OQuzl6@ZTmq$v+z7Bg_bK75(f3U;h345h*43->B5t>9R-5=jio5E*s%h~rw zwE6?eN+-lzTy{M|e}k>kvA@Yg1WSt<8S=b|X zwd6xEjiwpqB(6eesyfSQK1>LvhO8aj{(Rf3Q{&@kIac!xQMuD;o++G^RI1449eUr# zq$A+yf2qS z8Of!OQYL()U)i1{XGb%w^e_Ju#O>Z}bl+0IL0d-$nWa7ehP%}?r9hq6Htlio z9i)qTI+I!Rx5ci0Tn{nf%#e?A{Jb1pJ)Tb%4V|pwSeg*Z2;VN9C-_XL8$uHy*&gZS z6ImJ6B@x~})}Q*SJ@Di7KYV0=e^2`=8h!#C;&=Y`;ce%Xcqr3mj))h7(mC}OaA|J- zYo3OVU%R(H4I&;-wEPrxWd007qB~a|JvaA-kohx+oh4-D(JOK7P2C;1H2FffnDK2& zv^RM~8>PRdUEx!9eCHWyCi;Jxa-#p!;Wvx#BP`yDzC#seu-8P*t|P@sHXhe{-Ze?a zM|#cN4-GnhCJ^tcc5<+`Hg}@7R`+Q^1}^_sCBL8ko!Zt?d!)Klm`3%~qrQEH@{)u7 zKHqAO#!s-;SQM!{BAffVH|cJOzwr>b55=HVf3+&B3BP5w!LDc>LL)`06H9O`Gl@xS@| z^3w)4y{fzT9dxGxJ)~E4H*kGg(^~bazFl^DRsV%@XoxhU=5 zN#j4I#gtB@qxByoM5C0>F2&UTE@`ojmSSav*bkbgvhVv(A?EYFvd-NiOij~1)WA4v zt$&|#lJ&fj%d+Tp7oFF*hw+s>@CW2knyry&?&|js`6nH^|K?kta6eEvozIe^hq;mE z-{J&rPitE1{Jjr(WqW!)-+|U){_X%W$xRvAeEbms}SGl~p zfNnI*6OLO4+eq6_TK}^A4M=$uAG-J}5WaIryN)!oBv?c()LupKbPexTVI66{-V z!)4O+my8ddew=@3X#%o(+pHtX0_Y&D9*ADwfTXR z)tkxZDck0LWqyaTggAnD$r|o$h^9w+f)TDf6Sv7hZ$kUK)Ii>=gNsGg*8y*FalZXO za((L8L%=EBvSG&JWuEuBggry@;9$$3_H^3syv?ZcAs=2@sx4SdHStZ#yVJvbZsV1d zcNe~q8;uie&6#|8cM8kn7M?x+ty*tXY>lO#i2BdFCU&H9PQ~-490uU80(~S|zj`TA z+vIM|8}+>mzTaf8UE-mz`0N&UgwL4+{R*cckzuRTndUUGYwzd+x8`KC%(&Sfmip=5 z0ujpjcrt>?*1}$1SeJpfyfo^+#nZSKZBxH51CMMiUX4IP`|8We*}nP+-|pw7Jm&yr z6a6Qv^%~xoBsCkUt0`2!N76q0zl`?bny@Nk#lh(@=gJZXh%ImigEpwoms9TT^!X*1sn4Zd zm%+DceA>t-#;S;Uf^n*!PVjP_RhLM?U&)P4NXv^jiscTDH| z<-{6!7=0BDucDmpNjF{7jzvsI=T9ckZAao_)|iABTmil_8C#rl!1SJnZJx!q@m7pDk92h2Pu=KWSo9(F zNA!IRu<*Gq)tfmxnuyNVQeJfa>Lc9xRNU0Sw_it^=54sAo_vsMl4>J5Ja#$G`hlIX zgL|DStp%O8CE9p>)JDBO`S?@3A3sM&I#Uc`JF!_luu*0z&lkocKV&=)847Q48 zO)ofP@3wYcJH2d*%YHj=Vm{FehF~AtY+L?@3)NrqOP%Wb$=)2j&-F!?UC({zFKwiDKeCht}_P5s9^Wkimn#9jAFARq<5}uqG>ODlCbj}Qc zv;8>(J)$Ck!V$=5d(##tlhQcDov$xN=gE`7-zk{x2P1XfeQ_1WI@cU1le=4KQh0=! z6YOj3B^ANOYs&;g%IO~o|FF{L8z_{?kq1WM9+%R_U7F2K;aUeaDOiIi$hGPs_lAiD zuMelR!%b-$p1)BVKC{=Ch6u5{FzZbIqk3*p8cXN)4di})Usjnp!7B}ED_UO!J0_U? zehV1kSQLC1A8$ASj^V3y~yn2bT=#q~L3_18Cv)tekXvjp}}` z;JA|WO){Db{(KJ)%?j)BMIIiS72q!we51j!zp%8iG(O%x;_7%B^Y9f)TU|#N$T>Za z<@`#2O;bAIkQ+o{v$iPx%^_WmUCeE|VMx>8(UR^lM6`Ub@-*}^dYgje8GecQ~}dS)tlHMkuenz^E-B!-$8~F+9&zS5nsMFtyR8q6L}?H`ANP5jZ}xq zJ{4GsmsSM4Z-k#~w!0iBFIShOdSXFW5tDmN0E1;hjv|9uxHNoF1)0bsX}i-jckW46 zauB$aC#sCs&}808MshQ0-fpulbn7d#D~nZGuQ)l$(@2lyB$5jTzhB}DBo~|}k3P5X zjf}+EZ#H2w$zV~6pI0@?>RtCg=)kq$OquS|g>75Ww zy#qun@XAlk@1g~%^f>fa?d8~Ihonj6>4=dvt^Gf@Li5pnQegfO6ElzQ6t@3nHRQshCNj=pH`N10daBNG$&TU zA3n^9re-+OGy$z`qRH)))!eum1a0JlQsC4B-*k1VCp`2`nOCM53dZYm_rbXn=;q+Y zch>j^={MoqHMQy2@7jJsElE!;I>dU2gM>yNM)t3#*YJ6V}qHIjJCV!4TfX4I$ z=^9g|={(f=pt#>kJC&w&Tu>rS_Z^OjC~qlwy7G|s89r|teQtauBO8JQ!>k8h-MPv$Iw>#rw-`PGJ<>GpadBEN zx`J!w?ZNX%D$kv6pn71fHs6GIPadAbdvQL^@CII4ILpa`duMHUq)~mBHl-Qjh-cd? z|NVF5iepos-P5mVDv!}4dZUXrHk|FHJEQS8J@a@RY|xv=tGkw9NbE=Zy73Tt7P_m6FQz%JU7rM-au?#{~P z^t6JE?S&B?$I;WeXZ^;Ur>wgwy+W=+ivPWZEyGEzIU9qb7Lpc@rAMz%j=(AAX7a z_k)iaqQ!b&aBausq@F{rzShg;{cmQ1lfmmZ{vgwK`E;3ZMs4|J*A^1-X>GPN&Tpdo zowea*J<=9%hd<PfF0{&7_A<*~=pD zO@A~`-U2Sk8y46HF7oZ^GUPt=He)E+cL(*pHL90)Z+GTozWbt>?`_iPwd#Bucytau zgL9~uhswp?y*8-pNAY;Cm0a{CdH(?E`;^WFe;-Zn7ycev=%?rZ?eU32fA(t4-7&t# zi|5LQ`4n^Z*YXc`MKZtc3`V$W`#4$;V;rx8cU;U{lGxcOdUOll$ox?wl3%NW_u1O+ zADQw#3j`Y!Ea*`BHw3|l1(z-_QQ4(mrSW7smEIoB70%T-mU7$i)ZBOn<#cEJ^OD<( zMQsSWDa?@~tV?3EpDc`xU8fi2w>5Gunyuwo0CUN!q0%HJ7e z1IgKh=wYpH?j&oAjWLwj)#q?VMM=gBs$cJo`h~xtmWutsGjU|xPTbH;YmfT)KFaIN zdEt{}|5zwvaya{Y33oA4WmkvC>5GLihPxm+*Jt_h;PoNr=UBGA@QC=%Tt78s9z5LL zaKzrP*N)D}hzU83B{7z2pZfg%sL#?VZ`Xjh@9o+r8vKE$f#T^MET%z^tE4h~K#@BJ z6(L0$Cj&#cW|SCjdXo%BhbCWSoVS@RSeMOd{P`@RBEvihb6Oe$`xEeJ-3OV0cm=(ns6YC-%=(_QhwKSc}7x!(#`y4P-r!KxyAU;`{zpzjtX5OcGo(46hv3<5Ae7 zeiz>M2EhlyGlU!Ox1qfH48iT$BD*X9s$k)i^!vT$%WKlS*_)2wuNT~@>7?`M&4Q)s z>)9H6o5PJ~)HPH`vU&Fo!FzF8fT>_;x84rlCAfP#GD&nFBO;`G^lt74X~ll5K1qXk zubwAz@qB%ay&I3U~^Bj{1jz$ zANxwFtxm@HFgjEC&h?>hb9TnXX;2f6!z5o2Y->5sK?}TUT)!?NXor7Ce&a?T3iMowUA<$Z*OWT1|}MP{%@J^ar11 z#cANy9QzEoHOJt?#3)nsYZZgWdi|Oep4b`1>Ep zr@xE!jhsE*W5=}xcn|0~oLK4t$dS0zxHVz>@gaN22Hnh9WHFcfif=c|+#AN=J3+26yR;C82N#p)?^2v|jH)(9KJYpJG zCTlX=W^x@E!DM@C#5KMZ4o=OTZ-7&CB<$BZSI{MM@p>F1WpiF|{L@Ggd+Y?RFa zEG&&j8J=6~`RJ1KqoTHn-~49OFXnq|8#Za1`ui=)%NOzYSzA{Y?$gi*1BmLVGX+k6 z8NIe#csp(G;$I0_b>N}(8|(MQ-eu;d_qi`vr-Ml$$+z{u5lfjdtMn9HX1Cv~ zy`sktB6^7TxTo#aeEx56yd65+rz1)3D4fqxoDvrmN<6HS#;3Nnk?MQ zSrjpvXnac4D>3WoxO@`$Nd-@Jn ziPa?iZ@tE(^l0KBa`0}qC!Rxjos~Z&o`pV~!`UJF=FB3~bZe{5vfWYN zGrs4Zw^g*b5L_D9*O@+2Y1b$+3DG~uG+b4SvyH47sf?jB0UnMl-)80CA-IVs-24;| zf*+3AMsGFcy9L`Nm~`P_A4QJ=fV%}lr+ZaSFa22{oYx6{ptiJBn}C4X`FKMLKfnW@ zyJIVVcM9)W-0=7KJ?P-{39hUCvXjMW&gverM}_=numg^OMPP41)p2~Prvk7%wA-zX z2U1otrQayE+kc$DTpsH8T{RuWhHM3c(fQFxTJN?lw|Q?!9rC(uvnT~j2lMYPsqal4 ziJkabz#?gac*`)}VGtc%mA*|eo7<#cOn-^#TwiyrM>-$yZ<_Np%bPylIZv6qesbkD zMkgD$IBnu!#l~NF_n<%IVqdv86T!;xsB3sFllU~7h7Om~_rmwi1#dc0Om3xJl^it4 zz{1ImRX?8uzYcu^U6;L*g5|k!V~H#o-fsENLIf~3%2nlf-G}UUKHYc*FFgc2;WL=D z4yFxGE4Vw{KOU-faBeMJjh!02knYdSP$IeNEk2G*ox%q2dZZuzjX#AS#21IaUI!tC z>$t-i#JJ_h7goTnThdVP&?Jw_1Sg`;s(WjeK2kZHz&md@`zGDn%CwbL5fG?rrYH~q zbjt4Imyl0#sTp`i>Ea1*M>5_&+6NP4hwtPV7qo*!5A(8;I1Lv}ll^_VOG;m&1dUbq z!(81_#;Ca9^AYFtnY9H=wy1B(79UQYAa~SWq%?giZ7*rXd_=Vu zI-5)l^CpE#cPC9Nn8vvC>~hs}I!S)c^SaW@PO#IPfUOPowvN|bJwC-H(3tt$UdkK6 z20}#Ld-P%$rHSXY_*^a}T8FbU6)s8IQ{RQXn0(6^fU@eBY}T%zUEy;bF+J}|zeM9l zQGS8Gd(!K#-0>prgKh3XETn#! z4Re3TGj)|X@%~k?Ai?kk{>C+F3`v!VLkvG8E$w#+Hbi>Ezo+=s?#K9czpd>UNl*9S z5FW_Qt(nmv53;t3r+F;6G>^|mKkgy$fNCCkdrkM(@wJ8H4B=7dy(f&J@?z75Y+`LC zyyrX)Ail^$ew#z$ZLU{l|3SCrtlFo(KAv*gOSkf7q4qw?>k}2v&1u}PVyV|(896xF zeJ`ud?_rBu0S6ax?F8!I7@Al<`Jx7J#n(KT)%N=4x*>koeJ<3PBd-Y9y zasCea)ttZI=O6I-yZrvrr;Nz~OoH4wc7WfV$@qqTixwqlJZO28Ph)U)v|!%DJ)vE7 z{mrW~wx}(Y=Nak7%}WcjYb%YF`So&R?zYCwC$JD-InlWJ_+ziUx_0xz^6cWqT>a*i z#rnQ0P0vVUHAMY4@^6B9ndea~4k1n{v-d6cj)QLL`r3iDl?_uw4`;Nx!J8t+<57~| zH*`;tKdz%23v*^}fg4OL)Z;y}Dap}G^}&OxzFs_0iRDP`>r~$!t1nB^9{Vinx|lNa z%jT=u_T72*#bl}2d-eRuOj3!_aA<2)t;+> zqiN#anGlSa-3tBGy+%CBurm42{)9)7QQPXhDLtW~i5fIiamQHO)b4KPDmG8x(w@J; zLVYH@rQ=t6@KwU4HAE?+FYe6u@ak-1f%XbkN<6HxURzxVyh;YsexZECiE%iuzUFcJ zec7!6R&7`eGUeMAV7S%i)zZpt53s3*@w>{$dzHgCQQ=X+)p1UMEm#As?70C}t)+en z&dXryHD7jT3Y#;&>OSH3$ddWpQ=R7r*ujOh^$irAec$dI;5zCQwW2;3a#$O7g>+_h zDDyKBEPiXe9v+F|Fdk`)u}NPhdZwyoE#cUt7BItUe9|~&bgn(J)b0$Q9-r!gPs9Sk z?3(=nk%NIO+;ht|&t}p)o_=>EGvRV!Ywr?Zr6^XR*3Sm8&ZM@0tp<1C?7XhhzVMO$ zPOjcIZP7fPq@3=w8_d(<{U1(tuzz?Q^;uo&-Ry6I(J$@C2f-E2z1wMwn#3|q{SJsf z^EO4zpCJ|cK$qzAFX>p=((-o;%9=091q(C^*&9A@;5UWci05Bu2cF@h}< zJVJ9qebW2K5jDntELQee^hxx&iE`4JU)bx;oV&y)pLXx-n!D&l!-L7JgJ|T(>jZnG zckolXcPm|f`r`EAl@tCxl82Af2?o9t)_Fc{5F_<4zjYUl@ww0$uH4q3PDut z+QVHnSKhIGqEqIN`l<9;aZ}+%Eq<}xK-~Lc6SOH1sQLR> z=)jbcnRJ^H>{Gy;&l@f{$DRC3x(}?Q($T1`yfr!fLov})o`H@bP)BV%Mj7o}PeX7c z9jT;MR$}r^xe1c$))6z|8tU8EEW#_!KrNXKrIX!du_@lcTOjYn1bSLoLxoM=-d$h| z%BZi(Pu!w7y;@&es4aT62(?#ZbX(N#;3KuTIc}rdq(jzT(Pa^w+V{TAyeYn?Fx?dM zf{Tg^NgU6^mV_J~TyrzsH1*Z(+Z&j0yZIo0ayyb^s26M)4yJ4V+rb5BF=aS@&E1C$NiLU-arRs<%Xc)+rZ0yS&c#+19JRY*1dZ#OE-Nv_@Lz zHf;`iZt2050=mP!)gtGX|T5_h=H9W-BFgQDE{Spqw zW=X*Z6#t?*jd{3KIbPSBvU9M)nHzAjpW*`IWMLX-@X{gYeI?D0KG)LN@%kD*`z=00 zz;h|^zJ;S`onR6E$D}5NpsOp{QmhRv zUQ%8zTCQvnSrS*0mq3f5VQES!Pzo)ylv1FSm!$a@Hq zZGrduJ2Ue<^W6Jf*$MrBKK~1j?maVeX6DRx=FC|zQC&Hz^Dv}Cx5o5iA-#k4?H zG3Vvml@t6L-~*EiPXXBD6Z~4?tIbZL;g`OZ3;rnJ-Mq2hX3z`|HhA7$N4D2r2h2P> z5XF&Q+}bJ}dx0ARbQ@;nQCqGDJ|dI-^1_Vs=8%=yN1Cd{H=^-qET_`bqj|GmYbSGz zk_zA>P?zSq=FZRix${0Y*5b3b>Luj8-4h3K#EziUR6`n}U<~po*Az+PjGeW<3broE z>%FP}n-U*u!}t9h=iR*|$9AWkm6e_me)7QQY^JsMopY6dLG$tA+o(Q2ld|GXUa^OD z&VD6cMC<)_*1O~3%oCFwrg6oqjN_iDIx%!;X!yvG@oM;TL+(?}r61kzY{~H7)|`gj znDFvS)0Ea3EbuHBhRMHrO0peM~p} z@VKUu4eZq+CbJ*QEO%qbWlbszYCN6=R|a&A!MmD@QyKJ?uE-W@c_DQc6tlfeX}mRp z%dIu>h|F0Q?80ieKR7;dOX)?HSNZkc(^P4^MzWsJ6wSXEQ&#iu?bo(CbLGHIKF~}~ z?&94V#sWAvH7+j!r^cn*pIQ9mgV9-oe0yDizc$GdO?^b3+Mt!rWARxpbw~^o{wVKO zo7B&jQC|K01b3w;6`sdc-cYzBTR_5rGVe2eAw)#=aCu9CPQ6L4->Zidn`r%iqvGB(=;{W?2;n>Lk_ z%o01z;`io98{Za}P0n8pt#lW8C1t}$dY(=Lbs~*(p+5hP@ALcYZ3%x4UJpV#fz7;H z-@$>=N(e&czSB3&^;d&Ob3MERtXRd(G0k2RwF%z|h4|F2*OE^$&7`B$!loyELy&@D z*-UfsU6%Rj3r`G<$+Xz*!N2d@e9Es+H%}{*c;x0P1EAS6* z0H5aZOMcefd7X@dXVZfN-I1j^-VuA)2M>B#hfim*XuY|!(ZfbZD%J5msoswa4-bUx zfIH7dTay~=H&Q1Y&OySVlm~_})Iu{&8teVNcJH;f)uKciZ9LDLD6f0EY%!##+&uSu z+zljmy@MtK>}|aMV)UI)1G(nrTfnWk8DjQ@_lG|Ot~;FmN&caJC>GZrDL>`j>dS?< z3(3+YGh5}K^6NLHled$vST2{dKfKOe7aCw)u8r?V>vDGmhuit75pI@2>7C>WAKuVn z+s2l-wU*vRIq3&UE_!V-ZI2ur7&}rPaWl;S=nCuP-IN#o!rk!^c9A(TGwt^v(F48J z)ZR&TP*v$YlnWo^oh|E78{bP_-4mb2tIXky=QIDjQvBk`M5IJ^-OjsBR-PiLt7@ahcFIKPkjg1=o!4G3Gz8@`{b1qoe#p1z-Q(w%(%!&~tQ zERWH{{gqzy9WbstR^1y++#A85bo#kNV>7vC8p2k`I3f+~IQ*=UF2`^JGZL z4+Y%4>cfPH#Nf1sR?Xt(^~u_<$nmBc9mS;FY)s97Uyv9&;S|&a%F%SD?Bo*DW@3RI-MHB z{Zz7G^!@86&GG-F^%yBQ+De&SpYm)`o}f~dWiYxZy+i4}3-g$2$SlZos?~0-`@g1N z;j>4vv3`nni%y>bpU&CMk8wUKwErZ@#OQ#+ZVgL8DARdbcaEejxwPJ)ayM7jiSYyb z-Fa(yI&ygk6_{l@9PMA9qwWxcjfj=z?s*lzp!4%nJi=A??Ae1~6x~iQkclC%^Y`=M zlb^odV{U1_KgaJw*XDR57PQ6HL<7fPG>GWjI~{|2u zUdE&fFEchVFizdE@0hR92FpD{95-v}k$u^3no9i|_pg%gORSGK&{omvO7;)!4J~+p zp`KB=u94BIbj#e@%Yi_wcDOy^5#ZvD#7kkF{OaMr*rN~N9({5JHNW8Rpv0X1I&BFb z&e$B{R&}WlfA9P7d8TZOJ(NU)X*d^Lr?Pb-jN%BK6GqSiiZ^045 znpfJogt)m4$>E$wm)5xgKC)Q9jY|_U(cC?0Gw+*cZ$ly+4rv)pU4B*Av3uC~VZp^P`YSsAkaACB{y)0Zigwk7`DL+Kuu*f|2;8vbVc^m}^`GDp z?E;U+Pd@Ow15E)jQhr!(!CAW7w^UBHUA$4~aUs^iFKI+n*(UHmuR(gX{@i`UsH?Iz^;C+ z_x-vI{mu>=2-%R&XwP-$tbQZqL(e|5@7F%Fk#g(O{lJaoYmwV;PfRDzf>i5n*3KAi zB5(L$n^@c)H{$`ALP$&C&x5@Q&P*fGtKeo29qEX8zncl1>eGapPVtNyzOc3tTlP1 z0mJ#rc%jLjo#dGdLU)BCqIWhxuwpH^JB2hxgYG zes}60;{aLMuY;U;UGgyH<*d2NmnpvgF(>r!iltrN0aFBnMqv*8v_6*tfAI*~6h6PD zUGgH@Ae!x@oM`q<_PQ4G9`|zGEnm}B_9#Lo_w8O|DuQ`vv?yx%Ty?^)vpC7?>dM!zte5!=qWua>Ic4so%r}3)S*7?@qKt1 zZ<#G*$=;U&-d^y$l6rM;gIJtK`^8WFKKB%jpZKXTZ{2tXHaEM2t>y3GdfFKLJ*bUL zxzfIf2E2t8x8s6s#8wDAdh;0dGMb|uZoRkELAz!6m;xm3O)pj{fL=RZc|SO{XZ+Zo zvzm`<-K%tWT8C}i$U-L9)gIrIoIZMzkdtB0@6&G-q{DCSQODx+5&e$R$CJ~y#_31( zJ4%0Ia+-6|y`cx&64m?UeB@cVP<;(X^w0@!4As$D$ z)$umZV!!_@V8gwGhtKe)sd}{TzEFZWSjB)w&f)5A4TiLDmw2L`LHFIjjutBO?mq7yiSmrTEFWD;jmDEnpbcJ^S|8Y9;^ zIa$9gXHSGpuG7lPp2w{o?GMO>oZP1%4VjRW85N{$3FR7|*VTUE-Ig4v@d8B$q`B|f zDLC<0J>0bO({}7gdWXl4OxE?Ff9v8x8q-N*fH<(!6^$!<&`&i68uK#vbe^2zJ${Nh zl4kvG9IMFfj9rrCqJb~n<;tO|6E@;^C8*t8FdrlTEPuuvHd(Sa^Y-gnbdi0+ve&`a z?^ypvbDj8+CZRN~D_>6V9r&z0!3Ki*LX;t+_ilVU=pmwxY*YQzJ*_9AC2ubOt^E{j zdp&L6ik}DBh!xQGNdH6?-}Hz*dn>v?oBxZWK1O7VM5yTY{4e;ouVQ{5hxHCO53vV% zQ}8dbjZm=Z-0Y{VqBl&;`JhuEIl1;Z=_+TuWqWdnyy7hf^!Hq5KN<21Pn>_q=O6a@ zpXArO?#Xxo99?t|L$=rUk;mlhgDiO@t z3TtokhSZ)rq~WinmYyTeW3St?fz8EyN1I01{QN|J`X(-iI2LsISm-?7 zx#$~i-yWn5+c)qI5V8bi=ZSvn(+KH1iqms39Yl|g4YO=r&4_$P+b5LosuuZlMry8U zuXqCWhR@Co>3q1`b8T;CkGfo+#_aUW_4}WwZ}W3g%TJtHU74Gg^(hJZn%SO?QvVqL zomuh4=h0sAr2z=GyUxGB?^Ryk1p{jQr_{5zZoz5y2*-^9!@R?0Wrcu#Q>!a^dscLk znL@-gS>$+949J=ZHVFIY=8FhbO#p~d zd)%(B)gRI4R?3R^d?j@i-=VA0sDi3`Gf$0~99LVE0;RMUJQ2Lw3yR;UR1k5-NO>HM z&2haN8^UI=(OvkSj(JjJlT??uk6H!0Ek1a#0om{zWZWuoN_#K4(uz#MtyFXkKg)+m+-RS)7#acFqR z>EF0Tp99$(cv4>fK9}Lf8-r2@C#0CPW$AlZ#H8`Ul&*Z8YHN50VR-q>hU5Oc^zrBE zLm?i&j+BnRpY^Xj*-|>m@9;tXl51`&J^l?FhOR zP0fucR&7d5X|?KU_07kwu{TP#i}w-^uAcsGG!zUqE3Od^R-IL+!KrgF=qfbIm0!yo z_A$3tHB;1I&GYTa8Jwg$-)#E5BRQM<-I1Ibt9!i@rC*ht&Hdh)Ok0M4Z+9|n83O(H zB#X1N-6!W%D8Tj+SI>je`{#bkH@C8^jQ)P5vAs!oJvfx_O6DfSqsKUVSPP?zPF|{Z z_R%iuh{q+^0Bs8}od+zF(%EQSM@%Ms@pRX`zn$_X8{XDxZ*ybD_RGUy-X=ALF@{5a zj$h2Ui7wlr%joe1Gd2@lWP7$F2@vN$fazTN`KW&#zJF=G(VR+Qv_<{;1>diI;MM%P z&Ff+4`-kv1rMaf>H~YJwzCX@?4}E!-)jhwoGD9qHzfb<6hv6A3g{eQBD0nzoX|QQJ zWj?352bdi6j;Jrjm&?~!sz3&v!*Ab*XOmy&&askYN$#v}OYq-wq_4lyH+U!#@OoXj zC=I@Z=XESd{$Two{}`ri0Mg)|cMKxG$u41@~6A)D(Y7@S^xjf@9OI zxh9V$wvGkE2RLWs?A&pKI{s8}_RuuAg65`R#NXwOv&J=eVMW=)S*5g&WN8p36y7ki zJC5L2sf?Mks%qQT)Bfy~PIN>3CDBs%&*wvv@Y$WW31~@6&G}!UobD)f=8I^%;ODdE zU(zI>VzlLpBUUE~zx~*}(2ou8XhUxdVnuhI`#aT&)4E!@x^n1ybMua|YkB(2)9#Kjhjl-MbOQ}12u%9TxxMp3V+snWqS>9&e zhFbK&E9DQ5Ru7I2PmDzDMNtZUxGd69xtceXV2{*cjrB594t05xUi41jG}n~gmY7{# z@E{VBZSK6Bwkm#YY`5Ds zU*=G1eRuWxn?3k;EYLNLz+l%~erq1-?&y%dD(YvdLmE})I_X%s2yAW8T=-qeix2!V z3$f+B?@%{!WBZ1O51GdyCv{{wHGmE0RIXpAZnJJn)>zIfo9SL&1g9;|kX$9qlGck@%x&>-u3i*~B-ucf^1hHq(Kqwns`K65)8kT$~U zeOSkhJV7V(RXVfyA58USUmvwS)0cH|70tcv8uh5{e?WQhF*EFRE%&<-^vy;`%f|w) z@SC>I`f(DUg|7DGQ75!8nhVDHGkL55hD>$xC<77rJ>}#4nLHN3I)HKZOpYGxwl@{E zO=I=OsJ}K=p)Cb%Q~%x+`p06{+PfG1)Y_XZ+}k5x?_&ta&A*H(3fsn&v*gI!nYYdf zeN^Wk(uTk{y~Nv;-kF=<+~Zc|a>f*DolwTlb=^(YCATb2IVZbD*SCUCzNKfD#}|<% zO-}i<`9}CN;`9W+i%Lc8m-!V{Iq5gy17uFZKw;1rh!&#l+ei-|iLjuQQRXVg#QjW41Owf$X`6JPnP_Ezh>A0b5lLT$yO`RD*%HUc$+X|?0k zoB4~XbJ$uQXS$6Yasjd`a#*(RB1l!mVKbS+F==AX**zM9M9 zlO?()Xdn`AEaPGu+xO81r?GZKeh$41L*{8Ezg{mUHZbum6|v!5fngQ&x2Ri2j~i zV-LWnYZ71MlXxZ#+k6D-(pn08fa+v*uFfKT59f=TN6am}@i_m3G_~}xsGoMHj1ab} zL;d|Y<=({^@;z|2m^aQD$Lz@!e}Bt<)6%f-ud11fnQo4PGQAJ^pfPVox7O;htbUWz zxt8*Q%>mt$Bn}8hncU(!2jiyBojj*%LK>K~GR^Q+?-w>$}FBWyalSUGf>q zw!ACY^A84t6NApZ#+avIcr1%kXp82~=fJ1BwGXMEs*hT2$G4@F;~A%?vV?4n$u_}m znLe-PtM0>c=p&q+VBCV-#Q@|{`*mJ^fx5#ddKZgZ=_uHu{i5X;!J)h7Td1?e`(f|V z1LbDt(~VH*u^}f5Ai6Btgnh`+!a7htSO=>XEpC>0OP0gUJ*A=hFv%5trV+kb_D!~{ z&q%>JhY#JnIL(x*9s#aQ|0*+Z)nc;cQ%XWa&B_n(FSzr>FQuN4;nLO*B5( zBs5aYjZGsII%-_LLRp;;FJumnf-fnO1K0~0>M0zW-XdYFdic6(sy5duojNY}W99aN zAhyZ+-mEJqLvVja%q=E4{()|KREj3I$j$5MSO(OP5oce$~H=W9jFuvxcC_v86B@M+(E zZ(Fneh}w~zOYOTdQ!>*G7%knY~=F(fG7&oyRcyzq`pjQ8})34|=n)6r^5@$~s8PoG_$KJGj};rbEH zJMmLt&sO~<=FE4ae%YCRH|tlwz6TE7<=5?9gC99E)KeKKkB#*nO|2Rt5Iu4FQtt+j z=8tS+n)i>sZo)kF1qVX@M_TqSPlq7ib^ApAEl@DzAS-A6{qH?E|*eMR;v z{|f%_!G|F>kry5Zjp+|4r!l>YLtAU`{XP!TY~i?gS!j6x%l8}hRYw)$4Nn$|&LW#T z*pu-P5!6Xd*Urg^KFiN#*Zl6C@eenJH2-F9InKs_HK_!i!Cr!f*j8#Sn= z+4@%6cHS}-Ps0TkaeJ=d9rBkpzsSRAiZQ+8|4y;TudR#`JbREb}MQcdo_A`v3zTcYTbLP!GrP~c14WvUyd_i>REG(wY zSNZATO}HoM`u>PEihmB_yfyFKdYH4AMz*;|yd!$GIoYE8c28BHGA`*<7WAx#`3k4<;;QRP>e`bmC=9u6 zfdRG`O$B+tQlegfm7$*AQzbye7aj9!()5nFkpT+$)L3V&XT*UXdIJd zp;kRPd3?^lwJ!lF2?nnh#!awx!O#c|FqK^=7_8UI{WpJ!ozcO9OcJ z#;&}Z1#=>E+fxL)Ot8t-mBks|eq4FMw+McsHn|kRwhFeq!e;O0lIqze7-1noKEa5q zLB8eX0296)E?+I^(hGKl!A_dL^Dw773^ujEZmDjj?d&w1wc~N$uM(`jT%Q)uuU+B2 z+TadBz`Ij0s*20+5^N5&8c$EPeYaqt_6R5IkA9w9JO!oWy7me_sYu*eTUm3Wefsv< z0p1$~tDUK>oOSne!G2aS8;`{mbj#CwmioXNtyQJPw{l{20W*Wpj~flXTtgFic8bXD z;eMquHz{rTG?E@JdeOMuEO_nAlBSsEGA>t38>2PT70!ih*2ZT*24ya5ZET{f_WQ?U zCs}+~^8V^@&yV+%(c#19R4jT7te_*|{n+J`so}2k;r#5RPiyD_;fYu-+jHtbHeXau zJhQx{xn11NYr!R76Fl&eqO0^K<;z@f37s^)>X+{Pmqv8r&fl`(j$kd5tzV+uX7K6V z?Bm#`wR|@df1X`3((|$bY&Z`z?2V203a3MS;d_PJ(oTQx6ZO~Lml`T{8>qVqMNLfm zw}tZBH=hdwr!&0F#MBwS7yQjUG3Sg#xUt4{_zgytzaRKom+vpn;7k-F7Q!l^hcOZT z_T}&I%S$grWBnE0V|WcRcS5z5Ojl`JGC6Z<)~(^oDT8hUxD9bSrxeE=MF{VcEJ07w z>8m_|{NZEo3!x8zSm8Hq(j3@Me))TRi{#1lG3a*a`)03;Tx_dX<=F`9fa$YH8@*zA z3;}=ecjxX8_gvnnc~c~B6#Qc4jiR^Ou{|NI0Fvh*hZJ0R6laMGg>`7`?8zwtiV-iv z`9paKGzy=N)Nf*T9JFAm{;U#=m>m`Bg!8PaN(dPvwlz_aLX}G~(s$Os=6k z@87A9j9_PSE%5O1b|&3uM0DdXHXZ45fY2Dtn@3Sbb|#;sU<>|pj6j@~L0s+0KiQx+ zziI%2&B-RN1E1PoESr#D=h0rTnIC>w**kOR%e0d~+GWX|sn=Vd=js+vX0&!Z@FN|x zdvh{n;8;#2fBN@sh$(X?`d8A`;H5f^DWkb7J*E!kvU}Wdek}BUu`iqcT{5$5Qm2nDfd5)A{jE@AL3=x$#yE zzs$d>`mipU?p~Zhalz{n>zxmMZJ$=g(9*y^~xL)bz_yFmF zPTRzz@iJj*JAPlgiT?7&If7=Pfz@ZdUp_9Ponr6gyJyR*5omoD4R5Bbc(GS9&sypu z$mdo+f%Zl+VQ&OV>DL7=t*;k*`oZ?_xo3XIJ_lb=ytNX*N&JSt+4HrWa2VHgHB(N0_~HLZxSEb3QDt zPs$CCeBTOJyR)Cl;VMr#9f0o0?`N;Z3+FOJWBxpsKe*w+pa4*i!tnTW_yA>fXL;uS z)^^AUcn7-&j`={hCaJ(4SzK;T6G(#KwewM}e5>?PXPe)D`}rQuk~jIYByaDqI^TF# z!Omn}IaIidT_0BPaF{pP}b zb4%*N`JjR3&LH?j_s{QZ8FRtOQE(c4VbN>LOw^`xZvECyIcyw3}F~CRc^VcK?2Y!L;8C;?BQOgN>gcGUVCu(~FoexN~64;HfNE zLu)Z7MDuad!YB3F(z0ug;1?j0^2a()h3=X1LFb z9V>X9HPX;97G^{k8TDzzT}#tge-)zr^bg==ChRL6Q94N3$Q1h_ixGGfI>6Nmi8^Q+ z`uah~jMqCxy6#}FWv^9iJh!KfjT6^A#Mrd9m+*?~V2Uv8^qbl}3`cZ_x{rlkz08Gg>S$ugylvR|~y?^93o?K*l{OW6t*f_i-%@3%Wm)ArOd z*~auie$IE;1Vq}g!o_USEa^;^1AAVo(uVM96Mywn)TcT5WbldSdOC+t@i|)^Be)+D zq5fNOc{e)hrhFbo>x0fur!{VRKJZamuUD=!-rHpHs-r|drlWqa&hq$L)S>pyP)<5d z-vx>8Y#;S{U#;ae#2y_~+lj$38p4G$`vx1}^g;NJgI{OCtRD+^SI@uoX};ihG8eN< zF!X`@7VEbkL@;Y-fnb}HITQ+3a>6)K220w8W`4 zEs|HUQm&++XglKXY(Y0kzdNZ#eECz!t9O6VTe?Ygeyhx~{+?Sy9tUSpIW#zo2{C~Z zhSEpv2C((>upd*^*-Ca9pYwXV;+=}OEBGV?>)||-oU#vTbKML(oqv0}P&!3h!)J?j zxQ0fAA#4C!+eEL^l-C%pa&Nc=dM8bKE{dykWDo%)yRqFLdQ-2-#Yu)c&&!x}HRV+l zFMbuVdFb1wWPGxI9EApM2J)vG;P_sdpK(BgY0U6fV0lv$5dVg{4+eW1{tksf{m{Me z_J}t7EI!oT?}upgH1OyQ{XQ~U$xE7P1l>o*dQxQoeTNE~OFvK9z~_bcOTokUp?mO_ zDLUvavvvxvaNfQ_u+0V&rWHa!lU3I#N}zw zje+311$RIj1HDn+)bK_LDCuf=`+Nrd?t#a|Nr@~rQDIrKM^KIJInw&lv=O2St)ywv z2^b(PEtPvHb?s7LN0JjwS#)MG9z?9JcS zi1Pnd`||Blz6kt!SR=1lj~2i`t5HoDAq5K=8bSHaVX~OY` zbGLL>26iTP3;JF&Vlvv`_! zGskyE zL32INh90_y!R7!{OoUM9^Ie@jgF0z!r2kD#o@e_NUspRalooRPp5cmn(YfBMxJCdF zx%2T?!K1w+oFUQ)L$|eO(J6`BdK3&9BRB4)RWq>kYgce|%fl05IGpAr#C&a3hZv|oJ8OQQDUSF18Ob`TewmHrX) zDMS2`(PJay+}sIu@1l|9qGerVZhEeM|2lO^Ml^s;#S47D1HTsfq~Gfjzhrzr1>1yd zMh9R0EK$Wg-1BQPWYd0@u1m?o24L67X>{tOyyRfPQYe)F5${*qlcy4<+3871uJf{p z9>k(WmOngnIQI0F2c={B8h7TeM>Fh@|fG$n2 zO$jHK4Ez1u6%WK&1`p)kf7a2bS44d>J}0d?NNAMA3D;n|>qbwco;BqA#z`^(97C zj9c^W_b4MCRJUmKdhkdt`9>IkVi~ya z7koQj#ig(tqs^f7Msws1;L{w*zwxy0*Z87~|65{=-&oYAtcI5LsvmFi{aE77ym&s+ z59~%q1`c);xJUCb2H04r{crK@zYN|)G0jDPj->Oi_B>~!ed%lAY#V)r{1G^|CzAw2 zHxC-N7in$pY48uSufada{s#Xb`145pgM6GubR}o>=q^_t>Hc;!nXY$Z>5Ecb4*tXf zzaLL7@GmlhE^DKIkrOTai_9x;(+GEh{uJb(Ko`6H+&Ty388qK5UYcIdRxNH8rjWUmA9lVP%Zz-dQd|>w; z?Kzw(l{CV;+*X~-QvAeb+gIn;(*o^IPR%A(GI}OG|CZCw%$lG{+MO_ts>?)^-NuljPOk zzv6G`zv@ugPXkNw(u#oh)r@bl4c#BwpD<_ci^u2>kyqX1)>55!o)r!LVc;FW5eMbq z9|6w)4PITSoz}J?zEZe8N&+ex3C?&8b{}?$PXQ|&H>S$9&$+G@-$Q@_o&`+L z&^xEkLHwHhGI+$dE%<#!vK?kx&Tpz<+?$*H4+*Y&b0mUE`IF7btZ=0Jw3fH|Q}Fw= z&TQRBze4@tBfHQGwORAztCZ1w`jOPHbu}0H+IlNGGU|`?Ox*lIH^)1cJiuKf$S&HF z0Ov0^mf(vLzc)U=O|zWd+SjR<6VzvL1C;%Spp5HJr}wouUz0vLs$c5o-&5Z=`1eIN zp%!NaekZ(a#GMt{Z$G}@q`c@6cnOUIx1z-%lPu1qWHroBob#Kj@q-gw`m=su z|L^sQR9}fU|DUMMoQW4*pW6Rj-~P8#WAQmC5s4R=NU~)^;fPU?VExd1{XTd#Cf)vS z@i28s{0a|>3+5=yhw)@Sg}!Y{oY=}~K{cmuPF#$pxs?-h3sP2yWY!vU;?7Is{fMPw z1Tr@xahKPC@bz3tKJiDXPk*N{WAyDH?Q-+$Pt@U+u@iH%?oC4Q2P73K+B=}fCHQvi zVX^T+es0;VFM>Z1`>km?oP=rcRalzpe~|3_r)u@#S+&oc`lq`6kLGOHVQt8q{cBvr zmz|HsxkE8}@8-B@yzc^s-df+rzrSQ`-2UOrDdALc9di-`?V6n{_~|fnQ4jAU#Q5pS zx=TYY8mHk#ueV-@D|cs2F0E&Au|AB;H%n6t1eu_EoQMSGrZ{w=QdWL_K976gk-`^Y z48mEpA)kl(2YC(4aBOT!mji_?eN#g^^RhlSbG(L;qihD!zT7LH&nYU0#xf7o-%Ij& z#%c@LKspqberZ0v66)$zsM9E4@XzgOa}b$797)y|-4`O-neL=Zl|8~nd*{$u`>%{~ z)w$nQU|kEij?MvIuLmPV*R^u6jOm-^%Mbi~IeG7vXE4vR^}d5BtKxB3>~S>$*nV(p z-d}H&To^$XD+V z`5ivUy`y#(_e=Eo56Vav;2|6y+V{T2JBB-p3hxyCY%Fuk`P*w_OJ@x$vbYFj^tvo* z+ghR_o&KNj{)l?wdxd`ggnt|1{(j6~eZu{K_n5S7xF2Ns(QSXYWl!%8Sz252W$r}! z=h7?KzoCz+LwGL%mX@Uz z0q>jr-C;SpJ0#>qG{#MvuDu=apuLnDeRxt5!s@gj`Iy`D;6V{v=7)CZ58 z6;{jaDKG;;dfQJgC+~fcXNezbDT{Ny@a55Vw0{I6IqNAkG{Qlub+a9u>Yvs|;H4UM zOXLd;-R$}0xr`^)`%zDQ@^pE5iG#?=+T;&!d$P<1HE%qTE`wnfmlF9@W|WoX(2gjvqw(!)Ko;+1SrD`mgbR zFy-Y(_f6|t(X@KFceMY&G2>lxy1LD9Xu8+aQE@gip0$}D-4w-u2(rj4qP}p3G~;)( zwi!;n>dQkZZ+>QYxYO8Pu-;eVB4)R(rSFvTUyD3L|={oX+4}OIkP`Sm>08GbXFJ*PNehLH_EuQ~q z3y&&*K)DAY5^}SKJu|547Nk?l%{g5wR3xJqZ=Ezc_=pShGL6w@CJPwq_^V||Cr+D- z;Wl#O?6QVX$7{4dqO&YRa7mQYH=qvc*_M=Ncu}j>**KR+<`%;~tF-%vw6SSI$n=;# zjOtU`<+{h7#N~&D4wm_hTPsR?0Dg?8@%G8xiYPxm{7jU-9b2PilU%tnS5oFdf(=eS zWwD;8h0=Cd+8on5OVgOh56h#YG3Jc^sm4TW@CNW{4?N^~>Z@SHw7y!%Cn_=)FAt2H zLu?jx>W-x#!RA(w6Qyz%k!pE)u(onyG3+;wp$*7GEn#4B+HR;C7wy9(`g~*5XZCql zl?y-@=3of@+bYr8qW(S>T-tLUz`qvze7EzoJY2T7_a2P;4n~5QR;knw{6TB~GMN&g zE)a{^p4!2>LgqO&Fge9(pPlWSczX;mwMTr;%~5}mi?yoJE$CLMv`77YJh(myU-7H7 zC_a1g@9NX3e?6P;zO9m&XdHqLcX!k-WM4+6;qpj-HMO2>fcZ95Jk7sA=Zf|G;6pM) zuJi#j0@?Vf{k`DQ{QU2*?NY4HBHOM$@m3ACUBp7IoS4Mkd_J@H8fszNbugmShv_vNulKERHYUkPPc@R)Dj)CXJ=H-j=BWE|CR%MyV>{l9$Ww`((`ISBtwZkX z!oz$t?t<@af^W0@*XQ7eX*>Q0dR$+v_QA=erPLPn4&GYO6$f99uocTIV`mZeo;)&n z8+wRA_w`6LCi{~H8nvLC#^5OB#E(6UcXH`;iYIJK^eArLrq26z?n95o}>tir{?f| zoW8%zlTZHAm$DS|?^}YFCrJyRz-!!{Hi@7qWSpHmIX9o`VTZ&`ZWl>^S{p@|r;}gyC>7{Z z{Ju<^CCHRfDJBY-iyEpXsPD%wfKUC1WgE``)=7KS&wEKH>JBG^*IuvR&m>*)j&uCg zC%h?SX>G~Z&2LgsS|;}|Dz`a$ZxFul-tZji+I3ECaxs&h%kS{s5bD)?!}FpxLEp5! zmzJ`6gRasqkyq~xck(y%RdopO^MR#!X+^;M0>)dqO7VNcv&gIW25A)NoYZ^4F9MUe zaO^f*-Fes@z?jmeWw62=P`+ma)4M`tUazd~E#a4e^-F=NVI1|I@GGRXdQXtdQSS*a zAdf!3%3t0S3NUFODS$I4G{;^@Ir);=#2k1l{S`lPNiuf8i^h$=K-cg&*9k_8ogWzVEm1#3MOSmCqXbD17(U?}?#9L&HZ>8|`}u2Dfctd40akf*mf8 z_Ls4vgpMkEm0%cf43GA>`p@0_9FRVFr;t5_Y;yEIz5)$iOkXtj4@7dY>^B_-r~3SB z*+^+?uR%D zowUD$F^K=_yZ(i>la=3?{04aRxq>yqTS@W|`m>qIrL`RJ6qntQyxf=7JD+fdb@y9* zkJsIA^E<4&P`B3ID}DLqwB~j9JLJ{6dli4R?t~|-yI1o)#Y-y!UcFN_uDh3!SL^N| zrlCGS4x$XVu6~m=tv`-!$#N#@^Il8Fuft*{yM_eQzMY-ofkSFXowtEdDB{ zUUo^>j+BGY##UKeKDo%Y z?M+d?h*faGHo=en6h6+J3J|Jpw&%Q=y5GXTPe7xq3-_FAPsO?X(ibSAJ;eDeaqH86 zZ;Rli=zDwiy|ga--nJq7zA^e9`#!l>1ivKuerfi-v^o3Uc3JlQzV|`@#QU)A)PzZB zy;tH5W3evjo?M+7P3`yI3LS{g=Ax|lF?*YXVGl;=D-V0SgP|C9rn0hpV1Dtm8~Z=b z;62Or4E_!W?^z)hAeMEw40QA1Pdt3NF7+Hc>?f0L$-~9_mT|3_Ge%rGS!no8&@Beae1v9X6?{U9JSC;ebdar|0E^&-=+EdDbV`yhe-H);MNs!#tS5WmOI}KLxi; zwsn}lHzFsRCjJQT+^4)fs^&fKMS?r`RnT4SpgE<#h}tikg`cJ!>gxxTFHsgWBr!l8=V z@)6&bZy?Xp9kT;Es6P0S^ILs;K5BJ1uiSc1XoDsni|XAVxde{1dU(5W>hB7)HLPfR zS?xusz6~GuZFnbbXdyp<%RHozqen8&I1Y6|0$8=Tm9~5myrOHk^Qm8O7{MowQ{wbA zmaYJHozg!YUp!c6n{x3rO7!(pQD2e46jZr(TSVtigF`ZzVPquvxkwC4X)8)}i84mE z-_D$tBRmgI<3oNXYKvqTdOI5@@PrE}G!djKjbNjR+VNS+>#b_|Kr1;oe2DBdhY#Z^ z%>?4jkx&}bz~1fWilcF}O{M%mDE`ST*Xae!MZ;bvpA@oD)Njeib;tff)W_|*4cvqF zsIOlHkKR6B=Iz3+g@M$3xIOo7>?L@9|5W>B-)>t&j!%)dh5C%2G!c&?o3Vp6v?%ma zn~ooTO@J$e5msl>I^M>yzY3PxA-KJinw(R`RJJAf4wtt=WykUIm7XD2 zq-}ODCSe|R=%$Kz2i`JjzN=e(@jdnH_}~5Z7ic>oy(*DZdilXmG}2lJ&dc2hXRly32>6rI|i zBjVxk=`=pMocH-foG)9$tCS(0SGwox_cnZtobK_csw)@en2_-BzbsA_l35t>p>#=N#3r1`c5))B#OU`0MZtP@2E^uqDEKlXGHjqdR0VZ6rV07hw+ z?~Y6ssoy2iwC>vYtIrU7qGYy7GBG+Jk55<pL_sNIL{C<>8eH z;F9f%r_XYwRa~!KD{0Iu5+4??p^4C{8o9*xKN+u z(+`T;l22=vPd}Kvl27m8ZFQnPReTk`Fr-CVp%w63VIPeRdiOyt`Db7 z1_9HB%k6C{x3^_ElvSK+j95r3mxEAF^Zshut@Ck#JzR79Rvo1DDewc*r!z04?uwYg zWk+HW8ztKGZ=#{h_GDffdnsS@2lue)V-dd;Ct)!ly$#K}wP0zKYh5 zq>OZRw((efg>U!64UcQL_EPwq)OT2kdVVIV$NZtC^%ReV>e=n<*-bqy?i6Ns?X{g! z75doRyD1I22N{`o7dRMu@eqEtqtc_IcB1QdkMOJQd%z<-`j4{_7V`}?&|Mz_@}>m!_qk^K2*H7 z^kSVoMt>k-ggr2WP)_?-m}BO5&TmVCb<;NVPUk0AbOm>JpHAAjjgu|jrv%&1 zzUHkR`sSj2P;tIId_en``l$V@64A%@ued*Zi$98!8T6Z2(())Zc!}>mKtFHVpOmfBN-Qtix43FfyF&N9ixHsq6r_ zw3aU6o%Bk^EW~!u_jdojsqbz69n-%1cTD?!Z}*O=?|quj$>SR_*lgeA@>p-5 zAB!hA7*;~vBVq3wHCR0-Zyxjb%&#J4MOVTZmBxXG5AP5y>8dfBAg|;`cfz=7uWtPQ+>0!F&|jec!hJvjd$PN zaokI5oor!6-b&jV@rLnGT7pl3aAry4WKvNhDZ3Xx2nWag}hmYo3>nd%S*2-XQ5*?<%sdM-U|0H{Lat1UW z2Zs;$Vp@2(H~5MUFzIMJn8oR^d}Dp;`VmXY%NJ(A&+h6AyGfe;rWveFwWCHp?bolN zqb+zrG|f>)uT1C-v-*VLvFhQyRc{(om}GsN&HKqH%ve0l#~Y_(SGBOT>%%*8^WC3h zevj#7(D26}8(gG({w90~^3H_fgxvyC8wr)!ob;c>SqWU8iM3O?q|&f^oS8x8g0%Tm zaSPVpGC@Rr{;2Sm zSTl=Jzl^s_(OGYr@M|tEQAYl=9>~G0Hh&*ls?B<5Z{{7UBfW&*s0xqz zhqS&L!O)w_ZfQz)Wns0M8$Gqz$<_H4Y-G7@DNeBHC*CzAU96T zfz#m99LT?^=i|rdu15Tr8}>zg6^vLhH|*mns~;<;;6t2sQ92v-mA9!}#cuZGK-L!Z z>vqaLkU@GONLuiBJ;N3C$lsL1FED66Ki&7G?$?s|ibmfSK{tR%3EmaH8&knIp)-IZ zHFJj__7lOSt51GjGQ=%pb7o62>mF5Dr)sbG`d`TRJ+#nuJN%-(>hCkiE8g}1|72(E z&L|{bIy!sLNa6uMxiEt-Ez@OglT^&5VLYy6H(O=*U(y_-x6cHpLK4^^*?ZI(=MV6_ zJz(k@JfsyT(j+^to<(`-Mtzih;&W-6CQdGopCAx8@e)trk;uX(niR*kD@}*rG-WzT zc7mKflpU$hEtHJ^?|j_9r6kics#6{msz^4wl3CAi6Hc11#F&P{90W&5dgK$xR7 zrp!qf7hdOv{18M&`j%htOA;b}WCr>vp3U}dAJ1`FmS(@VrT*wbtkO)6XnUHbO+AC} z(3#G)V|jQsE9B3%PTE5JwUF)#Mrl{&(}wFa*t>CO()li(g6Bc^@L^vqrlVVZ#c9x3 zYw?%-`2EMVEqUdXM+-*#2<}FE5iaz@OiGxNad8DXsONUSFLhXhNAb^QP9%)>g0&@M zQ{l~3V^rcSiS<%Nt98lnY4m^6ch^k`3S_Hpyp@hk#N;%wufx39!dt3-i`SO_ljleD z(%u~S&Vm+SRG&ny!M= zCf1i&Q5%aoq{yHhC*4t-hKnzn~@_rP4q027H!C*c44b_ zcyVsV=d)DPU)A~do8Sl^=GRX}GmXp3!KZQA0uxni%TVpXtBbbm;7%a?G`dfDI;~ox zR*i!ZEfmiRxux;c`mM7QAH72rzo&`^4RKB_KykDuZA*^VXGK_fR42dMrM~}m)OYS0 zYqm>$dnNhB?>vjTi)HPw@q_(GrC~6HNz>3cK76v!!Obc3xTS8I<@PvIqs1K1=%qRK zyR=Jl?4`Lm22W_d7qY!Y^J{zhV8Wc#$+%cl>{pIthkGh4VzwEy){``4L1Tx;BF>mQI`{Ng(pki=J$LY>Kx=D*pUs9Wjgo^Q6Oc7X4u)>-YOD{`tdo~BZ*)(8Bkj%K)4}7{ zktvOlO#9YnX93o>K7V8GK@9spq)SU+2g3+vb-J!+$Tj2U&}m zr?vQY>Ik0~wiWkZwEJW7$#%QD&8@dDp@blM6yNt)VBP)WgXNL1+}tlu%Xfk+-lsHg zh{%1?W{B^fVC#Un;HR!{f^7oUSA&B7J;Tj8pU<8S-JT{oY#}eNKnuY?mtb3g$?9cf z?o8?rNoV6W4;OvaC(-6lBih&-NQ*v+KJO;4*7)N}s-tbIOXTzcMs8_SoYK}avb2+AQf&+$QS@6?>Zmqxfz+l2dVovsYiIQLFg z1eW5Z6#=j80~>X2{+zthxpDd@2hdy*X-u)e^g=#DdQ2RRq3o(Z3Ov>a*+46}r%s68 z>(K-G80q?aoWJOST#()x=TDGVHpQ=m-o-q#+z|I;QmhLn0&2d|U1 zh)#b+9r5_-_ow+M9lTHRSD&C8r81%?_u?eW*Oq)H%V+q)IDZa!JkFozcNoi1UgP`) zU%ol5d7QsUUXAmY_#4_E#`$l6rFa?VfLC{_#&P~@@@kyXeR4r;c>kYRK)2*J`Q3eR z@>$X$z0!MX=qQ_m71n`ld%sLt0p)ETe1)`l9w_byvWbZi=848|19Rc4**O-51*((O?$4?@P|P?^A42`aW8C<~aMD(cZ&)%Rx>npWXOV(G|ri zT_c?t^mTvUXdX1m%(SnqK^R@5 z&{3bOAy1OzLfRWTtL~zY@OrZ=KA@=5!da!X?UptfsZV|XF6F-r{tr-Nu`HT1ydShaoOycnh+(u|wD`WKMUdaFT0io#XweT@ zwBnYJElp0R?@EFb&m4Yer3sFl+Fl8c)QNP?JkUHFL>Ha=-K-G_SkTKjAJJn#JbBzs zTSpBr+AccWMLETb>?WRh>pK|1#!wh1lzR|igKRJcf=#l5wk`h(zOdK+z|-X}zebDb zBG|fQHuV*%-`GqWE2RGFH}_k2W%V==47-5zp7wNGdnd+Lrv_^atB(KqFYd|M227n? zvRGxQk6ppB5dc21z+!}T%6L5lltDVBT+wcm5 zi;2iyUi!CaT=r;Oa%2kwlLHzpH8%h5$L1sOH!a7e(mjr}f?&1i*wWCD8eiZe~>1bVCJJhcq`+j{2 zM8*B8I`7!#-=r#wCwCGwLVdrIN4UP+=;xXE+yuYXr@Vh}{pM|a>UKX?Kfs0-d87rN zv5Cf5s~vg+DuF9}*jE~BY}pR=tDUmCU%eZ7V&H3n-kkW~$Du1L9%jAT%NT6%?QV50 znqbaHK&cMmUrt_tqjRxkx~Iz~kN<;foROV$R(tH=@^R#1i%6-Dr)y7XoRdv5I>`g| zmT9s~FHPgdi`NRhlblFx^mUeS?wyLVtlIOB9|z%=o>}l;sdXfntwUUXx)&L5^vM{B zP8%7cOXyelToq(>_mEB+w@bmNbMOxy+e%i)x*aVa863ueU|6!@cb7W@?(J#)r@1+} ziZ_SJg1*s_DU+@gcv8&bIKJhm={gLoeEqm!ot8iTV1 zGA8o_lgled!&xC1XN6$L0!-!6Gnnr^vr?bb6(X|H+Y5cgXWS>Euig7XUkmy!`fVY< z&XAApX>}h~eC=4&>3@0JZS}MZ=cmrZMqW{rr@jcs4D zyrtv{%IFjBTe&pv=czd@yDy19P?^9Vbn<=IIrY`qxyVOoxNimAx{F;E)hoF|mX_fT z{?8sxUfsp6=5Oe`>JZ+Yz|yj`BH(>FW7v2XdkA@T7wfKZZ>WyQ#fja)9tvD{ume2( zE}w7-x|?+XXXw)W%lN|){7T>)-&uYVbYFV}@ceMO*eZ_%-gsAQjIFYZJo@|$fAQaa zQS(6ab~pKDNAUUGt=ta|#=n{_?<~-ecK=O9V1pS{FBfOM8pvzS=K-wsFtx1Y-BE=nQjjaoUGv zB6X^!;E>^LQJULx4Qh08y!u?~7%9|+zO^zn@%7u2Ifs}%QTyIT=(j(j-wyH6QHR2j z6oFEDJ%(~Rmu9%zgn6kx;Z-Kb-?0PAgc!~NR8`WpLElS>@9=@jdZz7-00r|`> zeg~_bo~zf!$_IMOqo|? z-a^c7dKI;XIyJYtz#+NbkD<=9m=n@NX-l}mqjsa%6^GEJ8y*@s)_-8U4|`YBc_}rd zW2{i=EsrTIiKVwUq)!a_MA|O=@ZdT8+%QMLAur9Gd09-5ZraAE=Q689=F>R`r8D4G ze=3xbPv`y2$zu6(6_hfH5?|uT69GWv-oAUmqjeI_N1cra1Y-@|%3VA@SM|G(H1YTc z`KwQCyV}h`&YPNw3qNP3V3p|HI|N+kq=!2PD$rDC-xEkn?HJQi zPG&tuTI2Z_WR<$3Nme;d9(^YG8`&?Wm`vOpJX;2+pXY}uBRS;{`B%(WF$=P|0ee%q zPYeT>Xm%7_nj2s8d+3$cs?&owrLr}v-=*aANcgS25PevSX_$r>VZLfl{2X_xqL>Ks zPkF;iFDjB^`(ykXpPhzsIF<`L&0+ zarx#NXIm!U$n=sP$v)0~7l8-bi_^|dFVmwOH{C$dRWRvTEZ<%sqzyM;+8}r*w2__Y z*veT{bRA52u@5D0|1=rXe7g5~PC?qhD6_cylk}s5{Id(($h#NMR3_)=r*OCy&REqU zdDOt(s9w8k-%Yxz?s;GL-%z*4ZkM;MyVmPqx_xPSGRV+HBeyqAPsZ{I!La+9?4O@s zJ&C#^F1S+NcBO3~ZL~IXaFT#bVLl3uP1xkYdabtLQqsNe65!qQt2GC9bWnbDXTalc z1>N(S-Dw%@#~J97aPZb&Hv@7&*&i*x8VZq(_CBuk7S@E z(|(Bl4Gfq*cj_s{c)+%N8cz)UgA;>Z2m9Plev&IWSUzg0^zR1vLok~z^eO6OCyBGF zrN$n{KuBo3;c4=}hcgVnG@mafWH%@Ekp?w;!r-4`Z z<#kMgHRaGwf0Ri(j5ozr`lGpIYH(-smB`!0Cuwi`D8$hBaPO2pX#yV-6g$J*{RP^E z&L@whi}R;ynGCv7rxU$T>2&&hPN!2ee+K2z_w1=nD?oXMzp*@Twkq%Qx$>fe^diqi zG)FHo)(OpZ)RDVove7}bekS;Ie}@pQ-aRt+2}2Wu-NBf#5ei1p@)yA;THfgAnf6vV z?o_Y3gI^`DPZsDZSbORR(eVzNU(b&EYJM0jpbeVh7ifq2^&HA-&40J8RlkN=LzVJq zkHYn!gY0;@MqoN$p6B~DRJb-nG4`nPXr+%~kuR(Mavo_@s;AkV9`~Db_6g$I6rU@* zZ+Ai`bO**N7_kJ2j^{<$^-ox^q@%#8te#$gm}Tw^Uno zrx?Q`qh=QG8Gj#CDg*`YWbhfU82xu*des>I`e-=yGfHg?_$;v)jEB z%vQ>tUi!`Z_sHbR35*RHLna35Dk*;>+DQkwIfIj)@YUAs@BLsyG5&C z1E=)c~L&y8!tIVgFH7!_Flg({9GM+%Y#PHYR=ZH zIe})`+5J+=$)1@}>Hvnx{a z*53Uz?$Nvl^wdt-CY$bgo8$=$q3}%E!me67G?uT8Xu()ERp^GX37pdDb(EL?qgT-u z&9`ud7R$J>ZPk{Eg7OGaR(&V)FffO?;QNO?(>z`tR!sJ+J_=4BG5W6A{uItQ?P=Tz zr%yEG7o5A_^oc0H+6S7_8>0RzhTFxoPjmNwQckugk8R0&u*wnIj|>kS!?5MZbvGC# z8-Yeg-B;AF7qJH7SKc4oE$%JO9-tfJcYMt|UcK?!vSt>e!;?H6 zIzZ8PuZiw~__qI9Kdr;T-YVSaAxXwGfWA^V{3K+wC zO#24WB8xq!dGauUvUt~4SBdVwgZk-@`2%UdsBW~ZOKtxX-}Z-sTztLVpWBA}yL%2+ z%Urum0O9O?d*vV9(zm#Dd1=rajn<*=$F#-n$L|8CUOQZ_0|VuQ!KOM7q`P*;{wet- zBmWwd(_ZouzU%Dzg}m>Muo(?m#5#A1s|ig;IEyQDvuCwC7Fy$Esa@%|*NBpq(Whtm zd8s+Zywp~ko-HL_*lY6{zgg^`9%(6fWaIN5`q*IOlQjgoYJ8OkyW$kCvbvLOzz*lV zq=gUqBCTkV-?j_7r7{0AaB1&;7`oHNvhWnY9;>SR-BqU%2$9@<`~Be4cm>^*-Qd>w z6wV^m!FE~t^QaHO_a2Ab1?y0o|H8NVV_|`K+=M@3mSI8V|V0`t1!uM zUo0*{byp6#1~wtHG_c8*>Z7!?6PhB2#NIBJA361j;n{8(1f+IQA0t0;hfJ=eFjWn-cT zaYxig?~ujK59yc?-)i;bRIT1f7p37FWo|hXVNQuQI)gtI(WXPUkbBU6(dN_Ok?gD+ zq%HVK#QpU?RLILZ3`Y7ZUXis4Y&2=`jntIs#v7~E!Tz3ss?0Ntv8e9Zv**$7Oesp~ zsy5-EBIMj|Ucol;nGNC%+ZR7epNea7G*>$Mhn{cUQuS8WTl`uc;EM8SKPoZKUyRzuUSaoQ_`v?k zG2-yJhUHNh9^3EaVFYC%}}qM#rhxY*REur z)4xvoEj?k4i)_`tLOV=Op}*%cyE@$sC1=t880Y^xpZ{wJ!o5#33 zf#>_C)uDQ{$E{7Ii>0H+>|5Y{JUWPyV{6}Z?+$|qZ-#qNnjRhQQ4j>LcXE!(yVA7s zc%=_{LB=nA2VAtwXHYBbDZ&3{=;*WR{73TX9pP^{Op9fe)e5hz`VX69rGKPfTxX_l z(jw93M)ACJ_)zY0fiqfTZI#7vYfgQawrfu5`#Iif!uNLh1p^-LLYk9kP@N_;&fJnl zzH(x5jw!Bn_&soNKI2gUUuj;S`THrXe4Jak<@;v`8shgOf{3vg+~c;Rn{| z`tf{X7BB7pHuSw!<;~kvuIbh`_5a^||GSxwEqKUAM{y2yBNU9YxqZ0kY_9yb_|8*1 zH4pwHq6KG2V~bk0Q~mx=%F4gplR1N1=y~bdPxxK=Epn(LKsvTR0*}V_ug!LUzDm#hLTytY<&<9c{vGTy zccyzAA@(Y~sdg*SAJ-2HC0Fh1KiFrwcWp^w`Vjtv%L9HNEEVU$ain{HZ7)vmA39tf zknarnK~F-;*zfD>T)=3d(YTl z7N&q$``UW&YD|lHvx1VXFoI9=E z2l0Iu^#&R~nBOW7o0-yDI+Htm`R24{oymugS2~kd@HdR1>QLDZU||d|r4<3M{Gc`J zOl~HxbS8%vn9_CAn>2e+=}lfn8eJ79#iO z2Ez;Rqnx_Zfl-P@Qf$x_nL_JxGkTq!LeA%5{6(*`dCh0b zEWa19;%A5u1d}HlMUspV^{-yiE9oc-+KJf_tZKT$#`KyoSli*=KJ(BP7 zeA>nDFlRz}&8MI7<(t!*=hJTTYCc`V-_WiwpB@D)#Y-y!Udd)PpETDJKbAZBzMEgs zSh731F}aqs0!muC#$^xbjpMS}jmw1gV)==<&gz1%=5OJ+TwpKO*j!Ipjm<-mqn;|< zOREZq3WMx8_VF?F1bA}wCK1jhfV;b87La$R1ao94$JgZTv$ZeE)&c+Ij%CBi0&$X4 z+dZ9e*d;6OZLK~%H>sG*>IeHt=>|_9vaqiIzwd|W`Lon1ez&*3)g3ja96oS+s@+_B z$HoXr5ZjQ7?{p3q3i3cR&CB5PEu0IofzcgQcTdqpXVznBkMiE6zvuABvIecC17Yt* z6U&p*VC7aZH#>)UvFDvM7JBoJeZUDO9gFhxQ&)LDixhgyIK{~e$%Bqy|MK#x*(&Rf zawF~8meh}XpyhiUF!^Ix&~tU*Cm2uVSHIA?IHja={kYx#H!;RHQzm>myey$5-E5z_ z0R5q@#_{ps)i@sR%WScAx95gm;6D%_>%6qUQJVZO$ok4r+w}f#cEMwV{pi|A9M|1H zkP76A(|lXHeOvyT@zGcwl6}KD_x)e}y|9=+srJbDnAnjHAZqCoOaa2K%i$ogFKJqZvavYQ$p=ZW;POanqJRKXVy>Op2 zp0|MGMbK|oX$@Oq1uhvI>8)7zkTitfMweIywmN@^c^Iz?`chw9noD8s4R(I%G!qq(X2 z^XYQGKTsVkSNd=S=UB4Y2ZvI^RCxORjG1>sL`0@wr4$DZZV+oC`jOtA?&Bemrigopn&{A)Vmg^Z$4|4>&oG^8UYC z$+9ejBaE#G5axUcBZM)MEQ~P@Xs<}O_BF1k7~=DlmG10o?Cq&hasguqp@-fABtSxF zfdmK%J%J=71QL1+p?4w!=?VYu@0pqRop<-$lMH}kx&&)hC^Gti@nWu2}^eogl zk}`aIsbdnOj&N@9yKe!H&}iwTXUR3mG)(!V@#LaEORRK+u?e5+r0dW?Xus<eP>IuGxGcPy4WN_t6r@-oWQV~05VT}=2sug=mkl^Qg69^>cEP;OtvUZuen#oN#v zVu!N+F4L(E$$aPBlnq5nW3vfG4^jp+YA-`kx+$W;W|Ox5eC-uI#=s>Tqd&i})m`7~ z7L4?a_TOO7dROmtM0N@VF&r99++8PN@yX>;3F>6d6VMS00u?v8GR#`>|;AUTA-A0BEz?h2UeM4vhbhGmKWcs^cwwl3p!ZBOP+A*DRaZ1jCnJ(p+o><#q@z9TtdZg;7~ zs*BThW@R2CxW*3EgVM93alaz)Ncjec*y0p;}$*3Fwj z@p}w?>8x}gK5}C~<$lrfpj+}HYs2JB_2jA3*s|LE5DdL!gPB37A5X#2@in;YST#1< z%eCLU*znL%KBmW8=~TVQKL&eKA7L@fkH2r zops5(Lz(TADK9Nm=O$)P4J|AoE~}Uw^G%GM?Brh_jh)%auTIHxr#Ex-72uYA%0E8T zc)iVEXHyS6;O~;AeN?>KH({v4_dmX$`!0E^`YgX(-|}|&zZaD`?d`gM=*QKcAx-|k zIYZ{kOOuFI-Tte5oEvkpA`wt@5{xy79gp6pMb~kA9SUjO$>y+=FHFNeey)7H${t&D z?#cc95Ke5^=dk-JOv882+@S{FO)XE}%F*WABKSjr56V>vSGy$9Dc{Q^%hXXrK0L?VGQsoc5g0uyM80k?8Ii zJupVNEpOe9adQeVJVW_Aag^M287{mFa}|!tfD+mtZ;&r^RVS8@bsv|KQO;+B-etTH z1r@+-or|aN;k{D5?l;iahWm6HyFqE}Uq%CBl$QP|qUX)%Vq{&mB_9J)TE3AoTHil` zmc=}l4;70_Mqhd8$k>6Qfl(I*peVuc20J$GrHO2z=f-QNoEfk20&5uiw?u74S9@gO zhHiXhpL-pe2X6(3?*7BPy&q&REa2&b%zJ;i(mOhYxYAA_e8OQg;E1wX4tgWGhSpA9 zT}h7a=lyuOR@JQ#)5d}M{)PEY+&4^n_>#3l{d;@9f2-AUPVG>C{{)#)~h>u{@H0<4{vQO6a@q>R;5 zJ#fLUOePPG`*#oh-o;xOtgSOa^7sVb?*@PmkRwH3b_XRSx=eGg@{7C*;6Qha|LTS9K(o9e&Q$}jtN z>Hd@?OZBm-Y8pFB<3${m`WOQc&QihF3pS@M)r~9L7yJOQdFzJFDZw@hrq$rbS+Grl z9m`;5dR!L|xUsN7&1=GF$Vxjd{*`PdEVOE zWWMQ{VMjBZ9*JguO?k;K>YM<=nKa3I^Ko7y+Z9~aWU+OF-AXvWAU&Ua++5*jXi6WA z+ALe6COmE!n&H09e@A)6j;)tkjxGM^`_hMK`O_KoE-+d3%_-o$-mfM1-md#c?f49S zN@dKbGfZ G1_;+3`~;{JYEn*=AdAr-@|qP4~ioi2BLAEvnh|v?#^*_2b~sx%EW) zTCB?q?`Po^Qn{6LB9wYcUnQM7?i9{cUA+ZPrGry@=ReVIt&~6^#?xO;)H2_IDQR%JL3*^N9V&7x9XwlqLSv>#pNQ-uWgmVmT4KMOgViQ)Vmk7AM^aZFa`It&~0=(UZH-o#^ZOEno1oyASux z;{BmAGL6;MJj|W>QZx3)nZNpkw;bUK?=V?D{90%E4Br~Rmwz4j&XuhEH~1aiVM2Mm!+g`1 zZ%%7|hxrzH^$zoG{)YCe4wd~buoN%%`hfQ|drzZY=)aIxdZC`CDJ?a3^fvJ|(&;X5 zA9^hxU1XMV&2)Nx-yyANRP;XaJ<{U$iK6&F-zSegKj1HK6KUP&GQL`GKct-2+r?L| zvfiZat_y19K8l%{hx+;Qui(>s33o)t@8o4zx?>PiWn_H93zPgB6P%bTz15@jzVRCV zyP;9IlMqv7NS@++g25e6vrK{cWA*8-+W3ii+cQujE#2Yi0!r3iQ)|Pf(bNagH0-F}B!Vdq^dMeIrE9k@r}enmV3Pc~Jx%%W*KGOrMEUU5?4zY*dy)KF_AX2kqrPH% zr24%9I{te^M`S*Cy5FMbe|UPn7zR=6>=RywR(zguckLu*2DkYB3gXk$FrnP(Y!^1ClI9xz^@zN&{EEmhx`u6ME2?LsP<~a!M z4{xIPwT9Tl(FUKo$aEIY?vAY~$Q^Ux#OPAWQwX*>QCLj@<@>?CQEZC(wl&GsYP8Hj zXovc9SIWqyd4vb3V%;J?ujCJK_nxuA4i}QfKO?qE1iRCD3HvZ!mKchf@kaUhDD3fg zKGd0~`ZY$Iqkd?N(ty=>vVQgNZhpLuUoSaG(cOo=sXTfZ#o5e(e)vr?+)jf z*VFeNp1x|s*DrUp*7u-?{%%iq^_w+ra>9AA<=Ym|>w4eI!bd(lq(M09F_^TDyrArO*=L-05+KHpsS4Hg>^2 z%F?6zmwrEpe>(rK;IBU6&XuLDNrKH`z^gG9-jDFFIse*Zm&YYrE8z)uv^{*^xuX8N zxIkC&JKV!UeY&IV_2rw>n(t^2A+PReSMxW}Ky|3>HNaB5v?Abr2Xmz^bw|Ta zh#94qW&S6p4;BCR%~J!j{^}4F3G>6HUtC)c*R)N4B=ZGQS4+LbCl84-j45uIJJ5 zxLOvYh3MT$U7~kbUtRnbZNlE6vrlWZTlvVp-{)VANAK?J#7EPCex#*Dbsa=H9I5qoi_!O7nPv(_2dnoAfwLVT%|72^#;m|u8(8BsqQ}nzxsZ) zy+a3`8L$5gA2T+5q_1PZ97y6~qfh>bGN^BVzi247JVzeb2k#+zf)r)D~`AADYL~-LsU&OZlle+NHdYYRc<|Nj#;} zIH6_1VtI#}@&;Nu+)7szZ+jH?`_{0*%%?wUC=Sm^6CUfT$*h!y#`aJr<+Ua*NH(t@ z1$I%e3CO0RNME=nw9XDvMm)(sqg363&kt|$+P;PcdhwT~rxm&TB6@*$1@Ar5ol{mD z>-^rXH}>(R5FaJo+s)cG^M(B3cI`3wcNeu;d;1ZihiIa^Q2Gq?OKr30btCoYZDyEC zueUW9_99m|C$$CS!#Nc90_mW7slG8~g-J$_;yt?3h{nBKH-imFu^go-vs;Rdn8BcZ z_Oo8*6>NRS=&yJ@k- z5+6DZ95JczNFPOtlE$CT0GG{1Wyw42;w3?`xfXyo<yNK9;mbK68Wl3UD?87ri5(5CqDM6 z{MAR}vVp%@S}6&8NZ^Hqw{d^S^7H=TacPbS9_Gk1`5w=aXYo7CgHT>`G`BL&ZXf0L+6|BjxQjOJ}=}ibE)tUb2FeY$>xIQ)Qc#u zIdu(w1&Yr*u14lYps%~DQjQGno51P(dI>l+zm7NRr#9eeWae>(JA)x3dd0Y&m^A)z zB+m;r<(95I+8>(hG&(nfQyRa5 z@{->_qVx;#bHN7OyLDKNjXIQ$#qUzL#$q+zF7+9ICwRM8M>IJ{-tJDfU-R=d)Fa;R z(H!zE_B=BR-;YV+LX8*`+?Fdb1WJVcD9F^ruV@eWebFY`=k)t^{L?=7TK?)2_PH!= zO%mCi8ji4U{UK%Ied`VU4trB5uYK!}BHZF#vb5%X>y6~qzV#;lhBk+N>n*_2vg}&{ z@4Vl)mc*3!v+ecd74OoC-h4gNXtn+84@gs1-iU7%C(lc&?Ne_Co};DVTD#`0z#I3c z5D!#iq}Mx$>Tu!tmjT#KN+B{Od#7 zK*#km1L^|LPJBb??Lcy#Kc)S=RJqF3OLIrzeliVB@Bba-k#F6H+k4KM&0l10hxzj^ z(zI4}9>z8*?@r;R%^ya0N_mR!71WN@Dvi&XS|H?rwl{ne`s$v%OuHN9c;1Hqu^Y2^ zN=0!v??&5QZ0Rfxr(m)@I+r+{%KQH-4(EHJVfdiCea>{!ynG*Jr8Dv--rj;=-hGCw z+P8bRlOO2!x`f~GgQBZ`Z{YWyD1DQDN9miBYFDt4QvQqit#?J)(aB}V2ckAx9LmE) zV(zo$LkH}KjiuW7LGsF;WKT(FOjtXII?Kp&x(3GZvCuzos6VWq6z)Uu1%EFoe6&BL z__@C}Nz+h_aiIgX?lk|o0^0olOWF`}x#=H%(M}|^a9vr-%ruGJ+gU0J)z{3YwFjgya<ft&FR!}x!5b*j_2Uw5nHD)WKx=Zxy zAESPy@d1C%y4Amb0-t2w$L`zey-(AwV?^(e2XQ9UpfA>#K#!ch*r&j&`E#Z3pUw|f zMxTPwYOQDw$$YuURtKR1aJ?O=pPz~P>DEDGRbiiKYMiw}efumpw6FaO2sPjS#Gft2 zd=^h7eSOj@7#Q`jx^fV(=5+v&9uj(-mpBaW^+3On+S#?!Q^f)qpEC1NpV+rNTc26P zlX*@DcSBP?Gw&e|uG?pYYg2Ma0r*-VbF@^x&CU5zWa_hY3%?lA6<@$-?X&3kCCbSD z><1-B$J3FIwhfZqMLec{e}(+;43V!D_om8Fr2J-<54~C6rofBFX?NAdlTYxiInREl zJGaHP=WlbFb;&n8KJgjC75I;D0pGczKDhRLo8N(d4Rwlt{Z7;#@vm80)~6tQ`!0FK zzkZLunq$hVI)wKJz|yj`BH(>5YohUu_g}~>{c)~^GXyv^i2kzdzu0&jD0`8yRVl%L$){rjW^r@~r~lKuP; zSR+3iWIsB$Ho_18h&=lID}UjKgX34buJ|AOv^Quzogt6>m3;}~YP}bnFPzT@iByau zHw&|=ml^3L0RIOS3!kkLZ(<=?@jeX`{31B>`o!DM5l2=CfA z&#+g^PX6dTZm?ve3S9-)9xI*x&eRT54SWi*nlUOE8zk_lGg!Dd(;JCiM}f(&9h7i^;6{^Kq}MR@`6aVb{Tt@(@a1PLdSJmxt10-A6Ts z>La(jsYYM(*!NF$5iz-1)9|@CY@wf*QDVK)O~O>1&KW*6$krC6+T2jtjifO#DK3M- zJZ{Cb+a%m*hO0jHli@9`gAUX#kbU=zd|GBSb@QZLuh(WKmg@xQv;NO9p@_v=H@SrmU=rx6 zv`wT*Ik0S@8%+@~EqAd`bKHS62Qyv(A2XVk8b&GU+WJ(x@GleKDD-AL#`ehOcvpmH zM+6W0`cJ~oyKI5MpRVN#py}Qcwze=t^GIOQL_cO58MBSim<^Wh3|-f6xeH~*gM0zI zhFglyj1WVsuiTGd13hr89D2LWn~BysK?wBSEw6LS%a}gGuM6qBa563+Ld0>8tgAGe zd&cLd*p&Tx7k#mRNOMT_P;D*I_Y0%GqfdNp_20?1YHt4u_2_N=Q|SBYUL~1Nk_;}K zsMfrnNY)qQEBKl`+;qDIFXiA}GuoT?a}NfS-GlE&9bem*^OGa@&4zb2Fg2l!b z<}`W3o}jZqi!)82jX@5uHEIj@EP z;bq7%1U%XY?*$(1gT-T_0ATpi!*P%2=SC~mngY1BYt2O^Xnk+y;xnL$@ZVebZ_9Xg z{k{+X^p<}qfAta1E_mSCFXOxT>AeDp}ctZ`}*?DY0W(QcJhj6zaM`?yHtnD z-XBH^m{8`Fs9`u!mO=?y#R&Wh%O2bw>a?=j7H@jK8plo!o+ z1J|cHt(oR~$Say(#osX30?i)+EX7MJ0$%BUi{=`SAm_i5?@TG|5yNzb0Y(8?dz5Iu zm-PH>cXybpfyZ=@?GfGG`0~<2tseGI{zChBg}9j>L;Tu%7t|)0)Sr zOkRys2Y)qA!V|`+i|;93S`qLTt&LwJuhz!!2{{`YSr9*<{a<6$Nm?Z$g5bJmb_0*c zD6EYzKKn`6=Ky~hpBRJPGb4b}ReNI(dBy9M*&kcT@4U0(j?w-5b=+|1D8?D;!)~)} znQV1z@n_Fxxy2^z=YellU68SKgKx7^xo@^ab}n_PKfU1l0(H%T?^5_nf4{Gc$9zhY??JK01nyXX%G-g9C>cV7QeLaf66ydp*Nakig&?uQEV6@l%Rt{N9w_ zjvGh9hyEb$g^@1uYao26`hdiZRp04UVL!~SseQhq?r%XXdHHtjaCow8evD|-=3KtMnWZIyj36mG&RDZ2rTE%%`D8YbWeRQEmCGaf=P~gV zz18E@S*_!cZ(lB-y|XP%&n%{W9L%NnFVEt@Z*n$k%gwp;?zzP}(VWQ;@Gs`l`xl1& z+o{H2r6KJAkpd;((tN-rrSY(jVqAkotk)_Hj~6ho-c&Y92=igc&xc>duTzjoO6DXP z%^l1W{gv(N2L39x&j|VZ*$Ze@2~hM&^+m?TA2+VFyuX`&7v0>)8lB2yKx>g~T{ADAk$ zO>u}_SgiE@OLS&vk~Z{x%(I|Nw|0JsGjMw{dUsZGSmdzjCC3)I2@LH3RwZr;uU z9Jx}OpnW^QkrVres;bP^)A#Br=#0Ou(?nTtLOeh2_p&*)blL<#;E~-zmArYqv_M-| zkJ6_S2UFcDbF`^UAc*Uu(jT9A7F@v!h9~+yID6Wo zcyM#?49<>ra(2o8Zl{fH$+6l|?~h3Rk?eGP;+(#P-^eWM!MIJj{9nICzhwfrdF2ED@P<;hqhRo#K!2!+;~4^N@2?pw20A+Jd9 zTZ5G@Ude(Lm=7pycMW9N`Lymsc1Pe|n}ZJyb@x{K-2H-kZ7vN*O8ZBc!*;i5NUQWq zc@lBGkDtYTHdhv<@l-#PyKF9P2<2^>V|cm8=F-4Au;16o{WX`yQ&So*`Dee8Pa7a! zk#^>&@7(|zZj$8Zkt1G36R=&r>9X)d()5Bw3J;Tf2_>QOdMBwCS!>J zpmBT5)4`)XD(E4%)26VeY5iFGZBG8Ady#%WlYi1feg=Q_k!(xwAlrI2-*>JU{34o{ zJcr*weih0~w)I?JzB#Q~w)H&nO1AYo{0;3=9V+_*U@2Z&5%4M=RioVZS>%;$>rsS! zJTeQ8!juV;vU`E*&|c&mlem3I@B8>9 zIk9xQdxU5i>3OnMdsc1XGH=Q?{NdmA1^M=`z( zn}*#gxtNKf$;-hlUAC9(YsJs?aI3swY|N&z|4v!Wg;!Emb2!NJw63_#&!etpb}-`S zm^!6bMeSdg6ysA{UQIr|$y`XG7We%2uhg_p~2xtueeNA>CMl1?4)~ z;OhkGLzdRRpn#|NrE&5*ohwdOFfw;=rdD4bpY5DQKR$mKAQ~xJM)P%ln`1t!FFNOc zKcWMAh^<=d_WD+-e%xLQuICc#^C|SE9o;PHj>#T(nZG|{E-v%Eo$qJ(u1}D!Xa{*c zWi@{9ht?WDeg7ek@A_WMGco6S@uz}MX4km%C#{h^xI5#Wp8<|g!tTbtu-w{^hYd$c zz1`($Hi;@jbv{1VU(TFVJlHHDRto8j`M+$)3g@;*w?PO^){v&xT%esu!T&$b7ozkI!JX zXO6yYe-IqKU8hnqI9{KI_L`G|OM8q%5@}XMyq0_e zx`LsZS=qLrybpSn5V&C zQb*XU{wn?M+V$ZU?fQssmuPs>?{E74Hx1?gwnh1m`tpHCI}Hxe?Q#5V?(5p*?+fy) zOso9=;PW@*DkZ-`Ieo%--HkQgoNrC?j~>UW^zB-hv?IyZpr?6&dHQ}5Jb}KSO20e$ zewyD!b$`a!9qyA%^%i|CC7<(oLw~eq72*6s15VNJ#f5XVlzgcnuW%O6g;Mg*K5uiK zrR4FR)}bF^oQv{)HS341%fNeo9r(_bY`ng~Zh7m_CeBiMCF34OgKM8+7&*HmkW3yEpVrI{nw=J@@bRPy0epnUSBA; z*QXtIF@eaCrJeLx|WxIjvB?Noi&h5Bkd6JRhgJTpPigkz@vt@M39eZG3K9;f{s zXVcq(^f1dQ4NuQkM zN!7@ljro)>HxG$5KEyT>Nzyqn?bGYfB((jD;L|&~#yp0rjf*~i{8k>ut?tvNsz+xC zt!(c!O4Iy0>C-|xrrbobc4&@0-q%-@uJS7ZHw;cZ&(zl2eA%gnG|l;^`En=cW{v(| z2KEeKb#eH56OZWi71EwV+ER5Ee?LlCvNHby{P`(-82X{WsoCtuT6B4_uZOv=n@>vL zmwUJ*hD(dglF^|`D5v(lDwL~1H1F?2@Zb0FiSeb}TKyVne?VHU{UZzhwaV#@HZXPRd`R0>;IBh<9Z(Q=G*DJc6X>D)SQ{zp zIW3Nl&5hsUWygY@pT>#UW%6XfHl#S}dMHTCU*O8;WX~Iusb%M#+2y;8^1M^l=4xZL z>g4fMMtz}!ot&G=VoBjYo`<-(s^uK3*1|i5a9orq>)5zVt3n^zfnV(4OUtH36U(hs z-B=DTJljGYhAv;nrSyj~6ZlOUTb>_3PMC_cy=_T-_n2OuFcA#(3tu~NbsOPo*Y=c- z&KJJ&?x4@r>e&3`L>6CmXEHZ_a%}SGF$Xrc zPKi0IaTcyUiOzS93W5eR0aEzhwC+6oYJ=xt*QBtq#an&Erhxz2L?_DFq#5*5ujVdO zue6r=96r~fsdFxKS8IG7<=%rn$bJeJ-&48!b`1>-<_%dh2x~z5=X&sLT*=-bWvdET zgU^6r^WLjHQGLjK32>g~{PCaIKbN!N%xPUUUhk7>qT?-lHP&WbyWUU8?dhVjVy6w;H4y{t5(MuVpOz%Oo z(FdtUF}_AchyzvFznMwm)rik<&clivDi-G3*RmQK1})#5lTZ0NB$@Vf*1VQ|uGK9n zd+}zNlj})yui$RJ>%Ccax|aWd%(0!$!Y1gO*K;UruI&TLyA@6G=58k@Q(ccP!(DS@ z+_IBr9UG1Ph2YXV+7MZwnRnWBQj{Pp=fDlx^Z1eA)I5@8czYdzSl0OZb zb)s7nn%l_y>KF~`!bDJeN5>zqhBha)$#Sil+H$R9Zr?5HH+$tdw@dxJh_d6FmDznd>>DIackh?PBWV1RWSM zZ?D6{1DzEY2P-Ks@$_wPks#ldJwjP^a^(siGloL!#EirW6FvWiRBm?-*a?rbAH ze1gy4!v04+Dom$enosuzpXBRj_}4;r!02V~utwBvogLeq9#zEBK_((6_EreQ5W6_$}gTXsq;3q&CbK&nfTPK~cY@ z8;8Roe0_}&jFkvBO@?#lm^tnL{e1sVH|S2d2S>MGv_p|~#LwO@)$V#Gi`Ravv<*>g zZRhzTE2r4t()-7o{>)LFP3kEj+^a+R%>{WB=Q!|UszdR@g~z=Wcs4XemeselRX&H% z##8tdLmX}Pu9;ejBu#6}rMZG?>kZq*`^_#k_9vWMN|zmVVLLrVN)Gld1n@f*h{$wAJqi z@-M!BYabOn?4u9j`_2{3e<%07lHcJT9m?yD{b1nwG^aJ+v3HSIckJE#)w&WM)uFOi z={x__F3B(hUd8NeyklQMo>q5kr4`+=b%)+VS|inThu#ak@eci<7I)}D_FVDU@?rK6 z%IR}8f73fO@5JtnxOhA?whtx0?$M{EcMTmDw(@tyeSbAJo%()#;a<}}vVVB&;6U#v zv0I#muU)onJ8O~V=fK0MQ+RLp`-tAIIq?@}c?`(C()u&Sy=}XfTY0@+@G*)7-|Td) zJ7<>_O~Ku#1m9|&Y*VnUSHas{{*);U`^pZBJG#WN=4uG*RO|nWG|l7l>r-jF(lkA0 z;#HH70mIc}_Ba}F?@dBGK;N7#ZQC_T-_bfp$BbFXXYcgFqqgr;x`lV@oeVmCg7*l% zCrwE44GMlE@>ff8=acdu4saCQ)lZG@h3qN6=I4+`UJN0NAqgQJ%8fk#iByiVDb^0ROikI!S^1`8ce|FlcANzejwy+6H2cw;` z+JkRLcjNNH_1@Lh?E}%6kcCfwx^Orl7>rcxKVdmh@d8Q$EfytweA8}>nheAB; z1bNg~=>-p1Su*okpEUPXG#ez(DaPYPe89mLMG@-?q_ACu{iQD@W`&>5N#7K2y;euxuV^D^*iaFR{)@? z{rKI)ASULi6q68dC^jAkDZeR^vfLc7so`JaHM^s`kh*|l`F91zU! zRlg3dVFvaJ@M=y(jOv<cnisd8Lop-_hDE?NR;WEvBRXiMPmC z)w+J2mot=={N;g2m$m;~#oMIzpW?m|5N}jbjQLMy-A-)P2(-Ql*DSb&E7+`x4@s~Q z@+#amCj=`2!-&p)pU3{Uj^9DwAoOuQ>f`#Pu}bS>BQPDa18?(sRi>oz;eo z{AGW66t}N|XN}X)gC@4w4K8$)w{?iqhb#RDV0jJHPuyYge3|_6vDA%(H7cOCnj_~3 zMpONHP$U0)I78pMCbQ4cnV^44(_is2($$r{a~+syy{x}0EqNIin=zeU_EKy-Z$X05 zE$|$gb0$BtBAHx9`+#|uqrY0a?c|aUBvlM77Q}p&olTHINiHg$<0NekA7qIIO>uL# zAR!&wQ{Z?D!f4&^MTg(jJYH#ar(q-zxAhJj80>bAsbYZP6pqJxTE5cngX$Yrma~h4 z)%jTNE;v4#XBQ96OrcO~bkMlqr+Id?Q#eD;IDZWt=d_ha8sJ$vw3#0XB?j$ z84SP8vx{7%d0wy0z~QO>r=TKm;9d zjkVf;0q~#${_o61$xwq1`1#Db-=yr*bF|6FXB8g&C!X#idLn)yP2R6Q2u}RC)19b( zbm*4g?@ywm=7*O=qMw`1DcL@FcyA2979?GbvjdvZhv_CY;t40LsOl!v=}270|! zX#>#4T=ck&va;{^H}(k4&!owJfTl{{(BMGt5&i3}^mp&R+U93bg5i}cO8tH=W5@iN z3-`mSrZf5qB34YyJ3BD$okZ9;=7#HRq?x}`*47*O(rl^Q7GfgK0i<+Lzd%?~FFNW5)Ru7J29^mxD0v>E= z%eA>|ohkqM$wY6JM-lT~64i-aE%BRC?elje<-H)8INakJXTHET(%h#M@%4|We7A$0ozBy{~=4AIJZqd7lq2)-$t z&2Fn0xTAP;z2l79SE7H+)0w|Hmk>+TzX5UkZo zXZ#3q^vU+KyQb!YyB}+3Dd+TO1mBQ|Yjrjxje8INTGBKoWgYRQ&AoQY;V*Oy zY2Pt3rSQJ@g>NhG)5n;)u}!z~xACSa6BV^bzqcm=W45R5NNnMxX8`d|vO4hRFB*w& zeO@$9ydSit!8y=KG^}`!OZ}9{8^}<_yw`gRmEfc#PT9B5&fFJ(S7+`$ z{Wv(DVV2<7OOv%3XRoLF*3hRHMSa3PzX+@AO;HNUIfDZ)ahgh9D0aq z`gtrK8t6ZuvqkVy65xlr%QrZA!@3mKS?=vEci@(YwV&~9F9p9gb%#*RF@DYerV*Z3 zdl~uU>*@!r{T8-CeSMXI%*jmn1&UyM9qg_^liFVEyLh`-g5P)={e`|e3-_0vk#c5Z z=f3-KdG+e$)S6(M=f3-Lzvs&ZA1v*(N47A5e+zRPKdO_Hl>sKW^Fi|}%AtqgA#T2l zpV*X~=+-TNh{t`EeGU0GC)4%urCaT{`g?IQIXUfv+9{9dLVWcm*fzoXrF87@D_@&n z$jR}`WU}&5e!GX8zgC}Lb@8T0O?kh!g7c0C%W|tvaQLhEu-}DF-3c?v&DOAd7jTiy z`EC%M_C@eLzRusLzg@}n+}sRCy^JACu=HAB;nTy~ZZ%Id-(N>w*#g~@!>M?lF@a%K*VJCDkCKI*>thN$gk z+ti|Nwf&FCtGn00?pAwFMVmE-lasfi_2yNvtQ$oM^hh%5(&jg*Pq(?ZK)q4w_nY|# zKOFnPw|wD^@~x!rgbqP2{Kxzb?~tLq-YDM&T%YE&40rHH|90}~jq*?U8``BhRQ4Uf zQoL|S0q;xMvl?xj-$LF^)aj(VxYF%9g`(cfWK10GJJO3+Ugl83WR)nmMP{ed{iozD zBBaB$cFj9UkKZz5KaGx;yu9=-^62wt{N>#;Zqhl8m*&B{DXYCwddtQBR_uXNw{fRm zGq&41iO{=c4s3JaB7fFs{c}UH+o|yCjCqf5uTnT;nh>}HrU`6#)zA8Nm+XxVY1(}U-bA8`A;%-pJ4He9>=426j$-qBH9$cA+j%(4|fmu zR(MJYTT==!dJEr2z%Lwn_xL7n+wJs!WsUT}9ABs3Niu$NHf*?_PJ*u!9I}>Aa#8m8 z$-e;~deA3l%O_`$kK#%pdx!hmsP9i(bN2SB{~x7{?m-Xs`aK`;GBUOOJp9tB?RuZ3 z)g`qw`?y#)ykd0X&;sYpVg<%_dydLt-~`Lu1cdad*SXq*NolJ9r^o4 zP0#`yH6?;wGU~OLT+g}P&Ln&*BF}kGGr_Q8$3wb1+x2^MQaKpb%;#uR8>i1??UXU> z?iS3?eGxI{mOx&RK9!kt+(GXEU~zTM=3qig24)mNfFUyk~-At}JSN_|>y z|4e!DaNl53wdCQD(RAab#`AFQ7wrxDz>RVwwSNOLqw(1wDa`oOP07O1qfv^^1m)-b zMQop(jaWN0$G;l&?P9z66t_eD_!@b&7anKsYX4JQLG6FVH-W+LhCKMb#C;wBe+I}-V3XMo$gN(s2Vl3tZ}%pp zHfyeayRrXwqRpbocPK9&_nCKDg$|4+o>p*nJXnSx{^NB7ZK7`V=LeM67$0Gb8`p|a&eOP!$%F5Si2#$%LkW8R zD5@V{`rYWD={Zd9Ks&7JJcwG|+uFZU?jqzwH_)$}TAUq3o*e5O!J~-w#4?Ve^myYo zMD&3?%h-9AT-5lFp2qFe)#$@Vuyw@X(N@Ui_IQ|69`2qa8hpR#?E{d44cplK2%Zst z8-U6@y=U?u$+LO-oLQWy&g14uiv8(1B$;-a=C|VN6eyy6FJ(-&CIdCNNIar0)CSFF zP>s3cjA+JPsPyBA{yMYHLJc=0XUhf6G&g<%Zk=5pgYVe`4JBjQoE+#Lu;5E5Xj{w= zCwsXtgAa8dP%IF|TR7k5NF5sg8@Ps#42QyM$DzFufGSO&>)**I{en8j z@6S>kdA^6ct@Z}2kP#RwdQ-L^t^?+tUNRVddneq}OU57mcSJk8+wxe{F*G{dbCnCH z&Wg<-o+kf88Lbz+nH2BsV`EEZ^5aPDe^6SnFk&88D=D)(JOSG_b+gkE|2YR02vZA*g zIE<1;HTzJGm?u5MH@Y(=y<6mfMqka5^T4M$68J|qM}_croNhx1;(4)s&=t2iyh0}sAqe#Bas+rj!F zUvvJo$$dO7jhFC*@wyCnJYMbm4r3DP(|FxCY6~oO+LpU8@7^v!6Q3aO+D=}L*Zue# z`WVLR{=ibav?Acu+o8tmgY*Llkjb#_OxISPQ68Do56t7-q9KQ5Wo@Llk&fs9wzmV#Zx;_#X)3#&G$(Vz_Z|(9 z&8_Cm<)l>xW{GT$7tl#sXJV9zTl6-hIkbcHcn(Q!w$a%Dn6CB(%%ca8N1vViWgfM_ zCT_n)8tYhd?17Zmes~WiO7Xi5TL?VfaJSqQ4|Wgj?=2s2SM;I;uu7-aojb)mW+v-b zeN2PWmA)_PkDZHmvOe|W!Qjw2`AF7E@xDGbQbrr+5aIyzM9V`rcsWBOlpX{gxm^uv zcu!MIun@1fjnoZE1x+*j#4~GDFLS)KC)b~IuUGxJin4k~`?srGy=Ovp-mfaRGI4xuy;Z4g*EY7Tv)mKf!Pm6Thx>l9PHwuSd`q(M#WV zds%7Fr)sBvdP__B{Lblx8G?-H9{Wf~LzsD_QS(kl{4+K{=$gAn>~s10kXV`LGtrBo zDwTnU5BIKLh+dip9pDqM{|0#MmiK!+9|pxcNjIHrlL_7khc@r_drsiL;#XQNn!)F1_s*WqZj@nS74LwmCOkU%Qq2}+hdI3@cm=-wxx$&txbQ+?p&N|tnXg?ccY{K4l3xllhHxoeQc28I*qy!SAs>_nF*8F!o1a&YoLsDKS?LMSa#@Xd?60 zwfGa{EV*clXmS|b+84jy@;zSE9jSD9nL+xC^6$uvFIM(d8#dd=!ydIxIz*GVnwnC8 zVcR2EFXlX{K4m*=XA{xNCqjssiAm^kbZC>Cq8g(WP(MPtoZye(sF4xw&(je=F2H`or{1)y;RVOnh=4 z{B3*%FC{te{bp0AF}^u!3vXdVgPmij(<#b;8_oy-<=x&lPMJq?PuHEH<(a0P!=CDF z)61j_d9dM>{!yTB(SE1*X=G2@%TRw=t_7P=jh*BR0PPr5Tf~=6MSU_p`%bh)G_O)# z``VK>t@0*2bO5Il6@vAKtuh5zpEN$lz@xPthFs3l{P;W-XMJ6w>|s*FfVt^-$T;)ZSDf% z`Id(<*u?G&0pRSNT6;6yDjlb;@IhubGH?S=qP*N5#QN+&cewvFKp7>`=LBW7H}`NZ zsI9U?bz@e<>*`D&fM@PMn16`L0l|F7nb-I^Ejmgz9{4ZGAK=l@`Iy%=IF(yB%E=@b zLr#{;#UwX_PlLfaJ{fQc29LIMdSqd7X42vMB(ndl$lVv_k9W>WK2BS-wglhi;OG}0 zXM1wCFOqdXE}~zX=2fmcVSeX;)<@Cr@syQ(?G^??^t;Bt>q}1}DYz^2l-&!yKPJlyib_5)<|YmBr2 z5e@8K5!zVTX7sv!zu$AAn;%a?w@c$FoddlKBrdKwhTh9~ia}cqcekhXYo=yrgYx*8 z=su5QWYR3OO?iBLbf2euV*He3b!je(&7w0#`_uDi)0m4dI@JBB(e7awF?7n*1Gx;a zh@^1>#kSi$-Tgg%`00^da8R4gfk5SS6JG!>(c!&*{%L%W-kw4R zWouUVQ{ESe<25&~xUd>0?U}#`xMqI%2WQw|1%Dy9fOpTQNp4(y{sXfM6XUW4R9?pm z!)u(@9U}5#xb(_1 z>Qr`^+$q3lpf&Mg%1GbueL6o`<8SikrM~|Y`?=`TLhs03j>}Q_n$K~4+E+-kCUO}5T>rKt`Hy^#9&KA*WV>y_~3K#m(cI^TV4fD z&Es!gnb}=Vus88C;$F8rPa@iImz*6x=HyKJy&>s7&Z#T&EaQ!}rd|`Zag&eeD@R5+ zufhzf(&>VFxOJ6-GZLByzZcrW`-SchNz=J1*>~qSavIxZ(qEJh?;l@=zft?zStFW1 zuLWoPuA<+s=bz#my^g>7gm;oGEsMXdd0o(sZWJHo@A^1Gt^btoJFSndU+>^|csB~=^=|Y|U%ol5`Q7MU;pYb=0q3TfCKL?iLr4<3M z_|V38zCR%ECdSvz821MBhrpQf3DQ2BM|#_NGccAVt8RHN&igjtTJ{y}5@YzE0N0&x zxLUV6v)+K-4J@6H?6G?H`3qo;?>-ys-AB3&+Al9Jy@x#dyqCZ3-N)5rqZ?*BW2^P? zKJw^oX93#iecGLysB|Cb?XVl|NDp3Vx&{XZ@D+&O5XQ#ATA2kn&?|o0oujLl(Un5p zOhOs?SSWOIFx~oaxd~K)k{ztlhoJ^#LQm~puN+aOgHTO{2(~A-+vAUw0M0v zo=SF;BLjh2ITU5xXibZ3M_cz^8V7lroBA zwE+ZLCol1Qw!UAlY>}jvw(dG%l!;{bc8% z;Ly5{MTN~|9*%C44n_k8-a~POLbQ+o!(V|#!a8L+Gd=~|9<8&wp0+|>YtP=8c*pUT$iQYE!M3f9FgRiBy7 z!Frs(vq5}~0(B zpDUV+pP-C%#Gh(&an0s4td(#^{1a)Ki^XReDth^tU*YGzu+Bf_%Xj!SB-%9U;eDDs z@U19%O2zS%^?8xan>h(grYFu0OmEcURX#)h@CiOVN6_6G8Iu7*{8A_n84W44Onv?= zI3(MB|Nd3vgLuKf1;*hKt^-2^kxO^8JlOi$QpVWdeJDc_BBHWKHp0Pjt*6l!tbf(| zoC46(br+qv`(&7#vZJ^;Azj80CQ;7bjJ_Dr=G$wu7v~$hS|3E0FHv6mCg3Tp7 zWfub1k;-tlX&mrm56|A;T^=5;9Ow_eof`7sO=-wyke{~_hg112fV%M90#SvZ=WwoL{i9TPqGHzxgBV47)`6d)}+WMsN z{02DX|L zNqZ}OD*Y&GA0A)MLXY)Z{?)f_fX+z|qhMY1c6Idbb{ef??z{CXyC-jgmKXVc{n+ZC zouUBrb-c|_qBgPDw!pW3%TLL76KnK2^siXH=VJYh^_GtejJi#Fs4w!hXHowOQfY6C zch}4>q-JgoSz!{G^ft8ilK-Hs?X;7zz(;)iu9NzG%*pkYm$y2c1He=e-br)pKfytK z;ov9I9bAmD`mQtTzaqNr@No_cdgm7MDt*@+{BLk+4L=28LNQOsT!F=I62Urv^*hX6 z^@aDVtTPe6vo4triU}#7fxI!*`&YkJ-fT|n_T+eT&E5Zt`Wtxj)!L(e{fshNTfZiL zmp$ftdV5~s>|spYT?b!&CjJ@e?vx)zclsQ@=4yB5@LpJyUMb^ELgn$*S(IMx>mmdF z-XH5NKgiCdq5>KtJDrLWA+DWKYbmcY>b;y%dP{Tdml`yu<&h3^F|H#~^(xKjS&v;0 z*D`|evimRx3z|;dN|!!$37YD>JkPbu5T)vV)|w0y+OVFyx|?MRcq zr|e7y0nwBEdbo_blZ0^UUcRi~C1RC_-^=_auDuHp8fJ~3OP_{+l>eW>dH8tG+qaXS zSSuLjIk|P%4+Xyhe{u+pW$1ujw%e~|zj^`v2_KWyXDto;bq1mBno}Do^El?z77%Do z9rf?ew-oP>k&lzUazAcK zhpAG!FzTb;1&7N0!%n{T%WIG5@+;IMdEpzbX(gZYZ~Va%i+l0EdM`bCho2MowZUlC zWf0u!Eu^{(f^9C)We^-)gC<=D!P^RS8QL0j8I*6wD!L3xM<$!oWwqC|$o_M9!0*PbI8Lh)P1*l>tEz!S-+Qv+y#fo!O7ZRB4f`@0Bm<&hP6 zq0FU&Q)}-Yv`_oFzTeY-4|kk)#tBZrOzH=YIlowO_^B+3y(QS4Z6iH= z(D@0?8e6T88ryqQPO-dT)LPynOfv{uXvTM-+&$RZ6uLPBy>_y#`}n@L;Dfvs+wj2X z5F)2Sv*^LbM8h3)?tUJ-=*wu+wq(!+S&D3?b@y1yd~Ac91qWa4^k#1;4`; zVRv+f?uy`hfa{#UE8}VN|WP;KyS*~Sr#UE2YdL>!vy_xy9!eK@Kl2jirhoc7y-bf2GSp8S~HFKGUq~Q)D zSSflN)NgoZCkFO&PO$Zf^iE)2aQX+EHW~KmcG5POT$0N`6&dK9^GPE3Cd#0zJ-nQ= z$*#;Hv`l#f<-6Eqp94oNC7S13)3ZS_AdD?c?BJ2Ty9o2UA|A$e^2eRFcm>ee}2j{1eqp3def z9AOI*tZwzG0~|Vc2iS93>?@KAr%w5toD^+Db6?{hl~&6^O@SBDdrQJzDTTe6N%wf9 zwdmfO@MGk(fou;I{KM_)yU*=jY5X&gTXUj8cSHkxCa%^JM~u~S&{ol8KRD$}@CBt- zvNAaF!LHQsfv=QwW7$Jlt%Wz__>WnPFqS8sR$ zf!Y3L`R-5KINQ29qdoBAhP@fTvHNQab9(r(GTNK(naqzY7{s+fux-gaiqrv(m4&IYg;~bkXbDWI9(o?2Sr$L^5p^hN4Q_$v(j{ zD_tMWr4HS;3dUIT;|B8Wp&h+UK*{Q4B7ea_=3O8bIO3%2B%J8qsi z`{k?-qBHwCLf%L4W+&a9X1ql7XvnK}FT?v35Yc8`UnJ#FL z@E6yCOQK8*155GJih%cR#P@F0VHzaw zCfdQ~WHLYLD-8jI^%G1sknXz5exCAi~}2 za2RbG$3k@vrgdjSCH!-wjbvq;#!Bgj)3R~0qsap4k8$aJ3yVuOCN*F;JDB=ZnUX{q zTME^;MA{T-y~xUzvDJ`1+bLiTCyV(qcpUIpr|lwU_dQLgZ8UsL#&$1s+a6C|eV)Ky zbldW0UyHL#=jap3FFzTtWszy^^zl1B%k+DNe>%&;85PbCj^E^4mt=cGmba8Vi8A_x zy<2(1K9S{HlicR>HK&!5KV=Wsr#WqH^3IlN>ykffnYJeRDmttBgg$8BkN3~4ZKdSt zE!&puLCtMjlZ5kHd!O)yz3*9kkN3W3^IPS$zlD0W_dO@7H=mZ(8}`2El2?1*^Y|Oa zFYJBK2bSWc6#?&hzxQchO#IsZO}U##bUQV9M{Bc~~PnjOP;Lim9Dp%GvRP80d1FT{7?{R0++BGjAE#6P=$&7hG zen0X1%Ancb+?{>pg_P0fMf`2rS61PvwYR*OGTK`R6k&7oJPxFdE3Mu>x_S>Zg)nM> z?b~N~UIt#_Ii8bAWb#X`XUUckMiR$L*7upuF|OI%?@ro%Oy4&qPJd0`kzuAfTl#%r zGI=W8Tf}?fqtNt1bYGC2z$-j$NJ1yRp{=&(Ho$1V=<-U+Nxt}J&_-+aC+wl>k8Grw z(Iw%_K53No1KlHI9i6)N%WX+T4;rH*gQH%*DFj<@mCMua)t+{F8yK#dGjq#x-jYX= zT={QiA+l9M&Nwr#JU&79%KOsD4agtkvW@b)%}F;RNWxiHr=$=`XsMqb0w?5`P9>!^Y2At(3VA{Z$$+se>ewPX`Fr^+>$ljzRtZZs?VBR zoZu&HQ}KOhBOQInCcTSdU5xC_L-H$%mR=Y2L3(8NrX`mq4D~_xqUG9Ml;Y>q>%k!z z(gPrtbY?VPt*!WLZuzcdab%q$yBAfbI%Tw?IMvUiH&CDEtmg0U!GP*}(9O{upVMSy znhUtj2hmM1y(u_gFA+axQ@QdR!G+I1DFN5&kt{Xn=DaDQkMu`dv@Fo5WxF+|ZwA*} zpws&~SSMPnx9*{X6<+#ej)rWuD>C~vEd%$ml1k%RW`j~r9`#mFs~}tSzR~BFPHRrf z=nhfIaZJO!p0V1+kzRUR)NkxU(MI{@wM(>kJNPAI`yQ2P9FJWd#<6H0LKcHU&0u+? z6LU$PZc%>GY)K_>g^5OkpdSP`;t{02-dd7p9Mh z^n>0>-=Y==r}CO3K{v>%4hb~W-ss;&Ila+844T~J&lkzNcpp1W1pCQpuScaht-Qn; zOTl*e;`|T$gx)fphj#}Puem8%c2ZROtNE?<|8DSvkLhBCF5XExYfS md`FV+FC zbm5TMy(`;_iGKUF{T^^=JqI3Hyjwf}G)FA$wu~p&@Avah{t4g5Uwr~koTX(pUgC)b z4?OXQ_`Y*RxSg!wFZmsK;!s{Z@n1!_S-MG<*31)sn7rbNKf>S8X4N6Qe*-KnODh82 z8e`ok5BLCiH&NH4ma8=)dto0izg+FA;ltYTwI3v1?9Bl@`KO+?8GrF%e@$9MS-a2u zEwGsXieoxxtQ3p>qvX-&@AwP9wdz=Dy#JnjvQzpp4ZYIOSHHh3okmRq2HobPbP%w0 z$;GnN{3|j4{=wI&deif#+0%R2Uyopk)SSxPQF}fPE}cVd)R*~iI4}7dY)gyZqgbUw zl`hU7+uXFJjKu*{nv_G)el(O(kF9t`}z7Intcj9;s>9*JF`s|&jZ)N0Xneg!#3u0 zT$R2du?RX18C+kKzBw7FPgiR#)5TMbPno9M(P}O8&8M<$4tGA$(^ly_9PXxcy}OGq z`%FX|y~7UhsyN!8g(!#sHlCuxXDOq1);G5$$&KJins{MoJUoDzcX@OKv+ogXJX~;l zcQV=pT|JA{r9I*E)TKQx?D6gNNqk*-xjsD~`NI%g^GNX6Pln{E*t_VB1E6b>C3#Yk>Jax1T6PW;2zoW+L-BX(GE`i10}J&V}1O5ywM*(yLH6V9G;Y}KnJc+ z+}r+N|TI;AVSj|;vvIeBVi8Z|@w&xE~P@NEI!v4E16i^D8|DTR!p-lH#xXhGZ+;X6FQsLi{j^|fQ&@^;5bZ5JeH&lDE={-iNsgCa z`Pt7x4MciG_u+gyJ2b98rLC-}18niVLDPXiJwx4ux5mlAa8G5>@$zTMMAvOS{2Tam zwmg{uXd!38EO(&edUSDoxJwqQ!UK)Lfn;W6XURl$&SpjHL;u+O&rIajh+{bhj+U2} zY=`so;#EKJC+kvODxX%FB3zOgrP-YMPx^u_i?hb9Oj&~Zw3a#XU!;W(``=lb>sY$8 zWb%E&uEo>vD{YxP#POPn;E7v*fBxxgT$h~iK)>egysTA^PMQl~>qi|JenV5BzbLTWD^7MhLbknK4#8%qzh*D}GML+)NB3M&*P+Vf}2i zJc{P#XsvR@Yo5TdkG(6Zui8I1M6_(vnb5i?fwgR%W1rh&F94@(q;`3p;Xh!OH?BxN zyyha-r@iZ6$Q;#t(fvqkh1+VfiE1+SV_{^FgO@**u*)s@NJ5zqBdQ7EqbO za&_kDOy+-7Y3OT8Zi@P?zv}okI!7C}CGuc3x@a#75qvxG=}y-3aNQrT2=zz$=z-?f zB$L>dXZGN-5xQBi~L!F^V@+LZ0W*ioO+P|VYHqy zDd{gy|6d`mc(xCt{HwY5aoR2Vx8PZ^kT6EP2Xih3I*#xbq)>-&UPK+jDZe1Mj}Nlqi>W(&bXPBErQ6htQap_=0f+p@ zeFj89?$XZp%pc>L!cZ?j0NLC!|SdWq$>x*~|W#@{|>H@*r*&hgi#w_h`z~Q#sHh3$XIR za>YdrW==Vtq$#f#*1}fzRr)peln>jL#t z+S@uE!cd>~;BDX$FS7n2qCatSSlgo2rM%0A^~8%S?}}&FSCkGQ`ieOn`{-=J;h5aU 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
    a@YxVl~QFZM}u~ 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ⅇ=S{coD%#0VNynndhE{kC)YrH+m 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℘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

    Welcome to Meteor!

    +

    Learn Meteor!

    +
    + diff --git a/tools/tests/apps/app-config/client/main.js b/tools/tests/apps/app-config/client/main.js new file mode 100644 index 0000000000..bebaa30ed8 --- /dev/null +++ b/tools/tests/apps/app-config/client/main.js @@ -0,0 +1,2 @@ +import { report } from "../tests.js"; +report(module.id); diff --git a/tools/tests/apps/app-config/client/main.less b/tools/tests/apps/app-config/client/main.less new file mode 100644 index 0000000000..579899c6d3 --- /dev/null +++ b/tools/tests/apps/app-config/client/main.less @@ -0,0 +1,3 @@ +body { + background: #add8e6; +} diff --git a/tools/tests/apps/app-config/package-lock.json b/tools/tests/apps/app-config/package-lock.json new file mode 100644 index 0000000000..82fe1359d1 --- /dev/null +++ b/tools/tests/apps/app-config/package-lock.json @@ -0,0 +1,683 @@ +{ + "name": "app-config", + "requires": true, + "lockfileVersion": 1, + "dependencies": { + "@babel/runtime": { + "version": "7.0.0-beta.40", + "resolved": "https://registry.npmjs.org/@babel/runtime/-/runtime-7.0.0-beta.40.tgz", + "integrity": "sha512-vIM68NUCWauZJTFoVUG1lggva1I8FLB9zFKwWG7Xjin4FkHpEKJv2y4x1DGVPVt93S5/zHSBj1bXYEuxOkFGzg==", + "requires": { + "core-js": "2.5.3", + "regenerator-runtime": "0.11.1" + } + }, + "core-js": { + "version": "2.5.3", + "resolved": "https://registry.npmjs.org/core-js/-/core-js-2.5.3.tgz", + "integrity": "sha1-isw4NFgk8W2DZbfJtCWRaOjtYD4=" + }, + "meteor-node-stubs": { + "version": "0.3.2", + "resolved": "https://registry.npmjs.org/meteor-node-stubs/-/meteor-node-stubs-0.3.2.tgz", + "integrity": "sha512-l93SS/HutbqBRJODO2m7hup8cYI2acF5bB39+ZvP2BX8HMmCSCXeFH7v0sr4hD7zrVvHQA5UqS0pcDYKn0VM6g==", + "requires": { + "assert": "1.4.1", + "browserify-zlib": "0.1.4", + "buffer": "4.9.1", + "console-browserify": "1.1.0", + "constants-browserify": "1.0.0", + "crypto-browserify": "3.11.1", + "domain-browser": "1.1.7", + "events": "1.1.1", + "http-browserify": "1.7.0", + "https-browserify": "0.0.1", + "os-browserify": "0.2.1", + "path-browserify": "0.0.0", + "process": "0.11.10", + "punycode": "1.4.1", + "querystring-es3": "0.2.1", + "readable-stream": "git+https://github.com/meteor/readable-stream.git#d64a64aa6061b9b6855feff4d09e58fb3b2e4502", + "stream-browserify": "2.0.1", + "string_decoder": "1.0.3", + "timers-browserify": "1.4.2", + "tty-browserify": "0.0.0", + "url": "0.11.0", + "util": "0.10.3", + "vm-browserify": "0.0.4" + }, + "dependencies": { + "Base64": { + "version": "0.2.1", + "resolved": "https://registry.npmjs.org/Base64/-/Base64-0.2.1.tgz", + "integrity": "sha1-ujpCMHCOGGcFBl5mur3Uw1z2ACg=" + }, + "asn1.js": { + "version": "4.9.1", + "resolved": "https://registry.npmjs.org/asn1.js/-/asn1.js-4.9.1.tgz", + "integrity": "sha1-SLokC0WpKA6UdImQull9IWYX/UA=", + "requires": { + "bn.js": "4.11.8", + "inherits": "2.0.1", + "minimalistic-assert": "1.0.0" + } + }, + "assert": { + "version": "1.4.1", + "resolved": "https://registry.npmjs.org/assert/-/assert-1.4.1.tgz", + "integrity": "sha1-mZEtWRg2tab1s0XA8H7vwI/GXZE=", + "requires": { + "util": "0.10.3" + } + }, + "balanced-match": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/balanced-match/-/balanced-match-1.0.0.tgz", + "integrity": "sha1-ibTRmasr7kneFk6gK4nORi1xt2c=" + }, + "base64-js": { + "version": "1.2.1", + "resolved": "https://registry.npmjs.org/base64-js/-/base64-js-1.2.1.tgz", + "integrity": "sha512-dwVUVIXsBZXwTuwnXI9RK8sBmgq09NDHzyR9SAph9eqk76gKK2JSQmZARC2zRC81JC2QTtxD0ARU5qTS25gIGw==" + }, + "bn.js": { + "version": "4.11.8", + "resolved": "https://registry.npmjs.org/bn.js/-/bn.js-4.11.8.tgz", + "integrity": "sha512-ItfYfPLkWHUjckQCk8xC+LwxgK8NYcXywGigJgSwOP8Y2iyWT4f2vsZnoOXTTbo+o5yXmIUJ4gn5538SO5S3gA==" + }, + "brace-expansion": { + "version": "1.1.8", + "resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-1.1.8.tgz", + "integrity": "sha1-wHshHHyVLsH479Uad+8NHTmQopI=", + "requires": { + "balanced-match": "1.0.0", + "concat-map": "0.0.1" + } + }, + "brorand": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/brorand/-/brorand-1.1.0.tgz", + "integrity": "sha1-EsJe/kCkXjwyPrhnWgoM5XsiNx8=" + }, + "browserify-aes": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/browserify-aes/-/browserify-aes-1.1.0.tgz", + "integrity": "sha512-W2bIMLYoZ9oow7TyePpMJk9l9LY7O3R61a/68bVCDOtnJynnwe3ZeW2IzzSkrQnPKNdJrxVDn3ALZNisSBwb7g==", + "requires": { + "buffer-xor": "1.0.3", + "cipher-base": "1.0.4", + "create-hash": "1.1.3", + "evp_bytestokey": "1.0.3", + "inherits": "2.0.1", + "safe-buffer": "5.1.1" + } + }, + "browserify-cipher": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/browserify-cipher/-/browserify-cipher-1.0.0.tgz", + "integrity": "sha1-mYgkSHS/XtTijalWZtzWasj8Njo=", + "requires": { + "browserify-aes": "1.1.0", + "browserify-des": "1.0.0", + "evp_bytestokey": "1.0.3" + } + }, + "browserify-des": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/browserify-des/-/browserify-des-1.0.0.tgz", + "integrity": "sha1-2qJ3cXRwki7S/hhZQRihdUOXId0=", + "requires": { + "cipher-base": "1.0.4", + "des.js": "1.0.0", + "inherits": "2.0.1" + } + }, + "browserify-rsa": { + "version": "4.0.1", + "resolved": "https://registry.npmjs.org/browserify-rsa/-/browserify-rsa-4.0.1.tgz", + "integrity": "sha1-IeCr+vbyApzy+vsTNWenAdQTVSQ=", + "requires": { + "bn.js": "4.11.8", + "randombytes": "2.0.5" + } + }, + "browserify-sign": { + "version": "4.0.4", + "resolved": "https://registry.npmjs.org/browserify-sign/-/browserify-sign-4.0.4.tgz", + "integrity": "sha1-qk62jl17ZYuqa/alfmMMvXqT0pg=", + "requires": { + "bn.js": "4.11.8", + "browserify-rsa": "4.0.1", + "create-hash": "1.1.3", + "create-hmac": "1.1.6", + "elliptic": "6.4.0", + "inherits": "2.0.1", + "parse-asn1": "5.1.0" + } + }, + "browserify-zlib": { + "version": "0.1.4", + "resolved": "https://registry.npmjs.org/browserify-zlib/-/browserify-zlib-0.1.4.tgz", + "integrity": "sha1-uzX4pRn2AOD6a4SFJByXnQFB+y0=", + "requires": { + "pako": "0.2.9" + } + }, + "buffer": { + "version": "4.9.1", + "resolved": "https://registry.npmjs.org/buffer/-/buffer-4.9.1.tgz", + "integrity": "sha1-bRu2AbB6TvztlwlBMgkwJ8lbwpg=", + "requires": { + "base64-js": "1.2.1", + "ieee754": "1.1.8", + "isarray": "1.0.0" + } + }, + "buffer-xor": { + "version": "1.0.3", + "resolved": "https://registry.npmjs.org/buffer-xor/-/buffer-xor-1.0.3.tgz", + "integrity": "sha1-JuYe0UIvtw3ULm42cp7VHYVf6Nk=" + }, + "cipher-base": { + "version": "1.0.4", + "resolved": "https://registry.npmjs.org/cipher-base/-/cipher-base-1.0.4.tgz", + "integrity": "sha512-Kkht5ye6ZGmwv40uUDZztayT2ThLQGfnj/T71N/XzeZeo3nf8foyW7zGTsPYkEya3m5f3cAypH+qe7YOrM1U2Q==", + "requires": { + "inherits": "2.0.1", + "safe-buffer": "5.1.1" + } + }, + "concat-map": { + "version": "0.0.1", + "resolved": "https://registry.npmjs.org/concat-map/-/concat-map-0.0.1.tgz", + "integrity": "sha1-2Klr13/Wjfd5OnMDajug1UBdR3s=" + }, + "console-browserify": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/console-browserify/-/console-browserify-1.1.0.tgz", + "integrity": "sha1-8CQcRXMKn8YyOyBtvzjtx0HQuxA=", + "requires": { + "date-now": "0.1.4" + } + }, + "constants-browserify": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/constants-browserify/-/constants-browserify-1.0.0.tgz", + "integrity": "sha1-wguW2MYXdIqvHBYCF2DNJ/y4y3U=" + }, + "create-ecdh": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/create-ecdh/-/create-ecdh-4.0.0.tgz", + "integrity": "sha1-iIxyNZbN92EvZJgjPuvXo1MBc30=", + "requires": { + "bn.js": "4.11.8", + "elliptic": "6.4.0" + } + }, + "create-hash": { + "version": "1.1.3", + "resolved": "https://registry.npmjs.org/create-hash/-/create-hash-1.1.3.tgz", + "integrity": "sha1-YGBCrIuSYnUPSDyt2rD1gZFy2P0=", + "requires": { + "cipher-base": "1.0.4", + "inherits": "2.0.1", + "ripemd160": "2.0.1", + "sha.js": "2.4.9" + } + }, + "create-hmac": { + "version": "1.1.6", + "resolved": "https://registry.npmjs.org/create-hmac/-/create-hmac-1.1.6.tgz", + "integrity": "sha1-rLniIaThe9sHbpBlfEK5PjcmzwY=", + "requires": { + "cipher-base": "1.0.4", + "create-hash": "1.1.3", + "inherits": "2.0.1", + "ripemd160": "2.0.1", + "safe-buffer": "5.1.1", + "sha.js": "2.4.9" + } + }, + "crypto-browserify": { + "version": "3.11.1", + "resolved": "https://registry.npmjs.org/crypto-browserify/-/crypto-browserify-3.11.1.tgz", + "integrity": "sha512-Na7ZlwCOqoaW5RwUK1WpXws2kv8mNhWdTlzob0UXulk6G9BDbyiJaGTYBIX61Ozn9l1EPPJpICZb4DaOpT9NlQ==", + "requires": { + "browserify-cipher": "1.0.0", + "browserify-sign": "4.0.4", + "create-ecdh": "4.0.0", + "create-hash": "1.1.3", + "create-hmac": "1.1.6", + "diffie-hellman": "5.0.2", + "inherits": "2.0.1", + "pbkdf2": "3.0.14", + "public-encrypt": "4.0.0", + "randombytes": "2.0.5" + } + }, + "date-now": { + "version": "0.1.4", + "resolved": "https://registry.npmjs.org/date-now/-/date-now-0.1.4.tgz", + "integrity": "sha1-6vQ5/U1ISK105cx9vvIAZyueNFs=" + }, + "des.js": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/des.js/-/des.js-1.0.0.tgz", + "integrity": "sha1-wHTS4qpqipoH29YfmhXCzYPsjsw=", + "requires": { + "inherits": "2.0.1", + "minimalistic-assert": "1.0.0" + } + }, + "diffie-hellman": { + "version": "5.0.2", + "resolved": "https://registry.npmjs.org/diffie-hellman/-/diffie-hellman-5.0.2.tgz", + "integrity": "sha1-tYNXOScM/ias9jIJn97SoH8gnl4=", + "requires": { + "bn.js": "4.11.8", + "miller-rabin": "4.0.1", + "randombytes": "2.0.5" + } + }, + "domain-browser": { + "version": "1.1.7", + "resolved": "https://registry.npmjs.org/domain-browser/-/domain-browser-1.1.7.tgz", + "integrity": "sha1-hnqksJP6oF8d4IwG9NeyH9+GmLw=" + }, + "elliptic": { + "version": "6.4.0", + "resolved": "https://registry.npmjs.org/elliptic/-/elliptic-6.4.0.tgz", + "integrity": "sha1-ysmvh2LIWDYYcAPI3+GT5eLq5d8=", + "requires": { + "bn.js": "4.11.8", + "brorand": "1.1.0", + "hash.js": "1.1.3", + "hmac-drbg": "1.0.1", + "inherits": "2.0.1", + "minimalistic-assert": "1.0.0", + "minimalistic-crypto-utils": "1.0.1" + } + }, + "events": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/events/-/events-1.1.1.tgz", + "integrity": "sha1-nr23Y1rQmccNzEwqH1AEKI6L2SQ=" + }, + "evp_bytestokey": { + "version": "1.0.3", + "resolved": "https://registry.npmjs.org/evp_bytestokey/-/evp_bytestokey-1.0.3.tgz", + "integrity": "sha512-/f2Go4TognH/KvCISP7OUsHn85hT9nUkxxA9BEWxFn+Oj9o8ZNLm/40hdlgSLyuOimsrTKLUMEorQexp/aPQeA==", + "requires": { + "md5.js": "1.3.4", + "safe-buffer": "5.1.1" + } + }, + "fs.realpath": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/fs.realpath/-/fs.realpath-1.0.0.tgz", + "integrity": "sha1-FQStJSMVjKpA20onh8sBQRmU6k8=" + }, + "glob": { + "version": "7.1.2", + "resolved": "https://registry.npmjs.org/glob/-/glob-7.1.2.tgz", + "integrity": "sha512-MJTUg1kjuLeQCJ+ccE4Vpa6kKVXkPYJ2mOCQyUuKLcLQsdrMCpBPUi8qVE6+YuaJkozeA9NusTAw3hLr8Xe5EQ==", + "requires": { + "fs.realpath": "1.0.0", + "inflight": "1.0.6", + "inherits": "2.0.1", + "minimatch": "3.0.4", + "once": "1.4.0", + "path-is-absolute": "1.0.1" + } + }, + "hash-base": { + "version": "2.0.2", + "resolved": "https://registry.npmjs.org/hash-base/-/hash-base-2.0.2.tgz", + "integrity": "sha1-ZuodhW206KVHDK32/OI65SRO8uE=", + "requires": { + "inherits": "2.0.1" + } + }, + "hash.js": { + "version": "1.1.3", + "resolved": "https://registry.npmjs.org/hash.js/-/hash.js-1.1.3.tgz", + "integrity": "sha512-/UETyP0W22QILqS+6HowevwhEFJ3MBJnwTf75Qob9Wz9t0DPuisL8kW8YZMK62dHAKE1c1p+gY1TtOLY+USEHA==", + "requires": { + "inherits": "2.0.3", + "minimalistic-assert": "1.0.0" + }, + "dependencies": { + "inherits": { + "version": "2.0.3", + "resolved": "https://registry.npmjs.org/inherits/-/inherits-2.0.3.tgz", + "integrity": "sha1-Yzwsg+PaQqUC9SRmAiSA9CCCYd4=" + } + } + }, + "hmac-drbg": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/hmac-drbg/-/hmac-drbg-1.0.1.tgz", + "integrity": "sha1-0nRXAQJabHdabFRXk+1QL8DGSaE=", + "requires": { + "hash.js": "1.1.3", + "minimalistic-assert": "1.0.0", + "minimalistic-crypto-utils": "1.0.1" + } + }, + "http-browserify": { + "version": "1.7.0", + "resolved": "https://registry.npmjs.org/http-browserify/-/http-browserify-1.7.0.tgz", + "integrity": "sha1-M3la3nLfiKz7/TZ3PO/tp2RzWyA=", + "requires": { + "Base64": "0.2.1", + "inherits": "2.0.1" + } + }, + "https-browserify": { + "version": "0.0.1", + "resolved": "https://registry.npmjs.org/https-browserify/-/https-browserify-0.0.1.tgz", + "integrity": "sha1-P5E2XKvmC3ftDruiS0VOPgnZWoI=" + }, + "ieee754": { + "version": "1.1.8", + "resolved": "https://registry.npmjs.org/ieee754/-/ieee754-1.1.8.tgz", + "integrity": "sha1-vjPUCsEO8ZJnAfbwii2G+/0a0+Q=" + }, + "indexof": { + "version": "0.0.1", + "resolved": "https://registry.npmjs.org/indexof/-/indexof-0.0.1.tgz", + "integrity": "sha1-gtwzbSMrkGIXnQWrMpOmYFn9Q10=" + }, + "inflight": { + "version": "1.0.6", + "resolved": "https://registry.npmjs.org/inflight/-/inflight-1.0.6.tgz", + "integrity": "sha1-Sb1jMdfQLQwJvJEKEHW6gWW1bfk=", + "requires": { + "once": "1.4.0", + "wrappy": "1.0.2" + } + }, + "inherits": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/inherits/-/inherits-2.0.1.tgz", + "integrity": "sha1-sX0I0ya0Qj5Wjv9xn5GwscvfafE=" + }, + "isarray": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/isarray/-/isarray-1.0.0.tgz", + "integrity": "sha1-u5NdSFgsuhaMBoNJV6VKPgcSTxE=" + }, + "md5.js": { + "version": "1.3.4", + "resolved": "https://registry.npmjs.org/md5.js/-/md5.js-1.3.4.tgz", + "integrity": "sha1-6b296UogpawYsENA/Fdk1bCdkB0=", + "requires": { + "hash-base": "3.0.4", + "inherits": "2.0.1" + }, + "dependencies": { + "hash-base": { + "version": "3.0.4", + "resolved": "https://registry.npmjs.org/hash-base/-/hash-base-3.0.4.tgz", + "integrity": "sha1-X8hoaEfs1zSZQDMZprCj8/auSRg=", + "requires": { + "inherits": "2.0.1", + "safe-buffer": "5.1.1" + } + } + } + }, + "miller-rabin": { + "version": "4.0.1", + "resolved": "https://registry.npmjs.org/miller-rabin/-/miller-rabin-4.0.1.tgz", + "integrity": "sha512-115fLhvZVqWwHPbClyntxEVfVDfl9DLLTuJvq3g2O/Oxi8AiNouAHvDSzHS0viUJc+V5vm3eq91Xwqn9dp4jRA==", + "requires": { + "bn.js": "4.11.8", + "brorand": "1.1.0" + } + }, + "minimalistic-assert": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/minimalistic-assert/-/minimalistic-assert-1.0.0.tgz", + "integrity": "sha1-cCvi3aazf0g2vLP121ZkG2Sh09M=" + }, + "minimalistic-crypto-utils": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/minimalistic-crypto-utils/-/minimalistic-crypto-utils-1.0.1.tgz", + "integrity": "sha1-9sAMHAsIIkblxNmd+4x8CDsrWCo=" + }, + "minimatch": { + "version": "3.0.4", + "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-3.0.4.tgz", + "integrity": "sha512-yJHVQEhyqPLUTgt9B83PXu6W3rx4MvvHvSUvToogpwoGDOUQ+yDrR0HRot+yOCdCO7u4hX3pWft6kWBBcqh0UA==", + "requires": { + "brace-expansion": "1.1.8" + } + }, + "once": { + "version": "1.4.0", + "resolved": "https://registry.npmjs.org/once/-/once-1.4.0.tgz", + "integrity": "sha1-WDsap3WWHUsROsF9nFC6753Xa9E=", + "requires": { + "wrappy": "1.0.2" + } + }, + "os-browserify": { + "version": "0.2.1", + "resolved": "https://registry.npmjs.org/os-browserify/-/os-browserify-0.2.1.tgz", + "integrity": "sha1-Y/xMzuXS13Y9Jrv4YBB45sLgBE8=" + }, + "pako": { + "version": "0.2.9", + "resolved": "https://registry.npmjs.org/pako/-/pako-0.2.9.tgz", + "integrity": "sha1-8/dSL073gjSNqBYbrZ7P1Rv4OnU=" + }, + "parse-asn1": { + "version": "5.1.0", + "resolved": "https://registry.npmjs.org/parse-asn1/-/parse-asn1-5.1.0.tgz", + "integrity": "sha1-N8T5t+06tlx0gXtfJICTf7+XxxI=", + "requires": { + "asn1.js": "4.9.1", + "browserify-aes": "1.1.0", + "create-hash": "1.1.3", + "evp_bytestokey": "1.0.3", + "pbkdf2": "3.0.14" + } + }, + "path-browserify": { + "version": "0.0.0", + "resolved": "https://registry.npmjs.org/path-browserify/-/path-browserify-0.0.0.tgz", + "integrity": "sha1-oLhwcpquIUAFt9UDLsLLuw+0RRo=" + }, + "path-is-absolute": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/path-is-absolute/-/path-is-absolute-1.0.1.tgz", + "integrity": "sha1-F0uSaHNVNP+8es5r9TpanhtcX18=" + }, + "pbkdf2": { + "version": "3.0.14", + "resolved": "https://registry.npmjs.org/pbkdf2/-/pbkdf2-3.0.14.tgz", + "integrity": "sha512-gjsZW9O34fm0R7PaLHRJmLLVfSoesxztjPjE9o6R+qtVJij90ltg1joIovN9GKrRW3t1PzhDDG3UMEMFfZ+1wA==", + "requires": { + "create-hash": "1.1.3", + "create-hmac": "1.1.6", + "ripemd160": "2.0.1", + "safe-buffer": "5.1.1", + "sha.js": "2.4.9" + } + }, + "process": { + "version": "0.11.10", + "resolved": "https://registry.npmjs.org/process/-/process-0.11.10.tgz", + "integrity": "sha1-czIwDoQBYb2j5podHZGn1LwW8YI=" + }, + "process-nextick-args": { + "version": "1.0.7", + "resolved": "https://registry.npmjs.org/process-nextick-args/-/process-nextick-args-1.0.7.tgz", + "integrity": "sha1-FQ4gt1ZZCtP5EJPyWk8q2L/zC6M=" + }, + "public-encrypt": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/public-encrypt/-/public-encrypt-4.0.0.tgz", + "integrity": "sha1-OfaZ86RlYN1eusvKaTyvfGXBjMY=", + "requires": { + "bn.js": "4.11.8", + "browserify-rsa": "4.0.1", + "create-hash": "1.1.3", + "parse-asn1": "5.1.0", + "randombytes": "2.0.5" + } + }, + "punycode": { + "version": "1.4.1", + "resolved": "https://registry.npmjs.org/punycode/-/punycode-1.4.1.tgz", + "integrity": "sha1-wNWmOycYgArY4esPpSachN1BhF4=" + }, + "querystring": { + "version": "0.2.0", + "resolved": "https://registry.npmjs.org/querystring/-/querystring-0.2.0.tgz", + "integrity": "sha1-sgmEkgO7Jd+CDadW50cAWHhSFiA=" + }, + "querystring-es3": { + "version": "0.2.1", + "resolved": "https://registry.npmjs.org/querystring-es3/-/querystring-es3-0.2.1.tgz", + "integrity": "sha1-nsYfeQSYdXB9aUFFlv2Qek1xHnM=" + }, + "randombytes": { + "version": "2.0.5", + "resolved": "https://registry.npmjs.org/randombytes/-/randombytes-2.0.5.tgz", + "integrity": "sha512-8T7Zn1AhMsQ/HI1SjcCfT/t4ii3eAqco3yOcSzS4mozsOz69lHLsoMXmF9nZgnFanYscnSlUSgs8uZyKzpE6kg==", + "requires": { + "safe-buffer": "5.1.1" + } + }, + "readable-stream": { + "version": "git+https://github.com/meteor/readable-stream.git#d64a64aa6061b9b6855feff4d09e58fb3b2e4502", + "requires": { + "inherits": "2.0.3", + "isarray": "1.0.0", + "process-nextick-args": "1.0.7", + "safe-buffer": "5.1.1", + "string_decoder": "1.0.3", + "util-deprecate": "1.0.2" + }, + "dependencies": { + "inherits": { + "version": "2.0.3", + "resolved": "https://registry.npmjs.org/inherits/-/inherits-2.0.3.tgz", + "integrity": "sha1-Yzwsg+PaQqUC9SRmAiSA9CCCYd4=" + } + } + }, + "rimraf": { + "version": "2.6.2", + "resolved": "https://registry.npmjs.org/rimraf/-/rimraf-2.6.2.tgz", + "integrity": "sha512-lreewLK/BlghmxtfH36YYVg1i8IAce4TI7oao75I1g245+6BctqTVQiBP3YUJ9C6DQOXJmkYR9X9fCLtCOJc5w==", + "requires": { + "glob": "7.1.2" + } + }, + "ripemd160": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/ripemd160/-/ripemd160-2.0.1.tgz", + "integrity": "sha1-D0WEKVxTo2KK9+bXmsohzlfRxuc=", + "requires": { + "hash-base": "2.0.2", + "inherits": "2.0.1" + } + }, + "safe-buffer": { + "version": "5.1.1", + "resolved": "https://registry.npmjs.org/safe-buffer/-/safe-buffer-5.1.1.tgz", + "integrity": "sha512-kKvNJn6Mm93gAczWVJg7wH+wGYWNrDHdWvpUmHyEsgCtIwwo3bqPtV4tR5tuPaUhTOo/kvhVwd8XwwOllGYkbg==" + }, + "sha.js": { + "version": "2.4.9", + "resolved": "https://registry.npmjs.org/sha.js/-/sha.js-2.4.9.tgz", + "integrity": "sha512-G8zektVqbiPHrylgew9Zg1VRB1L/DtXNUVAM6q4QLy8NE3qtHlFXTf8VLL4k1Yl6c7NMjtZUTdXV+X44nFaT6A==", + "requires": { + "inherits": "2.0.1", + "safe-buffer": "5.1.1" + } + }, + "stream-browserify": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/stream-browserify/-/stream-browserify-2.0.1.tgz", + "integrity": "sha1-ZiZu5fm9uZQKTkUUyvtDu3Hlyds=", + "requires": { + "inherits": "2.0.1", + "readable-stream": "git+https://github.com/meteor/readable-stream.git#d64a64aa6061b9b6855feff4d09e58fb3b2e4502" + } + }, + "string_decoder": { + "version": "1.0.3", + "resolved": "https://registry.npmjs.org/string_decoder/-/string_decoder-1.0.3.tgz", + "integrity": "sha512-4AH6Z5fzNNBcH+6XDMfA/BTt87skxqJlO0lAh3Dker5zThcAxG6mKz+iGu308UKoPPQ8Dcqx/4JhujzltRa+hQ==", + "requires": { + "safe-buffer": "5.1.1" + } + }, + "timers-browserify": { + "version": "1.4.2", + "resolved": "https://registry.npmjs.org/timers-browserify/-/timers-browserify-1.4.2.tgz", + "integrity": "sha1-ycWLV1voQHN1y14kYtrO50NZ9B0=", + "requires": { + "process": "0.11.10" + } + }, + "tty-browserify": { + "version": "0.0.0", + "resolved": "https://registry.npmjs.org/tty-browserify/-/tty-browserify-0.0.0.tgz", + "integrity": "sha1-oVe6QC2iTpv5V/mqadUk7tQpAaY=" + }, + "url": { + "version": "0.11.0", + "resolved": "https://registry.npmjs.org/url/-/url-0.11.0.tgz", + "integrity": "sha1-ODjpfPxgUh63PFJajlW/3Z4uKPE=", + "requires": { + "punycode": "1.3.2", + "querystring": "0.2.0" + }, + "dependencies": { + "punycode": { + "version": "1.3.2", + "resolved": "https://registry.npmjs.org/punycode/-/punycode-1.3.2.tgz", + "integrity": "sha1-llOgNvt8HuQjQvIyXM7v6jkmxI0=" + } + } + }, + "util": { + "version": "0.10.3", + "resolved": "https://registry.npmjs.org/util/-/util-0.10.3.tgz", + "integrity": "sha1-evsa/lCAUkZInj23/g7TeTNqwPk=", + "requires": { + "inherits": "2.0.1" + } + }, + "util-deprecate": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/util-deprecate/-/util-deprecate-1.0.2.tgz", + "integrity": "sha1-RQ1Nyfpw3nMnYvvS1KKJgUGaDM8=" + }, + "vm-browserify": { + "version": "0.0.4", + "resolved": "https://registry.npmjs.org/vm-browserify/-/vm-browserify-0.0.4.tgz", + "integrity": "sha1-XX6kW7755Kb/ZflUOOCofDV9WnM=", + "requires": { + "indexof": "0.0.1" + } + }, + "wrappy": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/wrappy/-/wrappy-1.0.2.tgz", + "integrity": "sha1-tSQ9jz7BqjXxNkYFvA0QNuMKtp8=" + } + } + }, + "regenerator-runtime": { + "version": "0.11.1", + "resolved": "https://registry.npmjs.org/regenerator-runtime/-/regenerator-runtime-0.11.1.tgz", + "integrity": "sha512-MguG95oij0fC3QV3URf4V2SDYGJhJnJGqvIIgdECeODCT98wSWDAJ94SSuVpYQUoTcGUIL6L4yNB7j1DFFHSBg==" + } + } +} diff --git a/tools/tests/apps/app-config/package.json b/tools/tests/apps/app-config/package.json new file mode 100644 index 0000000000..eeb7e1bb75 --- /dev/null +++ b/tools/tests/apps/app-config/package.json @@ -0,0 +1,11 @@ +{ + "name": "app-config", + "private": true, + "scripts": { + "start": "meteor run" + }, + "dependencies": { + "@babel/runtime": "^7.0.0-beta.36", + "meteor-node-stubs": "^0.3.2" + } +} diff --git a/tools/tests/apps/app-config/server/main.js b/tools/tests/apps/app-config/server/main.js new file mode 100644 index 0000000000..bebaa30ed8 --- /dev/null +++ b/tools/tests/apps/app-config/server/main.js @@ -0,0 +1,2 @@ +import { report } from "../tests.js"; +report(module.id); diff --git a/tools/tests/apps/app-config/tests.js b/tools/tests/apps/app-config/tests.js new file mode 100644 index 0000000000..0882961844 --- /dev/null +++ b/tools/tests/apps/app-config/tests.js @@ -0,0 +1,97 @@ +import assert from "assert"; + +const ids = []; +export function report(id) { + ids.push(id); +} + +const startupPromise = new Promise(resolve => { + Meteor.startup(resolve); +}); + +describe("meteor.mainModule", () => { + // These tests test the consequences of having various meteor.mainModule + // configurations in package.json. + const config = require("./package.json").meteor; + + if (Meteor.isClient) { + it("always loads static HTML", () => { + assert.strictEqual( + document.getElementsByTagName("h1").item(0).innerText, + "Welcome to Meteor!" + ); + + assert.strictEqual( + document.getElementsByTagName("h2").item(0).innerText, + "Learn Meteor!" + ); + + const listItems = document + .getElementById("meteor-reading-list") + .getElementsByTagName("li"); + assert.strictEqual(listItems.length, 4); + }); + + it("always loads CSS resources", () => { + let { fontWeight } = getComputedStyle(document.body); + assert(fontWeight === "bold" || + fontWeight === "700", + fontWeight); + }); + + it("always loads LESS styles", () => { + assert.strictEqual( + getComputedStyle(document.body)["background-color"], + "rgb(173, 216, 230)" // #add8e6 + ); + }); + } + + it("loads the right files", async () => { + await startupPromise; + + function checkNoMainModule() { + assert.deepEqual(ids, [ + "/a.js", + "/b.js", + "/c.js", + Meteor.isClient + ? "/client/main.js" + : "/server/main.js" + ]); + } + + if (! config || + ! config.mainModule) { + return checkNoMainModule(); + } + + let mainId; + + if (Meteor.isClient) { + mainId = + config.mainModule.client || + config.mainModule.web; + console.log("client config:", config); + } else if (Meteor.isServer) { + mainId = + config.mainModule.server || + config.mainModule.os; + console.log("server config:", config); + } + + if (! mainId) { + return checkNoMainModule(); + } + + const absId = require.resolve("./" + mainId); + const basename = absId.split("/").pop(); + const name = basename.split(".", 1)[0]; + const chars = name.split(""); + + assert.deepEqual( + ids, + chars.map(ch => "/" + ch + ".js"), + ); + }); +}); From eeec1bc2d3e1ddc181fea4b67979b3f66076fa4e Mon Sep 17 00:00:00 2001 From: Ben Newman Date: Fri, 23 Feb 2018 17:55:11 -0500 Subject: [PATCH 0613/1355] History.md entry for require("/package.json").meteor.mainModule. --- History.md | 17 +++++++++++++++++ 1 file changed, 17 insertions(+) diff --git a/History.md b/History.md index ee30411c1d..7707f66f22 100644 --- a/History.md +++ b/History.md @@ -1,5 +1,22 @@ ## v.NEXT +* Applications may now specify client and server entry point modules in a + newly-supported `"meteor"` section of `package.json`: + ```js + "meteor": { + "mainModule": { + "client": "client/main.js", + "server": "server/main.js" + } + } + ``` + When specified, these entry points override Meteor's default module + loading semantics, rendering `imports` directories unnecessary. If + `mainModule` is left unspecified for either client or server, the + default rules will apply for that architecture, as before. + [Feature #135](https://github.com/meteor/meteor-feature-requests/issues/135) + [PR #9690](https://github.com/meteor/meteor/pull/9690) + * The `reify` npm package has been updated to version 0.14.2. * The `meteor-babel` npm package has been updated to version From 78178d112e60351634232e89d5ebff0d1ce0194a Mon Sep 17 00:00:00 2001 From: Ben Newman Date: Fri, 23 Feb 2018 19:23:53 -0500 Subject: [PATCH 0614/1355] Bump package versions for 1.6.2-beta.10 release. --- packages/babel-compiler/package.js | 2 +- packages/boilerplate-generator-tests/package.js | 2 +- packages/boilerplate-generator/package.js | 2 +- packages/dynamic-import/package.js | 2 +- packages/ecmascript-runtime-client/package.js | 2 +- packages/ecmascript-runtime-server/package.js | 2 +- packages/ecmascript-runtime/package.js | 2 +- packages/ecmascript/package.js | 2 +- packages/es5-shim/package.js | 2 +- packages/jquery/package.js | 2 +- packages/meteor-tool/package.js | 2 +- packages/meteor/package.js | 2 +- packages/modern-browsers/package.js | 2 +- packages/promise/package.js | 2 +- packages/socket-stream-client/package.js | 2 +- packages/tracker/package.js | 2 +- packages/webapp/package.js | 2 +- scripts/admin/meteor-release-experimental.json | 2 +- 18 files changed, 18 insertions(+), 18 deletions(-) diff --git a/packages/babel-compiler/package.js b/packages/babel-compiler/package.js index 71d72e0177..7863d98c51 100644 --- a/packages/babel-compiler/package.js +++ b/packages/babel-compiler/package.js @@ -6,7 +6,7 @@ Package.describe({ // isn't possible because you can't publish a non-recommended // release with package versions that don't have a pre-release // identifier at the end (eg, -dev) - version: '7.1.0-beta162.9' + version: '7.1.0-beta162.10' }); Npm.depends({ diff --git a/packages/boilerplate-generator-tests/package.js b/packages/boilerplate-generator-tests/package.js index b9f9373c58..7fcc408984 100644 --- a/packages/boilerplate-generator-tests/package.js +++ b/packages/boilerplate-generator-tests/package.js @@ -2,7 +2,7 @@ Package.describe({ // These tests are in a separate package so that we can Npm.depend on // parse5, a html parsing library. summary: "Tests for the boilerplate-generator package", - version: '1.5.0-beta162.9', + version: '1.5.0-beta162.10', documentation: null }); diff --git a/packages/boilerplate-generator/package.js b/packages/boilerplate-generator/package.js index c0ad056165..5b8b9da476 100644 --- a/packages/boilerplate-generator/package.js +++ b/packages/boilerplate-generator/package.js @@ -1,6 +1,6 @@ Package.describe({ summary: "Generates the boilerplate html from program's manifest", - version: '1.5.0-beta162.9' + version: '1.5.0-beta162.10' }); Npm.depends({ diff --git a/packages/dynamic-import/package.js b/packages/dynamic-import/package.js index 5400b3fcaf..076f88c311 100644 --- a/packages/dynamic-import/package.js +++ b/packages/dynamic-import/package.js @@ -1,6 +1,6 @@ Package.describe({ name: "dynamic-import", - version: "0.4.0-beta162.9", + version: "0.4.0-beta162.10", summary: "Runtime support for Meteor 1.5 dynamic import(...) syntax", documentation: "README.md" }); diff --git a/packages/ecmascript-runtime-client/package.js b/packages/ecmascript-runtime-client/package.js index 162fb82dd4..49b22a7c3c 100644 --- a/packages/ecmascript-runtime-client/package.js +++ b/packages/ecmascript-runtime-client/package.js @@ -1,6 +1,6 @@ Package.describe({ name: "ecmascript-runtime-client", - version: "0.7.0-beta162.9", + version: "0.7.0-beta162.10", summary: "Polyfills for new ECMAScript 2015 APIs like Map and Set", git: "https://github.com/meteor/meteor/tree/devel/packages/ecmascript-runtime-client", documentation: "README.md" diff --git a/packages/ecmascript-runtime-server/package.js b/packages/ecmascript-runtime-server/package.js index 06c3235e8a..aa30acf3f0 100644 --- a/packages/ecmascript-runtime-server/package.js +++ b/packages/ecmascript-runtime-server/package.js @@ -1,6 +1,6 @@ Package.describe({ name: "ecmascript-runtime-server", - version: "0.7.0-beta162.9", + version: "0.7.0-beta162.10", summary: "Polyfills for new ECMAScript 2015 APIs like Map and Set", git: "https://github.com/meteor/meteor/tree/devel/packages/ecmascript-runtime-client", documentation: "README.md" diff --git a/packages/ecmascript-runtime/package.js b/packages/ecmascript-runtime/package.js index 26d52f27ff..d11bdd7620 100644 --- a/packages/ecmascript-runtime/package.js +++ b/packages/ecmascript-runtime/package.js @@ -1,6 +1,6 @@ Package.describe({ name: "ecmascript-runtime", - version: "0.7.0-beta162.9", + version: "0.7.0-beta162.10", summary: "Polyfills for new ECMAScript 2015 APIs like Map and Set", git: "https://github.com/meteor/ecmascript-runtime", documentation: "README.md" diff --git a/packages/ecmascript/package.js b/packages/ecmascript/package.js index 4bc62874c3..a669cc28a3 100644 --- a/packages/ecmascript/package.js +++ b/packages/ecmascript/package.js @@ -1,6 +1,6 @@ Package.describe({ name: 'ecmascript', - version: '0.11.0-beta162.9', + version: '0.11.0-beta162.10', summary: 'Compiler plugin that supports ES2015+ in all .js files', documentation: 'README.md' }); diff --git a/packages/es5-shim/package.js b/packages/es5-shim/package.js index 4d2becb72a..399131db39 100644 --- a/packages/es5-shim/package.js +++ b/packages/es5-shim/package.js @@ -1,6 +1,6 @@ Package.describe({ name: "es5-shim", - version: "4.8.0-beta162.9", + version: "4.8.0-beta162.10", summary: "Shims and polyfills to improve ECMAScript 5 support", documentation: "README.md" }); diff --git a/packages/jquery/package.js b/packages/jquery/package.js index 6611928883..508bf980bd 100644 --- a/packages/jquery/package.js +++ b/packages/jquery/package.js @@ -1,7 +1,7 @@ Package.describe({ summary: "Manipulate the DOM using CSS selectors", // This package currently uses jQuery 1.12.1 (due to #9605). - version: '1.12.1-beta162.9' + version: '1.12.1-beta162.10' }); Package.onUse(function (api) { diff --git a/packages/meteor-tool/package.js b/packages/meteor-tool/package.js index 398d80eca1..2ecec4c368 100644 --- a/packages/meteor-tool/package.js +++ b/packages/meteor-tool/package.js @@ -1,6 +1,6 @@ Package.describe({ summary: "The Meteor command-line tool", - version: '1.6.2-beta.9' + version: '1.6.2-beta.10' }); Package.includeTool(); diff --git a/packages/meteor/package.js b/packages/meteor/package.js index cfb0055a70..c33d03ea54 100644 --- a/packages/meteor/package.js +++ b/packages/meteor/package.js @@ -2,7 +2,7 @@ Package.describe({ summary: "Core Meteor environment", - version: '1.9.0-beta162.9' + version: '1.9.0-beta162.10' }); Package.registerBuildPlugin({ diff --git a/packages/modern-browsers/package.js b/packages/modern-browsers/package.js index a4ab2d4afc..b92963c8d1 100644 --- a/packages/modern-browsers/package.js +++ b/packages/modern-browsers/package.js @@ -1,6 +1,6 @@ Package.describe({ name: "modern-browsers", - version: "0.1.0-beta162.9", + version: "0.1.0-beta162.10", summary: "API for defining the boundary between modern and legacy " + "JavaScript clients", documentation: "README.md" diff --git a/packages/promise/package.js b/packages/promise/package.js index a4dad14c47..9990e7be2a 100644 --- a/packages/promise/package.js +++ b/packages/promise/package.js @@ -1,6 +1,6 @@ Package.describe({ name: "promise", - version: "0.11.0-beta162.9", + version: "0.11.0-beta162.10", summary: "ECMAScript 2015 Promise polyfill with Fiber support", git: "https://github.com/meteor/promise", documentation: "README.md" diff --git a/packages/socket-stream-client/package.js b/packages/socket-stream-client/package.js index 40d9542704..5dd6063b5b 100644 --- a/packages/socket-stream-client/package.js +++ b/packages/socket-stream-client/package.js @@ -1,6 +1,6 @@ Package.describe({ name: "socket-stream-client", - version: "0.2.0-beta162.9", + version: "0.2.0-beta162.10", summary: "Provides the ClientStream abstraction used by ddp-client", documentation: "README.md" }); diff --git a/packages/tracker/package.js b/packages/tracker/package.js index f84452f014..a9a8ec6c8b 100644 --- a/packages/tracker/package.js +++ b/packages/tracker/package.js @@ -1,6 +1,6 @@ Package.describe({ summary: "Dependency tracker to allow reactive callbacks", - version: "1.2.0-beta162.9" + version: "1.2.0-beta162.10" }); Package.onUse(function (api) { diff --git a/packages/webapp/package.js b/packages/webapp/package.js index 353e53dfe1..65b808ec88 100644 --- a/packages/webapp/package.js +++ b/packages/webapp/package.js @@ -1,6 +1,6 @@ Package.describe({ summary: "Serves a Meteor app over HTTP", - version: '1.6.0-beta162.9' + version: '1.6.0-beta162.10' }); Npm.depends({"basic-auth-connect": "1.0.0", diff --git a/scripts/admin/meteor-release-experimental.json b/scripts/admin/meteor-release-experimental.json index c350e465f3..63739e7e52 100644 --- a/scripts/admin/meteor-release-experimental.json +++ b/scripts/admin/meteor-release-experimental.json @@ -1,6 +1,6 @@ { "track": "METEOR", - "version": "1.6.2-beta.9", + "version": "1.6.2-beta.10", "recommended": false, "official": false, "description": "Meteor" From ea7ef27f65fd47dd8a0c971e59441e64176300ca Mon Sep 17 00:00:00 2001 From: ko-dever <4114656+ko-dever@users.noreply.github.com> Date: Mon, 26 Feb 2018 10:43:19 +0000 Subject: [PATCH 0615/1355] Fix a typo in bundle-visualizer README Small typo fixed. --- packages/non-core/bundle-visualizer/README.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/packages/non-core/bundle-visualizer/README.md b/packages/non-core/bundle-visualizer/README.md index 23bed7f9b3..df47bd4083 100644 --- a/packages/non-core/bundle-visualizer/README.md +++ b/packages/non-core/bundle-visualizer/README.md @@ -57,4 +57,4 @@ of included packages and run `meteor` as normal. > If you've added `bundle-visualizer` permanently with `meteor add`, it is > important to remove this package prior to bundling or deploying to -> production with `meteor remove `bundle-visualizer`. +> production with `meteor remove bundle-visualizer`. From 1bae0d13696ba3802b4e3d06314c81efcd885a70 Mon Sep 17 00:00:00 2001 From: "B.E. Henriksen" Date: Mon, 26 Feb 2018 13:53:27 +0100 Subject: [PATCH 0616/1355] Fixes link. (#9694) --- History.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/History.md b/History.md index 7707f66f22..5e4ffbd827 100644 --- a/History.md +++ b/History.md @@ -57,7 +57,7 @@ `` of an app, it will be replaced by the `link` to Meteor's bundled CSS. If the new tag isn't used, the bundle will be placed at the top of the `` section as before (for backwards compatibility). - [Feature #24](https://github.com/meteor/meteor/pull/24) + [Feature #24](https://github.com/meteor/meteor-feature-requests/issues/24) [PR #9657](https://github.com/meteor/meteor/pull/9657) ## v1.6.1, 2018-01-19 From 6d4412f6a91e9f6270e70f1f6443ee3ae95dab7d Mon Sep 17 00:00:00 2001 From: Hugh Willson Date: Mon, 26 Feb 2018 08:32:06 -0500 Subject: [PATCH 0617/1355] Document new bug triage timelines (#9691) * Document new bug triage timelines * Unpossessing unnecessarily possesed possessive apostrophes Say that 5 times fast. * Lowercase non-primary words. Not that we're following any sort of style guide or anything, but for consistency, at least. --- CONTRIBUTING.md | 2 ++ ISSUE_TRIAGE.md | 22 ++++++++++++++++++++++ 2 files changed, 24 insertions(+) diff --git a/CONTRIBUTING.md b/CONTRIBUTING.md index 6f1301b43c..37c9d5b073 100644 --- a/CONTRIBUTING.md +++ b/CONTRIBUTING.md @@ -29,6 +29,8 @@ Issues which *also* have the `confirmed` label ([bugs](https://github.com/meteor Any issue which does not have the `confirmed` label still requires discussion on implementation details but input and positive commentary is welcome! Any pull request opened on an issue which is not `confirmed` is still welcome, however the pull-request is more likely to be sent back for reworking than a `confirmed` issue. If in doubt about the best way to implement something, please create additional conversation on the issue. +Please note that `pull-requests-encouraged` issues with low activity will often be closed without being implemented. These issues are tagged with an additional [`not-implemented`](https://github.com/meteor/meteor/issues?utf8=✓&q=label%3Apull-requests-encouraged+label%3Anot-implemented) label, and can still be considered good candidates to work on. If you're interested in working on a closed and `not-implemented` issue, please let us know by posting on that issue. + ### Project roles We’ve just begun to create more defined project roles for Meteor. Here are descriptions of the existing project roles, along with the current contributors taking on those roles today. diff --git a/ISSUE_TRIAGE.md b/ISSUE_TRIAGE.md index 9f362f76c3..8cc0507a1d 100644 --- a/ISSUE_TRIAGE.md +++ b/ISSUE_TRIAGE.md @@ -29,6 +29,28 @@ The first step is in determining whether the issue is a bug, help question or fe 4. A reproduction should be confirmed by at least one person other than the original reporter. Run the reproduction and validate that the bug exists; then make a note of your findings on the issue. If a reproduction is supplied but doesn't work, add the `can't-reproduce` label and make a comment describing what happened. 5. Finally, once you've confirmed the reproduction add the `confirmed` label and [classify](#classification) the issue (removing the `can't-reproduce` label if it exists). +#### Bug issue lifespan + +To help keep issues in this repository under control, and make sure the most important problems are visible to maintainers, unresolved issues (lacking recent activity) should be closed after a certain amount of time has elapsed. + +##### Issues labelled with `pull-requests-encouraged` + +- Open `pull-requests-encouraged` issues should be closed after one month of inactivity, unless someone has clearly identified that they are interested in working on the issue. +- When closing, the `not-implemented` label should be added. +- A message similar to the following should be included: + +> While we think resolving this issue would be a great addition to the Meteor project, we're going to close it for now due to inactivity. If anyone comes across this issue in the future, and is interested in working on resolving it, please let us know by posting here and we'll consider re-opening this issue. Thanks! + +##### Issues labelled with `bug` and `confirmed` + +- Open `bug` + `confirmed` issues should be closed after two months of inactivity, unless someone has clearly identified that they are interested in working on the issue. +- Triagers should do everything possible to help get `bug` + `confirmed` issues to `pull-requests-encouraged`. This means helping clearly identify where the problem is, pointing towards parts of the codebase that someone might want to look into, documenting what a potential solution looks like, etc. + +##### All other issues + +- All open issues that can’t be labelled as `bug` + `confirmed` and/or `pull-requests-encouraged`, should be closed after one month of inactivity. +- Triagers should do everything possible to help get `bug` + `confirmed` issues to `pull-requests-encouraged`. + ### Help questions [Stack Overflow](http://stackoverflow.com/questions/tagged/meteor) and our [forums](https://forums.meteor.com/c/help) are the place to ask for help on using the framework. Close issues that are help requests and politely refer the author to the above locations. From 4a913bbd699960bc110e561f14b16e0a917039fc Mon Sep 17 00:00:00 2001 From: Jesse Rosenberger Date: Tue, 27 Feb 2018 19:35:40 +0200 Subject: [PATCH 0618/1355] Bump meteor core package version to 1.8.4. This version of `meteor` has no other changes from 1.8.3, though it has been intentionally published with version 1.6.0.1 of the Meteor tool, rather than Meteor 1.6.1. This is to accommodate for the change made in https://github.com/meteor/meteor/commit/57533d22 which changed the way code is packaged by the Isobuild linker. Since packages which use a compiler plugin include the linked content of the plugin within their published package source, the linked source of a compiler plugin's host package, which was published with Meteor 1.6.1, contains this new usage of `Package._define`. Unfortunately, the `meteor` packages pre-1.8.2 doesn't have the runtime definition of `Package._define`, and therefore fails, as seen in https://github.com/meteor/meteor/issues/9700. Some older versions of Meteor don't pin core packages quite in the right way (1.4.2.x was notorious for this, though we believe it to be fixed in Meteor 1.5.2+ thanks to https://github.com/meteor/meteor/commit/cfdc69bf71), so this will be a bit problematic until those versions are no longer actively used. This is similar to the problem older versions of Meteor would have consuming code which was packaged with newer versions of Meteor and might contain newer ECMAScript syntax which doesn't need transpilation on newer Node.js versions, but did on the Node.js runtime included in older versions of Meteor. Fixes: https://github.com/meteor/meteor/issues/9700. --- packages/meteor/package.js | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/packages/meteor/package.js b/packages/meteor/package.js index fe25ebe0ff..35db84f5f8 100644 --- a/packages/meteor/package.js +++ b/packages/meteor/package.js @@ -2,7 +2,7 @@ Package.describe({ summary: "Core Meteor environment", - version: '1.8.3' + version: '1.8.4' }); Package.registerBuildPlugin({ From b4690a2541fd104cbfba1c269a31755996e5855e Mon Sep 17 00:00:00 2001 From: Hugh Willson Date: Wed, 28 Feb 2018 14:32:31 -0500 Subject: [PATCH 0619/1355] Update Mongo.Collection to strip undefined fields (#9671) `Mongo.Collection` has been updated to strip `undefined` fields set in documents/selectors passed to `find`, `findOne`, `insert`, `update`, etc. This lines the codebase up with the changes made in https://github.com/meteor/meteor/commit/ce3885b6df10f9f69f425af8698642a388efa6f2, and helps prevent "The Mongo server and the Meteor query disagree on how many documents match your query" errors. Fixes #9619. --- History.md | 8 ++++++ packages/mongo/collection.js | 39 ++++++++++++++++++++++++++---- packages/mongo/collection_tests.js | 16 ++++++++++++ 3 files changed, 58 insertions(+), 5 deletions(-) diff --git a/History.md b/History.md index 5e4ffbd827..bdda6d372c 100644 --- a/History.md +++ b/History.md @@ -60,6 +60,14 @@ [Feature #24](https://github.com/meteor/meteor-feature-requests/issues/24) [PR #9657](https://github.com/meteor/meteor/pull/9657) +* `Mongo.Collection` has been updated to strip `undefined` fields set in + documents/selectors passed to `find`, `findOne`, `insert`, `update`, etc. + This lines the codebase up with the changes made in + https://github.com/meteor/meteor/commit/ce3885b6df10f9f69f425af8698642a388efa6f2, + and helps prevent "The Mongo server and the Meteor query disagree on how + many documents match your query" errors. + [Issue #9619](https://github.com/meteor/meteor/issues/9619) + ## v1.6.1, 2018-01-19 * Node has been updated to version diff --git a/packages/mongo/collection.js b/packages/mongo/collection.js index efad05a493..2521a56108 100644 --- a/packages/mongo/collection.js +++ b/packages/mongo/collection.js @@ -276,10 +276,7 @@ Object.assign(Mongo.Collection.prototype, { /// _getFindSelector(args) { - if (args.length == 0) - return {}; - else - return args[0]; + return args.length == 0 ? {} : this._removeUndefinedFields(args[0]); }, _getFindOptions(args) { @@ -301,6 +298,33 @@ Object.assign(Mongo.Collection.prototype, { } }, + // The Mongo Node driver is configured to `ignoreUndefined` + // fields in documents/selectors. This function can be used to remove + // `undefined` fields, to keep things consistent, and help avoid any + // unwarranted side effects (such as issue #9619). + _removeUndefinedFields(selector) { + if (typeof selector !== 'object') { + return selector; + } + + const selectorCopy = EJSON.clone(selector); + const seen = new Set(); + (function removeUndefinedRecursively(cleanSelector) { + if (!seen.has(cleanSelector)) { + seen.add(cleanSelector); + Object.keys(cleanSelector).forEach((key) => { + if (cleanSelector[key] && typeof cleanSelector[key] === 'object') { + removeUndefinedRecursively(cleanSelector[key]); + } else if (typeof cleanSelector[key] === 'undefined') { + delete cleanSelector[key]; + } + }); + } + })(selectorCopy); + + return selectorCopy; + }, + /** * @summary Find the documents in a collection that match the selector. * @locus Anywhere @@ -452,6 +476,8 @@ Object.assign(Mongo.Collection.prototype, { throw new Error("insert requires an argument"); } + doc = this._removeUndefinedFields(doc); + // Make a shallow clone of the document, preserving its prototype. doc = Object.create( Object.getPrototypeOf(doc), @@ -537,6 +563,7 @@ Object.assign(Mongo.Collection.prototype, { * @param {Function} [callback] Optional. If present, called with an error object as the first argument and, if no error, the number of affected documents as the second. */ update(selector, modifier, ...optionsAndCallback) { + selector = this._removeUndefinedFields(selector); const callback = popCallbackFromArgs(optionsAndCallback); // We've already popped off the callback, so we are left with an array @@ -598,7 +625,9 @@ Object.assign(Mongo.Collection.prototype, { * @param {Function} [callback] Optional. If present, called with an error object as its argument. */ remove(selector, callback) { - selector = Mongo.Collection._rewriteSelector(selector); + selector = Mongo.Collection._rewriteSelector( + this._removeUndefinedFields(selector) + ); const wrappedCallback = wrapCallback(callback); diff --git a/packages/mongo/collection_tests.js b/packages/mongo/collection_tests.js index 50b0e1caa1..1d07fbb675 100644 --- a/packages/mongo/collection_tests.js +++ b/packages/mongo/collection_tests.js @@ -153,3 +153,19 @@ Tinytest.addAsync('collection - calling native find with good hint and maxTimeMs }).catch(error => test.fail(error.message)); } ); + +Tinytest.add( + 'collection - undefined fields are stripped from selectors', + function (test) { + const collection = new Mongo.Collection(null); + let cursor = collection.find({ name: undefined }); + test.equal(cursor.matcher._selector, {}); + + cursor = collection.find({ + name: { + category: undefined + } + }); + test.equal(cursor.matcher._selector, { name: {} }); + } +); From 6e2b5c45033a8b79c3935b53d405e5963d6343a1 Mon Sep 17 00:00:00 2001 From: Hugh Willson Date: Thu, 1 Mar 2018 11:53:31 -0500 Subject: [PATCH 0620/1355] Revert "Update Mongo.Collection to strip undefined fields (#9671)" (#9712) This reverts commit b4690a2541fd104cbfba1c269a31755996e5855e. --- History.md | 8 ------ packages/mongo/collection.js | 39 ++++-------------------------- packages/mongo/collection_tests.js | 16 ------------ 3 files changed, 5 insertions(+), 58 deletions(-) diff --git a/History.md b/History.md index bdda6d372c..5e4ffbd827 100644 --- a/History.md +++ b/History.md @@ -60,14 +60,6 @@ [Feature #24](https://github.com/meteor/meteor-feature-requests/issues/24) [PR #9657](https://github.com/meteor/meteor/pull/9657) -* `Mongo.Collection` has been updated to strip `undefined` fields set in - documents/selectors passed to `find`, `findOne`, `insert`, `update`, etc. - This lines the codebase up with the changes made in - https://github.com/meteor/meteor/commit/ce3885b6df10f9f69f425af8698642a388efa6f2, - and helps prevent "The Mongo server and the Meteor query disagree on how - many documents match your query" errors. - [Issue #9619](https://github.com/meteor/meteor/issues/9619) - ## v1.6.1, 2018-01-19 * Node has been updated to version diff --git a/packages/mongo/collection.js b/packages/mongo/collection.js index 2521a56108..efad05a493 100644 --- a/packages/mongo/collection.js +++ b/packages/mongo/collection.js @@ -276,7 +276,10 @@ Object.assign(Mongo.Collection.prototype, { /// _getFindSelector(args) { - return args.length == 0 ? {} : this._removeUndefinedFields(args[0]); + if (args.length == 0) + return {}; + else + return args[0]; }, _getFindOptions(args) { @@ -298,33 +301,6 @@ Object.assign(Mongo.Collection.prototype, { } }, - // The Mongo Node driver is configured to `ignoreUndefined` - // fields in documents/selectors. This function can be used to remove - // `undefined` fields, to keep things consistent, and help avoid any - // unwarranted side effects (such as issue #9619). - _removeUndefinedFields(selector) { - if (typeof selector !== 'object') { - return selector; - } - - const selectorCopy = EJSON.clone(selector); - const seen = new Set(); - (function removeUndefinedRecursively(cleanSelector) { - if (!seen.has(cleanSelector)) { - seen.add(cleanSelector); - Object.keys(cleanSelector).forEach((key) => { - if (cleanSelector[key] && typeof cleanSelector[key] === 'object') { - removeUndefinedRecursively(cleanSelector[key]); - } else if (typeof cleanSelector[key] === 'undefined') { - delete cleanSelector[key]; - } - }); - } - })(selectorCopy); - - return selectorCopy; - }, - /** * @summary Find the documents in a collection that match the selector. * @locus Anywhere @@ -476,8 +452,6 @@ Object.assign(Mongo.Collection.prototype, { throw new Error("insert requires an argument"); } - doc = this._removeUndefinedFields(doc); - // Make a shallow clone of the document, preserving its prototype. doc = Object.create( Object.getPrototypeOf(doc), @@ -563,7 +537,6 @@ Object.assign(Mongo.Collection.prototype, { * @param {Function} [callback] Optional. If present, called with an error object as the first argument and, if no error, the number of affected documents as the second. */ update(selector, modifier, ...optionsAndCallback) { - selector = this._removeUndefinedFields(selector); const callback = popCallbackFromArgs(optionsAndCallback); // We've already popped off the callback, so we are left with an array @@ -625,9 +598,7 @@ Object.assign(Mongo.Collection.prototype, { * @param {Function} [callback] Optional. If present, called with an error object as its argument. */ remove(selector, callback) { - selector = Mongo.Collection._rewriteSelector( - this._removeUndefinedFields(selector) - ); + selector = Mongo.Collection._rewriteSelector(selector); const wrappedCallback = wrapCallback(callback); diff --git a/packages/mongo/collection_tests.js b/packages/mongo/collection_tests.js index 1d07fbb675..50b0e1caa1 100644 --- a/packages/mongo/collection_tests.js +++ b/packages/mongo/collection_tests.js @@ -153,19 +153,3 @@ Tinytest.addAsync('collection - calling native find with good hint and maxTimeMs }).catch(error => test.fail(error.message)); } ); - -Tinytest.add( - 'collection - undefined fields are stripped from selectors', - function (test) { - const collection = new Mongo.Collection(null); - let cursor = collection.find({ name: undefined }); - test.equal(cursor.matcher._selector, {}); - - cursor = collection.find({ - name: { - category: undefined - } - }); - test.equal(cursor.matcher._selector, { name: {} }); - } -); From 95efca2223291a1b2209de2731b3e3e49d6b88fd Mon Sep 17 00:00:00 2001 From: Ben Newman Date: Thu, 1 Mar 2018 11:55:03 -0500 Subject: [PATCH 0621/1355] Stop using _inferFileOptions for package files. Determining if Meteor package files should be loaded lazily or eagerly is a lot easier than doing so for application files, so we should just do that separately, to avoid any risk of application directory layout logic interfering with package behavior. --- tools/isobuild/package-source.js | 39 ++++++++++++++++++------------- tools/tests/apps/modules/tests.js | 4 +++- 2 files changed, 26 insertions(+), 17 deletions(-) diff --git a/tools/isobuild/package-source.js b/tools/isobuild/package-source.js index ab41420d88..763844b5db 100644 --- a/tools/isobuild/package-source.js +++ b/tools/isobuild/package-source.js @@ -766,13 +766,13 @@ _.extend(PackageSource.prototype, { implies: api.implies[arch], getFiles(sourceProcessorSet, watchSet) { const result = api.files[arch]; - const relPathToSourceObj = {}; + const relPathToSourceObj = Object.create(null); const sources = result.sources; // Files explicitly passed to api.addFiles remain at the // beginning of api.files[arch].sources in their given order. - sources.forEach(sourceObj => { - relPathToSourceObj[sourceObj.relPath] = sourceObj; + sources.forEach(source => { + relPathToSourceObj[source.relPath] = source; }); self._findSources({ @@ -781,11 +781,21 @@ _.extend(PackageSource.prototype, { sourceArch: this, isApp: false }).forEach(relPath => { - if (! _.has(relPathToSourceObj, relPath)) { - const fileOptions = self._inferFileOptions(relPath, { - arch, - isApp: false, - }); + const source = relPathToSourceObj[relPath]; + + if (source) { + const fileOptions = source.fileOptions || + (source.fileOptions = Object.create(null)); + + // Since this file was explicitly added with api.addFiles or + // api.mainModule, it should be loaded eagerly unless the + // caller specified a boolean fileOptions.lazy value. + if (typeof fileOptions.lazy !== "boolean") { + fileOptions.lazy = false; + } + + } else { + const fileOptions = Object.create(null); // Since this file was not explicitly added with // api.addFiles, it should not be evaluated eagerly. @@ -885,9 +895,8 @@ _.extend(PackageSource.prototype, { missingMainModule = false; } - const fileOptions = self._inferFileOptions(relPath, { + const fileOptions = self._inferAppFileOptions(relPath, { arch, - isApp: true, mainModule, }); @@ -947,9 +956,8 @@ _.extend(PackageSource.prototype, { } }), - _inferFileOptions(relPath, { + _inferAppFileOptions(relPath, { arch, - isApp, mainModule, }) { const fileOptions = {}; @@ -980,7 +988,7 @@ _.extend(PackageSource.prototype, { } // Files in `imports/` should be lazily loaded *apart* from tests - if (isApp && dir === "imports" && !isTestFile) { + if (dir === "imports" && ! isTestFile) { fileOptions.lazy = true; } @@ -999,18 +1007,17 @@ _.extend(PackageSource.prototype, { if (i > 0 && dirs[i - 1] === "client" && dir === "compatibility" && - isApp && // Skip this check for packages. archinfo.matches(arch, "web") && relPath.endsWith(".js")) { fileOptions.bare = true; } } - if (isApp && mainModule) { + if (typeof mainModule !== "undefined") { if (relPath === mainModule) { fileOptions.lazy = false; fileOptions.mainModule = true; - } else if (typeof fileOptions.lazy === "undefined") { + } else { // Used in ResourceSlot#_isLazy (in compiler-plugin.js) to make a // final determination of whether the file should be lazy. fileOptions.mainModule = false; diff --git a/tools/tests/apps/modules/tests.js b/tools/tests/apps/modules/tests.js index 652d54ee06..af37bec951 100644 --- a/tools/tests/apps/modules/tests.js +++ b/tools/tests/apps/modules/tests.js @@ -426,7 +426,9 @@ describe("Meteor packages", () => { assert.deepEqual(os.resources.map(function (res) { return res.path; }), ["server.js"]); - assert.deepEqual(os.resources[0].fileOptions, {}); + assert.deepEqual(os.resources[0].fileOptions, { + lazy: false + }); assert.deepEqual(ServerTypeof, { require: "undefined", From c2e3c52dd3eb8ed19fdf4142f849b730c6325f5b Mon Sep 17 00:00:00 2001 From: Ben Newman Date: Thu, 1 Mar 2018 12:18:16 -0500 Subject: [PATCH 0622/1355] Simplify ResourceSlot#_isLazy for package resources. --- tools/isobuild/compiler-plugin.js | 21 +++++++++++++++------ 1 file changed, 15 insertions(+), 6 deletions(-) diff --git a/tools/isobuild/compiler-plugin.js b/tools/isobuild/compiler-plugin.js index a528c8bcbb..df1449c9a6 100644 --- a/tools/isobuild/compiler-plugin.js +++ b/tools/isobuild/compiler-plugin.js @@ -598,12 +598,21 @@ class ResourceSlot { return lazy; } - // If file.lazy was not previously defined, mark the file lazy if - // it is contained by an imports directory. Note that any files - // contained by a node_modules directory will already have been - // marked lazy in PackageSource#_inferFileOptions. Same for - // non-test files if running (non-full-app) tests (`meteor test`) - if (!this.packageSourceBatch.useMeteorInstall) { + const isApp = ! this.packageSourceBatch.unibuild.pkg.name; + if (! isApp) { + // Meteor package files must be explicitly added by api.addFiles or + // api.mainModule, and are implicitly eager unless specified + // otherwise via this.inputResource.fileOptions.lazy, which we + // already checked above. + return false; + } + + // The rest of this method assumes we're considering a resource in an + // application rather than a Meteor package. + + if (! this.packageSourceBatch.useMeteorInstall) { + // If this application is somehow still not using the module system, + // then everything is eagerly loaded. return false; } From 66508c483ad41c00e54f47307d8e1e4dcb6994be Mon Sep 17 00:00:00 2001 From: Ben Newman Date: Wed, 28 Feb 2018 21:02:01 -0500 Subject: [PATCH 0623/1355] Remove test driver packages from tests/apps/app-config/.meteor/versions. --- tools/tests/apps/app-config/.meteor/versions | 4 +--- 1 file changed, 1 insertion(+), 3 deletions(-) diff --git a/tools/tests/apps/app-config/.meteor/versions b/tools/tests/apps/app-config/.meteor/versions index 8b323e2c75..23b1d17616 100644 --- a/tools/tests/apps/app-config/.meteor/versions +++ b/tools/tests/apps/app-config/.meteor/versions @@ -15,7 +15,6 @@ ddp-client@2.3.1 ddp-common@1.4.0 ddp-server@2.1.2 diff-sequence@1.1.0 -dispatch:mocha-browser@0.0.4 dynamic-import@0.3.0 ecmascript@0.10.5 ecmascript-runtime@0.5.0 @@ -32,7 +31,7 @@ id-map@1.1.0 less@2.7.12 livedata@1.0.18 logging@1.1.19 -meteor@1.8.3 +meteor@1.8.4 meteor-base@1.3.0 minifier-css@1.3.1 minifier-js@2.3.3 @@ -44,7 +43,6 @@ mongo-dev-server@1.1.0 mongo-id@1.0.6 npm-mongo@2.2.33 ordered-dict@1.1.0 -practicalmeteor:mocha-core@1.0.1 promise@0.10.2 random@1.1.0 reload@1.2.0 From 8dd2402f76e519ccadbd99eef39aef6ca6444966 Mon Sep 17 00:00:00 2001 From: Ben Newman Date: Tue, 27 Feb 2018 10:48:26 -0500 Subject: [PATCH 0624/1355] Allow meteor.mainModule.{client,server} === false for no entry point. If meteor.mainModule.{client,server,...} === false, no modules will be loaded eagerly for that architecture. This is useful if you have an app with no special app/{client,server} directory structure and you want to specify an entry point for just the client (or just the server), without accidentally loading everything on the other architecture. --- tools/isobuild/package-source.js | 6 ++++ tools/project-context.js | 41 ++++++++++++++++++---------- tools/tests/app-config.js | 20 ++++++++++++++ tools/tests/apps/app-config/tests.js | 35 ++++++++++++++++++++---- 4 files changed, 82 insertions(+), 20 deletions(-) diff --git a/tools/isobuild/package-source.js b/tools/isobuild/package-source.js index 763844b5db..1db5906651 100644 --- a/tools/isobuild/package-source.js +++ b/tools/isobuild/package-source.js @@ -1014,6 +1014,12 @@ _.extend(PackageSource.prototype, { } if (typeof mainModule !== "undefined") { + // Note: if mainModule === false, no JavaScript modules will be + // loaded eagerly unless explicitly added with !fileOptions.lazy by + // a compiler plugin. This can be useful for building an app that + // does not run any application JS on the client (or the server). Of + // course, Meteor packages may still run JS on startup, but they + // have their own rules for lazy/eager loading of modules. if (relPath === mainModule) { fileOptions.lazy = false; fileOptions.mainModule = true; diff --git a/tools/project-context.js b/tools/project-context.js index 5eb25b43fd..dc65381f7f 100644 --- a/tools/project-context.js +++ b/tools/project-context.js @@ -1643,19 +1643,19 @@ export class MeteorConfig { const configMainModule = this.get("mainModule"); const mainModulesByArch = Object.create(null); - if (configMainModule) { - if (typeof configMainModule === "string") { - // If packageJson.meteor.mainModule is a string, use that string - // as the mainModule for all architectures. - mainModulesByArch["os"] = configMainModule; - mainModulesByArch["web"] = configMainModule; - } else if (typeof configMainModule === "object") { - // If packageJson.meteor.mainModule is an object, use its - // properties to select a mainModule for each architecture. - Object.keys(configMainModule).forEach(where => { - mainModulesByArch[mapWhereToArch(where)] = configMainModule[where]; - }); - } + if (typeof configMainModule === "string" || + configMainModule === false) { + // If packageJson.meteor.mainModule is a string or false, use that + // value as the mainModule for all architectures. + mainModulesByArch["os"] = configMainModule; + mainModulesByArch["web"] = configMainModule; + } else if (configMainModule && + typeof configMainModule === "object") { + // If packageJson.meteor.mainModule is an object, use its properties + // to select a mainModule for each architecture. + Object.keys(configMainModule).forEach(where => { + mainModulesByArch[mapWhereToArch(where)] = configMainModule[where]; + }); } return mainModulesByArch; @@ -1673,6 +1673,19 @@ export class MeteorConfig { arch, Object.keys(mainModulesByArch)); if (mainMatch) { + const mainModule = mainModulesByArch[mainMatch]; + + if (mainModule === false) { + // If meteor.mainModule.{client,server,...} === false, no modules + // will be loaded eagerly on the {client,server...}. This is useful + // if you have an app with no special app/{client,server} directory + // structure and you want to specify an entry point for just the + // client (or just the server), without accidentally loading + // everything on the other architecture. Instead of omitting + // meteor.mainModule for the other architecture, set it to false. + return mainModule; + } + if (! this._resolversByArch[arch]) { this._resolversByArch[arch] = new Resolver({ sourceRoot: this.appDirectory, @@ -1685,7 +1698,7 @@ export class MeteorConfig { // containing package.json or index.js files. const res = this._resolversByArch[arch].resolve( // Only relative paths are allowed (not top-level packages). - "./" + files.pathNormalize(mainModulesByArch[mainMatch]), + "./" + files.pathNormalize(mainModule), this.packageJsonPath ); diff --git a/tools/tests/app-config.js b/tools/tests/app-config.js index d6acbd7e8e..697cffc3d1 100644 --- a/tools/tests/app-config.js +++ b/tools/tests/app-config.js @@ -46,6 +46,26 @@ selftest.define("mainModule", function () { check({}); + check(false); + + check({ + client: false, + server: "abc", + }); + + check({ + client: "abc", + server: false, + }); + + check({ + web: false, + }); + + check({ + os: false, + }); + check({ client: "a", os: "bc", diff --git a/tools/tests/apps/app-config/tests.js b/tools/tests/apps/app-config/tests.js index 0882961844..0aca42ae14 100644 --- a/tools/tests/apps/app-config/tests.js +++ b/tools/tests/apps/app-config/tests.js @@ -9,6 +9,8 @@ const startupPromise = new Promise(resolve => { Meteor.startup(resolve); }); +const hasOwn = Object.prototype.hasOwnProperty; + describe("meteor.mainModule", () => { // These tests test the consequences of having various meteor.mainModule // configurations in package.json. @@ -50,7 +52,13 @@ describe("meteor.mainModule", () => { it("loads the right files", async () => { await startupPromise; - function checkNoMainModule() { + if (Meteor.isClient) { + console.log("client config:", config); + } else { + console.log("server config:", config); + } + + function checkDefaultLoadRules() { assert.deepEqual(ids, [ "/a.js", "/b.js", @@ -61,9 +69,22 @@ describe("meteor.mainModule", () => { ]); } + function checkEagerLoadingDisabled() { + // Eager loading of all modules is disabled. + assert.deepEqual(ids, []); + } + if (! config || - ! config.mainModule) { - return checkNoMainModule(); + ! hasOwn.call(config, "mainModule")) { + return checkDefaultLoadRules(); + } + + if (config.mainModule === false) { + return checkEagerLoadingDisabled(); + } + + if (! config.mainModule) { + return checkDefaultLoadRules(); } let mainId; @@ -72,16 +93,18 @@ describe("meteor.mainModule", () => { mainId = config.mainModule.client || config.mainModule.web; - console.log("client config:", config); } else if (Meteor.isServer) { mainId = config.mainModule.server || config.mainModule.os; - console.log("server config:", config); + } + + if (mainId === false) { + return checkEagerLoadingDisabled(); } if (! mainId) { - return checkNoMainModule(); + return checkDefaultLoadRules(); } const absId = require.resolve("./" + mainId); From b0e5400ff59549d76dd3ca009882e516ad1bba94 Mon Sep 17 00:00:00 2001 From: Ben Newman Date: Wed, 28 Feb 2018 21:13:28 -0500 Subject: [PATCH 0625/1355] Improve meteor.mainModule arch discovery in tests. If config.mainModule.client === false, then mainId should === false. --- tools/tests/apps/app-config/tests.js | 17 +++++++++++------ 1 file changed, 11 insertions(+), 6 deletions(-) diff --git a/tools/tests/apps/app-config/tests.js b/tools/tests/apps/app-config/tests.js index 0aca42ae14..548f7abaf3 100644 --- a/tools/tests/apps/app-config/tests.js +++ b/tools/tests/apps/app-config/tests.js @@ -89,14 +89,19 @@ describe("meteor.mainModule", () => { let mainId; + function tryArches(obj, arches) { + arches.some(arch => { + if (hasOwn.call(obj, arch)) { + mainId = obj[arch]; + return true; + } + }); + } + if (Meteor.isClient) { - mainId = - config.mainModule.client || - config.mainModule.web; + tryArches(config.mainModule, ["client", "web"]); } else if (Meteor.isServer) { - mainId = - config.mainModule.server || - config.mainModule.os; + tryArches(config.mainModule, ["server", "os"]); } if (mainId === false) { From a212d9f5158e9f9b8022eb88afc1aa77119efda2 Mon Sep 17 00:00:00 2001 From: Ben Newman Date: Wed, 28 Feb 2018 17:02:46 -0500 Subject: [PATCH 0626/1355] Also support meteor.testModule to configure test entry points. Setting meteor.testModule is a great way to specify test entry points explicitly, rather than relying on Meteor's isTestFilePath heuristics: https://github.com/meteor/meteor/blob/devel/tools/isobuild/test-files.js The syntax is identical to meteor.mainModule, so you can set an explicit meteor.testModule.{client,server,...} for each platform. If a testModule is not specified for a platform, then Meteor's existing rules about test file paths apply for that platform, as before. If a testModule is specified, that module will always be loaded eagerly when running `meteor test`, in addition to any other modules that load eagerly because of meteor.mainModule or other rules regarding module loading. If you run `meteor test` without the `--full-app` option, then no application JS modules other than the testModule (and any modules imported by it) will be loaded eagerly. --- tools/isobuild/compiler-plugin.js | 45 +++++++++--- tools/isobuild/package-source.js | 52 ++++++++++++-- tools/project-context.js | 90 +++++++++++++++--------- tools/tests/app-config.js | 19 +++-- tools/tests/apps/app-config/package.json | 3 + 5 files changed, 149 insertions(+), 60 deletions(-) diff --git a/tools/isobuild/compiler-plugin.js b/tools/isobuild/compiler-plugin.js index df1449c9a6..1d22b22bac 100644 --- a/tools/isobuild/compiler-plugin.js +++ b/tools/isobuild/compiler-plugin.js @@ -616,20 +616,45 @@ class ResourceSlot { return false; } - const runningTests = global.testCommandMetadata && - (global.testCommandMetadata.isTest || - global.testCommandMetadata.isAppTest); + const { + isTest = false, + isAppTest = false, + } = global.testCommandMetadata || {}; - if (runningTests && - isTestFilePath(this.inputResource.path)) { - // Test files are never lazy if we're running tests. - return false; - } + const runningTests = isTest || isAppTest; if (isJavaScript) { + if (runningTests) { + const testModule = this._getOption("testModule", options); + + // If we set fileOptions.testModule = true in _inferFileOptions, + // then consider this module an eager entry point for tests. If we + // set it to false (rather than leaving it undefined), that means + // a meteor.testModule was configured in package.json, and this + // test module was not it. In that case, we fall through to the + // mainModule check, ignoring isTestFilePath, because we can + // assume this is not an eager test module. If testModule was not + // set to a boolean, then isTestFilePath should determine if this + // is an eager test module. + const isEagerTestModule = typeof testModule === "boolean" + ? testModule + : isTestFilePath(this.inputResource.path); + + if (isEagerTestModule) { + // If we know it's eager, then it isn't lazy. + return false; + } + + if (! isAppTest) { + // If running `meteor test` without the --full-app option, then + // any JS modules that are not eager test modules must be lazy. + return true; + } + } + // PackageSource#_inferFileOptions (in package-source.js) sets the - // mainModule option to false to indicate a meteor.mainModule was - // configured for this architecture, but this module was not it. + // mainModule option to false to indicate that a meteor.mainModule + // was configured for this architecture, but this module was not it. // It's important to wait until this point (ResourceSlot#_isLazy) to // make the final call, because we can finally tell whether the // output resource is JavaScript or not (non-JS resources are not diff --git a/tools/isobuild/package-source.js b/tools/isobuild/package-source.js index 1db5906651..c092eb3e77 100644 --- a/tools/isobuild/package-source.js +++ b/tools/isobuild/package-source.js @@ -848,8 +848,13 @@ _.extend(PackageSource.prototype, { }); const projectWatchSet = projectContext.getProjectWatchSet(); + const mainModulesByArch = projectContext.meteorConfig.getMainModulesByArch(); + + const testModulesByArch = + projectContext.meteorConfig.getTestModulesByArch(); + projectWatchSet.merge(projectContext.meteorConfig.watchSet); _.each(compiler.ALL_ARCHES, function (arch) { @@ -863,6 +868,9 @@ _.extend(PackageSource.prototype, { const mainModule = projectContext.meteorConfig .getMainModuleForArch(arch, mainModulesByArch); + const testModule = projectContext.meteorConfig + .getTestModuleForArch(arch, testModulesByArch); + // XXX what about /web.browser/* etc, these directories could also // be for specific client targets. @@ -898,6 +906,7 @@ _.extend(PackageSource.prototype, { const fileOptions = self._inferAppFileOptions(relPath, { arch, mainModule, + testModule, }); return { @@ -959,18 +968,47 @@ _.extend(PackageSource.prototype, { _inferAppFileOptions(relPath, { arch, mainModule, + testModule, }) { - const fileOptions = {}; - const isTest = global.testCommandMetadata - && global.testCommandMetadata.isTest; - const isAppTest = global.testCommandMetadata - && global.testCommandMetadata.isAppTest; - const isTestFile = (isTest || isAppTest) && isTestFilePath(relPath); + const fileOptions = Object.create(null); + const { + isTest = false, + isAppTest = false, + } = global.testCommandMetadata || {}; + + let isTestFile = false; + if (isTest || isAppTest) { + if (typeof testModule === "undefined") { + // If a testModule was not configured in the "meteor" section of + // package.json for this architecture, then isTestFilePath should + // determine whether this file loads eagerly. + isTestFile = isTestFilePath(relPath); + } else if (relPath === testModule) { + // If testModule is a string === relPath, then it is the entry + // point for tests, and should be loaded eagerly. + isTestFile = true; + fileOptions.lazy = false; + fileOptions.testModule = true; + } else { + // If testModule was defined but !== relPath, this file should not + // be loaded eagerly during tests. Setting fileOptions.testModule + // to false indicates that a testModule was configured, but this + // was not it. ResourceSlot#_isLazy (in compiler-plugin.js) will + // use this information (together with fileOptions.mainModule) to + // make the final call as to whether this file should be loaded + // eagerly or lazily. + isTestFile = false; + fileOptions.testModule = false; + } + } // If running in test mode (`meteor test`), all files other than // test files should be loaded lazily. - if (isTest && !isTestFile) { + if (isTest && ! isTestFile) { fileOptions.lazy = true; + // Ignore any meteor.mainModule that was specified, since we're + // running `meteor test` without the --full-app option. + mainModule = void 0; } const dirs = files.pathDirname(relPath).split(files.pathSep); diff --git a/tools/project-context.js b/tools/project-context.js index dc65381f7f..6cc2944f58 100644 --- a/tools/project-context.js +++ b/tools/project-context.js @@ -1640,25 +1640,7 @@ export class MeteorConfig { // Call this first if you plan to call getMainModuleForArch multiple // times, so that you can avoid repeating this work each time. getMainModulesByArch(arch) { - const configMainModule = this.get("mainModule"); - const mainModulesByArch = Object.create(null); - - if (typeof configMainModule === "string" || - configMainModule === false) { - // If packageJson.meteor.mainModule is a string or false, use that - // value as the mainModule for all architectures. - mainModulesByArch["os"] = configMainModule; - mainModulesByArch["web"] = configMainModule; - } else if (configMainModule && - typeof configMainModule === "object") { - // If packageJson.meteor.mainModule is an object, use its properties - // to select a mainModule for each architecture. - Object.keys(configMainModule).forEach(where => { - mainModulesByArch[mapWhereToArch(where)] = configMainModule[where]; - }); - } - - return mainModulesByArch; + return this._getEntryModulesByArch("mainModule"); } // Given an architecture like web.browser, get the best mainModule for @@ -1669,21 +1651,63 @@ export class MeteorConfig { arch, mainModulesByArch = this.getMainModulesByArch(), ) { - const mainMatch = archinfo.mostSpecificMatch( - arch, Object.keys(mainModulesByArch)); + return this._getEntryModuleForArch(arch, mainModulesByArch); + } - if (mainMatch) { - const mainModule = mainModulesByArch[mainMatch]; + // Analogous to getMainModulesByArch, except for this.config.testModule. + getTestModulesByArch(arch) { + return this._getEntryModulesByArch("testModule"); + } - if (mainModule === false) { - // If meteor.mainModule.{client,server,...} === false, no modules - // will be loaded eagerly on the {client,server...}. This is useful - // if you have an app with no special app/{client,server} directory - // structure and you want to specify an entry point for just the - // client (or just the server), without accidentally loading - // everything on the other architecture. Instead of omitting - // meteor.mainModule for the other architecture, set it to false. - return mainModule; + // Analogous to getMainModuleForArch, except for this.config.testModule. + getTestModuleForArch( + arch, + testModulesByArch = this.getTestModulesByArch(), + ) { + return this._getEntryModuleForArch(arch, testModulesByArch); + } + + _getEntryModulesByArch(...keys) { + const configEntryModule = this.get(...keys); + const entryModulesByArch = Object.create(null); + + if (typeof configEntryModule === "string" || + configEntryModule === false) { + // If the top-level config value is a string or false, use that + // value as the entry module for all architectures. + entryModulesByArch["os"] = configEntryModule; + entryModulesByArch["web"] = configEntryModule; + } else if (configEntryModule && typeof configEntryModule === "object") { + // If the top-level config value is an object, use its properties to + // select an entry module for each architecture. + Object.keys(configEntryModule).forEach(where => { + entryModulesByArch[mapWhereToArch(where)] = configEntryModule[where]; + }); + } + + return entryModulesByArch; + } + + _getEntryModuleForArch( + arch, + entryModulesByArch, + ) { + const entryMatch = archinfo.mostSpecificMatch( + arch, Object.keys(entryModulesByArch)); + + if (entryMatch) { + const entryModule = entryModulesByArch[entryMatch]; + + if (entryModule === false) { + // If meteor.{main,test}Module.{client,server,...} === false, no + // modules will be loaded eagerly on the client or server. This is + // useful if you have an app with no special app/{client,server} + // directory structure and you want to specify an entry point for + // just the client (or just the server), without accidentally + // loading everything on the other architecture. Instead of + // omitting the entry module for the other architecture, simply + // set it to false. + return entryModule; } if (! this._resolversByArch[arch]) { @@ -1698,7 +1722,7 @@ export class MeteorConfig { // containing package.json or index.js files. const res = this._resolversByArch[arch].resolve( // Only relative paths are allowed (not top-level packages). - "./" + files.pathNormalize(mainModule), + "./" + files.pathNormalize(entryModule), this.packageJsonPath ); diff --git a/tools/tests/app-config.js b/tools/tests/app-config.js index 697cffc3d1..308788023d 100644 --- a/tools/tests/app-config.js +++ b/tools/tests/app-config.js @@ -18,22 +18,21 @@ selftest.define("mainModule", function () { function check(mainModule) { const json = JSON.parse(s.read("package.json")); - let shouldWrite = true; + json.meteor = { + // Make sure the tests.js module is always loaded eagerly. + testModule: "tests.js" + }; + if (typeof mainModule === "undefined") { - if ("meteor" in json) { - delete json.meteor; - } else { - shouldWrite = false; - } + delete json.meteor.mainModule; } else { - json.meteor = { mainModule }; + json.meteor.mainModule = mainModule; } - if (shouldWrite) { - s.write("package.json", JSON.stringify(json, null, 2) + "\n"); - } + s.write("package.json", JSON.stringify(json, null, 2) + "\n"); run.waitSecs(10); + run.forbid(" 0 passing "); run.match("SERVER FAILURES: 0"); run.match("CLIENT FAILURES: 0"); } diff --git a/tools/tests/apps/app-config/package.json b/tools/tests/apps/app-config/package.json index eeb7e1bb75..4b3af171e5 100644 --- a/tools/tests/apps/app-config/package.json +++ b/tools/tests/apps/app-config/package.json @@ -7,5 +7,8 @@ "dependencies": { "@babel/runtime": "^7.0.0-beta.36", "meteor-node-stubs": "^0.3.2" + }, + "meteor": { + "testModule": "tests.js" } } From 60731a88bcffa5409dbc2377ab5f33b83d6f713c Mon Sep 17 00:00:00 2001 From: Ben Newman Date: Thu, 1 Mar 2018 13:45:56 -0500 Subject: [PATCH 0627/1355] Test meteor.testModule with just `meteor test` (not --full-app). --- tools/tests/app-config.js | 95 ++++++++++++++++++++++------ tools/tests/apps/app-config/tests.js | 28 ++++---- 2 files changed, 92 insertions(+), 31 deletions(-) diff --git a/tools/tests/app-config.js b/tools/tests/app-config.js index 308788023d..2fbf3d0f19 100644 --- a/tools/tests/app-config.js +++ b/tools/tests/app-config.js @@ -1,7 +1,7 @@ var selftest = require('../tool-testing/selftest.js'); var Sandbox = selftest.Sandbox; -selftest.define("mainModule", function () { +selftest.define("meteor.mainModule", function () { const s = new Sandbox(); s.createApp("app-config-mainModule", "app-config"); s.cd("app-config-mainModule"); @@ -16,25 +16,7 @@ selftest.define("mainModule", function () { run.match("App running at"); function check(mainModule) { - const json = JSON.parse(s.read("package.json")); - - json.meteor = { - // Make sure the tests.js module is always loaded eagerly. - testModule: "tests.js" - }; - - if (typeof mainModule === "undefined") { - delete json.meteor.mainModule; - } else { - json.meteor.mainModule = mainModule; - } - - s.write("package.json", JSON.stringify(json, null, 2) + "\n"); - - run.waitSecs(10); - run.forbid(" 0 passing "); - run.match("SERVER FAILURES: 0"); - run.match("CLIENT FAILURES: 0"); + writeConfig(s, run, mainModule); } check(); @@ -126,4 +108,77 @@ selftest.define("mainModule", function () { check(null); check(); + + run.stop(); +}); + +function writeConfig(s, run, mainModule) { + const json = JSON.parse(s.read("package.json")); + + json.meteor = { + // Make sure the tests.js module is always loaded eagerly. + testModule: "tests.js" + }; + + if (typeof mainModule === "undefined") { + delete json.meteor.mainModule; + } else { + json.meteor.mainModule = mainModule; + } + + s.write("package.json", JSON.stringify(json, null, 2) + "\n"); + + run.waitSecs(10); + run.forbid(" 0 passing "); + run.match("SERVER FAILURES: 0"); + run.match("CLIENT FAILURES: 0"); +} + +selftest.define("meteor.testModule", function () { + const s = new Sandbox(); + s.createApp("app-config-mainModule", "app-config"); + s.cd("app-config-mainModule"); + + const run = s.run( + "test", + // Not running with the --full-app option here, in order to exercise + // the normal `meteor test` behavior. + "--driver-package", "dispatch:mocha-phantomjs" + ); + + run.waitSecs(60); + run.match("App running at"); + + function check(mainModule) { + writeConfig(s, run, mainModule); + } + + check(); + + check(false); + + check({ + client: "abc" + }); + + check({ + server: "abc" + }); + + check({ + client: "abc", + server: "abc" + }); + + check({ + client: "abc", + server: false + }); + + check({ + client: false, + server: "abc" + }); + + run.stop(); }); diff --git a/tools/tests/apps/app-config/tests.js b/tools/tests/apps/app-config/tests.js index 548f7abaf3..796776e21d 100644 --- a/tools/tests/apps/app-config/tests.js +++ b/tools/tests/apps/app-config/tests.js @@ -11,12 +11,12 @@ const startupPromise = new Promise(resolve => { const hasOwn = Object.prototype.hasOwnProperty; -describe("meteor.mainModule", () => { +describe("meteor.{mainModule,testModule}", () => { // These tests test the consequences of having various meteor.mainModule // configurations in package.json. const config = require("./package.json").meteor; - if (Meteor.isClient) { + if (Meteor.isClient && Meteor.isAppTest) { it("always loads static HTML", () => { assert.strictEqual( document.getElementsByTagName("h1").item(0).innerText, @@ -59,14 +59,20 @@ describe("meteor.mainModule", () => { } function checkDefaultLoadRules() { - assert.deepEqual(ids, [ - "/a.js", - "/b.js", - "/c.js", - Meteor.isClient - ? "/client/main.js" - : "/server/main.js" - ]); + if (Meteor.isAppTest) { + assert.deepEqual(ids, [ + "/a.js", + "/b.js", + "/c.js", + Meteor.isClient + ? "/client/main.js" + : "/server/main.js" + ]); + } else { + // If we're running `meteor test` without --full-app, non-test + // modules do not load unless imported by tests. + assert.deepEqual(ids, []); + } } function checkEagerLoadingDisabled() { @@ -108,7 +114,7 @@ describe("meteor.mainModule", () => { return checkEagerLoadingDisabled(); } - if (! mainId) { + if (! mainId || ! Meteor.isAppTest) { return checkDefaultLoadRules(); } From 601f0d6f9f28d61befa1eb0a4bec0c3972aed9c7 Mon Sep 17 00:00:00 2001 From: Ben Newman Date: Thu, 1 Mar 2018 13:49:59 -0500 Subject: [PATCH 0628/1355] Update 'meteor test' help text to explain meteor.testModule. --- tools/cli/help.txt | 54 ++++++++++++++++++++++++++++++++-------------- 1 file changed, 38 insertions(+), 16 deletions(-) diff --git a/tools/cli/help.txt b/tools/cli/help.txt index e74e731dcf..6fb6c735dc 100644 --- a/tools/cli/help.txt +++ b/tools/cli/help.txt @@ -618,25 +618,47 @@ Usage: meteor test --driver-package [options] meteor test --full-app --driver-package [options] Runs tests against the application. -Will start a special app based on a test driver (specified with ---driver-package -- read more about driver packages at -http://guide.meteor.com/testing.html#driver-packages) which handles the -task of running tests and displaying the results in the browser when you -visit it. +Will start a temporary app based on a test driver (specified with +--driver-package: http://guide.meteor.com/testing.html#driver-packages) which +handles the task of running tests and displaying the results in the browser. -In normal test mode, no files in your application are eagerly loaded, aside -from test files (files named *.test[s].* or *.spec[s].* placed anywhere -in your application). You can import your app's modules from within your -tests and use them as normal. +In normal 'meteor test' mode, no files in your application are eagerly loaded, +aside from test files (files named *.test[s].* or *.spec[s].* placed anywhere +in your application). These eagerly-loaded test modules can import application +modules in order to test application logic. -In "full app" test mode, your app is loaded as usual, and then made hidden, -and your tests can inspect and effect the running state. Test files are -loaded similarly to unit test mode, but must be called *.app-test[s].* or -*.app-spec[s].*. +In 'meteor test --full-app' mode, your app is loaded as usual, then hidden, so +that your tests can inspect and interact with the full running application. +Test files are loaded similarly to 'meteor test' mode, but must be called +*.app-test[s].* or *.app-spec[s].*. -Open the test dashboard in your browser to run the tests and see the -results. By default the URL is localhost:3000 but that can be changed -with --port. +Note: as of Meteor 1.6.2, you can override the default test loading rules +described in the previous two paragraphs by including a meteor.testModule +section in your package.json file: + + "meteor": { + "testModule": { + "client": "client/tests.js", + "server": "server/tests.js" + } + } + +If your client and server test files are the same, this can be simplified to + + "meteor": { + "testModule": "tests.js" + } + +When meteor.testModule is defined in package.json, the same test module will +be loaded whether or not you use the --full-app option. Any tests that need to +know whether the --full-app option was used may check Meteor.isAppTest, which +is true when running 'meteor test --full-app'. The module specified by +meteor.testModule can import other test modules at runtime, so it is still +possible to distribute test files across your codebase. + +Once your application starts up in testing mode, open the test dashboard in +your browser to run the tests and see the results. By default the URL is +localhost:3000 but that can be changed with --port. Read more about testing your application in the Testing Article of the Meteor Guide - https://guide.meteor.com/testing.html From 8008d9d4c12e6ceff256a0640d7ef02bd8636d96 Mon Sep 17 00:00:00 2001 From: Ben Newman Date: Thu, 1 Mar 2018 13:50:01 -0500 Subject: [PATCH 0629/1355] Mention meteor.testModule in History.md. --- History.md | 38 +++++++++++++++++++++++++++++++++++++- 1 file changed, 37 insertions(+), 1 deletion(-) diff --git a/History.md b/History.md index 5e4ffbd827..2e75e92d8b 100644 --- a/History.md +++ b/History.md @@ -13,10 +13,46 @@ When specified, these entry points override Meteor's default module loading semantics, rendering `imports` directories unnecessary. If `mainModule` is left unspecified for either client or server, the - default rules will apply for that architecture, as before. + default rules will apply for that architecture, as before. To disable + eager loading of modules on a given architecture, simply provide a + `mainModule` value of `false`: + ```js + "meteor": { + "mainModule": { + "client": false, + "server": "server/main.js" + } + } + ``` [Feature #135](https://github.com/meteor/meteor-feature-requests/issues/135) [PR #9690](https://github.com/meteor/meteor/pull/9690) +* In addition to `meteor.mainModule`, the `"meteor"` section of + `package.json` may also specify `meteor.testModule` to control which + test modules are loaded by `meteor test` or `meteor test --full-app`: + ```js + "meteor": { + "mainModule": {...}, + "testModule": "tests.js" + } + ``` + If your client and server test files are different, you can expand the + `testModule` configuration using the same syntax as `mainModule`: + ```js + "meteor": { + "testModule": { + "client": "client/tests.js", + "server": "server/tests.js" + } + } + ``` + The same test module will be loaded whether or not you use the + `--full-app` option. Any tests that need to detect `--full-app` should + check `Meteor.isAppTest`. The module(s) specified by `meteor.testModule` + can import other test modules at runtime, so you can still distribute + test files across your codebase; just make sure you import the ones you + want to run. + * The `reify` npm package has been updated to version 0.14.2. * The `meteor-babel` npm package has been updated to version From 36c7ee8efa872ad3ded2db6734c37c29540511f2 Mon Sep 17 00:00:00 2001 From: Ben Newman Date: Thu, 1 Mar 2018 14:16:28 -0500 Subject: [PATCH 0630/1355] Remove unnecessary 'meteor.' prefix from {main,test}Module self-tests. --- tools/tests/app-config.js | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/tools/tests/app-config.js b/tools/tests/app-config.js index 2fbf3d0f19..34913436d7 100644 --- a/tools/tests/app-config.js +++ b/tools/tests/app-config.js @@ -1,7 +1,7 @@ var selftest = require('../tool-testing/selftest.js'); var Sandbox = selftest.Sandbox; -selftest.define("meteor.mainModule", function () { +selftest.define("mainModule", function () { const s = new Sandbox(); s.createApp("app-config-mainModule", "app-config"); s.cd("app-config-mainModule"); @@ -134,7 +134,7 @@ function writeConfig(s, run, mainModule) { run.match("CLIENT FAILURES: 0"); } -selftest.define("meteor.testModule", function () { +selftest.define("testModule", function () { const s = new Sandbox(); s.createApp("app-config-mainModule", "app-config"); s.cd("app-config-mainModule"); From e7b0a70a98004a4a6f12978cb24c2a9dd27b7afb Mon Sep 17 00:00:00 2001 From: Ben Newman Date: Thu, 1 Mar 2018 14:26:49 -0500 Subject: [PATCH 0631/1355] Use meteor.testModule in package.json of modules test app. --- tools/tests/apps/modules/package.json | 3 +++ 1 file changed, 3 insertions(+) diff --git a/tools/tests/apps/modules/package.json b/tools/tests/apps/modules/package.json index e524652213..ea00c55771 100644 --- a/tools/tests/apps/modules/package.json +++ b/tools/tests/apps/modules/package.json @@ -25,5 +25,8 @@ "test": "METEOR_PROFILE=100 ../../../../meteor test --full-app --driver-package dispatch:mocha-phantomjs", "browser": "METEOR_PROFILE=100 ../../../../meteor test --full-app --driver-package dispatch:mocha-browser", "test-packages": "../../../../meteor test-packages --driver-package dispatch:mocha-phantomjs packages/modules-test-package" + }, + "meteor": { + "testModule": "tests.js" } } From 6009dc0ccfe73678e0060e229cf07d714be1f194 Mon Sep 17 00:00:00 2001 From: Ben Newman Date: Thu, 1 Mar 2018 15:48:59 -0500 Subject: [PATCH 0632/1355] Add PR link to meteor.testModule History.md entry. [ci skip] --- History.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/History.md b/History.md index 2e75e92d8b..fbcd9ec93d 100644 --- a/History.md +++ b/History.md @@ -51,7 +51,7 @@ check `Meteor.isAppTest`. The module(s) specified by `meteor.testModule` can import other test modules at runtime, so you can still distribute test files across your codebase; just make sure you import the ones you - want to run. + want to run. [PR #9714](https://github.com/meteor/meteor/pull/9714) * The `reify` npm package has been updated to version 0.14.2. From a770e9959fec4e499a8f8c01dac5c211808c72e3 Mon Sep 17 00:00:00 2001 From: Matt McCutchen Date: Thu, 1 Mar 2018 17:54:47 -0500 Subject: [PATCH 0633/1355] Mongo driver: Fix replaceNames to not replace null with {}. (#9710) Fixes #9692. --- packages/mongo/mongo_driver.js | 2 +- packages/mongo/mongo_livedata_tests.js | 3 ++- packages/mongo/package.js | 2 +- 3 files changed, 4 insertions(+), 3 deletions(-) diff --git a/packages/mongo/mongo_driver.js b/packages/mongo/mongo_driver.js index 45bda79807..73f96fee20 100644 --- a/packages/mongo/mongo_driver.js +++ b/packages/mongo/mongo_driver.js @@ -29,7 +29,7 @@ MongoInternals.NpmModule = MongoDB; // This is used to add or remove EJSON from the beginning of everything nested // inside an EJSON custom type. It should only be called on pure JSON! var replaceNames = function (filter, thing) { - if (typeof thing === "object") { + if (typeof thing === "object" && thing !== null) { if (_.isArray(thing)) { return _.map(thing, _.bind(replaceNames, null, filter)); } diff --git a/packages/mongo/mongo_livedata_tests.js b/packages/mongo/mongo_livedata_tests.js index 98ef9955a2..d012722b79 100644 --- a/packages/mongo/mongo_livedata_tests.js +++ b/packages/mongo/mongo_livedata_tests.js @@ -1515,7 +1515,7 @@ testAsyncMulti('mongo-livedata - document with a custom type, ' + idGeneration, var docId; // Dog is implemented at the top of the file, outside of the idGeneration // loop (so that we only call EJSON.addType once). - var d = new Dog("reginald", "purple"); + var d = new Dog("reginald", null); self.coll.insert({d: d}, expect(function (err, id) { test.isFalse(err); test.isTrue(id); @@ -1526,6 +1526,7 @@ testAsyncMulti('mongo-livedata - document with a custom type, ' + idGeneration, var inColl = self.coll.findOne(); test.isTrue(inColl); inColl && test.equal(inColl.d.speak(), "woof"); + inColl && test.isNull(inColl.d.color); })); }, diff --git a/packages/mongo/package.js b/packages/mongo/package.js index 66f06d5116..75ea1fd3fe 100644 --- a/packages/mongo/package.js +++ b/packages/mongo/package.js @@ -9,7 +9,7 @@ Package.describe({ summary: "Adaptor for using MongoDB and Minimongo over DDP", - version: '1.4.4' + version: '1.4.5' }); Npm.depends({ From d55707894b321df21f22859cf5a0ec6088938ead Mon Sep 17 00:00:00 2001 From: Ben Newman Date: Thu, 1 Mar 2018 17:29:17 -0500 Subject: [PATCH 0634/1355] Use meteor.{mainModule,testModule} for `meteor create` starter apps. In order for Meteor to maintain its commitment to being a zero-configuration tool, any configuration options that we add must come pre-configured in the best way possible for newly created apps. In particular, the default new Meteor app must contain a reasonable testing story, or else we are signalling to the community that testing is an afterthought. With that said, this PR is still a work in progress. I welcome your feedback on how best to configure the default `meteor create` starter app. Builds on #9690 and #9714. --- tools/static-assets/skel/package.json | 14 ++++++++++++-- tools/static-assets/skel/test/main.js | 27 +++++++++++++++++++++++++++ 2 files changed, 39 insertions(+), 2 deletions(-) create mode 100644 tools/static-assets/skel/test/main.js diff --git a/tools/static-assets/skel/package.json b/tools/static-assets/skel/package.json index b8beef5529..61eade7001 100644 --- a/tools/static-assets/skel/package.json +++ b/tools/static-assets/skel/package.json @@ -2,10 +2,20 @@ "name": "~name~", "private": true, "scripts": { - "start": "meteor run" + "start": "meteor run", + "test": "meteor test --driver-package dispatch:mocha-browser", + "test-app": "meteor test --full-app --driver-package dispatch:mocha-browser", + "visualize": "meteor --production --extra-packages bundle-visualizer" }, "dependencies": { - "@babel/runtime": "^7.0.0-beta.36", + "@babel/runtime": "^7.0.0-beta.40", "meteor-node-stubs": "^0.3.2" + }, + "meteor": { + "mainModule": { + "client": "client/main.js", + "server": "server/main.js" + }, + "testModule": "test/main.js" } } diff --git a/tools/static-assets/skel/test/main.js b/tools/static-assets/skel/test/main.js new file mode 100644 index 0000000000..0796df9923 --- /dev/null +++ b/tools/static-assets/skel/test/main.js @@ -0,0 +1,27 @@ +import assert from "assert"; + +export const testMessage = "Welcome to Meteor!"; + +describe("~name~", () => { + it("package.json has correct name", () => { + const { name } = require("../package.json"); + assert.strictEqual(name, "~name~"); + }); + + if (Meteor.isClient) { + it("client is not server", () => { + assert.strictEqual(Meteor.isServer, false); + }); + } + + if (Meteor.isServer) { + it("server is not client", () => { + assert.strictEqual(Meteor.isClient, false); + }); + } + + it("async/await and dynamic import()", async () => { + const tests = await import("./main.js"); + assert.strictEqual(tests.testMessage, testMessage); + }); +}); From 2f1956c497845b15ed6732d8547008bd7b289b4b Mon Sep 17 00:00:00 2001 From: Ben Newman Date: Sat, 3 Mar 2018 12:56:25 -0500 Subject: [PATCH 0635/1355] Use meteortesting:mocha for testing newly `meteor create`d apps. --- tools/static-assets/skel/package.json | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/tools/static-assets/skel/package.json b/tools/static-assets/skel/package.json index 61eade7001..4816537dc8 100644 --- a/tools/static-assets/skel/package.json +++ b/tools/static-assets/skel/package.json @@ -3,8 +3,8 @@ "private": true, "scripts": { "start": "meteor run", - "test": "meteor test --driver-package dispatch:mocha-browser", - "test-app": "meteor test --full-app --driver-package dispatch:mocha-browser", + "test": "meteor test --once --driver-package meteortesting:mocha", + "test-app": "TEST_WATCH=1 meteor test --full-app --driver-package meteortesting:mocha", "visualize": "meteor --production --extra-packages bundle-visualizer" }, "dependencies": { From 88ac202349f92568d5e3aa7accd2d25883e5ec68 Mon Sep 17 00:00:00 2001 From: Ben Newman Date: Sat, 3 Mar 2018 12:56:45 -0500 Subject: [PATCH 0636/1355] Simplify test/main.js for newly `meteor create`d apps. --- tools/static-assets/skel/test/main.js | 17 +++++------------ 1 file changed, 5 insertions(+), 12 deletions(-) diff --git a/tools/static-assets/skel/test/main.js b/tools/static-assets/skel/test/main.js index 0796df9923..ea7a8da1e1 100644 --- a/tools/static-assets/skel/test/main.js +++ b/tools/static-assets/skel/test/main.js @@ -1,27 +1,20 @@ import assert from "assert"; -export const testMessage = "Welcome to Meteor!"; - -describe("~name~", () => { - it("package.json has correct name", () => { - const { name } = require("../package.json"); +describe("~name~", function () { + it("package.json has correct name", async function () { + const { name } = await import("../package.json"); assert.strictEqual(name, "~name~"); }); if (Meteor.isClient) { - it("client is not server", () => { + it("client is not server", function () { assert.strictEqual(Meteor.isServer, false); }); } if (Meteor.isServer) { - it("server is not client", () => { + it("server is not client", function () { assert.strictEqual(Meteor.isClient, false); }); } - - it("async/await and dynamic import()", async () => { - const tests = await import("./main.js"); - assert.strictEqual(tests.testMessage, testMessage); - }); }); From b575a8f7536ff5aa857db677972ea506f39f4469 Mon Sep 17 00:00:00 2001 From: Ben Newman Date: Tue, 6 Mar 2018 21:09:33 -0500 Subject: [PATCH 0637/1355] Bump package versions for 1.6.2-beta.11 release. --- packages/babel-compiler/package.js | 2 +- packages/boilerplate-generator-tests/package.js | 2 +- packages/boilerplate-generator/package.js | 2 +- packages/dynamic-import/package.js | 2 +- packages/ecmascript-runtime-client/package.js | 2 +- packages/ecmascript-runtime-server/package.js | 2 +- packages/ecmascript-runtime/package.js | 2 +- packages/ecmascript/package.js | 2 +- packages/es5-shim/package.js | 2 +- packages/jquery/package.js | 2 +- packages/meteor-tool/package.js | 2 +- packages/meteor/package.js | 2 +- packages/modern-browsers/package.js | 2 +- packages/promise/package.js | 2 +- packages/socket-stream-client/package.js | 2 +- packages/tracker/package.js | 2 +- packages/webapp/package.js | 2 +- scripts/admin/meteor-release-experimental.json | 2 +- 18 files changed, 18 insertions(+), 18 deletions(-) diff --git a/packages/babel-compiler/package.js b/packages/babel-compiler/package.js index 7863d98c51..b57f366132 100644 --- a/packages/babel-compiler/package.js +++ b/packages/babel-compiler/package.js @@ -6,7 +6,7 @@ Package.describe({ // isn't possible because you can't publish a non-recommended // release with package versions that don't have a pre-release // identifier at the end (eg, -dev) - version: '7.1.0-beta162.10' + version: '7.1.0-beta162.11' }); Npm.depends({ diff --git a/packages/boilerplate-generator-tests/package.js b/packages/boilerplate-generator-tests/package.js index 7fcc408984..dfffad504c 100644 --- a/packages/boilerplate-generator-tests/package.js +++ b/packages/boilerplate-generator-tests/package.js @@ -2,7 +2,7 @@ Package.describe({ // These tests are in a separate package so that we can Npm.depend on // parse5, a html parsing library. summary: "Tests for the boilerplate-generator package", - version: '1.5.0-beta162.10', + version: '1.5.0-beta162.11', documentation: null }); diff --git a/packages/boilerplate-generator/package.js b/packages/boilerplate-generator/package.js index 5b8b9da476..2fd346be78 100644 --- a/packages/boilerplate-generator/package.js +++ b/packages/boilerplate-generator/package.js @@ -1,6 +1,6 @@ Package.describe({ summary: "Generates the boilerplate html from program's manifest", - version: '1.5.0-beta162.10' + version: '1.5.0-beta162.11' }); Npm.depends({ diff --git a/packages/dynamic-import/package.js b/packages/dynamic-import/package.js index 076f88c311..80a6c1ebdb 100644 --- a/packages/dynamic-import/package.js +++ b/packages/dynamic-import/package.js @@ -1,6 +1,6 @@ Package.describe({ name: "dynamic-import", - version: "0.4.0-beta162.10", + version: "0.4.0-beta162.11", summary: "Runtime support for Meteor 1.5 dynamic import(...) syntax", documentation: "README.md" }); diff --git a/packages/ecmascript-runtime-client/package.js b/packages/ecmascript-runtime-client/package.js index 49b22a7c3c..56c737b07c 100644 --- a/packages/ecmascript-runtime-client/package.js +++ b/packages/ecmascript-runtime-client/package.js @@ -1,6 +1,6 @@ Package.describe({ name: "ecmascript-runtime-client", - version: "0.7.0-beta162.10", + version: "0.7.0-beta162.11", summary: "Polyfills for new ECMAScript 2015 APIs like Map and Set", git: "https://github.com/meteor/meteor/tree/devel/packages/ecmascript-runtime-client", documentation: "README.md" diff --git a/packages/ecmascript-runtime-server/package.js b/packages/ecmascript-runtime-server/package.js index aa30acf3f0..8929dcad96 100644 --- a/packages/ecmascript-runtime-server/package.js +++ b/packages/ecmascript-runtime-server/package.js @@ -1,6 +1,6 @@ Package.describe({ name: "ecmascript-runtime-server", - version: "0.7.0-beta162.10", + version: "0.7.0-beta162.11", summary: "Polyfills for new ECMAScript 2015 APIs like Map and Set", git: "https://github.com/meteor/meteor/tree/devel/packages/ecmascript-runtime-client", documentation: "README.md" diff --git a/packages/ecmascript-runtime/package.js b/packages/ecmascript-runtime/package.js index d11bdd7620..2aae873ee3 100644 --- a/packages/ecmascript-runtime/package.js +++ b/packages/ecmascript-runtime/package.js @@ -1,6 +1,6 @@ Package.describe({ name: "ecmascript-runtime", - version: "0.7.0-beta162.10", + version: "0.7.0-beta162.11", summary: "Polyfills for new ECMAScript 2015 APIs like Map and Set", git: "https://github.com/meteor/ecmascript-runtime", documentation: "README.md" diff --git a/packages/ecmascript/package.js b/packages/ecmascript/package.js index a669cc28a3..5d20dc260b 100644 --- a/packages/ecmascript/package.js +++ b/packages/ecmascript/package.js @@ -1,6 +1,6 @@ Package.describe({ name: 'ecmascript', - version: '0.11.0-beta162.10', + version: '0.11.0-beta162.11', summary: 'Compiler plugin that supports ES2015+ in all .js files', documentation: 'README.md' }); diff --git a/packages/es5-shim/package.js b/packages/es5-shim/package.js index 399131db39..913359d24c 100644 --- a/packages/es5-shim/package.js +++ b/packages/es5-shim/package.js @@ -1,6 +1,6 @@ Package.describe({ name: "es5-shim", - version: "4.8.0-beta162.10", + version: "4.8.0-beta162.11", summary: "Shims and polyfills to improve ECMAScript 5 support", documentation: "README.md" }); diff --git a/packages/jquery/package.js b/packages/jquery/package.js index 508bf980bd..21150c57b8 100644 --- a/packages/jquery/package.js +++ b/packages/jquery/package.js @@ -1,7 +1,7 @@ Package.describe({ summary: "Manipulate the DOM using CSS selectors", // This package currently uses jQuery 1.12.1 (due to #9605). - version: '1.12.1-beta162.10' + version: '1.12.1-beta162.11' }); Package.onUse(function (api) { diff --git a/packages/meteor-tool/package.js b/packages/meteor-tool/package.js index 2ecec4c368..2455306ded 100644 --- a/packages/meteor-tool/package.js +++ b/packages/meteor-tool/package.js @@ -1,6 +1,6 @@ Package.describe({ summary: "The Meteor command-line tool", - version: '1.6.2-beta.10' + version: '1.6.2-beta.11' }); Package.includeTool(); diff --git a/packages/meteor/package.js b/packages/meteor/package.js index c33d03ea54..12737f6cb3 100644 --- a/packages/meteor/package.js +++ b/packages/meteor/package.js @@ -2,7 +2,7 @@ Package.describe({ summary: "Core Meteor environment", - version: '1.9.0-beta162.10' + version: '1.9.0-beta162.11' }); Package.registerBuildPlugin({ diff --git a/packages/modern-browsers/package.js b/packages/modern-browsers/package.js index b92963c8d1..43f45b3116 100644 --- a/packages/modern-browsers/package.js +++ b/packages/modern-browsers/package.js @@ -1,6 +1,6 @@ Package.describe({ name: "modern-browsers", - version: "0.1.0-beta162.10", + version: "0.1.0-beta162.11", summary: "API for defining the boundary between modern and legacy " + "JavaScript clients", documentation: "README.md" diff --git a/packages/promise/package.js b/packages/promise/package.js index 9990e7be2a..94960ad0d4 100644 --- a/packages/promise/package.js +++ b/packages/promise/package.js @@ -1,6 +1,6 @@ Package.describe({ name: "promise", - version: "0.11.0-beta162.10", + version: "0.11.0-beta162.11", summary: "ECMAScript 2015 Promise polyfill with Fiber support", git: "https://github.com/meteor/promise", documentation: "README.md" diff --git a/packages/socket-stream-client/package.js b/packages/socket-stream-client/package.js index 5dd6063b5b..5c771333d6 100644 --- a/packages/socket-stream-client/package.js +++ b/packages/socket-stream-client/package.js @@ -1,6 +1,6 @@ Package.describe({ name: "socket-stream-client", - version: "0.2.0-beta162.10", + version: "0.2.0-beta162.11", summary: "Provides the ClientStream abstraction used by ddp-client", documentation: "README.md" }); diff --git a/packages/tracker/package.js b/packages/tracker/package.js index a9a8ec6c8b..bdfba6c951 100644 --- a/packages/tracker/package.js +++ b/packages/tracker/package.js @@ -1,6 +1,6 @@ Package.describe({ summary: "Dependency tracker to allow reactive callbacks", - version: "1.2.0-beta162.10" + version: "1.2.0-beta162.11" }); Package.onUse(function (api) { diff --git a/packages/webapp/package.js b/packages/webapp/package.js index 65b808ec88..b55d3cb719 100644 --- a/packages/webapp/package.js +++ b/packages/webapp/package.js @@ -1,6 +1,6 @@ Package.describe({ summary: "Serves a Meteor app over HTTP", - version: '1.6.0-beta162.10' + version: '1.6.0-beta162.11' }); Npm.depends({"basic-auth-connect": "1.0.0", diff --git a/scripts/admin/meteor-release-experimental.json b/scripts/admin/meteor-release-experimental.json index 63739e7e52..22cee4c5dd 100644 --- a/scripts/admin/meteor-release-experimental.json +++ b/scripts/admin/meteor-release-experimental.json @@ -1,6 +1,6 @@ { "track": "METEOR", - "version": "1.6.2-beta.10", + "version": "1.6.2-beta.11", "recommended": false, "official": false, "description": "Meteor" From 4ebf089d88f41113ba8c97e0e3cb32104ba7b10c Mon Sep 17 00:00:00 2001 From: James Burgess Date: Wed, 7 Mar 2018 17:23:52 +0100 Subject: [PATCH 0638/1355] Remove underscore from meteor-base (#9596) This should shave down bundle sizes by 14.4 kb for many non-blaze projects. The other core meteor packages have not depended on `underscore` since #9362. However, we are only able to remove this last dependency now due to the previous commit, which eliminated usages of `underscore` from apps that did not have the package listed in their `packages` files. This was causing CI test failures that now should be corrected. Any meteor apps currently using `_` without `underscore` listed in their `packages` file will need to add the package explicitly. Version number of `meteor-base` bumped from 1.3.0 to 1.4.0. There are only a few uses of `underscore` in these apps, and two of them actually used `underscore` without having it explicitly listed in their `packages` file. This is a problem, because the apps were relying on the dependency from `meteor-base`, which we want to remove to cut down bundle sizes. For the `modules` test app, I've added `underscore` to the `packages` file, because it is using `_` in an assertion about the module system. For the other app and all other uses of `_`, rather than add `underscore` to the `packages` files, I took the modernization route and replaced the functions with their ES6 equivalents, and then removed `underscore` from all `packages` files. --- History.md | 10 ++++++++++ packages/meteor-base/package.js | 5 +---- .../apps/custom-minifier/.meteor/packages | 1 + tools/tests/apps/custom-minifier/code.js | 2 +- .../tests/apps/ddp-heartbeat/.meteor/packages | 1 - .../ddp-heartbeat/server/heartbeat_test.js | 2 +- .../tests/apps/failover-test/.meteor/packages | 1 - .../failover-test/server/failover-test.js | 2 +- tools/tests/apps/modules/.meteor/packages | 1 + tools/tests/apps/modules/tests.js | 4 ++-- tools/upgraders.js | 19 +++++++++++++++++++ 11 files changed, 37 insertions(+), 11 deletions(-) diff --git a/History.md b/History.md index fbcd9ec93d..618f35e7b2 100644 --- a/History.md +++ b/History.md @@ -71,6 +71,16 @@ `meteor-babel` now runs with the `loose:true` option, as required by other (optional) plugins like `@babel/plugin-proposal-decorators`. [Issue #9628](https://github.com/meteor/meteor/issues/9628) + +* The `underscore` package has been removed as a dependency from `meteor-base`. + This opens up the possibility of removing 14.4 kb from production bundles. + Since this would be a breaking change for any apps that may have been + using `_` without having any packages that depend on `underscore` + besides `meteor-base`, we have added an upgrader that will automatically + add `underscore` to the `.meteor/packages` file of any project which + lists `meteor-base`, but not `underscore`. Apps which do not require this + package can safely remove it using `meteor remove underscore`. + [PR #9596](https://github.com/meteor/meteor/pull/9596) * Meteor's `promise` package has been updated to support [`Promise.prototype.finally`](https://github.com/tc39/proposal-promise-finally). diff --git a/packages/meteor-base/package.js b/packages/meteor-base/package.js index b1a52563af..a8b550e634 100644 --- a/packages/meteor-base/package.js +++ b/packages/meteor-base/package.js @@ -1,6 +1,6 @@ Package.describe({ name: 'meteor-base', - version: '1.3.0', + version: '1.4.0', // Brief, one-line summary of the package. summary: 'Packages that every Meteor app needs', // By default, Meteor will default to using README.md for documentation. @@ -18,9 +18,6 @@ Package.onUse(function(api) { // removable 'webapp', - // Most Meteor core packages depend on Underscore right now - 'underscore', - // The protocol and client/server libraries that Meteor uses to send data 'ddp', 'livedata', // XXX COMPAT WITH PACKAGES BUILT FOR 0.9.0. diff --git a/tools/tests/apps/custom-minifier/.meteor/packages b/tools/tests/apps/custom-minifier/.meteor/packages index 9aaeca3482..d745212402 100644 --- a/tools/tests/apps/custom-minifier/.meteor/packages +++ b/tools/tests/apps/custom-minifier/.meteor/packages @@ -1,3 +1,4 @@ meteor-base custom-minifier blaze-html-templates +ecmascript diff --git a/tools/tests/apps/custom-minifier/code.js b/tools/tests/apps/custom-minifier/code.js index 3ddb5473b5..bbf93c40b7 100644 --- a/tools/tests/apps/custom-minifier/code.js +++ b/tools/tests/apps/custom-minifier/code.js @@ -1,6 +1,6 @@ if (Meteor.isClient) { Meteor.startup(function () { - _.each(['production_css', 'development_css'], function (cls) { + ['production_css', 'development_css'].forEach(cls => { var color = getComputedStyle(document.querySelectorAll('.' + cls)[0]).color; Meteor.call('print', cls + ': ' + color); }); diff --git a/tools/tests/apps/ddp-heartbeat/.meteor/packages b/tools/tests/apps/ddp-heartbeat/.meteor/packages index d1049086e6..cbc153703b 100644 --- a/tools/tests/apps/ddp-heartbeat/.meteor/packages +++ b/tools/tests/apps/ddp-heartbeat/.meteor/packages @@ -4,5 +4,4 @@ # but you can also edit it by hand. meteor-base -underscore tracker diff --git a/tools/tests/apps/ddp-heartbeat/server/heartbeat_test.js b/tools/tests/apps/ddp-heartbeat/server/heartbeat_test.js index 50be505a45..607aba9b2d 100644 --- a/tools/tests/apps/ddp-heartbeat/server/heartbeat_test.js +++ b/tools/tests/apps/ddp-heartbeat/server/heartbeat_test.js @@ -54,7 +54,7 @@ var expectConnectAndReconnect = function (clientConnection) { var testClientTimeout = function () { console.log("Test client timeout"); - var savedServerOptions = _.clone(Meteor.server.options); + var savedServerOptions = { ...Meteor.server.options }; Meteor.server.options.heartbeatInterval = 0; Meteor.server.options.respondToPings = false; diff --git a/tools/tests/apps/failover-test/.meteor/packages b/tools/tests/apps/failover-test/.meteor/packages index 2334f880ed..4239a6cadf 100644 --- a/tools/tests/apps/failover-test/.meteor/packages +++ b/tools/tests/apps/failover-test/.meteor/packages @@ -5,5 +5,4 @@ meteor mongo-livedata -underscore random diff --git a/tools/tests/apps/failover-test/server/failover-test.js b/tools/tests/apps/failover-test/server/failover-test.js index a194df44a8..81b41117aa 100644 --- a/tools/tests/apps/failover-test/server/failover-test.js +++ b/tools/tests/apps/failover-test/server/failover-test.js @@ -69,7 +69,7 @@ C.find().observeChanges({ Meteor.clearTimeout(nextStepTimeout); nextStepTimeout = null; } - if (!fields.step && _.has(steps, fields.step)) { + if (!fields.step && Object.prototoype.hasOwnProperty.call(steps, fields.step)) { console.log('Unexpected step:', fields.step); process.exit(1); } diff --git a/tools/tests/apps/modules/.meteor/packages b/tools/tests/apps/modules/.meteor/packages index 474b6dccc3..e74f6294a3 100644 --- a/tools/tests/apps/modules/.meteor/packages +++ b/tools/tests/apps/modules/.meteor/packages @@ -23,3 +23,4 @@ client-only-ecmascript modules-test-plugin shell-server@0.3.1 dynamic-import@0.3.0 +underscore diff --git a/tools/tests/apps/modules/tests.js b/tools/tests/apps/modules/tests.js index af37bec951..e4fec9ec2f 100644 --- a/tools/tests/apps/modules/tests.js +++ b/tools/tests/apps/modules/tests.js @@ -124,9 +124,9 @@ describe("template modules", () => { Meteor.isClient && it("should be importable on the client", () => { assert.strictEqual(typeof Template, "function"); - assert.ok(! _.has(Template, "lazy")); + assert.ok(! Object.prototype.hasOwnProperty.call(Template, "lazy")); require("./imports/lazy.html"); - assert.ok(_.has(Template, "lazy")); + assert.ok(Object.prototype.hasOwnProperty.call(Template, "lazy")); assert.ok(Template.lazy instanceof Template); }); diff --git a/tools/upgraders.js b/tools/upgraders.js index a7a8f2bf73..01d5960eab 100644 --- a/tools/upgraders.js +++ b/tools/upgraders.js @@ -291,6 +291,25 @@ be removed if there is no need for the Blaze configuration interface.`, packagesFile.writeIfModified(); }, + '1.6.2-split-underscore-from-meteor-base': function (projectContext) { + const packagesFile = projectContext.projectConstraintsFile; + if (! packagesFile.getConstraint(`underscore`) && + packagesFile.getConstraint(`meteor-base`)) { + + maybePrintNoticeHeader(); + Console.info( +`The underscore package has been removed as a dependency of all packages in \ +meteor-base. Since some apps may have been using underscore through this \ +dependency without having it listed in their .meteor/packages files, it has \ +been added automatically. If your app is not using underscore, then you can \ +safely remove it using 'meteor remove underscore'.`, + Console.options({ bulletPoint: "1.6.2: " }) + ); + packagesFile.addPackages([`underscore`]); + packagesFile.writeIfModified(); + } + } + //////////// // PLEASE. When adding new upgraders that print mesasges, follow the // examples for 0.9.0 and 0.9.1 above. Specifically, formatting From a4ffe2c627688f7043891d20db98c4287b6c0817 Mon Sep 17 00:00:00 2001 From: Seba Kerckhof Date: Wed, 7 Mar 2018 17:24:42 +0100 Subject: [PATCH 0639/1355] Modernize mongo-id package (#9599) --- packages/mongo-id/id.js | 116 ++++++++++++++++++----------------- packages/mongo-id/package.js | 10 ++- 2 files changed, 64 insertions(+), 62 deletions(-) diff --git a/packages/mongo-id/id.js b/packages/mongo-id/id.js index b446fa9f5d..d18ddb5ac1 100644 --- a/packages/mongo-id/id.js +++ b/packages/mongo-id/id.js @@ -1,90 +1,93 @@ -MongoID = {}; +import { EJSON } from 'meteor/ejson'; +import { Random } from 'meteor/random'; -MongoID._looksLikeObjectID = function (str) { - return str.length === 24 && str.match(/^[0-9a-f]*$/); -}; +const MongoID = {}; -MongoID.ObjectID = function (hexString) { - //random-based impl of Mongo ObjectID - var self = this; - if (hexString) { - hexString = hexString.toLowerCase(); - if (!MongoID._looksLikeObjectID(hexString)) { - throw new Error("Invalid hexadecimal string for creating an ObjectID"); +MongoID._looksLikeObjectID = str => str.length === 24 && str.match(/^[0-9a-f]*$/); + +MongoID.ObjectID = class ObjectID { + constructor (hexString) { + //random-based impl of Mongo ObjectID + if (hexString) { + hexString = hexString.toLowerCase(); + if (!MongoID._looksLikeObjectID(hexString)) { + throw new Error('Invalid hexadecimal string for creating an ObjectID'); + } + // meant to work with _.isEqual(), which relies on structural equality + this._str = hexString; + } else { + this._str = Random.hexString(24); } - // meant to work with _.isEqual(), which relies on structural equality - self._str = hexString; - } else { - self._str = Random.hexString(24); } -}; -MongoID.ObjectID.prototype.toString = function () { - var self = this; - return "ObjectID(\"" + self._str + "\")"; -}; + equals(other) { + return other instanceof MongoID.ObjectID && + this.valueOf() === other.valueOf(); + } -MongoID.ObjectID.prototype.equals = function (other) { - var self = this; - return other instanceof MongoID.ObjectID && - self.valueOf() === other.valueOf(); -}; + toString() { + return `ObjectID("${this._str}")`; + } -MongoID.ObjectID.prototype.clone = function () { - var self = this; - return new MongoID.ObjectID(self._str); -}; + clone() { + return new MongoID.ObjectID(this._str); + } -MongoID.ObjectID.prototype.typeName = function() { - return "oid"; -}; + typeName() { + return 'oid'; + } + + getTimestamp() { + return Number.parseInt(this._str.substr(0, 8), 16); + } -MongoID.ObjectID.prototype.getTimestamp = function() { - var self = this; - return parseInt(self._str.substr(0, 8), 16); -}; + valueOf() { + return this._str; + } -MongoID.ObjectID.prototype.valueOf = - MongoID.ObjectID.prototype.toJSONValue = - MongoID.ObjectID.prototype.toHexString = - function () { return this._str; }; + toJSONValue() { + return this.valueOf(); + } -EJSON.addType("oid", function (str) { - return new MongoID.ObjectID(str); -}); + toHexString() { + return this.valueOf(); + } -MongoID.idStringify = function (id) { +} + +EJSON.addType('oid', str => new MongoID.ObjectID(str)); + +MongoID.idStringify = (id) => { if (id instanceof MongoID.ObjectID) { return id.valueOf(); } else if (typeof id === 'string') { - if (id === "") { + if (id === '') { return id; - } else if (id.substr(0, 1) === "-" || // escape previously dashed strings - id.substr(0, 1) === "~" || // escape escaped numbers, true, false + } else if (id.startsWith('-') || // escape previously dashed strings + id.startsWith('~') || // escape escaped numbers, true, false MongoID._looksLikeObjectID(id) || // escape object-id-form strings - id.substr(0, 1) === '{') { // escape object-form strings, for maybe implementing later - return "-" + id; + id.startsWith('{')) { // escape object-form strings, for maybe implementing later + return `-${id}`; } else { return id; // other strings go through unchanged. } } else if (id === undefined) { return '-'; } else if (typeof id === 'object' && id !== null) { - throw new Error("Meteor does not currently support objects other than ObjectID as ids"); + throw new Error('Meteor does not currently support objects other than ObjectID as ids'); } else { // Numbers, true, false, null - return "~" + JSON.stringify(id); + return `~${JSON.stringify(id)}`; } }; - -MongoID.idParse = function (id) { - if (id === "") { +MongoID.idParse = (id) => { + if (id === '') { return id; } else if (id === '-') { return undefined; - } else if (id.substr(0, 1) === '-') { + } else if (id.startsWith('-')) { return id.substr(1); - } else if (id.substr(0, 1) === '~') { + } else if (id.startsWith('~')) { return JSON.parse(id.substr(1)); } else if (MongoID._looksLikeObjectID(id)) { return new MongoID.ObjectID(id); @@ -93,3 +96,4 @@ MongoID.idParse = function (id) { } }; +export { MongoID }; diff --git a/packages/mongo-id/package.js b/packages/mongo-id/package.js index a3fc9342e3..0868007fb2 100644 --- a/packages/mongo-id/package.js +++ b/packages/mongo-id/package.js @@ -1,13 +1,11 @@ Package.describe({ - summary: "JS simulation of MongoDB ObjectIDs", - version: '1.0.6', + summary: 'JS simulation of MongoDB ObjectIDs', + version: '1.0.7', documentation: null }); Package.onUse(function (api) { api.export('MongoID'); - api.use(['ejson', 'id-map', 'random']); - api.addFiles([ - 'id.js' - ]); + api.use(['ejson', 'id-map', 'random', 'ecmascript']); + api.mainModule('id.js'); }); From 06863d0203315640e70982e305c632835f8f06f5 Mon Sep 17 00:00:00 2001 From: Seba Kerckhof Date: Wed, 7 Mar 2018 17:33:29 +0100 Subject: [PATCH 0640/1355] Modernize logging (#9636) --- packages/logging/logging.js | 286 ++++++++++++++++------------ packages/logging/logging_cordova.js | 3 +- packages/logging/logging_test.js | 138 +++++++------- packages/logging/package.js | 22 ++- 4 files changed, 249 insertions(+), 200 deletions(-) diff --git a/packages/logging/logging.js b/packages/logging/logging.js index f07c9c93c5..b352392641 100644 --- a/packages/logging/logging.js +++ b/packages/logging/logging.js @@ -1,29 +1,33 @@ -Log = function () { - return Log.info.apply(this, arguments); -}; +import { Meteor } from 'meteor/meteor'; + +const hasOwn = Object.prototype.hasOwnProperty; + +function Log(...args) { + Log.info(...args); +} /// FOR TESTING -var intercept = 0; -var interceptedLines = []; -var suppress = 0; +let intercept = 0; +let interceptedLines = []; +let suppress = 0; // Intercept the next 'count' calls to a Log function. The actual // lines printed to the console can be cleared and read by calling // Log._intercepted(). -Log._intercept = function (count) { +Log._intercept = (count) => { intercept += count; }; // Suppress the next 'count' calls to a Log function. Use this to stop // tests from spamming the console, especially with red errors that // might look like a failing test. -Log._suppress = function (count) { +Log._suppress = (count) => { suppress += count; }; // Returns intercepted lines and resets the intercept counter. -Log._intercepted = function () { - var lines = interceptedLines; +Log._intercepted = () => { + const lines = interceptedLines; interceptedLines = []; intercept = 0; return lines; @@ -40,38 +44,38 @@ Log._intercepted = function () { // other process that will be reading its standard output. Log.outputFormat = 'json'; -var LEVEL_COLORS = { +const LEVEL_COLORS = { debug: 'green', // leave info as the default color warn: 'magenta', error: 'red' }; -var META_COLOR = 'blue'; +const META_COLOR = 'blue'; // Default colors cause readability problems on Windows Powershell, // switch to bright variants. While still capable of millions of // operations per second, the benchmark showed a 25%+ increase in // ops per second (on Node 8) by caching "process.platform". -var isWin32 = typeof process === 'object' && process.platform === 'win32'; -var platformColor = function (color) { - if (isWin32 && typeof color === 'string' && color.slice(-6) !== 'Bright') { - return color + 'Bright'; +const isWin32 = typeof process === 'object' && process.platform === 'win32'; +const platformColor = (color) => { + if (isWin32 && typeof color === 'string' && !color.endsWith('Bright')) { + return `${color}Bright`; } return color; }; // XXX package -var RESTRICTED_KEYS = ['time', 'timeInexact', 'level', 'file', 'line', +const RESTRICTED_KEYS = ['time', 'timeInexact', 'level', 'file', 'line', 'program', 'originApp', 'satellite', 'stderr']; -var FORMATTED_KEYS = RESTRICTED_KEYS.concat(['app', 'message']); +const FORMATTED_KEYS = [...RESTRICTED_KEYS, 'app', 'message']; -var logInBrowser = function (obj) { - var str = Log.format(obj); +const logInBrowser = obj => { + const str = Log.format(obj); // XXX Some levels should be probably be sent to the server - var level = obj.level; + const level = obj.level; if ((typeof console !== 'undefined') && console[level]) { console[level](str); @@ -84,43 +88,46 @@ var logInBrowser = function (obj) { }; // @returns {Object: { line: Number, file: String }} -Log._getCallerDetails = function () { - var getStack = function () { +Log._getCallerDetails = () => { + const getStack = () => { // We do NOT use Error.prepareStackTrace here (a V8 extension that gets us a // pre-parsed stack) since it's impossible to compose it with the use of // Error.prepareStackTrace used on the server for source maps. - var err = new Error; - var stack = err.stack; + const err = new Error; + const stack = err.stack; return stack; }; - var stack = getStack(); + const stack = getStack(); - if (!stack) return {}; - - var lines = stack.split('\n'); + if (!stack) { + return {}; + } // looking for the first line outside the logging package (or an // eval if we find that first) - var line; - for (var i = 1; i < lines.length; ++i) { - line = lines[i]; + let line; + const lines = stack.split('\n').slice(1); + for (line of lines) { if (line.match(/^\s*at eval \(eval/)) { return {file: "eval"}; } - if (!line.match(/packages\/(?:local-test[:_])?logging(?:\/|\.js)/)) + if (!line.match(/packages\/(?:local-test[:_])?logging(?:\/|\.js)/)) { break; + } } - var details = {}; + const details = {}; // The format for FF is 'functionName@filePath:lineNumber' // The format for V8 is 'functionName (packages/logging/logging.js:81)' or // 'packages/logging/logging.js:81' - var match = /(?:[@(]| at )([^(]+?):([0-9:]+)(?:\)|$)/.exec(line); - if (!match) + const match = /(?:[@(]| at )([^(]+?):([0-9:]+)(?:\)|$)/.exec(line); + if (!match) { return details; + } + // in case the matched block here is line:column details.line = match[2].split(':')[0]; @@ -132,106 +139,117 @@ Log._getCallerDetails = function () { return details; }; -_.each(['debug', 'info', 'warn', 'error'], function (level) { - // @param arg {String|Object} - Log[level] = function (arg) { - if (suppress) { - suppress--; - return; +['debug', 'info', 'warn', 'error'].forEach((level) => { + // @param arg {String|Object} + Log[level] = (arg) => { + if (suppress) { + suppress--; + return; + } + + let intercepted = false; + if (intercept) { + intercept--; + intercepted = true; + } + + let obj = (arg === Object(arg) + && !(arg instanceof RegExp) + && !(arg instanceof Date)) + ? arg + : { message: new String(arg).toString() }; + + RESTRICTED_KEYS.forEach(key => { + if (obj[key]) { + throw new Error(`Can't set '${key}' in log message`); } + }); - var intercepted = false; - if (intercept) { - intercept--; - intercepted = true; - } + if (hasOwn.call(obj, 'message') && typeof obj.message !== 'string') { + throw new Error("The 'message' field in log objects must be a string"); + } - var obj = (_.isObject(arg) && !_.isRegExp(arg) && !_.isDate(arg) ) ? - arg : {message: new String(arg).toString() }; + if (!obj.omitCallerDetails) { + obj = { ...Log._getCallerDetails(), ...obj }; + } - _.each(RESTRICTED_KEYS, function (key) { - if (obj[key]) - throw new Error("Can't set '" + key + "' in log message"); - }); + obj.time = new Date(); + obj.level = level; - if (_.has(obj, 'message') && !_.isString(obj.message)) - throw new Error("The 'message' field in log objects must be a string"); - if (!obj.omitCallerDetails) - obj = _.extend(Log._getCallerDetails(), obj); - obj.time = new Date(); - obj.level = level; + // XXX allow you to enable 'debug', probably per-package + if (level === 'debug') { + return; + } - // XXX allow you to enable 'debug', probably per-package - if (level === 'debug') - return; - - if (intercepted) { - interceptedLines.push(EJSON.stringify(obj)); - } else if (Meteor.isServer) { - if (Log.outputFormat === 'colored-text') { - console.log(Log.format(obj, {color: true})); - } else if (Log.outputFormat === 'json') { - console.log(EJSON.stringify(obj)); - } else { - throw new Error("Unknown logging output format: " + Log.outputFormat); - } + if (intercepted) { + interceptedLines.push(EJSON.stringify(obj)); + } else if (Meteor.isServer) { + if (Log.outputFormat === 'colored-text') { + console.log(Log.format(obj, {color: true})); + } else if (Log.outputFormat === 'json') { + console.log(EJSON.stringify(obj)); } else { - logInBrowser(obj); + throw new Error(`Unknown logging output format: ${Log.outputFormat}`); } - }; + } else { + logInBrowser(obj); + } +}; }); + // tries to parse line as EJSON. returns object if parse is successful, or null if not -Log.parse = function (line) { - var obj = null; - if (line && line.charAt(0) === '{') { // might be json generated from calling 'Log' +Log.parse = (line) => { + let obj = null; + if (line && line.startsWith('{')) { // might be json generated from calling 'Log' try { obj = EJSON.parse(line); } catch (e) {} } // XXX should probably check fields other than 'time' - if (obj && obj.time && (obj.time instanceof Date)) + if (obj && obj.time && (obj.time instanceof Date)) { return obj; - else + } else { return null; + } }; // formats a log object into colored human and machine-readable text -Log.format = function (obj, options) { - obj = EJSON.clone(obj); // don't mutate the argument - options = options || {}; +Log.format = (obj, options = {}) => { + obj = { ...obj }; // don't mutate the argument + let { + time, + timeInexact, + level = 'info', + file, + line: lineNumber, + app: appName = '', + originApp, + message = '', + program = '', + satellite = '', + stderr = '', + } = obj; - var time = obj.time; - if (!(time instanceof Date)) + if (!(time instanceof Date)) { throw new Error("'time' must be a Date object"); - var timeInexact = obj.timeInexact; + } - // store fields that are in FORMATTED_KEYS since we strip them - var level = obj.level || 'info'; - var file = obj.file; - var lineNumber = obj.line; - var appName = obj.app || ''; - var originApp = obj.originApp; - var message = obj.message || ''; - var program = obj.program || ''; - var satellite = obj.satellite; - var stderr = obj.stderr || ''; + FORMATTED_KEYS.forEach((key) => { delete obj[key]; }); - _.each(FORMATTED_KEYS, function(key) { - delete obj[key]; - }); - - if (!_.isEmpty(obj)) { - if (message) message += " "; + if (Object.keys(obj).length > 0) { + if (message) { + message += ' '; + } message += EJSON.stringify(obj); } - var pad2 = function(n) { return n < 10 ? '0' + n : n.toString(); }; - var pad3 = function(n) { return n < 100 ? '0' + pad2(n) : n.toString(); }; + const pad2 = n => n.toString().padStart(2, '0'); + const pad3 = n => n.toString().padStart(3, '0'); - var dateStamp = time.getFullYear().toString() + + const dateStamp = time.getFullYear().toString() + pad2(time.getMonth() + 1 /*0-based*/) + pad2(time.getDate()); - var timeStamp = pad2(time.getHours()) + + const timeStamp = pad2(time.getHours()) + ':' + pad2(time.getMinutes()) + ':' + @@ -240,26 +258,39 @@ Log.format = function (obj, options) { pad3(time.getMilliseconds()); // eg in San Francisco in June this will be '(-7)' - var utcOffsetStr = '(' + (-(new Date().getTimezoneOffset() / 60)) + ')'; + const utcOffsetStr = `(${(-(new Date().getTimezoneOffset() / 60))})`; - var appInfo = ''; - if (appName) appInfo += appName; - if (originApp && originApp !== appName) appInfo += ' via ' + originApp; - if (appInfo) appInfo = '[' + appInfo + '] '; + let appInfo = ''; + if (appName) { + appInfo += appName; + } + if (originApp && originApp !== appName) { + appInfo += ` via ${originApp}`; + } + if (appInfo) { + appInfo = `[${appInfo}] `; + } - var sourceInfoParts = []; - if (program) sourceInfoParts.push(program); - if (file) sourceInfoParts.push(file); - if (lineNumber) sourceInfoParts.push(lineNumber); - var sourceInfo = _.isEmpty(sourceInfoParts) ? - '' : '(' + sourceInfoParts.join(':') + ') '; + const sourceInfoParts = []; + if (program) { + sourceInfoParts.push(program); + } + if (file) { + sourceInfoParts.push(file); + } + if (lineNumber) { + sourceInfoParts.push(lineNumber); + } + + let sourceInfo = !sourceInfoParts.length ? + '' : `(${sourceInfoParts.join(':')}) `; if (satellite) - sourceInfo += ['[', satellite, ']'].join(''); + sourceInfo += `[${satellite}]`; - var stderrIndicator = stderr ? '(STDERR) ' : ''; + const stderrIndicator = stderr ? '(STDERR) ' : ''; - var metaPrefix = [ + const metaPrefix = [ level.charAt(0).toUpperCase(), dateStamp, '-', @@ -270,7 +301,7 @@ Log.format = function (obj, options) { sourceInfo, stderrIndicator].join(''); - var prettify = function (line, color) { + const prettify = function (line, color) { return (options.color && Meteor.isServer && color) ? require('cli-color')[color](line) : line; }; @@ -282,7 +313,14 @@ Log.format = function (obj, options) { // Turn a line of text into a loggable object. // @param line {String} // @param override {Object} -Log.objFromText = function (line, override) { - var obj = {message: line, level: "info", time: new Date(), timeInexact: true}; - return _.extend(obj, override); +Log.objFromText = (line, override) => { + return { + message: line, + level: 'info', + time: new Date(), + timeInexact: true, + ...override + }; }; + +export { Log }; diff --git a/packages/logging/logging_cordova.js b/packages/logging/logging_cordova.js index 56f52ceba8..dfa3290394 100644 --- a/packages/logging/logging_cordova.js +++ b/packages/logging/logging_cordova.js @@ -6,7 +6,8 @@ if (! /Android/i.test(navigator.userAgent)) { // Cut off the url prefix, the meaningful part always starts at 'www/' in // Cordova apps. url = url.replace(/^.*?\/www\//, ''); - console.log('Uncaught Error: ' + msg + ':' + line + ':' + url); + console.log(`Uncaught Error: ${msg}:${line}:${url}`); }; } +export * from './logging.js'; diff --git a/packages/logging/logging_test.js b/packages/logging/logging_test.js index 3f569b3916..d6d595b3b4 100644 --- a/packages/logging/logging_test.js +++ b/packages/logging/logging_test.js @@ -1,5 +1,8 @@ -Tinytest.add("logging - _getCallerDetails", function (test) { - var details = Log._getCallerDetails(); +import { Meteor } from 'meteor/meteor'; +import { Log } from 'meteor/logging'; + +Tinytest.add('logging - _getCallerDetails', function (test) { + const details = Log._getCallerDetails(); // Ignore this test for Opera, IE, Safari since this test would work only // in Chrome and Firefox, other browsers don't give us an ability to get // stacktrace. @@ -14,7 +17,7 @@ Tinytest.add("logging - _getCallerDetails", function (test) { } // evaled statements shouldn't crash - var code = "Log._getCallerDetails().file"; + const code = 'Log._getCallerDetails().file'; // Note that we want this to work in --production too, so we need to allow // for the minified filename test.matches(eval(code), @@ -22,53 +25,52 @@ Tinytest.add("logging - _getCallerDetails", function (test) { } }); -Tinytest.add("logging - log", function (test) { - var logBothMessageAndObject = function (log, level) { +Tinytest.add('logging - log', function (test) { + const logBothMessageAndObject = function (log, level) { Log._intercept(3); - // Tests for correctness - log("message"); - log({property1: "foo", property2: "bar"}); - log({message: "mixed", property1: "foo", property2: "bar"}); + log('message'); + log({property1: 'foo', property2: 'bar'}); + log({message: 'mixed', property1: 'foo', property2: 'bar'}); - var intercepted = Log._intercepted(); + let intercepted = Log._intercepted(); test.equal(intercepted.length, 3); - var obj1 = EJSON.parse(intercepted[0]); - test.equal(obj1.message, "message"); + const obj1 = EJSON.parse(intercepted[0]); + test.equal(obj1.message, 'message'); test.equal(obj1.level, level); test.instanceOf(obj1.time, Date); - var obj2 = EJSON.parse(intercepted[1]); + const obj2 = EJSON.parse(intercepted[1]); test.isFalse(obj2.message); - test.equal(obj2.property1, "foo"); - test.equal(obj2.property2, "bar"); + test.equal(obj2.property1, 'foo'); + test.equal(obj2.property2, 'bar'); test.equal(obj2.level, level); test.instanceOf(obj2.time, Date); - var obj3 = EJSON.parse(intercepted[2]); - test.equal(obj3.message, "mixed"); - test.equal(obj3.property1, "foo"); - test.equal(obj3.property2, "bar"); + const obj3 = EJSON.parse(intercepted[2]); + test.equal(obj3.message, 'mixed'); + test.equal(obj3.property1, 'foo'); + test.equal(obj3.property2, 'bar'); test.equal(obj3.level, level); test.instanceOf(obj3.time, Date); // Test logging falsy values, as well as single digits // and some other non-stringy things // In a format of testcase, expected result, name of the test. - var testcases = [ - [1, "1", "single digit"], - [0, "0", "falsy - 0"], - [null, "null", "falsy - null"], - [undefined, "undefined", "falsy - undefined"], - [new Date("2013-06-13T01:15:16.000Z"), new Date("2013-06-13T01:15:16.000Z"), "date"], - [/[^regexp]{0,1}/g, "/[^regexp]{0,1}/g", "regexp"], - [true, "true", "boolean - true"], - [false, "false", "boolean - false"], - [-Infinity, "-Infinity", "number - -Infinity"]]; + const testcases = [ + [1, '1', 'single digit'], + [0, '0', 'falsy - 0'], + [null, 'null', 'falsy - null'], + [undefined, 'undefined', 'falsy - undefined'], + [new Date('2013-06-13T01:15:16.000Z'), new Date('2013-06-13T01:15:16.000Z'), 'date'], + [/[^regexp]{0,1}/g, '/[^regexp]{0,1}/g', 'regexp'], + [true, 'true', 'boolean - true'], + [false, 'false', 'boolean - false'], + [-Infinity, '-Infinity', 'number - -Infinity']]; Log._intercept(testcases.length); - _.each(testcases, function (testcase) { + testcases.forEach((testcase) => { log(testcase[0]); }); @@ -76,7 +78,7 @@ Tinytest.add("logging - log", function (test) { test.equal(intercepted.length, testcases.length); - _.each(testcases, function (testcase, index) { + testcases.forEach((testcase, index) => { var expected = testcase[1]; var testName = testcase[2]; var recieved = intercepted[index]; @@ -84,13 +86,17 @@ Tinytest.add("logging - log", function (test) { // IE8 and old Safari don't support this date format. Skip it. if (expected && expected.toString && - (expected.toString() === "NaN" || - expected.toString() === "Invalid Date")) - return; + (expected.toString() === 'NaN' || + expected.toString() === 'Invalid Date')) { + return; + } - if (_.isDate(testcase[0])) + + if (testcase[0] instanceof Date) { obj.message = new Date(obj.message); - test.equal(obj.message, expected, 'Logging ' + testName); + } + + test.equal(obj.message, expected, `Logging ${testName}`); }); // Tests for correct exceptions @@ -102,7 +108,7 @@ Tinytest.add("logging - log", function (test) { test.throws(function () { log({level: 'not the right level'}); }); - _.each(['file', 'line', 'program', 'originApp', 'satellite'], + ['file', 'line', 'program', 'originApp', 'satellite'].forEach( function (restrictedKey) { test.throws(function () { var obj = {}; @@ -112,11 +118,11 @@ Tinytest.add("logging - log", function (test) { }); // Can't pass numbers, objects, arrays, regexps or functions as message - var throwingTestcases = [1, NaN, {foo:"bar"}, ["a", "r", "r"], null, + var throwingTestcases = [1, NaN, {foo:'bar'}, ['a', 'r', 'r'], null, undefined, new Date, function () { return 42; }, /[regexp]/ ]; Log._intercept(throwingTestcases.length); - _.each(throwingTestcases, function (testcase) { + throwingTestcases.forEach(function (testcase) { test.throws(function () { log({ message: testcase }); }); @@ -128,73 +134,73 @@ Tinytest.add("logging - log", function (test) { }; logBothMessageAndObject(Log, 'info'); - _.each(['info', 'warn', 'error'], function (level) { + ['info', 'warn', 'error'].forEach((level) => { logBothMessageAndObject(Log[level], level); }); }); -Tinytest.add("logging - parse", function (test) { +Tinytest.add('logging - parse', function (test) { test.equal(Log.parse("message"), null); test.equal(Log.parse('{"foo": "bar"}'), null); var time = new Date; - test.equal(Log.parse('{"foo": "bar", "time": ' + EJSON.stringify(time) + '}'), + test.equal(Log.parse(`{"foo": "bar", "time": ${EJSON.stringify(time)}}`), { foo: "bar", time: time }); test.equal(Log.parse('{"foo": not json "bar"}'), null); test.equal(Log.parse('{"time": "not a date object"}'), null); }); -Tinytest.add("logging - format", function (test) { +Tinytest.add('logging - format', function (test) { var time = new Date(2012, 9 - 1/*0-based*/, 8, 7, 6, 5, 4); var utcOffsetStr = '(' + (-(new Date().getTimezoneOffset() / 60)) + ')'; - _.each(['debug', 'info', 'warn', 'error'], function (level) { + ['debug', 'info', 'warn', 'error'].forEach(function (level) { test.equal( - Log.format({message: "message", time: time, level: level}), - level.charAt(0).toUpperCase() + "20120908-07:06:05.004" + utcOffsetStr + " message"); + Log.format({message: 'message', time: time, level: level}), + `${level.charAt(0).toUpperCase()}20120908-07:06:05.004${utcOffsetStr} message`); test.equal( - Log.format({message: "message", time: time, timeInexact: true, level: level}), - level.charAt(0).toUpperCase() + "20120908-07:06:05.004" + utcOffsetStr + "? message"); + Log.format({message: 'message', time: time, timeInexact: true, level: level}), + `${level.charAt(0).toUpperCase()}20120908-07:06:05.004${utcOffsetStr}? message`); test.equal( - Log.format({foo1: "bar1", foo2: "bar2", time: time, level: level}), - level.charAt(0).toUpperCase() + '20120908-07:06:05.004' + utcOffsetStr + ' {"foo1":"bar1","foo2":"bar2"}'); + Log.format({foo1: 'bar1', foo2: 'bar2', time: time, level: level}), + `${level.charAt(0).toUpperCase()}20120908-07:06:05.004${utcOffsetStr} {"foo1":"bar1","foo2":"bar2"}`); test.equal( - Log.format({message: "message", foo: "bar", time: time, level: level}), - level.charAt(0).toUpperCase() + '20120908-07:06:05.004' + utcOffsetStr + ' message {"foo":"bar"}'); + Log.format({message: 'message', foo: 'bar', time: time, level: level}), + `${level.charAt(0).toUpperCase()}20120908-07:06:05.004${utcOffsetStr} message {"foo":"bar"}`); // Has everything except stderr field test.equal( - Log.format({message: "message", foo: "bar", time: time, level: level, file: "app.js", line:42, app: "myApp", originApp: "proxy", program: "server"}), - level.charAt(0).toUpperCase() + '20120908-07:06:05.004' + utcOffsetStr + ' [myApp via proxy] (server:app.js:42) message {\"foo\":\"bar\"}'); + Log.format({message: 'message', foo: 'bar', time: time, level: level, file: 'app.js', line:42, app: 'myApp', originApp: 'proxy', program: 'server'}), + `${level.charAt(0).toUpperCase()}20120908-07:06:05.004${utcOffsetStr} [myApp via proxy] (server:app.js:42) message {\"foo\":\"bar\"}`); // stderr test.equal( - Log.format({message: "message from stderr", time: time, level: level, stderr: true}), - level.charAt(0).toUpperCase() + '20120908-07:06:05.004' + utcOffsetStr + ' (STDERR) message from stderr'); + Log.format({message: 'message from stderr', time: time, level: level, stderr: true}), + `${level.charAt(0).toUpperCase()}20120908-07:06:05.004${utcOffsetStr} (STDERR) message from stderr`); // app/originApp test.equal( - Log.format({message: "message", time: time, level: level, app: "app", originApp: "app"}), - level.charAt(0).toUpperCase() + '20120908-07:06:05.004' + utcOffsetStr + ' [app] message'); + Log.format({message: 'message', time: time, level: level, app: 'app', originApp: 'app'}), + `${level.charAt(0).toUpperCase()}20120908-07:06:05.004${utcOffsetStr} [app] message`); test.equal( - Log.format({message: "message", time: time, level: level, app: "app", originApp: "proxy"}), - level.charAt(0).toUpperCase() + '20120908-07:06:05.004' + utcOffsetStr + ' [app via proxy] message'); + Log.format({message: "message", time: time, level: level, app: 'app', originApp: 'proxy'}), + `${level.charAt(0).toUpperCase()}20120908-07:06:05.004${utcOffsetStr} [app via proxy] message`); // source info test.equal( - Log.format({message: "message", time: time, level: level, file: "app.js", line: 42, program: "server"}), - level.charAt(0).toUpperCase() + '20120908-07:06:05.004' + utcOffsetStr + ' (server:app.js:42) message'); + Log.format({message: 'message', time: time, level: level, file: 'app.js', line: 42, program: 'server'}), + `${level.charAt(0).toUpperCase()}20120908-07:06:05.004${utcOffsetStr} (server:app.js:42) message`); test.equal( - Log.format({message: "message", time: time, level: level, file: "app.js", line: 42}), - level.charAt(0).toUpperCase() + '20120908-07:06:05.004' + utcOffsetStr + ' (app.js:42) message'); + Log.format({message: 'message', time: time, level: level, file: 'app.js', line: 42}), + `${level.charAt(0).toUpperCase()}20120908-07:06:05.004${utcOffsetStr} (app.js:42) message`); }); test.matches(Log.format({ - message: "oyez", + message: 'oyez', time: new Date, - level: "error" + level: 'error' }, { color: true }), /oyez/); diff --git a/packages/logging/package.js b/packages/logging/package.js index 84264d6aa0..65ad237c67 100644 --- a/packages/logging/package.js +++ b/packages/logging/package.js @@ -1,14 +1,14 @@ Package.describe({ - summary: "Logging facility.", - version: '1.1.19' + summary: 'Logging facility.', + version: '1.1.20' }); Npm.depends({ - "cli-color": "0.2.3" + 'cli-color': '0.2.3' }); Npm.strip({ - "es5-ext": ["test/"] + 'es5-ext': ['test/'] }); Cordova.depends({ @@ -17,13 +17,17 @@ Cordova.depends({ Package.onUse(function (api) { api.export('Log'); - api.use(['underscore', 'ejson', 'modules']); - api.addFiles('logging.js'); - api.addFiles('logging_cordova.js', 'web.cordova'); + // The `ecmascript-runtime-client` package is explicitly depended upon + // here due to this package's dependency on + // `String.prototype.padRight` which is polyfilled only in + // `ecmascript-runtime-client@0.6.2` or newer. + api.use(['ejson', 'ecmascript', 'ecmascript-runtime-client@0.6.2']); + api.mainModule('logging.js'); + api.mainModule('logging_cordova.js', 'web.cordova'); }); Package.onTest(function (api) { - api.use(['tinytest', 'underscore', 'ejson']); + api.use(['tinytest', 'ejson', 'ecmascript']); api.use('logging', ['client', 'server']); - api.addFiles('logging_test.js', ['server', 'client']); + api.mainModule('logging_test.js', ['server', 'client']); }); From 20e89b9009806ca9cec0e464be1937eecf64a46d Mon Sep 17 00:00:00 2001 From: James Burgess Date: Wed, 7 Mar 2018 17:36:48 +0100 Subject: [PATCH 0641/1355] Modernize check package (#9638) I've reverted match properties that return class instances back to normal functions, so that they can be called as constructors. Also, I added tests to make sure we catch this issue if someone else gets the same idea that I had! --- packages/check/isPlainObject.js | 25 +-- packages/check/match.js | 320 ++++++++++++++++++-------------- packages/check/match_test.js | 313 +++++++++++++++++-------------- packages/check/package.js | 10 +- 4 files changed, 371 insertions(+), 297 deletions(-) diff --git a/packages/check/isPlainObject.js b/packages/check/isPlainObject.js index eb3c18498a..bf392c70af 100644 --- a/packages/check/isPlainObject.js +++ b/packages/check/isPlainObject.js @@ -1,24 +1,24 @@ // Copy of jQuery.isPlainObject for the server side from jQuery v3.1.1. -var class2type = {}; +const class2type = {}; -var toString = class2type.toString; +const toString = class2type.toString; -var hasOwn = class2type.hasOwnProperty; +const hasOwn = Object.prototype.hasOwnProperty; -var fnToString = hasOwn.toString; +const fnToString = hasOwn.toString; -var ObjectFunctionString = fnToString.call(Object); +const ObjectFunctionString = fnToString.call(Object); -var getProto = Object.getPrototypeOf; +const getProto = Object.getPrototypeOf; -exports.isPlainObject = function( obj ) { - var proto, - Ctor; +export const isPlainObject = obj => { + let proto; + let Ctor; // Detect obvious negatives // Use toString instead of jQuery.type to catch host objects - if (!obj || toString.call(obj) !== "[object Object]") { + if (!obj || toString.call(obj) !== '[object Object]') { return false; } @@ -30,6 +30,7 @@ exports.isPlainObject = function( obj ) { } // Objects with prototype are plain iff they were constructed by a global Object function - Ctor = hasOwn.call(proto, "constructor") && proto.constructor; - return typeof Ctor === "function" && fnToString.call(Ctor) === ObjectFunctionString; + Ctor = hasOwn.call(proto, 'constructor') && proto.constructor; + return typeof Ctor === 'function' && + fnToString.call(Ctor) === ObjectFunctionString; }; diff --git a/packages/check/match.js b/packages/check/match.js index a0faf2f123..4c1e2bd94d 100644 --- a/packages/check/match.js +++ b/packages/check/match.js @@ -1,11 +1,11 @@ // XXX docs +import { isPlainObject } from './isPlainObject'; // Things we explicitly do NOT support: // - heterogenous arrays -var currentArgumentChecker = new Meteor.EnvironmentVariable; -var isPlainObject = require("./isPlainObject.js").isPlainObject; -var hasOwn = Object.prototype.hasOwnProperty; +const currentArgumentChecker = new Meteor.EnvironmentVariable; +const hasOwn = Object.prototype.hasOwnProperty; /** * @summary Check that a value matches a [pattern](#matchpatterns). @@ -26,16 +26,19 @@ export function check(value, pattern) { // it might not find the argumentChecker and you'll get an error about // not checking an argument that it looks like you're checking (instead // of just getting a "Node code must run in a Fiber" error). - var argChecker = currentArgumentChecker.getOrNullIfOutsideFiber(); - if (argChecker) + const argChecker = currentArgumentChecker.getOrNullIfOutsideFiber(); + if (argChecker) { argChecker.checking(value); - var result = testSubtree(value, pattern); + } + + const result = testSubtree(value, pattern); if (result) { - var err = new Match.Error(result.message); + const err = new Match.Error(result.message); if (result.path) { - err.message += " in field " + result.path; + err.message += ` in field ${result.path}`; err.path = result.path; } + throw err; } }; @@ -45,39 +48,47 @@ export function check(value, pattern) { * @summary The namespace for all Match types and methods. */ export const Match = { - Optional: function (pattern) { + Optional: function(pattern) { return new Optional(pattern); }, - Maybe: function (pattern) { + + Maybe: function(pattern) { return new Maybe(pattern); }, - OneOf: function (...args) { + + OneOf: function(...args) { return new OneOf(args); }, + Any: ['__any__'], - Where: function (condition) { + Where: function(condition) { return new Where(condition); }, - ObjectIncluding: function (pattern) { - return new ObjectIncluding(pattern); + + ObjectIncluding: function(pattern) { + return new ObjectIncluding(pattern) }, - ObjectWithValues: function (pattern) { + + ObjectWithValues: function(pattern) { return new ObjectWithValues(pattern); }, + // Matches only signed 32-bit integers Integer: ['__integer__'], // XXX matchers should know how to describe themselves for errors - Error: Meteor.makeErrorType("Match.Error", function (msg) { - this.message = "Match error: " + msg; + Error: Meteor.makeErrorType('Match.Error', function (msg) { + this.message = `Match error: ${msg}`; + // The path of the value that failed to match. Initially empty, this gets // populated by catching and rethrowing the exception as it goes back up the // stack. // E.g.: "vals[3].entity.created" - this.path = ""; + this.path = ''; + // If this gets sent over DDP, don't give full internal details but at least // provide something better than 500 Internal server error. - this.sanitizedError = new Meteor.Error(400, "Match failed"); + this.sanitizedError = new Meteor.Error(400, 'Match failed'); }), // Tests to see if value matches pattern. Unlike check, it merely returns true @@ -100,12 +111,13 @@ export const Match = { // Runs `f.apply(context, args)`. If check() is not called on every element of // `args` (either directly or in the first level of an array), throws an error // (using `description` in the message). - // _failIfArgumentsAreNotAllChecked(f, context, args, description) { - var argChecker = new ArgumentChecker(args, description); - var result = currentArgumentChecker.withValue(argChecker, function () { - return f.apply(context, args); - }); + const argChecker = new ArgumentChecker(args, description); + const result = currentArgumentChecker.withValue( + argChecker, + () => f.apply(context, args) + ); + // If f didn't itself throw, make sure it checked all of its arguments. argChecker.throwUnlessAllArgumentsHaveBeenChecked(); return result; @@ -126,8 +138,10 @@ class Maybe { class OneOf { constructor(choices) { - if (!choices || choices.length === 0) - throw new Error("Must provide at least one choice to Match.OneOf"); + if (!choices || choices.length === 0) { + throw new Error('Must provide at least one choice to Match.OneOf'); + } + this.choices = choices; } } @@ -150,26 +164,27 @@ class ObjectWithValues { } } -var stringForErrorMessage = function (value, options) { - options = options || {}; - - if ( value === null ) return "null"; +const stringForErrorMessage = (value, options = {}) => { + if ( value === null ) { + return 'null'; + } if ( options.onlyShowType ) { return typeof value; } // Your average non-object things. Saves from doing the try/catch below for. - if ( typeof value !== "object" ) { + if ( typeof value !== 'object' ) { return EJSON.stringify(value) } try { + // Find objects with circular references since EJSON doesn't support them yet (Issue #4778 + Unaccepted PR) // If the native stringify is going to choke, EJSON.stringify is going to choke too. JSON.stringify(value); } catch (stringifyError) { - if ( stringifyError.name === "TypeError" ) { + if ( stringifyError.name === 'TypeError' ) { return typeof value; } } @@ -177,31 +192,36 @@ var stringForErrorMessage = function (value, options) { return EJSON.stringify(value); }; -var typeofChecks = [ - [String, "string"], - [Number, "number"], - [Boolean, "boolean"], +const typeofChecks = [ + [String, 'string'], + [Number, 'number'], + [Boolean, 'boolean'], + // While we don't allow undefined/function in EJSON, this is good for optional // arguments with OneOf. - [Function, "function"], - [undefined, "undefined"] + [Function, 'function'], + [undefined, 'undefined'], ]; // Return `false` if it matches. Otherwise, return an object with a `message` and a `path` field. -var testSubtree = function (value, pattern) { +const testSubtree = (value, pattern) => { + // Match anything! - if (pattern === Match.Any) + if (pattern === Match.Any) { return false; + } // Basic atomic types. // Do not match boxed objects (e.g. String, Boolean) - for (var i = 0; i < typeofChecks.length; ++i) { + for (let i = 0; i < typeofChecks.length; ++i) { if (pattern === typeofChecks[i][0]) { - if (typeof value === typeofChecks[i][1]) + if (typeof value === typeofChecks[i][1]) { return false; + } + return { - message: "Expected " + typeofChecks[i][1] + ", got " + stringForErrorMessage(value, { onlyShowType: true }), - path: "" + message: `Expected ${typeofChecks[i][1]}, got ${stringForErrorMessage(value, { onlyShowType: true })}`, + path: '', }; } } @@ -210,141 +230,159 @@ var testSubtree = function (value, pattern) { if (value === null) { return false; } + return { - message: "Expected null, got " + stringForErrorMessage(value), - path: "" + message: `Expected null, got ${stringForErrorMessage(value)}`, + path: '', }; } // Strings, numbers, and booleans match literally. Goes well with Match.OneOf. - if (typeof pattern === "string" || typeof pattern === "number" || typeof pattern === "boolean") { - if (value === pattern) + if (typeof pattern === 'string' || typeof pattern === 'number' || typeof pattern === 'boolean') { + if (value === pattern) { return false; + } + return { - message: "Expected " + pattern + ", got " + stringForErrorMessage(value), - path: "" + message: `Expected ${pattern}, got ${stringForErrorMessage(value)}`, + path: '', }; } // Match.Integer is special type encoded with array if (pattern === Match.Integer) { + // There is no consistent and reliable way to check if variable is a 64-bit // integer. One of the popular solutions is to get reminder of division by 1 // but this method fails on really large floats with big precision. // E.g.: 1.348192308491824e+23 % 1 === 0 in V8 // Bitwise operators work consistantly but always cast variable to 32-bit // signed integer according to JavaScript specs. - if (typeof value === "number" && (value | 0) === value) + if (typeof value === 'number' && (value | 0) === value) { return false; + } + return { - message: "Expected Integer, got " + stringForErrorMessage(value), - path: "" + message: `Expected Integer, got ${stringForErrorMessage(value)}`, + path: '', }; } - // "Object" is shorthand for Match.ObjectIncluding({}); - if (pattern === Object) + // 'Object' is shorthand for Match.ObjectIncluding({}); + if (pattern === Object) { pattern = Match.ObjectIncluding({}); + } // Array (checked AFTER Any, which is implemented as an Array). if (pattern instanceof Array) { if (pattern.length !== 1) { return { - message: "Bad pattern: arrays must have one type element" + stringForErrorMessage(pattern), - path: "" - }; - } - if (!Array.isArray(value) && !isArguments(value)) { - return { - message: "Expected array, got " + stringForErrorMessage(value), - path: "" + message: `Bad pattern: arrays must have one type element ${stringForErrorMessage(pattern)}`, + path: '', }; } - for (var i = 0, length = value.length; i < length; i++) { - var result = testSubtree(value[i], pattern[0]); + if (!Array.isArray(value) && !isArguments(value)) { + return { + message: `Expected array, got ${stringForErrorMessage(value)}`, + path: '', + }; + } + + for (let i = 0, length = value.length; i < length; i++) { + const result = testSubtree(value[i], pattern[0]); if (result) { result.path = _prependPath(i, result.path); return result; } } + return false; } // Arbitrary validation checks. The condition can return false or throw a // Match.Error (ie, it can internally use check()) to fail. if (pattern instanceof Where) { - var result; + let result; try { result = pattern.condition(value); } catch (err) { - if (!(err instanceof Match.Error)) + if (!(err instanceof Match.Error)) { throw err; + } + return { message: err.message, path: err.path }; } - if (result) + + if (result) { return false; + } + // XXX this error is terrible return { - message: "Failed Match.Where validation", - path: "" + message: 'Failed Match.Where validation', + path: '', }; } - if (pattern instanceof Maybe) { pattern = Match.OneOf(undefined, null, pattern.pattern); - } - else if (pattern instanceof Optional) { + } else if (pattern instanceof Optional) { pattern = Match.OneOf(undefined, pattern.pattern); } if (pattern instanceof OneOf) { - for (var i = 0; i < pattern.choices.length; ++i) { - var result = testSubtree(value, pattern.choices[i]); + for (let i = 0; i < pattern.choices.length; ++i) { + const result = testSubtree(value, pattern.choices[i]); if (!result) { + // No error? Yay, return. return false; } + // Match errors just mean try another choice. } + // XXX this error is terrible return { - message: "Failed Match.OneOf, Match.Maybe or Match.Optional validation", - path: "" + message: 'Failed Match.OneOf, Match.Maybe or Match.Optional validation', + path: '', }; } // A function that isn't something we special-case is assumed to be a // constructor. if (pattern instanceof Function) { - if (value instanceof pattern) + if (value instanceof pattern) { return false; + } + return { - message: "Expected " + (pattern.name ||"particular constructor"), - path: "" + message: `Expected ${pattern.name || 'particular constructor'}`, + path: '', }; } - var unknownKeysAllowed = false; - var unknownKeyPattern; + let unknownKeysAllowed = false; + let unknownKeyPattern; if (pattern instanceof ObjectIncluding) { unknownKeysAllowed = true; pattern = pattern.pattern; } + if (pattern instanceof ObjectWithValues) { unknownKeysAllowed = true; unknownKeyPattern = [pattern.pattern]; pattern = {}; // no required keys } - if (typeof pattern !== "object") { + if (typeof pattern !== 'object') { return { - message: "Bad pattern: unknown pattern type", - path: "" + message: 'Bad pattern: unknown pattern type', + path: '', }; } @@ -353,25 +391,27 @@ var testSubtree = function (value, pattern) { // the pattern: this really needs to be a plain old {Object}! if (typeof value !== 'object') { return { - message: "Expected object, got " + typeof value, - path: "" - }; - } - if (value === null) { - return { - message: "Expected object, got null", - path: "" - }; - } - if (! isPlainObject(value)) { - return { - message: "Expected plain object", - path: "" + message: `Expected object, got ${typeof value}`, + path: '', }; } - var requiredPatterns = {}; - var optionalPatterns = {}; + if (value === null) { + return { + message: `Expected object, got null`, + path: '', + }; + } + + if (! isPlainObject(value)) { + return { + message: `Expected plain object`, + path: '', + }; + } + + const requiredPatterns = Object.create(null); + const optionalPatterns = Object.create(null); Object.keys(pattern).forEach(key => { const subPattern = pattern[key]; @@ -383,30 +423,33 @@ var testSubtree = function (value, pattern) { } }); - for (var key in Object(value)) { - var subValue = value[key]; + for (let key in Object(value)) { + const subValue = value[key]; if (hasOwn.call(requiredPatterns, key)) { - var result = testSubtree(subValue, requiredPatterns[key]); + const result = testSubtree(subValue, requiredPatterns[key]); if (result) { result.path = _prependPath(key, result.path); return result; } + delete requiredPatterns[key]; } else if (hasOwn.call(optionalPatterns, key)) { - var result = testSubtree(subValue, optionalPatterns[key]); + const result = testSubtree(subValue, optionalPatterns[key]); if (result) { result.path = _prependPath(key, result.path); return result; } + } else { if (!unknownKeysAllowed) { return { - message: "Unknown key", - path: key + message: 'Unknown key', + path: key, }; } + if (unknownKeyPattern) { - var result = testSubtree(subValue, unknownKeyPattern[0]); + const result = testSubtree(subValue, unknownKeyPattern[0]); if (result) { result.path = _prependPath(key, result.path); return result; @@ -415,20 +458,22 @@ var testSubtree = function (value, pattern) { } } - var keys = Object.keys(requiredPatterns); + const keys = Object.keys(requiredPatterns); if (keys.length) { return { - message: "Missing key '" + keys[0] + "'", - path: "" + message: `Missing key '${keys[0]}'`, + path: '', }; } }; class ArgumentChecker { constructor (args, description) { + // Make a SHALLOW copy of the arguments. (We'll be doing identity checks // against its contents.) this.args = [...args]; + // Since the common case will be to check arguments in order, and we splice // out arguments when we check them, make it so we splice out from the end // rather than the beginning. @@ -437,8 +482,10 @@ class ArgumentChecker { } checking(value) { - if (this._checkingOneValue(value)) + if (this._checkingOneValue(value)) { return; + } + // Allow check(arguments, [String]) or check(arguments.slice(1), [String]) // or check([foo, bar], [String]) to count... but only if value wasn't // itself an argument. @@ -448,7 +495,8 @@ class ArgumentChecker { } _checkingOneValue(value) { - for (var i = 0; i < this.args.length; ++i) { + for (let i = 0; i < this.args.length; ++i) { + // Is this value one of the arguments? (This can have a false positive if // the argument is an interned primitive, but it's still a good enough // check.) @@ -464,47 +512,41 @@ class ArgumentChecker { throwUnlessAllArgumentsHaveBeenChecked() { if (this.args.length > 0) - throw new Error("Did not check() all arguments during " + - this.description); + throw new Error(`Did not check() all arguments during ${this.description}`); } } -var _jsKeywords = ["do", "if", "in", "for", "let", "new", "try", "var", "case", - "else", "enum", "eval", "false", "null", "this", "true", "void", "with", - "break", "catch", "class", "const", "super", "throw", "while", "yield", - "delete", "export", "import", "public", "return", "static", "switch", - "typeof", "default", "extends", "finally", "package", "private", "continue", - "debugger", "function", "arguments", "interface", "protected", "implements", - "instanceof"]; +const _jsKeywords = ['do', 'if', 'in', 'for', 'let', 'new', 'try', 'var', 'case', + 'else', 'enum', 'eval', 'false', 'null', 'this', 'true', 'void', 'with', + 'break', 'catch', 'class', 'const', 'super', 'throw', 'while', 'yield', + 'delete', 'export', 'import', 'public', 'return', 'static', 'switch', + 'typeof', 'default', 'extends', 'finally', 'package', 'private', 'continue', + 'debugger', 'function', 'arguments', 'interface', 'protected', 'implements', + 'instanceof']; // Assumes the base of path is already escaped properly // returns key + base -function _prependPath(key, base) { - if ((typeof key) === "number" || key.match(/^[0-9]+$/)) { - key = "[" + key + "]"; +const _prependPath = (key, base) => { + if ((typeof key) === 'number' || key.match(/^[0-9]+$/)) { + key = `[${key}]`; } else if (!key.match(/^[a-z_$][0-9a-z_$]*$/i) || _jsKeywords.indexOf(key) >= 0) { key = JSON.stringify([key]); } - if (base && base[0] !== "[") { - return key + '.' + base; + if (base && base[0] !== '[') { + return `${key}.${base}`; } return key + base; } -function isObject(value) { - return typeof value === "object" && value !== null; -} +const isObject = value => typeof value === 'object' && value !== null; -function baseIsArguments(item) { - return isObject(item) && - Object.prototype.toString.call(item) === '[object Arguments]'; -} +const baseIsArguments = item => + isObject(item) && + Object.prototype.toString.call(item) === '[object Arguments]'; -var isArguments = baseIsArguments(function() { - return arguments; -}()) ? baseIsArguments : function(value) { - return isObject(value) && typeof value.callee === "function"; -}; +const isArguments = baseIsArguments(function() { return arguments; }()) ? + baseIsArguments : + value => isObject(value) && typeof value.callee === 'function'; diff --git a/packages/check/match_test.js b/packages/check/match_test.js index be38ace09c..33f2a72440 100644 --- a/packages/check/match_test.js +++ b/packages/check/match_test.js @@ -1,30 +1,33 @@ -Tinytest.add("check - check", function (test) { - var matches = function (value, pattern) { - var error; +Tinytest.add('check - check', test => { + const matches = (value, pattern) => { + let error; try { check(value, pattern); } catch (e) { error = e; } + test.isFalse(error); test.isTrue(Match.test(value, pattern)); }; - var fails = function (value, pattern) { - var error; + + const fails = (value, pattern) => { + let error; try { check(value, pattern); } catch (e) { error = e; } + test.isTrue(error); test.instanceOf(error, Match.Error); test.isFalse(Match.test(value, pattern)); }; // Atoms. - var pairs = [ - ["foo", String], - ["", String], + const pairs = [ + ['foo', String], + ['', String], [0, Number], [42.59, Number], [NaN, Number], @@ -35,9 +38,9 @@ Tinytest.add("check - check", function (test) { [undefined, undefined], [null, null] ]; - _.each(pairs, function (pair) { + pairs.forEach(pair => { matches(pair[0], Match.Any); - _.each([String, Number, Boolean, undefined, null], function (type) { + [String, Number, Boolean, undefined, null].forEach(type => { if (type === pair[1]) { matches(pair[0], type); matches(pair[0], Match.Optional(type)); @@ -45,11 +48,11 @@ Tinytest.add("check - check", function (test) { matches(pair[0], Match.Maybe(type)); matches(undefined, Match.Maybe(type)); matches(null, Match.Maybe(type)); - matches(pair[0], Match.Where(function () { + matches(pair[0], Match.Where(() => { check(pair[0], type); return true; })); - matches(pair[0], Match.Where(function () { + matches(pair[0], Match.Where(() => { try { check(pair[0], type); return true; @@ -61,11 +64,11 @@ Tinytest.add("check - check", function (test) { fails(pair[0], type); matches(pair[0], Match.OneOf(type, pair[1])); matches(pair[0], Match.OneOf(pair[1], type)); - fails(pair[0], Match.Where(function () { + fails(pair[0], Match.Where(() => { check(pair[0], type); return true; })); - fails(pair[0], Match.Where(function () { + fails(pair[0], Match.Where(() => { try { check(pair[0], type); return true; @@ -74,21 +77,26 @@ Tinytest.add("check - check", function (test) { } })); } - if ( type !== null ) fails(null, Match.Optional(type)); // Optional doesn't allow null, but does match on null type + + if ( type !== null ) { + + // Optional doesn't allow null, but does match on null type + fails(null, Match.Optional(type)); + } fails(pair[0], [type]); fails(pair[0], Object); }); }); fails(true, Match.OneOf(String, Number, undefined, null, [Boolean])); - fails(new String("foo"), String); + fails(new String('foo'), String); fails(new Boolean(true), Boolean); fails(new Number(123), Number); matches([1, 2, 3], [Number]); matches([], [Number]); - fails([1, 2, 3, "4"], [Number]); + fails([1, 2, 3, '4'], [Number]); fails([1, 2, 3, [4]], [Number]); - matches([1, 2, 3, "4"], [Match.OneOf(Number, String)]); + matches([1, 2, 3, '4'], [Match.OneOf(Number, String)]); matches({}, Object); matches({}, {}); @@ -116,7 +124,7 @@ Tinytest.add("check - check", function (test) { matches(undefined, Match.Optional(null)); fails(true, Match.Optional(String)); // different should still fail - matches("String", Match.Optional(String)); // same should pass + matches('String', Match.Optional(String)); // same should pass matches({}, {a: Match.Optional(Number)}); matches({a: 1}, {a: Match.Optional(Number)}); @@ -133,38 +141,40 @@ Tinytest.add("check - check", function (test) { matches(undefined, Match.Maybe(null)); fails(true, Match.Maybe(String)); // different should still fail - matches("String", Match.Maybe(String)); // same should pass + matches('String', Match.Maybe(String)); // same should pass matches({}, {a: Match.Maybe(Number)}); matches({a: 1}, {a: Match.Maybe(Number)}); fails({a: true}, {a: Match.Maybe(Number)}); + // Match.Optional means "or undefined" at the top level but "or absent" in // objects. // Match.Maybe should behave the same as Match.Optional in objects // including handling nulls fails({a: undefined}, {a: Match.Maybe(Number)}); fails({a: null}, {a: Match.Maybe(Number)}); - var F = function () { + const F = function () { this.x = 123; }; + fails(new F, { x: 123 }); matches({}, Match.ObjectWithValues(Number)); matches({x: 1}, Match.ObjectWithValues(Number)); matches({x: 1, y: 2}, Match.ObjectWithValues(Number)); - fails({x: 1, y: "2"}, Match.ObjectWithValues(Number)); + fails({x: 1, y: '2'}, Match.ObjectWithValues(Number)); - matches("asdf", "asdf"); - fails("asdf", "monkey"); + matches('asdf', 'asdf'); + fails('asdf', 'monkey'); matches(123, 123); fails(123, 456); - fails("123", 123); - fails(123, "123"); + fails('123', 123); + fails(123, '123'); matches(true, true); matches(false, false); fails(true, false); - fails(true, "true"); - fails("false", false); + fails(true, 'true'); + fails('false', false); matches(/foo/, RegExp); fails(/foo/, String); @@ -173,18 +183,24 @@ Tinytest.add("check - check", function (test) { matches(EJSON.newBinary(42), Match.Where(EJSON.isBinary)); fails([], Match.Where(EJSON.isBinary)); - matches(42, Match.Where(function (x) { return x % 2 === 0; })); - fails(43, Match.Where(function (x) { return x % 2 === 0; })); + matches(42, Match.Where(x => x % 2 === 0)); + fails(43, Match.Where(x => x % 2 === 0)); matches({ - a: "something", + a: 'something', b: [ {x: 42, k: null}, - {x: 43, k: true, p: ["yay"]} - ] - }, {a: String, b: [Match.ObjectIncluding({ - x: Number, - k: Match.OneOf(null, Boolean)})]}); + {x: 43, k: true, p: ['yay']}, + ], + }, { + a: String, + b: [ + Match.ObjectIncluding({ + x: Number, + k: Match.OneOf(null, Boolean) + }), + ], + }); // Match.Integer @@ -206,8 +222,8 @@ Tinytest.add("check - check", function (test) { // Test non-plain objects. - var parentObj = {foo: "bar"}; - var childObj = Object.assign(Object.create(parentObj), {bar: "foo"}); + const parentObj = {foo: 'bar'}; + const childObj = Object.assign(Object.create(parentObj), {bar: 'foo'}); matches(parentObj, Object); fails(parentObj, {foo: String, bar: String}); fails(parentObj, {bar: String}); @@ -218,20 +234,20 @@ Tinytest.add("check - check", function (test) { fails(childObj, {foo: String}); // Functions - var testFunction = function () {}; + const testFunction = () => {}; matches(testFunction, Function); fails(5, Function); // Circular Reference "Classes" - var TestInstanceChild = function () {}; - var TestInstanceParent = function (child) { + const TestInstanceChild = function () {}; + const TestInstanceParent = function (child) { child._parent = this; this.child = child; }; - var testInstanceChild = new TestInstanceChild() - var testInstanceParent = new TestInstanceParent(testInstanceChild); + const testInstanceChild = new TestInstanceChild() + const testInstanceParent = new TestInstanceParent(testInstanceChild); matches(TestInstanceParent, Function); matches(testInstanceParent, TestInstanceParent); @@ -242,201 +258,199 @@ Tinytest.add("check - check", function (test) { // Circular Reference Objects - var circleFoo = {}; - var circleBar = {}; + const circleFoo = {}; + const circleBar = {}; circleFoo.bar = circleBar; circleBar.foo = circleFoo; fails(circleFoo, null); // Test that "arguments" is treated like an array. - var argumentsMatches = function () { + const argumentsMatches = function () { matches(arguments, [Number]); }; argumentsMatches(); argumentsMatches(1); argumentsMatches(1, 2); - var argumentsFails = function () { + const argumentsFails = function () { fails(arguments, [Number]); }; - argumentsFails("123"); - argumentsFails(1, "23"); + argumentsFails('123'); + argumentsFails(1, '23'); }); -Tinytest.add("check - argument checker", function (test) { - var checksAllArguments = function (f /*arguments*/) { - Match._failIfArgumentsAreNotAllChecked( - f, {}, _.toArray(arguments).slice(1), "test"); - }; - checksAllArguments(function () {}); - checksAllArguments(function (x) {check(x, Match.Any);}, undefined); - checksAllArguments(function (x) {check(x, Match.Any);}, null); - checksAllArguments(function (x) {check(x, Match.Any);}, false); - checksAllArguments(function (x) {check(x, Match.Any);}, true); - checksAllArguments(function (x) {check(x, Match.Any);}, 0); - checksAllArguments(function (a, b, c) { +Tinytest.add('check - argument checker', test => { + const checksAllArguments = (f, ...args) => + Match._failIfArgumentsAreNotAllChecked(f, {}, args, 'test'); + checksAllArguments(() => {}); + checksAllArguments(x => check(x, Match.Any), undefined); + checksAllArguments(x => check(x, Match.Any), null); + checksAllArguments(x => check(x, Match.Any), false); + checksAllArguments(x => check(x, Match.Any), true); + checksAllArguments(x => check(x, Match.Any), 0); + checksAllArguments((a, b, c) => { check(a, String); check(b, Boolean); check(c, Match.Optional(Number)); - }, "foo", true); - checksAllArguments(function () { - check(arguments, [Number]); - }, 1, 2, 4); - checksAllArguments(function(x) { + }, 'foo', true); + checksAllArguments((...args) => check(args, [Number]), 1, 2, 4); + checksAllArguments((x, ...args) => { check(x, Number); - check(_.toArray(arguments).slice(1), [String]); - }, 1, "foo", "bar", "baz"); - // NaN values - checksAllArguments(function (x) { - check(x, Number); - }, NaN); + check(args, [String]); + }, 1, 'foo', 'bar', 'baz'); - var doesntCheckAllArguments = function (f /*arguments*/) { + // NaN values + checksAllArguments(x => check(x, Number), NaN); + + const doesntCheckAllArguments = (f, ...args) => { try { - Match._failIfArgumentsAreNotAllChecked( - f, {}, _.toArray(arguments).slice(1), "test"); - test.fail({message: "expected _failIfArgumentsAreNotAllChecked to throw"}); + Match._failIfArgumentsAreNotAllChecked(f, {}, args, 'test'); + test.fail({message: 'expected _failIfArgumentsAreNotAllChecked to throw'}); } catch (e) { - test.equal(e.message, "Did not check() all arguments during test"); + test.equal(e.message, 'Did not check() all arguments during test'); } }; - doesntCheckAllArguments(function () {}, undefined); - doesntCheckAllArguments(function () {}, null); - doesntCheckAllArguments(function () {}, 1); - doesntCheckAllArguments(function () { - check(_.toArray(arguments).slice(1), [String]); - }, 1, "asdf", "foo"); - doesntCheckAllArguments(function (x, y) { - check(x, Boolean); - }, true, false); + doesntCheckAllArguments(() => {}, undefined); + doesntCheckAllArguments(() => {}, null); + doesntCheckAllArguments(() => {}, 1); + doesntCheckAllArguments((x, ...args) => check(args, [String]), 1, 'asdf', 'foo'); + doesntCheckAllArguments((x, y) => check(x, Boolean), true, false); + // One "true" check doesn't count for all. - doesntCheckAllArguments(function (x, y) { - check(x, Boolean); - }, true, true); + doesntCheckAllArguments((x, y) => check(x, Boolean), true, true); + // For non-primitives, we really do require that each arg gets checked. - doesntCheckAllArguments(function (x, y) { + doesntCheckAllArguments((x, y) => { check(x, [Boolean]); check(x, [Boolean]); }, [true], [true]); - // In an ideal world this test would fail, but we currently can't // differentiate between "two calls to check x, both of which are true" and // "check x and check y, both of which are true" (for any interned primitive // type). - checksAllArguments(function (x, y) { + checksAllArguments((x, y) => { check(x, Boolean); check(x, Boolean); }, true, true); }); -Tinytest.add("check - Match error path", function (test) { - var match = function (value, pattern, expectedPath) { +Tinytest.add('check - Match error path', test => { + const match = (value, pattern, expectedPath) => { try { check(value, pattern); } catch (err) { + // XXX just for FF 3.6, its JSON stringification prefers "\u000a" to "\n" - err.path = err.path.replace(/\\u000a/, "\\n"); - if (err.path != expectedPath) + err.path = err.path.replace(/\\u000a/, '\\n'); + if (err.path != expectedPath) { test.fail({ - type: "match-error-path", + type: 'match-error-path', message: "The path of Match.Error doesn't match.", pattern: JSON.stringify(pattern), value: JSON.stringify(value), path: err.path, - expectedPath: expectedPath + expectedPath, }); + } } }; - match({ foo: [ { bar: 3 }, {bar: "something"} ] }, { foo: [ { bar: Number } ] }, "foo[1].bar"); + match({ foo: [ { bar: 3 }, { bar: 'something' } ] }, { foo: [{ bar: Number }] }, 'foo[1].bar'); + // Complicated case with arrays, $, whitespace and quotes! match([{ $FoO: { "bar baz\n\"'": 3 } }], [{ $FoO: { "bar baz\n\"'": String } }], "[0].$FoO[\"bar baz\\n\\\"'\"]"); + // Numbers only, can be accessed w/o quotes - match({ "1231": 123 }, { "1231": String }, "[1231]"); - match({ "1234abcd": 123 }, { "1234abcd": String }, "[\"1234abcd\"]"); - match({ $set: { people: "nice" } }, { $set: { people: [String] } }, "$set.people"); - match({ _underscore: "should work" }, { _underscore: Number }, "_underscore"); + match({ '1231': 123 }, { '1231': String }, '[1231]'); + match({ '1234abcd': 123 }, { '1234abcd': String }, '[\"1234abcd\"]'); + match({ $set: { people: 'nice' } }, { $set: { people: [String] } }, '$set.people'); + match({ _underscore: 'should work' }, { _underscore: Number }, '_underscore'); + // Nested array looks nice - match([[["something", "here"], []], [["string", 123]]], [[[String]]], "[1][0][1]"); + match([[['something', 'here'], []], [['string', 123]]], [[[String]]], '[1][0][1]'); + // Object nested in arrays should look nice, too! - match([[[{ foo: "something" }, { foo: "here"}], - [{ foo: "asdf" }]], + match([[[{ foo: 'something' }, { foo: 'here'}], + [{ foo: 'asdf' }]], [[{ foo: 123 }]]], - [[[{ foo: String }]]], "[1][0][0].foo"); + [[[{ foo: String }]]], '[1][0][0].foo'); // JS keyword - match({ "return": 0 }, { "return": String }, "[\"return\"]"); + match({ 'return': 0 }, { 'return': String }, '[\"return\"]'); }); -Tinytest.add("check - Match error message", function (test) { - var match = function (value, pattern, expectedMessage) { +Tinytest.add('check - Match error message', test => { + const match = (value, pattern, expectedMessage) => { try { check(value, pattern); } catch (err) { - if (err.message !== "Match error: " + expectedMessage) + if (err.message !== `Match error: ${expectedMessage}`) { test.fail({ - type: "match-error-message", + type: 'match-error-message', message: "The message of Match.Error doesn't match.", pattern: JSON.stringify(pattern), value: JSON.stringify(value), errorMessage: err.message, - expectedErrorMessage: expectedMessage + expectedErrorMessage, }); + } } }; - match(2, String, "Expected string, got number"); - match({key: 0}, Number, "Expected number, got object"); - match(null, Boolean, "Expected boolean, got null"); - match("string", undefined, "Expected undefined, got string"); - match(true, null, "Expected null, got true"); + match(2, String, 'Expected string, got number'); + match({ key: 0 }, Number, 'Expected number, got object'); + match(null, Boolean, 'Expected boolean, got null'); + match('string', undefined, 'Expected undefined, got string'); + match(true, null, 'Expected null, got true'); match({}, Match.ObjectIncluding({ bar: String }), "Missing key 'bar'"); - match(null, Object, "Expected object, got null"); - match(null, Function, "Expected function, got null"); - match("bar", "foo", "Expected foo, got \"bar\""); - match(3.14, Match.Integer, "Expected Integer, got 3.14"); - match(false, [Boolean], "Expected array, got false"); - match([null, null], [String], "Expected string, got null in field [0]"); - match(2, {key: 2}, "Expected object, got number"); - match(null, {key: 2}, "Expected object, got null"); - match(new Date, {key: 2}, "Expected plain object"); + match(null, Object, 'Expected object, got null'); + match(null, Function, 'Expected function, got null'); + match('bar', 'foo', 'Expected foo, got \"bar\"'); + match(3.14, Match.Integer, 'Expected Integer, got 3.14'); + match(false, [Boolean], 'Expected array, got false'); + match([null, null], [String], 'Expected string, got null in field [0]'); + match(2, { key: 2 }, 'Expected object, got number'); + match(null, { key: 2 }, 'Expected object, got null'); + match(new Date, { key: 2 }, 'Expected plain object'); - var TestInstanceChild = function () {}; - var TestInstanceParent = function (child) { + const TestInstanceChild = function () {}; + const TestInstanceParent = function (child) { child._parent = this; this.child = child; }; - var testInstanceChild = new TestInstanceChild() - var testInstanceParent = new TestInstanceParent(testInstanceChild); - match(testInstanceChild, TestInstanceParent, "Expected " + (TestInstanceParent.name || "particular constructor")); + const testInstanceChild = new TestInstanceChild() + const testInstanceParent = new TestInstanceParent(testInstanceChild); + match(testInstanceChild, TestInstanceParent, `Expected ${(TestInstanceParent.name || 'particular constructor')}`); - var circleFoo = {}; - var circleBar = {}; + const circleFoo = {}; + const circleBar = {}; circleFoo.bar = circleBar; circleBar.foo = circleFoo; - match(circleFoo, null, "Expected null, got object"); + match(circleFoo, null, 'Expected null, got object'); }); // Regression test for https://github.com/meteor/meteor/issues/2136 -Meteor.isServer && Tinytest.addAsync("check - non-fiber check works", function (test, onComplete) { - var Fiber = Npm.require('fibers'); +Meteor.isServer && Tinytest.addAsync('check - non-fiber check works', (test, onComplete) => { + const Fiber = Npm.require('fibers'); // We can only call test.isTrue inside normal Meteor Fibery code, so give us a // bindEnvironment way to get back. - var report = Meteor.bindEnvironment(function (success) { + const report = Meteor.bindEnvironment(success => { test.isTrue(success); onComplete(); }); // Get out of a fiber with process.nextTick and ensure that we can still use // check. - process.nextTick(function () { - var success = true; - if (Fiber.current) + process.nextTick(() => { + const success = true; + if (Fiber.current) { success = false; + } + if (success) { try { check(true, Boolean); @@ -444,6 +458,23 @@ Meteor.isServer && Tinytest.addAsync("check - non-fiber check works", function ( success = false; } } + report(success); }); }); + +Tinytest.add( + 'check - Match methods that return class instances can be called as ' + + 'constructors', + test => { + + // Existing code sometimes uses these properties as constructors, so we can't + // switch them to arrow functions or method shorthand. + test.equal(new Match.Optional(), Match.Optional()); + test.equal(new Match.Maybe(), Match.Maybe()); + test.equal(new Match.OneOf([1]), Match.OneOf([1])); // Needs a non-empty array + test.equal(new Match.Where(), Match.Where()); + test.equal(new Match.ObjectIncluding(), Match.ObjectIncluding()); + test.equal(new Match.ObjectWithValues(), Match.ObjectWithValues()); + } +); diff --git a/packages/check/package.js b/packages/check/package.js index cf72ed3ff7..ee260f6f24 100644 --- a/packages/check/package.js +++ b/packages/check/package.js @@ -1,9 +1,9 @@ Package.describe({ - summary: "Check whether a value matches a pattern", - version: '1.3.0' + summary: 'Check whether a value matches a pattern', + version: '1.3.1', }); -Package.onUse(function (api) { +Package.onUse(api => { api.use('ecmascript'); api.use('ejson'); @@ -13,8 +13,8 @@ Package.onUse(function (api) { api.export('Match'); }); -Package.onTest(function (api) { - api.use(['check', 'tinytest', 'underscore', 'ejson', 'ecmascript'], ['client', 'server']); +Package.onTest(api => { + api.use(['check', 'tinytest', 'ejson', 'ecmascript'], ['client', 'server']); api.addFiles('match_test.js', ['client', 'server']); }); From 273f21a0b2df13a2bc8f47c01b13761d53dbf427 Mon Sep 17 00:00:00 2001 From: James Burgess Date: Wed, 7 Mar 2018 17:38:20 +0100 Subject: [PATCH 0642/1355] Automate rebalancing of CircleCI test groups (#9656) --- .circleci/config.yml | 335 ++++++++++++++---------- scripts/test-balancer/.gitignore | 1 + scripts/test-balancer/index.js | 129 +++++++++ scripts/test-balancer/package-lock.json | 27 ++ scripts/test-balancer/package.json | 10 + 5 files changed, 364 insertions(+), 138 deletions(-) create mode 100644 scripts/test-balancer/.gitignore create mode 100644 scripts/test-balancer/index.js create mode 100644 scripts/test-balancer/package-lock.json create mode 100644 scripts/test-balancer/package.json diff --git a/.circleci/config.yml b/.circleci/config.yml index d6289fe2b8..faf15b1d45 100644 --- a/.circleci/config.yml +++ b/.circleci/config.yml @@ -17,10 +17,6 @@ run_env_change: &run_env_change sudo mkdir -p /tmp/core_dumps sudo chmod a+rwx /tmp/core_dumps - # Make a place for JUnit tests to live. - sudo mkdir -p /tmp/results/junit - sudo chmod -R a+rwx /tmp/results/ - # Bake the locale we expect into the image. echo "en_US.UTF-8 UTF-8" | sudo tee /etc/locale.gen sudo locale-gen @@ -93,7 +89,7 @@ build_machine_environment: &build_machine_environment # Skip these tests on every test run. # If needed, for readability this should be a regex wrapped across # multiple lines in quotes. - SELF_TEST_EXCLUDE: "" + SELF_TEST_EXCLUDE: "add debugOnly and prodOnly packages" # These will be evaled before each command. PRE_TEST_COMMANDS: |- @@ -108,6 +104,10 @@ build_machine_environment: &build_machine_environment # this argument for self-tests. SELF_TEST_TOOL_NODE_FLAGS: " " + # Variables for load-balancing + NUM_GROUPS: 11 + RUNNING_AVG_LENGTH: 5 + jobs: Get Ready: <<: *build_machine_environment @@ -123,6 +123,15 @@ jobs: command: (git submodule sync && git submodule update --init --recursive) || (rm -fr .git/config .git/modules && git submodule deinit -f . && git submodule update --init --recursive) - restore_cache: key: meteor-cache + - restore_cache: + keys: + - test-groups-v1-{{ .Branch }} + - test-groups-v1 + - run: + name: Create Test Results Directory + command: | + sudo mkdir -p ./tmp/results/junit + sudo chmod a+rwx ./tmp/results/junit - run: name: Get Ready command: | @@ -153,7 +162,7 @@ jobs: key: meteor-cache <<: *meteor_cache_dirs - Group 0: + Isolated Tests: <<: *build_machine_environment steps: - run: @@ -166,43 +175,36 @@ jobs: name: "Print environment" command: printenv - run: - name: "Running warehouse self-tests" + name: "Running self-test ('package-tests: add debugOnly and prodOnly packages')" + command: | + eval $PRE_TEST_COMMANDS; + ./meteor self-test \ + 'add debugOnly and prodOnly packages' \ + --retries ${METEOR_SELF_TEST_RETRIES} \ + --headless + no_output_timeout: 20m + - run: + name: "Running self-test (Custom Warehouse Tests)" command: | eval $PRE_TEST_COMMANDS; ./meteor self-test \ --retries ${METEOR_SELF_TEST_RETRIES} \ --exclude "${SELF_TEST_EXCLUDE}" \ --headless \ - --junit /tmp/results/junit/0-1.xml \ --with-tag "custom-warehouse" no_output_timeout: 20m - - run: - name: "Running self-test (0): A-Comm" - command: | - eval $PRE_TEST_COMMANDS; - ./meteor self-test \ - --retries ${METEOR_SELF_TEST_RETRIES} \ - --exclude "${SELF_TEST_EXCLUDE}" \ - --headless \ - --junit /tmp/results/junit/0-2.xml \ - --file '^[a-b]|^c[a-n]|^co[a-l]|^comm' \ - --without-tag "custom-warehouse" - no_output_timeout: 20m - run: <<: *run_save_node_bin - - save_cache: - key: meteor-cache - <<: *meteor_cache_dirs - store_test_results: - path: /tmp/results + path: ./tmp/results - store_artifacts: - path: /tmp/results + path: ./tmp/results - store_artifacts: path: /tmp/core_dumps - store_artifacts: path: /tmp/memuse.txt - Group 1: + Test Group 0: <<: *build_machine_environment steps: - run: @@ -215,32 +217,34 @@ jobs: name: "Print environment" command: printenv - run: - name: "Running self-test (1): Comn-Comz" + name: "Running self-test (Test Group 0)" command: | + if [ -f ./tmp/test-groups/0.txt ]; then TEST_GROUP=$(<./tmp/test-groups/0.txt); else TEST_GROUP='^[a-b]|^c[a-n]|^co[a-l]|^comm'; fi + echo $TEST_GROUP; eval $PRE_TEST_COMMANDS; ./meteor self-test \ + "$TEST_GROUP" \ --retries ${METEOR_SELF_TEST_RETRIES} \ --exclude "${SELF_TEST_EXCLUDE}" \ --headless \ - --junit /tmp/results/junit/1.xml \ - --file '^com[n-z]' \ + --junit ./tmp/results/junit/0.xml \ --without-tag "custom-warehouse" no_output_timeout: 20m - run: <<: *run_save_node_bin - - save_cache: - key: meteor-cache - <<: *meteor_cache_dirs - store_test_results: - path: /tmp/results + path: ./tmp/results + - persist_to_workspace: + root: . + paths: ./tmp/results/junit - store_artifacts: - path: /tmp/results + path: ./tmp/results - store_artifacts: path: /tmp/core_dumps - store_artifacts: path: /tmp/memuse.txt - Group 2: + Test Group 1: <<: *build_machine_environment steps: - run: @@ -253,32 +257,34 @@ jobs: name: "Print environment" command: printenv - run: - name: "Running self-test (2): Con-Coz" + name: "Running self-test (Test Group 1)" command: | + if [ -f ./tmp/test-groups/1.txt ]; then TEST_GROUP=$(<./tmp/test-groups/1.txt); elif [ -f ./tmp/test-groups/0.txt ]; then TEST_GROUP=XXXXX; else TEST_GROUP='^com[n-z]'; fi + echo $TEST_GROUP; eval $PRE_TEST_COMMANDS; ./meteor self-test \ + "$TEST_GROUP" \ --retries ${METEOR_SELF_TEST_RETRIES} \ --exclude "${SELF_TEST_EXCLUDE}" \ --headless \ - --junit /tmp/results/junit/2.xml \ - --file '^co[n-z]' \ + --junit ./tmp/results/junit/1.xml \ --without-tag "custom-warehouse" no_output_timeout: 20m - run: <<: *run_save_node_bin - - save_cache: - key: meteor-cache - <<: *meteor_cache_dirs - store_test_results: - path: /tmp/results + path: ./tmp/results + - persist_to_workspace: + root: . + paths: ./tmp/results/junit - store_artifacts: - path: /tmp/results + path: ./tmp/results - store_artifacts: path: /tmp/core_dumps - store_artifacts: path: /tmp/memuse.txt - Group 3: + Test Group 2: <<: *build_machine_environment steps: - run: @@ -291,32 +297,34 @@ jobs: name: "Print environment" command: printenv - run: - name: "Running self-test (3): Cp-He" + name: "Running self-test (Test Group 2)" command: | + if [ -f ./tmp/test-groups/2.txt ]; then TEST_GROUP=$(<./tmp/test-groups/2.txt); elif [ -f ./tmp/test-groups/0.txt ]; then TEST_GROUP=XXXXX; else TEST_GROUP='^co[n-z]'; fi + echo $TEST_GROUP; eval $PRE_TEST_COMMANDS; ./meteor self-test \ + "$TEST_GROUP" \ --retries ${METEOR_SELF_TEST_RETRIES} \ --exclude "${SELF_TEST_EXCLUDE}" \ --headless \ - --junit /tmp/results/junit/3.xml \ - --file '^c[p-z]|^[d-g]|^h[a-e]' \ + --junit ./tmp/results/junit/2.xml \ --without-tag "custom-warehouse" no_output_timeout: 20m - run: <<: *run_save_node_bin - - save_cache: - key: meteor-cache - <<: *meteor_cache_dirs - store_test_results: - path: /tmp/results + path: ./tmp/results + - persist_to_workspace: + root: . + paths: ./tmp/results/junit - store_artifacts: - path: /tmp/results + path: ./tmp/results - store_artifacts: path: /tmp/core_dumps - store_artifacts: path: /tmp/memuse.txt - Group 4: + Test Group 3: <<: *build_machine_environment steps: - run: @@ -329,32 +337,34 @@ jobs: name: "Print environment" command: printenv - run: - name: "Running self-test (4): Hf-Hz" - command: | + name: "Running self-test (Test Group 3)" + command: | + if [ -f ./tmp/test-groups/3.txt ]; then TEST_GROUP=$(<./tmp/test-groups/3.txt); elif [ -f ./tmp/test-groups/0.txt ]; then TEST_GROUP=XXXXX; else TEST_GROUP='^c[p-z]|^[d-g]|^h[a-e]'; fi + echo $TEST_GROUP; eval $PRE_TEST_COMMANDS; ./meteor self-test \ + "$TEST_GROUP" \ --retries ${METEOR_SELF_TEST_RETRIES} \ --exclude "${SELF_TEST_EXCLUDE}" \ --headless \ - --junit /tmp/results/junit/4.xml \ - --file '^h[f-z]' \ + --junit ./tmp/results/junit/3.xml \ --without-tag "custom-warehouse" no_output_timeout: 20m - run: <<: *run_save_node_bin - - save_cache: - key: meteor-cache - <<: *meteor_cache_dirs - store_test_results: - path: /tmp/results + path: ./tmp/results + - persist_to_workspace: + root: . + paths: ./tmp/results/junit - store_artifacts: - path: /tmp/results + path: ./tmp/results - store_artifacts: path: /tmp/core_dumps - store_artifacts: path: /tmp/memuse.txt - Group 5: + Test Group 4: <<: *build_machine_environment steps: - run: @@ -367,32 +377,34 @@ jobs: name: "Print environment" command: printenv - run: - name: "Running self-test (5): I-L" + name: "Running self-test (Test Group 4)" command: | + if [ -f ./tmp/test-groups/4.txt ]; then TEST_GROUP=$(<./tmp/test-groups/4.txt); elif [ -f ./tmp/test-groups/0.txt ]; then TEST_GROUP=XXXXX; else TEST_GROUP='^h[f-z]|^[i-l]'; fi + echo $TEST_GROUP; eval $PRE_TEST_COMMANDS; ./meteor self-test \ + "$TEST_GROUP" \ --retries ${METEOR_SELF_TEST_RETRIES} \ --exclude "${SELF_TEST_EXCLUDE}" \ --headless \ - --junit /tmp/results/junit/5.xml \ - --file '^[i-l]' \ + --junit ./tmp/results/junit/4.xml \ --without-tag "custom-warehouse" no_output_timeout: 20m - run: <<: *run_save_node_bin - - save_cache: - key: meteor-cache - <<: *meteor_cache_dirs - store_test_results: - path: /tmp/results + path: ./tmp/results + - persist_to_workspace: + root: . + paths: ./tmp/results/junit - store_artifacts: - path: /tmp/results + path: ./tmp/results - store_artifacts: path: /tmp/core_dumps - store_artifacts: path: /tmp/memuse.txt - Group 6: + Test Group 5: <<: *build_machine_environment steps: - run: @@ -405,32 +417,34 @@ jobs: name: "Print environment" command: printenv - run: - name: "Running self-test (6): Ma-Mod" + name: "Running self-test (Test Group 5)" command: | + if [ -f ./tmp/test-groups/5.txt ]; then TEST_GROUP=$(<./tmp/test-groups/5.txt); elif [ -f ./tmp/test-groups/0.txt ]; then TEST_GROUP=XXXXX; else TEST_GROUP='^m[a-n]|^mo[a-d]'; fi + echo $TEST_GROUP; eval $PRE_TEST_COMMANDS; ./meteor self-test \ + "$TEST_GROUP" \ --retries ${METEOR_SELF_TEST_RETRIES} \ --exclude "${SELF_TEST_EXCLUDE}" \ --headless \ - --junit /tmp/results/junit/6.xml \ - --file '^m[a-n]|^mo[a-d]' \ + --junit ./tmp/results/junit/5.xml \ --without-tag "custom-warehouse" no_output_timeout: 20m - run: <<: *run_save_node_bin - - save_cache: - key: meteor-cache - <<: *meteor_cache_dirs - store_test_results: - path: /tmp/results + path: ./tmp/results + - persist_to_workspace: + root: . + paths: ./tmp/results/junit - store_artifacts: - path: /tmp/results + path: ./tmp/results - store_artifacts: path: /tmp/core_dumps - store_artifacts: path: /tmp/memuse.txt - - Group 7: + + Test Group 6: <<: *build_machine_environment steps: - run: @@ -443,32 +457,34 @@ jobs: name: "Print environment" command: printenv - run: - name: "Running self-test (7): Moe-O" + name: "Running self-test (Test Group 6)" command: | + if [ -f ./tmp/test-groups/6.txt ]; then TEST_GROUP=$(<./tmp/test-groups/6.txt); elif [ -f ./tmp/test-groups/0.txt ]; then TEST_GROUP=XXXXX; else TEST_GROUP='^mo[e-z]|^m[p-z]|^[n-o]'; fi + echo $TEST_GROUP; eval $PRE_TEST_COMMANDS; ./meteor self-test \ + "$TEST_GROUP" \ --retries ${METEOR_SELF_TEST_RETRIES} \ --exclude "${SELF_TEST_EXCLUDE}" \ --headless \ - --junit /tmp/results/junit/7.xml \ - --file '^mo[e-z]|^m[p-z]|^[n-o]' \ + --junit ./tmp/results/junit/6.xml \ --without-tag "custom-warehouse" no_output_timeout: 20m - run: <<: *run_save_node_bin - - save_cache: - key: meteor-cache - <<: *meteor_cache_dirs - store_test_results: - path: /tmp/results + path: ./tmp/results + - persist_to_workspace: + root: . + paths: ./tmp/results/junit - store_artifacts: - path: /tmp/results + path: ./tmp/results - store_artifacts: path: /tmp/core_dumps - store_artifacts: path: /tmp/memuse.txt - Group 8: + Test Group 7: <<: *build_machine_environment steps: - run: @@ -481,32 +497,34 @@ jobs: name: "Print environment" command: printenv - run: - name: "Running self-test (8): P-Re" + name: "Running self-test (Test Group 7)" command: | + if [ -f ./tmp/test-groups/7.txt ]; then TEST_GROUP=$(<./tmp/test-groups/7.txt); elif [ -f ./tmp/test-groups/0.txt ]; then TEST_GROUP=XXXXX; else TEST_GROUP='^[p-q]|^r[a-e]'; fi + echo $TEST_GROUP; eval $PRE_TEST_COMMANDS; ./meteor self-test \ + "$TEST_GROUP" \ --retries ${METEOR_SELF_TEST_RETRIES} \ --exclude "${SELF_TEST_EXCLUDE}" \ --headless \ - --junit /tmp/results/junit/8.xml \ - --file '^[p-q]|^r[a-e]' \ + --junit ./tmp/results/junit/7.xml \ --without-tag "custom-warehouse" no_output_timeout: 20m - run: <<: *run_save_node_bin - - save_cache: - key: meteor-cache - <<: *meteor_cache_dirs - store_test_results: - path: /tmp/results + path: ./tmp/results + - persist_to_workspace: + root: . + paths: ./tmp/results/junit - store_artifacts: - path: /tmp/results + path: ./tmp/results - store_artifacts: path: /tmp/core_dumps - store_artifacts: path: /tmp/memuse.txt - Group 9: + Test Group 8: <<: *build_machine_environment steps: - run: @@ -519,32 +537,34 @@ jobs: name: "Print environment" command: printenv - run: - name: "Running self-test (9): Rf-Rz" + name: "Running self-test (Test Group 8)" command: | + if [ -f ./tmp/test-groups/8.txt ]; then TEST_GROUP=$(<./tmp/test-groups/8.txt); elif [ -f ./tmp/test-groups/0.txt ]; then TEST_GROUP=XXXXX; else TEST_GROUP='^r[f-z]'; fi + echo $TEST_GROUP; eval $PRE_TEST_COMMANDS; ./meteor self-test \ + "$TEST_GROUP" \ --retries ${METEOR_SELF_TEST_RETRIES} \ --exclude "${SELF_TEST_EXCLUDE}" \ --headless \ - --junit /tmp/results/junit/9.xml \ - --file '^r[f-z]' \ + --junit ./tmp/results/junit/8.xml \ --without-tag "custom-warehouse" no_output_timeout: 20m - run: <<: *run_save_node_bin - - save_cache: - key: meteor-cache - <<: *meteor_cache_dirs - store_test_results: - path: /tmp/results + path: ./tmp/results + - persist_to_workspace: + root: . + paths: ./tmp/results/junit - store_artifacts: - path: /tmp/results + path: ./tmp/results - store_artifacts: path: /tmp/core_dumps - store_artifacts: path: /tmp/memuse.txt - Group 10: + Test Group 9: <<: *build_machine_environment steps: - run: @@ -557,32 +577,34 @@ jobs: name: "Print environment" command: printenv - run: - name: "Running self-test (10): S" + name: "Running self-test (Test Group 9)" command: | + if [ -f ./tmp/test-groups/9.txt ]; then TEST_GROUP=$(<./tmp/test-groups/9.txt); elif [ -f ./tmp/test-groups/0.txt ]; then TEST_GROUP=XXXXX; else TEST_GROUP='^s'; fi + echo $TEST_GROUP; eval $PRE_TEST_COMMANDS; ./meteor self-test \ + "$TEST_GROUP" \ --retries ${METEOR_SELF_TEST_RETRIES} \ --exclude "${SELF_TEST_EXCLUDE}" \ --headless \ - --junit /tmp/results/junit/10.xml \ - --file '^s' \ + --junit ./tmp/results/junit/9.xml \ --without-tag "custom-warehouse" no_output_timeout: 20m - run: <<: *run_save_node_bin - - save_cache: - key: meteor-cache - <<: *meteor_cache_dirs - store_test_results: - path: /tmp/results + path: ./tmp/results + - persist_to_workspace: + root: . + paths: ./tmp/results/junit - store_artifacts: - path: /tmp/results + path: ./tmp/results - store_artifacts: path: /tmp/core_dumps - store_artifacts: path: /tmp/memuse.txt - Group 11: + Test Group 10: <<: *build_machine_environment steps: - run: @@ -595,26 +617,28 @@ jobs: name: "Print environment" command: printenv - run: - name: "Running self-test (11): T-Z" + name: "Running self-test (Test Group 10)" command: | + if [ -f ./tmp/test-groups/10.txt ]; then TEST_GROUP=$(<./tmp/test-groups/10.txt); elif [ -f ./tmp/test-groups/0.txt ]; then TEST_GROUP=XXXXX; else TEST_GROUP='^[t-z]'; fi + echo $TEST_GROUP; eval $PRE_TEST_COMMANDS; ./meteor self-test \ + "$TEST_GROUP" \ --retries ${METEOR_SELF_TEST_RETRIES} \ --exclude "${SELF_TEST_EXCLUDE}" \ --headless \ - --junit /tmp/results/junit/11.xml \ - --file '^[t-z]' \ + --junit ./tmp/results/junit/10.xml \ --without-tag "custom-warehouse" no_output_timeout: 20m - run: <<: *run_save_node_bin - - save_cache: - key: meteor-cache - <<: *meteor_cache_dirs - store_test_results: - path: /tmp/results + path: ./tmp/results + - persist_to_workspace: + root: . + paths: ./tmp/results/junit - store_artifacts: - path: /tmp/results + path: ./tmp/results - store_artifacts: path: /tmp/core_dumps - store_artifacts: @@ -658,45 +682,80 @@ jobs: npm install npm test + Clean Up: + <<: *build_machine_environment + steps: + - attach_workspace: + at: . + - run: + name: Create Test Groups Directory + command: | + sudo mkdir -p ./tmp/test-groups + sudo chmod a+rwx ./tmp/test-groups + - run: + name: Calculate Balanced Test Groups + command: | + npm install --prefix ./scripts/test-balancer + npm start --prefix ./scripts/test-balancer --num-groups ${NUM_GROUPS} --running-avg-length ${RUNNING_AVG_LENGTH} + - save_cache: + key: test-groups-v1-{{ .Branch }}-{{ .BuildNum }} + paths: + - ./tmp/test-groups + when: on_success + workflows: version: 2 Build and Test: jobs: - Docs - Get Ready - - Group 0: + - Isolated Tests: requires: - Get Ready - - Group 1: + - Test Group 0: requires: - Get Ready - - Group 2: + - Test Group 1: requires: - Get Ready - - Group 3: + - Test Group 2: requires: - Get Ready - - Group 4: + - Test Group 3: requires: - Get Ready - - Group 5: + - Test Group 4: requires: - Get Ready - - Group 6: + - Test Group 5: requires: - Get Ready - - Group 7: + - Test Group 6: requires: - Get Ready - - Group 8: + - Test Group 7: requires: - Get Ready - - Group 9: + - Test Group 8: requires: - Get Ready - - Group 10: + - Test Group 9: requires: - Get Ready - - Group 11: + - Test Group 10: requires: - Get Ready + - Clean Up: + requires: + - Isolated Tests + - Test Group 0 + - Test Group 1 + - Test Group 2 + - Test Group 3 + - Test Group 4 + - Test Group 5 + - Test Group 6 + - Test Group 7 + - Test Group 8 + - Test Group 9 + - Test Group 10 diff --git a/scripts/test-balancer/.gitignore b/scripts/test-balancer/.gitignore new file mode 100644 index 0000000000..07e6e472cc --- /dev/null +++ b/scripts/test-balancer/.gitignore @@ -0,0 +1 @@ +/node_modules diff --git a/scripts/test-balancer/index.js b/scripts/test-balancer/index.js new file mode 100644 index 0000000000..632a9432be --- /dev/null +++ b/scripts/test-balancer/index.js @@ -0,0 +1,129 @@ +const fs = require('fs'); +const xml2js = require('xml2js'); + +const parser = new xml2js.Parser(); + +// Grab the command options +const args = process.argv.slice(2); +const numGroups = +args[args.indexOf('--num-groups') + 1]; +const runningAvgLength = +args[args.indexOf('--running-avg-length') + 1]; + +// Load the junit results from the various groups on this build +const currentBuildResults = []; +for (let i = 0; i < numGroups; i++) { + const data = fs.readFileSync(`../../tmp/results/junit/${i}.xml`); + parser.parseString(data, (err, { testsuites: { testsuite } }) => { + (testsuite || []) + .map(testsuite => testsuite.testcase) + .forEach((testcase = []) => + testcase.forEach(({ $: { name, time } }) => { + currentBuildResults.push({ name, time: +time }) + }) + ); + }); +} + +// Try to load previous test balance +let previousBuildResults = []; +try { + previousBuildResults = + JSON.parse(fs.readFileSync(`../../tmp/test-groups/data.json`)); +} catch (err) { + console.log([ + 'No historical data found! Perhaps the test groups cache key format has ', + 'been changed since the last successful build.' + ].join('\n')); +} + +// Add new results and limit the record to the specified number for the running +// average +const allBuildResults = + [currentBuildResults, ...previousBuildResults].slice(0, runningAvgLength); + +let averageResults = []; + +// We assume that all the tests that were run this time will be the ones run +// next time, so we only calculate the averages for those. This is will ignore +// any tests that were not run most recently but which were run in previous +// builds +currentBuildResults.forEach(({ name }) => { + const times = []; + + // Check each build result to see if the test was run + allBuildResults.forEach(buildResults => { + const { time } = buildResults.find(test => test.name === name) || {}; + + // It's possible this particular test wasn't run in this build + if (time !== undefined) { + times.push(!isNaN(time) ? time : 0); + } + }) + + const averageTime = + Math.floor(times.reduce((p, x) => p + x, 0) / times.length * 1000) / 1000; + + averageResults.push({ name, time: averageTime }); +}); + +// This is a naïve but simple allocation which just take the largest remaining +// test and puts it in the group with the lowest total +const groupTestNames = Array(numGroups); +const totals = Array(numGroups).fill(0); +const getMin = () => + totals.reduce((min, total, i) => total < totals[min] ? i : min, 0); + +averageResults.sort((a, b) => b.time - a.time); + +averageResults.forEach(({ name, time }) => { + const min = getMin(); + + groupTestNames[min] + ? groupTestNames[min].push(name) + : groupTestNames[min] = [name]; + + totals[min] += time; +}); + +// Create the (long) regular expressions for each group +groupTestNames.forEach((names, i) => { + const escapedNames = names.map( + name => name.replace(/['"-\/\\^$*+?.()|[\]{}]/g, '\\$&') + ); + + let testMatcher = `^${escapedNames.join('$|^')}$`; + + // Put any new tests on the first group - in case the number of groups happens + // to reduce we can still catch these tests + if (i === 0) { + + // Create the (even longer) regular expression to catch any other tests that + // might get added to the suite or which may have been turned off for the + // most recent build + const otherTestsMatcher = groupTestNames.map(names => { + const escapedNames = names.map( + name => name.replace(/['"-\/\\^$*+?.()|[\]{}]/g, '\\$&') + ); + + return `^${escapedNames.join('$|^')}$`; + }).join('|'); + + + testMatcher += `|^(?!.*(${otherTestsMatcher})).*$`; + } + + fs.writeFileSync(`../../tmp/test-groups/${i}.txt`, testMatcher); + console.log([ + `Group ${i} Tests (${names.length} tests, ~${Math.round(totals[i])}s):`, + ...names, + ' ' + ].join('\n')); +}); + +console.log(`Total Tests Balanced: ${averageResults.length}`) + +// Write the results so we can use them for calculating averages in the next +// build +fs.writeFileSync( + '../../tmp/test-groups/data.json', + JSON.stringify(allBuildResults) +); diff --git a/scripts/test-balancer/package-lock.json b/scripts/test-balancer/package-lock.json new file mode 100644 index 0000000000..675392c218 --- /dev/null +++ b/scripts/test-balancer/package-lock.json @@ -0,0 +1,27 @@ +{ + "name": "test-balancer", + "version": "0.0.1", + "lockfileVersion": 1, + "requires": true, + "dependencies": { + "sax": { + "version": "1.2.4", + "resolved": "https://registry.npmjs.org/sax/-/sax-1.2.4.tgz", + "integrity": "sha512-NqVDv9TpANUjFm0N8uM5GxL36UgKi9/atZw+x7YFnQ8ckwFGKrl4xX4yWtrey3UJm5nP1kUbnYgLopqWNSRhWw==" + }, + "xml2js": { + "version": "0.4.19", + "resolved": "https://registry.npmjs.org/xml2js/-/xml2js-0.4.19.tgz", + "integrity": "sha512-esZnJZJOiJR9wWKMyuvSE1y6Dq5LCuJanqhxslH2bxM6duahNZ+HMpCLhBQGZkbX6xRf8x1Y2eJlgt2q3qo49Q==", + "requires": { + "sax": "1.2.4", + "xmlbuilder": "9.0.4" + } + }, + "xmlbuilder": { + "version": "9.0.4", + "resolved": "https://registry.npmjs.org/xmlbuilder/-/xmlbuilder-9.0.4.tgz", + "integrity": "sha1-UZy0ymhtAFqEINNJbz8MruzKWA8=" + } + } +} diff --git a/scripts/test-balancer/package.json b/scripts/test-balancer/package.json new file mode 100644 index 0000000000..adc0fecece --- /dev/null +++ b/scripts/test-balancer/package.json @@ -0,0 +1,10 @@ +{ + "name": "test-balancer", + "version": "0.0.1", + "scripts": { + "start": "node index.js" + }, + "dependencies": { + "xml2js": "^0.4.19" + } +} From ccc6294018f376faa7a57259f21da93a63e3f3da Mon Sep 17 00:00:00 2001 From: Seba Kerckhof Date: Wed, 7 Mar 2018 17:46:56 +0100 Subject: [PATCH 0643/1355] Modernize route-policy (#9667) --- packages/routepolicy/main.js | 2 + packages/routepolicy/package.js | 11 +- packages/routepolicy/routepolicy.js | 163 +++++++++++----------- packages/routepolicy/routepolicy_tests.js | 11 +- 4 files changed, 94 insertions(+), 93 deletions(-) create mode 100644 packages/routepolicy/main.js diff --git a/packages/routepolicy/main.js b/packages/routepolicy/main.js new file mode 100644 index 0000000000..464be5d0da --- /dev/null +++ b/packages/routepolicy/main.js @@ -0,0 +1,2 @@ +import { default as RoutePolicyConstructor } from './routepolicy'; +export const RoutePolicy = new RoutePolicyConstructor(); diff --git a/packages/routepolicy/package.js b/packages/routepolicy/package.js index b443732575..168022b981 100644 --- a/packages/routepolicy/package.js +++ b/packages/routepolicy/package.js @@ -1,19 +1,18 @@ Package.describe({ summary: "route policy declarations", - version: '1.0.12' + version: '1.0.13' }); Package.onUse(function (api) { - api.use('underscore', 'server'); + api.use(['underscore', 'ecmascript'], 'server'); // Resolve circular dependency with webapp. We can only use WebApp via // Package.webapp and only after initial load. api.use('webapp', 'server', {unordered: true}); api.export('RoutePolicy', 'server'); - api.export('RoutePolicyTest', 'server', {testOnly: true}); - api.addFiles('routepolicy.js', 'server'); + api.mainModule('main.js', 'server'); }); Package.onTest(function (api) { - api.use(['routepolicy', 'tinytest']); - api.addFiles(['routepolicy_tests.js'], 'server'); + api.use(['routepolicy', 'tinytest', 'ecmascript']); + api.mainModule('routepolicy_tests.js', 'server'); }); diff --git a/packages/routepolicy/routepolicy.js b/packages/routepolicy/routepolicy.js index 81e47c64c0..38599ef55b 100644 --- a/packages/routepolicy/routepolicy.js +++ b/packages/routepolicy/routepolicy.js @@ -19,110 +19,107 @@ // for them because of the FALLBACK section), but static-online routes // don't need to be checked for conflict with static resources. -// The route policy is a singleton in a running application, but we -// can't unit test the real singleton because messing with the real -// routes would break tinytest... so allow policy instances to be -// constructed for testing. -RoutePolicyTest = {}; +export default class RoutePolicy { + constructor() { + // maps prefix to a type + this.urlPrefixTypes = {}; + } -var RoutePolicyConstructor = RoutePolicyTest.Constructor = function () { - var self = this; - self.urlPrefixTypes = {}; -}; + urlPrefixMatches(urlPrefix, url) { + return url.startsWith(urlPrefix); + } -_.extend(RoutePolicyConstructor.prototype, { - - urlPrefixMatches: function (urlPrefix, url) { - return url.substr(0, urlPrefix.length) === urlPrefix; - }, - - checkType: function (type) { - if (! _.contains(['network', 'static-online'], type)) + checkType(type) { + if (!['network', 'static-online'].includes(type)) { return 'the route type must be "network" or "static-online"'; + } return null; - }, + } - checkUrlPrefix: function (urlPrefix, type) { - var self = this; - - if (urlPrefix.charAt(0) !== '/') + checkUrlPrefix(urlPrefix, type) { + if (!urlPrefix.startsWith('/')) { return 'a route URL prefix must begin with a slash'; + } - if (urlPrefix === '/') + if (urlPrefix === '/') { return 'a route URL prefix cannot be /'; + } - var existingType = self.urlPrefixTypes[urlPrefix]; - if (existingType && existingType !== type) - return 'the route URL prefix ' + urlPrefix + ' has already been declared to be of type ' + existingType; + const existingType = this.urlPrefixTypes[urlPrefix]; + if (existingType && existingType !== type) { + return `the route URL prefix ${urlPrefix} has already been declared ` + + `to be of type ${existingType}`; + } return null; - }, + } - checkForConflictWithStatic: function (urlPrefix, type, _testManifest) { - var self = this; - if (type === 'static-online') + checkForConflictWithStatic(urlPrefix, type, _testManifest) { + if (type === 'static-online') { return null; - if (!Package.webapp || !Package.webapp.WebApp - || !Package.webapp.WebApp.clientPrograms - || !Package.webapp.WebApp.clientPrograms[Package.webapp.WebApp.defaultArch].manifest) { + } + + if (!Package.webapp || + !Package.webapp.WebApp || + !Package.webapp.WebApp.clientPrograms || + !Package.webapp.WebApp.clientPrograms[ + Package.webapp.WebApp.defaultArch].manifest) { // Hack: If we don't have a manifest, deal with it // gracefully. This lets us load livedata into a nodejs // environment that doesn't have a HTTP server (eg, a // command-line tool). return null; } - var manifest = _testManifest || - Package.webapp.WebApp.clientPrograms[Package.webapp.WebApp.defaultArch].manifest; - var conflict = _.find(manifest, function (resource) { - return (resource.type === 'static' && - resource.where === 'client' && - self.urlPrefixMatches(urlPrefix, resource.url)); - }); - if (conflict) - return ('static resource ' + conflict.url + ' conflicts with ' + - type + ' route ' + urlPrefix); - else - return null; - }, - declare: function (urlPrefix, type) { - var self = this; - var problem = self.checkType(type) || - self.checkUrlPrefix(urlPrefix, type) || - self.checkForConflictWithStatic(urlPrefix, type); - if (problem) - throw new Error(problem); - // TODO overlapping prefixes, e.g. /foo/ and /foo/bar/ - self.urlPrefixTypes[urlPrefix] = type; - }, + const WebApp = Package.webapp.WebApp; + const manifest = + _testManifest || WebApp.clientPrograms[WebApp.defaultArch].manifest; + const conflict = manifest.find(resource => ( + resource.type === 'static' && + resource.where === 'client' && + this.urlPrefixMatches(urlPrefix, resource.url) + )); - isValidUrl: function (url) { - return url.charAt(0) === '/'; - }, - - classify: function (url) { - var self = this; - if (url.charAt(0) !== '/') - throw new Error('url must be a relative URL: ' + url); - var prefix = _.find(_.keys(self.urlPrefixTypes), function (_prefix) { - return self.urlPrefixMatches(_prefix, url); - }); - if (prefix) - return self.urlPrefixTypes[prefix]; - else - return null; - }, - - urlPrefixesFor: function (type) { - var self = this; - var prefixes = []; - _.each(self.urlPrefixTypes, function (_type, _prefix) { - if (_type === type) - prefixes.push(_prefix); - }); - return prefixes.sort(); + if (conflict) { + return `static resource ${conflict.url} conflicts with ${type} ` + + `route ${urlPrefix}`; + } + return null; } -}); -RoutePolicy = new RoutePolicyConstructor(); + declare(urlPrefix, type) { + const problem = + this.checkType(type) || + this.checkUrlPrefix(urlPrefix, type) || + this.checkForConflictWithStatic(urlPrefix, type); + if (problem) { + throw new Error(problem); + } + // TODO overlapping prefixes, e.g. /foo/ and /foo/bar/ + this.urlPrefixTypes[urlPrefix] = type; + } + + isValidUrl(url) { + return url.startsWith('/'); + } + + classify(url) { + if (!this.isValidUrl(url)) { + throw new Error(`url must be a relative URL: ${url}`); + } + + const prefix = Object.keys(this.urlPrefixTypes).find(prefix => + this.urlPrefixMatches(prefix, url) + ); + + return prefix ? this.urlPrefixTypes[prefix] : null; + } + + urlPrefixesFor(type) { + return Object.entries(this.urlPrefixTypes) + .filter(([_prefix, _type]) => _type === type) + .map(([_prefix]) => _prefix) + .sort(); + } +} diff --git a/packages/routepolicy/routepolicy_tests.js b/packages/routepolicy/routepolicy_tests.js index 2c8ccc892e..d18a0960bc 100644 --- a/packages/routepolicy/routepolicy_tests.js +++ b/packages/routepolicy/routepolicy_tests.js @@ -1,5 +1,8 @@ +import RoutePolicy from 'meteor/routepolicy/routepolicy'; +import { Tinytest } from "meteor/tinytest"; + Tinytest.add("routepolicy - declare", function (test) { - var policy = new RoutePolicyTest.Constructor(); + const policy = new RoutePolicy(); policy.declare('/sockjs/', 'network'); policy.declare('/bigphoto.jpg', 'static-online'); @@ -23,7 +26,7 @@ Tinytest.add("routepolicy - declare", function (test) { }); Tinytest.add("routepolicy - static conflicts", function (test) { - var manifest = [ + const manifest = [ { "path": "static/sockjs/socks-are-comfy.jpg", "type": "static", @@ -37,7 +40,7 @@ Tinytest.add("routepolicy - static conflicts", function (test) { "url": "/bigphoto.jpg" } ]; - var policy = new RoutePolicyTest.Constructor(); + const policy = new RoutePolicy(); test.equal( policy.checkForConflictWithStatic('/sockjs/', 'network', manifest), @@ -51,7 +54,7 @@ Tinytest.add("routepolicy - static conflicts", function (test) { }); Tinytest.add("routepolicy - checkUrlPrefix", function (test) { - var policy = new RoutePolicyTest.Constructor(); + const policy = new RoutePolicy(); policy.declare('/sockjs/', 'network'); test.equal( From 4b7aabe321886e7311c595481c77f350e6c237b1 Mon Sep 17 00:00:00 2001 From: Hugh Willson Date: Wed, 7 Mar 2018 11:48:51 -0500 Subject: [PATCH 0644/1355] Update stylus deprecation notice to use proper last version (#9702) --- packages/deprecated/stylus/README.md | 2 +- packages/deprecated/stylus/deprecation_notice.js | 2 +- packages/deprecated/stylus/package.js | 2 +- 3 files changed, 3 insertions(+), 3 deletions(-) diff --git a/packages/deprecated/stylus/README.md b/packages/deprecated/stylus/README.md index 57cd794fbf..4d5893cbcd 100644 --- a/packages/deprecated/stylus/README.md +++ b/packages/deprecated/stylus/README.md @@ -4,7 +4,7 @@ **DEPRECATED:** This package is no longer supported/maintained as part of the Meteor project. To continue using the last supported version of this package, -pin your package version to 2.513.14 (`meteor add stylus@=2.513.14`). +pin your package version to 2.513.13 (`meteor add stylus@=2.513.13`). [Stylus](http://learnboost.github.com/stylus/) is a CSS pre-processor with a simple syntax and expressive dynamic behavior. It allows for more compact diff --git a/packages/deprecated/stylus/deprecation_notice.js b/packages/deprecated/stylus/deprecation_notice.js index 5bac290ddf..59e32f8c49 100644 --- a/packages/deprecated/stylus/deprecation_notice.js +++ b/packages/deprecated/stylus/deprecation_notice.js @@ -3,5 +3,5 @@ console.warn([ "", "To continue using the last supported version", "of this package, pin your package version to", - "2.513.14 (`meteor add stylus@=2.513.14`).", + "2.513.13 (`meteor add stylus@=2.513.13`).", ].join("\n")); diff --git a/packages/deprecated/stylus/package.js b/packages/deprecated/stylus/package.js index b353bae733..2a7197eafb 100644 --- a/packages/deprecated/stylus/package.js +++ b/packages/deprecated/stylus/package.js @@ -1,6 +1,6 @@ Package.describe({ summary: 'Expressive, dynamic, robust CSS', - version: "2.513.14" + version: "2.513.15" }); Package.registerBuildPlugin({ From aee0c15b06c3aca261260408e42133539c8a651d Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Timo=20Horstsch=C3=A4fer?= Date: Wed, 7 Mar 2018 17:53:52 +0100 Subject: [PATCH 0645/1355] Preserve error.stack in method callback (#9707) --- packages/ddp-client/common/livedata_connection.js | 6 +++++- packages/ddp-client/package.js | 2 +- 2 files changed, 6 insertions(+), 2 deletions(-) diff --git a/packages/ddp-client/common/livedata_connection.js b/packages/ddp-client/common/livedata_connection.js index 4793264aa0..05933f8536 100644 --- a/packages/ddp-client/common/livedata_connection.js +++ b/packages/ddp-client/common/livedata_connection.js @@ -731,7 +731,11 @@ export class Connection { // to the console. callback = err => { err && - Meteor._debug("Error invoking Method '" + name + "':", err.message); + Meteor._debug( + "Error invoking Method '" + name + "':", + err, + err.stack + ); }; } else { // On the server, make the function synchronous. Throw on diff --git a/packages/ddp-client/package.js b/packages/ddp-client/package.js index 233b3ff723..7c2ebf8a8f 100644 --- a/packages/ddp-client/package.js +++ b/packages/ddp-client/package.js @@ -1,6 +1,6 @@ Package.describe({ summary: "Meteor's latency-compensated distributed data client", - version: '2.3.1', + version: '2.3.2', documentation: null }); From e5a4306b633a1b82eb1559ca1d91f62753abcd67 Mon Sep 17 00:00:00 2001 From: David Glasser Date: Wed, 7 Mar 2018 09:04:54 -0800 Subject: [PATCH 0646/1355] webapp: allow overriding httpServer.listen (#9720) --- packages/webapp/webapp_server.js | 9 +++++++-- 1 file changed, 7 insertions(+), 2 deletions(-) diff --git a/packages/webapp/webapp_server.js b/packages/webapp/webapp_server.js index 9119a77d69..ae58b1d60f 100644 --- a/packages/webapp/webapp_server.js +++ b/packages/webapp/webapp_server.js @@ -868,7 +868,12 @@ function runWebAppServer() { onListeningCallbacks.push(f); else f(); - } + }, + // This can be overridden by users who want to modify how listening works + // (eg, to run a proxy like Apollo Engine Proxy in front of the server). + startListening: function (httpServer, listenOptions, cb) { + httpServer.listen(listenOptions, cb); + }, }); // Let the rest of the packages (and Meteor.startup hooks) insert connect @@ -878,7 +883,7 @@ function runWebAppServer() { WebAppInternals.generateBoilerplate(); const startHttpServer = listenOptions => { - httpServer.listen(listenOptions, Meteor.bindEnvironment(() => { + WebApp.startListening(httpServer, listenOptions, Meteor.bindEnvironment(() => { if (process.env.METEOR_PRINT_ON_LISTEN) { console.log("LISTENING"); } From 3ee4b61b1dde15e6f8129821caf697e62df4ffee Mon Sep 17 00:00:00 2001 From: Ben Newman Date: Wed, 7 Mar 2018 14:09:29 -0500 Subject: [PATCH 0647/1355] Bump package versions for 1.6.2-beta.12 release. --- packages/babel-compiler/package.js | 2 +- packages/boilerplate-generator-tests/package.js | 2 +- packages/boilerplate-generator/package.js | 2 +- packages/dynamic-import/package.js | 2 +- packages/ecmascript-runtime-client/package.js | 2 +- packages/ecmascript-runtime-server/package.js | 2 +- packages/ecmascript-runtime/package.js | 2 +- packages/ecmascript/package.js | 2 +- packages/es5-shim/package.js | 2 +- packages/jquery/package.js | 2 +- packages/meteor-base/package.js | 2 +- packages/meteor-tool/package.js | 2 +- packages/meteor/package.js | 2 +- packages/modern-browsers/package.js | 2 +- packages/promise/package.js | 2 +- packages/socket-stream-client/package.js | 2 +- packages/tracker/package.js | 2 +- packages/webapp/package.js | 2 +- scripts/admin/meteor-release-experimental.json | 2 +- 19 files changed, 19 insertions(+), 19 deletions(-) diff --git a/packages/babel-compiler/package.js b/packages/babel-compiler/package.js index b57f366132..2bcc65d3bf 100644 --- a/packages/babel-compiler/package.js +++ b/packages/babel-compiler/package.js @@ -6,7 +6,7 @@ Package.describe({ // isn't possible because you can't publish a non-recommended // release with package versions that don't have a pre-release // identifier at the end (eg, -dev) - version: '7.1.0-beta162.11' + version: '7.1.0-beta162.12' }); Npm.depends({ diff --git a/packages/boilerplate-generator-tests/package.js b/packages/boilerplate-generator-tests/package.js index dfffad504c..ab58898402 100644 --- a/packages/boilerplate-generator-tests/package.js +++ b/packages/boilerplate-generator-tests/package.js @@ -2,7 +2,7 @@ Package.describe({ // These tests are in a separate package so that we can Npm.depend on // parse5, a html parsing library. summary: "Tests for the boilerplate-generator package", - version: '1.5.0-beta162.11', + version: '1.5.0-beta162.12', documentation: null }); diff --git a/packages/boilerplate-generator/package.js b/packages/boilerplate-generator/package.js index 2fd346be78..e367782291 100644 --- a/packages/boilerplate-generator/package.js +++ b/packages/boilerplate-generator/package.js @@ -1,6 +1,6 @@ Package.describe({ summary: "Generates the boilerplate html from program's manifest", - version: '1.5.0-beta162.11' + version: '1.5.0-beta162.12' }); Npm.depends({ diff --git a/packages/dynamic-import/package.js b/packages/dynamic-import/package.js index 80a6c1ebdb..d987d367c5 100644 --- a/packages/dynamic-import/package.js +++ b/packages/dynamic-import/package.js @@ -1,6 +1,6 @@ Package.describe({ name: "dynamic-import", - version: "0.4.0-beta162.11", + version: "0.4.0-beta162.12", summary: "Runtime support for Meteor 1.5 dynamic import(...) syntax", documentation: "README.md" }); diff --git a/packages/ecmascript-runtime-client/package.js b/packages/ecmascript-runtime-client/package.js index 56c737b07c..256a332ed9 100644 --- a/packages/ecmascript-runtime-client/package.js +++ b/packages/ecmascript-runtime-client/package.js @@ -1,6 +1,6 @@ Package.describe({ name: "ecmascript-runtime-client", - version: "0.7.0-beta162.11", + version: "0.7.0-beta162.12", summary: "Polyfills for new ECMAScript 2015 APIs like Map and Set", git: "https://github.com/meteor/meteor/tree/devel/packages/ecmascript-runtime-client", documentation: "README.md" diff --git a/packages/ecmascript-runtime-server/package.js b/packages/ecmascript-runtime-server/package.js index 8929dcad96..29fad253d6 100644 --- a/packages/ecmascript-runtime-server/package.js +++ b/packages/ecmascript-runtime-server/package.js @@ -1,6 +1,6 @@ Package.describe({ name: "ecmascript-runtime-server", - version: "0.7.0-beta162.11", + version: "0.7.0-beta162.12", summary: "Polyfills for new ECMAScript 2015 APIs like Map and Set", git: "https://github.com/meteor/meteor/tree/devel/packages/ecmascript-runtime-client", documentation: "README.md" diff --git a/packages/ecmascript-runtime/package.js b/packages/ecmascript-runtime/package.js index 2aae873ee3..2965a0e154 100644 --- a/packages/ecmascript-runtime/package.js +++ b/packages/ecmascript-runtime/package.js @@ -1,6 +1,6 @@ Package.describe({ name: "ecmascript-runtime", - version: "0.7.0-beta162.11", + version: "0.7.0-beta162.12", summary: "Polyfills for new ECMAScript 2015 APIs like Map and Set", git: "https://github.com/meteor/ecmascript-runtime", documentation: "README.md" diff --git a/packages/ecmascript/package.js b/packages/ecmascript/package.js index 5d20dc260b..347368c6f9 100644 --- a/packages/ecmascript/package.js +++ b/packages/ecmascript/package.js @@ -1,6 +1,6 @@ Package.describe({ name: 'ecmascript', - version: '0.11.0-beta162.11', + version: '0.11.0-beta162.12', summary: 'Compiler plugin that supports ES2015+ in all .js files', documentation: 'README.md' }); diff --git a/packages/es5-shim/package.js b/packages/es5-shim/package.js index 913359d24c..e87b144b75 100644 --- a/packages/es5-shim/package.js +++ b/packages/es5-shim/package.js @@ -1,6 +1,6 @@ Package.describe({ name: "es5-shim", - version: "4.8.0-beta162.11", + version: "4.8.0-beta162.12", summary: "Shims and polyfills to improve ECMAScript 5 support", documentation: "README.md" }); diff --git a/packages/jquery/package.js b/packages/jquery/package.js index 21150c57b8..9b78d93ea1 100644 --- a/packages/jquery/package.js +++ b/packages/jquery/package.js @@ -1,7 +1,7 @@ Package.describe({ summary: "Manipulate the DOM using CSS selectors", // This package currently uses jQuery 1.12.1 (due to #9605). - version: '1.12.1-beta162.11' + version: '1.12.1-beta162.12' }); Package.onUse(function (api) { diff --git a/packages/meteor-base/package.js b/packages/meteor-base/package.js index a8b550e634..4ecb830a54 100644 --- a/packages/meteor-base/package.js +++ b/packages/meteor-base/package.js @@ -1,6 +1,6 @@ Package.describe({ name: 'meteor-base', - version: '1.4.0', + version: '1.4.0-beta162.12', // Brief, one-line summary of the package. summary: 'Packages that every Meteor app needs', // By default, Meteor will default to using README.md for documentation. diff --git a/packages/meteor-tool/package.js b/packages/meteor-tool/package.js index 2455306ded..0d093ff2e2 100644 --- a/packages/meteor-tool/package.js +++ b/packages/meteor-tool/package.js @@ -1,6 +1,6 @@ Package.describe({ summary: "The Meteor command-line tool", - version: '1.6.2-beta.11' + version: '1.6.2-beta.12' }); Package.includeTool(); diff --git a/packages/meteor/package.js b/packages/meteor/package.js index 12737f6cb3..121fcb208e 100644 --- a/packages/meteor/package.js +++ b/packages/meteor/package.js @@ -2,7 +2,7 @@ Package.describe({ summary: "Core Meteor environment", - version: '1.9.0-beta162.11' + version: '1.9.0-beta162.12' }); Package.registerBuildPlugin({ diff --git a/packages/modern-browsers/package.js b/packages/modern-browsers/package.js index 43f45b3116..c40729b103 100644 --- a/packages/modern-browsers/package.js +++ b/packages/modern-browsers/package.js @@ -1,6 +1,6 @@ Package.describe({ name: "modern-browsers", - version: "0.1.0-beta162.11", + version: "0.1.0-beta162.12", summary: "API for defining the boundary between modern and legacy " + "JavaScript clients", documentation: "README.md" diff --git a/packages/promise/package.js b/packages/promise/package.js index 94960ad0d4..0403a403c0 100644 --- a/packages/promise/package.js +++ b/packages/promise/package.js @@ -1,6 +1,6 @@ Package.describe({ name: "promise", - version: "0.11.0-beta162.11", + version: "0.11.0-beta162.12", summary: "ECMAScript 2015 Promise polyfill with Fiber support", git: "https://github.com/meteor/promise", documentation: "README.md" diff --git a/packages/socket-stream-client/package.js b/packages/socket-stream-client/package.js index 5c771333d6..0c79978970 100644 --- a/packages/socket-stream-client/package.js +++ b/packages/socket-stream-client/package.js @@ -1,6 +1,6 @@ Package.describe({ name: "socket-stream-client", - version: "0.2.0-beta162.11", + version: "0.2.0-beta162.12", summary: "Provides the ClientStream abstraction used by ddp-client", documentation: "README.md" }); diff --git a/packages/tracker/package.js b/packages/tracker/package.js index bdfba6c951..a5871e20f6 100644 --- a/packages/tracker/package.js +++ b/packages/tracker/package.js @@ -1,6 +1,6 @@ Package.describe({ summary: "Dependency tracker to allow reactive callbacks", - version: "1.2.0-beta162.11" + version: "1.2.0-beta162.12" }); Package.onUse(function (api) { diff --git a/packages/webapp/package.js b/packages/webapp/package.js index b55d3cb719..deb7f61701 100644 --- a/packages/webapp/package.js +++ b/packages/webapp/package.js @@ -1,6 +1,6 @@ Package.describe({ summary: "Serves a Meteor app over HTTP", - version: '1.6.0-beta162.11' + version: '1.6.0-beta162.12' }); Npm.depends({"basic-auth-connect": "1.0.0", diff --git a/scripts/admin/meteor-release-experimental.json b/scripts/admin/meteor-release-experimental.json index 22cee4c5dd..e371d5f0ba 100644 --- a/scripts/admin/meteor-release-experimental.json +++ b/scripts/admin/meteor-release-experimental.json @@ -1,6 +1,6 @@ { "track": "METEOR", - "version": "1.6.2-beta.11", + "version": "1.6.2-beta.12", "recommended": false, "official": false, "description": "Meteor" From 46257bad264bf089e35e0fe35494b51fe5849c7b Mon Sep 17 00:00:00 2001 From: Ben Newman Date: Fri, 9 Mar 2018 13:27:40 -0500 Subject: [PATCH 0648/1355] Update Roadmap.md to say more about Meteor 1.6.2. --- Roadmap.md | 66 ++++++++++++++++++++++++++++++++++-------------------- 1 file changed, 42 insertions(+), 24 deletions(-) diff --git a/Roadmap.md b/Roadmap.md index 57ae094bf3..9ce479283b 100644 --- a/Roadmap.md +++ b/Roadmap.md @@ -2,7 +2,7 @@ # Meteor Roadmap -**Up to date as of September 8, 2017** +**Up to date as of March 9, 2018** This document describes the high level features the Meteor project maintainers have decided to prioritize in the near- to medium-term future. A large fraction of the maintainers’ time will be dedicated to working on the features described here. As with any roadmap, this is a living document that will evolve as priorities and dependencies shift; we aim to update the roadmap with any changes or status updates on a monthly basis. @@ -10,27 +10,17 @@ Contributors are encouraged to focus their efforts on work that aligns with the Items can be added to this roadmap by first getting design approval for a solution to an open issue, as outlined by our [contributing guidelines](https://github.com/meteor/meteor/blob/devel/CONTRIBUTING.md). Then, when a contributor has committed to solving the issue in the short to medium term, they can submit a PR to add that work to the roadmap. All other PRs to the roadmap will be rejected. -## Upgrade to Node 8 +## Different JS bundles for modern versus legacy browsers -*Tracking pull request: https://github.com/meteor/meteor/pull/8728* +*Pull request: https://github.com/meteor/meteor/pull/9439* -Upgrading Node will allow Meteor to take better advantage of native support for new ECMAScript features on the server, which should speed up build performance and also improve runtime performance, thanks to performance improvements in Node itself. +Despite amazing progress in the latest versions of popular web browsers to support the vast majority of the ECMAScript specification, most web applications are still forced to compile their JavaScript for the oldest browsers they want to support, which means native support for the latest features is usually off-limits. -Perhaps even more importantly, newer versions of Node support a vastly improved debugging experience. Not only can you use native Chrome DevTools and many other debugging clients (WebStorm, VS Code, etc.) to debug your app (no more [`node-inspector`](https://www.npmjs.com/package/node-inspector)), but also the Node process runs at full speed while debugging, so you don't have to wait as long for problems to manifest themselves. +Starting in Meteor 1.6.2, Meteor will build two different client JS bundles, one for modern browsers (`web.browser`) and another for legacy browsers (`web.browser.legacy` and `web.cordova`), in addition to the server bundle which targets Node 8. Package authors can use these architectures to include files only in legacy browsers, or only in modern browsers, while also setting minimum browser versions for the native features they require. As of this writing, modern browsers are loosely defined as any browsers with native support for `async` functions and `await` expressions, which represents [more than 80% of web usage today](https://caniuse.com/#feat=async-functions). -## Upgrade to npm 5 +While it was tempting to compile even more bundles for different categories of browser support, the reality of the web today is that most users have access to self-updating "evergreen" browsers, with nearly complete ECMAScript support, and the market share of evergreen browsers is only going to increase with time. For everyone else, Meteor will automatically provide the same level of compilation provided to everyone by Meteor 1.6.1 and before. It's also a lot easier to test two different bundles in representative browsers than it is to test a whole matrix of possibilities. -*Status: implemented since `1.6-beta.4`.* - -It’s been an interesting year for npm clients. Once unrivaled as the tool of choice for installing npm packages, the `npm` command-line tool faced some serious competition starting last September from an innovative tool called `yarn`, which promised fast, reproducible installs based on `yarn.lock` files. - -The popularity of `yarn` led Meteor to support `meteor yarn` in addition to `meteor npm` (though you had to `meteor npm install --global yarn` first, so `npm` still had an advantage). Our own Galaxy Server and Optics apps, which are built with Meteor, switched over to `yarn` soon after its release. The appeal was undeniable. - -This competition was a good thing for JavaScript developers, first because yarn solved some long-standing problems with `npm`, and later because `npm@5` responded by shipping its own implementation of some similar features, with `package-lock.json` files and automatic addition of npm install-ed packages to `package.json`. - -These improvements to `npm` will benefit all Meteor developers, even those who keep using `yarn`, because package dependencies specified with `Npm.depends` are automatically installed using `npm`, and `npm@5` performs those installations much faster and more reliably. - -Meteor is careful to remain agnostic about how you choose to populate your `node_modules` directories, so we fully expect that `meteor npm` and `meteor yarn` will remain equally good alternatives for that purpose. +As a result of these changes, a typical new Meteor app will have a modern client JS bundle that is one quarter to one third the size of the legacy JS bundle. A new app created with `meteor create --release 1.6.2-beta.12 --minimal new-app` will have a modern JS bundle just 15KB in size (minified + gzip), for example. ## Out of the box support for advanced React features @@ -45,19 +35,16 @@ We think Meteor has a clear set of benefits when compared to other popular React ## Remove blockers to Meteor adoption -### Support the latest version of Node +### Support the latest stable version of Node *Tracking pull request: https://github.com/meteor/meteor/pull/8728* See [above](https://github.com/meteor/meteor/blob/devel/Roadmap.md#upgrade-to-node-8). Developers deserve to use the latest underlying technologies, and Meteor is uniquely able to smooth over any rough edges in early/experimental versions of technologies like Node. A number of developers are already using beta versions of Meteor 1.6 to deploy their apps, because the benefits outweigh the risks for them. Just as Meteor 1.5 climbed to more than 50% usage in less than two months, we expect Meteor 1.6 to become the most widely used version of Meteor soon after its release. -### Make Mongo more optional +### Eliminate the need for an `imports` directory -*Preliminary solution: https://github.com/meteor/meteor/pull/8999* - -Meteor has depended on Mongo for as long as the Meteor project has existed. However, we care deeply about supporting other data storage systems (especially via [GraphQL](https://www.apollodata.com/)), and would like to make it possible to avoid using Mongo altogether. - -### Get rid of the `imports` directory +*Status: possible using `meteor.mainModule` in `package.json` in `1.6.2-beta.12`.* +*Pull requests: https://github.com/meteor/meteor/pull/9690, https://github.com/meteor/meteor/pull/9714, https://github.com/meteor/meteor/pull/9715* When Meteor 1.3 first introduced a module system based on [CommonJS](http://wiki.commonjs.org/wiki/Modules/1.1) and [ECMAScript module syntax](2ality.com/2014/09/es6-modules-final.html), we had to provide a way for developers to migrate their apps from the old ways of loading code, whereby all files were evaluated eagerly during application startup. @@ -120,6 +107,37 @@ Even though Apollo could eventually be a complete replacement for Meteor’s inc # **Recently completed** +## Make Mongo more optional + +*Pull request: https://github.com/meteor/meteor/pull/8999* + +Meteor has depended on Mongo for as long as the Meteor project has existed. However, we care deeply about supporting other data storage systems (especially via [GraphQL](https://www.apollodata.com/)), and would like to make it possible to avoid using Mongo altogether. + +Since Meteor 1.6.2-beta.9, `meteor create --minimal minimal-app` will create an app with very few packages, without any dependency on Mongo. + +## Upgrade to Node 8 + +*Status: shipped in Meteor 1.6.* +*Pull request: https://github.com/meteor/meteor/pull/8728* + +Upgrading Node will allow Meteor to take better advantage of native support for new ECMAScript features on the server, which should speed up build performance and also improve runtime performance, thanks to performance improvements in Node itself. + +Perhaps even more importantly, newer versions of Node support a vastly improved debugging experience. Not only can you use native Chrome DevTools and many other debugging clients (WebStorm, VS Code, etc.) to debug your app (no more [`node-inspector`](https://www.npmjs.com/package/node-inspector)), but also the Node process runs at full speed while debugging, so you don't have to wait as long for problems to manifest themselves. + +## Upgrade to npm 5 + +*Status: implemented since `1.6-beta.4`.* + +It’s been an interesting year for npm clients. Once unrivaled as the tool of choice for installing npm packages, the `npm` command-line tool faced some serious competition starting last September from an innovative tool called `yarn`, which promised fast, reproducible installs based on `yarn.lock` files. + +The popularity of `yarn` led Meteor to support `meteor yarn` in addition to `meteor npm` (though you had to `meteor npm install --global yarn` first, so `npm` still had an advantage). Our own Galaxy Server and Optics apps, which are built with Meteor, switched over to `yarn` soon after its release. The appeal was undeniable. + +This competition was a good thing for JavaScript developers, first because yarn solved some long-standing problems with `npm`, and later because `npm@5` responded by shipping its own implementation of some similar features, with `package-lock.json` files and automatic addition of npm install-ed packages to `package.json`. + +These improvements to `npm` will benefit all Meteor developers, even those who keep using `yarn`, because package dependencies specified with `Npm.depends` are automatically installed using `npm`, and `npm@5` performs those installations much faster and more reliably. + +Meteor is careful to remain agnostic about how you choose to populate your `node_modules` directories, so we fully expect that `meteor npm` and `meteor yarn` will remain equally good alternatives for that purpose. + ## Dynamic `import(...)` *Status: Shipped in 1.5* From db31fbc606d9bb229297ac3d2a45b45de7592903 Mon Sep 17 00:00:00 2001 From: Cyrille Colin Date: Fri, 16 Mar 2018 00:49:23 +0100 Subject: [PATCH 0649/1355] Open Xcode project folder instead of project file (#9724) --- tools/cordova/run-targets.js | 3 +-- 1 file changed, 1 insertion(+), 2 deletions(-) diff --git a/tools/cordova/run-targets.js b/tools/cordova/run-targets.js index 76b60d0e1b..54a2589dbf 100644 --- a/tools/cordova/run-targets.js +++ b/tools/cordova/run-targets.js @@ -58,10 +58,9 @@ function openXcodeProject(projectDir) { return; } - const projectFilePath = files.pathJoin(projectDir, projectFilename); try { - execFileSync('open', [projectFilePath]); + execFileSync('open', ['-a', 'Xcode', projectDir]); Console.info(); Console.info( From 39ff1f413c32c74b2c0344c09425e222571375f6 Mon Sep 17 00:00:00 2001 From: Ben Newman Date: Sat, 17 Mar 2018 02:59:28 -0400 Subject: [PATCH 0650/1355] Revert "Allow EnvironmentVariable#withValue callbacks to return Promises." (#9750) This reverts commit 573f14f171251d475be0d590a72b0f2ce94a35b2. As discussed with @glasser, this change may have been more disruptive than helpful (e.g. #9730) and could also have negative performance consequences. Since we don't actually rely on `withValue` awaiting the result of the callback (yet), it seems safest to revert this change, and possibly add a different method called something like `withAwaitedValue` at some later time, if necessary. Fixes #9730. --- packages/meteor/dynamics_nodejs.js | 2 +- packages/meteor/package.js | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/packages/meteor/dynamics_nodejs.js b/packages/meteor/dynamics_nodejs.js index 35362bd3bd..3d2cf593a7 100644 --- a/packages/meteor/dynamics_nodejs.js +++ b/packages/meteor/dynamics_nodejs.js @@ -54,7 +54,7 @@ EVp.withValue = function (value, func) { var saved = currentValues[this.slot]; try { currentValues[this.slot] = value; - return Promise.await(func()); + return func(); } finally { currentValues[this.slot] = saved; } diff --git a/packages/meteor/package.js b/packages/meteor/package.js index 35db84f5f8..cd4528f3af 100644 --- a/packages/meteor/package.js +++ b/packages/meteor/package.js @@ -2,7 +2,7 @@ Package.describe({ summary: "Core Meteor environment", - version: '1.8.4' + version: '1.8.5' }); Package.registerBuildPlugin({ From 5fba1fd3e29ae5b16fc9a27c2e6f85a5bf69d7f7 Mon Sep 17 00:00:00 2001 From: Ben Newman Date: Sat, 17 Mar 2018 12:09:56 -0400 Subject: [PATCH 0651/1355] Bump meteor package version to 1.8.6 to publish with Meteor 1.6.0.1. cc @abernix --- packages/meteor/package.js | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/packages/meteor/package.js b/packages/meteor/package.js index cd4528f3af..89cbf764cb 100644 --- a/packages/meteor/package.js +++ b/packages/meteor/package.js @@ -2,7 +2,7 @@ Package.describe({ summary: "Core Meteor environment", - version: '1.8.5' + version: '1.8.6' }); Package.registerBuildPlugin({ From 4b2d6c22bcc8210b811da69074638a333af2732c Mon Sep 17 00:00:00 2001 From: Ben Newman Date: Tue, 20 Mar 2018 19:11:40 -0400 Subject: [PATCH 0652/1355] Update meteor-babel to version 7.0.0-beta.42. https://github.com/babel/babel/releases/tag/v7.0.0-beta.41 https://github.com/babel/babel/releases/tag/v7.0.0-beta.42 --- History.md | 3 +- .../.npm/package/npm-shrinkwrap.json | 453 +++++++++--------- packages/babel-compiler/babel-compiler.js | 7 +- packages/babel-compiler/package.js | 4 +- packages/ecmascript/package.js | 2 +- packages/ecmascript/transpilation-tests.js | 2 +- scripts/dev-bundle-tool-package.js | 4 +- tools/isobuild/isopack.js | 8 +- 8 files changed, 253 insertions(+), 230 deletions(-) diff --git a/History.md b/History.md index 618f35e7b2..1a834f4f4d 100644 --- a/History.md +++ b/History.md @@ -56,7 +56,8 @@ * The `reify` npm package has been updated to version 0.14.2. * The `meteor-babel` npm package has been updated to version - 7.0.0-beta.40-2. + 7.0.0-beta.42, which may require updating any custom Babel plugins + you've enabled in a `.babelrc` file. * The `optimism` npm package has been updated to version 0.4.0. diff --git a/packages/babel-compiler/.npm/package/npm-shrinkwrap.json b/packages/babel-compiler/.npm/package/npm-shrinkwrap.json index ea1354103a..641e1b50bf 100644 --- a/packages/babel-compiler/.npm/package/npm-shrinkwrap.json +++ b/packages/babel-compiler/.npm/package/npm-shrinkwrap.json @@ -2,329 +2,339 @@ "lockfileVersion": 1, "dependencies": { "@babel/code-frame": { - "version": "7.0.0-beta.40", - "resolved": "https://registry.npmjs.org/@babel/code-frame/-/code-frame-7.0.0-beta.40.tgz", - "integrity": "sha512-eVXQSbu/RimU6OKcK2/gDJVTFcxXJI4sHbIqw2mhwMZeQ2as/8AhS9DGkEDoHMBBNJZ5B0US63lF56x+KDcxiA==" + "version": "7.0.0-beta.42", + "resolved": "https://registry.npmjs.org/@babel/code-frame/-/code-frame-7.0.0-beta.42.tgz", + "integrity": "sha512-L8i94FLSyaLQpRfDo/qqSm8Ndb44zMtXParXo0MebJICG1zoCCL4+GkzUOlB4BNTRSXXQdb3feam/qw7bKPipQ==" }, "@babel/core": { - "version": "7.0.0-beta.40", - "resolved": "https://registry.npmjs.org/@babel/core/-/core-7.0.0-beta.40.tgz", - "integrity": "sha512-jJMjn/EMg89xDGv7uq4BoFg+fHEchSeqNc9YUMnGuAi/FWKBkSsDbhh2y5euw4qaGOFD2jw1le0rvCu5gPUc6Q==" + "version": "7.0.0-beta.42", + "resolved": "https://registry.npmjs.org/@babel/core/-/core-7.0.0-beta.42.tgz", + "integrity": "sha512-jcjZRewF/xqROfbk8EGyWlykaIR3IwrcefjWHu8xh4QnULSv3nfkjPM35v1itDgAT4/Jj5b4mPf4eZSC2HoRQA==" }, "@babel/generator": { - "version": "7.0.0-beta.40", - "resolved": "https://registry.npmjs.org/@babel/generator/-/generator-7.0.0-beta.40.tgz", - "integrity": "sha512-c91BQcXyTq/5aFV4afgOionxZS1dxWt8OghEx5Q52SKssdGRFSiMKnk9tGkev1pYULPJBqjSDZU2Pcuc58ffZw==" + "version": "7.0.0-beta.42", + "resolved": "https://registry.npmjs.org/@babel/generator/-/generator-7.0.0-beta.42.tgz", + "integrity": "sha512-9x3zS4nG/6GAvJWB8fAK+5g/Di36xdubB43dMNSucNJTwPvmyfCippir/0I8zyG+ID66hLCLi8V9bomlWRYaHA==" }, "@babel/helper-annotate-as-pure": { - "version": "7.0.0-beta.40", - "resolved": "https://registry.npmjs.org/@babel/helper-annotate-as-pure/-/helper-annotate-as-pure-7.0.0-beta.40.tgz", - "integrity": "sha512-bJd92d70QTlcqCO9WiE8C94r7NwVzJx1V6Yz7rYi4IQ53P0jbh9jjKL2zl8YoU2S8M/KX1jpu+yIgXbx+LOruQ==" + "version": "7.0.0-beta.42", + "resolved": "https://registry.npmjs.org/@babel/helper-annotate-as-pure/-/helper-annotate-as-pure-7.0.0-beta.42.tgz", + "integrity": "sha512-2lmcB7mHRSXZjDV9fdnWGRco+5fbI0PdUtsL7mNA2GtJs0GPoKdV3sCx0N4cpzG2YRR4dNCiB2riYIrzWjmQ1Q==" }, "@babel/helper-builder-binary-assignment-operator-visitor": { - "version": "7.0.0-beta.40", - "resolved": "https://registry.npmjs.org/@babel/helper-builder-binary-assignment-operator-visitor/-/helper-builder-binary-assignment-operator-visitor-7.0.0-beta.40.tgz", - "integrity": "sha512-rMfjqkQrfHsA3ppMc2MsICoMqXH1b0BD77fTr4Kf+aUzEt5GSx5ZP5aNYlCqaPzhafg3znEEg/LVeq2EyGY8JQ==" + "version": "7.0.0-beta.42", + "resolved": "https://registry.npmjs.org/@babel/helper-builder-binary-assignment-operator-visitor/-/helper-builder-binary-assignment-operator-visitor-7.0.0-beta.42.tgz", + "integrity": "sha512-lI14OS85dMAvsjTNTLrk3qqqvmy4CNxgXGpWkjMuKlYzwnC7LQvdrdH7wf3CBl8C0GSZHbgvADMUtrKiNjxJ5w==" }, "@babel/helper-builder-react-jsx": { - "version": "7.0.0-beta.40", - "resolved": "https://registry.npmjs.org/@babel/helper-builder-react-jsx/-/helper-builder-react-jsx-7.0.0-beta.40.tgz", - "integrity": "sha512-qHqBJ2G1XPFs5yjV4Q031H700dhuIaCaUZxvkTCyzK7hg7TAn3BlvQ5kq/n47oW1iiJqQFEJP+rmCHt5pQSTKw==" + "version": "7.0.0-beta.42", + "resolved": "https://registry.npmjs.org/@babel/helper-builder-react-jsx/-/helper-builder-react-jsx-7.0.0-beta.42.tgz", + "integrity": "sha512-pgy7el3TV5u4SdWB9w1No5X0fooc8pWcVujbOzey+b9CQU5cf64CGct01bs+k7vGoKwoTYWizZD9MeFk2JLawg==" }, "@babel/helper-call-delegate": { - "version": "7.0.0-beta.40", - "resolved": "https://registry.npmjs.org/@babel/helper-call-delegate/-/helper-call-delegate-7.0.0-beta.40.tgz", - "integrity": "sha512-kfLlTpTayyCwj3/Rq4zDaK85GVPzRIR433QLhuNb0qjJfMQgLit2UEfBHUPPMRvKlb0FelrlXGTxXfsHLmfgzw==" + "version": "7.0.0-beta.42", + "resolved": "https://registry.npmjs.org/@babel/helper-call-delegate/-/helper-call-delegate-7.0.0-beta.42.tgz", + "integrity": "sha512-iGZJrRSKIvla9m8VJNv8wlbPReOLmVqFTpefl07v6e5cMPvP2XOgVWR2B4HZ9UwVo7Lx8rPAQ8/UZgjvq+pJ+A==" }, "@babel/helper-define-map": { - "version": "7.0.0-beta.40", - "resolved": "https://registry.npmjs.org/@babel/helper-define-map/-/helper-define-map-7.0.0-beta.40.tgz", - "integrity": "sha512-hDg3sFSAxYQ/CSXzIBzGeNRD4yp89MkC3wkwvGBH80LXobL6csEdQpzCPhwpL0K8RNB07awRnck1OtPqjeCpgA==" + "version": "7.0.0-beta.42", + "resolved": "https://registry.npmjs.org/@babel/helper-define-map/-/helper-define-map-7.0.0-beta.42.tgz", + "integrity": "sha512-MKaHNaciAiPc7q4AS2XRqk+I0d2ADryuIxd6r0EykkQ57w2nQxFx/CTWWQEnob9OSAP5dPO1stWIZ9j/VeKtIQ==" }, "@babel/helper-explode-assignable-expression": { - "version": "7.0.0-beta.40", - "resolved": "https://registry.npmjs.org/@babel/helper-explode-assignable-expression/-/helper-explode-assignable-expression-7.0.0-beta.40.tgz", - "integrity": "sha512-EUbu+uVNtHVp9emICjYO5wYodqWnSTx/s4Hfk++7IdnPTQi7UA9F/tPXf1GS8BLazlWc9tDwQ2aHFQLheHEXHw==" + "version": "7.0.0-beta.42", + "resolved": "https://registry.npmjs.org/@babel/helper-explode-assignable-expression/-/helper-explode-assignable-expression-7.0.0-beta.42.tgz", + "integrity": "sha512-fT1kVF2PoogggBT9QBgb4IXjbpC3VzFh1sJ6p/k3fZhOXbyqqco7oQ6lzvcIAO6rA7b15/iaIyLj0E+SLCHbwQ==" }, "@babel/helper-function-name": { - "version": "7.0.0-beta.40", - "resolved": "https://registry.npmjs.org/@babel/helper-function-name/-/helper-function-name-7.0.0-beta.40.tgz", - "integrity": "sha512-cK9BVLtOfisSISTTHXKGvBc2OBh65tjEk4PgXhsSnnH0i8RP2v+5RCxoSlh2y/i+l2fxQqKqv++Qo5RMiwmRCA==" + "version": "7.0.0-beta.42", + "resolved": "https://registry.npmjs.org/@babel/helper-function-name/-/helper-function-name-7.0.0-beta.42.tgz", + "integrity": "sha512-6IZ+kkPypwJrnmNzI3y31qAps2kXoPtCE241SvBva2YzB0n/YORWx2YM0jHPYOJBU9Xx5KkUhOKuWkeXZQgtTA==" }, "@babel/helper-get-function-arity": { - "version": "7.0.0-beta.40", - "resolved": "https://registry.npmjs.org/@babel/helper-get-function-arity/-/helper-get-function-arity-7.0.0-beta.40.tgz", - "integrity": "sha512-MwquaPznI4cUoZEgHC/XGkddOXtqKqD4DvZDOyJK2LR9Qi6TbMbAhc6IaFoRX7CRTFCmtGeu8gdXW2dBotBBTA==" + "version": "7.0.0-beta.42", + "resolved": "https://registry.npmjs.org/@babel/helper-get-function-arity/-/helper-get-function-arity-7.0.0-beta.42.tgz", + "integrity": "sha512-hF5KKcn+V/5PwU7KZ1aVwo535woLC9eV+djaoyNPZeMMJ2s+8bZlEa66Tarei0T68VRL5LXIs1Ao4hSabSkpBg==" }, "@babel/helper-hoist-variables": { - "version": "7.0.0-beta.40", - "resolved": "https://registry.npmjs.org/@babel/helper-hoist-variables/-/helper-hoist-variables-7.0.0-beta.40.tgz", - "integrity": "sha512-ghnJxUUEmqK8mssF7Y7R5jNzF5xDu4hmWQ1aZghZtLNJSymmj3HrXCLl5m1dBYpq9gGk7TlZK8stIvIJsCGmTQ==" + "version": "7.0.0-beta.42", + "resolved": "https://registry.npmjs.org/@babel/helper-hoist-variables/-/helper-hoist-variables-7.0.0-beta.42.tgz", + "integrity": "sha512-07NJrcvE2a5oOYiQUzSzih21R6nOpfoIe9saelKxORKXr9cOXcpoLXDi9XIAbRJoww8hqp57JbQxRK09FltZhQ==" }, "@babel/helper-module-imports": { - "version": "7.0.0-beta.40", - "resolved": "https://registry.npmjs.org/@babel/helper-module-imports/-/helper-module-imports-7.0.0-beta.40.tgz", - "integrity": "sha512-QFOskAKWbqJSBbGIl/Y1igJI4mW0A+wD5NFqsgDJj85KSvj/dHM4wNGIeqCi85nN9aMa4DgTBBrzUK4zSMsN2Q==" + "version": "7.0.0-beta.42", + "resolved": "https://registry.npmjs.org/@babel/helper-module-imports/-/helper-module-imports-7.0.0-beta.42.tgz", + "integrity": "sha512-0kTX0cjuVKUKDJmHjmAb504kNrwae0Ja32hGii7zSHDKm0tVZvvpT8Cc1yYHo6UsIkUmzEvfGwIrNYemx1jTtQ==" }, "@babel/helper-module-transforms": { - "version": "7.0.0-beta.40", - "resolved": "https://registry.npmjs.org/@babel/helper-module-transforms/-/helper-module-transforms-7.0.0-beta.40.tgz", - "integrity": "sha512-1H7cBk7kUWJpTepPH77TIRGwKILRGpu1yXmz1OjOruR6y2z0qfbp7ZzzZ3/xg6NlLDENLArEyO2+J0mO+VyQsg==" + "version": "7.0.0-beta.42", + "resolved": "https://registry.npmjs.org/@babel/helper-module-transforms/-/helper-module-transforms-7.0.0-beta.42.tgz", + "integrity": "sha512-XfCGsf6ijExiXw+oKL1Cp7VJttvgq8qalTGRqz4pviVNEjHU89Pfjsi1K/shdy5x4x+PiTSqn4zZ2PKfVp+vgg==" }, "@babel/helper-optimise-call-expression": { - "version": "7.0.0-beta.40", - "resolved": "https://registry.npmjs.org/@babel/helper-optimise-call-expression/-/helper-optimise-call-expression-7.0.0-beta.40.tgz", - "integrity": "sha512-2f4ZKEkvdnKiTUA/Nhju+oEoRcyHcpf6lFuQI5cxbo1Toxqa8E9HBO5tiOWwlIwuak7RZPYSnxnrJQy/0d4YUw==" + "version": "7.0.0-beta.42", + "resolved": "https://registry.npmjs.org/@babel/helper-optimise-call-expression/-/helper-optimise-call-expression-7.0.0-beta.42.tgz", + "integrity": "sha512-4Sssg3iFnLH/1fZQFCPNJ7ISZzrRwq/X8/T5OaURGP3NMVTR4mnEUqrc3v8/SfL3pfa57q3Fe4zIC2h7FuPkww==" + }, + "@babel/helper-plugin-utils": { + "version": "7.0.0-beta.42", + "resolved": "https://registry.npmjs.org/@babel/helper-plugin-utils/-/helper-plugin-utils-7.0.0-beta.42.tgz", + "integrity": "sha512-hZLw8Iz9/YOxI9mgWyPOP1S84OcdQo1WFkZrS1sSf45g16sEb4dVslds2uvZgmx9BiG94PoWyABGf48Py6D6CA==" }, "@babel/helper-regex": { - "version": "7.0.0-beta.40", - "resolved": "https://registry.npmjs.org/@babel/helper-regex/-/helper-regex-7.0.0-beta.40.tgz", - "integrity": "sha512-75zi8hZSdWLT7upmEyAemfN0hJ7522svItPGbIj4Pi2T/C5vbgNFXLy8o/iOCX4FzB+yVKhz0zWC3SzN9hyigA==" + "version": "7.0.0-beta.42", + "resolved": "https://registry.npmjs.org/@babel/helper-regex/-/helper-regex-7.0.0-beta.42.tgz", + "integrity": "sha512-QdwTsTPjJ63StltU6cEtqmB0Lc+L/OkK9Pz2bL9rylDF3UloyXinBA+SI/FkVyXi5HhDbBRf4T/OeVhWrsK68A==" }, "@babel/helper-remap-async-to-generator": { - "version": "7.0.0-beta.40", - "resolved": "https://registry.npmjs.org/@babel/helper-remap-async-to-generator/-/helper-remap-async-to-generator-7.0.0-beta.40.tgz", - "integrity": "sha512-RISz7EebAqaf4ofdG9LdVNfeqhK+JlFYJxvqCGMcS+Pyz84dA41MxgtjrRQdT85be1lZLI2OArvD7zDrj1psag==" + "version": "7.0.0-beta.42", + "resolved": "https://registry.npmjs.org/@babel/helper-remap-async-to-generator/-/helper-remap-async-to-generator-7.0.0-beta.42.tgz", + "integrity": "sha512-At+ipbHRYoN0AaafqPvTPqyVYi+beantKZ2orCYSb/AzP2+JywaWlOPH0wyXLOGzjkJX548Is4cV2wGbEG7++Q==" }, "@babel/helper-replace-supers": { - "version": "7.0.0-beta.40", - "resolved": "https://registry.npmjs.org/@babel/helper-replace-supers/-/helper-replace-supers-7.0.0-beta.40.tgz", - "integrity": "sha512-Nu/5wpUV3rG35RzOq/upZlm61cP0lSAtmNkJLFfO5k2zOGCiHRczD1Y/xKqYOMl5f2iZmYw9fANi1jE4odMIIQ==" + "version": "7.0.0-beta.42", + "resolved": "https://registry.npmjs.org/@babel/helper-replace-supers/-/helper-replace-supers-7.0.0-beta.42.tgz", + "integrity": "sha512-5OwdkTm7TaEBiBMOUV97j8a2goD3+avek9EOl/UdE/CYdtdQ/8RPdUPqtqXApay30aZ/EjIpBItcNlBtt29WBw==" }, "@babel/helper-simple-access": { - "version": "7.0.0-beta.40", - "resolved": "https://registry.npmjs.org/@babel/helper-simple-access/-/helper-simple-access-7.0.0-beta.40.tgz", - "integrity": "sha512-hEKOIXUZFOiyqUPiGydGc+Jr0s8mVCFrD1OtAw2BDkXf1BaR+PxVEVcBAWcJVLOjqrr7oVZL9SENjR4B/Y+yEw==" + "version": "7.0.0-beta.42", + "resolved": "https://registry.npmjs.org/@babel/helper-simple-access/-/helper-simple-access-7.0.0-beta.42.tgz", + "integrity": "sha512-SK1nb/sx+Q/0N8USPR+/5G1D1U9tCo82MzJknmK7X4yexDacHmDHtqNP7xqUlSSo3xfMfyHgT7mAH17Cwik/gA==" + }, + "@babel/helper-split-export-declaration": { + "version": "7.0.0-beta.42", + "resolved": "https://registry.npmjs.org/@babel/helper-split-export-declaration/-/helper-split-export-declaration-7.0.0-beta.42.tgz", + "integrity": "sha512-2r8pZG6SAJTTaI2OhxCmz5PKlMUPY5adOHrHtb1gM3ibJPDOzPAeOQNzItdxNnM33jjRakEGitXX6iYg7Sz73w==" }, "@babel/helper-wrap-function": { - "version": "7.0.0-beta.40", - "resolved": "https://registry.npmjs.org/@babel/helper-wrap-function/-/helper-wrap-function-7.0.0-beta.40.tgz", - "integrity": "sha512-VBXE/uGQuZC9IaYufa3eCoT5ZqcCPv21Uhs/vo4ZqNRDX5QemYEkgDj5SmV2p73bhC66jDwUHaQHKQIiW7ExxA==" + "version": "7.0.0-beta.42", + "resolved": "https://registry.npmjs.org/@babel/helper-wrap-function/-/helper-wrap-function-7.0.0-beta.42.tgz", + "integrity": "sha512-jpZDbZROEw2HfmlImLXDB7BFoyo6M/Wn8jOOc1+JfCpg2uaZ+n6Q0C3sA6mCN6o7ZgpJkgT7IHQwdB3RMV6KLA==" }, "@babel/helpers": { - "version": "7.0.0-beta.40", - "resolved": "https://registry.npmjs.org/@babel/helpers/-/helpers-7.0.0-beta.40.tgz", - "integrity": "sha512-NK/mM/I16inThgXmKPxoqrg+N6OCLt+e9Zsmy8TJ93/zMx4Eddd679I231YwDP2J1Z12UgkfWCLbbvauU5TLlQ==" + "version": "7.0.0-beta.42", + "resolved": "https://registry.npmjs.org/@babel/helpers/-/helpers-7.0.0-beta.42.tgz", + "integrity": "sha512-att9SiG9GxOUdjai87LqjSstgNsdo1nXiGu+Eh078zwRiN8bM5Ww8vrbYkAm9PF4HaW6OzOKqyKxv595RT79bA==" }, "@babel/highlight": { - "version": "7.0.0-beta.40", - "resolved": "https://registry.npmjs.org/@babel/highlight/-/highlight-7.0.0-beta.40.tgz", - "integrity": "sha512-mOhhTrzieV6VO7odgzFGFapiwRK0ei8RZRhfzHhb6cpX3QM8XXuCLXWjN8qBB7JReDdUR80V3LFfFrGUYevhNg==" + "version": "7.0.0-beta.42", + "resolved": "https://registry.npmjs.org/@babel/highlight/-/highlight-7.0.0-beta.42.tgz", + "integrity": "sha512-X3Ur/A/lIbbP8W0pmwgqtDXIxhQmxPaiwY9SKP7kF9wvZfjZRwMvbJE92ozUhF3UDK3DCKaV7oGqmI1rP/zqWA==" }, "@babel/plugin-proposal-async-generator-functions": { - "version": "7.0.0-beta.40", - "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-async-generator-functions/-/plugin-proposal-async-generator-functions-7.0.0-beta.40.tgz", - "integrity": "sha512-DU9JstbqQRAPhbW3Pk0yrEJA8GIiIDdylrnIuPI9x01jAwijxJfRwi6FbUAZUbS+3mzAAM5ALXUJkF1i1R5qbQ==" + "version": "7.0.0-beta.42", + "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-async-generator-functions/-/plugin-proposal-async-generator-functions-7.0.0-beta.42.tgz", + "integrity": "sha512-fPPsSCajWzefDSb49JEeZfd/UeMK3xEQSRAz/H3BZ1uaRatwNNZoOJq4/WRH/xDeISmYUdkLRtqs39VPWLKYVg==" }, "@babel/plugin-proposal-class-properties": { - "version": "7.0.0-beta.40", - "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-class-properties/-/plugin-proposal-class-properties-7.0.0-beta.40.tgz", - "integrity": "sha512-Sg9dQw/4TpYKdTO5wx+AxxICXEraBbdhDUFl9tJfJYgz4grJm+UR2xMXbBO6fGRyBlFLMqQQQcY7Olk5iN6qNA==" + "version": "7.0.0-beta.42", + "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-class-properties/-/plugin-proposal-class-properties-7.0.0-beta.42.tgz", + "integrity": "sha512-VXRmo/t2nAVciXxEgPTAfcUBXj0UXNPIvX2aj3lzHL51N+uh+rtgsIF0nuZwGE4u89WvBDH66yjAu60Ra674kw==" }, "@babel/plugin-proposal-object-rest-spread": { - "version": "7.0.0-beta.40", - "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-object-rest-spread/-/plugin-proposal-object-rest-spread-7.0.0-beta.40.tgz", - "integrity": "sha512-nsQEWEvBgDcxYPBhmeIHqIXVVkPLQJBTD/bAdCMFhVe0vQdOR/px5E+rMsbP+9CywqV3AJ7PngYadnPgiuu4sg==" + "version": "7.0.0-beta.42", + "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-object-rest-spread/-/plugin-proposal-object-rest-spread-7.0.0-beta.42.tgz", + "integrity": "sha512-L4z5R8k3GxQKVYE2zGwftQ9K/IIIXMZKnY4C0lDyyMJAVk+H+cFUD0NfD4KTyZACc8DPqjkw6aEtC/AKCKUvEA==" }, "@babel/plugin-syntax-async-generators": { - "version": "7.0.0-beta.40", - "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-async-generators/-/plugin-syntax-async-generators-7.0.0-beta.40.tgz", - "integrity": "sha512-UczObsgk1A4DaSMqTj59iETtmtuiXdBMs/1WBpy6LvLtf8AdjO/bZ2IbvrwKR5gEp8xJxBgzNq2sfK8RUsQBsQ==" + "version": "7.0.0-beta.42", + "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-async-generators/-/plugin-syntax-async-generators-7.0.0-beta.42.tgz", + "integrity": "sha512-k6oVMsmY/mcp+rPRcK4dJL/J1ahtIRucXtNHNvAVRV9WFc7G3r1rrb1GlM4iNHareXBNdRlf7mkxyVaVpyJ3TQ==" }, "@babel/plugin-syntax-class-properties": { - "version": "7.0.0-beta.40", - "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-class-properties/-/plugin-syntax-class-properties-7.0.0-beta.40.tgz", - "integrity": "sha512-JQUvaacmUpzXDU6BVE1l7hMES6AOJLAyGuEapTop3hD1BDvKwLOIrzwZxawBmp3GOA02S3m4VdUyIfWS5DATjw==" + "version": "7.0.0-beta.42", + "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-class-properties/-/plugin-syntax-class-properties-7.0.0-beta.42.tgz", + "integrity": "sha512-nG0XCeuni6GgjxOqtxVtnfSoRFeXdqY6cja83cmFpC1klw8f6XShbeDmK7xX1mUYBHkEqLTDurlX+fuua9siCg==" }, "@babel/plugin-syntax-dynamic-import": { - "version": "7.0.0-beta.40", - "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-dynamic-import/-/plugin-syntax-dynamic-import-7.0.0-beta.40.tgz", - "integrity": "sha512-YdXgB/tXK42arLlnVwUFX/VZFDPNKdxsDNkT7lIG5GDFmi77D1+e1JVRnVrUSlB4l3+attMsV84vqXGMq0SkIw==" + "version": "7.0.0-beta.42", + "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-dynamic-import/-/plugin-syntax-dynamic-import-7.0.0-beta.42.tgz", + "integrity": "sha512-N+XpzyZviWu+MJA7Cgi+LtMj1CMLkZyjuy4qbSZauqm6gIrNioMtirLDt4+NrCFx7kZG/T4ic6jLUpWdH5SlXg==" }, "@babel/plugin-syntax-flow": { - "version": "7.0.0-beta.40", - "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-flow/-/plugin-syntax-flow-7.0.0-beta.40.tgz", - "integrity": "sha512-KNY7lQ+/T7lsqJbrZ/l/6WV5LfluOZNyVLsae2+1CWL5AhQApVxQHh+0w/Al9ZhH8Ka4ESp8HkkmfN+kzZhjJQ==" + "version": "7.0.0-beta.42", + "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-flow/-/plugin-syntax-flow-7.0.0-beta.42.tgz", + "integrity": "sha512-5LcIB4CCS45ik8oUAr6pHu0BtDhiWvQOMw1lIGtX/gBESmv+O366NvkXWhzmBsZ5J9OQhs64Ox85Q22XKZYiUg==" }, "@babel/plugin-syntax-jsx": { - "version": "7.0.0-beta.40", - "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-jsx/-/plugin-syntax-jsx-7.0.0-beta.40.tgz", - "integrity": "sha512-SLicyImotduRkkRtB9hKtEbwmtpLbMNFxWEwkJINTCOHO9slloGAT7GIEztr6Asud7OurxuSo/ORuOdRyfG4LQ==" + "version": "7.0.0-beta.42", + "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-jsx/-/plugin-syntax-jsx-7.0.0-beta.42.tgz", + "integrity": "sha512-NWlawLcYkxMpH2QK4CbYg1ctTuFaKYRVBZGiGkgcO7xD59bNUu2HTG/BXynuaheQiGX96ItoK1igV6vuS9BK/w==" }, "@babel/plugin-syntax-object-rest-spread": { - "version": "7.0.0-beta.40", - "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-object-rest-spread/-/plugin-syntax-object-rest-spread-7.0.0-beta.40.tgz", - "integrity": "sha512-LY96LEXC+qxuiOcoqrkrsyEUaD95gS7AQE7nZJ/lZBGG14h4cJhc+T0FYdJpVKqhqNuEqVHsJV9xfCYHI4Ksug==" + "version": "7.0.0-beta.42", + "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-object-rest-spread/-/plugin-syntax-object-rest-spread-7.0.0-beta.42.tgz", + "integrity": "sha512-Zhz6MdSpEviY3UFh/DUlrvf/Tn4wWosHXrnR52PBRtP/8ESWVaFuk57xWcBon3jJh0z5hYyRUr+D0wR7W7ZmnQ==" }, "@babel/plugin-transform-arrow-functions": { - "version": "7.0.0-beta.40", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-arrow-functions/-/plugin-transform-arrow-functions-7.0.0-beta.40.tgz", - "integrity": "sha512-B6wh62BErLWS3XInOUHhLcqBSK1QGdBph8E2K82EEFgJdQvphy30QXb0vwLUr8YU1efYyZXTsRA0JZ12jcm30Q==" + "version": "7.0.0-beta.42", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-arrow-functions/-/plugin-transform-arrow-functions-7.0.0-beta.42.tgz", + "integrity": "sha512-/tpAo2Ur8m32U9pBcGQ6JKplWNEh462zxCnwVKL9yVwG02lttC4QSYBvreRK1wBidDz8JgRZFGGeB9N4l23/Sg==" }, "@babel/plugin-transform-async-to-generator": { - "version": "7.0.0-beta.40", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-async-to-generator/-/plugin-transform-async-to-generator-7.0.0-beta.40.tgz", - "integrity": "sha512-4yTmjiZQw0S6dpnJqj0os0hom2czOAFKPhAuPplDay2zyqzDjbNt3zHFadIRTU4ekTonMb6ghTbMO1vlKcLMiQ==" + "version": "7.0.0-beta.42", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-async-to-generator/-/plugin-transform-async-to-generator-7.0.0-beta.42.tgz", + "integrity": "sha512-TTu8z0xz/mS8H98nCVw3wp86RSzdvUhtM4hX32sItrauJX1X8shVZDKbDtG8ZdA1FMKLgfvmn/hxtPOqjOkkpw==" }, "@babel/plugin-transform-block-scoped-functions": { - "version": "7.0.0-beta.40", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-block-scoped-functions/-/plugin-transform-block-scoped-functions-7.0.0-beta.40.tgz", - "integrity": "sha512-GC64FqQfGJ5Wt3i0zSMcwRxmnZwgrx8fVLCeONNNm3BlK7Ui5Usuc7WubygM3bDq47UiHfeKo8ih54pr/POsFw==" + "version": "7.0.0-beta.42", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-block-scoped-functions/-/plugin-transform-block-scoped-functions-7.0.0-beta.42.tgz", + "integrity": "sha512-Ib3bSf7pYLbqe+46RrJFJae1DrNYvIrGleYjzaN/MFYNaG9ePaOevSBmFHPxuW1SM5l2tTloeu5a7mhs9h0oxg==" }, "@babel/plugin-transform-block-scoping": { - "version": "7.0.0-beta.40", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-block-scoping/-/plugin-transform-block-scoping-7.0.0-beta.40.tgz", - "integrity": "sha512-8QpOK9lXdzrq1QIrP3Hfx/BmGPaCKjBORd2QSjdghPNNRlQFZmO2l3kb0I6yC7w75U1M5q26KvUbAcPrE68E4w==" + "version": "7.0.0-beta.42", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-block-scoping/-/plugin-transform-block-scoping-7.0.0-beta.42.tgz", + "integrity": "sha512-qvlAR1L7gZ1gqdj81a2AEfuar3lFsr7FSad4JrN5CJinQlVn/1eJe8oB1DQ7U8ocAzDDjn3tGit9lN7uKBWZsQ==" }, "@babel/plugin-transform-classes": { - "version": "7.0.0-beta.40", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-classes/-/plugin-transform-classes-7.0.0-beta.40.tgz", - "integrity": "sha512-yjViyoOYJtt2vLDai8jluxl9quOtq/Xq4GTjT9uzy+mOfUTE77dcJySMGkWHE52Mu3n0TSI09ENBFYykpvXXDw==" + "version": "7.0.0-beta.42", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-classes/-/plugin-transform-classes-7.0.0-beta.42.tgz", + "integrity": "sha512-0GCv1wNyfMXKuaulype6+TF02Bxq/zQZ4NUbn2w9aQxzIZviAe1jcA7IRrNN2eVQL9L4oi8N6B26Wf8xFoBNrQ==" }, "@babel/plugin-transform-computed-properties": { - "version": "7.0.0-beta.40", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-computed-properties/-/plugin-transform-computed-properties-7.0.0-beta.40.tgz", - "integrity": "sha512-1VBpE+6YN4bj72MtbQoIwXZxoI5VfPLutQ5uhOx/tIrjf1KbLKsFR0epPPGx4nZ13u++lUR8CjUFUHGJ6RJirA==" + "version": "7.0.0-beta.42", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-computed-properties/-/plugin-transform-computed-properties-7.0.0-beta.42.tgz", + "integrity": "sha512-WYGXfe2uo2FdACubMhwV6Oq1Zx3SNSeBUHRe2X53WKbIKLMZlxRR5GfoLv4V2CeDGHL3mb97wYhmXSb56bIXeg==" }, "@babel/plugin-transform-destructuring": { - "version": "7.0.0-beta.40", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-destructuring/-/plugin-transform-destructuring-7.0.0-beta.40.tgz", - "integrity": "sha512-/FJq+WUAw4R5kg+2XWkmk0rDJqVs76rNNSIPpxeE0SiJvp8tvou7y8u0D1IhoO29ZgC+53jbdL+MkVN7mrH/iQ==" + "version": "7.0.0-beta.42", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-destructuring/-/plugin-transform-destructuring-7.0.0-beta.42.tgz", + "integrity": "sha512-G3hwLdgeKCZ8EWqwMqeOEoXxRBc5aJthMUD5kN7sAIko+lvwIVQ0do9Op/+DAGVnrvC+g0Ool2Mihcej2NsCPQ==" }, "@babel/plugin-transform-exponentiation-operator": { - "version": "7.0.0-beta.40", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-exponentiation-operator/-/plugin-transform-exponentiation-operator-7.0.0-beta.40.tgz", - "integrity": "sha512-nh9qIA4P1wQczihazVOvTpkl2EBfoSMfkM6/21p8NBY4GxZJcEwT1O1nke/+RLludUekHqXHGH+9ekfEfLwKRQ==" + "version": "7.0.0-beta.42", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-exponentiation-operator/-/plugin-transform-exponentiation-operator-7.0.0-beta.42.tgz", + "integrity": "sha512-ylnAziSEho282hxQROK5tbNtxm0sSoQaQS74OCSE52eFeDNqSNGapyiNiWMZ71gqs8q5aqYsPgfa/vTccLT7uA==" }, "@babel/plugin-transform-flow-strip-types": { - "version": "7.0.0-beta.40", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-flow-strip-types/-/plugin-transform-flow-strip-types-7.0.0-beta.40.tgz", - "integrity": "sha512-9vD+fwJ1nwPwcpcXRoRYbwjeWgoR6qBbCSPMCUrW/18UV7es0yAIxf9/Yzo3WWoYZMbWN8CLrO4noAKSoCWlXA==" + "version": "7.0.0-beta.42", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-flow-strip-types/-/plugin-transform-flow-strip-types-7.0.0-beta.42.tgz", + "integrity": "sha512-pbZl37LlS8OMghp29oPq/csEnTnnkh+S/HY7nN0ZfPuEYMNp83ZjWLCifgvRIM9tNfwXifP+oXj1Yf7ek1dePA==" }, "@babel/plugin-transform-for-of": { - "version": "7.0.0-beta.40", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-for-of/-/plugin-transform-for-of-7.0.0-beta.40.tgz", - "integrity": "sha512-ArDbLAGMzI++G5Ut8HIbLvnAxZNOC5tFzMXiud51JJTHRaeFB7AwX+duY9x/Hu/KypISXjels3BYVYCV/EH+ow==" + "version": "7.0.0-beta.42", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-for-of/-/plugin-transform-for-of-7.0.0-beta.42.tgz", + "integrity": "sha512-pn+fmrr6pfXeEUMyx7JrKAOG/XCiABvXFOmQYqLoCl0POcW8sE75r8w/Lu2wHFayrNgDqR7/RCb7RW4h/U2u1Q==" }, "@babel/plugin-transform-literals": { - "version": "7.0.0-beta.40", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-literals/-/plugin-transform-literals-7.0.0-beta.40.tgz", - "integrity": "sha512-p7VlTod2r7srx0uKVrKqMJR1f6iyvDAnlLdTEDGrLHpP9pXXvIc/bP8xZTxVPn+IziSFh6FvOzHXXLMtnRKnow==" + "version": "7.0.0-beta.42", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-literals/-/plugin-transform-literals-7.0.0-beta.42.tgz", + "integrity": "sha512-mWEayRwUCY3/u8LZpcdR96TiWqofP60jjfVZUJ6agK6ifwEBgamv1Db8syIwUCjaZww5bjyZqX61AmP4fx3dvQ==" }, "@babel/plugin-transform-modules-commonjs": { - "version": "7.0.0-beta.40", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-modules-commonjs/-/plugin-transform-modules-commonjs-7.0.0-beta.40.tgz", - "integrity": "sha512-1kRhaQP3K9kRiJhhLpP7J5NsMV+SiKWSsli6TUR6uxbuHHNAleRtlsZ76JgCRMaufBgPMLxq5pp7yibUhwTn8w==" + "version": "7.0.0-beta.42", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-modules-commonjs/-/plugin-transform-modules-commonjs-7.0.0-beta.42.tgz", + "integrity": "sha512-tCN0FFdTHaXpuJokvW8iWtbDpjKDNDO2dIyb8rr0GMQxsA62914e8oclcDUPEbC5iF5SCDEF0CmVHXbxnvANfQ==" }, "@babel/plugin-transform-object-super": { - "version": "7.0.0-beta.40", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-object-super/-/plugin-transform-object-super-7.0.0-beta.40.tgz", - "integrity": "sha512-a9kXy4amuvAz7eFuntXiyjg0eKXej1FH++xQg37ugh24zozD0cmfr3pvRbYOGlmbmOeZWJnlq+O6X8BSfLSycw==" + "version": "7.0.0-beta.42", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-object-super/-/plugin-transform-object-super-7.0.0-beta.42.tgz", + "integrity": "sha512-d+gki0bYQtlleX4LnvpwjIkjmZScKQuHhDsD3N3nHLpwxbANp3YGtIfuf8dbY/PIbUKtd55/ErCvdsyuGlxAlw==" }, "@babel/plugin-transform-parameters": { - "version": "7.0.0-beta.40", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-parameters/-/plugin-transform-parameters-7.0.0-beta.40.tgz", - "integrity": "sha512-JShFDeKEzwwTB+pHcUuLdX9zPi98sRekvtdCEOt8UoF5pzW02k1XdsVOckp/PzcEdoGAgZiiI1PFkJZ+xanfPg==" + "version": "7.0.0-beta.42", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-parameters/-/plugin-transform-parameters-7.0.0-beta.42.tgz", + "integrity": "sha512-z2iXwael/zMHkOvvkJSirg1jIxGA00JOIwdERB+x+VGxLfLb+1IdyiytVw9+w5RTNSVAGYt6R4jhvUdAeQwMiQ==" }, "@babel/plugin-transform-property-literals": { - "version": "7.0.0-beta.40", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-property-literals/-/plugin-transform-property-literals-7.0.0-beta.40.tgz", - "integrity": "sha512-TtfRkSpMjSaLTbKB2eHhDYyWvqLiHIkgxQirAnk4Y4Fu3doLfk0wZhDDPQ7EcnTc/M3lUpnADjFoFD1RG9PTGw==" + "version": "7.0.0-beta.42", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-property-literals/-/plugin-transform-property-literals-7.0.0-beta.42.tgz", + "integrity": "sha512-3dYkXM7aZ8b6x1cHUhZPKYYcF/4HppoQfythpi95tumfgZQR2NDu2mzAT/ynE84/x8Vx7NrSxuNfB6e3CJuzQA==" }, "@babel/plugin-transform-react-display-name": { - "version": "7.0.0-beta.40", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-react-display-name/-/plugin-transform-react-display-name-7.0.0-beta.40.tgz", - "integrity": "sha512-mwCm2GCP4WD5Mbdy1pPf/te0bbUWc1bhrxRIyHg5OVTs9H8DH94rYqH7Nlo+NcK436nJZJYX5K2nfJdEloRn7g==" + "version": "7.0.0-beta.42", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-react-display-name/-/plugin-transform-react-display-name-7.0.0-beta.42.tgz", + "integrity": "sha512-0oyVkjXLkxXSt21mPdfRNwKZ/sIEjcDx5/LqMS+KtMUxsCcB2BFhtzaESd8xLdXb7Zi2otMjt2DsDK+IUeitxA==" }, "@babel/plugin-transform-react-jsx": { - "version": "7.0.0-beta.40", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-react-jsx/-/plugin-transform-react-jsx-7.0.0-beta.40.tgz", - "integrity": "sha512-7dqeoFtVL7Yl06+/NNHzgbQ5vAUiBtVQms01zSLRT3PmGQg5Z32JynIp6MV6b5fhxJpy7MQn5NHLYjAaOq4vgg==" + "version": "7.0.0-beta.42", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-react-jsx/-/plugin-transform-react-jsx-7.0.0-beta.42.tgz", + "integrity": "sha512-XT8M4cZmr/Gaw6Cp2UELhYajB/PT6xNERtv8d+Eu08fULfAbtZJBFVxmm68T9LT+JZkcI35O1gTP17yJz5PJrA==" }, "@babel/plugin-transform-react-jsx-self": { - "version": "7.0.0-beta.40", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-react-jsx-self/-/plugin-transform-react-jsx-self-7.0.0-beta.40.tgz", - "integrity": "sha512-jTulUz95ll3eNWJ+lulQ+A4CxuHP0Qs77zhAMuetbyiqE4d5fq6XT+BUNaaCvgLOuhmf6hS4v4oxzdad9IPdNg==" + "version": "7.0.0-beta.42", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-react-jsx-self/-/plugin-transform-react-jsx-self-7.0.0-beta.42.tgz", + "integrity": "sha512-bpG/Z6D8RtckyYPbqMfU/DaV7H/xHaTNAJLzYLHqQhtQT70pwmLVQ8E6ara18yp7k+6OJytrrmJm9F6ClT4pnA==" }, "@babel/plugin-transform-react-jsx-source": { - "version": "7.0.0-beta.40", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-react-jsx-source/-/plugin-transform-react-jsx-source-7.0.0-beta.40.tgz", - "integrity": "sha512-5mlAlw183Yh9EpoCAHJBFGavvN8MfxXz2pHx5koIg0xPznt7+p6JaH5wCT4QwlVFbDoHzfKv5TMZ4vgbsp6Hxw==" + "version": "7.0.0-beta.42", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-react-jsx-source/-/plugin-transform-react-jsx-source-7.0.0-beta.42.tgz", + "integrity": "sha512-vLKqNyFDx4bESdy7dTWLmAhCTk8zszsxhYGKL/0FaFacksSQye5conP68j8jMEMn9M/JBGgxfFqL6tPbOn2uVw==" }, "@babel/plugin-transform-regenerator": { - "version": "7.0.0-beta.40", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-regenerator/-/plugin-transform-regenerator-7.0.0-beta.40.tgz", - "integrity": "sha512-hFj52wAXbEpXwwfKsMol5Y967D3L8tz46Jin9n/gYPgcNWugvsw6d7g+HknBJ8FzaUESrDruFRkGPXgD+FyjvQ==" + "version": "7.0.0-beta.42", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-regenerator/-/plugin-transform-regenerator-7.0.0-beta.42.tgz", + "integrity": "sha512-E1s/MBk8ztbXqxbeUvFH26x8vAWq/7qX3UdbB8fKoN3EX2Wg9+yXWyuI50jOhXOq7jfmbOrVe0BWoUOjCOqWPQ==" }, "@babel/plugin-transform-runtime": { - "version": "7.0.0-beta.40", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-runtime/-/plugin-transform-runtime-7.0.0-beta.40.tgz", - "integrity": "sha512-+ahxcJTrSZIAX3EVWJpKE0ipC2Xg9GyME244bO7cadNJQgionnB61dH2YI/Qkcl6ai1ZF/CpidVQxZkfC6O+RA==" + "version": "7.0.0-beta.42", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-runtime/-/plugin-transform-runtime-7.0.0-beta.42.tgz", + "integrity": "sha512-4LcNdjMvKzCwK/eqfbUiXFAZht8OTx0Gv2Ok42o+zhb8DvNUaYUndgW9AU4Q6nbpxzw2vTWNUXSIRvdGsxpgQQ==" }, "@babel/plugin-transform-shorthand-properties": { - "version": "7.0.0-beta.40", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-shorthand-properties/-/plugin-transform-shorthand-properties-7.0.0-beta.40.tgz", - "integrity": "sha512-1leHn9ST0PKFHwH7klJqGA76YPoqs3cR5zeJK6YGZETeX89YiAVtR+5JTSGhfI/1RR0Vcg9Tl1LnPpf7LmYlng==" + "version": "7.0.0-beta.42", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-shorthand-properties/-/plugin-transform-shorthand-properties-7.0.0-beta.42.tgz", + "integrity": "sha512-GID8z2s6R/XOHgaoxrKBH+zdBOBqFJTDYDS91w30fJGiHxVM4qFVOpYDNIMxmsjqW6bKVHyLeHBezp0OHv+9QQ==" }, "@babel/plugin-transform-spread": { - "version": "7.0.0-beta.40", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-spread/-/plugin-transform-spread-7.0.0-beta.40.tgz", - "integrity": "sha512-RPrIpV+h8OqoqyMic7CNeM8TdSDk7ec+T6jM97vMb9XQQrRInAUWlwWvG6d36v72xobFtHoPA28VN/0aVsbQDg==" + "version": "7.0.0-beta.42", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-spread/-/plugin-transform-spread-7.0.0-beta.42.tgz", + "integrity": "sha512-ZzWt7RvGcV+9DcOTBwE6ArNqDpUMpzZhCToj3UNtULol9gGBbrGgUK/LdGwGInj+Z2aIdOjbAMFtEuC6626lJg==" }, "@babel/plugin-transform-sticky-regex": { - "version": "7.0.0-beta.40", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-sticky-regex/-/plugin-transform-sticky-regex-7.0.0-beta.40.tgz", - "integrity": "sha512-dJPUaV2D5SwSXypaDFRJd+LIhabeaWhZ3McmNo0COn+lBINJ9iL7mYuPxnqwhM/KoBNv+vYIoFFZzT/I27K6AQ==" + "version": "7.0.0-beta.42", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-sticky-regex/-/plugin-transform-sticky-regex-7.0.0-beta.42.tgz", + "integrity": "sha512-zQI5NhVfnSNNFiG8JhoXXzTV89aLTfHW22inWefATRmtqe64iHZ4bivBTkDbxt6X/St1yH0aZB+4XtBDZjzcKQ==" }, "@babel/plugin-transform-template-literals": { - "version": "7.0.0-beta.40", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-template-literals/-/plugin-transform-template-literals-7.0.0-beta.40.tgz", - "integrity": "sha512-ScGHntym1y5FweT751OJxGW4rydxdLA9BwkHfJ5o6RcCoq+LRubDeGu2HeuX4SMEvAw0MnZeSk8vw5TwIOzEIQ==" + "version": "7.0.0-beta.42", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-template-literals/-/plugin-transform-template-literals-7.0.0-beta.42.tgz", + "integrity": "sha512-sCQmaa8fd3uPdy/J/qOkvPtxo3RtiH6SyW5bzdnUSOQ3+ND3Bj4OfJNziZxJwZZ8Y40lHrM0dKxZ8YnihlCETQ==" }, "@babel/plugin-transform-typeof-symbol": { - "version": "7.0.0-beta.40", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-typeof-symbol/-/plugin-transform-typeof-symbol-7.0.0-beta.40.tgz", - "integrity": "sha512-y+mXC0tIlTZj04ZD9326grEIvFjI/IeLSIVVKMIf8nSodLDCgipuM6zXhxqXVvjcTrvvUKuxPrvPeSuht0eeMg==" + "version": "7.0.0-beta.42", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-typeof-symbol/-/plugin-transform-typeof-symbol-7.0.0-beta.42.tgz", + "integrity": "sha512-cuDOzCv7kpMqaLypTEN90ErVmKUV3vjTuO8qzCGlmJMZwCcteTpxCiwISJLnAxcGtj++fMVY0vntbcj4nXf9XQ==" }, "@babel/plugin-transform-unicode-regex": { - "version": "7.0.0-beta.40", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-unicode-regex/-/plugin-transform-unicode-regex-7.0.0-beta.40.tgz", - "integrity": "sha512-+eProDq93qiYnXOy+LDSMoKF2lEQVQ+r6DF3ZZXJV5QJ3f2+vwpSqGIQy61sSkVMEaoNtYL/Jy+G8HrWFw9p3w==" + "version": "7.0.0-beta.42", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-unicode-regex/-/plugin-transform-unicode-regex-7.0.0-beta.42.tgz", + "integrity": "sha512-iqQ8bhkRPZE2Vl5gR7GF0x4xUVlkncMxr7ve7Rjp/TMzNbO3S2XLr+1SPu+B+U3fIPDDA4I97enw5YL5V7QFOA==" }, "@babel/preset-react": { - "version": "7.0.0-beta.40", - "resolved": "https://registry.npmjs.org/@babel/preset-react/-/preset-react-7.0.0-beta.40.tgz", - "integrity": "sha512-2xhbtnA5+LtNZsQjF8/naW7R1jnM4PVBRqOyyTyhKdmyWPlkzDtzEPAkKwTUlgnGf947933FSdMToTt+c6H5WA==" + "version": "7.0.0-beta.42", + "resolved": "https://registry.npmjs.org/@babel/preset-react/-/preset-react-7.0.0-beta.42.tgz", + "integrity": "sha512-2o+5MXAzGMnjlZlxsYv08Joh+T4IDd2NIrpeVB+5GgeboU6k0964pObdZxMjB9A2dOweLSCOHwP21JwO6bDUbA==" }, "@babel/runtime": { - "version": "7.0.0-beta.40", - "resolved": "https://registry.npmjs.org/@babel/runtime/-/runtime-7.0.0-beta.40.tgz", - "integrity": "sha512-vIM68NUCWauZJTFoVUG1lggva1I8FLB9zFKwWG7Xjin4FkHpEKJv2y4x1DGVPVt93S5/zHSBj1bXYEuxOkFGzg==" + "version": "7.0.0-beta.42", + "resolved": "https://registry.npmjs.org/@babel/runtime/-/runtime-7.0.0-beta.42.tgz", + "integrity": "sha512-iOGRzUoONLOtmCvjUsZv3mZzgCT6ljHQY5fr1qG1QIiJQwtM7zbPWGGpa3QWETq+UqwWyJnoi5XZDZRwZDFciQ==" }, "@babel/template": { - "version": "7.0.0-beta.40", - "resolved": "https://registry.npmjs.org/@babel/template/-/template-7.0.0-beta.40.tgz", - "integrity": "sha512-RlQiVB7eL7fxsKN6JvnCCwEwEL28CBYalXSgWWULuFlEHjtMoXBqQanSie3bNyhrANJx67sb+Sd/vuGivoMwLQ==" + "version": "7.0.0-beta.42", + "resolved": "https://registry.npmjs.org/@babel/template/-/template-7.0.0-beta.42.tgz", + "integrity": "sha512-EK7YdTe47j4VxlwNvz5bnlk5Jx/wWublnqfgOY2IuSNdxCQgXrLD34PfTnabGxywNSkJkcSo6jwr2JGT+S48dA==" }, "@babel/traverse": { - "version": "7.0.0-beta.40", - "resolved": "https://registry.npmjs.org/@babel/traverse/-/traverse-7.0.0-beta.40.tgz", - "integrity": "sha512-h96SQorjvdSuxQ6hHFIuAa3oxnad1TA5bU1Zz88+XqzwmM5QM0/k2D+heXGGy/76gT5ajl7xYLKGiPA/KTyVhQ==" + "version": "7.0.0-beta.42", + "resolved": "https://registry.npmjs.org/@babel/traverse/-/traverse-7.0.0-beta.42.tgz", + "integrity": "sha512-DZwMuZBfYVIn/cxpXZzHDgKmarW/MWqplLv1k7QJYhK5r5l6GAac/DkKl75A0CjPYrD3VGco6H6ZQp12QaYKSw==" }, "@babel/types": { - "version": "7.0.0-beta.40", - "resolved": "https://registry.npmjs.org/@babel/types/-/types-7.0.0-beta.40.tgz", - "integrity": "sha512-uXCGCzTgMZxcSUzutCPtZmXbVC+cvENgS2e0tRuhn+Y1hZnMb8IHP0Trq7Q2MB/eFmG5pKrAeTIUfQIe5kA4Tg==" + "version": "7.0.0-beta.42", + "resolved": "https://registry.npmjs.org/@babel/types/-/types-7.0.0-beta.42.tgz", + "integrity": "sha512-+pmpISmTHQqMMpHHtDLxcvtRhmn53bAxy8goJfHipS/uy/r3PLcuSdPizLW7DhtBWbtgIKZufLObfnIMoyMNsw==" }, "acorn": { - "version": "5.4.1", - "resolved": "https://registry.npmjs.org/acorn/-/acorn-5.4.1.tgz", - "integrity": "sha512-XLmq3H/BVvW6/GbxKryGxWORz1ebilSsUDlyC27bXhWGWAZWkGwS6FLHjOlwFXNFoWFQEO/Df4u0YYd0K3BQgQ==" + "version": "5.5.3", + "resolved": "https://registry.npmjs.org/acorn/-/acorn-5.5.3.tgz", + "integrity": "sha512-jd5MkIUlbbmb07nXH0DT3y7rDVtkzDi4XZOUVWAer8ajmF/DTSSbl5oNFyDOl/OXA33Bl79+ypHhl2pN20VeOQ==" }, "ansi-styles": { - "version": "3.2.0", - "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-3.2.0.tgz", - "integrity": "sha512-NnSOmMEYtVR2JVMIGTzynRkkaxtiq1xnFBcdQD/DnNCYPoEPsVJhM98BDyaoNOQIi7p4okdi3E27eN7GQbsUug==" + "version": "3.2.1", + "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-3.2.1.tgz", + "integrity": "sha512-VT0ZI6kZRdTh8YyJw3SMbYm/u+NqfsAxEpWO0Pf9sq8/e94WxxOpPKx9FR1FlyCtOVDNOQ+8ntlqFxiRc+r5qA==" }, "arr-diff": { "version": "2.0.0", @@ -492,9 +502,9 @@ "integrity": "sha512-AVDVEmp0S9mbF1O8zekWbsOOmqnR08PZah5NRZJqSvJnFgiL0ep4Lwo4EymH8OieJR2QgQdR3q71TNW+wiVn4g==" }, "babel-preset-meteor": { - "version": "7.0.0-beta.40-1", - "resolved": "https://registry.npmjs.org/babel-preset-meteor/-/babel-preset-meteor-7.0.0-beta.40-1.tgz", - "integrity": "sha512-DFQU9B+cxR5BMSxbBq+GryfTDux1l6K5S6r0IxEzTs0jUsydMtK8I6xP01m2za6LekGp1kcQFyO9zCoifnZdtg==" + "version": "7.0.0-beta.42", + "resolved": "https://registry.npmjs.org/babel-preset-meteor/-/babel-preset-meteor-7.0.0-beta.42.tgz", + "integrity": "sha512-GrZ27sLvBGELCFMXPZIGn2slK2Fpvr/Z+KoL8zg5l0ANEJnj08kcH0LG0rMFZfSujNXaSXwZqP8ZsJZ7E1aacA==" }, "babel-preset-minify": { "version": "0.2.0", @@ -502,9 +512,9 @@ "integrity": "sha512-mR8Q44RmMzm18bM2Lqd9uiPopzk5GDCtVuquNbLFmX6lOKnqWoenaNBxnWW0UhBFC75lEHTIgNGCbnsRI0pJVw==" }, "babylon": { - "version": "7.0.0-beta.40", - "resolved": "https://registry.npmjs.org/babylon/-/babylon-7.0.0-beta.40.tgz", - "integrity": "sha512-AVxF2EcxvGD5hhOuLTOLAXBb0VhwWpEX0HyHdAI2zU+AAP4qEwtQj8voz1JR3uclGai0rfcE+dCTHnNMOnimFg==" + "version": "7.0.0-beta.42", + "resolved": "https://registry.npmjs.org/babylon/-/babylon-7.0.0-beta.42.tgz", + "integrity": "sha512-h6E/OkkvcBw/JimbL0p8dIaxrcuQn3QmIYGC/GtJlRYif5LTKBYPHXYwqluJpfS/kOXoz0go+9mkmOVC0M+zWw==" }, "braces": { "version": "1.8.5", @@ -512,9 +522,9 @@ "integrity": "sha1-uneWLhLf+WnWt2cR6RS3N4V79qc=" }, "chalk": { - "version": "2.3.1", - "resolved": "https://registry.npmjs.org/chalk/-/chalk-2.3.1.tgz", - "integrity": "sha512-QUU4ofkDoMIVO7hcx1iPTISs88wsO8jA92RQIm4JAwZvFGGAV2hSAA1NX7oVj2Ej2Q6NDTcRDjPTFrMCRZoJ6g==" + "version": "2.3.2", + "resolved": "https://registry.npmjs.org/chalk/-/chalk-2.3.2.tgz", + "integrity": "sha512-ZM4j2/ld/YZDc3Ma8PgN7gyAk+kHMMMyzLNryCPGhWrsfAuDVeuid5bpRFTDgMH9JBK2lA4dyyAkkZYF/WcqDQ==" }, "color-convert": { "version": "1.9.1", @@ -607,9 +617,9 @@ "integrity": "sha1-tdRU3CGZriJWmfNGfloH87lVuv0=" }, "invariant": { - "version": "2.2.3", - "resolved": "https://registry.npmjs.org/invariant/-/invariant-2.2.3.tgz", - "integrity": "sha512-7Z5PPegwDTyjbaeCnV0efcyS6vdKAU51kpEmS7QFib3P4822l8ICYyMn7qvJnc+WzLoDsuI9gPMKbJ8pCu8XtA==" + "version": "2.2.4", + "resolved": "https://registry.npmjs.org/invariant/-/invariant-2.2.4.tgz", + "integrity": "sha512-phJfQVBuaJM5raOpJjSfkiD6BpbCE4Ns//LaXl6wGYtUBY83nWS6Rf9tXm2e8VaK60JEjYldbPif/A2B1C2gNA==" }, "is-buffer": { "version": "1.1.6", @@ -707,9 +717,9 @@ "integrity": "sha1-0aitM/qc4OcT1l/dCsi3SNR4yEg=" }, "meteor-babel": { - "version": "7.0.0-beta.40-2", - "resolved": "https://registry.npmjs.org/meteor-babel/-/meteor-babel-7.0.0-beta.40-2.tgz", - "integrity": "sha512-BF3dZW7fqgakLgLaHeg5D9iQZspPo7ery4zJvHrrfM+oRwNnDtISgu4y8bUB/GQ82KTl1HWw/77l3e36eQ83hA==" + "version": "7.0.0-beta.42", + "resolved": "https://registry.npmjs.org/meteor-babel/-/meteor-babel-7.0.0-beta.42.tgz", + "integrity": "sha512-fvFC1KRVZqOeIKHrXJJjUD3XygrGQWudDW6uFVuvWMpUzSRE2f5faz3TnT03QPeicRygbi9Lqvx1M85u8kYk2A==" }, "meteor-babel-helpers": { "version": "0.0.3", @@ -722,9 +732,9 @@ "integrity": "sha1-hmd8l9FyCzY0MdBNDRUpO9OMFWU=" }, "minipass": { - "version": "2.2.1", - "resolved": "https://registry.npmjs.org/minipass/-/minipass-2.2.1.tgz", - "integrity": "sha512-u1aUllxPJUI07cOqzR7reGmQxmCqlH88uIIsf6XZFEWgw7gXKpJdR+5R9Y3KEDmWYkdIz9wXZs3C0jOPxejk/Q==" + "version": "2.2.4", + "resolved": "https://registry.npmjs.org/minipass/-/minipass-2.2.4.tgz", + "integrity": "sha512-hzXIWWet/BzWhYs2b+u7dRHlruXhwdgvlTMDKC6Cb1U7ps6Ac6yQlR39xsbjWJE377YTCtKwIXIpJ5oP+j5y8g==" }, "minizlib": { "version": "1.1.0", @@ -858,9 +868,14 @@ "integrity": "sha1-jcrkcOHIirwtYA//Sndihtp15jc=" }, "resolve": { - "version": "1.5.0", - "resolved": "https://registry.npmjs.org/resolve/-/resolve-1.5.0.tgz", - "integrity": "sha512-hgoSGrc3pjzAPHNBg+KnFcK2HwlHTs/YrAGUr6qgTVUZmXv1UEXXl0bZNBKMA9fud6lRYFdPGz0xXxycPzmmiw==" + "version": "1.6.0", + "resolved": "https://registry.npmjs.org/resolve/-/resolve-1.6.0.tgz", + "integrity": "sha512-mw7JQNu5ExIkcw4LPih0owX/TZXjD/ZUF/ZQ/pDnkw3ZKhDcZZw5klmBlj6gVMwjQ3Pz5Jgu7F3d0jcDVuEWdw==" + }, + "safe-buffer": { + "version": "5.1.1", + "resolved": "https://registry.npmjs.org/safe-buffer/-/safe-buffer-5.1.1.tgz", + "integrity": "sha512-kKvNJn6Mm93gAczWVJg7wH+wGYWNrDHdWvpUmHyEsgCtIwwo3bqPtV4tR5tuPaUhTOo/kvhVwd8XwwOllGYkbg==" }, "semver": { "version": "5.5.0", @@ -873,9 +888,9 @@ "integrity": "sha1-igOdLRAh0i0eoUyA2OpGi6LvP8w=" }, "supports-color": { - "version": "5.2.0", - "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-5.2.0.tgz", - "integrity": "sha512-F39vS48la4YvTZUPVeTqsjsFNrvcMwrV3RLZINsmHo+7djCvuUzSIeXOnZ5hmjef4bajL1dNccN+tg5XAliO5Q==" + "version": "5.3.0", + "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-5.3.0.tgz", + "integrity": "sha512-0aP01LLIskjKs3lq52EC0aGBAJhLq7B2Rd8HC/DR/PtNNpcLilNmHC12O+hu0usQpo7wtHNRqtrhBwtDb0+dNg==" }, "to-fast-properties": { "version": "2.0.0", diff --git a/packages/babel-compiler/babel-compiler.js b/packages/babel-compiler/babel-compiler.js index 2da41285e8..45d72ede78 100644 --- a/packages/babel-compiler/babel-compiler.js +++ b/packages/babel-compiler/babel-compiler.js @@ -95,8 +95,6 @@ BCp.processOneFileForTarget = function (inputFile, source) { ? "packages/" + packageName + "/" + inputFilePath : inputFilePath; - babelOptions.sourceMapTarget = babelOptions.filename + ".map"; - try { var result = profile('Babel.compile', function () { return Babel.compile(source, babelOptions, cacheDeps); @@ -130,6 +128,11 @@ BCp.processOneFileForTarget = function (inputFile, source) { toBeAdded.data = result.code; toBeAdded.hash = result.hash; + + // The babelOptions.sourceMapTarget option was deprecated in Babel + // 7.0.0-beta.41: https://github.com/babel/babel/pull/7500 + result.map.file = babelOptions.filename + ".map"; + toBeAdded.sourceMap = result.map; } diff --git a/packages/babel-compiler/package.js b/packages/babel-compiler/package.js index 51a6c94379..a3554e75e4 100644 --- a/packages/babel-compiler/package.js +++ b/packages/babel-compiler/package.js @@ -6,11 +6,11 @@ Package.describe({ // isn't possible because you can't publish a non-recommended // release with package versions that don't have a pre-release // identifier at the end (eg, -dev) - version: '7.0.5' + version: '7.0.6' }); Npm.depends({ - 'meteor-babel': '7.0.0-beta.40-2' + 'meteor-babel': '7.0.0-beta.42' }); Package.onUse(function (api) { diff --git a/packages/ecmascript/package.js b/packages/ecmascript/package.js index 5e3dd2307f..ed241a0f29 100644 --- a/packages/ecmascript/package.js +++ b/packages/ecmascript/package.js @@ -1,6 +1,6 @@ Package.describe({ name: 'ecmascript', - version: '0.10.5', + version: '0.10.6', summary: 'Compiler plugin that supports ES2015+ in all .js files', documentation: 'README.md' }); diff --git a/packages/ecmascript/transpilation-tests.js b/packages/ecmascript/transpilation-tests.js index 50b36dddc0..ce7015fc69 100644 --- a/packages/ecmascript/transpilation-tests.js +++ b/packages/ecmascript/transpilation-tests.js @@ -82,7 +82,7 @@ Tinytest.add("ecmascript - transpilation - helpers - extends", (test) => { var full = {a:1, ...middle, d:4}; `); - test.isTrue(/helpers\/(builtin\/)?extends/.test(output)); + test.isTrue(/helpers\/(builtin\/)?(extends|objectSpread)/.test(output)); }); Tinytest.add("ecmascript - transpilation - helpers - objectWithoutProperties", (test) => { diff --git a/scripts/dev-bundle-tool-package.js b/scripts/dev-bundle-tool-package.js index 07e32802b3..00dcf6bb13 100644 --- a/scripts/dev-bundle-tool-package.js +++ b/scripts/dev-bundle-tool-package.js @@ -14,13 +14,13 @@ var packageJson = { pacote: "https://github.com/meteor/pacote/tarball/30973f140df79b647dbade03f2d6f19800c2609b", "node-gyp": "3.6.2", "node-pre-gyp": "0.6.36", - "meteor-babel": "7.0.0-beta.40-2", + "meteor-babel": "7.0.0-beta.42", "meteor-promise": "0.8.6", promise: "8.0.1", reify: "0.14.2", fibers: "2.0.0", // So that Babel can emit require("@babel/runtime/helpers/...") calls. - "@babel/runtime": "7.0.0-beta.40", + "@babel/runtime": "7.0.0-beta.42", // For backwards compatibility with isopackets that still depend on // babel-runtime rather than @babel/runtime. "babel-runtime": "7.0.0-beta.3", diff --git a/tools/isobuild/isopack.js b/tools/isobuild/isopack.js index 8a0b0fb683..aca695b1fb 100644 --- a/tools/isobuild/isopack.js +++ b/tools/isobuild/isopack.js @@ -1445,7 +1445,6 @@ _.extend(Isopack.prototype, { _.extend(babelOptions, { filename: path, sourceFileName: "/" + path, - sourceMapTarget: path + ".map", sourceMap: true }); @@ -1457,7 +1456,12 @@ _.extend(Isopack.prototype, { data: Buffer.from(transpiled.code + "\n" + sourceMapUrlComment, 'utf8') }); - builder.write(path + ".map", { + // The babelOptions.sourceMapTarget option was deprecated in Babel + // 7.0.0-beta.41: https://github.com/babel/babel/pull/7500 + const sourceMapTarget = path + ".map"; + transpiled.map.file = sourceMapTarget; + + builder.write(sourceMapTarget, { data: Buffer.from(JSON.stringify(transpiled.map), 'utf8') }); }); From 228e5d8090a3c6502b7e71fb916b717084cc3b5d Mon Sep 17 00:00:00 2001 From: Ben Newman Date: Tue, 20 Mar 2018 19:27:29 -0400 Subject: [PATCH 0653/1355] Bump $BUNDLE_VERSION to 8.9.25 before rebuilding dev bundle. --- meteor | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/meteor b/meteor index 4a155067b4..adda825a51 100755 --- a/meteor +++ b/meteor @@ -1,6 +1,6 @@ #!/usr/bin/env bash -BUNDLE_VERSION=8.9.24 +BUNDLE_VERSION=8.9.25 # OS Check. Put here because here is where we download the precompiled # bundles that are arch specific. From 41b0b309c6f4cf537e57e25d00880ac4470e4a29 Mon Sep 17 00:00:00 2001 From: Ben Newman Date: Tue, 20 Mar 2018 20:29:00 -0400 Subject: [PATCH 0654/1355] Bump @babel/runtime to latest version in various package[-lock].json files. --- tools/static-assets/skel-bare/package.json | 2 +- tools/static-assets/skel-full/package.json | 2 +- tools/static-assets/skel/package.json | 2 +- tools/tests/apps/app-config/package-lock.json | 165 ++++--- tools/tests/apps/app-config/package.json | 2 +- .../apps/dynamic-import/package-lock.json | 191 ++++---- tools/tests/apps/dynamic-import/package.json | 2 +- .../apps/meteor-ignore/package-lock.json | 453 ++++++++++------- tools/tests/apps/meteor-ignore/package.json | 2 +- tools/tests/apps/modules/package-lock.json | 457 ++++++++++-------- tools/tests/apps/modules/package.json | 2 +- 11 files changed, 747 insertions(+), 533 deletions(-) diff --git a/tools/static-assets/skel-bare/package.json b/tools/static-assets/skel-bare/package.json index b8beef5529..823c962dc3 100644 --- a/tools/static-assets/skel-bare/package.json +++ b/tools/static-assets/skel-bare/package.json @@ -5,7 +5,7 @@ "start": "meteor run" }, "dependencies": { - "@babel/runtime": "^7.0.0-beta.36", + "@babel/runtime": "^7.0.0-beta.42", "meteor-node-stubs": "^0.3.2" } } diff --git a/tools/static-assets/skel-full/package.json b/tools/static-assets/skel-full/package.json index 0cf055e170..14c8d6b49c 100644 --- a/tools/static-assets/skel-full/package.json +++ b/tools/static-assets/skel-full/package.json @@ -6,7 +6,7 @@ "test": "meteor test --once --driver-package meteortesting:mocha" }, "dependencies": { - "@babel/runtime": "^7.0.0-beta.36", + "@babel/runtime": "^7.0.0-beta.42", "meteor-node-stubs": "^0.3.2" }, "devDependencies": { diff --git a/tools/static-assets/skel/package.json b/tools/static-assets/skel/package.json index 4816537dc8..e6aa33f443 100644 --- a/tools/static-assets/skel/package.json +++ b/tools/static-assets/skel/package.json @@ -8,7 +8,7 @@ "visualize": "meteor --production --extra-packages bundle-visualizer" }, "dependencies": { - "@babel/runtime": "^7.0.0-beta.40", + "@babel/runtime": "^7.0.0-beta.42", "meteor-node-stubs": "^0.3.2" }, "meteor": { diff --git a/tools/tests/apps/app-config/package-lock.json b/tools/tests/apps/app-config/package-lock.json index 82fe1359d1..a8043c1dbf 100644 --- a/tools/tests/apps/app-config/package-lock.json +++ b/tools/tests/apps/app-config/package-lock.json @@ -4,9 +4,9 @@ "lockfileVersion": 1, "dependencies": { "@babel/runtime": { - "version": "7.0.0-beta.40", - "resolved": "https://registry.npmjs.org/@babel/runtime/-/runtime-7.0.0-beta.40.tgz", - "integrity": "sha512-vIM68NUCWauZJTFoVUG1lggva1I8FLB9zFKwWG7Xjin4FkHpEKJv2y4x1DGVPVt93S5/zHSBj1bXYEuxOkFGzg==", + "version": "7.0.0-beta.42", + "resolved": "https://registry.npmjs.org/@babel/runtime/-/runtime-7.0.0-beta.42.tgz", + "integrity": "sha512-iOGRzUoONLOtmCvjUsZv3mZzgCT6ljHQY5fr1qG1QIiJQwtM7zbPWGGpa3QWETq+UqwWyJnoi5XZDZRwZDFciQ==", "requires": { "core-js": "2.5.3", "regenerator-runtime": "0.11.1" @@ -18,28 +18,28 @@ "integrity": "sha1-isw4NFgk8W2DZbfJtCWRaOjtYD4=" }, "meteor-node-stubs": { - "version": "0.3.2", - "resolved": "https://registry.npmjs.org/meteor-node-stubs/-/meteor-node-stubs-0.3.2.tgz", - "integrity": "sha512-l93SS/HutbqBRJODO2m7hup8cYI2acF5bB39+ZvP2BX8HMmCSCXeFH7v0sr4hD7zrVvHQA5UqS0pcDYKn0VM6g==", + "version": "0.3.3", + "resolved": "https://registry.npmjs.org/meteor-node-stubs/-/meteor-node-stubs-0.3.3.tgz", + "integrity": "sha512-TI1aQRK0vqs94OCkUMkmf5lXNWfIsjSaEDP1inUuwRGt9w8/S2V+HdRikz9r1k/gew+7NcJieaqHsHX7pSTEgA==", "requires": { "assert": "1.4.1", "browserify-zlib": "0.1.4", "buffer": "4.9.1", "console-browserify": "1.1.0", "constants-browserify": "1.0.0", - "crypto-browserify": "3.11.1", - "domain-browser": "1.1.7", + "crypto-browserify": "3.12.0", + "domain-browser": "1.2.0", "events": "1.1.1", - "http-browserify": "1.7.0", "https-browserify": "0.0.1", "os-browserify": "0.2.1", "path-browserify": "0.0.0", "process": "0.11.10", "punycode": "1.4.1", "querystring-es3": "0.2.1", - "readable-stream": "git+https://github.com/meteor/readable-stream.git#d64a64aa6061b9b6855feff4d09e58fb3b2e4502", + "readable-stream": "git+https://github.com/meteor/readable-stream.git#c688cdd193549919b840e8d72a86682d91961e12", "stream-browserify": "2.0.1", - "string_decoder": "1.0.3", + "stream-http": "2.8.0", + "string_decoder": "1.1.0", "timers-browserify": "1.4.2", "tty-browserify": "0.0.0", "url": "0.11.0", @@ -47,15 +47,10 @@ "vm-browserify": "0.0.4" }, "dependencies": { - "Base64": { - "version": "0.2.1", - "resolved": "https://registry.npmjs.org/Base64/-/Base64-0.2.1.tgz", - "integrity": "sha1-ujpCMHCOGGcFBl5mur3Uw1z2ACg=" - }, "asn1.js": { - "version": "4.9.1", - "resolved": "https://registry.npmjs.org/asn1.js/-/asn1.js-4.9.1.tgz", - "integrity": "sha1-SLokC0WpKA6UdImQull9IWYX/UA=", + "version": "4.10.1", + "resolved": "https://registry.npmjs.org/asn1.js/-/asn1.js-4.10.1.tgz", + "integrity": "sha512-p32cOF5q0Zqs9uBiONKYLm6BClCoBCM5O9JfeUSlnQLBTxYdTK+pW+nXflm8UkKd2UYlEbYz5qEi0JuZR9ckSw==", "requires": { "bn.js": "4.11.8", "inherits": "2.0.1", @@ -76,9 +71,9 @@ "integrity": "sha1-ibTRmasr7kneFk6gK4nORi1xt2c=" }, "base64-js": { - "version": "1.2.1", - "resolved": "https://registry.npmjs.org/base64-js/-/base64-js-1.2.1.tgz", - "integrity": "sha512-dwVUVIXsBZXwTuwnXI9RK8sBmgq09NDHzyR9SAph9eqk76gKK2JSQmZARC2zRC81JC2QTtxD0ARU5qTS25gIGw==" + "version": "1.2.3", + "resolved": "https://registry.npmjs.org/base64-js/-/base64-js-1.2.3.tgz", + "integrity": "sha512-MsAhsUW1GxCdgYSO6tAfZrNapmUKk7mWx/k5mFY/A1gBtkaCaNapTg+FExCw1r9yeaZhqx/xPg43xgTFH6KL5w==" }, "bn.js": { "version": "4.11.8", @@ -86,9 +81,9 @@ "integrity": "sha512-ItfYfPLkWHUjckQCk8xC+LwxgK8NYcXywGigJgSwOP8Y2iyWT4f2vsZnoOXTTbo+o5yXmIUJ4gn5538SO5S3gA==" }, "brace-expansion": { - "version": "1.1.8", - "resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-1.1.8.tgz", - "integrity": "sha1-wHshHHyVLsH479Uad+8NHTmQopI=", + "version": "1.1.11", + "resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-1.1.11.tgz", + "integrity": "sha512-iCuPHDFgrHX7H2vEI/5xpz07zSHB00TpugqhmYtVmMO6518mCuRMoOYFldEBl0g187ufozdaHgWKcYFb61qGiA==", "requires": { "balanced-match": "1.0.0", "concat-map": "0.0.1" @@ -100,9 +95,9 @@ "integrity": "sha1-EsJe/kCkXjwyPrhnWgoM5XsiNx8=" }, "browserify-aes": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/browserify-aes/-/browserify-aes-1.1.0.tgz", - "integrity": "sha512-W2bIMLYoZ9oow7TyePpMJk9l9LY7O3R61a/68bVCDOtnJynnwe3ZeW2IzzSkrQnPKNdJrxVDn3ALZNisSBwb7g==", + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/browserify-aes/-/browserify-aes-1.1.1.tgz", + "integrity": "sha512-UGnTYAnB2a3YuYKIRy1/4FB2HdM866E0qC46JXvVTYKlBlZlnvfpSfY6OKfXZAkv70eJ2a1SqzpAo5CRhZGDFg==", "requires": { "buffer-xor": "1.0.3", "cipher-base": "1.0.4", @@ -117,7 +112,7 @@ "resolved": "https://registry.npmjs.org/browserify-cipher/-/browserify-cipher-1.0.0.tgz", "integrity": "sha1-mYgkSHS/XtTijalWZtzWasj8Njo=", "requires": { - "browserify-aes": "1.1.0", + "browserify-aes": "1.1.1", "browserify-des": "1.0.0", "evp_bytestokey": "1.0.3" } @@ -138,7 +133,7 @@ "integrity": "sha1-IeCr+vbyApzy+vsTNWenAdQTVSQ=", "requires": { "bn.js": "4.11.8", - "randombytes": "2.0.5" + "randombytes": "2.0.6" } }, "browserify-sign": { @@ -168,7 +163,7 @@ "resolved": "https://registry.npmjs.org/buffer/-/buffer-4.9.1.tgz", "integrity": "sha1-bRu2AbB6TvztlwlBMgkwJ8lbwpg=", "requires": { - "base64-js": "1.2.1", + "base64-js": "1.2.3", "ieee754": "1.1.8", "isarray": "1.0.0" } @@ -178,6 +173,11 @@ "resolved": "https://registry.npmjs.org/buffer-xor/-/buffer-xor-1.0.3.tgz", "integrity": "sha1-JuYe0UIvtw3ULm42cp7VHYVf6Nk=" }, + "builtin-status-codes": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/builtin-status-codes/-/builtin-status-codes-3.0.0.tgz", + "integrity": "sha1-hZgoeOIbmOHGZCXgPQF0eI9Wnug=" + }, "cipher-base": { "version": "1.0.4", "resolved": "https://registry.npmjs.org/cipher-base/-/cipher-base-1.0.4.tgz", @@ -222,7 +222,7 @@ "cipher-base": "1.0.4", "inherits": "2.0.1", "ripemd160": "2.0.1", - "sha.js": "2.4.9" + "sha.js": "2.4.10" } }, "create-hmac": { @@ -235,13 +235,13 @@ "inherits": "2.0.1", "ripemd160": "2.0.1", "safe-buffer": "5.1.1", - "sha.js": "2.4.9" + "sha.js": "2.4.10" } }, "crypto-browserify": { - "version": "3.11.1", - "resolved": "https://registry.npmjs.org/crypto-browserify/-/crypto-browserify-3.11.1.tgz", - "integrity": "sha512-Na7ZlwCOqoaW5RwUK1WpXws2kv8mNhWdTlzob0UXulk6G9BDbyiJaGTYBIX61Ozn9l1EPPJpICZb4DaOpT9NlQ==", + "version": "3.12.0", + "resolved": "https://registry.npmjs.org/crypto-browserify/-/crypto-browserify-3.12.0.tgz", + "integrity": "sha512-fz4spIh+znjO2VjL+IdhEpRJ3YN6sMzITSBijk6FK2UvTqruSQW+/cCZTSNsMiZNvUeq0CqurF+dAbyiGOY6Wg==", "requires": { "browserify-cipher": "1.0.0", "browserify-sign": "4.0.4", @@ -252,7 +252,8 @@ "inherits": "2.0.1", "pbkdf2": "3.0.14", "public-encrypt": "4.0.0", - "randombytes": "2.0.5" + "randombytes": "2.0.6", + "randomfill": "1.0.4" } }, "date-now": { @@ -276,13 +277,13 @@ "requires": { "bn.js": "4.11.8", "miller-rabin": "4.0.1", - "randombytes": "2.0.5" + "randombytes": "2.0.6" } }, "domain-browser": { - "version": "1.1.7", - "resolved": "https://registry.npmjs.org/domain-browser/-/domain-browser-1.1.7.tgz", - "integrity": "sha1-hnqksJP6oF8d4IwG9NeyH9+GmLw=" + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/domain-browser/-/domain-browser-1.2.0.tgz", + "integrity": "sha512-jnjyiM6eRyZl2H+W8Q/zLMA481hzi0eszAaBUzIVnmYVDBbnLxVNnfu1HgEBvCbL+71FrxMl3E6lpKH7Ge3OXA==" }, "elliptic": { "version": "6.4.0", @@ -364,15 +365,6 @@ "minimalistic-crypto-utils": "1.0.1" } }, - "http-browserify": { - "version": "1.7.0", - "resolved": "https://registry.npmjs.org/http-browserify/-/http-browserify-1.7.0.tgz", - "integrity": "sha1-M3la3nLfiKz7/TZ3PO/tp2RzWyA=", - "requires": { - "Base64": "0.2.1", - "inherits": "2.0.1" - } - }, "https-browserify": { "version": "0.0.1", "resolved": "https://registry.npmjs.org/https-browserify/-/https-browserify-0.0.1.tgz", @@ -451,7 +443,7 @@ "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-3.0.4.tgz", "integrity": "sha512-yJHVQEhyqPLUTgt9B83PXu6W3rx4MvvHvSUvToogpwoGDOUQ+yDrR0HRot+yOCdCO7u4hX3pWft6kWBBcqh0UA==", "requires": { - "brace-expansion": "1.1.8" + "brace-expansion": "1.1.11" } }, "once": { @@ -477,8 +469,8 @@ "resolved": "https://registry.npmjs.org/parse-asn1/-/parse-asn1-5.1.0.tgz", "integrity": "sha1-N8T5t+06tlx0gXtfJICTf7+XxxI=", "requires": { - "asn1.js": "4.9.1", - "browserify-aes": "1.1.0", + "asn1.js": "4.10.1", + "browserify-aes": "1.1.1", "create-hash": "1.1.3", "evp_bytestokey": "1.0.3", "pbkdf2": "3.0.14" @@ -503,7 +495,7 @@ "create-hmac": "1.1.6", "ripemd160": "2.0.1", "safe-buffer": "5.1.1", - "sha.js": "2.4.9" + "sha.js": "2.4.10" } }, "process": { @@ -512,9 +504,9 @@ "integrity": "sha1-czIwDoQBYb2j5podHZGn1LwW8YI=" }, "process-nextick-args": { - "version": "1.0.7", - "resolved": "https://registry.npmjs.org/process-nextick-args/-/process-nextick-args-1.0.7.tgz", - "integrity": "sha1-FQ4gt1ZZCtP5EJPyWk8q2L/zC6M=" + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/process-nextick-args/-/process-nextick-args-2.0.0.tgz", + "integrity": "sha512-MtEC1TqN0EU5nephaJ4rAtThHtC86dNN9qCuEhtshvpVBkAW5ZO7BASN9REnF9eoXGcRub+pFuKEpOHE+HbEMw==" }, "public-encrypt": { "version": "4.0.0", @@ -525,7 +517,7 @@ "browserify-rsa": "4.0.1", "create-hash": "1.1.3", "parse-asn1": "5.1.0", - "randombytes": "2.0.5" + "randombytes": "2.0.6" } }, "punycode": { @@ -544,21 +536,30 @@ "integrity": "sha1-nsYfeQSYdXB9aUFFlv2Qek1xHnM=" }, "randombytes": { - "version": "2.0.5", - "resolved": "https://registry.npmjs.org/randombytes/-/randombytes-2.0.5.tgz", - "integrity": "sha512-8T7Zn1AhMsQ/HI1SjcCfT/t4ii3eAqco3yOcSzS4mozsOz69lHLsoMXmF9nZgnFanYscnSlUSgs8uZyKzpE6kg==", + "version": "2.0.6", + "resolved": "https://registry.npmjs.org/randombytes/-/randombytes-2.0.6.tgz", + "integrity": "sha512-CIQ5OFxf4Jou6uOKe9t1AOgqpeU5fd70A8NPdHSGeYXqXsPe6peOwI0cUl88RWZ6sP1vPMV3avd/R6cZ5/sP1A==", "requires": { "safe-buffer": "5.1.1" } }, + "randomfill": { + "version": "1.0.4", + "resolved": "https://registry.npmjs.org/randomfill/-/randomfill-1.0.4.tgz", + "integrity": "sha512-87lcbR8+MhcWcUiQ+9e+Rwx8MyR2P7qnt15ynUlbm3TU/fjbgz4GsvfSUDTemtCCtVCqb4ZcEFlyPNTh9bBTLw==", + "requires": { + "randombytes": "2.0.6", + "safe-buffer": "5.1.1" + } + }, "readable-stream": { - "version": "git+https://github.com/meteor/readable-stream.git#d64a64aa6061b9b6855feff4d09e58fb3b2e4502", + "version": "git+https://github.com/meteor/readable-stream.git#c688cdd193549919b840e8d72a86682d91961e12", "requires": { "inherits": "2.0.3", "isarray": "1.0.0", - "process-nextick-args": "1.0.7", + "process-nextick-args": "2.0.0", "safe-buffer": "5.1.1", - "string_decoder": "1.0.3", + "string_decoder": "1.1.0", "util-deprecate": "1.0.2" }, "dependencies": { @@ -592,9 +593,9 @@ "integrity": "sha512-kKvNJn6Mm93gAczWVJg7wH+wGYWNrDHdWvpUmHyEsgCtIwwo3bqPtV4tR5tuPaUhTOo/kvhVwd8XwwOllGYkbg==" }, "sha.js": { - "version": "2.4.9", - "resolved": "https://registry.npmjs.org/sha.js/-/sha.js-2.4.9.tgz", - "integrity": "sha512-G8zektVqbiPHrylgew9Zg1VRB1L/DtXNUVAM6q4QLy8NE3qtHlFXTf8VLL4k1Yl6c7NMjtZUTdXV+X44nFaT6A==", + "version": "2.4.10", + "resolved": "https://registry.npmjs.org/sha.js/-/sha.js-2.4.10.tgz", + "integrity": "sha512-vnwmrFDlOExK4Nm16J2KMWHLrp14lBrjxMxBJpu++EnsuBmpiYaM/MEs46Vxxm/4FvdP5yTwuCTO9it5FSjrqA==", "requires": { "inherits": "2.0.1", "safe-buffer": "5.1.1" @@ -606,13 +607,25 @@ "integrity": "sha1-ZiZu5fm9uZQKTkUUyvtDu3Hlyds=", "requires": { "inherits": "2.0.1", - "readable-stream": "git+https://github.com/meteor/readable-stream.git#d64a64aa6061b9b6855feff4d09e58fb3b2e4502" + "readable-stream": "git+https://github.com/meteor/readable-stream.git#c688cdd193549919b840e8d72a86682d91961e12" + } + }, + "stream-http": { + "version": "2.8.0", + "resolved": "https://registry.npmjs.org/stream-http/-/stream-http-2.8.0.tgz", + "integrity": "sha512-sZOFxI/5xw058XIRHl4dU3dZ+TTOIGJR78Dvo0oEAejIt4ou27k+3ne1zYmCV+v7UucbxIFQuOgnkTVHh8YPnw==", + "requires": { + "builtin-status-codes": "3.0.0", + "inherits": "2.0.1", + "readable-stream": "git+https://github.com/meteor/readable-stream.git#c688cdd193549919b840e8d72a86682d91961e12", + "to-arraybuffer": "1.0.1", + "xtend": "4.0.1" } }, "string_decoder": { - "version": "1.0.3", - "resolved": "https://registry.npmjs.org/string_decoder/-/string_decoder-1.0.3.tgz", - "integrity": "sha512-4AH6Z5fzNNBcH+6XDMfA/BTt87skxqJlO0lAh3Dker5zThcAxG6mKz+iGu308UKoPPQ8Dcqx/4JhujzltRa+hQ==", + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/string_decoder/-/string_decoder-1.1.0.tgz", + "integrity": "sha512-8zQpRF6juocE69ae7CSPmYEGJe4VCXwP6S6dxUWI7i53Gwv54/ec41fiUA+X7BPGGv7fRSQJjBQVa0gomGaOgg==", "requires": { "safe-buffer": "5.1.1" } @@ -625,6 +638,11 @@ "process": "0.11.10" } }, + "to-arraybuffer": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/to-arraybuffer/-/to-arraybuffer-1.0.1.tgz", + "integrity": "sha1-fSKbH8xjfkZsoIEYCDanqr/4P0M=" + }, "tty-browserify": { "version": "0.0.0", "resolved": "https://registry.npmjs.org/tty-browserify/-/tty-browserify-0.0.0.tgz", @@ -671,6 +689,11 @@ "version": "1.0.2", "resolved": "https://registry.npmjs.org/wrappy/-/wrappy-1.0.2.tgz", "integrity": "sha1-tSQ9jz7BqjXxNkYFvA0QNuMKtp8=" + }, + "xtend": { + "version": "4.0.1", + "resolved": "https://registry.npmjs.org/xtend/-/xtend-4.0.1.tgz", + "integrity": "sha1-pcbVMr5lbiPbgg77lDofBJmNY68=" } } }, diff --git a/tools/tests/apps/app-config/package.json b/tools/tests/apps/app-config/package.json index 4b3af171e5..2dea95566e 100644 --- a/tools/tests/apps/app-config/package.json +++ b/tools/tests/apps/app-config/package.json @@ -5,7 +5,7 @@ "start": "meteor run" }, "dependencies": { - "@babel/runtime": "^7.0.0-beta.36", + "@babel/runtime": "^7.0.0-beta.42", "meteor-node-stubs": "^0.3.2" }, "meteor": { diff --git a/tools/tests/apps/dynamic-import/package-lock.json b/tools/tests/apps/dynamic-import/package-lock.json index 31f8c7b647..b6ed0e9ca0 100644 --- a/tools/tests/apps/dynamic-import/package-lock.json +++ b/tools/tests/apps/dynamic-import/package-lock.json @@ -4,9 +4,9 @@ "lockfileVersion": 1, "dependencies": { "@babel/runtime": { - "version": "7.0.0-beta.40", - "resolved": "https://registry.npmjs.org/@babel/runtime/-/runtime-7.0.0-beta.40.tgz", - "integrity": "sha512-vIM68NUCWauZJTFoVUG1lggva1I8FLB9zFKwWG7Xjin4FkHpEKJv2y4x1DGVPVt93S5/zHSBj1bXYEuxOkFGzg==", + "version": "7.0.0-beta.42", + "resolved": "https://registry.npmjs.org/@babel/runtime/-/runtime-7.0.0-beta.42.tgz", + "integrity": "sha512-iOGRzUoONLOtmCvjUsZv3mZzgCT6ljHQY5fr1qG1QIiJQwtM7zbPWGGpa3QWETq+UqwWyJnoi5XZDZRwZDFciQ==", "requires": { "core-js": "2.5.3", "regenerator-runtime": "0.11.1" @@ -18,9 +18,9 @@ "integrity": "sha1-EFSVrlNh1pe9GVyCUZLhrX8lN4c=" }, "arson": { - "version": "0.2.5", - "resolved": "https://registry.npmjs.org/arson/-/arson-0.2.5.tgz", - "integrity": "sha1-KlW7D62x4zHTM6veYnn2eCdie6M=" + "version": "0.2.6", + "resolved": "https://registry.npmjs.org/arson/-/arson-0.2.6.tgz", + "integrity": "sha512-wVRnIfjOaCWu3jrf3j1CU/eotDf7tuM34cBswo32EwyLPaMiaWgETfROdYVv47VWEbWSOaZaDnkypGQtQduLbw==" }, "asap": { "version": "2.0.6", @@ -103,28 +103,28 @@ } }, "meteor-node-stubs": { - "version": "0.3.2", - "resolved": "https://registry.npmjs.org/meteor-node-stubs/-/meteor-node-stubs-0.3.2.tgz", - "integrity": "sha512-l93SS/HutbqBRJODO2m7hup8cYI2acF5bB39+ZvP2BX8HMmCSCXeFH7v0sr4hD7zrVvHQA5UqS0pcDYKn0VM6g==", + "version": "0.3.3", + "resolved": "https://registry.npmjs.org/meteor-node-stubs/-/meteor-node-stubs-0.3.3.tgz", + "integrity": "sha512-TI1aQRK0vqs94OCkUMkmf5lXNWfIsjSaEDP1inUuwRGt9w8/S2V+HdRikz9r1k/gew+7NcJieaqHsHX7pSTEgA==", "requires": { "assert": "1.4.1", "browserify-zlib": "0.1.4", "buffer": "4.9.1", "console-browserify": "1.1.0", "constants-browserify": "1.0.0", - "crypto-browserify": "3.11.1", - "domain-browser": "1.1.7", + "crypto-browserify": "3.12.0", + "domain-browser": "1.2.0", "events": "1.1.1", - "http-browserify": "1.7.0", "https-browserify": "0.0.1", "os-browserify": "0.2.1", "path-browserify": "0.0.0", "process": "0.11.10", "punycode": "1.4.1", "querystring-es3": "0.2.1", - "readable-stream": "git+https://github.com/meteor/readable-stream.git#d64a64aa6061b9b6855feff4d09e58fb3b2e4502", + "readable-stream": "git+https://github.com/meteor/readable-stream.git#c688cdd193549919b840e8d72a86682d91961e12", "stream-browserify": "2.0.1", - "string_decoder": "1.0.3", + "stream-http": "2.8.0", + "string_decoder": "1.1.0", "timers-browserify": "1.4.2", "tty-browserify": "0.0.0", "url": "0.11.0", @@ -132,15 +132,10 @@ "vm-browserify": "0.0.4" }, "dependencies": { - "Base64": { - "version": "0.2.1", - "resolved": "https://registry.npmjs.org/Base64/-/Base64-0.2.1.tgz", - "integrity": "sha1-ujpCMHCOGGcFBl5mur3Uw1z2ACg=" - }, "asn1.js": { - "version": "4.9.1", - "resolved": "https://registry.npmjs.org/asn1.js/-/asn1.js-4.9.1.tgz", - "integrity": "sha1-SLokC0WpKA6UdImQull9IWYX/UA=", + "version": "4.10.1", + "resolved": "https://registry.npmjs.org/asn1.js/-/asn1.js-4.10.1.tgz", + "integrity": "sha512-p32cOF5q0Zqs9uBiONKYLm6BClCoBCM5O9JfeUSlnQLBTxYdTK+pW+nXflm8UkKd2UYlEbYz5qEi0JuZR9ckSw==", "requires": { "bn.js": "4.11.8", "inherits": "2.0.1", @@ -161,9 +156,9 @@ "integrity": "sha1-ibTRmasr7kneFk6gK4nORi1xt2c=" }, "base64-js": { - "version": "1.2.1", - "resolved": "https://registry.npmjs.org/base64-js/-/base64-js-1.2.1.tgz", - "integrity": "sha512-dwVUVIXsBZXwTuwnXI9RK8sBmgq09NDHzyR9SAph9eqk76gKK2JSQmZARC2zRC81JC2QTtxD0ARU5qTS25gIGw==" + "version": "1.2.3", + "resolved": "https://registry.npmjs.org/base64-js/-/base64-js-1.2.3.tgz", + "integrity": "sha512-MsAhsUW1GxCdgYSO6tAfZrNapmUKk7mWx/k5mFY/A1gBtkaCaNapTg+FExCw1r9yeaZhqx/xPg43xgTFH6KL5w==" }, "bn.js": { "version": "4.11.8", @@ -171,9 +166,9 @@ "integrity": "sha512-ItfYfPLkWHUjckQCk8xC+LwxgK8NYcXywGigJgSwOP8Y2iyWT4f2vsZnoOXTTbo+o5yXmIUJ4gn5538SO5S3gA==" }, "brace-expansion": { - "version": "1.1.8", - "resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-1.1.8.tgz", - "integrity": "sha1-wHshHHyVLsH479Uad+8NHTmQopI=", + "version": "1.1.11", + "resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-1.1.11.tgz", + "integrity": "sha512-iCuPHDFgrHX7H2vEI/5xpz07zSHB00TpugqhmYtVmMO6518mCuRMoOYFldEBl0g187ufozdaHgWKcYFb61qGiA==", "requires": { "balanced-match": "1.0.0", "concat-map": "0.0.1" @@ -185,9 +180,9 @@ "integrity": "sha1-EsJe/kCkXjwyPrhnWgoM5XsiNx8=" }, "browserify-aes": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/browserify-aes/-/browserify-aes-1.1.0.tgz", - "integrity": "sha512-W2bIMLYoZ9oow7TyePpMJk9l9LY7O3R61a/68bVCDOtnJynnwe3ZeW2IzzSkrQnPKNdJrxVDn3ALZNisSBwb7g==", + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/browserify-aes/-/browserify-aes-1.1.1.tgz", + "integrity": "sha512-UGnTYAnB2a3YuYKIRy1/4FB2HdM866E0qC46JXvVTYKlBlZlnvfpSfY6OKfXZAkv70eJ2a1SqzpAo5CRhZGDFg==", "requires": { "buffer-xor": "1.0.3", "cipher-base": "1.0.4", @@ -202,7 +197,7 @@ "resolved": "https://registry.npmjs.org/browserify-cipher/-/browserify-cipher-1.0.0.tgz", "integrity": "sha1-mYgkSHS/XtTijalWZtzWasj8Njo=", "requires": { - "browserify-aes": "1.1.0", + "browserify-aes": "1.1.1", "browserify-des": "1.0.0", "evp_bytestokey": "1.0.3" } @@ -223,7 +218,7 @@ "integrity": "sha1-IeCr+vbyApzy+vsTNWenAdQTVSQ=", "requires": { "bn.js": "4.11.8", - "randombytes": "2.0.5" + "randombytes": "2.0.6" } }, "browserify-sign": { @@ -253,7 +248,7 @@ "resolved": "https://registry.npmjs.org/buffer/-/buffer-4.9.1.tgz", "integrity": "sha1-bRu2AbB6TvztlwlBMgkwJ8lbwpg=", "requires": { - "base64-js": "1.2.1", + "base64-js": "1.2.3", "ieee754": "1.1.8", "isarray": "1.0.0" } @@ -263,6 +258,11 @@ "resolved": "https://registry.npmjs.org/buffer-xor/-/buffer-xor-1.0.3.tgz", "integrity": "sha1-JuYe0UIvtw3ULm42cp7VHYVf6Nk=" }, + "builtin-status-codes": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/builtin-status-codes/-/builtin-status-codes-3.0.0.tgz", + "integrity": "sha1-hZgoeOIbmOHGZCXgPQF0eI9Wnug=" + }, "cipher-base": { "version": "1.0.4", "resolved": "https://registry.npmjs.org/cipher-base/-/cipher-base-1.0.4.tgz", @@ -307,7 +307,7 @@ "cipher-base": "1.0.4", "inherits": "2.0.1", "ripemd160": "2.0.1", - "sha.js": "2.4.9" + "sha.js": "2.4.10" } }, "create-hmac": { @@ -320,13 +320,13 @@ "inherits": "2.0.1", "ripemd160": "2.0.1", "safe-buffer": "5.1.1", - "sha.js": "2.4.9" + "sha.js": "2.4.10" } }, "crypto-browserify": { - "version": "3.11.1", - "resolved": "https://registry.npmjs.org/crypto-browserify/-/crypto-browserify-3.11.1.tgz", - "integrity": "sha512-Na7ZlwCOqoaW5RwUK1WpXws2kv8mNhWdTlzob0UXulk6G9BDbyiJaGTYBIX61Ozn9l1EPPJpICZb4DaOpT9NlQ==", + "version": "3.12.0", + "resolved": "https://registry.npmjs.org/crypto-browserify/-/crypto-browserify-3.12.0.tgz", + "integrity": "sha512-fz4spIh+znjO2VjL+IdhEpRJ3YN6sMzITSBijk6FK2UvTqruSQW+/cCZTSNsMiZNvUeq0CqurF+dAbyiGOY6Wg==", "requires": { "browserify-cipher": "1.0.0", "browserify-sign": "4.0.4", @@ -337,7 +337,8 @@ "inherits": "2.0.1", "pbkdf2": "3.0.14", "public-encrypt": "4.0.0", - "randombytes": "2.0.5" + "randombytes": "2.0.6", + "randomfill": "1.0.4" } }, "date-now": { @@ -361,13 +362,13 @@ "requires": { "bn.js": "4.11.8", "miller-rabin": "4.0.1", - "randombytes": "2.0.5" + "randombytes": "2.0.6" } }, "domain-browser": { - "version": "1.1.7", - "resolved": "https://registry.npmjs.org/domain-browser/-/domain-browser-1.1.7.tgz", - "integrity": "sha1-hnqksJP6oF8d4IwG9NeyH9+GmLw=" + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/domain-browser/-/domain-browser-1.2.0.tgz", + "integrity": "sha512-jnjyiM6eRyZl2H+W8Q/zLMA481hzi0eszAaBUzIVnmYVDBbnLxVNnfu1HgEBvCbL+71FrxMl3E6lpKH7Ge3OXA==" }, "elliptic": { "version": "6.4.0", @@ -449,15 +450,6 @@ "minimalistic-crypto-utils": "1.0.1" } }, - "http-browserify": { - "version": "1.7.0", - "resolved": "https://registry.npmjs.org/http-browserify/-/http-browserify-1.7.0.tgz", - "integrity": "sha1-M3la3nLfiKz7/TZ3PO/tp2RzWyA=", - "requires": { - "Base64": "0.2.1", - "inherits": "2.0.1" - } - }, "https-browserify": { "version": "0.0.1", "resolved": "https://registry.npmjs.org/https-browserify/-/https-browserify-0.0.1.tgz", @@ -536,7 +528,7 @@ "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-3.0.4.tgz", "integrity": "sha512-yJHVQEhyqPLUTgt9B83PXu6W3rx4MvvHvSUvToogpwoGDOUQ+yDrR0HRot+yOCdCO7u4hX3pWft6kWBBcqh0UA==", "requires": { - "brace-expansion": "1.1.8" + "brace-expansion": "1.1.11" } }, "once": { @@ -562,8 +554,8 @@ "resolved": "https://registry.npmjs.org/parse-asn1/-/parse-asn1-5.1.0.tgz", "integrity": "sha1-N8T5t+06tlx0gXtfJICTf7+XxxI=", "requires": { - "asn1.js": "4.9.1", - "browserify-aes": "1.1.0", + "asn1.js": "4.10.1", + "browserify-aes": "1.1.1", "create-hash": "1.1.3", "evp_bytestokey": "1.0.3", "pbkdf2": "3.0.14" @@ -588,7 +580,7 @@ "create-hmac": "1.1.6", "ripemd160": "2.0.1", "safe-buffer": "5.1.1", - "sha.js": "2.4.9" + "sha.js": "2.4.10" } }, "process": { @@ -597,9 +589,9 @@ "integrity": "sha1-czIwDoQBYb2j5podHZGn1LwW8YI=" }, "process-nextick-args": { - "version": "1.0.7", - "resolved": "https://registry.npmjs.org/process-nextick-args/-/process-nextick-args-1.0.7.tgz", - "integrity": "sha1-FQ4gt1ZZCtP5EJPyWk8q2L/zC6M=" + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/process-nextick-args/-/process-nextick-args-2.0.0.tgz", + "integrity": "sha512-MtEC1TqN0EU5nephaJ4rAtThHtC86dNN9qCuEhtshvpVBkAW5ZO7BASN9REnF9eoXGcRub+pFuKEpOHE+HbEMw==" }, "public-encrypt": { "version": "4.0.0", @@ -610,7 +602,7 @@ "browserify-rsa": "4.0.1", "create-hash": "1.1.3", "parse-asn1": "5.1.0", - "randombytes": "2.0.5" + "randombytes": "2.0.6" } }, "punycode": { @@ -629,21 +621,30 @@ "integrity": "sha1-nsYfeQSYdXB9aUFFlv2Qek1xHnM=" }, "randombytes": { - "version": "2.0.5", - "resolved": "https://registry.npmjs.org/randombytes/-/randombytes-2.0.5.tgz", - "integrity": "sha512-8T7Zn1AhMsQ/HI1SjcCfT/t4ii3eAqco3yOcSzS4mozsOz69lHLsoMXmF9nZgnFanYscnSlUSgs8uZyKzpE6kg==", + "version": "2.0.6", + "resolved": "https://registry.npmjs.org/randombytes/-/randombytes-2.0.6.tgz", + "integrity": "sha512-CIQ5OFxf4Jou6uOKe9t1AOgqpeU5fd70A8NPdHSGeYXqXsPe6peOwI0cUl88RWZ6sP1vPMV3avd/R6cZ5/sP1A==", "requires": { "safe-buffer": "5.1.1" } }, + "randomfill": { + "version": "1.0.4", + "resolved": "https://registry.npmjs.org/randomfill/-/randomfill-1.0.4.tgz", + "integrity": "sha512-87lcbR8+MhcWcUiQ+9e+Rwx8MyR2P7qnt15ynUlbm3TU/fjbgz4GsvfSUDTemtCCtVCqb4ZcEFlyPNTh9bBTLw==", + "requires": { + "randombytes": "2.0.6", + "safe-buffer": "5.1.1" + } + }, "readable-stream": { - "version": "git+https://github.com/meteor/readable-stream.git#d64a64aa6061b9b6855feff4d09e58fb3b2e4502", + "version": "git+https://github.com/meteor/readable-stream.git#c688cdd193549919b840e8d72a86682d91961e12", "requires": { "inherits": "2.0.3", "isarray": "1.0.0", - "process-nextick-args": "1.0.7", + "process-nextick-args": "2.0.0", "safe-buffer": "5.1.1", - "string_decoder": "1.0.3", + "string_decoder": "1.1.0", "util-deprecate": "1.0.2" }, "dependencies": { @@ -677,9 +678,9 @@ "integrity": "sha512-kKvNJn6Mm93gAczWVJg7wH+wGYWNrDHdWvpUmHyEsgCtIwwo3bqPtV4tR5tuPaUhTOo/kvhVwd8XwwOllGYkbg==" }, "sha.js": { - "version": "2.4.9", - "resolved": "https://registry.npmjs.org/sha.js/-/sha.js-2.4.9.tgz", - "integrity": "sha512-G8zektVqbiPHrylgew9Zg1VRB1L/DtXNUVAM6q4QLy8NE3qtHlFXTf8VLL4k1Yl6c7NMjtZUTdXV+X44nFaT6A==", + "version": "2.4.10", + "resolved": "https://registry.npmjs.org/sha.js/-/sha.js-2.4.10.tgz", + "integrity": "sha512-vnwmrFDlOExK4Nm16J2KMWHLrp14lBrjxMxBJpu++EnsuBmpiYaM/MEs46Vxxm/4FvdP5yTwuCTO9it5FSjrqA==", "requires": { "inherits": "2.0.1", "safe-buffer": "5.1.1" @@ -691,13 +692,25 @@ "integrity": "sha1-ZiZu5fm9uZQKTkUUyvtDu3Hlyds=", "requires": { "inherits": "2.0.1", - "readable-stream": "git+https://github.com/meteor/readable-stream.git#d64a64aa6061b9b6855feff4d09e58fb3b2e4502" + "readable-stream": "git+https://github.com/meteor/readable-stream.git#c688cdd193549919b840e8d72a86682d91961e12" + } + }, + "stream-http": { + "version": "2.8.0", + "resolved": "https://registry.npmjs.org/stream-http/-/stream-http-2.8.0.tgz", + "integrity": "sha512-sZOFxI/5xw058XIRHl4dU3dZ+TTOIGJR78Dvo0oEAejIt4ou27k+3ne1zYmCV+v7UucbxIFQuOgnkTVHh8YPnw==", + "requires": { + "builtin-status-codes": "3.0.0", + "inherits": "2.0.1", + "readable-stream": "git+https://github.com/meteor/readable-stream.git#c688cdd193549919b840e8d72a86682d91961e12", + "to-arraybuffer": "1.0.1", + "xtend": "4.0.1" } }, "string_decoder": { - "version": "1.0.3", - "resolved": "https://registry.npmjs.org/string_decoder/-/string_decoder-1.0.3.tgz", - "integrity": "sha512-4AH6Z5fzNNBcH+6XDMfA/BTt87skxqJlO0lAh3Dker5zThcAxG6mKz+iGu308UKoPPQ8Dcqx/4JhujzltRa+hQ==", + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/string_decoder/-/string_decoder-1.1.0.tgz", + "integrity": "sha512-8zQpRF6juocE69ae7CSPmYEGJe4VCXwP6S6dxUWI7i53Gwv54/ec41fiUA+X7BPGGv7fRSQJjBQVa0gomGaOgg==", "requires": { "safe-buffer": "5.1.1" } @@ -710,6 +723,11 @@ "process": "0.11.10" } }, + "to-arraybuffer": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/to-arraybuffer/-/to-arraybuffer-1.0.1.tgz", + "integrity": "sha1-fSKbH8xjfkZsoIEYCDanqr/4P0M=" + }, "tty-browserify": { "version": "0.0.0", "resolved": "https://registry.npmjs.org/tty-browserify/-/tty-browserify-0.0.0.tgz", @@ -756,13 +774,18 @@ "version": "1.0.2", "resolved": "https://registry.npmjs.org/wrappy/-/wrappy-1.0.2.tgz", "integrity": "sha1-tSQ9jz7BqjXxNkYFvA0QNuMKtp8=" + }, + "xtend": { + "version": "4.0.1", + "resolved": "https://registry.npmjs.org/xtend/-/xtend-4.0.1.tgz", + "integrity": "sha1-pcbVMr5lbiPbgg77lDofBJmNY68=" } } }, "moment": { - "version": "2.20.1", - "resolved": "https://registry.npmjs.org/moment/-/moment-2.20.1.tgz", - "integrity": "sha512-Yh9y73JRljxW5QxN08Fner68eFLxM5ynNOAw2LbIB1YAGeQzZT8QFSUvkAz609Zf+IHhhaUxqZK8dG3W/+HEvg==" + "version": "2.21.0", + "resolved": "https://registry.npmjs.org/moment/-/moment-2.21.0.tgz", + "integrity": "sha512-TCZ36BjURTeFTM/CwRcViQlfkMvL1/vFISuNLO5GkcVm1+QHfbSiNqZuWeMFjj1/3+uAjXswgRk30j1kkLYJBQ==" }, "node-fetch": { "version": "1.7.3", @@ -800,9 +823,9 @@ } }, "prop-types": { - "version": "15.6.0", - "resolved": "https://registry.npmjs.org/prop-types/-/prop-types-15.6.0.tgz", - "integrity": "sha1-zq8IMCL8RrSjX2nhPvda7Q1jmFY=", + "version": "15.6.1", + "resolved": "https://registry.npmjs.org/prop-types/-/prop-types-15.6.1.tgz", + "integrity": "sha512-4ec7bY1Y66LymSUOH/zARVYObB23AT2h8cf6e/O6ZALB/N0sqZFEx7rq6EYPX2MkOdKORuooI/H5k9TlR4q7kQ==", "requires": { "fbjs": "0.8.16", "loose-envify": "1.3.1", @@ -822,7 +845,7 @@ "fbjs": "0.8.16", "loose-envify": "1.3.1", "object-assign": "4.1.1", - "prop-types": "15.6.0" + "prop-types": "15.6.1" } }, "regenerator-runtime": { @@ -841,9 +864,9 @@ "integrity": "sha512-uRdSdu1oA1rncCQL7sCj8vSyZkgtL7faaw9Tc9rZ3mGgraQ7+Pdx7w5mnOSF3gw9ZNG6oc+KXfkon3bKuROm0g==" }, "uuid": { - "version": "3.1.0", - "resolved": "https://registry.npmjs.org/uuid/-/uuid-3.1.0.tgz", - "integrity": "sha512-DIWtzUkw04M4k3bf1IcpS2tngXEL26YUD2M0tMDUpnUrz2hgzUBlD55a4FjdLGPvfHxS6uluGWvaVEqgBcVa+g==" + "version": "3.2.1", + "resolved": "https://registry.npmjs.org/uuid/-/uuid-3.2.1.tgz", + "integrity": "sha512-jZnMwlb9Iku/O3smGWvZhauCf6cvvpKi4BKRiliS3cxnI+Gz9j5MEpTz2UFuXiKPJocb7gnsLHwiS05ige5BEA==" }, "whatwg-fetch": { "version": "2.0.3", diff --git a/tools/tests/apps/dynamic-import/package.json b/tools/tests/apps/dynamic-import/package.json index aa9f6bd151..262657e08b 100644 --- a/tools/tests/apps/dynamic-import/package.json +++ b/tools/tests/apps/dynamic-import/package.json @@ -6,7 +6,7 @@ "test": "meteor test --full-app --driver-package dispatch:mocha-browser" }, "dependencies": { - "@babel/runtime": "^7.0.0-beta.40", + "@babel/runtime": "^7.0.0-beta.42", "acorn": "^4.0.11", "arson": "^0.2.3", "meteor-node-stubs": "^0.3.2", diff --git a/tools/tests/apps/meteor-ignore/package-lock.json b/tools/tests/apps/meteor-ignore/package-lock.json index f8c2fe01f1..b935869faf 100644 --- a/tools/tests/apps/meteor-ignore/package-lock.json +++ b/tools/tests/apps/meteor-ignore/package-lock.json @@ -3,43 +3,43 @@ "requires": true, "lockfileVersion": 1, "dependencies": { - "babel-runtime": { - "version": "7.0.0-beta.1", - "resolved": "https://registry.npmjs.org/babel-runtime/-/babel-runtime-7.0.0-beta.1.tgz", - "integrity": "sha512-fFvXG9uqIwtkaLVymtS3oHnjzhdEC8Yb5Da9swQ+Ur9xCpkJlVOENyHMCVnLCO7XwDKtkUtvn/LeufKdwKd3uw==", + "@babel/runtime": { + "version": "7.0.0-beta.42", + "resolved": "https://registry.npmjs.org/@babel/runtime/-/runtime-7.0.0-beta.42.tgz", + "integrity": "sha512-iOGRzUoONLOtmCvjUsZv3mZzgCT6ljHQY5fr1qG1QIiJQwtM7zbPWGGpa3QWETq+UqwWyJnoi5XZDZRwZDFciQ==", "requires": { - "core-js": "2.5.1", - "regenerator-runtime": "0.11.0" + "core-js": "2.5.3", + "regenerator-runtime": "0.11.1" } }, "core-js": { - "version": "2.5.1", - "resolved": "https://registry.npmjs.org/core-js/-/core-js-2.5.1.tgz", - "integrity": "sha1-rmh03GaTd4m4B1T/VCjfZoGcpQs=" + "version": "2.5.3", + "resolved": "https://registry.npmjs.org/core-js/-/core-js-2.5.3.tgz", + "integrity": "sha1-isw4NFgk8W2DZbfJtCWRaOjtYD4=" }, "meteor-node-stubs": { - "version": "0.2.11", - "resolved": "https://registry.npmjs.org/meteor-node-stubs/-/meteor-node-stubs-0.2.11.tgz", - "integrity": "sha1-cV5Owc6IgkiylgThbQkiVrDLfjQ=", + "version": "0.3.3", + "resolved": "https://registry.npmjs.org/meteor-node-stubs/-/meteor-node-stubs-0.3.3.tgz", + "integrity": "sha512-TI1aQRK0vqs94OCkUMkmf5lXNWfIsjSaEDP1inUuwRGt9w8/S2V+HdRikz9r1k/gew+7NcJieaqHsHX7pSTEgA==", "requires": { "assert": "1.4.1", "browserify-zlib": "0.1.4", "buffer": "4.9.1", "console-browserify": "1.1.0", "constants-browserify": "1.0.0", - "crypto-browserify": "3.11.0", - "domain-browser": "1.1.7", + "crypto-browserify": "3.12.0", + "domain-browser": "1.2.0", "events": "1.1.1", - "http-browserify": "1.7.0", "https-browserify": "0.0.1", "os-browserify": "0.2.1", "path-browserify": "0.0.0", - "process": "0.11.9", + "process": "0.11.10", "punycode": "1.4.1", "querystring-es3": "0.2.1", - "readable-stream": "git+https://github.com/meteor/readable-stream.git#2e9112d7d31a2af6e0682db0e18679b1e5fd4694", + "readable-stream": "git+https://github.com/meteor/readable-stream.git#c688cdd193549919b840e8d72a86682d91961e12", "stream-browserify": "2.0.1", - "string_decoder": "1.0.1", + "stream-http": "2.8.0", + "string_decoder": "1.1.0", "timers-browserify": "1.4.2", "tty-browserify": "0.0.0", "url": "0.11.0", @@ -47,17 +47,12 @@ "vm-browserify": "0.0.4" }, "dependencies": { - "Base64": { - "version": "0.2.1", - "resolved": "https://registry.npmjs.org/Base64/-/Base64-0.2.1.tgz", - "integrity": "sha1-ujpCMHCOGGcFBl5mur3Uw1z2ACg=" - }, "asn1.js": { - "version": "4.9.0", - "resolved": "https://registry.npmjs.org/asn1.js/-/asn1.js-4.9.0.tgz", - "integrity": "sha1-9xoSQ/PnnUbXsH1/v0gk7nOvBUo=", + "version": "4.10.1", + "resolved": "https://registry.npmjs.org/asn1.js/-/asn1.js-4.10.1.tgz", + "integrity": "sha512-p32cOF5q0Zqs9uBiONKYLm6BClCoBCM5O9JfeUSlnQLBTxYdTK+pW+nXflm8UkKd2UYlEbYz5qEi0JuZR9ckSw==", "requires": { - "bn.js": "4.11.6", + "bn.js": "4.11.8", "inherits": "2.0.1", "minimalistic-assert": "1.0.0" } @@ -71,44 +66,45 @@ } }, "balanced-match": { - "version": "0.4.2", - "resolved": "https://registry.npmjs.org/balanced-match/-/balanced-match-0.4.2.tgz", - "integrity": "sha1-yz8+PHMtwPAe5wtAPzAuYddwmDg=" + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/balanced-match/-/balanced-match-1.0.0.tgz", + "integrity": "sha1-ibTRmasr7kneFk6gK4nORi1xt2c=" }, "base64-js": { - "version": "1.2.0", - "resolved": "https://registry.npmjs.org/base64-js/-/base64-js-1.2.0.tgz", - "integrity": "sha1-o5mS1yNYSBGYK+XikLtqU9hnAPE=" + "version": "1.2.3", + "resolved": "https://registry.npmjs.org/base64-js/-/base64-js-1.2.3.tgz", + "integrity": "sha512-MsAhsUW1GxCdgYSO6tAfZrNapmUKk7mWx/k5mFY/A1gBtkaCaNapTg+FExCw1r9yeaZhqx/xPg43xgTFH6KL5w==" }, "bn.js": { - "version": "4.11.6", - "resolved": "https://registry.npmjs.org/bn.js/-/bn.js-4.11.6.tgz", - "integrity": "sha1-UzRK2xRhehP26N0s4okF0cC6MhU=" + "version": "4.11.8", + "resolved": "https://registry.npmjs.org/bn.js/-/bn.js-4.11.8.tgz", + "integrity": "sha512-ItfYfPLkWHUjckQCk8xC+LwxgK8NYcXywGigJgSwOP8Y2iyWT4f2vsZnoOXTTbo+o5yXmIUJ4gn5538SO5S3gA==" }, "brace-expansion": { - "version": "1.1.7", - "resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-1.1.7.tgz", - "integrity": "sha1-Pv/DxQ4ABTH7cg6v+A8K6O8jz1k=", + "version": "1.1.11", + "resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-1.1.11.tgz", + "integrity": "sha512-iCuPHDFgrHX7H2vEI/5xpz07zSHB00TpugqhmYtVmMO6518mCuRMoOYFldEBl0g187ufozdaHgWKcYFb61qGiA==", "requires": { - "balanced-match": "0.4.2", + "balanced-match": "1.0.0", "concat-map": "0.0.1" } }, "brorand": { - "version": "1.0.6", - "resolved": "https://registry.npmjs.org/brorand/-/brorand-1.0.6.tgz", - "integrity": "sha1-QChwa5FfkfezSaLgvzw3YDnSFuU=" + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/brorand/-/brorand-1.1.0.tgz", + "integrity": "sha1-EsJe/kCkXjwyPrhnWgoM5XsiNx8=" }, "browserify-aes": { - "version": "1.0.6", - "resolved": "https://registry.npmjs.org/browserify-aes/-/browserify-aes-1.0.6.tgz", - "integrity": "sha1-Xncl297x/Vkw1OurSFZ85FHEigo=", + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/browserify-aes/-/browserify-aes-1.1.1.tgz", + "integrity": "sha512-UGnTYAnB2a3YuYKIRy1/4FB2HdM866E0qC46JXvVTYKlBlZlnvfpSfY6OKfXZAkv70eJ2a1SqzpAo5CRhZGDFg==", "requires": { "buffer-xor": "1.0.3", - "cipher-base": "1.0.3", - "create-hash": "1.1.2", - "evp_bytestokey": "1.0.0", - "inherits": "2.0.1" + "cipher-base": "1.0.4", + "create-hash": "1.1.3", + "evp_bytestokey": "1.0.3", + "inherits": "2.0.1", + "safe-buffer": "5.1.1" } }, "browserify-cipher": { @@ -116,9 +112,9 @@ "resolved": "https://registry.npmjs.org/browserify-cipher/-/browserify-cipher-1.0.0.tgz", "integrity": "sha1-mYgkSHS/XtTijalWZtzWasj8Njo=", "requires": { - "browserify-aes": "1.0.6", + "browserify-aes": "1.1.1", "browserify-des": "1.0.0", - "evp_bytestokey": "1.0.0" + "evp_bytestokey": "1.0.3" } }, "browserify-des": { @@ -126,7 +122,7 @@ "resolved": "https://registry.npmjs.org/browserify-des/-/browserify-des-1.0.0.tgz", "integrity": "sha1-2qJ3cXRwki7S/hhZQRihdUOXId0=", "requires": { - "cipher-base": "1.0.3", + "cipher-base": "1.0.4", "des.js": "1.0.0", "inherits": "2.0.1" } @@ -136,22 +132,22 @@ "resolved": "https://registry.npmjs.org/browserify-rsa/-/browserify-rsa-4.0.1.tgz", "integrity": "sha1-IeCr+vbyApzy+vsTNWenAdQTVSQ=", "requires": { - "bn.js": "4.11.6", - "randombytes": "2.0.3" + "bn.js": "4.11.8", + "randombytes": "2.0.6" } }, "browserify-sign": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/browserify-sign/-/browserify-sign-4.0.0.tgz", - "integrity": "sha1-EHc5EMPCBtVCCkaq2GlPgguFlo8=", + "version": "4.0.4", + "resolved": "https://registry.npmjs.org/browserify-sign/-/browserify-sign-4.0.4.tgz", + "integrity": "sha1-qk62jl17ZYuqa/alfmMMvXqT0pg=", "requires": { - "bn.js": "4.11.6", + "bn.js": "4.11.8", "browserify-rsa": "4.0.1", - "create-hash": "1.1.2", - "create-hmac": "1.1.4", - "elliptic": "6.3.2", + "create-hash": "1.1.3", + "create-hmac": "1.1.6", + "elliptic": "6.4.0", "inherits": "2.0.1", - "parse-asn1": "5.0.0" + "parse-asn1": "5.1.0" } }, "browserify-zlib": { @@ -167,7 +163,7 @@ "resolved": "https://registry.npmjs.org/buffer/-/buffer-4.9.1.tgz", "integrity": "sha1-bRu2AbB6TvztlwlBMgkwJ8lbwpg=", "requires": { - "base64-js": "1.2.0", + "base64-js": "1.2.3", "ieee754": "1.1.8", "isarray": "1.0.0" } @@ -177,12 +173,18 @@ "resolved": "https://registry.npmjs.org/buffer-xor/-/buffer-xor-1.0.3.tgz", "integrity": "sha1-JuYe0UIvtw3ULm42cp7VHYVf6Nk=" }, + "builtin-status-codes": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/builtin-status-codes/-/builtin-status-codes-3.0.0.tgz", + "integrity": "sha1-hZgoeOIbmOHGZCXgPQF0eI9Wnug=" + }, "cipher-base": { - "version": "1.0.3", - "resolved": "https://registry.npmjs.org/cipher-base/-/cipher-base-1.0.3.tgz", - "integrity": "sha1-7qvxlEGc6QDaMBjCB9IS8qbfCgc=", + "version": "1.0.4", + "resolved": "https://registry.npmjs.org/cipher-base/-/cipher-base-1.0.4.tgz", + "integrity": "sha512-Kkht5ye6ZGmwv40uUDZztayT2ThLQGfnj/T71N/XzeZeo3nf8foyW7zGTsPYkEya3m5f3cAypH+qe7YOrM1U2Q==", "requires": { - "inherits": "2.0.1" + "inherits": "2.0.1", + "safe-buffer": "5.1.1" } }, "concat-map": { @@ -208,45 +210,50 @@ "resolved": "https://registry.npmjs.org/create-ecdh/-/create-ecdh-4.0.0.tgz", "integrity": "sha1-iIxyNZbN92EvZJgjPuvXo1MBc30=", "requires": { - "bn.js": "4.11.6", - "elliptic": "6.3.2" + "bn.js": "4.11.8", + "elliptic": "6.4.0" } }, "create-hash": { - "version": "1.1.2", - "resolved": "https://registry.npmjs.org/create-hash/-/create-hash-1.1.2.tgz", - "integrity": "sha1-USEAYte7dHn2xlu0GpIgix1hq60=", + "version": "1.1.3", + "resolved": "https://registry.npmjs.org/create-hash/-/create-hash-1.1.3.tgz", + "integrity": "sha1-YGBCrIuSYnUPSDyt2rD1gZFy2P0=", "requires": { - "cipher-base": "1.0.3", + "cipher-base": "1.0.4", "inherits": "2.0.1", - "ripemd160": "1.0.1", - "sha.js": "2.4.8" + "ripemd160": "2.0.1", + "sha.js": "2.4.10" } }, "create-hmac": { - "version": "1.1.4", - "resolved": "https://registry.npmjs.org/create-hmac/-/create-hmac-1.1.4.tgz", - "integrity": "sha1-0/tLolPriz9W456i+8uK90e9MXA=", + "version": "1.1.6", + "resolved": "https://registry.npmjs.org/create-hmac/-/create-hmac-1.1.6.tgz", + "integrity": "sha1-rLniIaThe9sHbpBlfEK5PjcmzwY=", "requires": { - "create-hash": "1.1.2", - "inherits": "2.0.1" + "cipher-base": "1.0.4", + "create-hash": "1.1.3", + "inherits": "2.0.1", + "ripemd160": "2.0.1", + "safe-buffer": "5.1.1", + "sha.js": "2.4.10" } }, "crypto-browserify": { - "version": "3.11.0", - "resolved": "https://registry.npmjs.org/crypto-browserify/-/crypto-browserify-3.11.0.tgz", - "integrity": "sha1-NlKgkGq5sqfgw85mpAjpV6JIVSI=", + "version": "3.12.0", + "resolved": "https://registry.npmjs.org/crypto-browserify/-/crypto-browserify-3.12.0.tgz", + "integrity": "sha512-fz4spIh+znjO2VjL+IdhEpRJ3YN6sMzITSBijk6FK2UvTqruSQW+/cCZTSNsMiZNvUeq0CqurF+dAbyiGOY6Wg==", "requires": { "browserify-cipher": "1.0.0", - "browserify-sign": "4.0.0", + "browserify-sign": "4.0.4", "create-ecdh": "4.0.0", - "create-hash": "1.1.2", - "create-hmac": "1.1.4", + "create-hash": "1.1.3", + "create-hmac": "1.1.6", "diffie-hellman": "5.0.2", "inherits": "2.0.1", - "pbkdf2": "3.0.9", + "pbkdf2": "3.0.14", "public-encrypt": "4.0.0", - "randombytes": "2.0.3" + "randombytes": "2.0.6", + "randomfill": "1.0.4" } }, "date-now": { @@ -268,25 +275,28 @@ "resolved": "https://registry.npmjs.org/diffie-hellman/-/diffie-hellman-5.0.2.tgz", "integrity": "sha1-tYNXOScM/ias9jIJn97SoH8gnl4=", "requires": { - "bn.js": "4.11.6", - "miller-rabin": "4.0.0", - "randombytes": "2.0.3" + "bn.js": "4.11.8", + "miller-rabin": "4.0.1", + "randombytes": "2.0.6" } }, "domain-browser": { - "version": "1.1.7", - "resolved": "https://registry.npmjs.org/domain-browser/-/domain-browser-1.1.7.tgz", - "integrity": "sha1-hnqksJP6oF8d4IwG9NeyH9+GmLw=" + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/domain-browser/-/domain-browser-1.2.0.tgz", + "integrity": "sha512-jnjyiM6eRyZl2H+W8Q/zLMA481hzi0eszAaBUzIVnmYVDBbnLxVNnfu1HgEBvCbL+71FrxMl3E6lpKH7Ge3OXA==" }, "elliptic": { - "version": "6.3.2", - "resolved": "https://registry.npmjs.org/elliptic/-/elliptic-6.3.2.tgz", - "integrity": "sha1-5MgeCCnPCmWrcOmYuCMnI7XBvEg=", + "version": "6.4.0", + "resolved": "https://registry.npmjs.org/elliptic/-/elliptic-6.4.0.tgz", + "integrity": "sha1-ysmvh2LIWDYYcAPI3+GT5eLq5d8=", "requires": { - "bn.js": "4.11.6", - "brorand": "1.0.6", - "hash.js": "1.0.3", - "inherits": "2.0.1" + "bn.js": "4.11.8", + "brorand": "1.1.0", + "hash.js": "1.1.3", + "hmac-drbg": "1.0.1", + "inherits": "2.0.1", + "minimalistic-assert": "1.0.0", + "minimalistic-crypto-utils": "1.0.1" } }, "events": { @@ -295,11 +305,12 @@ "integrity": "sha1-nr23Y1rQmccNzEwqH1AEKI6L2SQ=" }, "evp_bytestokey": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/evp_bytestokey/-/evp_bytestokey-1.0.0.tgz", - "integrity": "sha1-SXtmrZ/vZc18CKYYCCS6FHa2blM=", + "version": "1.0.3", + "resolved": "https://registry.npmjs.org/evp_bytestokey/-/evp_bytestokey-1.0.3.tgz", + "integrity": "sha512-/f2Go4TognH/KvCISP7OUsHn85hT9nUkxxA9BEWxFn+Oj9o8ZNLm/40hdlgSLyuOimsrTKLUMEorQexp/aPQeA==", "requires": { - "create-hash": "1.1.2" + "md5.js": "1.3.4", + "safe-buffer": "5.1.1" } }, "fs.realpath": { @@ -320,21 +331,38 @@ "path-is-absolute": "1.0.1" } }, - "hash.js": { - "version": "1.0.3", - "resolved": "https://registry.npmjs.org/hash.js/-/hash.js-1.0.3.tgz", - "integrity": "sha1-EzL/ABVsCg/92CNgE9B7d6BFFXM=", + "hash-base": { + "version": "2.0.2", + "resolved": "https://registry.npmjs.org/hash-base/-/hash-base-2.0.2.tgz", + "integrity": "sha1-ZuodhW206KVHDK32/OI65SRO8uE=", "requires": { "inherits": "2.0.1" } }, - "http-browserify": { - "version": "1.7.0", - "resolved": "https://registry.npmjs.org/http-browserify/-/http-browserify-1.7.0.tgz", - "integrity": "sha1-M3la3nLfiKz7/TZ3PO/tp2RzWyA=", + "hash.js": { + "version": "1.1.3", + "resolved": "https://registry.npmjs.org/hash.js/-/hash.js-1.1.3.tgz", + "integrity": "sha512-/UETyP0W22QILqS+6HowevwhEFJ3MBJnwTf75Qob9Wz9t0DPuisL8kW8YZMK62dHAKE1c1p+gY1TtOLY+USEHA==", "requires": { - "Base64": "0.2.1", - "inherits": "2.0.1" + "inherits": "2.0.3", + "minimalistic-assert": "1.0.0" + }, + "dependencies": { + "inherits": { + "version": "2.0.3", + "resolved": "https://registry.npmjs.org/inherits/-/inherits-2.0.3.tgz", + "integrity": "sha1-Yzwsg+PaQqUC9SRmAiSA9CCCYd4=" + } + } + }, + "hmac-drbg": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/hmac-drbg/-/hmac-drbg-1.0.1.tgz", + "integrity": "sha1-0nRXAQJabHdabFRXk+1QL8DGSaE=", + "requires": { + "hash.js": "1.1.3", + "minimalistic-assert": "1.0.0", + "minimalistic-crypto-utils": "1.0.1" } }, "https-browserify": { @@ -371,13 +399,33 @@ "resolved": "https://registry.npmjs.org/isarray/-/isarray-1.0.0.tgz", "integrity": "sha1-u5NdSFgsuhaMBoNJV6VKPgcSTxE=" }, - "miller-rabin": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/miller-rabin/-/miller-rabin-4.0.0.tgz", - "integrity": "sha1-SmL7HUKTPAVYOYL0xxb2+55sbT0=", + "md5.js": { + "version": "1.3.4", + "resolved": "https://registry.npmjs.org/md5.js/-/md5.js-1.3.4.tgz", + "integrity": "sha1-6b296UogpawYsENA/Fdk1bCdkB0=", "requires": { - "bn.js": "4.11.6", - "brorand": "1.0.6" + "hash-base": "3.0.4", + "inherits": "2.0.1" + }, + "dependencies": { + "hash-base": { + "version": "3.0.4", + "resolved": "https://registry.npmjs.org/hash-base/-/hash-base-3.0.4.tgz", + "integrity": "sha1-X8hoaEfs1zSZQDMZprCj8/auSRg=", + "requires": { + "inherits": "2.0.1", + "safe-buffer": "5.1.1" + } + } + } + }, + "miller-rabin": { + "version": "4.0.1", + "resolved": "https://registry.npmjs.org/miller-rabin/-/miller-rabin-4.0.1.tgz", + "integrity": "sha512-115fLhvZVqWwHPbClyntxEVfVDfl9DLLTuJvq3g2O/Oxi8AiNouAHvDSzHS0viUJc+V5vm3eq91Xwqn9dp4jRA==", + "requires": { + "bn.js": "4.11.8", + "brorand": "1.1.0" } }, "minimalistic-assert": { @@ -385,12 +433,17 @@ "resolved": "https://registry.npmjs.org/minimalistic-assert/-/minimalistic-assert-1.0.0.tgz", "integrity": "sha1-cCvi3aazf0g2vLP121ZkG2Sh09M=" }, + "minimalistic-crypto-utils": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/minimalistic-crypto-utils/-/minimalistic-crypto-utils-1.0.1.tgz", + "integrity": "sha1-9sAMHAsIIkblxNmd+4x8CDsrWCo=" + }, "minimatch": { "version": "3.0.4", "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-3.0.4.tgz", "integrity": "sha512-yJHVQEhyqPLUTgt9B83PXu6W3rx4MvvHvSUvToogpwoGDOUQ+yDrR0HRot+yOCdCO7u4hX3pWft6kWBBcqh0UA==", "requires": { - "brace-expansion": "1.1.7" + "brace-expansion": "1.1.11" } }, "once": { @@ -412,15 +465,15 @@ "integrity": "sha1-8/dSL073gjSNqBYbrZ7P1Rv4OnU=" }, "parse-asn1": { - "version": "5.0.0", - "resolved": "https://registry.npmjs.org/parse-asn1/-/parse-asn1-5.0.0.tgz", - "integrity": "sha1-NQYPbVAV03Yox3D04JGgtaJ4vCM=", + "version": "5.1.0", + "resolved": "https://registry.npmjs.org/parse-asn1/-/parse-asn1-5.1.0.tgz", + "integrity": "sha1-N8T5t+06tlx0gXtfJICTf7+XxxI=", "requires": { - "asn1.js": "4.9.0", - "browserify-aes": "1.0.6", - "create-hash": "1.1.2", - "evp_bytestokey": "1.0.0", - "pbkdf2": "3.0.9" + "asn1.js": "4.10.1", + "browserify-aes": "1.1.1", + "create-hash": "1.1.3", + "evp_bytestokey": "1.0.3", + "pbkdf2": "3.0.14" } }, "path-browserify": { @@ -434,33 +487,37 @@ "integrity": "sha1-F0uSaHNVNP+8es5r9TpanhtcX18=" }, "pbkdf2": { - "version": "3.0.9", - "resolved": "https://registry.npmjs.org/pbkdf2/-/pbkdf2-3.0.9.tgz", - "integrity": "sha1-8sSyWmAAWLPDdzwIbDfbvuH/5pM=", + "version": "3.0.14", + "resolved": "https://registry.npmjs.org/pbkdf2/-/pbkdf2-3.0.14.tgz", + "integrity": "sha512-gjsZW9O34fm0R7PaLHRJmLLVfSoesxztjPjE9o6R+qtVJij90ltg1joIovN9GKrRW3t1PzhDDG3UMEMFfZ+1wA==", "requires": { - "create-hmac": "1.1.4" + "create-hash": "1.1.3", + "create-hmac": "1.1.6", + "ripemd160": "2.0.1", + "safe-buffer": "5.1.1", + "sha.js": "2.4.10" } }, "process": { - "version": "0.11.9", - "resolved": "https://registry.npmjs.org/process/-/process-0.11.9.tgz", - "integrity": "sha1-e9WtIapiU+fahoImTx4R0RwDGME=" + "version": "0.11.10", + "resolved": "https://registry.npmjs.org/process/-/process-0.11.10.tgz", + "integrity": "sha1-czIwDoQBYb2j5podHZGn1LwW8YI=" }, "process-nextick-args": { - "version": "1.0.7", - "resolved": "https://registry.npmjs.org/process-nextick-args/-/process-nextick-args-1.0.7.tgz", - "integrity": "sha1-FQ4gt1ZZCtP5EJPyWk8q2L/zC6M=" + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/process-nextick-args/-/process-nextick-args-2.0.0.tgz", + "integrity": "sha512-MtEC1TqN0EU5nephaJ4rAtThHtC86dNN9qCuEhtshvpVBkAW5ZO7BASN9REnF9eoXGcRub+pFuKEpOHE+HbEMw==" }, "public-encrypt": { "version": "4.0.0", "resolved": "https://registry.npmjs.org/public-encrypt/-/public-encrypt-4.0.0.tgz", "integrity": "sha1-OfaZ86RlYN1eusvKaTyvfGXBjMY=", "requires": { - "bn.js": "4.11.6", + "bn.js": "4.11.8", "browserify-rsa": "4.0.1", - "create-hash": "1.1.2", - "parse-asn1": "5.0.0", - "randombytes": "2.0.3" + "create-hash": "1.1.3", + "parse-asn1": "5.1.0", + "randombytes": "2.0.6" } }, "punycode": { @@ -479,45 +536,69 @@ "integrity": "sha1-nsYfeQSYdXB9aUFFlv2Qek1xHnM=" }, "randombytes": { - "version": "2.0.3", - "resolved": "https://registry.npmjs.org/randombytes/-/randombytes-2.0.3.tgz", - "integrity": "sha1-Z0yZdgkBw8QRJ3GjHlIdw0nMCew=" + "version": "2.0.6", + "resolved": "https://registry.npmjs.org/randombytes/-/randombytes-2.0.6.tgz", + "integrity": "sha512-CIQ5OFxf4Jou6uOKe9t1AOgqpeU5fd70A8NPdHSGeYXqXsPe6peOwI0cUl88RWZ6sP1vPMV3avd/R6cZ5/sP1A==", + "requires": { + "safe-buffer": "5.1.1" + } + }, + "randomfill": { + "version": "1.0.4", + "resolved": "https://registry.npmjs.org/randomfill/-/randomfill-1.0.4.tgz", + "integrity": "sha512-87lcbR8+MhcWcUiQ+9e+Rwx8MyR2P7qnt15ynUlbm3TU/fjbgz4GsvfSUDTemtCCtVCqb4ZcEFlyPNTh9bBTLw==", + "requires": { + "randombytes": "2.0.6", + "safe-buffer": "5.1.1" + } }, "readable-stream": { - "version": "git+https://github.com/meteor/readable-stream.git#2e9112d7d31a2af6e0682db0e18679b1e5fd4694", + "version": "git+https://github.com/meteor/readable-stream.git#c688cdd193549919b840e8d72a86682d91961e12", "requires": { - "inherits": "2.0.1", + "inherits": "2.0.3", "isarray": "1.0.0", - "process-nextick-args": "1.0.7", - "safe-buffer": "5.0.1", - "string_decoder": "1.0.1", + "process-nextick-args": "2.0.0", + "safe-buffer": "5.1.1", + "string_decoder": "1.1.0", "util-deprecate": "1.0.2" + }, + "dependencies": { + "inherits": { + "version": "2.0.3", + "resolved": "https://registry.npmjs.org/inherits/-/inherits-2.0.3.tgz", + "integrity": "sha1-Yzwsg+PaQqUC9SRmAiSA9CCCYd4=" + } } }, "rimraf": { - "version": "2.6.1", - "resolved": "https://registry.npmjs.org/rimraf/-/rimraf-2.6.1.tgz", - "integrity": "sha1-wjOOxkPfeht/5cVPqG9XQopV8z0=", + "version": "2.6.2", + "resolved": "https://registry.npmjs.org/rimraf/-/rimraf-2.6.2.tgz", + "integrity": "sha512-lreewLK/BlghmxtfH36YYVg1i8IAce4TI7oao75I1g245+6BctqTVQiBP3YUJ9C6DQOXJmkYR9X9fCLtCOJc5w==", "requires": { "glob": "7.1.2" } }, "ripemd160": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/ripemd160/-/ripemd160-1.0.1.tgz", - "integrity": "sha1-k6S71JQrxXS2mo+lfHHeEOzKfW4=" + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/ripemd160/-/ripemd160-2.0.1.tgz", + "integrity": "sha1-D0WEKVxTo2KK9+bXmsohzlfRxuc=", + "requires": { + "hash-base": "2.0.2", + "inherits": "2.0.1" + } }, "safe-buffer": { - "version": "5.0.1", - "resolved": "https://registry.npmjs.org/safe-buffer/-/safe-buffer-5.0.1.tgz", - "integrity": "sha1-0mPKVGls2KMGtcplUekt5XkY++c=" + "version": "5.1.1", + "resolved": "https://registry.npmjs.org/safe-buffer/-/safe-buffer-5.1.1.tgz", + "integrity": "sha512-kKvNJn6Mm93gAczWVJg7wH+wGYWNrDHdWvpUmHyEsgCtIwwo3bqPtV4tR5tuPaUhTOo/kvhVwd8XwwOllGYkbg==" }, "sha.js": { - "version": "2.4.8", - "resolved": "https://registry.npmjs.org/sha.js/-/sha.js-2.4.8.tgz", - "integrity": "sha1-NwaMLEdra69ALRSknGf1l5IfY08=", + "version": "2.4.10", + "resolved": "https://registry.npmjs.org/sha.js/-/sha.js-2.4.10.tgz", + "integrity": "sha512-vnwmrFDlOExK4Nm16J2KMWHLrp14lBrjxMxBJpu++EnsuBmpiYaM/MEs46Vxxm/4FvdP5yTwuCTO9it5FSjrqA==", "requires": { - "inherits": "2.0.1" + "inherits": "2.0.1", + "safe-buffer": "5.1.1" } }, "stream-browserify": { @@ -526,15 +607,27 @@ "integrity": "sha1-ZiZu5fm9uZQKTkUUyvtDu3Hlyds=", "requires": { "inherits": "2.0.1", - "readable-stream": "git+https://github.com/meteor/readable-stream.git#2e9112d7d31a2af6e0682db0e18679b1e5fd4694" + "readable-stream": "git+https://github.com/meteor/readable-stream.git#c688cdd193549919b840e8d72a86682d91961e12" + } + }, + "stream-http": { + "version": "2.8.0", + "resolved": "https://registry.npmjs.org/stream-http/-/stream-http-2.8.0.tgz", + "integrity": "sha512-sZOFxI/5xw058XIRHl4dU3dZ+TTOIGJR78Dvo0oEAejIt4ou27k+3ne1zYmCV+v7UucbxIFQuOgnkTVHh8YPnw==", + "requires": { + "builtin-status-codes": "3.0.0", + "inherits": "2.0.1", + "readable-stream": "git+https://github.com/meteor/readable-stream.git#c688cdd193549919b840e8d72a86682d91961e12", + "to-arraybuffer": "1.0.1", + "xtend": "4.0.1" } }, "string_decoder": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/string_decoder/-/string_decoder-1.0.1.tgz", - "integrity": "sha1-YuIA8DmVWmgQ2N8KM//A8BNmLZg=", + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/string_decoder/-/string_decoder-1.1.0.tgz", + "integrity": "sha512-8zQpRF6juocE69ae7CSPmYEGJe4VCXwP6S6dxUWI7i53Gwv54/ec41fiUA+X7BPGGv7fRSQJjBQVa0gomGaOgg==", "requires": { - "safe-buffer": "5.0.1" + "safe-buffer": "5.1.1" } }, "timers-browserify": { @@ -542,9 +635,14 @@ "resolved": "https://registry.npmjs.org/timers-browserify/-/timers-browserify-1.4.2.tgz", "integrity": "sha1-ycWLV1voQHN1y14kYtrO50NZ9B0=", "requires": { - "process": "0.11.9" + "process": "0.11.10" } }, + "to-arraybuffer": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/to-arraybuffer/-/to-arraybuffer-1.0.1.tgz", + "integrity": "sha1-fSKbH8xjfkZsoIEYCDanqr/4P0M=" + }, "tty-browserify": { "version": "0.0.0", "resolved": "https://registry.npmjs.org/tty-browserify/-/tty-browserify-0.0.0.tgz", @@ -591,13 +689,18 @@ "version": "1.0.2", "resolved": "https://registry.npmjs.org/wrappy/-/wrappy-1.0.2.tgz", "integrity": "sha1-tSQ9jz7BqjXxNkYFvA0QNuMKtp8=" + }, + "xtend": { + "version": "4.0.1", + "resolved": "https://registry.npmjs.org/xtend/-/xtend-4.0.1.tgz", + "integrity": "sha1-pcbVMr5lbiPbgg77lDofBJmNY68=" } } }, "regenerator-runtime": { - "version": "0.11.0", - "resolved": "https://registry.npmjs.org/regenerator-runtime/-/regenerator-runtime-0.11.0.tgz", - "integrity": "sha512-/aA0kLeRb5N9K0d4fw7ooEbI+xDe+DKD499EQqygGqeS8N3xto15p09uY2xj7ixP81sNPXvRLnAQIqdVStgb1A==" + "version": "0.11.1", + "resolved": "https://registry.npmjs.org/regenerator-runtime/-/regenerator-runtime-0.11.1.tgz", + "integrity": "sha512-MguG95oij0fC3QV3URf4V2SDYGJhJnJGqvIIgdECeODCT98wSWDAJ94SSuVpYQUoTcGUIL6L4yNB7j1DFFHSBg==" } } } diff --git a/tools/tests/apps/meteor-ignore/package.json b/tools/tests/apps/meteor-ignore/package.json index 5da98417e9..f3cd5a5edf 100644 --- a/tools/tests/apps/meteor-ignore/package.json +++ b/tools/tests/apps/meteor-ignore/package.json @@ -5,7 +5,7 @@ "start": "meteor run" }, "dependencies": { - "@babel/runtime": "^7.0.0-beta.36", + "@babel/runtime": "^7.0.0-beta.42", "meteor-node-stubs": "^0.3.2" } } diff --git a/tools/tests/apps/modules/package-lock.json b/tools/tests/apps/modules/package-lock.json index 7e153a2717..250f992df7 100644 --- a/tools/tests/apps/modules/package-lock.json +++ b/tools/tests/apps/modules/package-lock.json @@ -4,147 +4,166 @@ "lockfileVersion": 1, "dependencies": { "@babel/code-frame": { - "version": "7.0.0-beta.40", - "resolved": "https://registry.npmjs.org/@babel/code-frame/-/code-frame-7.0.0-beta.40.tgz", - "integrity": "sha512-eVXQSbu/RimU6OKcK2/gDJVTFcxXJI4sHbIqw2mhwMZeQ2as/8AhS9DGkEDoHMBBNJZ5B0US63lF56x+KDcxiA==", + "version": "7.0.0-beta.42", + "resolved": "https://registry.npmjs.org/@babel/code-frame/-/code-frame-7.0.0-beta.42.tgz", + "integrity": "sha512-L8i94FLSyaLQpRfDo/qqSm8Ndb44zMtXParXo0MebJICG1zoCCL4+GkzUOlB4BNTRSXXQdb3feam/qw7bKPipQ==", "requires": { - "@babel/highlight": "7.0.0-beta.40" + "@babel/highlight": "7.0.0-beta.42" } }, "@babel/core": { - "version": "7.0.0-beta.40", - "resolved": "https://registry.npmjs.org/@babel/core/-/core-7.0.0-beta.40.tgz", - "integrity": "sha512-jJMjn/EMg89xDGv7uq4BoFg+fHEchSeqNc9YUMnGuAi/FWKBkSsDbhh2y5euw4qaGOFD2jw1le0rvCu5gPUc6Q==", + "version": "7.0.0-beta.42", + "resolved": "https://registry.npmjs.org/@babel/core/-/core-7.0.0-beta.42.tgz", + "integrity": "sha512-jcjZRewF/xqROfbk8EGyWlykaIR3IwrcefjWHu8xh4QnULSv3nfkjPM35v1itDgAT4/Jj5b4mPf4eZSC2HoRQA==", "requires": { - "@babel/code-frame": "7.0.0-beta.40", - "@babel/generator": "7.0.0-beta.40", - "@babel/helpers": "7.0.0-beta.40", - "@babel/template": "7.0.0-beta.40", - "@babel/traverse": "7.0.0-beta.40", - "@babel/types": "7.0.0-beta.40", - "babylon": "7.0.0-beta.40", + "@babel/code-frame": "7.0.0-beta.42", + "@babel/generator": "7.0.0-beta.42", + "@babel/helpers": "7.0.0-beta.42", + "@babel/template": "7.0.0-beta.42", + "@babel/traverse": "7.0.0-beta.42", + "@babel/types": "7.0.0-beta.42", + "babylon": "7.0.0-beta.42", "convert-source-map": "1.5.1", "debug": "3.1.0", "json5": "0.5.1", - "lodash": "4.17.4", + "lodash": "4.17.5", "micromatch": "2.3.11", - "resolve": "1.5.0", + "resolve": "1.6.0", + "semver": "5.5.0", "source-map": "0.5.7" } }, "@babel/generator": { - "version": "7.0.0-beta.40", - "resolved": "https://registry.npmjs.org/@babel/generator/-/generator-7.0.0-beta.40.tgz", - "integrity": "sha512-c91BQcXyTq/5aFV4afgOionxZS1dxWt8OghEx5Q52SKssdGRFSiMKnk9tGkev1pYULPJBqjSDZU2Pcuc58ffZw==", + "version": "7.0.0-beta.42", + "resolved": "https://registry.npmjs.org/@babel/generator/-/generator-7.0.0-beta.42.tgz", + "integrity": "sha512-9x3zS4nG/6GAvJWB8fAK+5g/Di36xdubB43dMNSucNJTwPvmyfCippir/0I8zyG+ID66hLCLi8V9bomlWRYaHA==", "requires": { - "@babel/types": "7.0.0-beta.40", + "@babel/types": "7.0.0-beta.42", "jsesc": "2.5.1", - "lodash": "4.17.4", + "lodash": "4.17.5", "source-map": "0.5.7", "trim-right": "1.0.1" } }, "@babel/helper-function-name": { - "version": "7.0.0-beta.40", - "resolved": "https://registry.npmjs.org/@babel/helper-function-name/-/helper-function-name-7.0.0-beta.40.tgz", - "integrity": "sha512-cK9BVLtOfisSISTTHXKGvBc2OBh65tjEk4PgXhsSnnH0i8RP2v+5RCxoSlh2y/i+l2fxQqKqv++Qo5RMiwmRCA==", + "version": "7.0.0-beta.42", + "resolved": "https://registry.npmjs.org/@babel/helper-function-name/-/helper-function-name-7.0.0-beta.42.tgz", + "integrity": "sha512-6IZ+kkPypwJrnmNzI3y31qAps2kXoPtCE241SvBva2YzB0n/YORWx2YM0jHPYOJBU9Xx5KkUhOKuWkeXZQgtTA==", "requires": { - "@babel/helper-get-function-arity": "7.0.0-beta.40", - "@babel/template": "7.0.0-beta.40", - "@babel/types": "7.0.0-beta.40" + "@babel/helper-get-function-arity": "7.0.0-beta.42", + "@babel/template": "7.0.0-beta.42", + "@babel/types": "7.0.0-beta.42" } }, "@babel/helper-get-function-arity": { - "version": "7.0.0-beta.40", - "resolved": "https://registry.npmjs.org/@babel/helper-get-function-arity/-/helper-get-function-arity-7.0.0-beta.40.tgz", - "integrity": "sha512-MwquaPznI4cUoZEgHC/XGkddOXtqKqD4DvZDOyJK2LR9Qi6TbMbAhc6IaFoRX7CRTFCmtGeu8gdXW2dBotBBTA==", + "version": "7.0.0-beta.42", + "resolved": "https://registry.npmjs.org/@babel/helper-get-function-arity/-/helper-get-function-arity-7.0.0-beta.42.tgz", + "integrity": "sha512-hF5KKcn+V/5PwU7KZ1aVwo535woLC9eV+djaoyNPZeMMJ2s+8bZlEa66Tarei0T68VRL5LXIs1Ao4hSabSkpBg==", "requires": { - "@babel/types": "7.0.0-beta.40" + "@babel/types": "7.0.0-beta.42" + } + }, + "@babel/helper-plugin-utils": { + "version": "7.0.0-beta.42", + "resolved": "https://registry.npmjs.org/@babel/helper-plugin-utils/-/helper-plugin-utils-7.0.0-beta.42.tgz", + "integrity": "sha512-hZLw8Iz9/YOxI9mgWyPOP1S84OcdQo1WFkZrS1sSf45g16sEb4dVslds2uvZgmx9BiG94PoWyABGf48Py6D6CA==" + }, + "@babel/helper-split-export-declaration": { + "version": "7.0.0-beta.42", + "resolved": "https://registry.npmjs.org/@babel/helper-split-export-declaration/-/helper-split-export-declaration-7.0.0-beta.42.tgz", + "integrity": "sha512-2r8pZG6SAJTTaI2OhxCmz5PKlMUPY5adOHrHtb1gM3ibJPDOzPAeOQNzItdxNnM33jjRakEGitXX6iYg7Sz73w==", + "requires": { + "@babel/types": "7.0.0-beta.42" } }, "@babel/helpers": { - "version": "7.0.0-beta.40", - "resolved": "https://registry.npmjs.org/@babel/helpers/-/helpers-7.0.0-beta.40.tgz", - "integrity": "sha512-NK/mM/I16inThgXmKPxoqrg+N6OCLt+e9Zsmy8TJ93/zMx4Eddd679I231YwDP2J1Z12UgkfWCLbbvauU5TLlQ==", + "version": "7.0.0-beta.42", + "resolved": "https://registry.npmjs.org/@babel/helpers/-/helpers-7.0.0-beta.42.tgz", + "integrity": "sha512-att9SiG9GxOUdjai87LqjSstgNsdo1nXiGu+Eh078zwRiN8bM5Ww8vrbYkAm9PF4HaW6OzOKqyKxv595RT79bA==", "requires": { - "@babel/template": "7.0.0-beta.40", - "@babel/traverse": "7.0.0-beta.40", - "@babel/types": "7.0.0-beta.40" + "@babel/template": "7.0.0-beta.42", + "@babel/traverse": "7.0.0-beta.42", + "@babel/types": "7.0.0-beta.42" } }, "@babel/highlight": { - "version": "7.0.0-beta.40", - "resolved": "https://registry.npmjs.org/@babel/highlight/-/highlight-7.0.0-beta.40.tgz", - "integrity": "sha512-mOhhTrzieV6VO7odgzFGFapiwRK0ei8RZRhfzHhb6cpX3QM8XXuCLXWjN8qBB7JReDdUR80V3LFfFrGUYevhNg==", + "version": "7.0.0-beta.42", + "resolved": "https://registry.npmjs.org/@babel/highlight/-/highlight-7.0.0-beta.42.tgz", + "integrity": "sha512-X3Ur/A/lIbbP8W0pmwgqtDXIxhQmxPaiwY9SKP7kF9wvZfjZRwMvbJE92ozUhF3UDK3DCKaV7oGqmI1rP/zqWA==", "requires": { - "chalk": "2.3.1", + "chalk": "2.3.2", "esutils": "2.0.2", "js-tokens": "3.0.2" } }, "@babel/plugin-proposal-optional-chaining": { - "version": "7.0.0-beta.40", - "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-optional-chaining/-/plugin-proposal-optional-chaining-7.0.0-beta.40.tgz", - "integrity": "sha512-ry2PzB99h2rAjpesMs6/s0v7Qzx4PQcfzfZbuKBQE3X6LOYOnV7M+AHsT97XOGW4Vgstw9eYM28RADnRYtGYFw==", + "version": "7.0.0-beta.42", + "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-optional-chaining/-/plugin-proposal-optional-chaining-7.0.0-beta.42.tgz", + "integrity": "sha512-mIrPJJz+RfcN00ZSuVl99LH22WyPmSx3BV1OgKowzo5qpWIclzN2YPcIDUa/LTSa/j6SKyini8DJ5rmYw9m0MQ==", "requires": { - "@babel/plugin-syntax-optional-chaining": "7.0.0-beta.40" + "@babel/helper-plugin-utils": "7.0.0-beta.42", + "@babel/plugin-syntax-optional-chaining": "7.0.0-beta.42" } }, "@babel/plugin-syntax-optional-chaining": { - "version": "7.0.0-beta.40", - "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-optional-chaining/-/plugin-syntax-optional-chaining-7.0.0-beta.40.tgz", - "integrity": "sha512-LJktjt101/yePLOWy1HSrdIMBqFOY5er6JDWJynKl+mKzYD549zEZcn2oAhaAmv0iu+BXTC6flm6EEmYUK+3Fw==" + "version": "7.0.0-beta.42", + "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-optional-chaining/-/plugin-syntax-optional-chaining-7.0.0-beta.42.tgz", + "integrity": "sha512-Bz0aix2BkgEIQ+9+Qb7Y6FoapXiGZ8w1Zn9mYaTTnxwODRrvYeH+cARzHWsXEf0hv3SI5ONaZXnDvwtsxQyxXQ==", + "requires": { + "@babel/helper-plugin-utils": "7.0.0-beta.42" + } }, "@babel/runtime": { - "version": "7.0.0-beta.40", - "resolved": "https://registry.npmjs.org/@babel/runtime/-/runtime-7.0.0-beta.40.tgz", - "integrity": "sha512-vIM68NUCWauZJTFoVUG1lggva1I8FLB9zFKwWG7Xjin4FkHpEKJv2y4x1DGVPVt93S5/zHSBj1bXYEuxOkFGzg==", + "version": "7.0.0-beta.42", + "resolved": "https://registry.npmjs.org/@babel/runtime/-/runtime-7.0.0-beta.42.tgz", + "integrity": "sha512-iOGRzUoONLOtmCvjUsZv3mZzgCT6ljHQY5fr1qG1QIiJQwtM7zbPWGGpa3QWETq+UqwWyJnoi5XZDZRwZDFciQ==", "requires": { "core-js": "2.5.3", "regenerator-runtime": "0.11.1" } }, "@babel/template": { - "version": "7.0.0-beta.40", - "resolved": "https://registry.npmjs.org/@babel/template/-/template-7.0.0-beta.40.tgz", - "integrity": "sha512-RlQiVB7eL7fxsKN6JvnCCwEwEL28CBYalXSgWWULuFlEHjtMoXBqQanSie3bNyhrANJx67sb+Sd/vuGivoMwLQ==", + "version": "7.0.0-beta.42", + "resolved": "https://registry.npmjs.org/@babel/template/-/template-7.0.0-beta.42.tgz", + "integrity": "sha512-EK7YdTe47j4VxlwNvz5bnlk5Jx/wWublnqfgOY2IuSNdxCQgXrLD34PfTnabGxywNSkJkcSo6jwr2JGT+S48dA==", "requires": { - "@babel/code-frame": "7.0.0-beta.40", - "@babel/types": "7.0.0-beta.40", - "babylon": "7.0.0-beta.40", - "lodash": "4.17.4" + "@babel/code-frame": "7.0.0-beta.42", + "@babel/types": "7.0.0-beta.42", + "babylon": "7.0.0-beta.42", + "lodash": "4.17.5" } }, "@babel/traverse": { - "version": "7.0.0-beta.40", - "resolved": "https://registry.npmjs.org/@babel/traverse/-/traverse-7.0.0-beta.40.tgz", - "integrity": "sha512-h96SQorjvdSuxQ6hHFIuAa3oxnad1TA5bU1Zz88+XqzwmM5QM0/k2D+heXGGy/76gT5ajl7xYLKGiPA/KTyVhQ==", + "version": "7.0.0-beta.42", + "resolved": "https://registry.npmjs.org/@babel/traverse/-/traverse-7.0.0-beta.42.tgz", + "integrity": "sha512-DZwMuZBfYVIn/cxpXZzHDgKmarW/MWqplLv1k7QJYhK5r5l6GAac/DkKl75A0CjPYrD3VGco6H6ZQp12QaYKSw==", "requires": { - "@babel/code-frame": "7.0.0-beta.40", - "@babel/generator": "7.0.0-beta.40", - "@babel/helper-function-name": "7.0.0-beta.40", - "@babel/types": "7.0.0-beta.40", - "babylon": "7.0.0-beta.40", + "@babel/code-frame": "7.0.0-beta.42", + "@babel/generator": "7.0.0-beta.42", + "@babel/helper-function-name": "7.0.0-beta.42", + "@babel/helper-split-export-declaration": "7.0.0-beta.42", + "@babel/types": "7.0.0-beta.42", + "babylon": "7.0.0-beta.42", "debug": "3.1.0", "globals": "11.3.0", - "invariant": "2.2.2", - "lodash": "4.17.4" + "invariant": "2.2.4", + "lodash": "4.17.5" } }, "@babel/types": { - "version": "7.0.0-beta.40", - "resolved": "https://registry.npmjs.org/@babel/types/-/types-7.0.0-beta.40.tgz", - "integrity": "sha512-uXCGCzTgMZxcSUzutCPtZmXbVC+cvENgS2e0tRuhn+Y1hZnMb8IHP0Trq7Q2MB/eFmG5pKrAeTIUfQIe5kA4Tg==", + "version": "7.0.0-beta.42", + "resolved": "https://registry.npmjs.org/@babel/types/-/types-7.0.0-beta.42.tgz", + "integrity": "sha512-+pmpISmTHQqMMpHHtDLxcvtRhmn53bAxy8goJfHipS/uy/r3PLcuSdPizLW7DhtBWbtgIKZufLObfnIMoyMNsw==", "requires": { "esutils": "2.0.2", - "lodash": "4.17.4", + "lodash": "4.17.5", "to-fast-properties": "2.0.0" } }, "ansi-styles": { - "version": "3.2.0", - "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-3.2.0.tgz", - "integrity": "sha512-NnSOmMEYtVR2JVMIGTzynRkkaxtiq1xnFBcdQD/DnNCYPoEPsVJhM98BDyaoNOQIi7p4okdi3E27eN7GQbsUug==", + "version": "3.2.1", + "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-3.2.1.tgz", + "integrity": "sha512-VT0ZI6kZRdTh8YyJw3SMbYm/u+NqfsAxEpWO0Pf9sq8/e94WxxOpPKx9FR1FlyCtOVDNOQ+8ntlqFxiRc+r5qA==", "requires": { "color-convert": "1.9.1" } @@ -178,13 +197,13 @@ "integrity": "sha1-+PwEyjoTeErenhZBr5hXjPvWR6k=" }, "aws-sdk": { - "version": "2.169.0", - "resolved": "https://registry.npmjs.org/aws-sdk/-/aws-sdk-2.169.0.tgz", - "integrity": "sha1-wtcnN6MK+5pk9864j/HVNn+O62k=", + "version": "2.212.1", + "resolved": "https://registry.npmjs.org/aws-sdk/-/aws-sdk-2.212.1.tgz", + "integrity": "sha1-gz2+jYN9RgWKN3Ksm7c7aRExNuQ=", "requires": { "buffer": "4.9.1", - "crypto-browserify": "1.0.9", "events": "1.1.1", + "ieee754": "1.1.8", "jmespath": "0.15.0", "querystring": "0.2.0", "sax": "1.2.1", @@ -192,6 +211,13 @@ "uuid": "3.1.0", "xml2js": "0.4.17", "xmlbuilder": "4.2.1" + }, + "dependencies": { + "uuid": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/uuid/-/uuid-3.1.0.tgz", + "integrity": "sha512-DIWtzUkw04M4k3bf1IcpS2tngXEL26YUD2M0tMDUpnUrz2hgzUBlD55a4FjdLGPvfHxS6uluGWvaVEqgBcVa+g==" + } } }, "babel-plugin-syntax-do-expressions": { @@ -218,14 +244,14 @@ } }, "babylon": { - "version": "7.0.0-beta.40", - "resolved": "https://registry.npmjs.org/babylon/-/babylon-7.0.0-beta.40.tgz", - "integrity": "sha512-AVxF2EcxvGD5hhOuLTOLAXBb0VhwWpEX0HyHdAI2zU+AAP4qEwtQj8voz1JR3uclGai0rfcE+dCTHnNMOnimFg==" + "version": "7.0.0-beta.42", + "resolved": "https://registry.npmjs.org/babylon/-/babylon-7.0.0-beta.42.tgz", + "integrity": "sha512-h6E/OkkvcBw/JimbL0p8dIaxrcuQn3QmIYGC/GtJlRYif5LTKBYPHXYwqluJpfS/kOXoz0go+9mkmOVC0M+zWw==" }, "base64-js": { - "version": "1.2.1", - "resolved": "https://registry.npmjs.org/base64-js/-/base64-js-1.2.1.tgz", - "integrity": "sha512-dwVUVIXsBZXwTuwnXI9RK8sBmgq09NDHzyR9SAph9eqk76gKK2JSQmZARC2zRC81JC2QTtxD0ARU5qTS25gIGw==" + "version": "1.2.3", + "resolved": "https://registry.npmjs.org/base64-js/-/base64-js-1.2.3.tgz", + "integrity": "sha512-MsAhsUW1GxCdgYSO6tAfZrNapmUKk7mWx/k5mFY/A1gBtkaCaNapTg+FExCw1r9yeaZhqx/xPg43xgTFH6KL5w==" }, "big-number": { "version": "0.3.1", @@ -242,7 +268,7 @@ "resolved": "https://registry.npmjs.org/bl/-/bl-1.2.1.tgz", "integrity": "sha1-ysMo977kVzDUBLaSID/LWQ4XLV4=", "requires": { - "readable-stream": "2.3.3" + "readable-stream": "2.3.5" } }, "bluebird": { @@ -265,19 +291,19 @@ "resolved": "https://registry.npmjs.org/buffer/-/buffer-4.9.1.tgz", "integrity": "sha1-bRu2AbB6TvztlwlBMgkwJ8lbwpg=", "requires": { - "base64-js": "1.2.1", + "base64-js": "1.2.3", "ieee754": "1.1.8", "isarray": "1.0.0" } }, "chalk": { - "version": "2.3.1", - "resolved": "https://registry.npmjs.org/chalk/-/chalk-2.3.1.tgz", - "integrity": "sha512-QUU4ofkDoMIVO7hcx1iPTISs88wsO8jA92RQIm4JAwZvFGGAV2hSAA1NX7oVj2Ej2Q6NDTcRDjPTFrMCRZoJ6g==", + "version": "2.3.2", + "resolved": "https://registry.npmjs.org/chalk/-/chalk-2.3.2.tgz", + "integrity": "sha512-ZM4j2/ld/YZDc3Ma8PgN7gyAk+kHMMMyzLNryCPGhWrsfAuDVeuid5bpRFTDgMH9JBK2lA4dyyAkkZYF/WcqDQ==", "requires": { - "ansi-styles": "3.2.0", + "ansi-styles": "3.2.1", "escape-string-regexp": "1.0.5", - "supports-color": "5.2.0" + "supports-color": "5.3.0" } }, "cli-color": { @@ -322,11 +348,6 @@ "resolved": "https://registry.npmjs.org/core-util-is/-/core-util-is-1.0.2.tgz", "integrity": "sha1-tf1UIgqivFq1eqtxQMlAdUUDwac=" }, - "crypto-browserify": { - "version": "1.0.9", - "resolved": "https://registry.npmjs.org/crypto-browserify/-/crypto-browserify-1.0.9.tgz", - "integrity": "sha1-zFRJaF37hesRyYKKzHy4erW7/MA=" - }, "cycle": { "version": "1.0.3", "resolved": "https://registry.npmjs.org/cycle/-/cycle-1.0.3.tgz", @@ -488,9 +509,9 @@ "integrity": "sha1-Yzwsg+PaQqUC9SRmAiSA9CCCYd4=" }, "invariant": { - "version": "2.2.2", - "resolved": "https://registry.npmjs.org/invariant/-/invariant-2.2.2.tgz", - "integrity": "sha1-nh9WrArNtr8wMwbzOL47IErmA2A=", + "version": "2.2.4", + "resolved": "https://registry.npmjs.org/invariant/-/invariant-2.2.4.tgz", + "integrity": "sha512-phJfQVBuaJM5raOpJjSfkiD6BpbCE4Ns//LaXl6wGYtUBY83nWS6Rf9tXm2e8VaK60JEjYldbPif/A2B1C2gNA==", "requires": { "loose-envify": "1.3.1" } @@ -596,9 +617,9 @@ } }, "lodash": { - "version": "4.17.4", - "resolved": "https://registry.npmjs.org/lodash/-/lodash-4.17.4.tgz", - "integrity": "sha1-eCA6TRwyiuHYbcpkYONptX9AVa4=" + "version": "4.17.5", + "resolved": "https://registry.npmjs.org/lodash/-/lodash-4.17.5.tgz", + "integrity": "sha512-svL3uiZf1RwhH+cWrfZn3A4+U58wbP0tGVTLQPbjplZxZ8ROD9VLuNgsRniTlLe7OlSqR79RUehXgpBW/s0IQw==" }, "lodash.isplainobject": { "version": "4.0.6", @@ -624,28 +645,28 @@ } }, "meteor-node-stubs": { - "version": "0.3.2", - "resolved": "https://registry.npmjs.org/meteor-node-stubs/-/meteor-node-stubs-0.3.2.tgz", - "integrity": "sha512-l93SS/HutbqBRJODO2m7hup8cYI2acF5bB39+ZvP2BX8HMmCSCXeFH7v0sr4hD7zrVvHQA5UqS0pcDYKn0VM6g==", + "version": "0.3.3", + "resolved": "https://registry.npmjs.org/meteor-node-stubs/-/meteor-node-stubs-0.3.3.tgz", + "integrity": "sha512-TI1aQRK0vqs94OCkUMkmf5lXNWfIsjSaEDP1inUuwRGt9w8/S2V+HdRikz9r1k/gew+7NcJieaqHsHX7pSTEgA==", "requires": { "assert": "1.4.1", "browserify-zlib": "0.1.4", "buffer": "4.9.1", "console-browserify": "1.1.0", "constants-browserify": "1.0.0", - "crypto-browserify": "3.11.1", - "domain-browser": "1.1.7", + "crypto-browserify": "3.12.0", + "domain-browser": "1.2.0", "events": "1.1.1", - "http-browserify": "1.7.0", "https-browserify": "0.0.1", "os-browserify": "0.2.1", "path-browserify": "0.0.0", "process": "0.11.10", "punycode": "1.4.1", "querystring-es3": "0.2.1", - "readable-stream": "git+https://github.com/meteor/readable-stream.git#d64a64aa6061b9b6855feff4d09e58fb3b2e4502", + "readable-stream": "git+https://github.com/meteor/readable-stream.git#c688cdd193549919b840e8d72a86682d91961e12", "stream-browserify": "2.0.1", - "string_decoder": "1.0.3", + "stream-http": "2.8.0", + "string_decoder": "1.1.0", "timers-browserify": "1.4.2", "tty-browserify": "0.0.0", "url": "0.11.0", @@ -653,15 +674,10 @@ "vm-browserify": "0.0.4" }, "dependencies": { - "Base64": { - "version": "0.2.1", - "resolved": "https://registry.npmjs.org/Base64/-/Base64-0.2.1.tgz", - "integrity": "sha1-ujpCMHCOGGcFBl5mur3Uw1z2ACg=" - }, "asn1.js": { - "version": "4.9.1", - "resolved": "https://registry.npmjs.org/asn1.js/-/asn1.js-4.9.1.tgz", - "integrity": "sha1-SLokC0WpKA6UdImQull9IWYX/UA=", + "version": "4.10.1", + "resolved": "https://registry.npmjs.org/asn1.js/-/asn1.js-4.10.1.tgz", + "integrity": "sha512-p32cOF5q0Zqs9uBiONKYLm6BClCoBCM5O9JfeUSlnQLBTxYdTK+pW+nXflm8UkKd2UYlEbYz5qEi0JuZR9ckSw==", "requires": { "bn.js": "4.11.8", "inherits": "2.0.1", @@ -682,9 +698,9 @@ "integrity": "sha1-ibTRmasr7kneFk6gK4nORi1xt2c=" }, "base64-js": { - "version": "1.2.1", - "resolved": "https://registry.npmjs.org/base64-js/-/base64-js-1.2.1.tgz", - "integrity": "sha512-dwVUVIXsBZXwTuwnXI9RK8sBmgq09NDHzyR9SAph9eqk76gKK2JSQmZARC2zRC81JC2QTtxD0ARU5qTS25gIGw==" + "version": "1.2.3", + "resolved": "https://registry.npmjs.org/base64-js/-/base64-js-1.2.3.tgz", + "integrity": "sha512-MsAhsUW1GxCdgYSO6tAfZrNapmUKk7mWx/k5mFY/A1gBtkaCaNapTg+FExCw1r9yeaZhqx/xPg43xgTFH6KL5w==" }, "bn.js": { "version": "4.11.8", @@ -692,9 +708,9 @@ "integrity": "sha512-ItfYfPLkWHUjckQCk8xC+LwxgK8NYcXywGigJgSwOP8Y2iyWT4f2vsZnoOXTTbo+o5yXmIUJ4gn5538SO5S3gA==" }, "brace-expansion": { - "version": "1.1.8", - "resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-1.1.8.tgz", - "integrity": "sha1-wHshHHyVLsH479Uad+8NHTmQopI=", + "version": "1.1.11", + "resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-1.1.11.tgz", + "integrity": "sha512-iCuPHDFgrHX7H2vEI/5xpz07zSHB00TpugqhmYtVmMO6518mCuRMoOYFldEBl0g187ufozdaHgWKcYFb61qGiA==", "requires": { "balanced-match": "1.0.0", "concat-map": "0.0.1" @@ -706,9 +722,9 @@ "integrity": "sha1-EsJe/kCkXjwyPrhnWgoM5XsiNx8=" }, "browserify-aes": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/browserify-aes/-/browserify-aes-1.1.0.tgz", - "integrity": "sha512-W2bIMLYoZ9oow7TyePpMJk9l9LY7O3R61a/68bVCDOtnJynnwe3ZeW2IzzSkrQnPKNdJrxVDn3ALZNisSBwb7g==", + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/browserify-aes/-/browserify-aes-1.1.1.tgz", + "integrity": "sha512-UGnTYAnB2a3YuYKIRy1/4FB2HdM866E0qC46JXvVTYKlBlZlnvfpSfY6OKfXZAkv70eJ2a1SqzpAo5CRhZGDFg==", "requires": { "buffer-xor": "1.0.3", "cipher-base": "1.0.4", @@ -723,7 +739,7 @@ "resolved": "https://registry.npmjs.org/browserify-cipher/-/browserify-cipher-1.0.0.tgz", "integrity": "sha1-mYgkSHS/XtTijalWZtzWasj8Njo=", "requires": { - "browserify-aes": "1.1.0", + "browserify-aes": "1.1.1", "browserify-des": "1.0.0", "evp_bytestokey": "1.0.3" } @@ -744,7 +760,7 @@ "integrity": "sha1-IeCr+vbyApzy+vsTNWenAdQTVSQ=", "requires": { "bn.js": "4.11.8", - "randombytes": "2.0.5" + "randombytes": "2.0.6" } }, "browserify-sign": { @@ -774,7 +790,7 @@ "resolved": "https://registry.npmjs.org/buffer/-/buffer-4.9.1.tgz", "integrity": "sha1-bRu2AbB6TvztlwlBMgkwJ8lbwpg=", "requires": { - "base64-js": "1.2.1", + "base64-js": "1.2.3", "ieee754": "1.1.8", "isarray": "1.0.0" } @@ -784,6 +800,11 @@ "resolved": "https://registry.npmjs.org/buffer-xor/-/buffer-xor-1.0.3.tgz", "integrity": "sha1-JuYe0UIvtw3ULm42cp7VHYVf6Nk=" }, + "builtin-status-codes": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/builtin-status-codes/-/builtin-status-codes-3.0.0.tgz", + "integrity": "sha1-hZgoeOIbmOHGZCXgPQF0eI9Wnug=" + }, "cipher-base": { "version": "1.0.4", "resolved": "https://registry.npmjs.org/cipher-base/-/cipher-base-1.0.4.tgz", @@ -828,7 +849,7 @@ "cipher-base": "1.0.4", "inherits": "2.0.1", "ripemd160": "2.0.1", - "sha.js": "2.4.9" + "sha.js": "2.4.10" } }, "create-hmac": { @@ -841,13 +862,13 @@ "inherits": "2.0.1", "ripemd160": "2.0.1", "safe-buffer": "5.1.1", - "sha.js": "2.4.9" + "sha.js": "2.4.10" } }, "crypto-browserify": { - "version": "3.11.1", - "resolved": "https://registry.npmjs.org/crypto-browserify/-/crypto-browserify-3.11.1.tgz", - "integrity": "sha512-Na7ZlwCOqoaW5RwUK1WpXws2kv8mNhWdTlzob0UXulk6G9BDbyiJaGTYBIX61Ozn9l1EPPJpICZb4DaOpT9NlQ==", + "version": "3.12.0", + "resolved": "https://registry.npmjs.org/crypto-browserify/-/crypto-browserify-3.12.0.tgz", + "integrity": "sha512-fz4spIh+znjO2VjL+IdhEpRJ3YN6sMzITSBijk6FK2UvTqruSQW+/cCZTSNsMiZNvUeq0CqurF+dAbyiGOY6Wg==", "requires": { "browserify-cipher": "1.0.0", "browserify-sign": "4.0.4", @@ -858,7 +879,8 @@ "inherits": "2.0.1", "pbkdf2": "3.0.14", "public-encrypt": "4.0.0", - "randombytes": "2.0.5" + "randombytes": "2.0.6", + "randomfill": "1.0.4" } }, "date-now": { @@ -882,13 +904,13 @@ "requires": { "bn.js": "4.11.8", "miller-rabin": "4.0.1", - "randombytes": "2.0.5" + "randombytes": "2.0.6" } }, "domain-browser": { - "version": "1.1.7", - "resolved": "https://registry.npmjs.org/domain-browser/-/domain-browser-1.1.7.tgz", - "integrity": "sha1-hnqksJP6oF8d4IwG9NeyH9+GmLw=" + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/domain-browser/-/domain-browser-1.2.0.tgz", + "integrity": "sha512-jnjyiM6eRyZl2H+W8Q/zLMA481hzi0eszAaBUzIVnmYVDBbnLxVNnfu1HgEBvCbL+71FrxMl3E6lpKH7Ge3OXA==" }, "elliptic": { "version": "6.4.0", @@ -970,15 +992,6 @@ "minimalistic-crypto-utils": "1.0.1" } }, - "http-browserify": { - "version": "1.7.0", - "resolved": "https://registry.npmjs.org/http-browserify/-/http-browserify-1.7.0.tgz", - "integrity": "sha1-M3la3nLfiKz7/TZ3PO/tp2RzWyA=", - "requires": { - "Base64": "0.2.1", - "inherits": "2.0.1" - } - }, "https-browserify": { "version": "0.0.1", "resolved": "https://registry.npmjs.org/https-browserify/-/https-browserify-0.0.1.tgz", @@ -1057,7 +1070,7 @@ "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-3.0.4.tgz", "integrity": "sha512-yJHVQEhyqPLUTgt9B83PXu6W3rx4MvvHvSUvToogpwoGDOUQ+yDrR0HRot+yOCdCO7u4hX3pWft6kWBBcqh0UA==", "requires": { - "brace-expansion": "1.1.8" + "brace-expansion": "1.1.11" } }, "once": { @@ -1083,8 +1096,8 @@ "resolved": "https://registry.npmjs.org/parse-asn1/-/parse-asn1-5.1.0.tgz", "integrity": "sha1-N8T5t+06tlx0gXtfJICTf7+XxxI=", "requires": { - "asn1.js": "4.9.1", - "browserify-aes": "1.1.0", + "asn1.js": "4.10.1", + "browserify-aes": "1.1.1", "create-hash": "1.1.3", "evp_bytestokey": "1.0.3", "pbkdf2": "3.0.14" @@ -1109,7 +1122,7 @@ "create-hmac": "1.1.6", "ripemd160": "2.0.1", "safe-buffer": "5.1.1", - "sha.js": "2.4.9" + "sha.js": "2.4.10" } }, "process": { @@ -1118,9 +1131,9 @@ "integrity": "sha1-czIwDoQBYb2j5podHZGn1LwW8YI=" }, "process-nextick-args": { - "version": "1.0.7", - "resolved": "https://registry.npmjs.org/process-nextick-args/-/process-nextick-args-1.0.7.tgz", - "integrity": "sha1-FQ4gt1ZZCtP5EJPyWk8q2L/zC6M=" + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/process-nextick-args/-/process-nextick-args-2.0.0.tgz", + "integrity": "sha512-MtEC1TqN0EU5nephaJ4rAtThHtC86dNN9qCuEhtshvpVBkAW5ZO7BASN9REnF9eoXGcRub+pFuKEpOHE+HbEMw==" }, "public-encrypt": { "version": "4.0.0", @@ -1131,7 +1144,7 @@ "browserify-rsa": "4.0.1", "create-hash": "1.1.3", "parse-asn1": "5.1.0", - "randombytes": "2.0.5" + "randombytes": "2.0.6" } }, "punycode": { @@ -1150,21 +1163,30 @@ "integrity": "sha1-nsYfeQSYdXB9aUFFlv2Qek1xHnM=" }, "randombytes": { - "version": "2.0.5", - "resolved": "https://registry.npmjs.org/randombytes/-/randombytes-2.0.5.tgz", - "integrity": "sha512-8T7Zn1AhMsQ/HI1SjcCfT/t4ii3eAqco3yOcSzS4mozsOz69lHLsoMXmF9nZgnFanYscnSlUSgs8uZyKzpE6kg==", + "version": "2.0.6", + "resolved": "https://registry.npmjs.org/randombytes/-/randombytes-2.0.6.tgz", + "integrity": "sha512-CIQ5OFxf4Jou6uOKe9t1AOgqpeU5fd70A8NPdHSGeYXqXsPe6peOwI0cUl88RWZ6sP1vPMV3avd/R6cZ5/sP1A==", "requires": { "safe-buffer": "5.1.1" } }, + "randomfill": { + "version": "1.0.4", + "resolved": "https://registry.npmjs.org/randomfill/-/randomfill-1.0.4.tgz", + "integrity": "sha512-87lcbR8+MhcWcUiQ+9e+Rwx8MyR2P7qnt15ynUlbm3TU/fjbgz4GsvfSUDTemtCCtVCqb4ZcEFlyPNTh9bBTLw==", + "requires": { + "randombytes": "2.0.6", + "safe-buffer": "5.1.1" + } + }, "readable-stream": { - "version": "git+https://github.com/meteor/readable-stream.git#d64a64aa6061b9b6855feff4d09e58fb3b2e4502", + "version": "git+https://github.com/meteor/readable-stream.git#c688cdd193549919b840e8d72a86682d91961e12", "requires": { "inherits": "2.0.3", "isarray": "1.0.0", - "process-nextick-args": "1.0.7", + "process-nextick-args": "2.0.0", "safe-buffer": "5.1.1", - "string_decoder": "1.0.3", + "string_decoder": "1.1.0", "util-deprecate": "1.0.2" }, "dependencies": { @@ -1198,9 +1220,9 @@ "integrity": "sha512-kKvNJn6Mm93gAczWVJg7wH+wGYWNrDHdWvpUmHyEsgCtIwwo3bqPtV4tR5tuPaUhTOo/kvhVwd8XwwOllGYkbg==" }, "sha.js": { - "version": "2.4.9", - "resolved": "https://registry.npmjs.org/sha.js/-/sha.js-2.4.9.tgz", - "integrity": "sha512-G8zektVqbiPHrylgew9Zg1VRB1L/DtXNUVAM6q4QLy8NE3qtHlFXTf8VLL4k1Yl6c7NMjtZUTdXV+X44nFaT6A==", + "version": "2.4.10", + "resolved": "https://registry.npmjs.org/sha.js/-/sha.js-2.4.10.tgz", + "integrity": "sha512-vnwmrFDlOExK4Nm16J2KMWHLrp14lBrjxMxBJpu++EnsuBmpiYaM/MEs46Vxxm/4FvdP5yTwuCTO9it5FSjrqA==", "requires": { "inherits": "2.0.1", "safe-buffer": "5.1.1" @@ -1212,13 +1234,25 @@ "integrity": "sha1-ZiZu5fm9uZQKTkUUyvtDu3Hlyds=", "requires": { "inherits": "2.0.1", - "readable-stream": "git+https://github.com/meteor/readable-stream.git#d64a64aa6061b9b6855feff4d09e58fb3b2e4502" + "readable-stream": "git+https://github.com/meteor/readable-stream.git#c688cdd193549919b840e8d72a86682d91961e12" + } + }, + "stream-http": { + "version": "2.8.0", + "resolved": "https://registry.npmjs.org/stream-http/-/stream-http-2.8.0.tgz", + "integrity": "sha512-sZOFxI/5xw058XIRHl4dU3dZ+TTOIGJR78Dvo0oEAejIt4ou27k+3ne1zYmCV+v7UucbxIFQuOgnkTVHh8YPnw==", + "requires": { + "builtin-status-codes": "3.0.0", + "inherits": "2.0.1", + "readable-stream": "git+https://github.com/meteor/readable-stream.git#c688cdd193549919b840e8d72a86682d91961e12", + "to-arraybuffer": "1.0.1", + "xtend": "4.0.1" } }, "string_decoder": { - "version": "1.0.3", - "resolved": "https://registry.npmjs.org/string_decoder/-/string_decoder-1.0.3.tgz", - "integrity": "sha512-4AH6Z5fzNNBcH+6XDMfA/BTt87skxqJlO0lAh3Dker5zThcAxG6mKz+iGu308UKoPPQ8Dcqx/4JhujzltRa+hQ==", + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/string_decoder/-/string_decoder-1.1.0.tgz", + "integrity": "sha512-8zQpRF6juocE69ae7CSPmYEGJe4VCXwP6S6dxUWI7i53Gwv54/ec41fiUA+X7BPGGv7fRSQJjBQVa0gomGaOgg==", "requires": { "safe-buffer": "5.1.1" } @@ -1231,6 +1265,11 @@ "process": "0.11.10" } }, + "to-arraybuffer": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/to-arraybuffer/-/to-arraybuffer-1.0.1.tgz", + "integrity": "sha1-fSKbH8xjfkZsoIEYCDanqr/4P0M=" + }, "tty-browserify": { "version": "0.0.0", "resolved": "https://registry.npmjs.org/tty-browserify/-/tty-browserify-0.0.0.tgz", @@ -1277,6 +1316,11 @@ "version": "1.0.2", "resolved": "https://registry.npmjs.org/wrappy/-/wrappy-1.0.2.tgz", "integrity": "sha1-tSQ9jz7BqjXxNkYFvA0QNuMKtp8=" + }, + "xtend": { + "version": "4.0.1", + "resolved": "https://registry.npmjs.org/xtend/-/xtend-4.0.1.tgz", + "integrity": "sha1-pcbVMr5lbiPbgg77lDofBJmNY68=" } } }, @@ -1334,6 +1378,27 @@ "readable-stream": "2.3.3", "safe-buffer": "5.1.1", "sqlstring": "2.3.0" + }, + "dependencies": { + "process-nextick-args": { + "version": "1.0.7", + "resolved": "https://registry.npmjs.org/process-nextick-args/-/process-nextick-args-1.0.7.tgz", + "integrity": "sha1-FQ4gt1ZZCtP5EJPyWk8q2L/zC6M=" + }, + "readable-stream": { + "version": "2.3.3", + "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-2.3.3.tgz", + "integrity": "sha512-m+qzzcn7KUxEmd1gMbchF+Y2eIUbieUaxkWtptyHywrX0rE8QEYqPC07Vuy4Wm32/xE16NcdBctb8S0Xe/5IeQ==", + "requires": { + "core-util-is": "1.0.2", + "inherits": "2.0.3", + "isarray": "1.0.0", + "process-nextick-args": "1.0.7", + "safe-buffer": "5.1.1", + "string_decoder": "1.0.3", + "util-deprecate": "1.0.2" + } + } } }, "next-tick": { @@ -1385,9 +1450,9 @@ "integrity": "sha1-gV7R9uvGWSb4ZbMQwHE7yzMVzks=" }, "process-nextick-args": { - "version": "1.0.7", - "resolved": "https://registry.npmjs.org/process-nextick-args/-/process-nextick-args-1.0.7.tgz", - "integrity": "sha1-FQ4gt1ZZCtP5EJPyWk8q2L/zC6M=" + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/process-nextick-args/-/process-nextick-args-2.0.0.tgz", + "integrity": "sha512-MtEC1TqN0EU5nephaJ4rAtThHtC86dNN9qCuEhtshvpVBkAW5ZO7BASN9REnF9eoXGcRub+pFuKEpOHE+HbEMw==" }, "promise": { "version": "7.3.1", @@ -1450,14 +1515,14 @@ } }, "readable-stream": { - "version": "2.3.3", - "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-2.3.3.tgz", - "integrity": "sha512-m+qzzcn7KUxEmd1gMbchF+Y2eIUbieUaxkWtptyHywrX0rE8QEYqPC07Vuy4Wm32/xE16NcdBctb8S0Xe/5IeQ==", + "version": "2.3.5", + "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-2.3.5.tgz", + "integrity": "sha512-tK0yDhrkygt/knjowCUiWP9YdV7c5R+8cR0r/kt9ZhBU906Fs6RpQJCEilamRJj1Nx2rWI6LkW9gKqjTkshhEw==", "requires": { "core-util-is": "1.0.2", "inherits": "2.0.3", "isarray": "1.0.0", - "process-nextick-args": "1.0.7", + "process-nextick-args": "2.0.0", "safe-buffer": "5.1.1", "string_decoder": "1.0.3", "util-deprecate": "1.0.2" @@ -1492,9 +1557,9 @@ "integrity": "sha1-jcrkcOHIirwtYA//Sndihtp15jc=" }, "resolve": { - "version": "1.5.0", - "resolved": "https://registry.npmjs.org/resolve/-/resolve-1.5.0.tgz", - "integrity": "sha512-hgoSGrc3pjzAPHNBg+KnFcK2HwlHTs/YrAGUr6qgTVUZmXv1UEXXl0bZNBKMA9fud6lRYFdPGz0xXxycPzmmiw==", + "version": "1.6.0", + "resolved": "https://registry.npmjs.org/resolve/-/resolve-1.6.0.tgz", + "integrity": "sha512-mw7JQNu5ExIkcw4LPih0owX/TZXjD/ZUF/ZQ/pDnkw3ZKhDcZZw5klmBlj6gVMwjQ3Pz5Jgu7F3d0jcDVuEWdw==", "requires": { "path-parse": "1.0.5" } @@ -1510,9 +1575,9 @@ "integrity": "sha1-e45lYZCyKOgaZq6nSEgNgozS03o=" }, "semver": { - "version": "5.4.1", - "resolved": "https://registry.npmjs.org/semver/-/semver-5.4.1.tgz", - "integrity": "sha512-WfG/X9+oATh81XtllIo/I8gOiY9EXRdv1cQdyykeXK17YcUW3EXUAi2To4pcH6nZtJPr7ZOpM5OMyWJZm+8Rsg==" + "version": "5.5.0", + "resolved": "https://registry.npmjs.org/semver/-/semver-5.5.0.tgz", + "integrity": "sha512-4SJ3dm0WAwWy/NVeioZh5AntkdJoWKxHxcmyP622fOkgHa4z3R0TdBJICINyaSDE6uNwVc8gZr+ZinwZAH4xIA==" }, "source-map": { "version": "0.5.7", @@ -1554,9 +1619,9 @@ } }, "supports-color": { - "version": "5.2.0", - "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-5.2.0.tgz", - "integrity": "sha512-F39vS48la4YvTZUPVeTqsjsFNrvcMwrV3RLZINsmHo+7djCvuUzSIeXOnZ5hmjef4bajL1dNccN+tg5XAliO5Q==", + "version": "5.3.0", + "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-5.3.0.tgz", + "integrity": "sha512-0aP01LLIskjKs3lq52EC0aGBAJhLq7B2Rd8HC/DR/PtNNpcLilNmHC12O+hu0usQpo7wtHNRqtrhBwtDb0+dNg==", "requires": { "has-flag": "3.0.0" } @@ -1570,8 +1635,8 @@ "big-number": "0.3.1", "bl": "1.2.1", "iconv-lite": "0.4.19", - "readable-stream": "2.3.3", - "semver": "5.4.1", + "readable-stream": "2.3.5", + "semver": "5.5.0", "sprintf": "0.1.5" }, "dependencies": { @@ -1615,14 +1680,14 @@ "integrity": "sha1-RQ1Nyfpw3nMnYvvS1KKJgUGaDM8=" }, "uuid": { - "version": "3.1.0", - "resolved": "https://registry.npmjs.org/uuid/-/uuid-3.1.0.tgz", - "integrity": "sha512-DIWtzUkw04M4k3bf1IcpS2tngXEL26YUD2M0tMDUpnUrz2hgzUBlD55a4FjdLGPvfHxS6uluGWvaVEqgBcVa+g==" + "version": "3.2.1", + "resolved": "https://registry.npmjs.org/uuid/-/uuid-3.2.1.tgz", + "integrity": "sha512-jZnMwlb9Iku/O3smGWvZhauCf6cvvpKi4BKRiliS3cxnI+Gz9j5MEpTz2UFuXiKPJocb7gnsLHwiS05ige5BEA==" }, "winston": { - "version": "2.4.0", - "resolved": "https://registry.npmjs.org/winston/-/winston-2.4.0.tgz", - "integrity": "sha1-gIBQuT1SZh7Z+2wms/DIJnCLCu4=", + "version": "2.4.1", + "resolved": "https://registry.npmjs.org/winston/-/winston-2.4.1.tgz", + "integrity": "sha512-k/+Dkzd39ZdyJHYkuaYmf4ff+7j+sCIy73UCOWHYA67/WXU+FF/Y6PF28j+Vy7qNRPHWO+dR+/+zkoQWPimPqg==", "requires": { "async": "1.0.0", "colors": "1.0.3", @@ -1646,7 +1711,7 @@ "resolved": "https://registry.npmjs.org/xmlbuilder/-/xmlbuilder-4.2.1.tgz", "integrity": "sha1-qlijBBoGb5DqoWwvU4n/GfP0YaU=", "requires": { - "lodash": "4.17.4" + "lodash": "4.17.5" } } } diff --git a/tools/tests/apps/modules/package.json b/tools/tests/apps/modules/package.json index ea00c55771..ad2bee638a 100644 --- a/tools/tests/apps/modules/package.json +++ b/tools/tests/apps/modules/package.json @@ -6,7 +6,7 @@ "dependencies": { "@babel/core": "^7.0.0-beta.40", "@babel/plugin-proposal-optional-chaining": "^7.0.0-beta.40", - "@babel/runtime": "^7.0.0-beta.40", + "@babel/runtime": "^7.0.0-beta.42", "aws-sdk": "^2.2.41", "babel-plugin-transform-do-expressions": "^6.22.0", "cli-color": "^0.2.3", From ecf726ebf383917baba929e26adc40bd95281eab Mon Sep 17 00:00:00 2001 From: Pravdomil Date: Wed, 21 Mar 2018 16:43:48 +0100 Subject: [PATCH 0655/1355] Make _debug reporting more consistent (#9678) --- packages/accounts-base/localstorage_token.js | 2 +- packages/allow-deny/allow-deny.js | 2 +- packages/autoupdate/autoupdate_client.js | 2 +- packages/callback-hook/hook.js | 4 ++-- packages/ddp-client/common/livedata_connection.js | 10 ++-------- packages/ddp-server/livedata_server.js | 7 +++---- packages/ddp-server/writefence.js | 2 +- packages/meteor/dynamics_browser.js | 3 +-- packages/meteor/dynamics_nodejs.js | 2 +- packages/meteor/fiber_helpers.js | 4 ++-- packages/meteor/fiber_stubs_client.js | 2 +- packages/meteor/helpers.js | 2 +- packages/mongo/oplog_observe_driver.js | 4 ++-- packages/mongo/oplog_tailing.js | 4 ++-- packages/mongo/polling_observe_driver.js | 2 +- packages/oauth/oauth_cordova.js | 2 +- 16 files changed, 23 insertions(+), 31 deletions(-) diff --git a/packages/accounts-base/localstorage_token.js b/packages/accounts-base/localstorage_token.js index 325dc7cdb3..2b78b0ad56 100644 --- a/packages/accounts-base/localstorage_token.js +++ b/packages/accounts-base/localstorage_token.js @@ -126,7 +126,7 @@ Ap._initLocalStorage = function () { userId && self.connection.setUserId(userId); self.loginWithToken(token, function (err) { if (err) { - Meteor._debug("Error logging in with token: " + err); + Meteor._debug("Error logging in with token", err); self.makeClientLoggedOut(); } diff --git a/packages/allow-deny/allow-deny.js b/packages/allow-deny/allow-deny.js index fbddcbfb0c..2bf0aade74 100644 --- a/packages/allow-deny/allow-deny.js +++ b/packages/allow-deny/allow-deny.js @@ -418,7 +418,7 @@ CollectionPrototype._callMutatorMethod = function _callMutatorMethod(name, args, // not force a callback. callback = function (err) { if (err) - Meteor._debug(name + " failed: " + (err.reason || err.stack)); + Meteor._debug(name + " failed", err); }; } diff --git a/packages/autoupdate/autoupdate_client.js b/packages/autoupdate/autoupdate_client.js index 8ec968cb09..0465e3bd1e 100644 --- a/packages/autoupdate/autoupdate_client.js +++ b/packages/autoupdate/autoupdate_client.js @@ -70,7 +70,7 @@ function after(times, func) { Autoupdate._retrySubscription = function () { Meteor.subscribe("meteor_autoupdate_clientVersions", { onError: function (error) { - Meteor._debug("autoupdate subscription failed:", error); + Meteor._debug("autoupdate subscription failed", error); failures++; retry.retryLater(failures, function () { // Just retry making the subscription, don't reload the whole diff --git a/packages/callback-hook/hook.js b/packages/callback-hook/hook.js index 0be8d56f21..d44ebd54df 100644 --- a/packages/callback-hook/hook.js +++ b/packages/callback-hook/hook.js @@ -119,8 +119,8 @@ function dontBindEnvironment(func, onException, _this) { var description = onException || "callback of async function"; onException = function (error) { Meteor._debug( - "Exception in " + description + ":", - error && error.stack || error + "Exception in " + description, + error ); }; } diff --git a/packages/ddp-client/common/livedata_connection.js b/packages/ddp-client/common/livedata_connection.js index 05933f8536..e10b2a01d9 100644 --- a/packages/ddp-client/common/livedata_connection.js +++ b/packages/ddp-client/common/livedata_connection.js @@ -713,8 +713,7 @@ export class Connection { } else if (!exception._expectedByTest) { Meteor._debug( "Exception while simulating the effect of invoking '" + name + "'", - exception, - exception.stack + exception ); } } @@ -730,12 +729,7 @@ export class Connection { // result of the RPC. If an error occurred then print the error // to the console. callback = err => { - err && - Meteor._debug( - "Error invoking Method '" + name + "':", - err, - err.stack - ); + err && Meteor._debug("Error invoking Method '" + name + "'", err); }; } else { // On the server, make the function synchronous. Throw on diff --git a/packages/ddp-server/livedata_server.js b/packages/ddp-server/livedata_server.js index ca0b617183..458b337ac4 100644 --- a/packages/ddp-server/livedata_server.js +++ b/packages/ddp-server/livedata_server.js @@ -1399,8 +1399,7 @@ Server = function (options) { socket._meteorSession.processMessage(msg); } catch (e) { // XXX print stack nicely - Meteor._debug("Internal exception while processing message", msg, - e.message, e.stack); + Meteor._debug("Internal exception while processing message", msg, e); } }); @@ -1735,9 +1734,9 @@ var wrapInternalException = function (exception, context) { // Tests can set the '_expectedByTest' flag on an exception so it won't go to // the server log. if (!exception._expectedByTest) { - Meteor._debug("Exception " + context, exception.stack); + Meteor._debug("Exception " + context, exception); if (exception.sanitizedError) { - Meteor._debug("Sanitized and reported to the client as:", exception.sanitizedError.message); + Meteor._debug("Sanitized and reported to the client as:", exception.sanitizedError); Meteor._debug(); } } diff --git a/packages/ddp-server/writefence.js b/packages/ddp-server/writefence.js index a114bfd971..e9310c9f7f 100644 --- a/packages/ddp-server/writefence.js +++ b/packages/ddp-server/writefence.js @@ -99,7 +99,7 @@ _.extend(DDPServer._WriteFence.prototype, { try { func(self); } catch (err) { - Meteor._debug("exception in write fence callback:", err); + Meteor._debug("exception in write fence callback", err); } } diff --git a/packages/meteor/dynamics_browser.js b/packages/meteor/dynamics_browser.js index ed014f29bf..9057a9eb7e 100644 --- a/packages/meteor/dynamics_browser.js +++ b/packages/meteor/dynamics_browser.js @@ -39,8 +39,7 @@ Meteor.bindEnvironment = function (func, onException, _this) { onException = function (error) { Meteor._debug( "Exception in " + description + ":", - error, - error.stack + error ); }; } diff --git a/packages/meteor/dynamics_nodejs.js b/packages/meteor/dynamics_nodejs.js index 3d2cf593a7..963d146b06 100644 --- a/packages/meteor/dynamics_nodejs.js +++ b/packages/meteor/dynamics_nodejs.js @@ -90,7 +90,7 @@ Meteor.bindEnvironment = function (func, onException, _this) { onException = function (error) { Meteor._debug( "Exception in " + description + ":", - error && error.stack || error + error ); }; } else if (typeof(onException) !== 'function') { diff --git a/packages/meteor/fiber_helpers.js b/packages/meteor/fiber_helpers.js index 4b1da7d735..0de1e9905c 100644 --- a/packages/meteor/fiber_helpers.js +++ b/packages/meteor/fiber_helpers.js @@ -68,7 +68,7 @@ SQp.runTask = function (task) { var fut = new Future; var handle = { task: Meteor.bindEnvironment(task, function (e) { - Meteor._debug("Exception from task:", e && e.stack || e); + Meteor._debug("Exception from task", e); throw e; }), future: fut, @@ -152,7 +152,7 @@ SQp._run = function () { // We'll throw this exception through runTask. exception = err; } else { - Meteor._debug("Exception in queued task: " + (err.stack || err)); + Meteor._debug("Exception in queued task", err); } } self._currentTaskFiber = undefined; diff --git a/packages/meteor/fiber_stubs_client.js b/packages/meteor/fiber_stubs_client.js index ac7a98528e..8389b9b424 100644 --- a/packages/meteor/fiber_stubs_client.js +++ b/packages/meteor/fiber_stubs_client.js @@ -47,7 +47,7 @@ SQp.runTask = function (task) { // for. throw e; } - Meteor._debug("Exception in queued task: " + (e.stack || e)); + Meteor._debug("Exception in queued task", e); } } } finally { diff --git a/packages/meteor/helpers.js b/packages/meteor/helpers.js index 38ce106b4d..54ebbe3ae7 100644 --- a/packages/meteor/helpers.js +++ b/packages/meteor/helpers.js @@ -162,7 +162,7 @@ function logErr(err) { if (err) { return Meteor._debug( "Exception in callback of async function", - err.stack ? err.stack : err + err ); } } diff --git a/packages/mongo/oplog_observe_driver.js b/packages/mongo/oplog_observe_driver.js index f4995fd4fe..d5ad88e13c 100644 --- a/packages/mongo/oplog_observe_driver.js +++ b/packages/mongo/oplog_observe_driver.js @@ -511,7 +511,7 @@ _.extend(OplogObserveDriver.prototype, { finishIfNeedToPollQuery(function (err, doc) { try { if (err) { - Meteor._debug("Got exception while fetching documents: " + + Meteor._debug("Got exception while fetching documents", err); // If we get an error from the fetcher (eg, trouble // connecting to Mongo), let's just abandon the fetch phase @@ -747,7 +747,7 @@ _.extend(OplogObserveDriver.prototype, { // During failover (eg) if we get an exception we should log and retry // instead of crashing. - Meteor._debug("Got exception while polling query: " + e); + Meteor._debug("Got exception while polling query", e); Meteor._sleepForMs(100); } } diff --git a/packages/mongo/oplog_tailing.js b/packages/mongo/oplog_tailing.js index 47a40b128c..eb7f59d74b 100644 --- a/packages/mongo/oplog_tailing.js +++ b/packages/mongo/oplog_tailing.js @@ -99,7 +99,7 @@ _.extend(OplogHandle.prototype, { // XXX can we avoid this clone by making oplog.js careful? originalCallback(EJSON.clone(notification)); }, function (err) { - Meteor._debug("Error in oplog callback", err.stack); + Meteor._debug("Error in oplog callback", err); }); var listenHandle = self._crossbar.listen(trigger, callback); return { @@ -143,7 +143,7 @@ _.extend(OplogHandle.prototype, { } catch (e) { // During failover (eg) if we get an exception we should log and retry // instead of crashing. - Meteor._debug("Got exception while reading last entry: " + e); + Meteor._debug("Got exception while reading last entry", e); Meteor._sleepForMs(100); } } diff --git a/packages/mongo/polling_observe_driver.js b/packages/mongo/polling_observe_driver.js index 72468a40f7..36f78e73b5 100644 --- a/packages/mongo/polling_observe_driver.js +++ b/packages/mongo/polling_observe_driver.js @@ -173,7 +173,7 @@ _.extend(PollingObserveDriver.prototype, { // "cancel" the observe from the inside in this case. Array.prototype.push.apply(self._pendingWrites, writesForCycle); Meteor._debug("Exception while polling query " + - JSON.stringify(self._cursorDescription) + ": " + e.stack); + JSON.stringify(self._cursorDescription), e); return; } diff --git a/packages/oauth/oauth_cordova.js b/packages/oauth/oauth_cordova.js index 9dfb189f0a..325febfaca 100644 --- a/packages/oauth/oauth_cordova.js +++ b/packages/oauth/oauth_cordova.js @@ -10,7 +10,7 @@ // the popup. If not passed defaults to something sane. OAuth.showPopup = function (url, callback, dimensions) { var fail = function (err) { - Meteor._debug("Error from OAuth popup: " + JSON.stringify(err)); + Meteor._debug("Error from OAuth popup", err); }; // When running on an android device, we sometimes see the From 3b7c237ef8113b07a70d91098906594fafd2e9a0 Mon Sep 17 00:00:00 2001 From: James Burgess Date: Wed, 21 Mar 2018 16:50:56 +0100 Subject: [PATCH 0656/1355] Improve CircleCI caching strategy (#9728) --- .circleci/config.yml | 35 +++++++++++++++++------------------ 1 file changed, 17 insertions(+), 18 deletions(-) diff --git a/.circleci/config.yml b/.circleci/config.yml index faf15b1d45..a8557a817c 100644 --- a/.circleci/config.yml +++ b/.circleci/config.yml @@ -1,13 +1,5 @@ version: 2 -# These directories are cached across all builds, currently with no -# hashing mechanism, but we should consider doing it off dev_bundle. -meteor_cache_dirs: &meteor_cache_dirs - paths: - - "dev_bundle" - - ".babel-cache" - - ".meteor" - # A reusable "run" snippet which is ran before each test to setup the # environment for user-limits, core-dumps, etc. run_env_change: &run_env_change @@ -122,7 +114,14 @@ jobs: name: Git Submodules. command: (git submodule sync && git submodule update --init --recursive) || (rm -fr .git/config .git/modules && git submodule deinit -f . && git submodule update --init --recursive) - restore_cache: - key: meteor-cache + keys: + - dev-bundle-cache-{{ checksum "meteor" }} + - dev-bundle-cache + - restore_cache: + keys: + - other-deps-cache-{{ .Branch }}-{{ .Revision }} + - other-deps-cache-{{ .Branch }} + - other-deps-cache - restore_cache: keys: - test-groups-v1-{{ .Branch }} @@ -153,15 +152,6 @@ jobs: - store_artifacts: path: /tmp/memuse.txt - save_caches: - <<: *build_machine_environment - steps: - - attach_workspace: - at: . - - save_cache: - key: meteor-cache - <<: *meteor_cache_dirs - Isolated Tests: <<: *build_machine_environment steps: @@ -702,6 +692,15 @@ jobs: paths: - ./tmp/test-groups when: on_success + - save_cache: + key: dev-bundle-cache-{{ checksum "meteor" }} + paths: + - "dev_bundle" + - save_cache: + key: other-deps-cache-{{ .Branch }}-{{ .Revision }} + paths: + - ".babel-cache" + - ".meteor" workflows: version: 2 From d2db339087d4a2fffcd56cd9c3c43e5f5cfe3e8e Mon Sep 17 00:00:00 2001 From: Hugh Willson Date: Wed, 21 Mar 2018 11:52:01 -0400 Subject: [PATCH 0657/1355] Move markdown and showdown to packages/deprecated (#9737) --- packages/{ => deprecated}/markdown/.gitignore | 0 packages/{ => deprecated}/markdown/README.md | 0 packages/{ => deprecated}/markdown/license.txt | 0 packages/{ => deprecated}/markdown/package.js | 0 packages/{ => deprecated}/markdown/showdown.js | 0 packages/{ => deprecated}/markdown/template-integration.js | 0 packages/{ => deprecated}/showdown/.gitignore | 0 packages/{ => deprecated}/showdown/README.md | 0 packages/{ => deprecated}/showdown/package.js | 0 9 files changed, 0 insertions(+), 0 deletions(-) rename packages/{ => deprecated}/markdown/.gitignore (100%) rename packages/{ => deprecated}/markdown/README.md (100%) rename packages/{ => deprecated}/markdown/license.txt (100%) rename packages/{ => deprecated}/markdown/package.js (100%) rename packages/{ => deprecated}/markdown/showdown.js (100%) rename packages/{ => deprecated}/markdown/template-integration.js (100%) rename packages/{ => deprecated}/showdown/.gitignore (100%) rename packages/{ => deprecated}/showdown/README.md (100%) rename packages/{ => deprecated}/showdown/package.js (100%) diff --git a/packages/markdown/.gitignore b/packages/deprecated/markdown/.gitignore similarity index 100% rename from packages/markdown/.gitignore rename to packages/deprecated/markdown/.gitignore diff --git a/packages/markdown/README.md b/packages/deprecated/markdown/README.md similarity index 100% rename from packages/markdown/README.md rename to packages/deprecated/markdown/README.md diff --git a/packages/markdown/license.txt b/packages/deprecated/markdown/license.txt similarity index 100% rename from packages/markdown/license.txt rename to packages/deprecated/markdown/license.txt diff --git a/packages/markdown/package.js b/packages/deprecated/markdown/package.js similarity index 100% rename from packages/markdown/package.js rename to packages/deprecated/markdown/package.js diff --git a/packages/markdown/showdown.js b/packages/deprecated/markdown/showdown.js similarity index 100% rename from packages/markdown/showdown.js rename to packages/deprecated/markdown/showdown.js diff --git a/packages/markdown/template-integration.js b/packages/deprecated/markdown/template-integration.js similarity index 100% rename from packages/markdown/template-integration.js rename to packages/deprecated/markdown/template-integration.js diff --git a/packages/showdown/.gitignore b/packages/deprecated/showdown/.gitignore similarity index 100% rename from packages/showdown/.gitignore rename to packages/deprecated/showdown/.gitignore diff --git a/packages/showdown/README.md b/packages/deprecated/showdown/README.md similarity index 100% rename from packages/showdown/README.md rename to packages/deprecated/showdown/README.md diff --git a/packages/showdown/package.js b/packages/deprecated/showdown/package.js similarity index 100% rename from packages/showdown/package.js rename to packages/deprecated/showdown/package.js From 857edc2079269a69e7f21db6ef5704c8e90811ba Mon Sep 17 00:00:00 2001 From: MKRazz Date: Wed, 21 Mar 2018 12:05:13 -0400 Subject: [PATCH 0658/1355] Removed fiber wrapper around OAuth middleware. (#9740) * Removed fiber wrapper around OAuth middleware. With commit 3b18863, connect handlers are guaranteed to run in a fiber, making the fiber wrapper in the OAuth middleware superfluous. Additionally, because it manually wraps the middleware in a Fiber directly, it is losing access to the properties stored in the existing fiber (meteor/meteor-feature-requests#156). * Bump oauth Meteor package version to 1.2.2. --- packages/oauth/oauth_server.js | 10 ++-------- packages/oauth/package.js | 2 +- 2 files changed, 3 insertions(+), 9 deletions(-) diff --git a/packages/oauth/oauth_server.js b/packages/oauth/oauth_server.js index c12f169605..0df5ec978a 100644 --- a/packages/oauth/oauth_server.js +++ b/packages/oauth/oauth_server.js @@ -139,14 +139,6 @@ OAuth._checkRedirectUrlOrigin = function (redirectUrl) { // Listen to incoming OAuth http requests -WebApp.connectHandlers.use(function(req, res, next) { - // Need to create a Fiber since we're using synchronous http calls and nothing - // else is wrapping this in a fiber automatically - Fiber(function () { - middleware(req, res, next); - }).run(); -}); - var middleware = function (req, res, next) { // Make sure to catch any exceptions because otherwise we'd crash // the runner @@ -207,6 +199,8 @@ var middleware = function (req, res, next) { } }; +WebApp.connectHandlers.use(middleware); + OAuthTest.middleware = middleware; // Handle /_oauth/* paths and extract the service name. diff --git a/packages/oauth/package.js b/packages/oauth/package.js index 2eef6fd84f..baae0d24ee 100644 --- a/packages/oauth/package.js +++ b/packages/oauth/package.js @@ -1,6 +1,6 @@ Package.describe({ summary: "Common code for OAuth-based services", - version: "1.2.1" + version: "1.2.2" }); Package.onUse(function (api) { From 542ad06b75a3ca2174c740bc6af900f9506dabb6 Mon Sep 17 00:00:00 2001 From: Hugh Willson Date: Thu, 1 Feb 2018 12:22:04 -0500 Subject: [PATCH 0659/1355] Revert the revert of "Upgrade to Mongo 3.6 (#9533)" This reverts commit 85d74f8d2be3b26f29ea51723a2241441bf7aa25. --- History.md | 4 ++++ packages/npm-mongo/.npm/package/npm-shrinkwrap.json | 12 ++++++------ packages/npm-mongo/package.js | 4 ++-- scripts/admin/test-packages-with-mongo-versions.rb | 6 +++--- scripts/build-dev-bundle-common.sh | 4 ++-- scripts/generate-dev-bundle.ps1 | 6 +++--- scripts/generate-dev-bundle.sh | 13 ++++++++++++- tools/runners/run-mongo.js | 3 --- 8 files changed, 32 insertions(+), 20 deletions(-) diff --git a/History.md b/History.md index 618f35e7b2..5de253a71e 100644 --- a/History.md +++ b/History.md @@ -447,6 +447,10 @@ [Issue #5127](https://github.com/meteor/meteor/issues/5127) [PR #9512](https://github.com/meteor/meteor/pull/9512) +* Mongo has been upgraded to version 3.6.2 for 64-bit OS', and 3.2.18 for + 32-bit OS'. + [PR #9533](https://github.com/meteor/meteor/pull/9533) + ## v1.6.0.1, 2017-12-08 * Node has been upgraded to version diff --git a/packages/npm-mongo/.npm/package/npm-shrinkwrap.json b/packages/npm-mongo/.npm/package/npm-shrinkwrap.json index 20b3c06fa6..d6e057fd05 100644 --- a/packages/npm-mongo/.npm/package/npm-shrinkwrap.json +++ b/packages/npm-mongo/.npm/package/npm-shrinkwrap.json @@ -32,14 +32,14 @@ "integrity": "sha1-u5NdSFgsuhaMBoNJV6VKPgcSTxE=" }, "mongodb": { - "version": "2.2.33", - "resolved": "https://registry.npmjs.org/mongodb/-/mongodb-2.2.33.tgz", - "integrity": "sha1-tTfEcdNKZlG0jzb9vyl1A0Dgi1A=" + "version": "2.2.34", + "resolved": "https://registry.npmjs.org/mongodb/-/mongodb-2.2.34.tgz", + "integrity": "sha1-o09Zu+thdUrsQy3nLD/iFSakTBo=" }, "mongodb-core": { - "version": "2.1.17", - "resolved": "https://registry.npmjs.org/mongodb-core/-/mongodb-core-2.1.17.tgz", - "integrity": "sha1-pBizN6FKFJkPtRC5I97mqBMXPfg=" + "version": "2.1.18", + "resolved": "https://registry.npmjs.org/mongodb-core/-/mongodb-core-2.1.18.tgz", + "integrity": "sha1-TEYTm986HwMt7ZHbSfOO7AFlkFA=" }, "process-nextick-args": { "version": "1.0.7", diff --git a/packages/npm-mongo/package.js b/packages/npm-mongo/package.js index 20bd672cb6..ee92ce7445 100644 --- a/packages/npm-mongo/package.js +++ b/packages/npm-mongo/package.js @@ -3,12 +3,12 @@ Package.describe({ summary: "Wrapper around the mongo npm package", - version: "2.2.33", + version: "2.2.34", documentation: null }); Npm.depends({ - mongodb: "2.2.33" + mongodb: "2.2.34" }); Package.onUse(function (api) { diff --git a/scripts/admin/test-packages-with-mongo-versions.rb b/scripts/admin/test-packages-with-mongo-versions.rb index 9ffff7808f..7ebb703bdb 100755 --- a/scripts/admin/test-packages-with-mongo-versions.rb +++ b/scripts/admin/test-packages-with-mongo-versions.rb @@ -7,8 +7,8 @@ require 'tmpdir' mongo_install_urls = { - "3.4.9" => "https://fastdl.mongodb.org/osx/mongodb-osx-x86_64-3.4.9.tgz", - "3.2.15" => "https://fastdl.mongodb.org/osx/mongodb-osx-x86_64-3.2.15.tgz", + "3.6.2" => "https://fastdl.mongodb.org/osx/mongodb-osx-ssl-x86_64-3.6.2.tgz", + "3.2.18" => "https://fastdl.mongodb.org/osx/mongodb-osx-x86_64-3.2.15.tgz", "3.0.5" => "https://fastdl.mongodb.org/osx/mongodb-osx-x86_64-3.0.5.tgz", "2.6.10" => "http://downloads.mongodb.org/osx/mongodb-osx-x86_64-2.6.10.tgz" } @@ -29,7 +29,7 @@ puts "Putting output in: #{path_to_output}/" test_env = "TEST_PACKAGES_EXCLUDE=\"less\"" -["3.4.9", "3.2.15", "3.0.5", "2.6.10"].each do |mongo_version| +["3.6.2", "3.2.18", "3.0.5", "2.6.10"].each do |mongo_version| puts "Installing and testing with Mongo #{mongo_version}..." Dir.mktmpdir "mongo_install" do |mongo_install_dir| diff --git a/scripts/build-dev-bundle-common.sh b/scripts/build-dev-bundle-common.sh index ac525b826f..dc88380544 100644 --- a/scripts/build-dev-bundle-common.sh +++ b/scripts/build-dev-bundle-common.sh @@ -6,8 +6,8 @@ set -u UNAME=$(uname) ARCH=$(uname -m) NODE_VERSION=8.9.4 -MONGO_VERSION_64BIT=3.4.10 -MONGO_VERSION_32BIT=3.2.15 +MONGO_VERSION_64BIT=3.6.2 +MONGO_VERSION_32BIT=3.2.18 NPM_VERSION=5.6.0 # If we built Node from source on Jenkins, this is the build number. diff --git a/scripts/generate-dev-bundle.ps1 b/scripts/generate-dev-bundle.ps1 index 37f3441917..5b0058aa1e 100644 --- a/scripts/generate-dev-bundle.ps1 +++ b/scripts/generate-dev-bundle.ps1 @@ -219,11 +219,11 @@ Function Add-NodeAndNpm { } Function Add-Mongo { - # Mongo 3.4 no longer supports 32-bit (x86) architectures, so we package - # the latest 3.2 version of Mongo for those builds and 3.4+ for x64. + # Mongo >= 3.4 no longer supports 32-bit (x86) architectures, so we package + # the latest 3.2 version of Mongo for those builds and >= 3.4 for x64. $mongo_filenames = @{ windows_x86 = "mongodb-win32-i386-${MONGO_VERSION_32BIT}" - windows_x64 = "mongodb-win32-x86_64-2008plus-${MONGO_VERSION_64BIT}" + windows_x64 = "mongodb-win32-x86_64-2008plus-ssl-${MONGO_VERSION_64BIT}" } $previousCwd = $PWD diff --git a/scripts/generate-dev-bundle.sh b/scripts/generate-dev-bundle.sh index c00892b531..ab1f7572c1 100755 --- a/scripts/generate-dev-bundle.sh +++ b/scripts/generate-dev-bundle.sh @@ -49,11 +49,22 @@ extractNodeFromTarGz || downloadNodeFromS3 || downloadOfficialNode # by default. Will download a 32-bit version of Mongo if using a 32-bit based # OS. MONGO_VERSION=$MONGO_VERSION_64BIT +MONGO_SSL="-ssl" + +# The MongoDB "Generic" Linux option is not offered with SSL, which is reserved +# for named distributions. This works out better since the SSL support adds +# size to the dev bundle though isn't necessary for local development. +if [ $UNAME = "Linux" ]; then + MONGO_SSL="" +fi + if [ $ARCH = "i686" ]; then MONGO_VERSION=$MONGO_VERSION_32BIT fi + MONGO_NAME="mongodb-${OS}-${ARCH}-${MONGO_VERSION}" -MONGO_TGZ="${MONGO_NAME}.tgz" +MONGO_NAME_SSL="mongodb-${OS}${MONGO_SSL}-${ARCH}-${MONGO_VERSION}" +MONGO_TGZ="${MONGO_NAME_SSL}.tgz" MONGO_URL="http://fastdl.mongodb.org/${OS}/${MONGO_TGZ}" echo "Downloading Mongo from ${MONGO_URL}" curl "${MONGO_URL}" | tar zx diff --git a/tools/runners/run-mongo.js b/tools/runners/run-mongo.js index 8870155dd1..265277ed70 100644 --- a/tools/runners/run-mongo.js +++ b/tools/runners/run-mongo.js @@ -61,9 +61,6 @@ function spawnMongod(mongodPath, port, dbPath, replSetName) { // Use mmapv1 on 32bit platforms, as our binary doesn't support WT if (process.arch === 'ia32') { args.push('--storageEngine', 'mmapv1', '--smallfiles'); - } else { - // The WT journal seems to be at least 300MB, which is just too much - args.push('--nojournal'); } return child_process.spawn(mongodPath, args, { From 824d2d613b8c796897ae9df5da65fb6ffce06b9d Mon Sep 17 00:00:00 2001 From: Hugh Willson Date: Fri, 2 Feb 2018 12:21:43 -0500 Subject: [PATCH 0660/1355] Adjust accounts connection close delay for tests The accounts system `logoutOtherClients` method is using a connection close delay to make sure clients have a chance to get updated tokens, before older tokens are removed. Certain tests are setting this delay to 0, to help speed things up. The Meteor Mongo 3.6 changes have brought back in the need to use Mongo journaling, since the ability to disable journaling has been deprecated by Mongo. This means there is now a slight performance hit on certain Mongo operations, due to the increased time needed to cover the write to disk. This slight performance hit is causing the tests that use the 0 connection close delay to fail, since they are not waiting long enough for clients to get updated tokens, before they're removed. These changes increase the test connection close delay, to fix the failing tests. --- packages/accounts-base/accounts_server.js | 12 ++++++++---- packages/accounts-password/password_tests.js | 2 +- 2 files changed, 9 insertions(+), 5 deletions(-) diff --git a/packages/accounts-base/accounts_server.js b/packages/accounts-base/accounts_server.js index eb9d679b68..cbe3b68a14 100644 --- a/packages/accounts-base/accounts_server.js +++ b/packages/accounts-base/accounts_server.js @@ -556,8 +556,9 @@ Ap._initServerMethods = function () { // Delete all the current user's tokens and close all open connections logged // in as this user. Returns a fresh new login token that this client can - // use. Tests set Accounts._noConnectionCloseDelayForTest to delete tokens - // immediately instead of using a delay. + // use. Tests can override the default connection close delay + // (stored in CONNECTION_CLOSE_DELAY_MS) by setting + // Accounts._connectionCloseDelayMsForTests. // // XXX COMPAT WITH 0.7.2 // This single `logoutOtherClients` method has been replaced with two @@ -594,12 +595,15 @@ Ap._initServerMethods = function () { }, $push: { "services.resume.loginTokens": accounts._hashStampedToken(newToken) } }); + const connectionCloseDelay = + accounts._connectionCloseDelayMsForTests + ? accounts._connectionCloseDelayMsForTests + : CONNECTION_CLOSE_DELAY_MS; Meteor.setTimeout(function () { // The observe on Meteor.users will take care of closing the connections // associated with `tokens`. accounts._deleteSavedTokensForUser(userId, tokens); - }, accounts._noConnectionCloseDelayForTest ? 0 : - CONNECTION_CLOSE_DELAY_MS); + }, connectionCloseDelay); // We do not set the login token on this connection, but instead the // observe closes the connection and the client will reconnect with the // new token. diff --git a/packages/accounts-password/password_tests.js b/packages/accounts-password/password_tests.js index 754c64b3f3..636ee1d490 100644 --- a/packages/accounts-password/password_tests.js +++ b/packages/accounts-password/password_tests.js @@ -1,4 +1,4 @@ -Accounts._noConnectionCloseDelayForTest = true; +Accounts._connectionCloseDelayMsForTests = 1000; if (Meteor.isServer) { Accounts.removeDefaultRateLimit(); From aca266d1f5bb71bc3606c25f17e32c2690b06d08 Mon Sep 17 00:00:00 2001 From: Hugh Willson Date: Fri, 2 Feb 2018 12:26:12 -0500 Subject: [PATCH 0661/1355] Add back in the missing History entry --- History.md | 3 +++ 1 file changed, 3 insertions(+) diff --git a/History.md b/History.md index 5de253a71e..aa5fe5d387 100644 --- a/History.md +++ b/History.md @@ -106,6 +106,9 @@ [Feature #24](https://github.com/meteor/meteor-feature-requests/issues/24) [PR #9657](https://github.com/meteor/meteor/pull/9657) +* Mongo has been upgraded to version 3.6.2 for 64-bit OS', and 3.2.18 for + 32-bit OS'. + ## v1.6.1, 2018-01-19 * Node has been updated to version From ec840e1e0deda917210a10e40304d2763f803430 Mon Sep 17 00:00:00 2001 From: Hugh Willson Date: Fri, 2 Feb 2018 12:27:52 -0500 Subject: [PATCH 0662/1355] Removed the now invalid History entry --- History.md | 4 ---- 1 file changed, 4 deletions(-) diff --git a/History.md b/History.md index aa5fe5d387..c69ad9949f 100644 --- a/History.md +++ b/History.md @@ -450,10 +450,6 @@ [Issue #5127](https://github.com/meteor/meteor/issues/5127) [PR #9512](https://github.com/meteor/meteor/pull/9512) -* Mongo has been upgraded to version 3.6.2 for 64-bit OS', and 3.2.18 for - 32-bit OS'. - [PR #9533](https://github.com/meteor/meteor/pull/9533) - ## v1.6.0.1, 2017-12-08 * Node has been upgraded to version From 7eaed1b43af51c3cbb7e951d43fd60240ed30155 Mon Sep 17 00:00:00 2001 From: Hugh Willson Date: Fri, 2 Feb 2018 13:49:55 -0500 Subject: [PATCH 0663/1355] Add $v operator to fix issue #9623 --- packages/minimongo/local_collection.js | 6 ++++++ 1 file changed, 6 insertions(+) diff --git a/packages/minimongo/local_collection.js b/packages/minimongo/local_collection.js index b414dcb396..5ea83843e0 100644 --- a/packages/minimongo/local_collection.js +++ b/packages/minimongo/local_collection.js @@ -1848,6 +1848,12 @@ const MODIFIERS = { // native javascript numbers (doubles) so far, so we can't support $bit throw MinimongoError('$bit is not supported', {field}); }, + $v() { + // As discussed in https://github.com/meteor/meteor/issues/9623, + // the `$v` operator is not needed by Meteor, but problems can occur if + // it's not at least callable (as of Mongo >= 3.6). It's defined here as + // a no-op to work around these problems. + } }; const NO_CREATE_MODIFIERS = { From 9db6a437bca25e7ad6845c0da7647ae6222864c3 Mon Sep 17 00:00:00 2001 From: Hugh Willson Date: Fri, 2 Feb 2018 13:54:11 -0500 Subject: [PATCH 0664/1355] Add PR link to History.md --- History.md | 1 + 1 file changed, 1 insertion(+) diff --git a/History.md b/History.md index c69ad9949f..085d20041d 100644 --- a/History.md +++ b/History.md @@ -108,6 +108,7 @@ * Mongo has been upgraded to version 3.6.2 for 64-bit OS', and 3.2.18 for 32-bit OS'. + [PR #9632](https://github.com/meteor/meteor/pull/9632) ## v1.6.1, 2018-01-19 From 57ef6e9cc45fdbb09c733c368b8eda69ccf134fd Mon Sep 17 00:00:00 2001 From: Hugh Willson Date: Thu, 1 Mar 2018 07:49:19 -0500 Subject: [PATCH 0665/1355] Add mention of db fix when jumping back to older versions --- History.md | 20 ++++++++++++++++++++ 1 file changed, 20 insertions(+) diff --git a/History.md b/History.md index 085d20041d..43767d9ab8 100644 --- a/History.md +++ b/History.md @@ -67,6 +67,26 @@ `selftest.skip.define('some test', ...` will skip running "some test". [PR #9579](https://github.com/meteor/meteor/pull/9579) +* Mongo has been upgraded to version 3.6.2 for 64-bit OS', and 3.2.18 for + 32-bit OS'. + [PR #9632](https://github.com/meteor/meteor/pull/9632) + + **NOTE:** After upgrading an application to use Mongo 3.6.2, it has been + noticed ([#9591](https://github.com/meteor/meteor/issues/9591)) + that attempting to run that application with an older version of + Meteor (via `meteor --release X`), that uses an older version of Mongo, can + prevent the application from starting. This can be fixed by either + running `meteor reset`, or by repairing the Mongo database. To repair the + database, find the `mongod` binary on your system that lines up with the + Meteor release you're jumping back to, and run + `mongodb --dbpath your-apps-db --repair`. For example: + + ``` + /my-home/.meteor/packages/meteor-tool/1.6.0_1/mt-os.osx.x86_64/dev_bundle/mongodb/bin/mongod --dbpath /my-app/.meteor/local/db --repair + ``` + + [PR #9632](https://github.com/meteor/meteor/pull/9632) + * The `@babel/plugin-proposal-class-properties` plugin provided by `meteor-babel` now runs with the `loose:true` option, as required by other (optional) plugins like `@babel/plugin-proposal-decorators`. From 84e0d944dc7788d50783a9fa1a5eae4366dde440 Mon Sep 17 00:00:00 2001 From: Hugh Willson Date: Thu, 1 Mar 2018 07:56:11 -0500 Subject: [PATCH 0666/1355] Update to use latest Mongo 3.6.3 and 3.2.19 versions --- History.md | 4 ++-- scripts/admin/test-packages-with-mongo-versions.rb | 6 +++--- scripts/build-dev-bundle-common.sh | 4 ++-- 3 files changed, 7 insertions(+), 7 deletions(-) diff --git a/History.md b/History.md index 43767d9ab8..715c3f5137 100644 --- a/History.md +++ b/History.md @@ -67,12 +67,12 @@ `selftest.skip.define('some test', ...` will skip running "some test". [PR #9579](https://github.com/meteor/meteor/pull/9579) -* Mongo has been upgraded to version 3.6.2 for 64-bit OS', and 3.2.18 for +* Mongo has been upgraded to version 3.6.3 for 64-bit OS', and 3.2.19 for 32-bit OS'. [PR #9632](https://github.com/meteor/meteor/pull/9632) **NOTE:** After upgrading an application to use Mongo 3.6.2, it has been - noticed ([#9591](https://github.com/meteor/meteor/issues/9591)) + observed ([#9591](https://github.com/meteor/meteor/issues/9591)) that attempting to run that application with an older version of Meteor (via `meteor --release X`), that uses an older version of Mongo, can prevent the application from starting. This can be fixed by either diff --git a/scripts/admin/test-packages-with-mongo-versions.rb b/scripts/admin/test-packages-with-mongo-versions.rb index 7ebb703bdb..807eaae342 100755 --- a/scripts/admin/test-packages-with-mongo-versions.rb +++ b/scripts/admin/test-packages-with-mongo-versions.rb @@ -7,8 +7,8 @@ require 'tmpdir' mongo_install_urls = { - "3.6.2" => "https://fastdl.mongodb.org/osx/mongodb-osx-ssl-x86_64-3.6.2.tgz", - "3.2.18" => "https://fastdl.mongodb.org/osx/mongodb-osx-x86_64-3.2.15.tgz", + "3.6.3" => "https://fastdl.mongodb.org/osx/mongodb-osx-ssl-x86_64-3.6.3.tgz", + "3.2.19" => "https://fastdl.mongodb.org/osx/mongodb-osx-x86_64-3.2.19.tgz", "3.0.5" => "https://fastdl.mongodb.org/osx/mongodb-osx-x86_64-3.0.5.tgz", "2.6.10" => "http://downloads.mongodb.org/osx/mongodb-osx-x86_64-2.6.10.tgz" } @@ -29,7 +29,7 @@ puts "Putting output in: #{path_to_output}/" test_env = "TEST_PACKAGES_EXCLUDE=\"less\"" -["3.6.2", "3.2.18", "3.0.5", "2.6.10"].each do |mongo_version| +["3.6.3", "3.2.19", "3.0.5", "2.6.10"].each do |mongo_version| puts "Installing and testing with Mongo #{mongo_version}..." Dir.mktmpdir "mongo_install" do |mongo_install_dir| diff --git a/scripts/build-dev-bundle-common.sh b/scripts/build-dev-bundle-common.sh index dc88380544..b97c4690ab 100644 --- a/scripts/build-dev-bundle-common.sh +++ b/scripts/build-dev-bundle-common.sh @@ -6,8 +6,8 @@ set -u UNAME=$(uname) ARCH=$(uname -m) NODE_VERSION=8.9.4 -MONGO_VERSION_64BIT=3.6.2 -MONGO_VERSION_32BIT=3.2.18 +MONGO_VERSION_64BIT=3.6.3 +MONGO_VERSION_32BIT=3.2.19 NPM_VERSION=5.6.0 # If we built Node from source on Jenkins, this is the build number. From 69e488b139c8f3b2fd73e768d298b595f4e1d0a3 Mon Sep 17 00:00:00 2001 From: Jesse Rosenberger Date: Wed, 21 Mar 2018 20:31:49 +0200 Subject: [PATCH 0667/1355] Bump $BUNDLE_VERSION to 8.9.26 before rebuilding dev bundle. --- meteor | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/meteor b/meteor index adda825a51..63f07e9ba2 100755 --- a/meteor +++ b/meteor @@ -1,6 +1,6 @@ #!/usr/bin/env bash -BUNDLE_VERSION=8.9.25 +BUNDLE_VERSION=8.9.26 # OS Check. Put here because here is where we download the precompiled # bundles that are arch specific. From b7ea61783886d495297c85367426c50f115275e7 Mon Sep 17 00:00:00 2001 From: Jesse Rosenberger Date: Wed, 21 Mar 2018 21:11:44 +0200 Subject: [PATCH 0668/1355] Bump minimongo package version to 1.4.4. --- packages/minimongo/package.js | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/packages/minimongo/package.js b/packages/minimongo/package.js index 7b23c89294..cabc96089f 100644 --- a/packages/minimongo/package.js +++ b/packages/minimongo/package.js @@ -1,6 +1,6 @@ Package.describe({ summary: "Meteor's client-side datastore: a port of MongoDB to Javascript", - version: '1.4.3' + version: '1.4.4' }); Package.onUse(api => { From eead9c100d09a540e1ffeecaeec13888b2bc413f Mon Sep 17 00:00:00 2001 From: Ben Newman Date: Wed, 21 Mar 2018 15:29:53 -0400 Subject: [PATCH 0669/1355] Bump package versions for 1.6.2-beta.13 release. --- packages/babel-compiler/package.js | 2 +- packages/boilerplate-generator-tests/package.js | 2 +- packages/boilerplate-generator/package.js | 2 +- packages/dynamic-import/package.js | 2 +- packages/ecmascript-runtime-client/package.js | 2 +- packages/ecmascript-runtime-server/package.js | 2 +- packages/ecmascript-runtime/package.js | 2 +- packages/ecmascript/package.js | 2 +- packages/es5-shim/package.js | 2 +- packages/jquery/package.js | 2 +- packages/meteor-base/package.js | 2 +- packages/meteor-tool/package.js | 2 +- packages/meteor/package.js | 2 +- packages/modern-browsers/package.js | 2 +- packages/promise/package.js | 2 +- packages/socket-stream-client/package.js | 2 +- packages/tracker/package.js | 2 +- packages/webapp/package.js | 2 +- scripts/admin/meteor-release-experimental.json | 2 +- 19 files changed, 19 insertions(+), 19 deletions(-) diff --git a/packages/babel-compiler/package.js b/packages/babel-compiler/package.js index f10d00624e..4e8768d726 100644 --- a/packages/babel-compiler/package.js +++ b/packages/babel-compiler/package.js @@ -6,7 +6,7 @@ Package.describe({ // isn't possible because you can't publish a non-recommended // release with package versions that don't have a pre-release // identifier at the end (eg, -dev) - version: '7.1.0-beta162.12' + version: '7.1.0-beta162.13' }); Npm.depends({ diff --git a/packages/boilerplate-generator-tests/package.js b/packages/boilerplate-generator-tests/package.js index ab58898402..a0423e30a6 100644 --- a/packages/boilerplate-generator-tests/package.js +++ b/packages/boilerplate-generator-tests/package.js @@ -2,7 +2,7 @@ Package.describe({ // These tests are in a separate package so that we can Npm.depend on // parse5, a html parsing library. summary: "Tests for the boilerplate-generator package", - version: '1.5.0-beta162.12', + version: '1.5.0-beta162.13', documentation: null }); diff --git a/packages/boilerplate-generator/package.js b/packages/boilerplate-generator/package.js index e367782291..a4bf85be75 100644 --- a/packages/boilerplate-generator/package.js +++ b/packages/boilerplate-generator/package.js @@ -1,6 +1,6 @@ Package.describe({ summary: "Generates the boilerplate html from program's manifest", - version: '1.5.0-beta162.12' + version: '1.5.0-beta162.13' }); Npm.depends({ diff --git a/packages/dynamic-import/package.js b/packages/dynamic-import/package.js index d987d367c5..cae6a28c0e 100644 --- a/packages/dynamic-import/package.js +++ b/packages/dynamic-import/package.js @@ -1,6 +1,6 @@ Package.describe({ name: "dynamic-import", - version: "0.4.0-beta162.12", + version: "0.4.0-beta162.13", summary: "Runtime support for Meteor 1.5 dynamic import(...) syntax", documentation: "README.md" }); diff --git a/packages/ecmascript-runtime-client/package.js b/packages/ecmascript-runtime-client/package.js index 256a332ed9..29554e6a3f 100644 --- a/packages/ecmascript-runtime-client/package.js +++ b/packages/ecmascript-runtime-client/package.js @@ -1,6 +1,6 @@ Package.describe({ name: "ecmascript-runtime-client", - version: "0.7.0-beta162.12", + version: "0.7.0-beta162.13", summary: "Polyfills for new ECMAScript 2015 APIs like Map and Set", git: "https://github.com/meteor/meteor/tree/devel/packages/ecmascript-runtime-client", documentation: "README.md" diff --git a/packages/ecmascript-runtime-server/package.js b/packages/ecmascript-runtime-server/package.js index 29fad253d6..661530daea 100644 --- a/packages/ecmascript-runtime-server/package.js +++ b/packages/ecmascript-runtime-server/package.js @@ -1,6 +1,6 @@ Package.describe({ name: "ecmascript-runtime-server", - version: "0.7.0-beta162.12", + version: "0.7.0-beta162.13", summary: "Polyfills for new ECMAScript 2015 APIs like Map and Set", git: "https://github.com/meteor/meteor/tree/devel/packages/ecmascript-runtime-client", documentation: "README.md" diff --git a/packages/ecmascript-runtime/package.js b/packages/ecmascript-runtime/package.js index 2965a0e154..274e3f8591 100644 --- a/packages/ecmascript-runtime/package.js +++ b/packages/ecmascript-runtime/package.js @@ -1,6 +1,6 @@ Package.describe({ name: "ecmascript-runtime", - version: "0.7.0-beta162.12", + version: "0.7.0-beta162.13", summary: "Polyfills for new ECMAScript 2015 APIs like Map and Set", git: "https://github.com/meteor/ecmascript-runtime", documentation: "README.md" diff --git a/packages/ecmascript/package.js b/packages/ecmascript/package.js index 347368c6f9..3d71aa46a8 100644 --- a/packages/ecmascript/package.js +++ b/packages/ecmascript/package.js @@ -1,6 +1,6 @@ Package.describe({ name: 'ecmascript', - version: '0.11.0-beta162.12', + version: '0.11.0-beta162.13', summary: 'Compiler plugin that supports ES2015+ in all .js files', documentation: 'README.md' }); diff --git a/packages/es5-shim/package.js b/packages/es5-shim/package.js index e87b144b75..600ce90013 100644 --- a/packages/es5-shim/package.js +++ b/packages/es5-shim/package.js @@ -1,6 +1,6 @@ Package.describe({ name: "es5-shim", - version: "4.8.0-beta162.12", + version: "4.8.0-beta162.13", summary: "Shims and polyfills to improve ECMAScript 5 support", documentation: "README.md" }); diff --git a/packages/jquery/package.js b/packages/jquery/package.js index 9b78d93ea1..b638e4eff9 100644 --- a/packages/jquery/package.js +++ b/packages/jquery/package.js @@ -1,7 +1,7 @@ Package.describe({ summary: "Manipulate the DOM using CSS selectors", // This package currently uses jQuery 1.12.1 (due to #9605). - version: '1.12.1-beta162.12' + version: '1.12.1-beta162.13' }); Package.onUse(function (api) { diff --git a/packages/meteor-base/package.js b/packages/meteor-base/package.js index 4ecb830a54..7741301c5b 100644 --- a/packages/meteor-base/package.js +++ b/packages/meteor-base/package.js @@ -1,6 +1,6 @@ Package.describe({ name: 'meteor-base', - version: '1.4.0-beta162.12', + version: '1.4.0-beta162.13', // Brief, one-line summary of the package. summary: 'Packages that every Meteor app needs', // By default, Meteor will default to using README.md for documentation. diff --git a/packages/meteor-tool/package.js b/packages/meteor-tool/package.js index 0d093ff2e2..f82866e0f3 100644 --- a/packages/meteor-tool/package.js +++ b/packages/meteor-tool/package.js @@ -1,6 +1,6 @@ Package.describe({ summary: "The Meteor command-line tool", - version: '1.6.2-beta.12' + version: '1.6.2-beta.13' }); Package.includeTool(); diff --git a/packages/meteor/package.js b/packages/meteor/package.js index 121fcb208e..268df93680 100644 --- a/packages/meteor/package.js +++ b/packages/meteor/package.js @@ -2,7 +2,7 @@ Package.describe({ summary: "Core Meteor environment", - version: '1.9.0-beta162.12' + version: '1.9.0-beta162.13' }); Package.registerBuildPlugin({ diff --git a/packages/modern-browsers/package.js b/packages/modern-browsers/package.js index c40729b103..2caed6691f 100644 --- a/packages/modern-browsers/package.js +++ b/packages/modern-browsers/package.js @@ -1,6 +1,6 @@ Package.describe({ name: "modern-browsers", - version: "0.1.0-beta162.12", + version: "0.1.0-beta162.13", summary: "API for defining the boundary between modern and legacy " + "JavaScript clients", documentation: "README.md" diff --git a/packages/promise/package.js b/packages/promise/package.js index 0403a403c0..07e0904c8d 100644 --- a/packages/promise/package.js +++ b/packages/promise/package.js @@ -1,6 +1,6 @@ Package.describe({ name: "promise", - version: "0.11.0-beta162.12", + version: "0.11.0-beta162.13", summary: "ECMAScript 2015 Promise polyfill with Fiber support", git: "https://github.com/meteor/promise", documentation: "README.md" diff --git a/packages/socket-stream-client/package.js b/packages/socket-stream-client/package.js index 0c79978970..e20edf739d 100644 --- a/packages/socket-stream-client/package.js +++ b/packages/socket-stream-client/package.js @@ -1,6 +1,6 @@ Package.describe({ name: "socket-stream-client", - version: "0.2.0-beta162.12", + version: "0.2.0-beta162.13", summary: "Provides the ClientStream abstraction used by ddp-client", documentation: "README.md" }); diff --git a/packages/tracker/package.js b/packages/tracker/package.js index a5871e20f6..017ca02440 100644 --- a/packages/tracker/package.js +++ b/packages/tracker/package.js @@ -1,6 +1,6 @@ Package.describe({ summary: "Dependency tracker to allow reactive callbacks", - version: "1.2.0-beta162.12" + version: "1.2.0-beta162.13" }); Package.onUse(function (api) { diff --git a/packages/webapp/package.js b/packages/webapp/package.js index deb7f61701..8a01674a8e 100644 --- a/packages/webapp/package.js +++ b/packages/webapp/package.js @@ -1,6 +1,6 @@ Package.describe({ summary: "Serves a Meteor app over HTTP", - version: '1.6.0-beta162.12' + version: '1.6.0-beta162.13' }); Npm.depends({"basic-auth-connect": "1.0.0", diff --git a/scripts/admin/meteor-release-experimental.json b/scripts/admin/meteor-release-experimental.json index e371d5f0ba..c49ee309c9 100644 --- a/scripts/admin/meteor-release-experimental.json +++ b/scripts/admin/meteor-release-experimental.json @@ -1,6 +1,6 @@ { "track": "METEOR", - "version": "1.6.2-beta.12", + "version": "1.6.2-beta.13", "recommended": false, "official": false, "description": "Meteor" From 42983d70631341f5e7aa75b0f283fe6b1743af21 Mon Sep 17 00:00:00 2001 From: Matt Date: Thu, 22 Mar 2018 17:18:34 -0400 Subject: [PATCH 0670/1355] Removed Fiber import from oauth package. With commit 857edc2, Fiber is no longer used in oauth server so it is no longer necessary to import. --- packages/oauth/oauth_server.js | 1 - 1 file changed, 1 deletion(-) diff --git a/packages/oauth/oauth_server.js b/packages/oauth/oauth_server.js index 0df5ec978a..b3cde82f33 100644 --- a/packages/oauth/oauth_server.js +++ b/packages/oauth/oauth_server.js @@ -1,4 +1,3 @@ -var Fiber = Npm.require('fibers'); var url = Npm.require('url'); OAuth = {}; From e0c800587c956b83d469b6e6b88c84052dc75612 Mon Sep 17 00:00:00 2001 From: Matt Date: Thu, 22 Mar 2018 17:19:24 -0400 Subject: [PATCH 0671/1355] Bump oauth Meteor package version to 1.2.3. --- packages/oauth/package.js | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/packages/oauth/package.js b/packages/oauth/package.js index baae0d24ee..f96f76920e 100644 --- a/packages/oauth/package.js +++ b/packages/oauth/package.js @@ -1,6 +1,6 @@ Package.describe({ summary: "Common code for OAuth-based services", - version: "1.2.2" + version: "1.2.3" }); Package.onUse(function (api) { From 22e3f995652c8c81e3cc25965d1882834d3ad9dc Mon Sep 17 00:00:00 2001 From: Ben Newman Date: Thu, 22 Mar 2018 21:43:16 -0400 Subject: [PATCH 0672/1355] Fix copying/symlinking of node_modules directories during build. The bulk of this commit implements `builder.copyNodeModulesDirectory` to allow more than one `node_modules` directory to be copied to the same destination with as much safe symlinking as possible. However, the crux of the fix for #9738 is the removal of the call to `builder.generateFilename`, which deserves additional explanation. If multiple directories are copied to the same output path by the builder, in some cases it makes sense to ensure distinct directory names by adding numeric suffixes to some of the directories. In general, `builder.generateFilename` can get away with this renaming only if the exact names of the directories are an implementation detail. However, the code changed by this commit was altering the names of `node_modules` directories whenever a package had both an `Npm.depends` and a local `node_modules` directory. Not only is it totally invalid to change the name of a `node_modules` directory, but there is also no harm in copying the contents of multiple `node_modules` directories into one final directory called `node_modules`. Should fix #9738. --- tools/isobuild/builder.js | 92 ++++++++++++++++++++++--- tools/isobuild/bundler.js | 2 +- tools/isobuild/isopack.js | 2 +- tools/isobuild/unibuild.js | 6 +- tools/tests/old/test-bundler-options.js | 67 ++++++++++++------ 5 files changed, 133 insertions(+), 36 deletions(-) diff --git a/tools/isobuild/builder.js b/tools/isobuild/builder.js index b5d3f573cb..fdb5973fba 100644 --- a/tools/isobuild/builder.js +++ b/tools/isobuild/builder.js @@ -390,6 +390,56 @@ Previous builder: ${previousBuilder.outputPath}, this builder: ${outputPath}` return generated; } + // A version of copyDirectory that works better for copying node_modules + // directories when symlinks are involved. + copyNodeModulesDirectory(options) { + assert.strictEqual(files.pathBasename(options.from), "node_modules"); + assert.strictEqual(files.pathBasename(options.to), "node_modules"); + + if (options.symlink) { + // If we're going to use symlinks to speed up this copy, then we + // need to make sure we've reserved all directories that are not + // package directories, such as the node_modules directory itself, + // as well as node_modules/meteor and the parent directories of any + // scoped npm packages. + this._ensureAllNonPackageDirectories( + files.realpath(options.from), + options.to + ); + } + + // Call this._copyDirectory rather than this.copyDirectory so that the + // subBuilder hacks from Builder#enter won't apply a second time. + return this._copyDirectory(options); + } + + _ensureAllNonPackageDirectories(absFromDir, relToDir) { + const dirStat = optimisticStatOrNull(absFromDir); + if (! (dirStat && dirStat.isDirectory())) { + return; + } + + const absFromPackageJson = + files.pathJoin(absFromDir, "package.json"); + + const stat = optimisticStatOrNull(absFromPackageJson); + if (stat && stat.isFile()) { + // If the directory has a package.json file, it's a package + // directory, and we should not call this._ensureDirectory, so that + // the package directory can later be symlinked in copyDirectory. + return; + } + + this._ensureDirectory(relToDir); + + optimisticReaddir(absFromDir).forEach(item => { + this._ensureAllNonPackageDirectories( + files.pathJoin(absFromDir, item), + files.pathJoin(relToDir, item) + ); + }); + } + // Recursively copy a directory and all of its contents into the // bundle. But if the symlink option was passed to the Builder // constructor, then make a symlink instead, if possible. @@ -408,7 +458,13 @@ Previous builder: ${previousBuilder.outputPath}, this builder: ${outputPath}` // entries that end with a slash if it's a directory. // - specificFiles: just copy these paths (specified as relative to 'to'). // - symlink: true if the directory should be symlinked instead of copying - copyDirectory({ + copyDirectory(options) { + // TODO(benjamn) Remove this wrapper when Builder#enter is no longer + // implemented using ridiculous hacks. + return this._copyDirectory(options); + } + + _copyDirectory({ from, to, ignore, specificFiles, @@ -608,21 +664,31 @@ Previous builder: ${previousBuilder.outputPath}, this builder: ${outputPath}` // The sub-builder returned does not have all Builder methods (for // example, complete() wouldn't make sense) and you should not rely // on it being instanceof Builder. + // + // TODO(benjamn) This nonsense should be ripped out by any means + // necessary... whenever someone has the time. enter(relPath) { - const methods = ["write", "writeJson", "reserve", "generateFilename", - "copyDirectory", "enter"]; const subBuilder = {}; const relPathWithSep = relPath + files.pathSep; + const methods = [ + "write", + "writeJson", + "reserve", + "generateFilename", + "copyDirectory", + "copyNodeModulesDirectory", + "enter", + ]; methods.forEach(method => { subBuilder[method] = (...args) => { - if (method !== "copyDirectory") { - // Normal method (relPath as first argument) - args[0] = files.pathJoin(relPath, args[0]); - } else { - // with copyDirectory the path we have to fix up is inside - // an options hash + if (method === "copyDirectory" || + method === "copyNodeModulesDirectory") { + // The copy methods take their relative paths via options.to. args[0].to = files.pathJoin(relPath, args[0].to); + } else { + // Other methods have relPath as the first argument. + args[0] = files.pathJoin(relPath, args[0]); } let ret = this[method](...args); @@ -763,7 +829,13 @@ function symlinkWithOverwrite(source, target) { // Wrap slow methods into Profiler calls const slowBuilderMethods = [ - '_ensureDirectory', 'write', 'enter', 'copyDirectory', 'enter', 'complete' + "_ensureDirectory", + "write", + "enter", + "copyDirectory", + "copyNodeModulesDirectory", + "enter", + "complete", ]; slowBuilderMethods.forEach(method => { diff --git a/tools/isobuild/bundler.js b/tools/isobuild/bundler.js index b4c05bee64..6b84a4a5e5 100644 --- a/tools/isobuild/bundler.js +++ b/tools/isobuild/bundler.js @@ -2253,7 +2253,7 @@ class JsImage { copyOptions.filter = prodPackagePredicate; } - builder.copyDirectory(copyOptions); + builder.copyNodeModulesDirectory(copyOptions); } }); diff --git a/tools/isobuild/isopack.js b/tools/isobuild/isopack.js index aca695b1fb..553f3e44b7 100644 --- a/tools/isobuild/isopack.js +++ b/tools/isobuild/isopack.js @@ -1121,7 +1121,7 @@ _.extend(Isopack.prototype, { // If unibuilds included node_modules, copy them in. _.each(npmDirsToCopy, (bundlePath, sourcePath) => { - builder.copyDirectory({ + builder.copyNodeModulesDirectory({ from: sourcePath, to: bundlePath, npmDiscards: self.npmDiscards, diff --git a/tools/isobuild/unibuild.js b/tools/isobuild/unibuild.js index 58361331ac..d3bc27a1a4 100644 --- a/tools/isobuild/unibuild.js +++ b/tools/isobuild/unibuild.js @@ -255,10 +255,8 @@ export class Unibuild { const bundlePath = _.has(npmDirsToCopy, nmd.sourcePath) // We already have this npm directory from another unibuild. ? npmDirsToCopy[nmd.sourcePath] - : npmDirsToCopy[nmd.sourcePath] = builder.generateFilename( - nmd.getPreferredBundlePath("isopack"), - { directory: true } - ); + : npmDirsToCopy[nmd.sourcePath] = + nmd.getPreferredBundlePath("isopack"); node_modules[bundlePath] = nmd.toJSON(); }); diff --git a/tools/tests/old/test-bundler-options.js b/tools/tests/old/test-bundler-options.js index 12b9a8c5e8..2482ca4999 100644 --- a/tools/tests/old/test-bundler-options.js +++ b/tools/tests/old/test-bundler-options.js @@ -123,28 +123,55 @@ var runTest = function () { if (process.platform !== "win32") { // Windows doesn't have symlinks console.log("includeNodeModules"); - assert.doesNotThrow(function () { - var tmpOutputDir = tmpDir(); - var result = bundler.bundle({ - projectContext: projectContext, - outputPath: tmpOutputDir, - includeNodeModules: 'symlink' - }); - assert.strictEqual(result.errors, false); - // sanity check -- main.js has expected contents. - assert.strictEqual(files.readFile(files.pathJoin(tmpOutputDir, "main.js"), "utf8"), - bundler._mainJsContents); - // node_modules directory exists and is a symlink - assert(files.lstat(files.pathJoin(tmpOutputDir, "programs", "server", "node_modules")).isSymbolicLink()); - // node_modules contains fibers - assert(files.exists(files.pathJoin(tmpOutputDir, "programs", "server", "node_modules", "fibers"))); - // package node_modules directory also a symlink - // XXX might be breaking this - assert(files.lstat(files.pathJoin( - tmpOutputDir, "programs", "server", "npm", "node_modules", "meteor", "ddp-server", "node_modules")) - .isSymbolicLink()); + var tmpOutputDir = tmpDir(); + var result = bundler.bundle({ + projectContext: projectContext, + outputPath: tmpOutputDir, + includeNodeModules: 'symlink' }); + + console.log("after bundler.bundle"); + + assert.strictEqual(result.errors, false); + + console.log("before bundler._mainJsContents"); + + // sanity check -- main.js has expected contents. + assert.strictEqual( + files.readFile(files.pathJoin(tmpOutputDir, "main.js"), "utf8"), + bundler._mainJsContents + ); + + console.log("before programs/server/node_modules check"); + + // node_modules directory exists and is a symlink + assert(files.lstat(files.pathJoin( + tmpOutputDir, "programs", "server", "node_modules" + )).isSymbolicLink()); + + console.log("before programs/server/node_modules/fibers check"); + + // node_modules contains fibers as a symlink + assert(files.lstat(files.pathJoin( + tmpOutputDir, "programs", "server", "node_modules", "fibers" + )).isDirectory()); + + console.log("before ddp-server/node_modules check") + + // package node_modules directory also a directory + assert(files.lstat(files.pathJoin( + tmpOutputDir, "programs", "server", "npm", "node_modules", + "meteor", "ddp-server", "node_modules" + )).isDirectory()); + + console.log("before ddp-server/node_modules/sockjs check"); + + // ddp-server/node_modules/sockjs is a symlink + assert(files.lstat(files.pathJoin( + tmpOutputDir, "programs", "server", "npm", "node_modules", + "meteor", "ddp-server", "node_modules", "sockjs" + )).isSymbolicLink()); } }; From e7ad5d2a422720eeae4a407456a5bfcc64755471 Mon Sep 17 00:00:00 2001 From: Ben Newman Date: Sat, 24 Mar 2018 14:22:33 -0400 Subject: [PATCH 0673/1355] Call files.cp_r with { preserveSymlinks: true } in more places. Now that symlinks can be used to enable selective compilation of node_modules, it's important to preserve them. --- tools/cli/commands.js | 6 +++-- tools/fs/files.js | 30 ++++++++++++++++++++++--- tools/isobuild/builder.js | 26 +++------------------ tools/tests/old/test-bundler-assets.js | 4 +++- tools/tests/old/test-bundler-npm.js | 7 ++++-- tools/tests/old/test-bundler-options.js | 7 ++++-- tools/tool-testing/sandbox.js | 15 +++++++++---- 7 files changed, 58 insertions(+), 37 deletions(-) diff --git a/tools/cli/commands.js b/tools/cli/commands.js index 2ae436df5c..5fef22f37f 100644 --- a/tools/cli/commands.js +++ b/tools/cli/commands.js @@ -582,7 +582,8 @@ main.registerCommand({ return contents; } }, - ignore: [/^local$/] + ignore: [/^local$/], + preserveSymlinks: true, }); } catch (err) { Console.error("Could not create package: " + err.message); @@ -750,7 +751,8 @@ main.registerCommand({ return contents; } }, - ignore: toIgnore + ignore: toIgnore, + preserveSymlinks: true, }); // We are actually working with a new meteor project at this point, so diff --git a/tools/fs/files.js b/tools/fs/files.js index 260b531ce4..cfc31f92c6 100644 --- a/tools/fs/files.js +++ b/tools/fs/files.js @@ -495,7 +495,7 @@ files.cp_r = function(from, to, options = {}) { files.mkdir_p(files.pathDirname(to)); if (stat.isSymbolicLink()) { - files.symlink(files.readlink(from), to); + symlinkWithOverwrite(files.readlink(from), to); } else { // Create the file as readable and writable by everyone, and @@ -517,6 +517,28 @@ files.cp_r = function(from, to, options = {}) { } }; +// create a symlink, overwriting the target link, file, or directory +// if it exists +export function symlinkWithOverwrite(source, target) { + try { + files.symlink(source, target); + } catch (e) { + if (e.code === "EEXIST") { + // overwrite existing link, file, or directory + files.rm_recursive(target); + files.symlink(source, target); + } else if (e.code === "EPERM" && + process.platform === "win32") { + files.rm_recursive(target); + // This will work only if source refers to a directory, but that's a + // chance worth taking. + files.symlink(source, target, "junction"); + } else { + throw e; + } + } +} + /** * Get every path in a directory recursively, treating symlinks as files * @param {String} dir The directory to walk, either relative to options.cwd or completely absolute @@ -1003,7 +1025,9 @@ files.renameDirAlmostAtomically = // limitations, we'll resort to copying. if (forceCopy) { files.rm_recursive(toDir); - files.cp_r(fromDir, toDir); + files.cp_r(fromDir, toDir, { + preserveSymlinks: true, + }); } // ... and take out the trash. @@ -1750,7 +1774,7 @@ if (files.isWindowsLikeFilesystem()) { } if (! success) { - files.cp_r(from, to); + files.cp_r(from, to, { preserveSymlinks: true }); files.rm_recursive(from); } }; diff --git a/tools/isobuild/builder.js b/tools/isobuild/builder.js index fdb5973fba..95482e3e0c 100644 --- a/tools/isobuild/builder.js +++ b/tools/isobuild/builder.js @@ -1,6 +1,8 @@ import assert from "assert"; import {WatchSet, readAndWatchFile, sha1} from '../fs/watch.js'; -import files from '../fs/files.js'; +import files, { + symlinkWithOverwrite, +} from '../fs/files.js'; import NpmDiscards from './npm-discards.js'; import {Profile} from '../tool-env/profile.js'; import { @@ -805,28 +807,6 @@ function symlinkIfPossible(source, target) { } } -// create a symlink, overwriting the target link, file, or directory -// if it exists -function symlinkWithOverwrite(source, target) { - try { - files.symlink(source, target); - } catch (e) { - if (e.code === "EEXIST") { - // overwrite existing link, file, or directory - files.rm_recursive(target); - files.symlink(source, target); - } else if (e.code === "EPERM" && - process.platform === "win32") { - files.rm_recursive(target); - // This will work only if source refers to a directory, but that's a - // chance worth taking. - files.symlink(source, target, "junction"); - } else { - throw e; - } - } -} - // Wrap slow methods into Profiler calls const slowBuilderMethods = [ "_ensureDirectory", diff --git a/tools/tests/old/test-bundler-assets.js b/tools/tests/old/test-bundler-assets.js index 54534c5977..c66d4fad19 100644 --- a/tools/tests/old/test-bundler-assets.js +++ b/tools/tests/old/test-bundler-assets.js @@ -23,7 +23,9 @@ var makeProjectContext = function (appName) { var projectDir = files.mkdtemp("test-bundler-assets"); - files.cp_r(testAppDir, projectDir); + files.cp_r(testAppDir, projectDir, { + preserveSymlinks: true, + }); require("../../cli/default-npm-deps.js").install(projectDir); diff --git a/tools/tests/old/test-bundler-npm.js b/tools/tests/old/test-bundler-npm.js index 1caf634ad8..a14de5168d 100644 --- a/tools/tests/old/test-bundler-npm.js +++ b/tools/tests/old/test-bundler-npm.js @@ -19,8 +19,11 @@ var tmpDir = function () { var makeProjectContext = function (appName) { var projectDir = files.mkdtemp("test-bundler-assets"); - files.cp_r(files.pathJoin(files.convertToStandardPath(__dirname), appName), - projectDir); + files.cp_r( + files.pathJoin(files.convertToStandardPath(__dirname), appName), + projectDir, + { preserveSymlinks: true }, + ); var projectContext = new projectContextModule.ProjectContext({ projectDir: projectDir }); diff --git a/tools/tests/old/test-bundler-options.js b/tools/tests/old/test-bundler-options.js index 2482ca4999..c2df92a0cd 100644 --- a/tools/tests/old/test-bundler-options.js +++ b/tools/tests/old/test-bundler-options.js @@ -18,8 +18,11 @@ var tmpDir = function () { var makeProjectContext = function (appName) { var projectDir = files.mkdtemp("test-bundler-options"); - files.cp_r(files.pathJoin(files.convertToStandardPath(__dirname), appName), - projectDir); + files.cp_r( + files.pathJoin(files.convertToStandardPath(__dirname), appName), + projectDir, + { preserveSymlinks: true }, + ); var projectContext = new projectContextModule.ProjectContext({ projectDir: projectDir }); diff --git a/tools/tool-testing/sandbox.js b/tools/tool-testing/sandbox.js index 6937f0e064..91ca8d83cb 100644 --- a/tools/tool-testing/sandbox.js +++ b/tools/tool-testing/sandbox.js @@ -167,9 +167,14 @@ export default class Sandbox { createApp(to, template, options) { options = options || {}; const absoluteTo = files.pathJoin(this.cwd, to); - files.cp_r(files.pathJoin( - files.convertToStandardPath(__dirname), '..', 'tests', 'apps', template), - absoluteTo, { ignore: [/^local$/] }); + const absoluteFrom = files.pathJoin( + files.convertToStandardPath(__dirname), + '..', 'tests', 'apps', template + ); + files.cp_r(absoluteFrom, absoluteTo, { + ignore: [/^local$/], + preserveSymlinks: true, + }); // If the test isn't explicitly managing a mock warehouse, ensure that apps // run with our release by default. if (options.release) { @@ -222,7 +227,9 @@ export default class Sandbox { const packagePath = files.pathJoin(this.cwd, packageDir); const templatePackagePath = files.pathJoin( files.convertToStandardPath(__dirname), '..', 'tests', 'packages', template); - files.cp_r(templatePackagePath, packagePath); + files.cp_r(templatePackagePath, packagePath, { + preserveSymlinks: true, + }); files.readdir(packagePath).forEach((file) => { if (file.match(/^package.*\.js$/)) { From c6c92255e560de954c057d0f8ce9efa40974562a Mon Sep 17 00:00:00 2001 From: Ben Newman Date: Sat, 24 Mar 2018 14:42:26 -0400 Subject: [PATCH 0674/1355] Relax options.from precondition in Builder#copyNodeModulesDirectory. --- tools/isobuild/builder.js | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/tools/isobuild/builder.js b/tools/isobuild/builder.js index 95482e3e0c..b9566acf2b 100644 --- a/tools/isobuild/builder.js +++ b/tools/isobuild/builder.js @@ -395,7 +395,10 @@ Previous builder: ${previousBuilder.outputPath}, this builder: ${outputPath}` // A version of copyDirectory that works better for copying node_modules // directories when symlinks are involved. copyNodeModulesDirectory(options) { - assert.strictEqual(files.pathBasename(options.from), "node_modules"); + // Although the options.from directory should probably be a + // node_modules directory, the only essential precondition here is + // that the destination directory is a node_modules directory. + // assert.strictEqual(files.pathBasename(options.from), "node_modules"); assert.strictEqual(files.pathBasename(options.to), "node_modules"); if (options.symlink) { From 1757a69d8baa1bde52a1d16702ed68f72955836c Mon Sep 17 00:00:00 2001 From: Ben Newman Date: Thu, 22 Mar 2018 19:18:56 -0400 Subject: [PATCH 0675/1355] Generate stubs that call module.useNode() for server node_modules. Once this logic is established, the install.js library will no longer need to know anything about module.useNode(): https://github.com/benjamn/install/blob/6412f4aabbb44501ad557f578d8ab39f78f22d2c/install.js#L322-L325 --- tools/isobuild/import-scanner.js | 67 ++++++++++++++++++++------------ 1 file changed, 42 insertions(+), 25 deletions(-) diff --git a/tools/isobuild/import-scanner.js b/tools/isobuild/import-scanner.js index 57e8f6642b..377fcccd8f 100644 --- a/tools/isobuild/import-scanner.js +++ b/tools/isobuild/import-scanner.js @@ -134,6 +134,18 @@ const IMPORT_SCANNER_CACHE = new LRU({ } }); +// Stub used for entry point modules within node_modules directories on +// the server. These stub modules delegate to native Node evaluation by +// calling module.useNode() immediately, but it's important that we have +// something to include in the bundle so that parent modules have +// something to resolve. +const useNodeStub = { + dataString: "module.useNode();", + deps: Object.create(null), +}; +useNodeStub.data = Buffer.from(useNodeStub.dataString, "utf8"); +useNodeStub.hash = sha1(useNodeStub.data); + export default class ImportScanner { constructor({ name, @@ -769,12 +781,35 @@ export default class ImportScanner { info.absModuleId = absModuleId; - // If the module is not readable, _readModule may return - // null. Otherwise it will return an object with .data, .dataString, - // and .hash properties. - depFile = this._readModule(absImportedPath); - if (! depFile) { - return; + if (! this.isWeb() && + absModuleId.startsWith("/node_modules/")) { + // On the server, modules in node_modules directories will be + // handled natively by Node, so we just need to generate a stub + // module that calls module.useNode(), rather than calling + // this._readModule to read the actual module file. Note that + // useNodeStub includes an empty .deps property, which will make + // this._scanFile(depFile, dynamic) return immediately. + depFile = { ...useNodeStub }; + + // If optimistic functions care about this file, e.g. because it + // resides in a linked npm package, then we should allow it to + // be watched even though we are replacing it with a stub that + // merely calls module.useNode(). + if (shouldWatch(absImportedPath)) { + this.watchSet.addFile( + absImportedPath, + optimisticHashOrNull(absImportedPath), + ); + } + + } else { + // If the module is not readable, _readModule may return + // null. Otherwise it will return an object with .data, + // .dataString, and .hash properties. + depFile = this._readModule(absImportedPath); + if (! depFile) { + return; + } } depFile.type = "js"; // TODO Is this correct? @@ -790,25 +825,7 @@ export default class ImportScanner { // Append this file to the output array and record its index. this._addFile(absImportedPath, depFile); - // On the server, modules in node_modules directories will be - // handled natively by Node, so we don't need to build a - // meteorInstall-style bundle beyond the entry-point module. - if (! this.isWeb() && - depFile.absModuleId.startsWith("/node_modules/") && - // If optimistic functions care about this file, e.g. because it - // resides in a linked npm package, then we should allow it to - // be watched by including it in the server bundle by not - // returning here. Note that inclusion in the server bundle is - // an unnecessary consequence of this logic, since Node will - // still evaluate this module natively on the server. What we - // really care about is watching the file for changes. - ! shouldWatch(absImportedPath)) { - // Since we're not going to call this._scanFile(depFile, dynamic) - // below, this is our last chance to update depFile.imported. - depFile.imported = dynamic ? "dynamic" : true; - return; - } - + // Recursively scan the module's imported dependencies. this._scanFile(depFile, dynamic); }); } From 0fca4c56aaea8487ce41356dc1b754b8c8f8eaa2 Mon Sep 17 00:00:00 2001 From: Ben Newman Date: Fri, 23 Mar 2018 16:38:55 -0400 Subject: [PATCH 0676/1355] Fix handling of old files in ImportScanner#_addFile. --- tools/isobuild/import-scanner.js | 10 ++++++---- 1 file changed, 6 insertions(+), 4 deletions(-) diff --git a/tools/isobuild/import-scanner.js b/tools/isobuild/import-scanner.js index 377fcccd8f..cc08aa2546 100644 --- a/tools/isobuild/import-scanner.js +++ b/tools/isobuild/import-scanner.js @@ -205,10 +205,12 @@ export default class ImportScanner { return file; } - absPath = absPath.toLowerCase(); - const old = this.absPathToOutputIndex[absPath]; + const absLowerPath = absPath.toLowerCase(); + + if (has(this.absPathToOutputIndex, absLowerPath)) { + const old = this.outputFiles[ + this.absPathToOutputIndex[absLowerPath]]; - if (old) { // If the old file is just an empty stub, let the new file take // precedence over it. if (old.implicit === true) { @@ -225,7 +227,7 @@ export default class ImportScanner { } } else { - this.absPathToOutputIndex[absPath] = + this.absPathToOutputIndex[absLowerPath] = this.outputFiles.push(file) - 1; return file; From ebd84317d8401f718867ae7f78410a6abd6b2c65 Mon Sep 17 00:00:00 2001 From: Ben Newman Date: Mon, 26 Mar 2018 11:44:22 -0400 Subject: [PATCH 0677/1355] Decompose _readDepFile helper from ImportScanner#_scanFile. --- tools/isobuild/import-scanner.js | 107 ++++++++++++++++--------------- 1 file changed, 56 insertions(+), 51 deletions(-) diff --git a/tools/isobuild/import-scanner.js b/tools/isobuild/import-scanner.js index cc08aa2546..9ea636c370 100644 --- a/tools/isobuild/import-scanner.js +++ b/tools/isobuild/import-scanner.js @@ -740,11 +740,7 @@ export default class ImportScanner { info.dynamic); const resolved = this._resolve(file, id, dynamic); - if (! resolved) { - return; - } - - const absImportedPath = resolved.path; + const absImportedPath = resolved && resolved.path; if (! absImportedPath) { return; } @@ -775,55 +771,11 @@ export default class ImportScanner { return; } - const absModuleId = this._getAbsModuleId(absImportedPath); - if (! absModuleId) { - // The given path cannot be installed on this architecture. + depFile = this._readDepFile(absImportedPath); + if (! depFile) { return; } - info.absModuleId = absModuleId; - - if (! this.isWeb() && - absModuleId.startsWith("/node_modules/")) { - // On the server, modules in node_modules directories will be - // handled natively by Node, so we just need to generate a stub - // module that calls module.useNode(), rather than calling - // this._readModule to read the actual module file. Note that - // useNodeStub includes an empty .deps property, which will make - // this._scanFile(depFile, dynamic) return immediately. - depFile = { ...useNodeStub }; - - // If optimistic functions care about this file, e.g. because it - // resides in a linked npm package, then we should allow it to - // be watched even though we are replacing it with a stub that - // merely calls module.useNode(). - if (shouldWatch(absImportedPath)) { - this.watchSet.addFile( - absImportedPath, - optimisticHashOrNull(absImportedPath), - ); - } - - } else { - // If the module is not readable, _readModule may return - // null. Otherwise it will return an object with .data, - // .dataString, and .hash properties. - depFile = this._readModule(absImportedPath); - if (! depFile) { - return; - } - } - - depFile.type = "js"; // TODO Is this correct? - depFile.sourcePath = pathRelative(this.sourceRoot, absImportedPath); - depFile.absModuleId = absModuleId; - depFile.servePath = stripLeadingSlash(absModuleId); - depFile.lazy = true; - // Setting depFile.imported = false is necessary so that - // this._scanFile(depFile, dynamic) doesn't think the file has been - // scanned already and return immediately. - depFile.imported = false; - // Append this file to the output array and record its index. this._addFile(absImportedPath, depFile); @@ -908,6 +860,59 @@ export default class ImportScanner { return info; } + _readDepFile(absPath) { + const absModuleId = this._getAbsModuleId(absPath); + if (! absModuleId) { + // The given path cannot be installed on this architecture. + return null; + } + + let depFile = null; + + if (! this.isWeb() && + absModuleId.startsWith("/node_modules/")) { + // On the server, modules in node_modules directories will be + // handled natively by Node, so we just need to generate a stub + // module that calls module.useNode(), rather than calling + // this._readModule to read the actual module file. Note that + // useNodeStub includes an empty .deps property, which will make + // this._scanFile(depFile, dynamic) return immediately. + depFile = { ...useNodeStub }; + + // If optimistic functions care about this file, e.g. because it + // resides in a linked npm package, then we should allow it to + // be watched even though we are replacing it with a stub that + // merely calls module.useNode(). + if (shouldWatch(absPath)) { + this.watchSet.addFile( + absPath, + optimisticHashOrNull(absPath), + ); + } + + } else { + // If the module is not readable, _readModule may return + // null. Otherwise it will return an object with .data, + // .dataString, and .hash properties. + depFile = this._readModule(absPath); + if (! depFile) { + return null; + } + } + + depFile.type = "js"; // TODO Is this correct? + depFile.sourcePath = pathRelative(this.sourceRoot, absPath); + depFile.absModuleId = absModuleId; + depFile.servePath = stripLeadingSlash(absModuleId); + depFile.lazy = true; + // Setting depFile.imported = false is necessary so that + // this._scanFile(depFile, dynamic) doesn't think the file has been + // scanned already and return immediately. + depFile.imported = false; + + return depFile; + } + // Returns an absolute module identifier indicating where to install the // given file via meteorInstall. May return undefined if the file should // not be installed on the current architecture. From 9c95b78d9eef55b355219528622f8fbdd017b3e1 Mon Sep 17 00:00:00 2001 From: Ben Newman Date: Thu, 22 Mar 2018 22:24:03 -0400 Subject: [PATCH 0678/1355] Upgrade install.js package to avoid calling Module.prototype.useNode. https://github.com/benjamn/install/commit/f69158f0a1f9fa0bb29db71666997a28f8be2fca --- packages/modules-runtime/.npm/package/npm-shrinkwrap.json | 6 +++--- packages/modules-runtime/package.js | 4 ++-- 2 files changed, 5 insertions(+), 5 deletions(-) diff --git a/packages/modules-runtime/.npm/package/npm-shrinkwrap.json b/packages/modules-runtime/.npm/package/npm-shrinkwrap.json index cab824928f..d79cb72b6b 100644 --- a/packages/modules-runtime/.npm/package/npm-shrinkwrap.json +++ b/packages/modules-runtime/.npm/package/npm-shrinkwrap.json @@ -2,9 +2,9 @@ "lockfileVersion": 1, "dependencies": { "install": { - "version": "0.10.4", - "resolved": "https://registry.npmjs.org/install/-/install-0.10.4.tgz", - "integrity": "sha512-+IRyOastuPmLVx9zlVXJoKErSqz1Ma5at9A7S8yfsj3W+Kg95faPoh3bPDtMrZ/grz4PRmXzrswmlzfLlYyLOw==" + "version": "0.11.0", + "resolved": "https://registry.npmjs.org/install/-/install-0.11.0.tgz", + "integrity": "sha512-30UqvWKr/59SStU2/bRye4wT1S3mzjwa0oV+BxusB0neGqhxUrwLlnXDbt6QtIfBxCNWFqg+ARnGNjFj8XuV5A==" } } } diff --git a/packages/modules-runtime/package.js b/packages/modules-runtime/package.js index b0bbb12abe..96b9a42582 100644 --- a/packages/modules-runtime/package.js +++ b/packages/modules-runtime/package.js @@ -1,13 +1,13 @@ Package.describe({ name: "modules-runtime", - version: "0.9.2", + version: "0.10.0", summary: "CommonJS module system", git: "https://github.com/benjamn/install", documentation: "README.md" }); Npm.depends({ - install: "0.10.4" + install: "0.11.0" }); Package.onUse(function(api) { From 970d58409fc2a7b7a78bbc7098aef24c38f1f249 Mon Sep 17 00:00:00 2001 From: Ben Newman Date: Thu, 22 Mar 2018 18:52:54 -0400 Subject: [PATCH 0679/1355] Move realpathOrNull into tools/fs/files.js. --- tools/fs/files.js | 9 +++++++++ tools/isobuild/bundler.js | 11 +---------- 2 files changed, 10 insertions(+), 10 deletions(-) diff --git a/tools/fs/files.js b/tools/fs/files.js index cfc31f92c6..f5286fc165 100644 --- a/tools/fs/files.js +++ b/tools/fs/files.js @@ -297,6 +297,15 @@ function statOrNull(path, preserveSymlinks) { } } +export function realpathOrNull(path) { + try { + return files.realpath(path); + } catch (e) { + if (e.code !== "ENOENT") throw e; + return null; + } +} + files.rm_recursive_async = (path) => { return new Promise((resolve, reject) => { rimraf(files.convertToOSPath(path), err => err diff --git a/tools/isobuild/bundler.js b/tools/isobuild/bundler.js index 6b84a4a5e5..2cd07f968f 100644 --- a/tools/isobuild/bundler.js +++ b/tools/isobuild/bundler.js @@ -482,7 +482,7 @@ export class NodeModulesDirectory { return true; } - const real = realpathOrNull(path); + const real = files.realpathOrNull(path); if (typeof real === "string" && real !== path) { // If node_modules/.bin/command is a symlink, determine the @@ -522,15 +522,6 @@ export class NodeModulesDirectory { } } -function realpathOrNull(path) { - try { - return files.realpath(path); - } catch (e) { - if (e.code !== "ENOENT") throw e; - return null; - } -} - /////////////////////////////////////////////////////////////////////////////// // File /////////////////////////////////////////////////////////////////////////////// From d35987d9292ee836f1442c65e645990cfbf94c83 Mon Sep 17 00:00:00 2001 From: Ben Newman Date: Mon, 26 Mar 2018 12:48:57 -0400 Subject: [PATCH 0680/1355] Enable selective compilation of node_modules via symlinking. If a package in node_modules needs to be compiled for older browsers, simply symlink the package directory into your application somewhere, and then import the package as you normally would. Because of the symlink, code within the package will be compiled as if it was part of your application, and any imports that refer to modules in the package will automatically use the compiled code rather than the raw code from node_modules. Note that you can also symlink individual files to make them be compiled like application modules, rather than linking an entire package directory. Creating symlinks could be considered a form of configuration, but otherwise this is a zero-configuration solution to selectively compiling packages within node_modules, which has been something of a holy grail in the JavaScript community lately. https://github.com/meteor/meteor-feature-requests/issues/6 --- tools/isobuild/import-scanner.js | 135 ++++++++++++++++++++++++++++++- 1 file changed, 132 insertions(+), 3 deletions(-) diff --git a/tools/isobuild/import-scanner.js b/tools/isobuild/import-scanner.js index 9ea636c370..b1163a8fda 100644 --- a/tools/isobuild/import-scanner.js +++ b/tools/isobuild/import-scanner.js @@ -18,9 +18,11 @@ import { pathNormalize, pathBasename, pathExtname, + pathDirname, pathIsAbsolute, convertToOSPath, convertToPosixPath, + realpathOrNull, } from "../fs/files.js"; const { @@ -32,6 +34,7 @@ const { import { optimisticReadFile, optimisticStatOrNull, + optimisticLStatOrNull, optimisticHashOrNull, shouldWatch, } from "../fs/optimistic.js"; @@ -163,6 +166,8 @@ export default class ImportScanner { this.nodeModulesPaths = nodeModulesPaths; this.watchSet = watchSet; this.absPathToOutputIndex = Object.create(null); + this.realPathToFiles = Object.create(null); + this.realPathCache = Object.create(null); this.allMissingModules = Object.create(null); this.outputFiles = []; @@ -268,11 +273,82 @@ export default class ImportScanner { // multiple times with the same sourcePath. #6422 this._combineFiles(this._getFile(absPath), file); } + + this._addFileByRealPath(file, this._realPath(absPath)); }); return this; } + _addFileByRealPath(file, realPath) { + assert.ok(isObject(file)); + assert.strictEqual(typeof realPath, "string"); + + if (! has(this.realPathToFiles, realPath)) { + this.realPathToFiles[realPath] = []; + } + + const files = this.realPathToFiles[realPath]; + + if (files.indexOf(file) < 0) { + files.push(file); + } + + return file; + } + + _getInfoByRealPath(realPath) { + assert.strictEqual(typeof realPath, "string"); + const files = this.realPathToFiles[realPath]; + if (files && files.length > 0) { + const firstFile = files[0]; + return { + data: firstFile.data, + dataString: firstFile.dataString, + hash: firstFile.hash, + }; + } + return null; + } + + _realPath(absPath) { + if (has(this.realPathCache, absPath)) { + return this.realPathCache[absPath]; + } + + let relativePath = pathRelative(this.sourceRoot, absPath); + if (relativePath.startsWith("..")) { + // If the absPath is outside this.sourceRoot, assume it's real. + return this.realPathCache[absPath] = absPath; + } + + let foundSymbolicLink = false; + + while (! foundSymbolicLink) { + const testPath = pathJoin(this.sourceRoot, relativePath); + if (testPath === this.sourceRoot) { + // Don't test the sourceRoot itself. + break; + } + + const lstat = optimisticLStatOrNull(testPath); + if (lstat && lstat.isSymbolicLink()) { + foundSymbolicLink = true; + break + } + + relativePath = pathDirname(relativePath); + } + + if (foundSymbolicLink) { + // Call the actual realpathOrNull function only if there were any + // symlinks involved in the relative path within this.sourceRoot. + return this.realPathCache[absPath] = realpathOrNull(absPath); + } + + return this.realPathCache[absPath] = absPath; + } + // Make sure file.sourcePath is defined, and handle the possibility that // file.targetPath differs from file.sourcePath. _checkSourceAndTargetPaths(file) { @@ -552,7 +628,45 @@ export default class ImportScanner { }); } + _mergeFilesWithSameRealPath() { + Object.keys(this.realPathToFiles).forEach(realPath => { + const files = this.realPathToFiles[realPath]; + if (! files || files.length < 2) { + return; + } + + // We have multiple files that share the same realPath, so we need + // to figure out which one should actually contain the data, and + // which one(s) should merely be aliases to the data container. + + let container = files[0]; + + // Take the first file inside node_modules as the container. If none + // found, default to the first file in the list. It's important to + // let node_modules files be the containers if possible, since some + // npm packages rely on having module IDs that appear to be within a + // node_modules directory. + files.some(file => { + if (file.absModuleId && + file.absModuleId.startsWith("/node_modules/")) { + container = file; + return true; + } + }); + + // Alias every non-container file to container.absModuleId. + files.forEach(file => { + if (file !== container) { + file.alias = file.alias || {}; + file.alias.absModuleId = container.absModuleId; + } + }); + }); + } + getOutputFiles() { + this._mergeFilesWithSameRealPath(); + // Return all installable output files that are either eager or // imported (statically or dynamically). return this.outputFiles.filter(file => { @@ -867,10 +981,22 @@ export default class ImportScanner { return null; } - let depFile = null; + const realPath = this._realPath(absPath); - if (! this.isWeb() && - absModuleId.startsWith("/node_modules/")) { + let depFile = this._getInfoByRealPath(realPath); + if (depFile) { + // If we already have a file with the same real path, use its data + // rather than reading the file again, or generating a stub. This + // logic enables selective compilation of node_modules in an elegant + // way: just expose the package directory within the application + // (outside of node_modules) using a symlink, so that it will be + // compiled as application code. When the package is imported from + // node_modules, the compiled version will be used instead of the + // raw version found in node_modules. See also: + // https://github.com/meteor/meteor-feature-requests/issues/6 + + } else if (! this.isWeb() && + absModuleId.startsWith("/node_modules/")) { // On the server, modules in node_modules directories will be // handled natively by Node, so we just need to generate a stub // module that calls module.useNode(), rather than calling @@ -910,6 +1036,8 @@ export default class ImportScanner { // scanned already and return immediately. depFile.imported = false; + this._addFileByRealPath(depFile, realPath); + return depFile; } @@ -1256,6 +1384,7 @@ each([ "_findImportedModuleIdentifiers", "_getAbsModuleId", "_addPkgJsonToOutput", + "_realPath", "_resolvePkgJsonBrowserAliases", ], funcName => { ImportScanner.prototype[funcName] = Profile( From 9401f0d572648ad091cfd3f8ac2048db929b549e Mon Sep 17 00:00:00 2001 From: Ben Newman Date: Fri, 23 Mar 2018 12:29:07 -0400 Subject: [PATCH 0681/1355] Add tests of selective node_modules compilation using symlinks. --- .../apps/modules/imports/links/acorn/LICENSE | 19 + .../modules/imports/links/acorn/package.json | 51 + .../modules/imports/links/acorn/src/.eslintrc | 33 + .../imports/links/acorn/src/bin/.eslintrc | 6 + .../imports/links/acorn/src/bin/acorn.js | 62 + .../imports/links/acorn/src/expression.js | 909 ++++++++++++++ .../imports/links/acorn/src/identifier.js | 87 ++ .../modules/imports/links/acorn/src/index.js | 78 ++ .../imports/links/acorn/src/location.js | 26 + .../imports/links/acorn/src/locutil.js | 42 + .../links/acorn/src/loose/expression.js | 582 +++++++++ .../imports/links/acorn/src/loose/index.js | 47 + .../links/acorn/src/loose/parseutil.js | 1 + .../imports/links/acorn/src/loose/state.js | 170 +++ .../links/acorn/src/loose/statement.js | 459 ++++++++ .../imports/links/acorn/src/loose/tokenize.js | 111 ++ .../modules/imports/links/acorn/src/lval.js | 248 ++++ .../modules/imports/links/acorn/src/node.js | 50 + .../imports/links/acorn/src/options.js | 127 ++ .../imports/links/acorn/src/parseutil.js | 137 +++ .../modules/imports/links/acorn/src/regexp.js | 1042 +++++++++++++++++ .../modules/imports/links/acorn/src/scope.js | 74 ++ .../modules/imports/links/acorn/src/state.js | 118 ++ .../imports/links/acorn/src/statement.js | 810 +++++++++++++ .../imports/links/acorn/src/tokencontext.js | 148 +++ .../imports/links/acorn/src/tokenize.js | 698 +++++++++++ .../imports/links/acorn/src/tokentype.js | 148 +++ .../links/acorn/src/unicode-property-data.js | 463 ++++++++ .../modules/imports/links/acorn/src/util.js | 11 + .../imports/links/acorn/src/walk/index.js | 370 ++++++ .../imports/links/acorn/src/whitespace.js | 13 + .../modules/imports/links/immutable-tuple | 1 + .../apps/modules/imports/links/lodash-es | 1 + tools/tests/apps/modules/package-lock.json | 13 + tools/tests/apps/modules/package.json | 3 + tools/tests/apps/modules/tests.js | 38 + 36 files changed, 7196 insertions(+) create mode 100644 tools/tests/apps/modules/imports/links/acorn/LICENSE create mode 100644 tools/tests/apps/modules/imports/links/acorn/package.json create mode 100644 tools/tests/apps/modules/imports/links/acorn/src/.eslintrc create mode 100644 tools/tests/apps/modules/imports/links/acorn/src/bin/.eslintrc create mode 100644 tools/tests/apps/modules/imports/links/acorn/src/bin/acorn.js create mode 100644 tools/tests/apps/modules/imports/links/acorn/src/expression.js create mode 100644 tools/tests/apps/modules/imports/links/acorn/src/identifier.js create mode 100644 tools/tests/apps/modules/imports/links/acorn/src/index.js create mode 100644 tools/tests/apps/modules/imports/links/acorn/src/location.js create mode 100644 tools/tests/apps/modules/imports/links/acorn/src/locutil.js create mode 100644 tools/tests/apps/modules/imports/links/acorn/src/loose/expression.js create mode 100644 tools/tests/apps/modules/imports/links/acorn/src/loose/index.js create mode 100644 tools/tests/apps/modules/imports/links/acorn/src/loose/parseutil.js create mode 100644 tools/tests/apps/modules/imports/links/acorn/src/loose/state.js create mode 100644 tools/tests/apps/modules/imports/links/acorn/src/loose/statement.js create mode 100644 tools/tests/apps/modules/imports/links/acorn/src/loose/tokenize.js create mode 100644 tools/tests/apps/modules/imports/links/acorn/src/lval.js create mode 100644 tools/tests/apps/modules/imports/links/acorn/src/node.js create mode 100644 tools/tests/apps/modules/imports/links/acorn/src/options.js create mode 100644 tools/tests/apps/modules/imports/links/acorn/src/parseutil.js create mode 100644 tools/tests/apps/modules/imports/links/acorn/src/regexp.js create mode 100644 tools/tests/apps/modules/imports/links/acorn/src/scope.js create mode 100644 tools/tests/apps/modules/imports/links/acorn/src/state.js create mode 100644 tools/tests/apps/modules/imports/links/acorn/src/statement.js create mode 100644 tools/tests/apps/modules/imports/links/acorn/src/tokencontext.js create mode 100644 tools/tests/apps/modules/imports/links/acorn/src/tokenize.js create mode 100644 tools/tests/apps/modules/imports/links/acorn/src/tokentype.js create mode 100644 tools/tests/apps/modules/imports/links/acorn/src/unicode-property-data.js create mode 100644 tools/tests/apps/modules/imports/links/acorn/src/util.js create mode 100644 tools/tests/apps/modules/imports/links/acorn/src/walk/index.js create mode 100644 tools/tests/apps/modules/imports/links/acorn/src/whitespace.js create mode 120000 tools/tests/apps/modules/imports/links/immutable-tuple create mode 120000 tools/tests/apps/modules/imports/links/lodash-es diff --git a/tools/tests/apps/modules/imports/links/acorn/LICENSE b/tools/tests/apps/modules/imports/links/acorn/LICENSE new file mode 100644 index 0000000000..2c0632b6a7 --- /dev/null +++ b/tools/tests/apps/modules/imports/links/acorn/LICENSE @@ -0,0 +1,19 @@ +Copyright (C) 2012-2018 by various contributors (see AUTHORS) + +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. diff --git a/tools/tests/apps/modules/imports/links/acorn/package.json b/tools/tests/apps/modules/imports/links/acorn/package.json new file mode 100644 index 0000000000..1b47c365cc --- /dev/null +++ b/tools/tests/apps/modules/imports/links/acorn/package.json @@ -0,0 +1,51 @@ +{ + "name": "acorn", + "description": "ECMAScript parser", + "homepage": "https://github.com/acornjs/acorn", + "main": "src/index.js", + "version": "5.5.3", + "engines": { + "node": ">=0.4.0" + }, + "maintainers": [ + { + "name": "Marijn Haverbeke", + "email": "marijnh@gmail.com", + "web": "http://marijnhaverbeke.nl" + }, + { + "name": "Ingvar Stepanyan", + "email": "me@rreverser.com", + "web": "http://rreverser.com/" + } + ], + "repository": { + "type": "git", + "url": "https://github.com/acornjs/acorn.git" + }, + "license": "MIT", + "scripts": { + "prepare": "npm test", + "test": "node test/run.js && node test/lint.js", + "pretest": "npm run build:main && npm run build:loose", + "test:test262": "node bin/run_test262.js", + "build": "npm run build:main && npm run build:walk && npm run build:loose && npm run build:bin", + "build:main": "rollup -c rollup/config.main.js", + "build:walk": "rollup -c rollup/config.walk.js", + "build:loose": "rollup -c rollup/config.loose.js && rollup -c rollup/config.loose_es.js", + "lint": "eslint src/" + }, + "devDependencies": { + "eslint": "^4.10.0", + "eslint-config-standard": "^10.2.1", + "eslint-plugin-import": "^2.2.0", + "eslint-plugin-node": "^5.2.1", + "eslint-plugin-promise": "^3.5.0", + "eslint-plugin-standard": "^3.0.1", + "rollup": "^0.45.0", + "rollup-plugin-buble": "^0.16.0", + "test262": "git+https://github.com/tc39/test262.git#18c1e799a01cc976695983b61e225ce7959bdd91", + "test262-parser-runner": "^0.3.1", + "unicode-10.0.0": "^0.7.5" + } +} diff --git a/tools/tests/apps/modules/imports/links/acorn/src/.eslintrc b/tools/tests/apps/modules/imports/links/acorn/src/.eslintrc new file mode 100644 index 0000000000..e636ee75db --- /dev/null +++ b/tools/tests/apps/modules/imports/links/acorn/src/.eslintrc @@ -0,0 +1,33 @@ +{ + "extends": [ + "eslint:recommended", + "standard", + "plugin:import/errors", + "plugin:import/warnings" + ], + "rules": { + "curly": "off", + "eqeqeq": "off", + "indent": ["error", 2, { "SwitchCase": 0, "VariableDeclarator": 2, "CallExpression": { arguments: "off" } }], + "new-parens": "off", + "no-case-declarations": "off", + "no-cond-assign": "off", + "no-fallthrough": "off", + "no-labels": "off", + "no-mixed-operators": "off", + "no-return-assign": "off", + "no-unused-labels": "error", + "no-var": "error", + "object-curly-spacing": ["error", "never"], + "one-var": "off", + "quotes": ["error", "double"], + "semi-spacing": "off", + "space-before-function-paren": ["error", "never"] + }, + "globals": { + "Packages": false + }, + "plugins": [ + "import" + ] +} diff --git a/tools/tests/apps/modules/imports/links/acorn/src/bin/.eslintrc b/tools/tests/apps/modules/imports/links/acorn/src/bin/.eslintrc new file mode 100644 index 0000000000..2598b25f5f --- /dev/null +++ b/tools/tests/apps/modules/imports/links/acorn/src/bin/.eslintrc @@ -0,0 +1,6 @@ +{ + "extends": "../.eslintrc", + "rules": { + "no-console": "off" + } +} \ No newline at end of file diff --git a/tools/tests/apps/modules/imports/links/acorn/src/bin/acorn.js b/tools/tests/apps/modules/imports/links/acorn/src/bin/acorn.js new file mode 100644 index 0000000000..d5fe42521a --- /dev/null +++ b/tools/tests/apps/modules/imports/links/acorn/src/bin/acorn.js @@ -0,0 +1,62 @@ +import {basename} from "path" +import {readFileSync as readFile} from "fs" +import * as acorn from "acorn" + +let infile, forceFile, silent = false, compact = false, tokenize = false +const options = {} + +function help(status) { + const print = (status == 0) ? console.log : console.error + print("usage: " + basename(process.argv[1]) + " [--ecma3|--ecma5|--ecma6|--ecma7|--ecma8|--ecma9|...|--ecma2015|--ecma2016|--ecma2017|--ecma2018|...]") + print(" [--tokenize] [--locations] [---allow-hash-bang] [--compact] [--silent] [--module] [--help] [--] [infile]") + process.exit(status) +} + +for (let i = 2; i < process.argv.length; ++i) { + const arg = process.argv[i] + if ((arg == "-" || arg[0] != "-") && !infile) infile = arg + else if (arg == "--" && !infile && i + 2 == process.argv.length) forceFile = infile = process.argv[++i] + else if (arg == "--locations") options.locations = true + else if (arg == "--allow-hash-bang") options.allowHashBang = true + else if (arg == "--silent") silent = true + else if (arg == "--compact") compact = true + else if (arg == "--help") help(0) + else if (arg == "--tokenize") tokenize = true + else if (arg == "--module") options.sourceType = "module" + else { + let match = arg.match(/^--ecma(\d+)$/) + if (match) + options.ecmaVersion = +match[1] + else + help(1) + } +} + +function run(code) { + let result + try { + if (!tokenize) { + result = acorn.parse(code, options) + } else { + result = [] + let tokenizer = acorn.tokenizer(code, options), token + do { + token = tokenizer.getToken() + result.push(token) + } while (token.type != acorn.tokTypes.eof) + } + } catch (e) { + console.error(e.message) + process.exit(1) + } + if (!silent) console.log(JSON.stringify(result, null, compact ? null : 2)) +} + +if (forceFile || infile && infile != "-") { + run(readFile(infile, "utf8")) +} else { + let code = "" + process.stdin.resume() + process.stdin.on("data", chunk => code += chunk) + process.stdin.on("end", () => run(code)) +} diff --git a/tools/tests/apps/modules/imports/links/acorn/src/expression.js b/tools/tests/apps/modules/imports/links/acorn/src/expression.js new file mode 100644 index 0000000000..79cd9b559f --- /dev/null +++ b/tools/tests/apps/modules/imports/links/acorn/src/expression.js @@ -0,0 +1,909 @@ +// A recursive descent parser operates by defining functions for all +// syntactic elements, and recursively calling those, each function +// advancing the input stream and returning an AST node. Precedence +// of constructs (for example, the fact that `!x[1]` means `!(x[1])` +// instead of `(!x)[1]` is handled by the fact that the parser +// function that parses unary prefix operators is called first, and +// in turn calls the function that parses `[]` subscripts — that +// way, it'll receive the node for `x[1]` already parsed, and wraps +// *that* in the unary operator node. +// +// Acorn uses an [operator precedence parser][opp] to handle binary +// operator precedence, because it is much more compact than using +// the technique outlined above, which uses different, nesting +// functions to specify precedence, for all of the ten binary +// precedence levels that JavaScript defines. +// +// [opp]: http://en.wikipedia.org/wiki/Operator-precedence_parser + +import {types as tt} from "./tokentype" +import {Parser} from "./state" +import {DestructuringErrors} from "./parseutil" +import {lineBreak} from "./whitespace" + +const pp = Parser.prototype + +// Check if property name clashes with already added. +// Object/class getters and setters are not allowed to clash — +// either with each other or with an init property — and in +// strict mode, init properties are also not allowed to be repeated. + +pp.checkPropClash = function(prop, propHash, refDestructuringErrors) { + if (this.options.ecmaVersion >= 9 && prop.type === "SpreadElement") + return + if (this.options.ecmaVersion >= 6 && (prop.computed || prop.method || prop.shorthand)) + return + let {key} = prop, name + switch (key.type) { + case "Identifier": name = key.name; break + case "Literal": name = String(key.value); break + default: return + } + let {kind} = prop + if (this.options.ecmaVersion >= 6) { + if (name === "__proto__" && kind === "init") { + if (propHash.proto) { + if (refDestructuringErrors && refDestructuringErrors.doubleProto < 0) refDestructuringErrors.doubleProto = key.start + // Backwards-compat kludge. Can be removed in version 6.0 + else this.raiseRecoverable(key.start, "Redefinition of __proto__ property") + } + propHash.proto = true + } + return + } + name = "$" + name + let other = propHash[name] + if (other) { + let redefinition + if (kind === "init") { + redefinition = this.strict && other.init || other.get || other.set + } else { + redefinition = other.init || other[kind] + } + if (redefinition) + this.raiseRecoverable(key.start, "Redefinition of property") + } else { + other = propHash[name] = { + init: false, + get: false, + set: false + } + } + other[kind] = true +} + +// ### Expression parsing + +// These nest, from the most general expression type at the top to +// 'atomic', nondivisible expression types at the bottom. Most of +// the functions will simply let the function(s) below them parse, +// and, *if* the syntactic construct they handle is present, wrap +// the AST node that the inner parser gave them in another node. + +// Parse a full expression. The optional arguments are used to +// forbid the `in` operator (in for loops initalization expressions) +// and provide reference for storing '=' operator inside shorthand +// property assignment in contexts where both object expression +// and object pattern might appear (so it's possible to raise +// delayed syntax error at correct position). + +pp.parseExpression = function(noIn, refDestructuringErrors) { + let startPos = this.start, startLoc = this.startLoc + let expr = this.parseMaybeAssign(noIn, refDestructuringErrors) + if (this.type === tt.comma) { + let node = this.startNodeAt(startPos, startLoc) + node.expressions = [expr] + while (this.eat(tt.comma)) node.expressions.push(this.parseMaybeAssign(noIn, refDestructuringErrors)) + return this.finishNode(node, "SequenceExpression") + } + return expr +} + +// Parse an assignment expression. This includes applications of +// operators like `+=`. + +pp.parseMaybeAssign = function(noIn, refDestructuringErrors, afterLeftParse) { + if (this.inGenerator && this.isContextual("yield")) return this.parseYield() + + let ownDestructuringErrors = false, oldParenAssign = -1, oldTrailingComma = -1 + if (refDestructuringErrors) { + oldParenAssign = refDestructuringErrors.parenthesizedAssign + oldTrailingComma = refDestructuringErrors.trailingComma + refDestructuringErrors.parenthesizedAssign = refDestructuringErrors.trailingComma = -1 + } else { + refDestructuringErrors = new DestructuringErrors + ownDestructuringErrors = true + } + + let startPos = this.start, startLoc = this.startLoc + if (this.type == tt.parenL || this.type == tt.name) + this.potentialArrowAt = this.start + let left = this.parseMaybeConditional(noIn, refDestructuringErrors) + if (afterLeftParse) left = afterLeftParse.call(this, left, startPos, startLoc) + if (this.type.isAssign) { + let node = this.startNodeAt(startPos, startLoc) + node.operator = this.value + node.left = this.type === tt.eq ? this.toAssignable(left, false, refDestructuringErrors) : left + if (!ownDestructuringErrors) DestructuringErrors.call(refDestructuringErrors) + refDestructuringErrors.shorthandAssign = -1 // reset because shorthand default was used correctly + this.checkLVal(left) + this.next() + node.right = this.parseMaybeAssign(noIn) + return this.finishNode(node, "AssignmentExpression") + } else { + if (ownDestructuringErrors) this.checkExpressionErrors(refDestructuringErrors, true) + } + if (oldParenAssign > -1) refDestructuringErrors.parenthesizedAssign = oldParenAssign + if (oldTrailingComma > -1) refDestructuringErrors.trailingComma = oldTrailingComma + return left +} + +// Parse a ternary conditional (`?:`) operator. + +pp.parseMaybeConditional = function(noIn, refDestructuringErrors) { + let startPos = this.start, startLoc = this.startLoc + let expr = this.parseExprOps(noIn, refDestructuringErrors) + if (this.checkExpressionErrors(refDestructuringErrors)) return expr + if (this.eat(tt.question)) { + let node = this.startNodeAt(startPos, startLoc) + node.test = expr + node.consequent = this.parseMaybeAssign() + this.expect(tt.colon) + node.alternate = this.parseMaybeAssign(noIn) + return this.finishNode(node, "ConditionalExpression") + } + return expr +} + +// Start the precedence parser. + +pp.parseExprOps = function(noIn, refDestructuringErrors) { + let startPos = this.start, startLoc = this.startLoc + let expr = this.parseMaybeUnary(refDestructuringErrors, false) + if (this.checkExpressionErrors(refDestructuringErrors)) return expr + return expr.start == startPos && expr.type === "ArrowFunctionExpression" ? expr : this.parseExprOp(expr, startPos, startLoc, -1, noIn) +} + +// Parse binary operators with the operator precedence parsing +// algorithm. `left` is the left-hand side of the operator. +// `minPrec` provides context that allows the function to stop and +// defer further parser to one of its callers when it encounters an +// operator that has a lower precedence than the set it is parsing. + +pp.parseExprOp = function(left, leftStartPos, leftStartLoc, minPrec, noIn) { + let prec = this.type.binop + if (prec != null && (!noIn || this.type !== tt._in)) { + if (prec > minPrec) { + let logical = this.type === tt.logicalOR || this.type === tt.logicalAND + let op = this.value + this.next() + let startPos = this.start, startLoc = this.startLoc + let right = this.parseExprOp(this.parseMaybeUnary(null, false), startPos, startLoc, prec, noIn) + let node = this.buildBinary(leftStartPos, leftStartLoc, left, right, op, logical) + return this.parseExprOp(node, leftStartPos, leftStartLoc, minPrec, noIn) + } + } + return left +} + +pp.buildBinary = function(startPos, startLoc, left, right, op, logical) { + let node = this.startNodeAt(startPos, startLoc) + node.left = left + node.operator = op + node.right = right + return this.finishNode(node, logical ? "LogicalExpression" : "BinaryExpression") +} + +// Parse unary operators, both prefix and postfix. + +pp.parseMaybeUnary = function(refDestructuringErrors, sawUnary) { + let startPos = this.start, startLoc = this.startLoc, expr + if (this.inAsync && this.isContextual("await")) { + expr = this.parseAwait() + sawUnary = true + } else if (this.type.prefix) { + let node = this.startNode(), update = this.type === tt.incDec + node.operator = this.value + node.prefix = true + this.next() + node.argument = this.parseMaybeUnary(null, true) + this.checkExpressionErrors(refDestructuringErrors, true) + if (update) this.checkLVal(node.argument) + else if (this.strict && node.operator === "delete" && + node.argument.type === "Identifier") + this.raiseRecoverable(node.start, "Deleting local variable in strict mode") + else sawUnary = true + expr = this.finishNode(node, update ? "UpdateExpression" : "UnaryExpression") + } else { + expr = this.parseExprSubscripts(refDestructuringErrors) + if (this.checkExpressionErrors(refDestructuringErrors)) return expr + while (this.type.postfix && !this.canInsertSemicolon()) { + let node = this.startNodeAt(startPos, startLoc) + node.operator = this.value + node.prefix = false + node.argument = expr + this.checkLVal(expr) + this.next() + expr = this.finishNode(node, "UpdateExpression") + } + } + + if (!sawUnary && this.eat(tt.starstar)) + return this.buildBinary(startPos, startLoc, expr, this.parseMaybeUnary(null, false), "**", false) + else + return expr +} + +// Parse call, dot, and `[]`-subscript expressions. + +pp.parseExprSubscripts = function(refDestructuringErrors) { + let startPos = this.start, startLoc = this.startLoc + let expr = this.parseExprAtom(refDestructuringErrors) + let skipArrowSubscripts = expr.type === "ArrowFunctionExpression" && this.input.slice(this.lastTokStart, this.lastTokEnd) !== ")" + if (this.checkExpressionErrors(refDestructuringErrors) || skipArrowSubscripts) return expr + let result = this.parseSubscripts(expr, startPos, startLoc) + if (refDestructuringErrors && result.type === "MemberExpression") { + if (refDestructuringErrors.parenthesizedAssign >= result.start) refDestructuringErrors.parenthesizedAssign = -1 + if (refDestructuringErrors.parenthesizedBind >= result.start) refDestructuringErrors.parenthesizedBind = -1 + } + return result +} + +pp.parseSubscripts = function(base, startPos, startLoc, noCalls) { + let maybeAsyncArrow = this.options.ecmaVersion >= 8 && base.type === "Identifier" && base.name === "async" && + this.lastTokEnd == base.end && !this.canInsertSemicolon() && this.input.slice(base.start, base.end) === "async" + for (let computed;;) { + if ((computed = this.eat(tt.bracketL)) || this.eat(tt.dot)) { + let node = this.startNodeAt(startPos, startLoc) + node.object = base + node.property = computed ? this.parseExpression() : this.parseIdent(true) + node.computed = !!computed + if (computed) this.expect(tt.bracketR) + base = this.finishNode(node, "MemberExpression") + } else if (!noCalls && this.eat(tt.parenL)) { + let refDestructuringErrors = new DestructuringErrors, oldYieldPos = this.yieldPos, oldAwaitPos = this.awaitPos + this.yieldPos = 0 + this.awaitPos = 0 + let exprList = this.parseExprList(tt.parenR, this.options.ecmaVersion >= 8, false, refDestructuringErrors) + if (maybeAsyncArrow && !this.canInsertSemicolon() && this.eat(tt.arrow)) { + this.checkPatternErrors(refDestructuringErrors, false) + this.checkYieldAwaitInDefaultParams() + this.yieldPos = oldYieldPos + this.awaitPos = oldAwaitPos + return this.parseArrowExpression(this.startNodeAt(startPos, startLoc), exprList, true) + } + this.checkExpressionErrors(refDestructuringErrors, true) + this.yieldPos = oldYieldPos || this.yieldPos + this.awaitPos = oldAwaitPos || this.awaitPos + let node = this.startNodeAt(startPos, startLoc) + node.callee = base + node.arguments = exprList + base = this.finishNode(node, "CallExpression") + } else if (this.type === tt.backQuote) { + let node = this.startNodeAt(startPos, startLoc) + node.tag = base + node.quasi = this.parseTemplate({isTagged: true}) + base = this.finishNode(node, "TaggedTemplateExpression") + } else { + return base + } + } +} + +// Parse an atomic expression — either a single token that is an +// expression, an expression started by a keyword like `function` or +// `new`, or an expression wrapped in punctuation like `()`, `[]`, +// or `{}`. + +pp.parseExprAtom = function(refDestructuringErrors) { + let node, canBeArrow = this.potentialArrowAt == this.start + switch (this.type) { + case tt._super: + if (!this.inFunction) + this.raise(this.start, "'super' outside of function or class") + node = this.startNode() + this.next() + // The `super` keyword can appear at below: + // SuperProperty: + // super [ Expression ] + // super . IdentifierName + // SuperCall: + // super Arguments + if (this.type !== tt.dot && this.type !== tt.bracketL && this.type !== tt.parenL) + this.unexpected() + return this.finishNode(node, "Super") + + case tt._this: + node = this.startNode() + this.next() + return this.finishNode(node, "ThisExpression") + + case tt.name: + let startPos = this.start, startLoc = this.startLoc, containsEsc = this.containsEsc + let id = this.parseIdent(this.type !== tt.name) + if (this.options.ecmaVersion >= 8 && !containsEsc && id.name === "async" && !this.canInsertSemicolon() && this.eat(tt._function)) + return this.parseFunction(this.startNodeAt(startPos, startLoc), false, false, true) + if (canBeArrow && !this.canInsertSemicolon()) { + if (this.eat(tt.arrow)) + return this.parseArrowExpression(this.startNodeAt(startPos, startLoc), [id], false) + if (this.options.ecmaVersion >= 8 && id.name === "async" && this.type === tt.name && !containsEsc) { + id = this.parseIdent() + if (this.canInsertSemicolon() || !this.eat(tt.arrow)) + this.unexpected() + return this.parseArrowExpression(this.startNodeAt(startPos, startLoc), [id], true) + } + } + return id + + case tt.regexp: + let value = this.value + node = this.parseLiteral(value.value) + node.regex = {pattern: value.pattern, flags: value.flags} + return node + + case tt.num: case tt.string: + return this.parseLiteral(this.value) + + case tt._null: case tt._true: case tt._false: + node = this.startNode() + node.value = this.type === tt._null ? null : this.type === tt._true + node.raw = this.type.keyword + this.next() + return this.finishNode(node, "Literal") + + case tt.parenL: + let start = this.start, expr = this.parseParenAndDistinguishExpression(canBeArrow) + if (refDestructuringErrors) { + if (refDestructuringErrors.parenthesizedAssign < 0 && !this.isSimpleAssignTarget(expr)) + refDestructuringErrors.parenthesizedAssign = start + if (refDestructuringErrors.parenthesizedBind < 0) + refDestructuringErrors.parenthesizedBind = start + } + return expr + + case tt.bracketL: + node = this.startNode() + this.next() + node.elements = this.parseExprList(tt.bracketR, true, true, refDestructuringErrors) + return this.finishNode(node, "ArrayExpression") + + case tt.braceL: + return this.parseObj(false, refDestructuringErrors) + + case tt._function: + node = this.startNode() + this.next() + return this.parseFunction(node, false) + + case tt._class: + return this.parseClass(this.startNode(), false) + + case tt._new: + return this.parseNew() + + case tt.backQuote: + return this.parseTemplate() + + default: + this.unexpected() + } +} + +pp.parseLiteral = function(value) { + let node = this.startNode() + node.value = value + node.raw = this.input.slice(this.start, this.end) + this.next() + return this.finishNode(node, "Literal") +} + +pp.parseParenExpression = function() { + this.expect(tt.parenL) + let val = this.parseExpression() + this.expect(tt.parenR) + return val +} + +pp.parseParenAndDistinguishExpression = function(canBeArrow) { + let startPos = this.start, startLoc = this.startLoc, val, allowTrailingComma = this.options.ecmaVersion >= 8 + if (this.options.ecmaVersion >= 6) { + this.next() + + let innerStartPos = this.start, innerStartLoc = this.startLoc + let exprList = [], first = true, lastIsComma = false + let refDestructuringErrors = new DestructuringErrors, oldYieldPos = this.yieldPos, oldAwaitPos = this.awaitPos, spreadStart + this.yieldPos = 0 + this.awaitPos = 0 + while (this.type !== tt.parenR) { + first ? first = false : this.expect(tt.comma) + if (allowTrailingComma && this.afterTrailingComma(tt.parenR, true)) { + lastIsComma = true + break + } else if (this.type === tt.ellipsis) { + spreadStart = this.start + exprList.push(this.parseParenItem(this.parseRestBinding())) + if (this.type === tt.comma) this.raise(this.start, "Comma is not permitted after the rest element") + break + } else { + exprList.push(this.parseMaybeAssign(false, refDestructuringErrors, this.parseParenItem)) + } + } + let innerEndPos = this.start, innerEndLoc = this.startLoc + this.expect(tt.parenR) + + if (canBeArrow && !this.canInsertSemicolon() && this.eat(tt.arrow)) { + this.checkPatternErrors(refDestructuringErrors, false) + this.checkYieldAwaitInDefaultParams() + this.yieldPos = oldYieldPos + this.awaitPos = oldAwaitPos + return this.parseParenArrowList(startPos, startLoc, exprList) + } + + if (!exprList.length || lastIsComma) this.unexpected(this.lastTokStart) + if (spreadStart) this.unexpected(spreadStart) + this.checkExpressionErrors(refDestructuringErrors, true) + this.yieldPos = oldYieldPos || this.yieldPos + this.awaitPos = oldAwaitPos || this.awaitPos + + if (exprList.length > 1) { + val = this.startNodeAt(innerStartPos, innerStartLoc) + val.expressions = exprList + this.finishNodeAt(val, "SequenceExpression", innerEndPos, innerEndLoc) + } else { + val = exprList[0] + } + } else { + val = this.parseParenExpression() + } + + if (this.options.preserveParens) { + let par = this.startNodeAt(startPos, startLoc) + par.expression = val + return this.finishNode(par, "ParenthesizedExpression") + } else { + return val + } +} + +pp.parseParenItem = function(item) { + return item +} + +pp.parseParenArrowList = function(startPos, startLoc, exprList) { + return this.parseArrowExpression(this.startNodeAt(startPos, startLoc), exprList) +} + +// New's precedence is slightly tricky. It must allow its argument to +// be a `[]` or dot subscript expression, but not a call — at least, +// not without wrapping it in parentheses. Thus, it uses the noCalls +// argument to parseSubscripts to prevent it from consuming the +// argument list. + +const empty = [] + +pp.parseNew = function() { + let node = this.startNode() + let meta = this.parseIdent(true) + if (this.options.ecmaVersion >= 6 && this.eat(tt.dot)) { + node.meta = meta + let containsEsc = this.containsEsc + node.property = this.parseIdent(true) + if (node.property.name !== "target" || containsEsc) + this.raiseRecoverable(node.property.start, "The only valid meta property for new is new.target") + if (!this.inFunction) + this.raiseRecoverable(node.start, "new.target can only be used in functions") + return this.finishNode(node, "MetaProperty") + } + let startPos = this.start, startLoc = this.startLoc + node.callee = this.parseSubscripts(this.parseExprAtom(), startPos, startLoc, true) + if (this.eat(tt.parenL)) node.arguments = this.parseExprList(tt.parenR, this.options.ecmaVersion >= 8, false) + else node.arguments = empty + return this.finishNode(node, "NewExpression") +} + +// Parse template expression. + +pp.parseTemplateElement = function({isTagged}) { + let elem = this.startNode() + if (this.type === tt.invalidTemplate) { + if (!isTagged) { + this.raiseRecoverable(this.start, "Bad escape sequence in untagged template literal") + } + elem.value = { + raw: this.value, + cooked: null + } + } else { + elem.value = { + raw: this.input.slice(this.start, this.end).replace(/\r\n?/g, "\n"), + cooked: this.value + } + } + this.next() + elem.tail = this.type === tt.backQuote + return this.finishNode(elem, "TemplateElement") +} + +pp.parseTemplate = function({isTagged = false} = {}) { + let node = this.startNode() + this.next() + node.expressions = [] + let curElt = this.parseTemplateElement({isTagged}) + node.quasis = [curElt] + while (!curElt.tail) { + this.expect(tt.dollarBraceL) + node.expressions.push(this.parseExpression()) + this.expect(tt.braceR) + node.quasis.push(curElt = this.parseTemplateElement({isTagged})) + } + this.next() + return this.finishNode(node, "TemplateLiteral") +} + +pp.isAsyncProp = function(prop) { + return !prop.computed && prop.key.type === "Identifier" && prop.key.name === "async" && + (this.type === tt.name || this.type === tt.num || this.type === tt.string || this.type === tt.bracketL || this.type.keyword || (this.options.ecmaVersion >= 9 && this.type === tt.star)) && + !lineBreak.test(this.input.slice(this.lastTokEnd, this.start)) +} + +// Parse an object literal or binding pattern. + +pp.parseObj = function(isPattern, refDestructuringErrors) { + let node = this.startNode(), first = true, propHash = {} + node.properties = [] + this.next() + while (!this.eat(tt.braceR)) { + if (!first) { + this.expect(tt.comma) + if (this.afterTrailingComma(tt.braceR)) break + } else first = false + + const prop = this.parseProperty(isPattern, refDestructuringErrors) + if (!isPattern) this.checkPropClash(prop, propHash, refDestructuringErrors) + node.properties.push(prop) + } + return this.finishNode(node, isPattern ? "ObjectPattern" : "ObjectExpression") +} + +pp.parseProperty = function(isPattern, refDestructuringErrors) { + let prop = this.startNode(), isGenerator, isAsync, startPos, startLoc + if (this.options.ecmaVersion >= 9 && this.eat(tt.ellipsis)) { + if (isPattern) { + prop.argument = this.parseIdent(false) + if (this.type === tt.comma) { + this.raise(this.start, "Comma is not permitted after the rest element") + } + return this.finishNode(prop, "RestElement") + } + // To disallow parenthesized identifier via `this.toAssignable()`. + if (this.type === tt.parenL && refDestructuringErrors) { + if (refDestructuringErrors.parenthesizedAssign < 0) { + refDestructuringErrors.parenthesizedAssign = this.start + } + if (refDestructuringErrors.parenthesizedBind < 0) { + refDestructuringErrors.parenthesizedBind = this.start + } + } + // Parse argument. + prop.argument = this.parseMaybeAssign(false, refDestructuringErrors) + // To disallow trailing comma via `this.toAssignable()`. + if (this.type === tt.comma && refDestructuringErrors && refDestructuringErrors.trailingComma < 0) { + refDestructuringErrors.trailingComma = this.start + } + // Finish + return this.finishNode(prop, "SpreadElement") + } + if (this.options.ecmaVersion >= 6) { + prop.method = false + prop.shorthand = false + if (isPattern || refDestructuringErrors) { + startPos = this.start + startLoc = this.startLoc + } + if (!isPattern) + isGenerator = this.eat(tt.star) + } + let containsEsc = this.containsEsc + this.parsePropertyName(prop) + if (!isPattern && !containsEsc && this.options.ecmaVersion >= 8 && !isGenerator && this.isAsyncProp(prop)) { + isAsync = true + isGenerator = this.options.ecmaVersion >= 9 && this.eat(tt.star) + this.parsePropertyName(prop, refDestructuringErrors) + } else { + isAsync = false + } + this.parsePropertyValue(prop, isPattern, isGenerator, isAsync, startPos, startLoc, refDestructuringErrors, containsEsc) + return this.finishNode(prop, "Property") +} + +pp.parsePropertyValue = function(prop, isPattern, isGenerator, isAsync, startPos, startLoc, refDestructuringErrors, containsEsc) { + if ((isGenerator || isAsync) && this.type === tt.colon) + this.unexpected() + + if (this.eat(tt.colon)) { + prop.value = isPattern ? this.parseMaybeDefault(this.start, this.startLoc) : this.parseMaybeAssign(false, refDestructuringErrors) + prop.kind = "init" + } else if (this.options.ecmaVersion >= 6 && this.type === tt.parenL) { + if (isPattern) this.unexpected() + prop.kind = "init" + prop.method = true + prop.value = this.parseMethod(isGenerator, isAsync) + } else if (!isPattern && !containsEsc && + this.options.ecmaVersion >= 5 && !prop.computed && prop.key.type === "Identifier" && + (prop.key.name === "get" || prop.key.name === "set") && + (this.type != tt.comma && this.type != tt.braceR)) { + if (isGenerator || isAsync) this.unexpected() + prop.kind = prop.key.name + this.parsePropertyName(prop) + prop.value = this.parseMethod(false) + let paramCount = prop.kind === "get" ? 0 : 1 + if (prop.value.params.length !== paramCount) { + let start = prop.value.start + if (prop.kind === "get") + this.raiseRecoverable(start, "getter should have no params") + else + this.raiseRecoverable(start, "setter should have exactly one param") + } else { + if (prop.kind === "set" && prop.value.params[0].type === "RestElement") + this.raiseRecoverable(prop.value.params[0].start, "Setter cannot use rest params") + } + } else if (this.options.ecmaVersion >= 6 && !prop.computed && prop.key.type === "Identifier") { + this.checkUnreserved(prop.key) + prop.kind = "init" + if (isPattern) { + prop.value = this.parseMaybeDefault(startPos, startLoc, prop.key) + } else if (this.type === tt.eq && refDestructuringErrors) { + if (refDestructuringErrors.shorthandAssign < 0) + refDestructuringErrors.shorthandAssign = this.start + prop.value = this.parseMaybeDefault(startPos, startLoc, prop.key) + } else { + prop.value = prop.key + } + prop.shorthand = true + } else this.unexpected() +} + +pp.parsePropertyName = function(prop) { + if (this.options.ecmaVersion >= 6) { + if (this.eat(tt.bracketL)) { + prop.computed = true + prop.key = this.parseMaybeAssign() + this.expect(tt.bracketR) + return prop.key + } else { + prop.computed = false + } + } + return prop.key = this.type === tt.num || this.type === tt.string ? this.parseExprAtom() : this.parseIdent(true) +} + +// Initialize empty function node. + +pp.initFunction = function(node) { + node.id = null + if (this.options.ecmaVersion >= 6) { + node.generator = false + node.expression = false + } + if (this.options.ecmaVersion >= 8) + node.async = false +} + +// Parse object or class method. + +pp.parseMethod = function(isGenerator, isAsync) { + let node = this.startNode(), oldInGen = this.inGenerator, oldInAsync = this.inAsync, + oldYieldPos = this.yieldPos, oldAwaitPos = this.awaitPos, oldInFunc = this.inFunction + + this.initFunction(node) + if (this.options.ecmaVersion >= 6) + node.generator = isGenerator + if (this.options.ecmaVersion >= 8) + node.async = !!isAsync + + this.inGenerator = node.generator + this.inAsync = node.async + this.yieldPos = 0 + this.awaitPos = 0 + this.inFunction = true + this.enterFunctionScope() + + this.expect(tt.parenL) + node.params = this.parseBindingList(tt.parenR, false, this.options.ecmaVersion >= 8) + this.checkYieldAwaitInDefaultParams() + this.parseFunctionBody(node, false) + + this.inGenerator = oldInGen + this.inAsync = oldInAsync + this.yieldPos = oldYieldPos + this.awaitPos = oldAwaitPos + this.inFunction = oldInFunc + return this.finishNode(node, "FunctionExpression") +} + +// Parse arrow function expression with given parameters. + +pp.parseArrowExpression = function(node, params, isAsync) { + let oldInGen = this.inGenerator, oldInAsync = this.inAsync, + oldYieldPos = this.yieldPos, oldAwaitPos = this.awaitPos, oldInFunc = this.inFunction + + this.enterFunctionScope() + this.initFunction(node) + if (this.options.ecmaVersion >= 8) + node.async = !!isAsync + + this.inGenerator = false + this.inAsync = node.async + this.yieldPos = 0 + this.awaitPos = 0 + this.inFunction = true + + node.params = this.toAssignableList(params, true) + this.parseFunctionBody(node, true) + + this.inGenerator = oldInGen + this.inAsync = oldInAsync + this.yieldPos = oldYieldPos + this.awaitPos = oldAwaitPos + this.inFunction = oldInFunc + return this.finishNode(node, "ArrowFunctionExpression") +} + +// Parse function body and check parameters. + +pp.parseFunctionBody = function(node, isArrowFunction) { + let isExpression = isArrowFunction && this.type !== tt.braceL + let oldStrict = this.strict, useStrict = false + + if (isExpression) { + node.body = this.parseMaybeAssign() + node.expression = true + this.checkParams(node, false) + } else { + let nonSimple = this.options.ecmaVersion >= 7 && !this.isSimpleParamList(node.params) + if (!oldStrict || nonSimple) { + useStrict = this.strictDirective(this.end) + // If this is a strict mode function, verify that argument names + // are not repeated, and it does not try to bind the words `eval` + // or `arguments`. + if (useStrict && nonSimple) + this.raiseRecoverable(node.start, "Illegal 'use strict' directive in function with non-simple parameter list") + } + // Start a new scope with regard to labels and the `inFunction` + // flag (restore them to their old value afterwards). + let oldLabels = this.labels + this.labels = [] + if (useStrict) this.strict = true + + // Add the params to varDeclaredNames to ensure that an error is thrown + // if a let/const declaration in the function clashes with one of the params. + this.checkParams(node, !oldStrict && !useStrict && !isArrowFunction && this.isSimpleParamList(node.params)) + node.body = this.parseBlock(false) + node.expression = false + this.adaptDirectivePrologue(node.body.body) + this.labels = oldLabels + } + this.exitFunctionScope() + + if (this.strict && node.id) { + // Ensure the function name isn't a forbidden identifier in strict mode, e.g. 'eval' + this.checkLVal(node.id, "none") + } + this.strict = oldStrict +} + +pp.isSimpleParamList = function(params) { + for (let param of params) + if (param.type !== "Identifier") return false + return true +} + +// Checks function params for various disallowed patterns such as using "eval" +// or "arguments" and duplicate parameters. + +pp.checkParams = function(node, allowDuplicates) { + let nameHash = {} + for (let param of node.params) + this.checkLVal(param, "var", allowDuplicates ? null : nameHash) +} + +// Parses a comma-separated list of expressions, and returns them as +// an array. `close` is the token type that ends the list, and +// `allowEmpty` can be turned on to allow subsequent commas with +// nothing in between them to be parsed as `null` (which is needed +// for array literals). + +pp.parseExprList = function(close, allowTrailingComma, allowEmpty, refDestructuringErrors) { + let elts = [], first = true + while (!this.eat(close)) { + if (!first) { + this.expect(tt.comma) + if (allowTrailingComma && this.afterTrailingComma(close)) break + } else first = false + + let elt + if (allowEmpty && this.type === tt.comma) + elt = null + else if (this.type === tt.ellipsis) { + elt = this.parseSpread(refDestructuringErrors) + if (refDestructuringErrors && this.type === tt.comma && refDestructuringErrors.trailingComma < 0) + refDestructuringErrors.trailingComma = this.start + } else { + elt = this.parseMaybeAssign(false, refDestructuringErrors) + } + elts.push(elt) + } + return elts +} + +pp.checkUnreserved = function({start, end, name}) { + if (this.inGenerator && name === "yield") + this.raiseRecoverable(start, "Can not use 'yield' as identifier inside a generator") + if (this.inAsync && name === "await") + this.raiseRecoverable(start, "Can not use 'await' as identifier inside an async function") + if (this.isKeyword(name)) + this.raise(start, `Unexpected keyword '${name}'`) + if (this.options.ecmaVersion < 6 && + this.input.slice(start, end).indexOf("\\") != -1) return + const re = this.strict ? this.reservedWordsStrict : this.reservedWords + if (re.test(name)) { + if (!this.inAsync && name === "await") + this.raiseRecoverable(start, "Can not use keyword 'await' outside an async function") + this.raiseRecoverable(start, `The keyword '${name}' is reserved`) + } +} + +// Parse the next token as an identifier. If `liberal` is true (used +// when parsing properties), it will also convert keywords into +// identifiers. + +pp.parseIdent = function(liberal, isBinding) { + let node = this.startNode() + if (liberal && this.options.allowReserved == "never") liberal = false + if (this.type === tt.name) { + node.name = this.value + } else if (this.type.keyword) { + node.name = this.type.keyword + + // To fix https://github.com/acornjs/acorn/issues/575 + // `class` and `function` keywords push new context into this.context. + // But there is no chance to pop the context if the keyword is consumed as an identifier such as a property name. + // If the previous token is a dot, this does not apply because the context-managing code already ignored the keyword + if ((node.name === "class" || node.name === "function") && + (this.lastTokEnd !== this.lastTokStart + 1 || this.input.charCodeAt(this.lastTokStart) !== 46)) { + this.context.pop() + } + } else { + this.unexpected() + } + this.next() + this.finishNode(node, "Identifier") + if (!liberal) this.checkUnreserved(node) + return node +} + +// Parses yield expression inside generator. + +pp.parseYield = function() { + if (!this.yieldPos) this.yieldPos = this.start + + let node = this.startNode() + this.next() + if (this.type == tt.semi || this.canInsertSemicolon() || (this.type != tt.star && !this.type.startsExpr)) { + node.delegate = false + node.argument = null + } else { + node.delegate = this.eat(tt.star) + node.argument = this.parseMaybeAssign() + } + return this.finishNode(node, "YieldExpression") +} + +pp.parseAwait = function() { + if (!this.awaitPos) this.awaitPos = this.start + + let node = this.startNode() + this.next() + node.argument = this.parseMaybeUnary(null, true) + return this.finishNode(node, "AwaitExpression") +} diff --git a/tools/tests/apps/modules/imports/links/acorn/src/identifier.js b/tools/tests/apps/modules/imports/links/acorn/src/identifier.js new file mode 100644 index 0000000000..5b6553b604 --- /dev/null +++ b/tools/tests/apps/modules/imports/links/acorn/src/identifier.js @@ -0,0 +1,87 @@ +// Reserved word lists for various dialects of the language + +export const reservedWords = { + 3: "abstract boolean byte char class double enum export extends final float goto implements import int interface long native package private protected public short static super synchronized throws transient volatile", + 5: "class enum extends super const export import", + 6: "enum", + strict: "implements interface let package private protected public static yield", + strictBind: "eval arguments" +} + +// And the keywords + +const ecma5AndLessKeywords = "break case catch continue debugger default do else finally for function if return switch throw try var while with null true false instanceof typeof void delete new in this" + +export const keywords = { + 5: ecma5AndLessKeywords, + 6: ecma5AndLessKeywords + " const class extends export import super" +} + +export const keywordRelationalOperator = /^in(stanceof)?$/ + +// ## Character categories + +// Big ugly regular expressions that match characters in the +// whitespace, identifier, and identifier-start categories. These +// are only applied when a character is found to actually have a +// code point above 128. +// Generated by `bin/generate-identifier-regex.js`. + +let nonASCIIidentifierStartChars = "\xaa\xb5\xba\xc0-\xd6\xd8-\xf6\xf8-\u02c1\u02c6-\u02d1\u02e0-\u02e4\u02ec\u02ee\u0370-\u0374\u0376\u0377\u037a-\u037d\u037f\u0386\u0388-\u038a\u038c\u038e-\u03a1\u03a3-\u03f5\u03f7-\u0481\u048a-\u052f\u0531-\u0556\u0559\u0561-\u0587\u05d0-\u05ea\u05f0-\u05f2\u0620-\u064a\u066e\u066f\u0671-\u06d3\u06d5\u06e5\u06e6\u06ee\u06ef\u06fa-\u06fc\u06ff\u0710\u0712-\u072f\u074d-\u07a5\u07b1\u07ca-\u07ea\u07f4\u07f5\u07fa\u0800-\u0815\u081a\u0824\u0828\u0840-\u0858\u0860-\u086a\u08a0-\u08b4\u08b6-\u08bd\u0904-\u0939\u093d\u0950\u0958-\u0961\u0971-\u0980\u0985-\u098c\u098f\u0990\u0993-\u09a8\u09aa-\u09b0\u09b2\u09b6-\u09b9\u09bd\u09ce\u09dc\u09dd\u09df-\u09e1\u09f0\u09f1\u09fc\u0a05-\u0a0a\u0a0f\u0a10\u0a13-\u0a28\u0a2a-\u0a30\u0a32\u0a33\u0a35\u0a36\u0a38\u0a39\u0a59-\u0a5c\u0a5e\u0a72-\u0a74\u0a85-\u0a8d\u0a8f-\u0a91\u0a93-\u0aa8\u0aaa-\u0ab0\u0ab2\u0ab3\u0ab5-\u0ab9\u0abd\u0ad0\u0ae0\u0ae1\u0af9\u0b05-\u0b0c\u0b0f\u0b10\u0b13-\u0b28\u0b2a-\u0b30\u0b32\u0b33\u0b35-\u0b39\u0b3d\u0b5c\u0b5d\u0b5f-\u0b61\u0b71\u0b83\u0b85-\u0b8a\u0b8e-\u0b90\u0b92-\u0b95\u0b99\u0b9a\u0b9c\u0b9e\u0b9f\u0ba3\u0ba4\u0ba8-\u0baa\u0bae-\u0bb9\u0bd0\u0c05-\u0c0c\u0c0e-\u0c10\u0c12-\u0c28\u0c2a-\u0c39\u0c3d\u0c58-\u0c5a\u0c60\u0c61\u0c80\u0c85-\u0c8c\u0c8e-\u0c90\u0c92-\u0ca8\u0caa-\u0cb3\u0cb5-\u0cb9\u0cbd\u0cde\u0ce0\u0ce1\u0cf1\u0cf2\u0d05-\u0d0c\u0d0e-\u0d10\u0d12-\u0d3a\u0d3d\u0d4e\u0d54-\u0d56\u0d5f-\u0d61\u0d7a-\u0d7f\u0d85-\u0d96\u0d9a-\u0db1\u0db3-\u0dbb\u0dbd\u0dc0-\u0dc6\u0e01-\u0e30\u0e32\u0e33\u0e40-\u0e46\u0e81\u0e82\u0e84\u0e87\u0e88\u0e8a\u0e8d\u0e94-\u0e97\u0e99-\u0e9f\u0ea1-\u0ea3\u0ea5\u0ea7\u0eaa\u0eab\u0ead-\u0eb0\u0eb2\u0eb3\u0ebd\u0ec0-\u0ec4\u0ec6\u0edc-\u0edf\u0f00\u0f40-\u0f47\u0f49-\u0f6c\u0f88-\u0f8c\u1000-\u102a\u103f\u1050-\u1055\u105a-\u105d\u1061\u1065\u1066\u106e-\u1070\u1075-\u1081\u108e\u10a0-\u10c5\u10c7\u10cd\u10d0-\u10fa\u10fc-\u1248\u124a-\u124d\u1250-\u1256\u1258\u125a-\u125d\u1260-\u1288\u128a-\u128d\u1290-\u12b0\u12b2-\u12b5\u12b8-\u12be\u12c0\u12c2-\u12c5\u12c8-\u12d6\u12d8-\u1310\u1312-\u1315\u1318-\u135a\u1380-\u138f\u13a0-\u13f5\u13f8-\u13fd\u1401-\u166c\u166f-\u167f\u1681-\u169a\u16a0-\u16ea\u16ee-\u16f8\u1700-\u170c\u170e-\u1711\u1720-\u1731\u1740-\u1751\u1760-\u176c\u176e-\u1770\u1780-\u17b3\u17d7\u17dc\u1820-\u1877\u1880-\u18a8\u18aa\u18b0-\u18f5\u1900-\u191e\u1950-\u196d\u1970-\u1974\u1980-\u19ab\u19b0-\u19c9\u1a00-\u1a16\u1a20-\u1a54\u1aa7\u1b05-\u1b33\u1b45-\u1b4b\u1b83-\u1ba0\u1bae\u1baf\u1bba-\u1be5\u1c00-\u1c23\u1c4d-\u1c4f\u1c5a-\u1c7d\u1c80-\u1c88\u1ce9-\u1cec\u1cee-\u1cf1\u1cf5\u1cf6\u1d00-\u1dbf\u1e00-\u1f15\u1f18-\u1f1d\u1f20-\u1f45\u1f48-\u1f4d\u1f50-\u1f57\u1f59\u1f5b\u1f5d\u1f5f-\u1f7d\u1f80-\u1fb4\u1fb6-\u1fbc\u1fbe\u1fc2-\u1fc4\u1fc6-\u1fcc\u1fd0-\u1fd3\u1fd6-\u1fdb\u1fe0-\u1fec\u1ff2-\u1ff4\u1ff6-\u1ffc\u2071\u207f\u2090-\u209c\u2102\u2107\u210a-\u2113\u2115\u2118-\u211d\u2124\u2126\u2128\u212a-\u2139\u213c-\u213f\u2145-\u2149\u214e\u2160-\u2188\u2c00-\u2c2e\u2c30-\u2c5e\u2c60-\u2ce4\u2ceb-\u2cee\u2cf2\u2cf3\u2d00-\u2d25\u2d27\u2d2d\u2d30-\u2d67\u2d6f\u2d80-\u2d96\u2da0-\u2da6\u2da8-\u2dae\u2db0-\u2db6\u2db8-\u2dbe\u2dc0-\u2dc6\u2dc8-\u2dce\u2dd0-\u2dd6\u2dd8-\u2dde\u3005-\u3007\u3021-\u3029\u3031-\u3035\u3038-\u303c\u3041-\u3096\u309b-\u309f\u30a1-\u30fa\u30fc-\u30ff\u3105-\u312e\u3131-\u318e\u31a0-\u31ba\u31f0-\u31ff\u3400-\u4db5\u4e00-\u9fea\ua000-\ua48c\ua4d0-\ua4fd\ua500-\ua60c\ua610-\ua61f\ua62a\ua62b\ua640-\ua66e\ua67f-\ua69d\ua6a0-\ua6ef\ua717-\ua71f\ua722-\ua788\ua78b-\ua7ae\ua7b0-\ua7b7\ua7f7-\ua801\ua803-\ua805\ua807-\ua80a\ua80c-\ua822\ua840-\ua873\ua882-\ua8b3\ua8f2-\ua8f7\ua8fb\ua8fd\ua90a-\ua925\ua930-\ua946\ua960-\ua97c\ua984-\ua9b2\ua9cf\ua9e0-\ua9e4\ua9e6-\ua9ef\ua9fa-\ua9fe\uaa00-\uaa28\uaa40-\uaa42\uaa44-\uaa4b\uaa60-\uaa76\uaa7a\uaa7e-\uaaaf\uaab1\uaab5\uaab6\uaab9-\uaabd\uaac0\uaac2\uaadb-\uaadd\uaae0-\uaaea\uaaf2-\uaaf4\uab01-\uab06\uab09-\uab0e\uab11-\uab16\uab20-\uab26\uab28-\uab2e\uab30-\uab5a\uab5c-\uab65\uab70-\uabe2\uac00-\ud7a3\ud7b0-\ud7c6\ud7cb-\ud7fb\uf900-\ufa6d\ufa70-\ufad9\ufb00-\ufb06\ufb13-\ufb17\ufb1d\ufb1f-\ufb28\ufb2a-\ufb36\ufb38-\ufb3c\ufb3e\ufb40\ufb41\ufb43\ufb44\ufb46-\ufbb1\ufbd3-\ufd3d\ufd50-\ufd8f\ufd92-\ufdc7\ufdf0-\ufdfb\ufe70-\ufe74\ufe76-\ufefc\uff21-\uff3a\uff41-\uff5a\uff66-\uffbe\uffc2-\uffc7\uffca-\uffcf\uffd2-\uffd7\uffda-\uffdc" +let nonASCIIidentifierChars = "\u200c\u200d\xb7\u0300-\u036f\u0387\u0483-\u0487\u0591-\u05bd\u05bf\u05c1\u05c2\u05c4\u05c5\u05c7\u0610-\u061a\u064b-\u0669\u0670\u06d6-\u06dc\u06df-\u06e4\u06e7\u06e8\u06ea-\u06ed\u06f0-\u06f9\u0711\u0730-\u074a\u07a6-\u07b0\u07c0-\u07c9\u07eb-\u07f3\u0816-\u0819\u081b-\u0823\u0825-\u0827\u0829-\u082d\u0859-\u085b\u08d4-\u08e1\u08e3-\u0903\u093a-\u093c\u093e-\u094f\u0951-\u0957\u0962\u0963\u0966-\u096f\u0981-\u0983\u09bc\u09be-\u09c4\u09c7\u09c8\u09cb-\u09cd\u09d7\u09e2\u09e3\u09e6-\u09ef\u0a01-\u0a03\u0a3c\u0a3e-\u0a42\u0a47\u0a48\u0a4b-\u0a4d\u0a51\u0a66-\u0a71\u0a75\u0a81-\u0a83\u0abc\u0abe-\u0ac5\u0ac7-\u0ac9\u0acb-\u0acd\u0ae2\u0ae3\u0ae6-\u0aef\u0afa-\u0aff\u0b01-\u0b03\u0b3c\u0b3e-\u0b44\u0b47\u0b48\u0b4b-\u0b4d\u0b56\u0b57\u0b62\u0b63\u0b66-\u0b6f\u0b82\u0bbe-\u0bc2\u0bc6-\u0bc8\u0bca-\u0bcd\u0bd7\u0be6-\u0bef\u0c00-\u0c03\u0c3e-\u0c44\u0c46-\u0c48\u0c4a-\u0c4d\u0c55\u0c56\u0c62\u0c63\u0c66-\u0c6f\u0c81-\u0c83\u0cbc\u0cbe-\u0cc4\u0cc6-\u0cc8\u0cca-\u0ccd\u0cd5\u0cd6\u0ce2\u0ce3\u0ce6-\u0cef\u0d00-\u0d03\u0d3b\u0d3c\u0d3e-\u0d44\u0d46-\u0d48\u0d4a-\u0d4d\u0d57\u0d62\u0d63\u0d66-\u0d6f\u0d82\u0d83\u0dca\u0dcf-\u0dd4\u0dd6\u0dd8-\u0ddf\u0de6-\u0def\u0df2\u0df3\u0e31\u0e34-\u0e3a\u0e47-\u0e4e\u0e50-\u0e59\u0eb1\u0eb4-\u0eb9\u0ebb\u0ebc\u0ec8-\u0ecd\u0ed0-\u0ed9\u0f18\u0f19\u0f20-\u0f29\u0f35\u0f37\u0f39\u0f3e\u0f3f\u0f71-\u0f84\u0f86\u0f87\u0f8d-\u0f97\u0f99-\u0fbc\u0fc6\u102b-\u103e\u1040-\u1049\u1056-\u1059\u105e-\u1060\u1062-\u1064\u1067-\u106d\u1071-\u1074\u1082-\u108d\u108f-\u109d\u135d-\u135f\u1369-\u1371\u1712-\u1714\u1732-\u1734\u1752\u1753\u1772\u1773\u17b4-\u17d3\u17dd\u17e0-\u17e9\u180b-\u180d\u1810-\u1819\u18a9\u1920-\u192b\u1930-\u193b\u1946-\u194f\u19d0-\u19da\u1a17-\u1a1b\u1a55-\u1a5e\u1a60-\u1a7c\u1a7f-\u1a89\u1a90-\u1a99\u1ab0-\u1abd\u1b00-\u1b04\u1b34-\u1b44\u1b50-\u1b59\u1b6b-\u1b73\u1b80-\u1b82\u1ba1-\u1bad\u1bb0-\u1bb9\u1be6-\u1bf3\u1c24-\u1c37\u1c40-\u1c49\u1c50-\u1c59\u1cd0-\u1cd2\u1cd4-\u1ce8\u1ced\u1cf2-\u1cf4\u1cf7-\u1cf9\u1dc0-\u1df9\u1dfb-\u1dff\u203f\u2040\u2054\u20d0-\u20dc\u20e1\u20e5-\u20f0\u2cef-\u2cf1\u2d7f\u2de0-\u2dff\u302a-\u302f\u3099\u309a\ua620-\ua629\ua66f\ua674-\ua67d\ua69e\ua69f\ua6f0\ua6f1\ua802\ua806\ua80b\ua823-\ua827\ua880\ua881\ua8b4-\ua8c5\ua8d0-\ua8d9\ua8e0-\ua8f1\ua900-\ua909\ua926-\ua92d\ua947-\ua953\ua980-\ua983\ua9b3-\ua9c0\ua9d0-\ua9d9\ua9e5\ua9f0-\ua9f9\uaa29-\uaa36\uaa43\uaa4c\uaa4d\uaa50-\uaa59\uaa7b-\uaa7d\uaab0\uaab2-\uaab4\uaab7\uaab8\uaabe\uaabf\uaac1\uaaeb-\uaaef\uaaf5\uaaf6\uabe3-\uabea\uabec\uabed\uabf0-\uabf9\ufb1e\ufe00-\ufe0f\ufe20-\ufe2f\ufe33\ufe34\ufe4d-\ufe4f\uff10-\uff19\uff3f" + +const nonASCIIidentifierStart = new RegExp("[" + nonASCIIidentifierStartChars + "]") +const nonASCIIidentifier = new RegExp("[" + nonASCIIidentifierStartChars + nonASCIIidentifierChars + "]") + +nonASCIIidentifierStartChars = nonASCIIidentifierChars = null + +// These are a run-length and offset encoded representation of the +// >0xffff code points that are a valid part of identifiers. The +// offset starts at 0x10000, and each pair of numbers represents an +// offset to the next range, and then a size of the range. They were +// generated by bin/generate-identifier-regex.js + +// eslint-disable-next-line comma-spacing +const astralIdentifierStartCodes = [0,11,2,25,2,18,2,1,2,14,3,13,35,122,70,52,268,28,4,48,48,31,14,29,6,37,11,29,3,35,5,7,2,4,43,157,19,35,5,35,5,39,9,51,157,310,10,21,11,7,153,5,3,0,2,43,2,1,4,0,3,22,11,22,10,30,66,18,2,1,11,21,11,25,71,55,7,1,65,0,16,3,2,2,2,26,45,28,4,28,36,7,2,27,28,53,11,21,11,18,14,17,111,72,56,50,14,50,785,52,76,44,33,24,27,35,42,34,4,0,13,47,15,3,22,0,2,0,36,17,2,24,85,6,2,0,2,3,2,14,2,9,8,46,39,7,3,1,3,21,2,6,2,1,2,4,4,0,19,0,13,4,159,52,19,3,54,47,21,1,2,0,185,46,42,3,37,47,21,0,60,42,86,25,391,63,32,0,257,0,11,39,8,0,22,0,12,39,3,3,55,56,264,8,2,36,18,0,50,29,113,6,2,1,2,37,22,0,698,921,103,110,18,195,2749,1070,4050,582,8634,568,8,30,114,29,19,47,17,3,32,20,6,18,881,68,12,0,67,12,65,1,31,6124,20,754,9486,286,82,395,2309,106,6,12,4,8,8,9,5991,84,2,70,2,1,3,0,3,1,3,3,2,11,2,0,2,6,2,64,2,3,3,7,2,6,2,27,2,3,2,4,2,0,4,6,2,339,3,24,2,24,2,30,2,24,2,30,2,24,2,30,2,24,2,30,2,24,2,7,4149,196,60,67,1213,3,2,26,2,1,2,0,3,0,2,9,2,3,2,0,2,0,7,0,5,0,2,0,2,0,2,2,2,1,2,0,3,0,2,0,2,0,2,0,2,0,2,1,2,0,3,3,2,6,2,3,2,3,2,0,2,9,2,16,6,2,2,4,2,16,4421,42710,42,4148,12,221,3,5761,15,7472,3104,541] + +// eslint-disable-next-line comma-spacing +const astralIdentifierCodes = [509,0,227,0,150,4,294,9,1368,2,2,1,6,3,41,2,5,0,166,1,1306,2,54,14,32,9,16,3,46,10,54,9,7,2,37,13,2,9,52,0,13,2,49,13,10,2,4,9,83,11,7,0,161,11,6,9,7,3,57,0,2,6,3,1,3,2,10,0,11,1,3,6,4,4,193,17,10,9,87,19,13,9,214,6,3,8,28,1,83,16,16,9,82,12,9,9,84,14,5,9,423,9,280,9,41,6,2,3,9,0,10,10,47,15,406,7,2,7,17,9,57,21,2,13,123,5,4,0,2,1,2,6,2,0,9,9,19719,9,135,4,60,6,26,9,1016,45,17,3,19723,1,5319,4,4,5,9,7,3,6,31,3,149,2,1418,49,513,54,5,49,9,0,15,0,23,4,2,14,1361,6,2,16,3,6,2,1,2,4,2214,6,110,6,6,9,792487,239] + +// This has a complexity linear to the value of the code. The +// assumption is that looking up astral identifier characters is +// rare. +function isInAstralSet(code, set) { + let pos = 0x10000 + for (let i = 0; i < set.length; i += 2) { + pos += set[i] + if (pos > code) return false + pos += set[i + 1] + if (pos >= code) return true + } +} + +// Test whether a given character code starts an identifier. + +export function isIdentifierStart(code, astral) { + if (code < 65) return code === 36 + if (code < 91) return true + if (code < 97) return code === 95 + if (code < 123) return true + if (code <= 0xffff) return code >= 0xaa && nonASCIIidentifierStart.test(String.fromCharCode(code)) + if (astral === false) return false + return isInAstralSet(code, astralIdentifierStartCodes) +} + +// Test whether a given character is part of an identifier. + +export function isIdentifierChar(code, astral) { + if (code < 48) return code === 36 + if (code < 58) return true + if (code < 65) return false + if (code < 91) return true + if (code < 97) return code === 95 + if (code < 123) return true + if (code <= 0xffff) return code >= 0xaa && nonASCIIidentifier.test(String.fromCharCode(code)) + if (astral === false) return false + return isInAstralSet(code, astralIdentifierStartCodes) || isInAstralSet(code, astralIdentifierCodes) +} diff --git a/tools/tests/apps/modules/imports/links/acorn/src/index.js b/tools/tests/apps/modules/imports/links/acorn/src/index.js new file mode 100644 index 0000000000..aaf664da6b --- /dev/null +++ b/tools/tests/apps/modules/imports/links/acorn/src/index.js @@ -0,0 +1,78 @@ +// Acorn is a tiny, fast JavaScript parser written in JavaScript. +// +// Acorn was written by Marijn Haverbeke, Ingvar Stepanyan, and +// various contributors and released under an MIT license. +// +// Git repositories for Acorn are available at +// +// http://marijnhaverbeke.nl/git/acorn +// https://github.com/acornjs/acorn.git +// +// Please use the [github bug tracker][ghbt] to report issues. +// +// [ghbt]: https://github.com/acornjs/acorn/issues +// +// This file defines the main parser interface. The library also comes +// with a [error-tolerant parser][dammit] and an +// [abstract syntax tree walker][walk], defined in other files. +// +// [dammit]: acorn_loose.js +// [walk]: util/walk.js + +import {Parser} from "./state" +import "./parseutil" +import "./statement" +import "./lval" +import "./expression" +import "./location" +import "./scope" + +export {Parser, plugins} from "./state" +export {defaultOptions} from "./options" +export {Position, SourceLocation, getLineInfo} from "./locutil" +export {Node} from "./node" +export {TokenType, types as tokTypes, keywords as keywordTypes} from "./tokentype" +export {TokContext, types as tokContexts} from "./tokencontext" +export {isIdentifierChar, isIdentifierStart} from "./identifier" +export {Token} from "./tokenize" +export {isNewLine, lineBreak, lineBreakG, nonASCIIwhitespace} from "./whitespace" + +export const version = "5.5.3" + +// The main exported interface (under `self.acorn` when in the +// browser) is a `parse` function that takes a code string and +// returns an abstract syntax tree as specified by [Mozilla parser +// API][api]. +// +// [api]: https://developer.mozilla.org/en-US/docs/SpiderMonkey/Parser_API + +export function parse(input, options) { + return new Parser(options, input).parse() +} + +// This function tries to parse a single expression at a given +// offset in a string. Useful for parsing mixed-language formats +// that embed JavaScript expressions. + +export function parseExpressionAt(input, pos, options) { + let p = new Parser(options, input, pos) + p.nextToken() + return p.parseExpression() +} + +// Acorn is organized as a tokenizer and a recursive-descent parser. +// The `tokenizer` export provides an interface to the tokenizer. + +export function tokenizer(input, options) { + return new Parser(options, input) +} + +// This is a terrible kludge to support the existing, pre-ES6 +// interface where the loose parser module retroactively adds exports +// to this module. +export let parse_dammit, LooseParser, pluginsLoose // eslint-disable-line camelcase +export function addLooseExports(parse, Parser, plugins) { + parse_dammit = parse // eslint-disable-line camelcase + LooseParser = Parser + pluginsLoose = plugins +} diff --git a/tools/tests/apps/modules/imports/links/acorn/src/location.js b/tools/tests/apps/modules/imports/links/acorn/src/location.js new file mode 100644 index 0000000000..99e71234cc --- /dev/null +++ b/tools/tests/apps/modules/imports/links/acorn/src/location.js @@ -0,0 +1,26 @@ +import {Parser} from "./state" +import {Position, getLineInfo} from "./locutil" + +const pp = Parser.prototype + +// This function is used to raise exceptions on parse errors. It +// takes an offset integer (into the current `input`) to indicate +// the location of the error, attaches the position to the end +// of the error message, and then raises a `SyntaxError` with that +// message. + +pp.raise = function(pos, message) { + let loc = getLineInfo(this.input, pos) + message += " (" + loc.line + ":" + loc.column + ")" + let err = new SyntaxError(message) + err.pos = pos; err.loc = loc; err.raisedAt = this.pos + throw err +} + +pp.raiseRecoverable = pp.raise + +pp.curPosition = function() { + if (this.options.locations) { + return new Position(this.curLine, this.pos - this.lineStart) + } +} diff --git a/tools/tests/apps/modules/imports/links/acorn/src/locutil.js b/tools/tests/apps/modules/imports/links/acorn/src/locutil.js new file mode 100644 index 0000000000..5a9465e017 --- /dev/null +++ b/tools/tests/apps/modules/imports/links/acorn/src/locutil.js @@ -0,0 +1,42 @@ +import {lineBreakG} from "./whitespace" + +// These are used when `options.locations` is on, for the +// `startLoc` and `endLoc` properties. + +export class Position { + constructor(line, col) { + this.line = line + this.column = col + } + + offset(n) { + return new Position(this.line, this.column + n) + } +} + +export class SourceLocation { + constructor(p, start, end) { + this.start = start + this.end = end + if (p.sourceFile !== null) this.source = p.sourceFile + } +} + +// The `getLineInfo` function is mostly useful when the +// `locations` option is off (for performance reasons) and you +// want to find the line/column position for a given character +// offset. `input` should be the code string that the offset refers +// into. + +export function getLineInfo(input, offset) { + for (let line = 1, cur = 0;;) { + lineBreakG.lastIndex = cur + let match = lineBreakG.exec(input) + if (match && match.index < offset) { + ++line + cur = match.index + match[0].length + } else { + return new Position(line, offset - cur) + } + } +} diff --git a/tools/tests/apps/modules/imports/links/acorn/src/loose/expression.js b/tools/tests/apps/modules/imports/links/acorn/src/loose/expression.js new file mode 100644 index 0000000000..b6c5ddbcb2 --- /dev/null +++ b/tools/tests/apps/modules/imports/links/acorn/src/loose/expression.js @@ -0,0 +1,582 @@ +import {LooseParser} from "./state" +import {isDummy} from "./parseutil" +import {tokTypes as tt} from "../index" + +const lp = LooseParser.prototype + +lp.checkLVal = function(expr) { + if (!expr) return expr + switch (expr.type) { + case "Identifier": + case "MemberExpression": + return expr + + case "ParenthesizedExpression": + expr.expression = this.checkLVal(expr.expression) + return expr + + default: + return this.dummyIdent() + } +} + +lp.parseExpression = function(noIn) { + let start = this.storeCurrentPos() + let expr = this.parseMaybeAssign(noIn) + if (this.tok.type === tt.comma) { + let node = this.startNodeAt(start) + node.expressions = [expr] + while (this.eat(tt.comma)) node.expressions.push(this.parseMaybeAssign(noIn)) + return this.finishNode(node, "SequenceExpression") + } + return expr +} + +lp.parseParenExpression = function() { + this.pushCx() + this.expect(tt.parenL) + let val = this.parseExpression() + this.popCx() + this.expect(tt.parenR) + return val +} + +lp.parseMaybeAssign = function(noIn) { + if (this.toks.isContextual("yield")) { + let node = this.startNode() + this.next() + if (this.semicolon() || this.canInsertSemicolon() || (this.tok.type != tt.star && !this.tok.type.startsExpr)) { + node.delegate = false + node.argument = null + } else { + node.delegate = this.eat(tt.star) + node.argument = this.parseMaybeAssign() + } + return this.finishNode(node, "YieldExpression") + } + + let start = this.storeCurrentPos() + let left = this.parseMaybeConditional(noIn) + if (this.tok.type.isAssign) { + let node = this.startNodeAt(start) + node.operator = this.tok.value + node.left = this.tok.type === tt.eq ? this.toAssignable(left) : this.checkLVal(left) + this.next() + node.right = this.parseMaybeAssign(noIn) + return this.finishNode(node, "AssignmentExpression") + } + return left +} + +lp.parseMaybeConditional = function(noIn) { + let start = this.storeCurrentPos() + let expr = this.parseExprOps(noIn) + if (this.eat(tt.question)) { + let node = this.startNodeAt(start) + node.test = expr + node.consequent = this.parseMaybeAssign() + node.alternate = this.expect(tt.colon) ? this.parseMaybeAssign(noIn) : this.dummyIdent() + return this.finishNode(node, "ConditionalExpression") + } + return expr +} + +lp.parseExprOps = function(noIn) { + let start = this.storeCurrentPos() + let indent = this.curIndent, line = this.curLineStart + return this.parseExprOp(this.parseMaybeUnary(false), start, -1, noIn, indent, line) +} + +lp.parseExprOp = function(left, start, minPrec, noIn, indent, line) { + if (this.curLineStart != line && this.curIndent < indent && this.tokenStartsLine()) return left + let prec = this.tok.type.binop + if (prec != null && (!noIn || this.tok.type !== tt._in)) { + if (prec > minPrec) { + let node = this.startNodeAt(start) + node.left = left + node.operator = this.tok.value + this.next() + if (this.curLineStart != line && this.curIndent < indent && this.tokenStartsLine()) { + node.right = this.dummyIdent() + } else { + let rightStart = this.storeCurrentPos() + node.right = this.parseExprOp(this.parseMaybeUnary(false), rightStart, prec, noIn, indent, line) + } + this.finishNode(node, /&&|\|\|/.test(node.operator) ? "LogicalExpression" : "BinaryExpression") + return this.parseExprOp(node, start, minPrec, noIn, indent, line) + } + } + return left +} + +lp.parseMaybeUnary = function(sawUnary) { + let start = this.storeCurrentPos(), expr + if (this.options.ecmaVersion >= 8 && this.inAsync && this.toks.isContextual("await")) { + expr = this.parseAwait() + sawUnary = true + } else if (this.tok.type.prefix) { + let node = this.startNode(), update = this.tok.type === tt.incDec + if (!update) sawUnary = true + node.operator = this.tok.value + node.prefix = true + this.next() + node.argument = this.parseMaybeUnary(true) + if (update) node.argument = this.checkLVal(node.argument) + expr = this.finishNode(node, update ? "UpdateExpression" : "UnaryExpression") + } else if (this.tok.type === tt.ellipsis) { + let node = this.startNode() + this.next() + node.argument = this.parseMaybeUnary(sawUnary) + expr = this.finishNode(node, "SpreadElement") + } else { + expr = this.parseExprSubscripts() + while (this.tok.type.postfix && !this.canInsertSemicolon()) { + let node = this.startNodeAt(start) + node.operator = this.tok.value + node.prefix = false + node.argument = this.checkLVal(expr) + this.next() + expr = this.finishNode(node, "UpdateExpression") + } + } + + if (!sawUnary && this.eat(tt.starstar)) { + let node = this.startNodeAt(start) + node.operator = "**" + node.left = expr + node.right = this.parseMaybeUnary(false) + return this.finishNode(node, "BinaryExpression") + } + + return expr +} + +lp.parseExprSubscripts = function() { + let start = this.storeCurrentPos() + return this.parseSubscripts(this.parseExprAtom(), start, false, this.curIndent, this.curLineStart) +} + +lp.parseSubscripts = function(base, start, noCalls, startIndent, line) { + for (;;) { + if (this.curLineStart != line && this.curIndent <= startIndent && this.tokenStartsLine()) { + if (this.tok.type == tt.dot && this.curIndent == startIndent) + --startIndent + else + return base + } + + let maybeAsyncArrow = base.type === "Identifier" && base.name === "async" && !this.canInsertSemicolon() + + if (this.eat(tt.dot)) { + let node = this.startNodeAt(start) + node.object = base + if (this.curLineStart != line && this.curIndent <= startIndent && this.tokenStartsLine()) + node.property = this.dummyIdent() + else + node.property = this.parsePropertyAccessor() || this.dummyIdent() + node.computed = false + base = this.finishNode(node, "MemberExpression") + } else if (this.tok.type == tt.bracketL) { + this.pushCx() + this.next() + let node = this.startNodeAt(start) + node.object = base + node.property = this.parseExpression() + node.computed = true + this.popCx() + this.expect(tt.bracketR) + base = this.finishNode(node, "MemberExpression") + } else if (!noCalls && this.tok.type == tt.parenL) { + let exprList = this.parseExprList(tt.parenR) + if (maybeAsyncArrow && this.eat(tt.arrow)) + return this.parseArrowExpression(this.startNodeAt(start), exprList, true) + let node = this.startNodeAt(start) + node.callee = base + node.arguments = exprList + base = this.finishNode(node, "CallExpression") + } else if (this.tok.type == tt.backQuote) { + let node = this.startNodeAt(start) + node.tag = base + node.quasi = this.parseTemplate() + base = this.finishNode(node, "TaggedTemplateExpression") + } else { + return base + } + } +} + +lp.parseExprAtom = function() { + let node + switch (this.tok.type) { + case tt._this: + case tt._super: + let type = this.tok.type === tt._this ? "ThisExpression" : "Super" + node = this.startNode() + this.next() + return this.finishNode(node, type) + + case tt.name: + let start = this.storeCurrentPos() + let id = this.parseIdent() + let isAsync = false + if (id.name === "async" && !this.canInsertSemicolon()) { + if (this.eat(tt._function)) + return this.parseFunction(this.startNodeAt(start), false, true) + if (this.tok.type === tt.name) { + id = this.parseIdent() + isAsync = true + } + } + return this.eat(tt.arrow) ? this.parseArrowExpression(this.startNodeAt(start), [id], isAsync) : id + + case tt.regexp: + node = this.startNode() + let val = this.tok.value + node.regex = {pattern: val.pattern, flags: val.flags} + node.value = val.value + node.raw = this.input.slice(this.tok.start, this.tok.end) + this.next() + return this.finishNode(node, "Literal") + + case tt.num: case tt.string: + node = this.startNode() + node.value = this.tok.value + node.raw = this.input.slice(this.tok.start, this.tok.end) + this.next() + return this.finishNode(node, "Literal") + + case tt._null: case tt._true: case tt._false: + node = this.startNode() + node.value = this.tok.type === tt._null ? null : this.tok.type === tt._true + node.raw = this.tok.type.keyword + this.next() + return this.finishNode(node, "Literal") + + case tt.parenL: + let parenStart = this.storeCurrentPos() + this.next() + let inner = this.parseExpression() + this.expect(tt.parenR) + if (this.eat(tt.arrow)) { + // (a,)=>a // SequenceExpression makes dummy in the last hole. Drop the dummy. + let params = inner.expressions || [inner] + if (params.length && isDummy(params[params.length - 1])) + params.pop() + return this.parseArrowExpression(this.startNodeAt(parenStart), params) + } + if (this.options.preserveParens) { + let par = this.startNodeAt(parenStart) + par.expression = inner + inner = this.finishNode(par, "ParenthesizedExpression") + } + return inner + + case tt.bracketL: + node = this.startNode() + node.elements = this.parseExprList(tt.bracketR, true) + return this.finishNode(node, "ArrayExpression") + + case tt.braceL: + return this.parseObj() + + case tt._class: + return this.parseClass(false) + + case tt._function: + node = this.startNode() + this.next() + return this.parseFunction(node, false) + + case tt._new: + return this.parseNew() + + case tt.backQuote: + return this.parseTemplate() + + default: + return this.dummyIdent() + } +} + +lp.parseNew = function() { + let node = this.startNode(), startIndent = this.curIndent, line = this.curLineStart + let meta = this.parseIdent(true) + if (this.options.ecmaVersion >= 6 && this.eat(tt.dot)) { + node.meta = meta + node.property = this.parseIdent(true) + return this.finishNode(node, "MetaProperty") + } + let start = this.storeCurrentPos() + node.callee = this.parseSubscripts(this.parseExprAtom(), start, true, startIndent, line) + if (this.tok.type == tt.parenL) { + node.arguments = this.parseExprList(tt.parenR) + } else { + node.arguments = [] + } + return this.finishNode(node, "NewExpression") +} + +lp.parseTemplateElement = function() { + let elem = this.startNode() + + // The loose parser accepts invalid unicode escapes even in untagged templates. + if (this.tok.type === tt.invalidTemplate) { + elem.value = { + raw: this.tok.value, + cooked: null + } + } else { + elem.value = { + raw: this.input.slice(this.tok.start, this.tok.end).replace(/\r\n?/g, "\n"), + cooked: this.tok.value + } + } + this.next() + elem.tail = this.tok.type === tt.backQuote + return this.finishNode(elem, "TemplateElement") +} + +lp.parseTemplate = function() { + let node = this.startNode() + this.next() + node.expressions = [] + let curElt = this.parseTemplateElement() + node.quasis = [curElt] + while (!curElt.tail) { + this.next() + node.expressions.push(this.parseExpression()) + if (this.expect(tt.braceR)) { + curElt = this.parseTemplateElement() + } else { + curElt = this.startNode() + curElt.value = {cooked: "", raw: ""} + curElt.tail = true + this.finishNode(curElt, "TemplateElement") + } + node.quasis.push(curElt) + } + this.expect(tt.backQuote) + return this.finishNode(node, "TemplateLiteral") +} + +lp.parseObj = function() { + let node = this.startNode() + node.properties = [] + this.pushCx() + let indent = this.curIndent + 1, line = this.curLineStart + this.eat(tt.braceL) + if (this.curIndent + 1 < indent) { indent = this.curIndent; line = this.curLineStart } + while (!this.closes(tt.braceR, indent, line)) { + let prop = this.startNode(), isGenerator, isAsync, start + if (this.options.ecmaVersion >= 9 && this.eat(tt.ellipsis)) { + prop.argument = this.parseMaybeAssign() + node.properties.push(this.finishNode(prop, "SpreadElement")) + this.eat(tt.comma) + continue + } + if (this.options.ecmaVersion >= 6) { + start = this.storeCurrentPos() + prop.method = false + prop.shorthand = false + isGenerator = this.eat(tt.star) + } + this.parsePropertyName(prop) + if (this.toks.isAsyncProp(prop)) { + isAsync = true + isGenerator = this.options.ecmaVersion >= 9 && this.eat(tt.star) + this.parsePropertyName(prop) + } else { + isAsync = false + } + if (isDummy(prop.key)) { if (isDummy(this.parseMaybeAssign())) this.next(); this.eat(tt.comma); continue } + if (this.eat(tt.colon)) { + prop.kind = "init" + prop.value = this.parseMaybeAssign() + } else if (this.options.ecmaVersion >= 6 && (this.tok.type === tt.parenL || this.tok.type === tt.braceL)) { + prop.kind = "init" + prop.method = true + prop.value = this.parseMethod(isGenerator, isAsync) + } else if (this.options.ecmaVersion >= 5 && prop.key.type === "Identifier" && + !prop.computed && (prop.key.name === "get" || prop.key.name === "set") && + (this.tok.type != tt.comma && this.tok.type != tt.braceR && this.tok.type != tt.eq)) { + prop.kind = prop.key.name + this.parsePropertyName(prop) + prop.value = this.parseMethod(false) + } else { + prop.kind = "init" + if (this.options.ecmaVersion >= 6) { + if (this.eat(tt.eq)) { + let assign = this.startNodeAt(start) + assign.operator = "=" + assign.left = prop.key + assign.right = this.parseMaybeAssign() + prop.value = this.finishNode(assign, "AssignmentExpression") + } else { + prop.value = prop.key + } + } else { + prop.value = this.dummyIdent() + } + prop.shorthand = true + } + node.properties.push(this.finishNode(prop, "Property")) + this.eat(tt.comma) + } + this.popCx() + if (!this.eat(tt.braceR)) { + // If there is no closing brace, make the node span to the start + // of the next token (this is useful for Tern) + this.last.end = this.tok.start + if (this.options.locations) this.last.loc.end = this.tok.loc.start + } + return this.finishNode(node, "ObjectExpression") +} + +lp.parsePropertyName = function(prop) { + if (this.options.ecmaVersion >= 6) { + if (this.eat(tt.bracketL)) { + prop.computed = true + prop.key = this.parseExpression() + this.expect(tt.bracketR) + return + } else { + prop.computed = false + } + } + let key = (this.tok.type === tt.num || this.tok.type === tt.string) ? this.parseExprAtom() : this.parseIdent() + prop.key = key || this.dummyIdent() +} + +lp.parsePropertyAccessor = function() { + if (this.tok.type === tt.name || this.tok.type.keyword) return this.parseIdent() +} + +lp.parseIdent = function() { + let name = this.tok.type === tt.name ? this.tok.value : this.tok.type.keyword + if (!name) return this.dummyIdent() + let node = this.startNode() + this.next() + node.name = name + return this.finishNode(node, "Identifier") +} + +lp.initFunction = function(node) { + node.id = null + node.params = [] + if (this.options.ecmaVersion >= 6) { + node.generator = false + node.expression = false + } + if (this.options.ecmaVersion >= 8) + node.async = false +} + +// Convert existing expression atom to assignable pattern +// if possible. + +lp.toAssignable = function(node, binding) { + if (!node || node.type == "Identifier" || (node.type == "MemberExpression" && !binding)) { + // Okay + } else if (node.type == "ParenthesizedExpression") { + this.toAssignable(node.expression, binding) + } else if (this.options.ecmaVersion < 6) { + return this.dummyIdent() + } else if (node.type == "ObjectExpression") { + node.type = "ObjectPattern" + for (let prop of node.properties) + this.toAssignable(prop, binding) + } else if (node.type == "ArrayExpression") { + node.type = "ArrayPattern" + this.toAssignableList(node.elements, binding) + } else if (node.type == "Property") { + this.toAssignable(node.value, binding) + } else if (node.type == "SpreadElement") { + node.type = "RestElement" + this.toAssignable(node.argument, binding) + } else if (node.type == "AssignmentExpression") { + node.type = "AssignmentPattern" + delete node.operator + } else { + return this.dummyIdent() + } + return node +} + +lp.toAssignableList = function(exprList, binding) { + for (let expr of exprList) + this.toAssignable(expr, binding) + return exprList +} + +lp.parseFunctionParams = function(params) { + params = this.parseExprList(tt.parenR) + return this.toAssignableList(params, true) +} + +lp.parseMethod = function(isGenerator, isAsync) { + let node = this.startNode(), oldInAsync = this.inAsync + this.initFunction(node) + if (this.options.ecmaVersion >= 6) + node.generator = !!isGenerator + if (this.options.ecmaVersion >= 8) + node.async = !!isAsync + this.inAsync = node.async + node.params = this.parseFunctionParams() + node.body = this.parseBlock() + this.toks.adaptDirectivePrologue(node.body.body) + this.inAsync = oldInAsync + return this.finishNode(node, "FunctionExpression") +} + +lp.parseArrowExpression = function(node, params, isAsync) { + let oldInAsync = this.inAsync + this.initFunction(node) + if (this.options.ecmaVersion >= 8) + node.async = !!isAsync + this.inAsync = node.async + node.params = this.toAssignableList(params, true) + node.expression = this.tok.type !== tt.braceL + if (node.expression) { + node.body = this.parseMaybeAssign() + } else { + node.body = this.parseBlock() + this.toks.adaptDirectivePrologue(node.body.body) + } + this.inAsync = oldInAsync + return this.finishNode(node, "ArrowFunctionExpression") +} + +lp.parseExprList = function(close, allowEmpty) { + this.pushCx() + let indent = this.curIndent, line = this.curLineStart, elts = [] + this.next() // Opening bracket + while (!this.closes(close, indent + 1, line)) { + if (this.eat(tt.comma)) { + elts.push(allowEmpty ? null : this.dummyIdent()) + continue + } + let elt = this.parseMaybeAssign() + if (isDummy(elt)) { + if (this.closes(close, indent, line)) break + this.next() + } else { + elts.push(elt) + } + this.eat(tt.comma) + } + this.popCx() + if (!this.eat(close)) { + // If there is no closing brace, make the node span to the start + // of the next token (this is useful for Tern) + this.last.end = this.tok.start + if (this.options.locations) this.last.loc.end = this.tok.loc.start + } + return elts +} + +lp.parseAwait = function() { + let node = this.startNode() + this.next() + node.argument = this.parseMaybeUnary() + return this.finishNode(node, "AwaitExpression") +} diff --git a/tools/tests/apps/modules/imports/links/acorn/src/loose/index.js b/tools/tests/apps/modules/imports/links/acorn/src/loose/index.js new file mode 100644 index 0000000000..a698061a8b --- /dev/null +++ b/tools/tests/apps/modules/imports/links/acorn/src/loose/index.js @@ -0,0 +1,47 @@ +// Acorn: Loose parser +// +// This module provides an alternative parser (`parse_dammit`) that +// exposes that same interface as `parse`, but will try to parse +// anything as JavaScript, repairing syntax error the best it can. +// There are circumstances in which it will raise an error and give +// up, but they are very rare. The resulting AST will be a mostly +// valid JavaScript AST (as per the [Mozilla parser API][api], except +// that: +// +// - Return outside functions is allowed +// +// - Label consistency (no conflicts, break only to existing labels) +// is not enforced. +// +// - Bogus Identifier nodes with a name of `"✖"` are inserted whenever +// the parser got too confused to return anything meaningful. +// +// [api]: https://developer.mozilla.org/en-US/docs/SpiderMonkey/Parser_API +// +// The expected use for this is to *first* try `acorn.parse`, and only +// if that fails switch to `parse_dammit`. The loose parser might +// parse badly indented code incorrectly, so **don't** use it as +// your default parser. +// +// Quite a lot of acorn.js is duplicated here. The alternative was to +// add a *lot* of extra cruft to that file, making it less readable +// and slower. Copying and editing the code allowed me to make +// invasive changes and simplifications without creating a complicated +// tangle. + +import {addLooseExports, defaultOptions} from "../index" +import {LooseParser, pluginsLoose} from "./state" +import "./tokenize" +import "./statement" +import "./expression" + +export {LooseParser, pluginsLoose} from "./state" + +defaultOptions.tabSize = 4 + +// eslint-disable-next-line camelcase +export function parse_dammit(input, options) { + return new LooseParser(input, options).parse() +} + +addLooseExports(parse_dammit, LooseParser, pluginsLoose) diff --git a/tools/tests/apps/modules/imports/links/acorn/src/loose/parseutil.js b/tools/tests/apps/modules/imports/links/acorn/src/loose/parseutil.js new file mode 100644 index 0000000000..b620fdaf0a --- /dev/null +++ b/tools/tests/apps/modules/imports/links/acorn/src/loose/parseutil.js @@ -0,0 +1 @@ +export function isDummy(node) { return node.name == "✖" } diff --git a/tools/tests/apps/modules/imports/links/acorn/src/loose/state.js b/tools/tests/apps/modules/imports/links/acorn/src/loose/state.js new file mode 100644 index 0000000000..da068edb51 --- /dev/null +++ b/tools/tests/apps/modules/imports/links/acorn/src/loose/state.js @@ -0,0 +1,170 @@ +import {tokenizer, SourceLocation, tokTypes as tt, Node, lineBreak, isNewLine} from "../index" + +function noop() {} + +// Registered plugins +export const pluginsLoose = {} + +export class LooseParser { + constructor(input, options = {}) { + this.toks = tokenizer(input, options) + this.options = this.toks.options + this.input = this.toks.input + this.tok = this.last = {type: tt.eof, start: 0, end: 0} + this.tok.validateRegExpFlags = noop + this.tok.validateRegExpPattern = noop + if (this.options.locations) { + let here = this.toks.curPosition() + this.tok.loc = new SourceLocation(this.toks, here, here) + } + this.ahead = [] // Tokens ahead + this.context = [] // Indentation contexted + this.curIndent = 0 + this.curLineStart = 0 + this.nextLineStart = this.lineEnd(this.curLineStart) + 1 + this.inAsync = false + // Load plugins + this.options.pluginsLoose = options.pluginsLoose || {} + this.loadPlugins(this.options.pluginsLoose) + } + + startNode() { + return new Node(this.toks, this.tok.start, this.options.locations ? this.tok.loc.start : null) + } + + storeCurrentPos() { + return this.options.locations ? [this.tok.start, this.tok.loc.start] : this.tok.start + } + + startNodeAt(pos) { + if (this.options.locations) { + return new Node(this.toks, pos[0], pos[1]) + } else { + return new Node(this.toks, pos) + } + } + + finishNode(node, type) { + node.type = type + node.end = this.last.end + if (this.options.locations) + node.loc.end = this.last.loc.end + if (this.options.ranges) + node.range[1] = this.last.end + return node + } + + dummyNode(type) { + let dummy = this.startNode() + dummy.type = type + dummy.end = dummy.start + if (this.options.locations) + dummy.loc.end = dummy.loc.start + if (this.options.ranges) + dummy.range[1] = dummy.start + this.last = {type: tt.name, start: dummy.start, end: dummy.start, loc: dummy.loc} + return dummy + } + + dummyIdent() { + let dummy = this.dummyNode("Identifier") + dummy.name = "✖" + return dummy + } + + dummyString() { + let dummy = this.dummyNode("Literal") + dummy.value = dummy.raw = "✖" + return dummy + } + + eat(type) { + if (this.tok.type === type) { + this.next() + return true + } else { + return false + } + } + + isContextual(name) { + return this.tok.type === tt.name && this.tok.value === name + } + + eatContextual(name) { + return this.tok.value === name && this.eat(tt.name) + } + + canInsertSemicolon() { + return this.tok.type === tt.eof || this.tok.type === tt.braceR || + lineBreak.test(this.input.slice(this.last.end, this.tok.start)) + } + + semicolon() { + return this.eat(tt.semi) + } + + expect(type) { + if (this.eat(type)) return true + for (let i = 1; i <= 2; i++) { + if (this.lookAhead(i).type == type) { + for (let j = 0; j < i; j++) this.next() + return true + } + } + } + + pushCx() { + this.context.push(this.curIndent) + } + + popCx() { + this.curIndent = this.context.pop() + } + + lineEnd(pos) { + while (pos < this.input.length && !isNewLine(this.input.charCodeAt(pos))) ++pos + return pos + } + + indentationAfter(pos) { + for (let count = 0;; ++pos) { + let ch = this.input.charCodeAt(pos) + if (ch === 32) ++count + else if (ch === 9) count += this.options.tabSize + else return count + } + } + + closes(closeTok, indent, line, blockHeuristic) { + if (this.tok.type === closeTok || this.tok.type === tt.eof) return true + return line != this.curLineStart && this.curIndent < indent && this.tokenStartsLine() && + (!blockHeuristic || this.nextLineStart >= this.input.length || + this.indentationAfter(this.nextLineStart) < indent) + } + + tokenStartsLine() { + for (let p = this.tok.start - 1; p >= this.curLineStart; --p) { + let ch = this.input.charCodeAt(p) + if (ch !== 9 && ch !== 32) return false + } + return true + } + + extend(name, f) { + this[name] = f(this[name]) + } + + loadPlugins(pluginConfigs) { + for (let name in pluginConfigs) { + let plugin = pluginsLoose[name] + if (!plugin) throw new Error("Plugin '" + name + "' not found") + plugin(this, pluginConfigs[name]) + } + } + + parse() { + this.next() + return this.parseTopLevel() + } +} diff --git a/tools/tests/apps/modules/imports/links/acorn/src/loose/statement.js b/tools/tests/apps/modules/imports/links/acorn/src/loose/statement.js new file mode 100644 index 0000000000..aa30696c41 --- /dev/null +++ b/tools/tests/apps/modules/imports/links/acorn/src/loose/statement.js @@ -0,0 +1,459 @@ +import {LooseParser} from "./state" +import {isDummy} from "./parseutil" +import {getLineInfo, tokTypes as tt} from "../index" + +const lp = LooseParser.prototype + +lp.parseTopLevel = function() { + let node = this.startNodeAt(this.options.locations ? [0, getLineInfo(this.input, 0)] : 0) + node.body = [] + while (this.tok.type !== tt.eof) node.body.push(this.parseStatement()) + this.toks.adaptDirectivePrologue(node.body) + this.last = this.tok + if (this.options.ecmaVersion >= 6) { + node.sourceType = this.options.sourceType + } + return this.finishNode(node, "Program") +} + +lp.parseStatement = function() { + let starttype = this.tok.type, node = this.startNode(), kind + + if (this.toks.isLet()) { + starttype = tt._var + kind = "let" + } + + switch (starttype) { + case tt._break: case tt._continue: + this.next() + let isBreak = starttype === tt._break + if (this.semicolon() || this.canInsertSemicolon()) { + node.label = null + } else { + node.label = this.tok.type === tt.name ? this.parseIdent() : null + this.semicolon() + } + return this.finishNode(node, isBreak ? "BreakStatement" : "ContinueStatement") + + case tt._debugger: + this.next() + this.semicolon() + return this.finishNode(node, "DebuggerStatement") + + case tt._do: + this.next() + node.body = this.parseStatement() + node.test = this.eat(tt._while) ? this.parseParenExpression() : this.dummyIdent() + this.semicolon() + return this.finishNode(node, "DoWhileStatement") + + case tt._for: + this.next() // `for` keyword + let isAwait = this.options.ecmaVersion >= 9 && this.inAsync && this.eatContextual("await") + + this.pushCx() + this.expect(tt.parenL) + if (this.tok.type === tt.semi) return this.parseFor(node, null) + let isLet = this.toks.isLet() + if (isLet || this.tok.type === tt._var || this.tok.type === tt._const) { + let init = this.parseVar(true, isLet ? "let" : this.tok.value) + if (init.declarations.length === 1 && (this.tok.type === tt._in || this.isContextual("of"))) { + if (this.options.ecmaVersion >= 9 && this.tok.type !== tt._in) { + node.await = isAwait + } + return this.parseForIn(node, init) + } + return this.parseFor(node, init) + } + let init = this.parseExpression(true) + if (this.tok.type === tt._in || this.isContextual("of")) { + if (this.options.ecmaVersion >= 9 && this.tok.type !== tt._in) { + node.await = isAwait + } + return this.parseForIn(node, this.toAssignable(init)) + } + return this.parseFor(node, init) + + case tt._function: + this.next() + return this.parseFunction(node, true) + + case tt._if: + this.next() + node.test = this.parseParenExpression() + node.consequent = this.parseStatement() + node.alternate = this.eat(tt._else) ? this.parseStatement() : null + return this.finishNode(node, "IfStatement") + + case tt._return: + this.next() + if (this.eat(tt.semi) || this.canInsertSemicolon()) node.argument = null + else { node.argument = this.parseExpression(); this.semicolon() } + return this.finishNode(node, "ReturnStatement") + + case tt._switch: + let blockIndent = this.curIndent, line = this.curLineStart + this.next() + node.discriminant = this.parseParenExpression() + node.cases = [] + this.pushCx() + this.expect(tt.braceL) + + let cur + while (!this.closes(tt.braceR, blockIndent, line, true)) { + if (this.tok.type === tt._case || this.tok.type === tt._default) { + let isCase = this.tok.type === tt._case + if (cur) this.finishNode(cur, "SwitchCase") + node.cases.push(cur = this.startNode()) + cur.consequent = [] + this.next() + if (isCase) cur.test = this.parseExpression() + else cur.test = null + this.expect(tt.colon) + } else { + if (!cur) { + node.cases.push(cur = this.startNode()) + cur.consequent = [] + cur.test = null + } + cur.consequent.push(this.parseStatement()) + } + } + if (cur) this.finishNode(cur, "SwitchCase") + this.popCx() + this.eat(tt.braceR) + return this.finishNode(node, "SwitchStatement") + + case tt._throw: + this.next() + node.argument = this.parseExpression() + this.semicolon() + return this.finishNode(node, "ThrowStatement") + + case tt._try: + this.next() + node.block = this.parseBlock() + node.handler = null + if (this.tok.type === tt._catch) { + let clause = this.startNode() + this.next() + this.expect(tt.parenL) + clause.param = this.toAssignable(this.parseExprAtom(), true) + this.expect(tt.parenR) + clause.body = this.parseBlock() + node.handler = this.finishNode(clause, "CatchClause") + } + node.finalizer = this.eat(tt._finally) ? this.parseBlock() : null + if (!node.handler && !node.finalizer) return node.block + return this.finishNode(node, "TryStatement") + + case tt._var: + case tt._const: + return this.parseVar(false, kind || this.tok.value) + + case tt._while: + this.next() + node.test = this.parseParenExpression() + node.body = this.parseStatement() + return this.finishNode(node, "WhileStatement") + + case tt._with: + this.next() + node.object = this.parseParenExpression() + node.body = this.parseStatement() + return this.finishNode(node, "WithStatement") + + case tt.braceL: + return this.parseBlock() + + case tt.semi: + this.next() + return this.finishNode(node, "EmptyStatement") + + case tt._class: + return this.parseClass(true) + + case tt._import: + return this.parseImport() + + case tt._export: + return this.parseExport() + + default: + if (this.toks.isAsyncFunction()) { + this.next() + this.next() + return this.parseFunction(node, true, true) + } + let expr = this.parseExpression() + if (isDummy(expr)) { + this.next() + if (this.tok.type === tt.eof) return this.finishNode(node, "EmptyStatement") + return this.parseStatement() + } else if (starttype === tt.name && expr.type === "Identifier" && this.eat(tt.colon)) { + node.body = this.parseStatement() + node.label = expr + return this.finishNode(node, "LabeledStatement") + } else { + node.expression = expr + this.semicolon() + return this.finishNode(node, "ExpressionStatement") + } + } +} + +lp.parseBlock = function() { + let node = this.startNode() + this.pushCx() + this.expect(tt.braceL) + let blockIndent = this.curIndent, line = this.curLineStart + node.body = [] + while (!this.closes(tt.braceR, blockIndent, line, true)) + node.body.push(this.parseStatement()) + this.popCx() + this.eat(tt.braceR) + return this.finishNode(node, "BlockStatement") +} + +lp.parseFor = function(node, init) { + node.init = init + node.test = node.update = null + if (this.eat(tt.semi) && this.tok.type !== tt.semi) node.test = this.parseExpression() + if (this.eat(tt.semi) && this.tok.type !== tt.parenR) node.update = this.parseExpression() + this.popCx() + this.expect(tt.parenR) + node.body = this.parseStatement() + return this.finishNode(node, "ForStatement") +} + +lp.parseForIn = function(node, init) { + let type = this.tok.type === tt._in ? "ForInStatement" : "ForOfStatement" + this.next() + node.left = init + node.right = this.parseExpression() + this.popCx() + this.expect(tt.parenR) + node.body = this.parseStatement() + return this.finishNode(node, type) +} + +lp.parseVar = function(noIn, kind) { + let node = this.startNode() + node.kind = kind + this.next() + node.declarations = [] + do { + let decl = this.startNode() + decl.id = this.options.ecmaVersion >= 6 ? this.toAssignable(this.parseExprAtom(), true) : this.parseIdent() + decl.init = this.eat(tt.eq) ? this.parseMaybeAssign(noIn) : null + node.declarations.push(this.finishNode(decl, "VariableDeclarator")) + } while (this.eat(tt.comma)) + if (!node.declarations.length) { + let decl = this.startNode() + decl.id = this.dummyIdent() + node.declarations.push(this.finishNode(decl, "VariableDeclarator")) + } + if (!noIn) this.semicolon() + return this.finishNode(node, "VariableDeclaration") +} + +lp.parseClass = function(isStatement) { + let node = this.startNode() + this.next() + if (this.tok.type === tt.name) node.id = this.parseIdent() + else if (isStatement === true) node.id = this.dummyIdent() + else node.id = null + node.superClass = this.eat(tt._extends) ? this.parseExpression() : null + node.body = this.startNode() + node.body.body = [] + this.pushCx() + let indent = this.curIndent + 1, line = this.curLineStart + this.eat(tt.braceL) + if (this.curIndent + 1 < indent) { indent = this.curIndent; line = this.curLineStart } + while (!this.closes(tt.braceR, indent, line)) { + if (this.semicolon()) continue + let method = this.startNode(), isGenerator, isAsync + if (this.options.ecmaVersion >= 6) { + method.static = false + isGenerator = this.eat(tt.star) + } + this.parsePropertyName(method) + if (isDummy(method.key)) { if (isDummy(this.parseMaybeAssign())) this.next(); this.eat(tt.comma); continue } + if (method.key.type === "Identifier" && !method.computed && method.key.name === "static" && + (this.tok.type != tt.parenL && this.tok.type != tt.braceL)) { + method.static = true + isGenerator = this.eat(tt.star) + this.parsePropertyName(method) + } else { + method.static = false + } + if (!method.computed && + method.key.type === "Identifier" && method.key.name === "async" && this.tok.type !== tt.parenL && + !this.canInsertSemicolon()) { + isAsync = true + isGenerator = this.options.ecmaVersion >= 9 && this.eat(tt.star) + this.parsePropertyName(method) + } else { + isAsync = false + } + if (this.options.ecmaVersion >= 5 && method.key.type === "Identifier" && + !method.computed && (method.key.name === "get" || method.key.name === "set") && + this.tok.type !== tt.parenL && this.tok.type !== tt.braceL) { + method.kind = method.key.name + this.parsePropertyName(method) + method.value = this.parseMethod(false) + } else { + if (!method.computed && !method.static && !isGenerator && !isAsync && ( + method.key.type === "Identifier" && method.key.name === "constructor" || + method.key.type === "Literal" && method.key.value === "constructor")) { + method.kind = "constructor" + } else { + method.kind = "method" + } + method.value = this.parseMethod(isGenerator, isAsync) + } + node.body.body.push(this.finishNode(method, "MethodDefinition")) + } + this.popCx() + if (!this.eat(tt.braceR)) { + // If there is no closing brace, make the node span to the start + // of the next token (this is useful for Tern) + this.last.end = this.tok.start + if (this.options.locations) this.last.loc.end = this.tok.loc.start + } + this.semicolon() + this.finishNode(node.body, "ClassBody") + return this.finishNode(node, isStatement ? "ClassDeclaration" : "ClassExpression") +} + +lp.parseFunction = function(node, isStatement, isAsync) { + let oldInAsync = this.inAsync + this.initFunction(node) + if (this.options.ecmaVersion >= 6) { + node.generator = this.eat(tt.star) + } + if (this.options.ecmaVersion >= 8) { + node.async = !!isAsync + } + if (this.tok.type === tt.name) node.id = this.parseIdent() + else if (isStatement === true) node.id = this.dummyIdent() + this.inAsync = node.async + node.params = this.parseFunctionParams() + node.body = this.parseBlock() + this.toks.adaptDirectivePrologue(node.body.body) + this.inAsync = oldInAsync + return this.finishNode(node, isStatement ? "FunctionDeclaration" : "FunctionExpression") +} + +lp.parseExport = function() { + let node = this.startNode() + this.next() + if (this.eat(tt.star)) { + node.source = this.eatContextual("from") ? this.parseExprAtom() : this.dummyString() + return this.finishNode(node, "ExportAllDeclaration") + } + if (this.eat(tt._default)) { + // export default (function foo() {}) // This is FunctionExpression. + let isAsync + if (this.tok.type === tt._function || (isAsync = this.toks.isAsyncFunction())) { + let fNode = this.startNode() + this.next() + if (isAsync) this.next() + node.declaration = this.parseFunction(fNode, "nullableID", isAsync) + } else if (this.tok.type === tt._class) { + node.declaration = this.parseClass("nullableID") + } else { + node.declaration = this.parseMaybeAssign() + this.semicolon() + } + return this.finishNode(node, "ExportDefaultDeclaration") + } + if (this.tok.type.keyword || this.toks.isLet() || this.toks.isAsyncFunction()) { + node.declaration = this.parseStatement() + node.specifiers = [] + node.source = null + } else { + node.declaration = null + node.specifiers = this.parseExportSpecifierList() + node.source = this.eatContextual("from") ? this.parseExprAtom() : null + this.semicolon() + } + return this.finishNode(node, "ExportNamedDeclaration") +} + +lp.parseImport = function() { + let node = this.startNode() + this.next() + if (this.tok.type === tt.string) { + node.specifiers = [] + node.source = this.parseExprAtom() + } else { + let elt + if (this.tok.type === tt.name && this.tok.value !== "from") { + elt = this.startNode() + elt.local = this.parseIdent() + this.finishNode(elt, "ImportDefaultSpecifier") + this.eat(tt.comma) + } + node.specifiers = this.parseImportSpecifierList() + node.source = this.eatContextual("from") && this.tok.type == tt.string ? this.parseExprAtom() : this.dummyString() + if (elt) node.specifiers.unshift(elt) + } + this.semicolon() + return this.finishNode(node, "ImportDeclaration") +} + +lp.parseImportSpecifierList = function() { + let elts = [] + if (this.tok.type === tt.star) { + let elt = this.startNode() + this.next() + elt.local = this.eatContextual("as") ? this.parseIdent() : this.dummyIdent() + elts.push(this.finishNode(elt, "ImportNamespaceSpecifier")) + } else { + let indent = this.curIndent, line = this.curLineStart, continuedLine = this.nextLineStart + this.pushCx() + this.eat(tt.braceL) + if (this.curLineStart > continuedLine) continuedLine = this.curLineStart + while (!this.closes(tt.braceR, indent + (this.curLineStart <= continuedLine ? 1 : 0), line)) { + let elt = this.startNode() + if (this.eat(tt.star)) { + elt.local = this.eatContextual("as") ? this.parseIdent() : this.dummyIdent() + this.finishNode(elt, "ImportNamespaceSpecifier") + } else { + if (this.isContextual("from")) break + elt.imported = this.parseIdent() + if (isDummy(elt.imported)) break + elt.local = this.eatContextual("as") ? this.parseIdent() : elt.imported + this.finishNode(elt, "ImportSpecifier") + } + elts.push(elt) + this.eat(tt.comma) + } + this.eat(tt.braceR) + this.popCx() + } + return elts +} + +lp.parseExportSpecifierList = function() { + let elts = [] + let indent = this.curIndent, line = this.curLineStart, continuedLine = this.nextLineStart + this.pushCx() + this.eat(tt.braceL) + if (this.curLineStart > continuedLine) continuedLine = this.curLineStart + while (!this.closes(tt.braceR, indent + (this.curLineStart <= continuedLine ? 1 : 0), line)) { + if (this.isContextual("from")) break + let elt = this.startNode() + elt.local = this.parseIdent() + if (isDummy(elt.local)) break + elt.exported = this.eatContextual("as") ? this.parseIdent() : elt.local + this.finishNode(elt, "ExportSpecifier") + elts.push(elt) + this.eat(tt.comma) + } + this.eat(tt.braceR) + this.popCx() + return elts +} diff --git a/tools/tests/apps/modules/imports/links/acorn/src/loose/tokenize.js b/tools/tests/apps/modules/imports/links/acorn/src/loose/tokenize.js new file mode 100644 index 0000000000..619b6ee9e4 --- /dev/null +++ b/tools/tests/apps/modules/imports/links/acorn/src/loose/tokenize.js @@ -0,0 +1,111 @@ +import {tokTypes as tt, Token, isNewLine, SourceLocation, getLineInfo, lineBreakG} from "../index" +import {LooseParser} from "./state" + +const lp = LooseParser.prototype + +function isSpace(ch) { + return (ch < 14 && ch > 8) || ch === 32 || ch === 160 || isNewLine(ch) +} + +lp.next = function() { + this.last = this.tok + if (this.ahead.length) + this.tok = this.ahead.shift() + else + this.tok = this.readToken() + + if (this.tok.start >= this.nextLineStart) { + while (this.tok.start >= this.nextLineStart) { + this.curLineStart = this.nextLineStart + this.nextLineStart = this.lineEnd(this.curLineStart) + 1 + } + this.curIndent = this.indentationAfter(this.curLineStart) + } +} + +lp.readToken = function() { + for (;;) { + try { + this.toks.next() + if (this.toks.type === tt.dot && + this.input.substr(this.toks.end, 1) === "." && + this.options.ecmaVersion >= 6) { + this.toks.end++ + this.toks.type = tt.ellipsis + } + return new Token(this.toks) + } catch (e) { + if (!(e instanceof SyntaxError)) throw e + + // Try to skip some text, based on the error message, and then continue + let msg = e.message, pos = e.raisedAt, replace = true + if (/unterminated/i.test(msg)) { + pos = this.lineEnd(e.pos + 1) + if (/string/.test(msg)) { + replace = {start: e.pos, end: pos, type: tt.string, value: this.input.slice(e.pos + 1, pos)} + } else if (/regular expr/i.test(msg)) { + let re = this.input.slice(e.pos, pos) + try { re = new RegExp(re) } catch (e) { /* ignore compilation error due to new syntax */ } + replace = {start: e.pos, end: pos, type: tt.regexp, value: re} + } else if (/template/.test(msg)) { + replace = { + start: e.pos, + end: pos, + type: tt.template, + value: this.input.slice(e.pos, pos) + } + } else { + replace = false + } + } else if (/invalid (unicode|regexp|number)|expecting unicode|octal literal|is reserved|directly after number|expected number in radix/i.test(msg)) { + while (pos < this.input.length && !isSpace(this.input.charCodeAt(pos))) ++pos + } else if (/character escape|expected hexadecimal/i.test(msg)) { + while (pos < this.input.length) { + let ch = this.input.charCodeAt(pos++) + if (ch === 34 || ch === 39 || isNewLine(ch)) break + } + } else if (/unexpected character/i.test(msg)) { + pos++ + replace = false + } else if (/regular expression/i.test(msg)) { + replace = true + } else { + throw e + } + this.resetTo(pos) + if (replace === true) replace = {start: pos, end: pos, type: tt.name, value: "✖"} + if (replace) { + if (this.options.locations) + replace.loc = new SourceLocation( + this.toks, + getLineInfo(this.input, replace.start), + getLineInfo(this.input, replace.end)) + return replace + } + } + } +} + +lp.resetTo = function(pos) { + this.toks.pos = pos + let ch = this.input.charAt(pos - 1) + this.toks.exprAllowed = !ch || /[[{(,;:?/*=+\-~!|&%^<>]/.test(ch) || + /[enwfd]/.test(ch) && + /\b(case|else|return|throw|new|in|(instance|type)?of|delete|void)$/.test(this.input.slice(pos - 10, pos)) + + if (this.options.locations) { + this.toks.curLine = 1 + this.toks.lineStart = lineBreakG.lastIndex = 0 + let match + while ((match = lineBreakG.exec(this.input)) && match.index < pos) { + ++this.toks.curLine + this.toks.lineStart = match.index + match[0].length + } + } +} + +lp.lookAhead = function(n) { + while (n > this.ahead.length) + this.ahead.push(this.readToken()) + return this.ahead[n - 1] +} diff --git a/tools/tests/apps/modules/imports/links/acorn/src/lval.js b/tools/tests/apps/modules/imports/links/acorn/src/lval.js new file mode 100644 index 0000000000..0fc1bc5284 --- /dev/null +++ b/tools/tests/apps/modules/imports/links/acorn/src/lval.js @@ -0,0 +1,248 @@ +import {types as tt} from "./tokentype" +import {Parser} from "./state" +import {has} from "./util" + +const pp = Parser.prototype + +// Convert existing expression atom to assignable pattern +// if possible. + +pp.toAssignable = function(node, isBinding, refDestructuringErrors) { + if (this.options.ecmaVersion >= 6 && node) { + switch (node.type) { + case "Identifier": + if (this.inAsync && node.name === "await") + this.raise(node.start, "Can not use 'await' as identifier inside an async function") + break + + case "ObjectPattern": + case "ArrayPattern": + case "RestElement": + break + + case "ObjectExpression": + node.type = "ObjectPattern" + if (refDestructuringErrors) this.checkPatternErrors(refDestructuringErrors, true) + for (let prop of node.properties) { + this.toAssignable(prop, isBinding) + // Early error: + // AssignmentRestProperty[Yield, Await] : + // `...` DestructuringAssignmentTarget[Yield, Await] + // + // It is a Syntax Error if |DestructuringAssignmentTarget| is an |ArrayLiteral| or an |ObjectLiteral|. + if ( + prop.type === "RestElement" && + (prop.argument.type === "ArrayPattern" || prop.argument.type === "ObjectPattern") + ) { + this.raise(prop.argument.start, "Unexpected token") + } + } + break + + case "Property": + // AssignmentProperty has type == "Property" + if (node.kind !== "init") this.raise(node.key.start, "Object pattern can't contain getter or setter") + this.toAssignable(node.value, isBinding) + break + + case "ArrayExpression": + node.type = "ArrayPattern" + if (refDestructuringErrors) this.checkPatternErrors(refDestructuringErrors, true) + this.toAssignableList(node.elements, isBinding) + break + + case "SpreadElement": + node.type = "RestElement" + this.toAssignable(node.argument, isBinding) + if (node.argument.type === "AssignmentPattern") + this.raise(node.argument.start, "Rest elements cannot have a default value") + break + + case "AssignmentExpression": + if (node.operator !== "=") this.raise(node.left.end, "Only '=' operator can be used for specifying default value.") + node.type = "AssignmentPattern" + delete node.operator + this.toAssignable(node.left, isBinding) + // falls through to AssignmentPattern + + case "AssignmentPattern": + break + + case "ParenthesizedExpression": + this.toAssignable(node.expression, isBinding) + break + + case "MemberExpression": + if (!isBinding) break + + default: + this.raise(node.start, "Assigning to rvalue") + } + } else if (refDestructuringErrors) this.checkPatternErrors(refDestructuringErrors, true) + return node +} + +// Convert list of expression atoms to binding list. + +pp.toAssignableList = function(exprList, isBinding) { + let end = exprList.length + for (let i = 0; i < end; i++) { + let elt = exprList[i] + if (elt) this.toAssignable(elt, isBinding) + } + if (end) { + let last = exprList[end - 1] + if (this.options.ecmaVersion === 6 && isBinding && last && last.type === "RestElement" && last.argument.type !== "Identifier") + this.unexpected(last.argument.start) + } + return exprList +} + +// Parses spread element. + +pp.parseSpread = function(refDestructuringErrors) { + let node = this.startNode() + this.next() + node.argument = this.parseMaybeAssign(false, refDestructuringErrors) + return this.finishNode(node, "SpreadElement") +} + +pp.parseRestBinding = function() { + let node = this.startNode() + this.next() + + // RestElement inside of a function parameter must be an identifier + if (this.options.ecmaVersion === 6 && this.type !== tt.name) + this.unexpected() + + node.argument = this.parseBindingAtom() + + return this.finishNode(node, "RestElement") +} + +// Parses lvalue (assignable) atom. + +pp.parseBindingAtom = function() { + if (this.options.ecmaVersion >= 6) { + switch (this.type) { + case tt.bracketL: + let node = this.startNode() + this.next() + node.elements = this.parseBindingList(tt.bracketR, true, true) + return this.finishNode(node, "ArrayPattern") + + case tt.braceL: + return this.parseObj(true) + } + } + return this.parseIdent() +} + +pp.parseBindingList = function(close, allowEmpty, allowTrailingComma) { + let elts = [], first = true + while (!this.eat(close)) { + if (first) first = false + else this.expect(tt.comma) + if (allowEmpty && this.type === tt.comma) { + elts.push(null) + } else if (allowTrailingComma && this.afterTrailingComma(close)) { + break + } else if (this.type === tt.ellipsis) { + let rest = this.parseRestBinding() + this.parseBindingListItem(rest) + elts.push(rest) + if (this.type === tt.comma) this.raise(this.start, "Comma is not permitted after the rest element") + this.expect(close) + break + } else { + let elem = this.parseMaybeDefault(this.start, this.startLoc) + this.parseBindingListItem(elem) + elts.push(elem) + } + } + return elts +} + +pp.parseBindingListItem = function(param) { + return param +} + +// Parses assignment pattern around given atom if possible. + +pp.parseMaybeDefault = function(startPos, startLoc, left) { + left = left || this.parseBindingAtom() + if (this.options.ecmaVersion < 6 || !this.eat(tt.eq)) return left + let node = this.startNodeAt(startPos, startLoc) + node.left = left + node.right = this.parseMaybeAssign() + return this.finishNode(node, "AssignmentPattern") +} + +// Verify that a node is an lval — something that can be assigned +// to. +// bindingType can be either: +// 'var' indicating that the lval creates a 'var' binding +// 'let' indicating that the lval creates a lexical ('let' or 'const') binding +// 'none' indicating that the binding should be checked for illegal identifiers, but not for duplicate references + +pp.checkLVal = function(expr, bindingType, checkClashes) { + switch (expr.type) { + case "Identifier": + if (this.strict && this.reservedWordsStrictBind.test(expr.name)) + this.raiseRecoverable(expr.start, (bindingType ? "Binding " : "Assigning to ") + expr.name + " in strict mode") + if (checkClashes) { + if (has(checkClashes, expr.name)) + this.raiseRecoverable(expr.start, "Argument name clash") + checkClashes[expr.name] = true + } + if (bindingType && bindingType !== "none") { + if ( + bindingType === "var" && !this.canDeclareVarName(expr.name) || + bindingType !== "var" && !this.canDeclareLexicalName(expr.name) + ) { + this.raiseRecoverable(expr.start, `Identifier '${expr.name}' has already been declared`) + } + if (bindingType === "var") { + this.declareVarName(expr.name) + } else { + this.declareLexicalName(expr.name) + } + } + break + + case "MemberExpression": + if (bindingType) this.raiseRecoverable(expr.start, "Binding member expression") + break + + case "ObjectPattern": + for (let prop of expr.properties) + this.checkLVal(prop, bindingType, checkClashes) + break + + case "Property": + // AssignmentProperty has type == "Property" + this.checkLVal(expr.value, bindingType, checkClashes) + break + + case "ArrayPattern": + for (let elem of expr.elements) { + if (elem) this.checkLVal(elem, bindingType, checkClashes) + } + break + + case "AssignmentPattern": + this.checkLVal(expr.left, bindingType, checkClashes) + break + + case "RestElement": + this.checkLVal(expr.argument, bindingType, checkClashes) + break + + case "ParenthesizedExpression": + this.checkLVal(expr.expression, bindingType, checkClashes) + break + + default: + this.raise(expr.start, (bindingType ? "Binding" : "Assigning to") + " rvalue") + } +} diff --git a/tools/tests/apps/modules/imports/links/acorn/src/node.js b/tools/tests/apps/modules/imports/links/acorn/src/node.js new file mode 100644 index 0000000000..76b5b09825 --- /dev/null +++ b/tools/tests/apps/modules/imports/links/acorn/src/node.js @@ -0,0 +1,50 @@ +import {Parser} from "./state" +import {SourceLocation} from "./locutil" + +export class Node { + constructor(parser, pos, loc) { + this.type = "" + this.start = pos + this.end = 0 + if (parser.options.locations) + this.loc = new SourceLocation(parser, loc) + if (parser.options.directSourceFile) + this.sourceFile = parser.options.directSourceFile + if (parser.options.ranges) + this.range = [pos, 0] + } +} + +// Start an AST node, attaching a start offset. + +const pp = Parser.prototype + +pp.startNode = function() { + return new Node(this, this.start, this.startLoc) +} + +pp.startNodeAt = function(pos, loc) { + return new Node(this, pos, loc) +} + +// Finish an AST node, adding `type` and `end` properties. + +function finishNodeAt(node, type, pos, loc) { + node.type = type + node.end = pos + if (this.options.locations) + node.loc.end = loc + if (this.options.ranges) + node.range[1] = pos + return node +} + +pp.finishNode = function(node, type) { + return finishNodeAt.call(this, node, type, this.lastTokEnd, this.lastTokEndLoc) +} + +// Finish node at given position + +pp.finishNodeAt = function(node, type, pos, loc) { + return finishNodeAt.call(this, node, type, pos, loc) +} diff --git a/tools/tests/apps/modules/imports/links/acorn/src/options.js b/tools/tests/apps/modules/imports/links/acorn/src/options.js new file mode 100644 index 0000000000..9dda44ae88 --- /dev/null +++ b/tools/tests/apps/modules/imports/links/acorn/src/options.js @@ -0,0 +1,127 @@ +import {has, isArray} from "./util" +import {SourceLocation} from "./locutil" + +// A second optional argument can be given to further configure +// the parser process. These options are recognized: + +export const defaultOptions = { + // `ecmaVersion` indicates the ECMAScript version to parse. Must + // be either 3, 5, 6 (2015), 7 (2016), or 8 (2017). This influences support + // for strict mode, the set of reserved words, and support for + // new syntax features. The default is 7. + ecmaVersion: 7, + // `sourceType` indicates the mode the code should be parsed in. + // Can be either `"script"` or `"module"`. This influences global + // strict mode and parsing of `import` and `export` declarations. + sourceType: "script", + // `onInsertedSemicolon` can be a callback that will be called + // when a semicolon is automatically inserted. It will be passed + // th position of the comma as an offset, and if `locations` is + // enabled, it is given the location as a `{line, column}` object + // as second argument. + onInsertedSemicolon: null, + // `onTrailingComma` is similar to `onInsertedSemicolon`, but for + // trailing commas. + onTrailingComma: null, + // By default, reserved words are only enforced if ecmaVersion >= 5. + // Set `allowReserved` to a boolean value to explicitly turn this on + // an off. When this option has the value "never", reserved words + // and keywords can also not be used as property names. + allowReserved: null, + // When enabled, a return at the top level is not considered an + // error. + allowReturnOutsideFunction: false, + // When enabled, import/export statements are not constrained to + // appearing at the top of the program. + allowImportExportEverywhere: false, + // When enabled, hashbang directive in the beginning of file + // is allowed and treated as a line comment. + allowHashBang: false, + // When `locations` is on, `loc` properties holding objects with + // `start` and `end` properties in `{line, column}` form (with + // line being 1-based and column 0-based) will be attached to the + // nodes. + locations: false, + // A function can be passed as `onToken` option, which will + // cause Acorn to call that function with object in the same + // format as tokens returned from `tokenizer().getToken()`. Note + // that you are not allowed to call the parser from the + // callback—that will corrupt its internal state. + onToken: null, + // A function can be passed as `onComment` option, which will + // cause Acorn to call that function with `(block, text, start, + // end)` parameters whenever a comment is skipped. `block` is a + // boolean indicating whether this is a block (`/* */`) comment, + // `text` is the content of the comment, and `start` and `end` are + // character offsets that denote the start and end of the comment. + // When the `locations` option is on, two more parameters are + // passed, the full `{line, column}` locations of the start and + // end of the comments. Note that you are not allowed to call the + // parser from the callback—that will corrupt its internal state. + onComment: null, + // Nodes have their start and end characters offsets recorded in + // `start` and `end` properties (directly on the node, rather than + // the `loc` object, which holds line/column data. To also add a + // [semi-standardized][range] `range` property holding a `[start, + // end]` array with the same numbers, set the `ranges` option to + // `true`. + // + // [range]: https://bugzilla.mozilla.org/show_bug.cgi?id=745678 + ranges: false, + // It is possible to parse multiple files into a single AST by + // passing the tree produced by parsing the first file as + // `program` option in subsequent parses. This will add the + // toplevel forms of the parsed file to the `Program` (top) node + // of an existing parse tree. + program: null, + // When `locations` is on, you can pass this to record the source + // file in every node's `loc` object. + sourceFile: null, + // This value, if given, is stored in every node, whether + // `locations` is on or off. + directSourceFile: null, + // When enabled, parenthesized expressions are represented by + // (non-standard) ParenthesizedExpression nodes + preserveParens: false, + plugins: {} +} + +// Interpret and default an options object + +export function getOptions(opts) { + let options = {} + + for (let opt in defaultOptions) + options[opt] = opts && has(opts, opt) ? opts[opt] : defaultOptions[opt] + + if (options.ecmaVersion >= 2015) + options.ecmaVersion -= 2009 + + if (options.allowReserved == null) + options.allowReserved = options.ecmaVersion < 5 + + if (isArray(options.onToken)) { + let tokens = options.onToken + options.onToken = (token) => tokens.push(token) + } + if (isArray(options.onComment)) + options.onComment = pushComment(options, options.onComment) + + return options +} + +function pushComment(options, array) { + return function(block, text, start, end, startLoc, endLoc) { + let comment = { + type: block ? "Block" : "Line", + value: text, + start: start, + end: end + } + if (options.locations) + comment.loc = new SourceLocation(this, startLoc, endLoc) + if (options.ranges) + comment.range = [start, end] + array.push(comment) + } +} diff --git a/tools/tests/apps/modules/imports/links/acorn/src/parseutil.js b/tools/tests/apps/modules/imports/links/acorn/src/parseutil.js new file mode 100644 index 0000000000..e1736372e5 --- /dev/null +++ b/tools/tests/apps/modules/imports/links/acorn/src/parseutil.js @@ -0,0 +1,137 @@ +import {types as tt} from "./tokentype" +import {Parser} from "./state" +import {lineBreak, skipWhiteSpace} from "./whitespace" + +const pp = Parser.prototype + +// ## Parser utilities + +const literal = /^(?:'((?:\\.|[^'])*?)'|"((?:\\.|[^"])*?)"|;)/ +pp.strictDirective = function(start) { + for (;;) { + skipWhiteSpace.lastIndex = start + start += skipWhiteSpace.exec(this.input)[0].length + let match = literal.exec(this.input.slice(start)) + if (!match) return false + if ((match[1] || match[2]) == "use strict") return true + start += match[0].length + } +} + +// Predicate that tests whether the next token is of the given +// type, and if yes, consumes it as a side effect. + +pp.eat = function(type) { + if (this.type === type) { + this.next() + return true + } else { + return false + } +} + +// Tests whether parsed token is a contextual keyword. + +pp.isContextual = function(name) { + return this.type === tt.name && this.value === name && !this.containsEsc +} + +// Consumes contextual keyword if possible. + +pp.eatContextual = function(name) { + if (!this.isContextual(name)) return false + this.next() + return true +} + +// Asserts that following token is given contextual keyword. + +pp.expectContextual = function(name) { + if (!this.eatContextual(name)) this.unexpected() +} + +// Test whether a semicolon can be inserted at the current position. + +pp.canInsertSemicolon = function() { + return this.type === tt.eof || + this.type === tt.braceR || + lineBreak.test(this.input.slice(this.lastTokEnd, this.start)) +} + +pp.insertSemicolon = function() { + if (this.canInsertSemicolon()) { + if (this.options.onInsertedSemicolon) + this.options.onInsertedSemicolon(this.lastTokEnd, this.lastTokEndLoc) + return true + } +} + +// Consume a semicolon, or, failing that, see if we are allowed to +// pretend that there is a semicolon at this position. + +pp.semicolon = function() { + if (!this.eat(tt.semi) && !this.insertSemicolon()) this.unexpected() +} + +pp.afterTrailingComma = function(tokType, notNext) { + if (this.type == tokType) { + if (this.options.onTrailingComma) + this.options.onTrailingComma(this.lastTokStart, this.lastTokStartLoc) + if (!notNext) + this.next() + return true + } +} + +// Expect a token of a given type. If found, consume it, otherwise, +// raise an unexpected token error. + +pp.expect = function(type) { + this.eat(type) || this.unexpected() +} + +// Raise an unexpected token error. + +pp.unexpected = function(pos) { + this.raise(pos != null ? pos : this.start, "Unexpected token") +} + +export function DestructuringErrors() { + this.shorthandAssign = + this.trailingComma = + this.parenthesizedAssign = + this.parenthesizedBind = + this.doubleProto = + -1 +} + +pp.checkPatternErrors = function(refDestructuringErrors, isAssign) { + if (!refDestructuringErrors) return + if (refDestructuringErrors.trailingComma > -1) + this.raiseRecoverable(refDestructuringErrors.trailingComma, "Comma is not permitted after the rest element") + let parens = isAssign ? refDestructuringErrors.parenthesizedAssign : refDestructuringErrors.parenthesizedBind + if (parens > -1) this.raiseRecoverable(parens, "Parenthesized pattern") +} + +pp.checkExpressionErrors = function(refDestructuringErrors, andThrow) { + if (!refDestructuringErrors) return false + let {shorthandAssign, doubleProto} = refDestructuringErrors + if (!andThrow) return shorthandAssign >= 0 || doubleProto >= 0 + if (shorthandAssign >= 0) + this.raise(shorthandAssign, "Shorthand property assignments are valid only in destructuring patterns") + if (doubleProto >= 0) + this.raiseRecoverable(doubleProto, "Redefinition of __proto__ property") +} + +pp.checkYieldAwaitInDefaultParams = function() { + if (this.yieldPos && (!this.awaitPos || this.yieldPos < this.awaitPos)) + this.raise(this.yieldPos, "Yield expression cannot be a default value") + if (this.awaitPos) + this.raise(this.awaitPos, "Await expression cannot be a default value") +} + +pp.isSimpleAssignTarget = function(expr) { + if (expr.type === "ParenthesizedExpression") + return this.isSimpleAssignTarget(expr.expression) + return expr.type === "Identifier" || expr.type === "MemberExpression" +} diff --git a/tools/tests/apps/modules/imports/links/acorn/src/regexp.js b/tools/tests/apps/modules/imports/links/acorn/src/regexp.js new file mode 100644 index 0000000000..c5953e3012 --- /dev/null +++ b/tools/tests/apps/modules/imports/links/acorn/src/regexp.js @@ -0,0 +1,1042 @@ +import {isIdentifierStart, isIdentifierChar} from "./identifier.js" +import {Parser} from "./state.js" +import UNICODE_PROPERTY_VALUES from "./unicode-property-data.js" + +const pp = Parser.prototype + +export class RegExpValidationState { + constructor(parser) { + this.parser = parser + this.validFlags = `gim${parser.options.ecmaVersion >= 6 ? "uy" : ""}${parser.options.ecmaVersion >= 9 ? "s" : ""}` + this.source = "" + this.flags = "" + this.start = 0 + this.switchU = false + this.switchN = false + this.pos = 0 + this.lastIntValue = 0 + this.lastStringValue = "" + this.lastAssertionIsQuantifiable = false + this.numCapturingParens = 0 + this.maxBackReference = 0 + this.groupNames = [] + this.backReferenceNames = [] + } + + reset(start, pattern, flags) { + const unicode = flags.indexOf("u") !== -1 + this.start = start | 0 + this.source = pattern + "" + this.flags = flags + this.switchU = unicode && this.parser.options.ecmaVersion >= 6 + this.switchN = unicode && this.parser.options.ecmaVersion >= 9 + } + + raise(message) { + this.parser.raiseRecoverable(this.start, `Invalid regular expression: /${this.source}/: ${message}`) + } + + // If u flag is given, this returns the code point at the index (it combines a surrogate pair). + // Otherwise, this returns the code unit of the index (can be a part of a surrogate pair). + at(i) { + const s = this.source + const l = s.length + if (i >= l) { + return -1 + } + const c = s.charCodeAt(i) + if (!this.switchU || c <= 0xD7FF || c >= 0xE000 || i + 1 >= l) { + return c + } + return (c << 10) + s.charCodeAt(i + 1) - 0x35FDC00 + } + + nextIndex(i) { + const s = this.source + const l = s.length + if (i >= l) { + return l + } + const c = s.charCodeAt(i) + if (!this.switchU || c <= 0xD7FF || c >= 0xE000 || i + 1 >= l) { + return i + 1 + } + return i + 2 + } + + current() { + return this.at(this.pos) + } + + lookahead() { + return this.at(this.nextIndex(this.pos)) + } + + advance() { + this.pos = this.nextIndex(this.pos) + } + + eat(ch) { + if (this.current() === ch) { + this.advance() + return true + } + return false + } +} + +function codePointToString(ch) { + if (ch <= 0xFFFF) return String.fromCharCode(ch) + ch -= 0x10000 + return String.fromCharCode((ch >> 10) + 0xD800, (ch & 0x03FF) + 0xDC00) +} + +/** + * Validate the flags part of a given RegExpLiteral. + * + * @param {RegExpValidationState} state The state to validate RegExp. + * @returns {void} + */ +pp.validateRegExpFlags = function(state) { + const validFlags = state.validFlags + const flags = state.flags + + for (let i = 0; i < flags.length; i++) { + const flag = flags.charAt(i) + if (validFlags.indexOf(flag) == -1) { + this.raise(state.start, "Invalid regular expression flag") + } + if (flags.indexOf(flag, i + 1) > -1) { + this.raise(state.start, "Duplicate regular expression flag") + } + } +} + +/** + * Validate the pattern part of a given RegExpLiteral. + * + * @param {RegExpValidationState} state The state to validate RegExp. + * @returns {void} + */ +pp.validateRegExpPattern = function(state) { + this.regexp_pattern(state) + + // The goal symbol for the parse is |Pattern[~U, ~N]|. If the result of + // parsing contains a |GroupName|, reparse with the goal symbol + // |Pattern[~U, +N]| and use this result instead. Throw a *SyntaxError* + // exception if _P_ did not conform to the grammar, if any elements of _P_ + // were not matched by the parse, or if any Early Error conditions exist. + if (!state.switchN && this.options.ecmaVersion >= 9 && state.groupNames.length > 0) { + state.switchN = true + this.regexp_pattern(state) + } +} + +// https://www.ecma-international.org/ecma-262/8.0/#prod-Pattern +pp.regexp_pattern = function(state) { + state.pos = 0 + state.lastIntValue = 0 + state.lastStringValue = "" + state.lastAssertionIsQuantifiable = false + state.numCapturingParens = 0 + state.maxBackReference = 0 + state.groupNames.length = 0 + state.backReferenceNames.length = 0 + + this.regexp_disjunction(state) + + if (state.pos !== state.source.length) { + // Make the same messages as V8. + if (state.eat(0x29 /* ) */)) { + state.raise("Unmatched ')'") + } + if (state.eat(0x5D /* [ */) || state.eat(0x7D /* } */)) { + state.raise("Lone quantifier brackets") + } + } + if (state.maxBackReference > state.numCapturingParens) { + state.raise("Invalid escape") + } + for (const name of state.backReferenceNames) { + if (state.groupNames.indexOf(name) === -1) { + state.raise("Invalid named capture referenced") + } + } +} + +// https://www.ecma-international.org/ecma-262/8.0/#prod-Disjunction +pp.regexp_disjunction = function(state) { + this.regexp_alternative(state) + while (state.eat(0x7C /* | */)) { + this.regexp_alternative(state) + } + + // Make the same message as V8. + if (this.regexp_eatQuantifier(state, true)) { + state.raise("Nothing to repeat") + } + if (state.eat(0x7B /* { */)) { + state.raise("Lone quantifier brackets") + } +} + +// https://www.ecma-international.org/ecma-262/8.0/#prod-Alternative +pp.regexp_alternative = function(state) { + while (state.pos < state.source.length && this.regexp_eatTerm(state)) + ; +} + +// https://www.ecma-international.org/ecma-262/8.0/#prod-annexB-Term +pp.regexp_eatTerm = function(state) { + if (this.regexp_eatAssertion(state)) { + // Handle `QuantifiableAssertion Quantifier` alternative. + // `state.lastAssertionIsQuantifiable` is true if the last eaten Assertion + // is a QuantifiableAssertion. + if (state.lastAssertionIsQuantifiable && this.regexp_eatQuantifier(state)) { + // Make the same message as V8. + if (state.switchU) { + state.raise("Invalid quantifier") + } + } + return true + } + + if (state.switchU ? this.regexp_eatAtom(state) : this.regexp_eatExtendedAtom(state)) { + this.regexp_eatQuantifier(state) + return true + } + + return false +} + +// https://www.ecma-international.org/ecma-262/8.0/#prod-annexB-Assertion +pp.regexp_eatAssertion = function(state) { + const start = state.pos + state.lastAssertionIsQuantifiable = false + + // ^, $ + if (state.eat(0x5E /* ^ */) || state.eat(0x24 /* $ */)) { + return true + } + + // \b \B + if (state.eat(0x5C /* \ */)) { + if (state.eat(0x42 /* B */) || state.eat(0x62 /* b */)) { + return true + } + state.pos = start + } + + // Lookahead / Lookbehind + if (state.eat(0x28 /* ( */) && state.eat(0x3F /* ? */)) { + let lookbehind = false + if (this.options.ecmaVersion >= 9) { + lookbehind = state.eat(0x3C /* < */) + } + if (state.eat(0x3D /* = */) || state.eat(0x21 /* ! */)) { + this.regexp_disjunction(state) + if (!state.eat(0x29 /* ) */)) { + state.raise("Unterminated group") + } + state.lastAssertionIsQuantifiable = !lookbehind + return true + } + } + + state.pos = start + return false +} + +// https://www.ecma-international.org/ecma-262/8.0/#prod-Quantifier +pp.regexp_eatQuantifier = function(state, noError = false) { + if (this.regexp_eatQuantifierPrefix(state, noError)) { + state.eat(0x3F /* ? */) + return true + } + return false +} + +// https://www.ecma-international.org/ecma-262/8.0/#prod-QuantifierPrefix +pp.regexp_eatQuantifierPrefix = function(state, noError) { + return ( + state.eat(0x2A /* * */) || + state.eat(0x2B /* + */) || + state.eat(0x3F /* ? */) || + this.regexp_eatBracedQuantifier(state, noError) + ) +} +pp.regexp_eatBracedQuantifier = function(state, noError) { + const start = state.pos + if (state.eat(0x7B /* { */)) { + let min = 0, max = -1 + if (this.regexp_eatDecimalDigits(state)) { + min = state.lastIntValue + if (state.eat(0x2C /* , */) && this.regexp_eatDecimalDigits(state)) { + max = state.lastIntValue + } + if (state.eat(0x7D /* } */)) { + // SyntaxError in https://www.ecma-international.org/ecma-262/8.0/#sec-term + if (max !== -1 && max < min && !noError) { + state.raise("numbers out of order in {} quantifier") + } + return true + } + } + if (state.switchU && !noError) { + state.raise("Incomplete quantifier") + } + state.pos = start + } + return false +} + +// https://www.ecma-international.org/ecma-262/8.0/#prod-Atom +pp.regexp_eatAtom = function(state) { + return ( + this.regexp_eatPatternCharacters(state) || + state.eat(0x2E /* . */) || + this.regexp_eatReverseSolidusAtomEscape(state) || + this.regexp_eatCharacterClass(state) || + this.regexp_eatUncapturingGroup(state) || + this.regexp_eatCapturingGroup(state) + ) +} +pp.regexp_eatReverseSolidusAtomEscape = function(state) { + const start = state.pos + if (state.eat(0x5C /* \ */)) { + if (this.regexp_eatAtomEscape(state)) { + return true + } + state.pos = start + } + return false +} +pp.regexp_eatUncapturingGroup = function(state) { + const start = state.pos + if (state.eat(0x28 /* ( */)) { + if (state.eat(0x3F /* ? */) && state.eat(0x3A /* : */)) { + this.regexp_disjunction(state) + if (state.eat(0x29 /* ) */)) { + return true + } + state.raise("Unterminated group") + } + state.pos = start + } + return false +} +pp.regexp_eatCapturingGroup = function(state) { + if (state.eat(0x28 /* ( */)) { + if (this.options.ecmaVersion >= 9) { + this.regexp_groupSpecifier(state) + } else if (state.current() === 0x3F /* ? */) { + state.raise("Invalid group") + } + this.regexp_disjunction(state) + if (state.eat(0x29 /* ) */)) { + state.numCapturingParens += 1 + return true + } + state.raise("Unterminated group") + } + return false +} + +// https://www.ecma-international.org/ecma-262/8.0/#prod-annexB-ExtendedAtom +pp.regexp_eatExtendedAtom = function(state) { + return ( + state.eat(0x2E /* . */) || + this.regexp_eatReverseSolidusAtomEscape(state) || + this.regexp_eatCharacterClass(state) || + this.regexp_eatUncapturingGroup(state) || + this.regexp_eatCapturingGroup(state) || + this.regexp_eatInvalidBracedQuantifier(state) || + this.regexp_eatExtendedPatternCharacter(state) + ) +} + +// https://www.ecma-international.org/ecma-262/8.0/#prod-annexB-InvalidBracedQuantifier +pp.regexp_eatInvalidBracedQuantifier = function(state) { + if (this.regexp_eatBracedQuantifier(state, true)) { + state.raise("Nothing to repeat") + } + return false +} + +// https://www.ecma-international.org/ecma-262/8.0/#prod-SyntaxCharacter +pp.regexp_eatSyntaxCharacter = function(state) { + const ch = state.current() + if (isSyntaxCharacter(ch)) { + state.lastIntValue = ch + state.advance() + return true + } + return false +} +function isSyntaxCharacter(ch) { + return ( + ch === 0x24 /* $ */ || + ch >= 0x28 /* ( */ && ch <= 0x2B /* + */ || + ch === 0x2E /* . */ || + ch === 0x3F /* ? */ || + ch >= 0x5B /* [ */ && ch <= 0x5E /* ^ */ || + ch >= 0x7B /* { */ && ch <= 0x7D /* } */ + ) +} + +// https://www.ecma-international.org/ecma-262/8.0/#prod-PatternCharacter +// But eat eager. +pp.regexp_eatPatternCharacters = function(state) { + const start = state.pos + let ch = 0 + while ((ch = state.current()) !== -1 && !isSyntaxCharacter(ch)) { + state.advance() + } + return state.pos !== start +} + +// https://www.ecma-international.org/ecma-262/8.0/#prod-annexB-ExtendedPatternCharacter +pp.regexp_eatExtendedPatternCharacter = function(state) { + const ch = state.current() + if ( + ch !== -1 && + ch !== 0x24 /* $ */ && + !(ch >= 0x28 /* ( */ && ch <= 0x2B /* + */) && + ch !== 0x2E /* . */ && + ch !== 0x3F /* ? */ && + ch !== 0x5B /* [ */ && + ch !== 0x5E /* ^ */ && + ch !== 0x7C /* | */ + ) { + state.advance() + return true + } + return false +} + +// GroupSpecifier[U] :: +// [empty] +// `?` GroupName[?U] +pp.regexp_groupSpecifier = function(state) { + if (state.eat(0x3F /* ? */)) { + if (this.regexp_eatGroupName(state)) { + if (state.groupNames.indexOf(state.lastStringValue) !== -1) { + state.raise("Duplicate capture group name") + } + state.groupNames.push(state.lastStringValue) + return + } + state.raise("Invalid group") + } +} + +// GroupName[U] :: +// `<` RegExpIdentifierName[?U] `>` +// Note: this updates `state.lastStringValue` property with the eaten name. +pp.regexp_eatGroupName = function(state) { + state.lastStringValue = "" + if (state.eat(0x3C /* < */)) { + if (this.regexp_eatRegExpIdentifierName(state) && state.eat(0x3E /* > */)) { + return true + } + state.raise("Invalid capture group name") + } + return false +} + +// RegExpIdentifierName[U] :: +// RegExpIdentifierStart[?U] +// RegExpIdentifierName[?U] RegExpIdentifierPart[?U] +// Note: this updates `state.lastStringValue` property with the eaten name. +pp.regexp_eatRegExpIdentifierName = function(state) { + state.lastStringValue = "" + if (this.regexp_eatRegExpIdentifierStart(state)) { + state.lastStringValue += codePointToString(state.lastIntValue) + while (this.regexp_eatRegExpIdentifierPart(state)) { + state.lastStringValue += codePointToString(state.lastIntValue) + } + return true + } + return false +} + +// RegExpIdentifierStart[U] :: +// UnicodeIDStart +// `$` +// `_` +// `\` RegExpUnicodeEscapeSequence[?U] +pp.regexp_eatRegExpIdentifierStart = function(state) { + const start = state.pos + let ch = state.current() + state.advance() + + if (ch === 0x5C /* \ */ && this.regexp_eatRegExpUnicodeEscapeSequence(state)) { + ch = state.lastIntValue + } + if (isRegExpIdentifierStart(ch)) { + state.lastIntValue = ch + return true + } + + state.pos = start + return false +} +function isRegExpIdentifierStart(ch) { + return isIdentifierStart(ch, true) || ch === 0x24 /* $ */ || ch === 0x5F /* _ */ +} + +// RegExpIdentifierPart[U] :: +// UnicodeIDContinue +// `$` +// `_` +// `\` RegExpUnicodeEscapeSequence[?U] +// +// +pp.regexp_eatRegExpIdentifierPart = function(state) { + const start = state.pos + let ch = state.current() + state.advance() + + if (ch === 0x5C /* \ */ && this.regexp_eatRegExpUnicodeEscapeSequence(state)) { + ch = state.lastIntValue + } + if (isRegExpIdentifierPart(ch)) { + state.lastIntValue = ch + return true + } + + state.pos = start + return false +} +function isRegExpIdentifierPart(ch) { + return isIdentifierChar(ch, true) || ch === 0x24 /* $ */ || ch === 0x5F /* _ */ || ch === 0x200C /* */ || ch === 0x200D /* */ +} + +// https://www.ecma-international.org/ecma-262/8.0/#prod-annexB-AtomEscape +pp.regexp_eatAtomEscape = function(state) { + if ( + this.regexp_eatBackReference(state) || + this.regexp_eatCharacterClassEscape(state) || + this.regexp_eatCharacterEscape(state) || + (state.switchN && this.regexp_eatKGroupName(state)) + ) { + return true + } + if (state.switchU) { + // Make the same message as V8. + if (state.current() === 0x63 /* c */) { + state.raise("Invalid unicode escape") + } + state.raise("Invalid escape") + } + return false +} +pp.regexp_eatBackReference = function(state) { + const start = state.pos + if (this.regexp_eatDecimalEscape(state)) { + const n = state.lastIntValue + if (state.switchU) { + // For SyntaxError in https://www.ecma-international.org/ecma-262/8.0/#sec-atomescape + if (n > state.maxBackReference) { + state.maxBackReference = n + } + return true + } + if (n <= state.numCapturingParens) { + return true + } + state.pos = start + } + return false +} +pp.regexp_eatKGroupName = function(state) { + if (state.eat(0x6B /* k */)) { + if (this.regexp_eatGroupName(state)) { + state.backReferenceNames.push(state.lastStringValue) + return true + } + state.raise("Invalid named reference") + } + return false +} + +// https://www.ecma-international.org/ecma-262/8.0/#prod-annexB-CharacterEscape +pp.regexp_eatCharacterEscape = function(state) { + return ( + this.regexp_eatControlEscape(state) || + this.regexp_eatCControlLetter(state) || + this.regexp_eatZero(state) || + this.regexp_eatHexEscapeSequence(state) || + this.regexp_eatRegExpUnicodeEscapeSequence(state) || + (!state.switchU && this.regexp_eatLegacyOctalEscapeSequence(state)) || + this.regexp_eatIdentityEscape(state) + ) +} +pp.regexp_eatCControlLetter = function(state) { + const start = state.pos + if (state.eat(0x63 /* c */)) { + if (this.regexp_eatControlLetter(state)) { + return true + } + state.pos = start + } + return false +} +pp.regexp_eatZero = function(state) { + if (state.current() === 0x30 /* 0 */ && !isDecimalDigit(state.lookahead())) { + state.lastIntValue = 0 + state.advance() + return true + } + return false +} + +// https://www.ecma-international.org/ecma-262/8.0/#prod-ControlEscape +pp.regexp_eatControlEscape = function(state) { + const ch = state.current() + if (ch === 0x74 /* t */) { + state.lastIntValue = 0x09 /* \t */ + state.advance() + return true + } + if (ch === 0x6E /* n */) { + state.lastIntValue = 0x0A /* \n */ + state.advance() + return true + } + if (ch === 0x76 /* v */) { + state.lastIntValue = 0x0B /* \v */ + state.advance() + return true + } + if (ch === 0x66 /* f */) { + state.lastIntValue = 0x0C /* \f */ + state.advance() + return true + } + if (ch === 0x72 /* r */) { + state.lastIntValue = 0x0D /* \r */ + state.advance() + return true + } + return false +} + +// https://www.ecma-international.org/ecma-262/8.0/#prod-ControlLetter +pp.regexp_eatControlLetter = function(state) { + const ch = state.current() + if (isControlLetter(ch)) { + state.lastIntValue = ch % 0x20 + state.advance() + return true + } + return false +} +function isControlLetter(ch) { + return ( + (ch >= 0x41 /* A */ && ch <= 0x5A /* Z */) || + (ch >= 0x61 /* a */ && ch <= 0x7A /* z */) + ) +} + +// https://www.ecma-international.org/ecma-262/8.0/#prod-RegExpUnicodeEscapeSequence +pp.regexp_eatRegExpUnicodeEscapeSequence = function(state) { + const start = state.pos + + if (state.eat(0x75 /* u */)) { + if (this.regexp_eatFixedHexDigits(state, 4)) { + const lead = state.lastIntValue + if (state.switchU && lead >= 0xD800 && lead <= 0xDBFF) { + const leadSurrogateEnd = state.pos + if (state.eat(0x5C /* \ */) && state.eat(0x75 /* u */) && this.regexp_eatFixedHexDigits(state, 4)) { + const trail = state.lastIntValue + if (trail >= 0xDC00 && trail <= 0xDFFF) { + state.lastIntValue = (lead - 0xD800) * 0x400 + (trail - 0xDC00) + 0x10000 + return true + } + } + state.pos = leadSurrogateEnd + state.lastIntValue = lead + } + return true + } + if ( + state.switchU && + state.eat(0x7B /* { */) && + this.regexp_eatHexDigits(state) && + state.eat(0x7D /* } */) && + isValidUnicode(state.lastIntValue) + ) { + return true + } + if (state.switchU) { + state.raise("Invalid unicode escape") + } + state.pos = start + } + + return false +} +function isValidUnicode(ch) { + return ch >= 0 && ch <= 0x10FFFF +} + +// https://www.ecma-international.org/ecma-262/8.0/#prod-annexB-IdentityEscape +pp.regexp_eatIdentityEscape = function(state) { + if (state.switchU) { + if (this.regexp_eatSyntaxCharacter(state)) { + return true + } + if (state.eat(0x2F /* / */)) { + state.lastIntValue = 0x2F /* / */ + return true + } + return false + } + + const ch = state.current() + if (ch !== 0x63 /* c */ && (!state.switchN || ch !== 0x6B /* k */)) { + state.lastIntValue = ch + state.advance() + return true + } + + return false +} + +// https://www.ecma-international.org/ecma-262/8.0/#prod-DecimalEscape +pp.regexp_eatDecimalEscape = function(state) { + state.lastIntValue = 0 + let ch = state.current() + if (ch >= 0x31 /* 1 */ && ch <= 0x39 /* 9 */) { + do { + state.lastIntValue = 10 * state.lastIntValue + (ch - 0x30 /* 0 */) + state.advance() + } while ((ch = state.current()) >= 0x30 /* 0 */ && ch <= 0x39 /* 9 */) + return true + } + return false +} + +// https://www.ecma-international.org/ecma-262/8.0/#prod-CharacterClassEscape +pp.regexp_eatCharacterClassEscape = function(state) { + const ch = state.current() + + if (isCharacterClassEscape(ch)) { + state.lastIntValue = -1 + state.advance() + return true + } + + if ( + state.switchU && + this.options.ecmaVersion >= 9 && + (ch === 0x50 /* P */ || ch === 0x70 /* p */) + ) { + state.lastIntValue = -1 + state.advance() + if ( + state.eat(0x7B /* { */) && + this.regexp_eatUnicodePropertyValueExpression(state) && + state.eat(0x7D /* } */) + ) { + return true + } + state.raise("Invalid property name") + } + + return false +} +function isCharacterClassEscape(ch) { + return ( + ch === 0x64 /* d */ || + ch === 0x44 /* D */ || + ch === 0x73 /* s */ || + ch === 0x53 /* S */ || + ch === 0x77 /* w */ || + ch === 0x57 /* W */ + ) +} + +// UnicodePropertyValueExpression :: +// UnicodePropertyName `=` UnicodePropertyValue +// LoneUnicodePropertyNameOrValue +pp.regexp_eatUnicodePropertyValueExpression = function(state) { + const start = state.pos + + // UnicodePropertyName `=` UnicodePropertyValue + if (this.regexp_eatUnicodePropertyName(state) && state.eat(0x3D /* = */)) { + const name = state.lastStringValue + if (this.regexp_eatUnicodePropertyValue(state)) { + const value = state.lastStringValue + this.regexp_validateUnicodePropertyNameAndValue(state, name, value) + return true + } + } + state.pos = start + + // LoneUnicodePropertyNameOrValue + if (this.regexp_eatLoneUnicodePropertyNameOrValue(state)) { + const nameOrValue = state.lastStringValue + this.regexp_validateUnicodePropertyNameOrValue(state, nameOrValue) + return true + } + return false +} +pp.regexp_validateUnicodePropertyNameAndValue = function(state, name, value) { + if (!UNICODE_PROPERTY_VALUES.hasOwnProperty(name) || UNICODE_PROPERTY_VALUES[name].indexOf(value) === -1) { + state.raise("Invalid property name") + } +} +pp.regexp_validateUnicodePropertyNameOrValue = function(state, nameOrValue) { + if (UNICODE_PROPERTY_VALUES.$LONE.indexOf(nameOrValue) === -1) { + state.raise("Invalid property name") + } +} + +// UnicodePropertyName :: +// UnicodePropertyNameCharacters +pp.regexp_eatUnicodePropertyName = function(state) { + let ch = 0 + state.lastStringValue = "" + while (isUnicodePropertyNameCharacter(ch = state.current())) { + state.lastStringValue += codePointToString(ch) + state.advance() + } + return state.lastStringValue !== "" +} +function isUnicodePropertyNameCharacter(ch) { + return isControlLetter(ch) || ch === 0x5F /* _ */ +} + +// UnicodePropertyValue :: +// UnicodePropertyValueCharacters +pp.regexp_eatUnicodePropertyValue = function(state) { + let ch = 0 + state.lastStringValue = "" + while (isUnicodePropertyValueCharacter(ch = state.current())) { + state.lastStringValue += codePointToString(ch) + state.advance() + } + return state.lastStringValue !== "" +} +function isUnicodePropertyValueCharacter(ch) { + return isUnicodePropertyNameCharacter(ch) || isDecimalDigit(ch) +} + +// LoneUnicodePropertyNameOrValue :: +// UnicodePropertyValueCharacters +pp.regexp_eatLoneUnicodePropertyNameOrValue = function(state) { + return this.regexp_eatUnicodePropertyValue(state) +} + +// https://www.ecma-international.org/ecma-262/8.0/#prod-CharacterClass +pp.regexp_eatCharacterClass = function(state) { + if (state.eat(0x5B /* [ */)) { + state.eat(0x5E /* ^ */) + this.regexp_classRanges(state) + if (state.eat(0x5D /* [ */)) { + return true + } + // Unreachable since it threw "unterminated regular expression" error before. + state.raise("Unterminated character class") + } + return false +} + +// https://www.ecma-international.org/ecma-262/8.0/#prod-ClassRanges +// https://www.ecma-international.org/ecma-262/8.0/#prod-NonemptyClassRanges +// https://www.ecma-international.org/ecma-262/8.0/#prod-NonemptyClassRangesNoDash +pp.regexp_classRanges = function(state) { + while (this.regexp_eatClassAtom(state)) { + const left = state.lastIntValue + if (state.eat(0x2D /* - */) && this.regexp_eatClassAtom(state)) { + const right = state.lastIntValue + if (state.switchU && (left === -1 || right === -1)) { + state.raise("Invalid character class") + } + if (left !== -1 && right !== -1 && left > right) { + state.raise("Range out of order in character class") + } + } + } +} + +// https://www.ecma-international.org/ecma-262/8.0/#prod-ClassAtom +// https://www.ecma-international.org/ecma-262/8.0/#prod-ClassAtomNoDash +pp.regexp_eatClassAtom = function(state) { + const start = state.pos + + if (state.eat(0x5C /* \ */)) { + if (this.regexp_eatClassEscape(state)) { + return true + } + if (state.switchU) { + // Make the same message as V8. + const ch = state.current() + if (ch === 0x63 /* c */ || isOctalDigit(ch)) { + state.raise("Invalid class escape") + } + state.raise("Invalid escape") + } + state.pos = start + } + + const ch = state.current() + if (ch !== 0x5D /* [ */) { + state.lastIntValue = ch + state.advance() + return true + } + + return false +} + +// https://www.ecma-international.org/ecma-262/8.0/#prod-annexB-ClassEscape +pp.regexp_eatClassEscape = function(state) { + const start = state.pos + + if (state.eat(0x62 /* b */)) { + state.lastIntValue = 0x08 /* */ + return true + } + + if (state.switchU && state.eat(0x2D /* - */)) { + state.lastIntValue = 0x2D /* - */ + return true + } + + if (!state.switchU && state.eat(0x63 /* c */)) { + if (this.regexp_eatClassControlLetter(state)) { + return true + } + state.pos = start + } + + return ( + this.regexp_eatCharacterClassEscape(state) || + this.regexp_eatCharacterEscape(state) + ) +} + +// https://www.ecma-international.org/ecma-262/8.0/#prod-annexB-ClassControlLetter +pp.regexp_eatClassControlLetter = function(state) { + const ch = state.current() + if (isDecimalDigit(ch) || ch === 0x5F /* _ */) { + state.lastIntValue = ch % 0x20 + state.advance() + return true + } + return false +} + +// https://www.ecma-international.org/ecma-262/8.0/#prod-HexEscapeSequence +pp.regexp_eatHexEscapeSequence = function(state) { + const start = state.pos + if (state.eat(0x78 /* x */)) { + if (this.regexp_eatFixedHexDigits(state, 2)) { + return true + } + if (state.switchU) { + state.raise("Invalid escape") + } + state.pos = start + } + return false +} + +// https://www.ecma-international.org/ecma-262/8.0/#prod-DecimalDigits +pp.regexp_eatDecimalDigits = function(state) { + const start = state.pos + let ch = 0 + state.lastIntValue = 0 + while (isDecimalDigit(ch = state.current())) { + state.lastIntValue = 10 * state.lastIntValue + (ch - 0x30 /* 0 */) + state.advance() + } + return state.pos !== start +} +function isDecimalDigit(ch) { + return ch >= 0x30 /* 0 */ && ch <= 0x39 /* 9 */ +} + +// https://www.ecma-international.org/ecma-262/8.0/#prod-HexDigits +pp.regexp_eatHexDigits = function(state) { + const start = state.pos + let ch = 0 + state.lastIntValue = 0 + while (isHexDigit(ch = state.current())) { + state.lastIntValue = 16 * state.lastIntValue + hexToInt(ch) + state.advance() + } + return state.pos !== start +} +function isHexDigit(ch) { + return ( + (ch >= 0x30 /* 0 */ && ch <= 0x39 /* 9 */) || + (ch >= 0x41 /* A */ && ch <= 0x46 /* F */) || + (ch >= 0x61 /* a */ && ch <= 0x66 /* f */) + ) +} +function hexToInt(ch) { + if (ch >= 0x41 /* A */ && ch <= 0x46 /* F */) { + return 10 + (ch - 0x41 /* A */) + } + if (ch >= 0x61 /* a */ && ch <= 0x66 /* f */) { + return 10 + (ch - 0x61 /* a */) + } + return ch - 0x30 /* 0 */ +} + +// https://www.ecma-international.org/ecma-262/8.0/#prod-annexB-LegacyOctalEscapeSequence +// Allows only 0-377(octal) i.e. 0-255(decimal). +pp.regexp_eatLegacyOctalEscapeSequence = function(state) { + if (this.regexp_eatOctalDigit(state)) { + const n1 = state.lastIntValue + if (this.regexp_eatOctalDigit(state)) { + const n2 = state.lastIntValue + if (n1 <= 3 && this.regexp_eatOctalDigit(state)) { + state.lastIntValue = n1 * 64 + n2 * 8 + state.lastIntValue + } else { + state.lastIntValue = n1 * 8 + n2 + } + } else { + state.lastIntValue = n1 + } + return true + } + return false +} + +// https://www.ecma-international.org/ecma-262/8.0/#prod-OctalDigit +pp.regexp_eatOctalDigit = function(state) { + const ch = state.current() + if (isOctalDigit(ch)) { + state.lastIntValue = ch - 0x30 /* 0 */ + state.advance() + return true + } + state.lastIntValue = 0 + return false +} +function isOctalDigit(ch) { + return ch >= 0x30 /* 0 */ && ch <= 0x37 /* 7 */ +} + +// https://www.ecma-international.org/ecma-262/8.0/#prod-Hex4Digits +// https://www.ecma-international.org/ecma-262/8.0/#prod-HexDigit +// And HexDigit HexDigit in https://www.ecma-international.org/ecma-262/8.0/#prod-HexEscapeSequence +pp.regexp_eatFixedHexDigits = function(state, length) { + const start = state.pos + state.lastIntValue = 0 + for (let i = 0; i < length; ++i) { + const ch = state.current() + if (!isHexDigit(ch)) { + state.pos = start + return false + } + state.lastIntValue = 16 * state.lastIntValue + hexToInt(ch) + state.advance() + } + return true +} diff --git a/tools/tests/apps/modules/imports/links/acorn/src/scope.js b/tools/tests/apps/modules/imports/links/acorn/src/scope.js new file mode 100644 index 0000000000..eab0002c04 --- /dev/null +++ b/tools/tests/apps/modules/imports/links/acorn/src/scope.js @@ -0,0 +1,74 @@ +import {Parser} from "./state" +import {has} from "./util" + +const pp = Parser.prototype + +// Object.assign polyfill +const assign = Object.assign || function(target, ...sources) { + for (let source of sources) { + for (const key in source) { + if (has(source, key)) { + target[key] = source[key] + } + } + } + return target +} + +// The functions in this module keep track of declared variables in the current scope in order to detect duplicate variable names. + +pp.enterFunctionScope = function() { + // var: a hash of var-declared names in the current lexical scope + // lexical: a hash of lexically-declared names in the current lexical scope + // childVar: a hash of var-declared names in all child lexical scopes of the current lexical scope (within the current function scope) + // parentLexical: a hash of lexically-declared names in all parent lexical scopes of the current lexical scope (within the current function scope) + this.scopeStack.push({var: {}, lexical: {}, childVar: {}, parentLexical: {}}) +} + +pp.exitFunctionScope = function() { + this.scopeStack.pop() +} + +pp.enterLexicalScope = function() { + const parentScope = this.scopeStack[this.scopeStack.length - 1] + const childScope = {var: {}, lexical: {}, childVar: {}, parentLexical: {}} + + this.scopeStack.push(childScope) + assign(childScope.parentLexical, parentScope.lexical, parentScope.parentLexical) +} + +pp.exitLexicalScope = function() { + const childScope = this.scopeStack.pop() + const parentScope = this.scopeStack[this.scopeStack.length - 1] + + assign(parentScope.childVar, childScope.var, childScope.childVar) +} + +/** + * A name can be declared with `var` if there are no variables with the same name declared with `let`/`const` + * in the current lexical scope or any of the parent lexical scopes in this function. + */ +pp.canDeclareVarName = function(name) { + const currentScope = this.scopeStack[this.scopeStack.length - 1] + + return !has(currentScope.lexical, name) && !has(currentScope.parentLexical, name) +} + +/** + * A name can be declared with `let`/`const` if there are no variables with the same name declared with `let`/`const` + * in the current scope, and there are no variables with the same name declared with `var` in the current scope or in + * any child lexical scopes in this function. + */ +pp.canDeclareLexicalName = function(name) { + const currentScope = this.scopeStack[this.scopeStack.length - 1] + + return !has(currentScope.lexical, name) && !has(currentScope.var, name) && !has(currentScope.childVar, name) +} + +pp.declareVarName = function(name) { + this.scopeStack[this.scopeStack.length - 1].var[name] = true +} + +pp.declareLexicalName = function(name) { + this.scopeStack[this.scopeStack.length - 1].lexical[name] = true +} diff --git a/tools/tests/apps/modules/imports/links/acorn/src/state.js b/tools/tests/apps/modules/imports/links/acorn/src/state.js new file mode 100644 index 0000000000..185fe28648 --- /dev/null +++ b/tools/tests/apps/modules/imports/links/acorn/src/state.js @@ -0,0 +1,118 @@ +import {reservedWords, keywords} from "./identifier" +import {types as tt} from "./tokentype" +import {lineBreak} from "./whitespace" +import {getOptions} from "./options" + +// Registered plugins +export const plugins = {} + +function keywordRegexp(words) { + return new RegExp("^(?:" + words.replace(/ /g, "|") + ")$") +} + +export class Parser { + constructor(options, input, startPos) { + this.options = options = getOptions(options) + this.sourceFile = options.sourceFile + this.keywords = keywordRegexp(keywords[options.ecmaVersion >= 6 ? 6 : 5]) + let reserved = "" + if (!options.allowReserved) { + for (let v = options.ecmaVersion;; v--) + if (reserved = reservedWords[v]) break + if (options.sourceType == "module") reserved += " await" + } + this.reservedWords = keywordRegexp(reserved) + let reservedStrict = (reserved ? reserved + " " : "") + reservedWords.strict + this.reservedWordsStrict = keywordRegexp(reservedStrict) + this.reservedWordsStrictBind = keywordRegexp(reservedStrict + " " + reservedWords.strictBind) + this.input = String(input) + + // Used to signal to callers of `readWord1` whether the word + // contained any escape sequences. This is needed because words with + // escape sequences must not be interpreted as keywords. + this.containsEsc = false + + // Load plugins + this.loadPlugins(options.plugins) + + // Set up token state + + // The current position of the tokenizer in the input. + if (startPos) { + this.pos = startPos + this.lineStart = this.input.lastIndexOf("\n", startPos - 1) + 1 + this.curLine = this.input.slice(0, this.lineStart).split(lineBreak).length + } else { + this.pos = this.lineStart = 0 + this.curLine = 1 + } + + // Properties of the current token: + // Its type + this.type = tt.eof + // For tokens that include more information than their type, the value + this.value = null + // Its start and end offset + this.start = this.end = this.pos + // And, if locations are used, the {line, column} object + // corresponding to those offsets + this.startLoc = this.endLoc = this.curPosition() + + // Position information for the previous token + this.lastTokEndLoc = this.lastTokStartLoc = null + this.lastTokStart = this.lastTokEnd = this.pos + + // The context stack is used to superficially track syntactic + // context to predict whether a regular expression is allowed in a + // given position. + this.context = this.initialContext() + this.exprAllowed = true + + // Figure out if it's a module code. + this.inModule = options.sourceType === "module" + this.strict = this.inModule || this.strictDirective(this.pos) + + // Used to signify the start of a potential arrow function + this.potentialArrowAt = -1 + + // Flags to track whether we are in a function, a generator, an async function. + this.inFunction = this.inGenerator = this.inAsync = false + // Positions to delayed-check that yield/await does not exist in default parameters. + this.yieldPos = this.awaitPos = 0 + // Labels in scope. + this.labels = [] + + // If enabled, skip leading hashbang line. + if (this.pos === 0 && options.allowHashBang && this.input.slice(0, 2) === "#!") + this.skipLineComment(2) + + // Scope tracking for duplicate variable names (see scope.js) + this.scopeStack = [] + this.enterFunctionScope() + + // For RegExp validation + this.regexpState = null + } + + // DEPRECATED Kept for backwards compatibility until 3.0 in case a plugin uses them + isKeyword(word) { return this.keywords.test(word) } + isReservedWord(word) { return this.reservedWords.test(word) } + + extend(name, f) { + this[name] = f(this[name]) + } + + loadPlugins(pluginConfigs) { + for (let name in pluginConfigs) { + let plugin = plugins[name] + if (!plugin) throw new Error("Plugin '" + name + "' not found") + plugin(this, pluginConfigs[name]) + } + } + + parse() { + let node = this.options.program || this.startNode() + this.nextToken() + return this.parseTopLevel(node) + } +} diff --git a/tools/tests/apps/modules/imports/links/acorn/src/statement.js b/tools/tests/apps/modules/imports/links/acorn/src/statement.js new file mode 100644 index 0000000000..2612125df3 --- /dev/null +++ b/tools/tests/apps/modules/imports/links/acorn/src/statement.js @@ -0,0 +1,810 @@ +import {types as tt} from "./tokentype" +import {Parser} from "./state" +import {lineBreak, skipWhiteSpace} from "./whitespace" +import {isIdentifierStart, isIdentifierChar, keywordRelationalOperator} from "./identifier" +import {has} from "./util" +import {DestructuringErrors} from "./parseutil" + +const pp = Parser.prototype + +// ### Statement parsing + +// Parse a program. Initializes the parser, reads any number of +// statements, and wraps them in a Program node. Optionally takes a +// `program` argument. If present, the statements will be appended +// to its body instead of creating a new node. + +pp.parseTopLevel = function(node) { + let exports = {} + if (!node.body) node.body = [] + while (this.type !== tt.eof) { + let stmt = this.parseStatement(true, true, exports) + node.body.push(stmt) + } + this.adaptDirectivePrologue(node.body) + this.next() + if (this.options.ecmaVersion >= 6) { + node.sourceType = this.options.sourceType + } + return this.finishNode(node, "Program") +} + +const loopLabel = {kind: "loop"}, switchLabel = {kind: "switch"} + +pp.isLet = function() { + if (this.options.ecmaVersion < 6 || !this.isContextual("let")) return false + skipWhiteSpace.lastIndex = this.pos + let skip = skipWhiteSpace.exec(this.input) + let next = this.pos + skip[0].length, nextCh = this.input.charCodeAt(next) + if (nextCh === 91 || nextCh == 123) return true // '{' and '[' + if (isIdentifierStart(nextCh, true)) { + let pos = next + 1 + while (isIdentifierChar(this.input.charCodeAt(pos), true)) ++pos + let ident = this.input.slice(next, pos) + if (!keywordRelationalOperator.test(ident)) return true + } + return false +} + +// check 'async [no LineTerminator here] function' +// - 'async /*foo*/ function' is OK. +// - 'async /*\n*/ function' is invalid. +pp.isAsyncFunction = function() { + if (this.options.ecmaVersion < 8 || !this.isContextual("async")) + return false + + skipWhiteSpace.lastIndex = this.pos + let skip = skipWhiteSpace.exec(this.input) + let next = this.pos + skip[0].length + return !lineBreak.test(this.input.slice(this.pos, next)) && + this.input.slice(next, next + 8) === "function" && + (next + 8 == this.input.length || !isIdentifierChar(this.input.charAt(next + 8))) +} + +// Parse a single statement. +// +// If expecting a statement and finding a slash operator, parse a +// regular expression literal. This is to handle cases like +// `if (foo) /blah/.exec(foo)`, where looking at the previous token +// does not help. + +pp.parseStatement = function(declaration, topLevel, exports) { + let starttype = this.type, node = this.startNode(), kind + + if (this.isLet()) { + starttype = tt._var + kind = "let" + } + + // Most types of statements are recognized by the keyword they + // start with. Many are trivial to parse, some require a bit of + // complexity. + + switch (starttype) { + case tt._break: case tt._continue: return this.parseBreakContinueStatement(node, starttype.keyword) + case tt._debugger: return this.parseDebuggerStatement(node) + case tt._do: return this.parseDoStatement(node) + case tt._for: return this.parseForStatement(node) + case tt._function: + if (!declaration && this.options.ecmaVersion >= 6) this.unexpected() + return this.parseFunctionStatement(node, false) + case tt._class: + if (!declaration) this.unexpected() + return this.parseClass(node, true) + case tt._if: return this.parseIfStatement(node) + case tt._return: return this.parseReturnStatement(node) + case tt._switch: return this.parseSwitchStatement(node) + case tt._throw: return this.parseThrowStatement(node) + case tt._try: return this.parseTryStatement(node) + case tt._const: case tt._var: + kind = kind || this.value + if (!declaration && kind != "var") this.unexpected() + return this.parseVarStatement(node, kind) + case tt._while: return this.parseWhileStatement(node) + case tt._with: return this.parseWithStatement(node) + case tt.braceL: return this.parseBlock() + case tt.semi: return this.parseEmptyStatement(node) + case tt._export: + case tt._import: + if (!this.options.allowImportExportEverywhere) { + if (!topLevel) + this.raise(this.start, "'import' and 'export' may only appear at the top level") + if (!this.inModule) + this.raise(this.start, "'import' and 'export' may appear only with 'sourceType: module'") + } + return starttype === tt._import ? this.parseImport(node) : this.parseExport(node, exports) + + // If the statement does not start with a statement keyword or a + // brace, it's an ExpressionStatement or LabeledStatement. We + // simply start parsing an expression, and afterwards, if the + // next token is a colon and the expression was a simple + // Identifier node, we switch to interpreting it as a label. + default: + if (this.isAsyncFunction()) { + if (!declaration) this.unexpected() + this.next() + return this.parseFunctionStatement(node, true) + } + + let maybeName = this.value, expr = this.parseExpression() + if (starttype === tt.name && expr.type === "Identifier" && this.eat(tt.colon)) + return this.parseLabeledStatement(node, maybeName, expr) + else return this.parseExpressionStatement(node, expr) + } +} + +pp.parseBreakContinueStatement = function(node, keyword) { + let isBreak = keyword == "break" + this.next() + if (this.eat(tt.semi) || this.insertSemicolon()) node.label = null + else if (this.type !== tt.name) this.unexpected() + else { + node.label = this.parseIdent() + this.semicolon() + } + + // Verify that there is an actual destination to break or + // continue to. + let i = 0 + for (; i < this.labels.length; ++i) { + let lab = this.labels[i] + if (node.label == null || lab.name === node.label.name) { + if (lab.kind != null && (isBreak || lab.kind === "loop")) break + if (node.label && isBreak) break + } + } + if (i === this.labels.length) this.raise(node.start, "Unsyntactic " + keyword) + return this.finishNode(node, isBreak ? "BreakStatement" : "ContinueStatement") +} + +pp.parseDebuggerStatement = function(node) { + this.next() + this.semicolon() + return this.finishNode(node, "DebuggerStatement") +} + +pp.parseDoStatement = function(node) { + this.next() + this.labels.push(loopLabel) + node.body = this.parseStatement(false) + this.labels.pop() + this.expect(tt._while) + node.test = this.parseParenExpression() + if (this.options.ecmaVersion >= 6) + this.eat(tt.semi) + else + this.semicolon() + return this.finishNode(node, "DoWhileStatement") +} + +// Disambiguating between a `for` and a `for`/`in` or `for`/`of` +// loop is non-trivial. Basically, we have to parse the init `var` +// statement or expression, disallowing the `in` operator (see +// the second parameter to `parseExpression`), and then check +// whether the next token is `in` or `of`. When there is no init +// part (semicolon immediately after the opening parenthesis), it +// is a regular `for` loop. + +pp.parseForStatement = function(node) { + this.next() + let awaitAt = (this.options.ecmaVersion >= 9 && this.inAsync && this.eatContextual("await")) ? this.lastTokStart : -1 + this.labels.push(loopLabel) + this.enterLexicalScope() + this.expect(tt.parenL) + if (this.type === tt.semi) { + if (awaitAt > -1) this.unexpected(awaitAt) + return this.parseFor(node, null) + } + let isLet = this.isLet() + if (this.type === tt._var || this.type === tt._const || isLet) { + let init = this.startNode(), kind = isLet ? "let" : this.value + this.next() + this.parseVar(init, true, kind) + this.finishNode(init, "VariableDeclaration") + if ((this.type === tt._in || (this.options.ecmaVersion >= 6 && this.isContextual("of"))) && init.declarations.length === 1 && + !(kind !== "var" && init.declarations[0].init)) { + if (this.options.ecmaVersion >= 9) { + if (this.type === tt._in) { + if (awaitAt > -1) this.unexpected(awaitAt) + } else node.await = awaitAt > -1 + } + return this.parseForIn(node, init) + } + if (awaitAt > -1) this.unexpected(awaitAt) + return this.parseFor(node, init) + } + let refDestructuringErrors = new DestructuringErrors + let init = this.parseExpression(true, refDestructuringErrors) + if (this.type === tt._in || (this.options.ecmaVersion >= 6 && this.isContextual("of"))) { + if (this.options.ecmaVersion >= 9) { + if (this.type === tt._in) { + if (awaitAt > -1) this.unexpected(awaitAt) + } else node.await = awaitAt > -1 + } + this.toAssignable(init, false, refDestructuringErrors) + this.checkLVal(init) + return this.parseForIn(node, init) + } else { + this.checkExpressionErrors(refDestructuringErrors, true) + } + if (awaitAt > -1) this.unexpected(awaitAt) + return this.parseFor(node, init) +} + +pp.parseFunctionStatement = function(node, isAsync) { + this.next() + return this.parseFunction(node, true, false, isAsync) +} + +pp.parseIfStatement = function(node) { + this.next() + node.test = this.parseParenExpression() + // allow function declarations in branches, but only in non-strict mode + node.consequent = this.parseStatement(!this.strict && this.type == tt._function) + node.alternate = this.eat(tt._else) ? this.parseStatement(!this.strict && this.type == tt._function) : null + return this.finishNode(node, "IfStatement") +} + +pp.parseReturnStatement = function(node) { + if (!this.inFunction && !this.options.allowReturnOutsideFunction) + this.raise(this.start, "'return' outside of function") + this.next() + + // In `return` (and `break`/`continue`), the keywords with + // optional arguments, we eagerly look for a semicolon or the + // possibility to insert one. + + if (this.eat(tt.semi) || this.insertSemicolon()) node.argument = null + else { node.argument = this.parseExpression(); this.semicolon() } + return this.finishNode(node, "ReturnStatement") +} + +pp.parseSwitchStatement = function(node) { + this.next() + node.discriminant = this.parseParenExpression() + node.cases = [] + this.expect(tt.braceL) + this.labels.push(switchLabel) + this.enterLexicalScope() + + // Statements under must be grouped (by label) in SwitchCase + // nodes. `cur` is used to keep the node that we are currently + // adding statements to. + + let cur + for (let sawDefault = false; this.type != tt.braceR;) { + if (this.type === tt._case || this.type === tt._default) { + let isCase = this.type === tt._case + if (cur) this.finishNode(cur, "SwitchCase") + node.cases.push(cur = this.startNode()) + cur.consequent = [] + this.next() + if (isCase) { + cur.test = this.parseExpression() + } else { + if (sawDefault) this.raiseRecoverable(this.lastTokStart, "Multiple default clauses") + sawDefault = true + cur.test = null + } + this.expect(tt.colon) + } else { + if (!cur) this.unexpected() + cur.consequent.push(this.parseStatement(true)) + } + } + this.exitLexicalScope() + if (cur) this.finishNode(cur, "SwitchCase") + this.next() // Closing brace + this.labels.pop() + return this.finishNode(node, "SwitchStatement") +} + +pp.parseThrowStatement = function(node) { + this.next() + if (lineBreak.test(this.input.slice(this.lastTokEnd, this.start))) + this.raise(this.lastTokEnd, "Illegal newline after throw") + node.argument = this.parseExpression() + this.semicolon() + return this.finishNode(node, "ThrowStatement") +} + +// Reused empty array added for node fields that are always empty. + +const empty = [] + +pp.parseTryStatement = function(node) { + this.next() + node.block = this.parseBlock() + node.handler = null + if (this.type === tt._catch) { + let clause = this.startNode() + this.next() + this.expect(tt.parenL) + clause.param = this.parseBindingAtom() + this.enterLexicalScope() + this.checkLVal(clause.param, "let") + this.expect(tt.parenR) + clause.body = this.parseBlock(false) + this.exitLexicalScope() + node.handler = this.finishNode(clause, "CatchClause") + } + node.finalizer = this.eat(tt._finally) ? this.parseBlock() : null + if (!node.handler && !node.finalizer) + this.raise(node.start, "Missing catch or finally clause") + return this.finishNode(node, "TryStatement") +} + +pp.parseVarStatement = function(node, kind) { + this.next() + this.parseVar(node, false, kind) + this.semicolon() + return this.finishNode(node, "VariableDeclaration") +} + +pp.parseWhileStatement = function(node) { + this.next() + node.test = this.parseParenExpression() + this.labels.push(loopLabel) + node.body = this.parseStatement(false) + this.labels.pop() + return this.finishNode(node, "WhileStatement") +} + +pp.parseWithStatement = function(node) { + if (this.strict) this.raise(this.start, "'with' in strict mode") + this.next() + node.object = this.parseParenExpression() + node.body = this.parseStatement(false) + return this.finishNode(node, "WithStatement") +} + +pp.parseEmptyStatement = function(node) { + this.next() + return this.finishNode(node, "EmptyStatement") +} + +pp.parseLabeledStatement = function(node, maybeName, expr) { + for (let label of this.labels) + if (label.name === maybeName) + this.raise(expr.start, "Label '" + maybeName + "' is already declared") + let kind = this.type.isLoop ? "loop" : this.type === tt._switch ? "switch" : null + for (let i = this.labels.length - 1; i >= 0; i--) { + let label = this.labels[i] + if (label.statementStart == node.start) { + // Update information about previous labels on this node + label.statementStart = this.start + label.kind = kind + } else break + } + this.labels.push({name: maybeName, kind, statementStart: this.start}) + node.body = this.parseStatement(true) + if (node.body.type == "ClassDeclaration" || + node.body.type == "VariableDeclaration" && node.body.kind != "var" || + node.body.type == "FunctionDeclaration" && (this.strict || node.body.generator)) + this.raiseRecoverable(node.body.start, "Invalid labeled declaration") + this.labels.pop() + node.label = expr + return this.finishNode(node, "LabeledStatement") +} + +pp.parseExpressionStatement = function(node, expr) { + node.expression = expr + this.semicolon() + return this.finishNode(node, "ExpressionStatement") +} + +// Parse a semicolon-enclosed block of statements, handling `"use +// strict"` declarations when `allowStrict` is true (used for +// function bodies). + +pp.parseBlock = function(createNewLexicalScope = true) { + let node = this.startNode() + node.body = [] + this.expect(tt.braceL) + if (createNewLexicalScope) { + this.enterLexicalScope() + } + while (!this.eat(tt.braceR)) { + let stmt = this.parseStatement(true) + node.body.push(stmt) + } + if (createNewLexicalScope) { + this.exitLexicalScope() + } + return this.finishNode(node, "BlockStatement") +} + +// Parse a regular `for` loop. The disambiguation code in +// `parseStatement` will already have parsed the init statement or +// expression. + +pp.parseFor = function(node, init) { + node.init = init + this.expect(tt.semi) + node.test = this.type === tt.semi ? null : this.parseExpression() + this.expect(tt.semi) + node.update = this.type === tt.parenR ? null : this.parseExpression() + this.expect(tt.parenR) + this.exitLexicalScope() + node.body = this.parseStatement(false) + this.labels.pop() + return this.finishNode(node, "ForStatement") +} + +// Parse a `for`/`in` and `for`/`of` loop, which are almost +// same from parser's perspective. + +pp.parseForIn = function(node, init) { + let type = this.type === tt._in ? "ForInStatement" : "ForOfStatement" + this.next() + if (type == "ForInStatement") { + if (init.type === "AssignmentPattern" || + (init.type === "VariableDeclaration" && init.declarations[0].init != null && + (this.strict || init.declarations[0].id.type !== "Identifier"))) + this.raise(init.start, "Invalid assignment in for-in loop head") + } + node.left = init + node.right = type == "ForInStatement" ? this.parseExpression() : this.parseMaybeAssign() + this.expect(tt.parenR) + this.exitLexicalScope() + node.body = this.parseStatement(false) + this.labels.pop() + return this.finishNode(node, type) +} + +// Parse a list of variable declarations. + +pp.parseVar = function(node, isFor, kind) { + node.declarations = [] + node.kind = kind + for (;;) { + let decl = this.startNode() + this.parseVarId(decl, kind) + if (this.eat(tt.eq)) { + decl.init = this.parseMaybeAssign(isFor) + } else if (kind === "const" && !(this.type === tt._in || (this.options.ecmaVersion >= 6 && this.isContextual("of")))) { + this.unexpected() + } else if (decl.id.type != "Identifier" && !(isFor && (this.type === tt._in || this.isContextual("of")))) { + this.raise(this.lastTokEnd, "Complex binding patterns require an initialization value") + } else { + decl.init = null + } + node.declarations.push(this.finishNode(decl, "VariableDeclarator")) + if (!this.eat(tt.comma)) break + } + return node +} + +pp.parseVarId = function(decl, kind) { + decl.id = this.parseBindingAtom(kind) + this.checkLVal(decl.id, kind, false) +} + +// Parse a function declaration or literal (depending on the +// `isStatement` parameter). + +pp.parseFunction = function(node, isStatement, allowExpressionBody, isAsync) { + this.initFunction(node) + if (this.options.ecmaVersion >= 9 || this.options.ecmaVersion >= 6 && !isAsync) + node.generator = this.eat(tt.star) + if (this.options.ecmaVersion >= 8) + node.async = !!isAsync + + if (isStatement) { + node.id = isStatement === "nullableID" && this.type != tt.name ? null : this.parseIdent() + if (node.id) { + this.checkLVal(node.id, "var") + } + } + + let oldInGen = this.inGenerator, oldInAsync = this.inAsync, + oldYieldPos = this.yieldPos, oldAwaitPos = this.awaitPos, oldInFunc = this.inFunction + this.inGenerator = node.generator + this.inAsync = node.async + this.yieldPos = 0 + this.awaitPos = 0 + this.inFunction = true + this.enterFunctionScope() + + if (!isStatement) + node.id = this.type == tt.name ? this.parseIdent() : null + + this.parseFunctionParams(node) + this.parseFunctionBody(node, allowExpressionBody) + + this.inGenerator = oldInGen + this.inAsync = oldInAsync + this.yieldPos = oldYieldPos + this.awaitPos = oldAwaitPos + this.inFunction = oldInFunc + return this.finishNode(node, isStatement ? "FunctionDeclaration" : "FunctionExpression") +} + +pp.parseFunctionParams = function(node) { + this.expect(tt.parenL) + node.params = this.parseBindingList(tt.parenR, false, this.options.ecmaVersion >= 8) + this.checkYieldAwaitInDefaultParams() +} + +// Parse a class declaration or literal (depending on the +// `isStatement` parameter). + +pp.parseClass = function(node, isStatement) { + this.next() + + this.parseClassId(node, isStatement) + this.parseClassSuper(node) + let classBody = this.startNode() + let hadConstructor = false + classBody.body = [] + this.expect(tt.braceL) + while (!this.eat(tt.braceR)) { + const member = this.parseClassMember(classBody) + if (member && member.type === "MethodDefinition" && member.kind === "constructor") { + if (hadConstructor) this.raise(member.start, "Duplicate constructor in the same class") + hadConstructor = true + } + } + node.body = this.finishNode(classBody, "ClassBody") + return this.finishNode(node, isStatement ? "ClassDeclaration" : "ClassExpression") +} + +pp.parseClassMember = function(classBody) { + if (this.eat(tt.semi)) return null + + let method = this.startNode() + const tryContextual = (k, noLineBreak = false) => { + const start = this.start, startLoc = this.startLoc + if (!this.eatContextual(k)) return false + if (this.type !== tt.parenL && (!noLineBreak || !this.canInsertSemicolon())) return true + if (method.key) this.unexpected() + method.computed = false + method.key = this.startNodeAt(start, startLoc) + method.key.name = k + this.finishNode(method.key, "Identifier") + return false + } + + method.kind = "method" + method.static = tryContextual("static") + let isGenerator = this.eat(tt.star) + let isAsync = false + if (!isGenerator) { + if (this.options.ecmaVersion >= 8 && tryContextual("async", true)) { + isAsync = true + isGenerator = this.options.ecmaVersion >= 9 && this.eat(tt.star) + } else if (tryContextual("get")) { + method.kind = "get" + } else if (tryContextual("set")) { + method.kind = "set" + } + } + if (!method.key) this.parsePropertyName(method) + let {key} = method + if (!method.computed && !method.static && (key.type === "Identifier" && key.name === "constructor" || + key.type === "Literal" && key.value === "constructor")) { + if (method.kind !== "method") this.raise(key.start, "Constructor can't have get/set modifier") + if (isGenerator) this.raise(key.start, "Constructor can't be a generator") + if (isAsync) this.raise(key.start, "Constructor can't be an async method") + method.kind = "constructor" + } else if (method.static && key.type === "Identifier" && key.name === "prototype") { + this.raise(key.start, "Classes may not have a static property named prototype") + } + this.parseClassMethod(classBody, method, isGenerator, isAsync) + if (method.kind === "get" && method.value.params.length !== 0) + this.raiseRecoverable(method.value.start, "getter should have no params") + if (method.kind === "set" && method.value.params.length !== 1) + this.raiseRecoverable(method.value.start, "setter should have exactly one param") + if (method.kind === "set" && method.value.params[0].type === "RestElement") + this.raiseRecoverable(method.value.params[0].start, "Setter cannot use rest params") + return method +} + +pp.parseClassMethod = function(classBody, method, isGenerator, isAsync) { + method.value = this.parseMethod(isGenerator, isAsync) + classBody.body.push(this.finishNode(method, "MethodDefinition")) +} + +pp.parseClassId = function(node, isStatement) { + node.id = this.type === tt.name ? this.parseIdent() : isStatement === true ? this.unexpected() : null +} + +pp.parseClassSuper = function(node) { + node.superClass = this.eat(tt._extends) ? this.parseExprSubscripts() : null +} + +// Parses module export declaration. + +pp.parseExport = function(node, exports) { + this.next() + // export * from '...' + if (this.eat(tt.star)) { + this.expectContextual("from") + if (this.type !== tt.string) this.unexpected() + node.source = this.parseExprAtom() + this.semicolon() + return this.finishNode(node, "ExportAllDeclaration") + } + if (this.eat(tt._default)) { // export default ... + this.checkExport(exports, "default", this.lastTokStart) + let isAsync + if (this.type === tt._function || (isAsync = this.isAsyncFunction())) { + let fNode = this.startNode() + this.next() + if (isAsync) this.next() + node.declaration = this.parseFunction(fNode, "nullableID", false, isAsync) + } else if (this.type === tt._class) { + let cNode = this.startNode() + node.declaration = this.parseClass(cNode, "nullableID") + } else { + node.declaration = this.parseMaybeAssign() + this.semicolon() + } + return this.finishNode(node, "ExportDefaultDeclaration") + } + // export var|const|let|function|class ... + if (this.shouldParseExportStatement()) { + node.declaration = this.parseStatement(true) + if (node.declaration.type === "VariableDeclaration") + this.checkVariableExport(exports, node.declaration.declarations) + else + this.checkExport(exports, node.declaration.id.name, node.declaration.id.start) + node.specifiers = [] + node.source = null + } else { // export { x, y as z } [from '...'] + node.declaration = null + node.specifiers = this.parseExportSpecifiers(exports) + if (this.eatContextual("from")) { + if (this.type !== tt.string) this.unexpected() + node.source = this.parseExprAtom() + } else { + // check for keywords used as local names + for (let spec of node.specifiers) { + this.checkUnreserved(spec.local) + } + + node.source = null + } + this.semicolon() + } + return this.finishNode(node, "ExportNamedDeclaration") +} + +pp.checkExport = function(exports, name, pos) { + if (!exports) return + if (has(exports, name)) + this.raiseRecoverable(pos, "Duplicate export '" + name + "'") + exports[name] = true +} + +pp.checkPatternExport = function(exports, pat) { + let type = pat.type + if (type == "Identifier") + this.checkExport(exports, pat.name, pat.start) + else if (type == "ObjectPattern") + for (let prop of pat.properties) + this.checkPatternExport(exports, prop) + else if (type == "ArrayPattern") + for (let elt of pat.elements) { + if (elt) this.checkPatternExport(exports, elt) + } + else if (type == "Property") + this.checkPatternExport(exports, pat.value) + else if (type == "AssignmentPattern") + this.checkPatternExport(exports, pat.left) + else if (type == "RestElement") + this.checkPatternExport(exports, pat.argument) + else if (type == "ParenthesizedExpression") + this.checkPatternExport(exports, pat.expression) +} + +pp.checkVariableExport = function(exports, decls) { + if (!exports) return + for (let decl of decls) + this.checkPatternExport(exports, decl.id) +} + +pp.shouldParseExportStatement = function() { + return this.type.keyword === "var" || + this.type.keyword === "const" || + this.type.keyword === "class" || + this.type.keyword === "function" || + this.isLet() || + this.isAsyncFunction() +} + +// Parses a comma-separated list of module exports. + +pp.parseExportSpecifiers = function(exports) { + let nodes = [], first = true + // export { x, y as z } [from '...'] + this.expect(tt.braceL) + while (!this.eat(tt.braceR)) { + if (!first) { + this.expect(tt.comma) + if (this.afterTrailingComma(tt.braceR)) break + } else first = false + + let node = this.startNode() + node.local = this.parseIdent(true) + node.exported = this.eatContextual("as") ? this.parseIdent(true) : node.local + this.checkExport(exports, node.exported.name, node.exported.start) + nodes.push(this.finishNode(node, "ExportSpecifier")) + } + return nodes +} + +// Parses import declaration. + +pp.parseImport = function(node) { + this.next() + // import '...' + if (this.type === tt.string) { + node.specifiers = empty + node.source = this.parseExprAtom() + } else { + node.specifiers = this.parseImportSpecifiers() + this.expectContextual("from") + node.source = this.type === tt.string ? this.parseExprAtom() : this.unexpected() + } + this.semicolon() + return this.finishNode(node, "ImportDeclaration") +} + +// Parses a comma-separated list of module imports. + +pp.parseImportSpecifiers = function() { + let nodes = [], first = true + if (this.type === tt.name) { + // import defaultObj, { x, y as z } from '...' + let node = this.startNode() + node.local = this.parseIdent() + this.checkLVal(node.local, "let") + nodes.push(this.finishNode(node, "ImportDefaultSpecifier")) + if (!this.eat(tt.comma)) return nodes + } + if (this.type === tt.star) { + let node = this.startNode() + this.next() + this.expectContextual("as") + node.local = this.parseIdent() + this.checkLVal(node.local, "let") + nodes.push(this.finishNode(node, "ImportNamespaceSpecifier")) + return nodes + } + this.expect(tt.braceL) + while (!this.eat(tt.braceR)) { + if (!first) { + this.expect(tt.comma) + if (this.afterTrailingComma(tt.braceR)) break + } else first = false + + let node = this.startNode() + node.imported = this.parseIdent(true) + if (this.eatContextual("as")) { + node.local = this.parseIdent() + } else { + this.checkUnreserved(node.imported) + node.local = node.imported + } + this.checkLVal(node.local, "let") + nodes.push(this.finishNode(node, "ImportSpecifier")) + } + return nodes +} + +// Set `ExpressionStatement#directive` property for directive prologues. +pp.adaptDirectivePrologue = function(statements) { + for (let i = 0; i < statements.length && this.isDirectiveCandidate(statements[i]); ++i) { + statements[i].directive = statements[i].expression.raw.slice(1, -1) + } +} +pp.isDirectiveCandidate = function(statement) { + return ( + statement.type === "ExpressionStatement" && + statement.expression.type === "Literal" && + typeof statement.expression.value === "string" && + // Reject parenthesized strings. + (this.input[statement.start] === "\"" || this.input[statement.start] === "'") + ) +} diff --git a/tools/tests/apps/modules/imports/links/acorn/src/tokencontext.js b/tools/tests/apps/modules/imports/links/acorn/src/tokencontext.js new file mode 100644 index 0000000000..18dda85ce6 --- /dev/null +++ b/tools/tests/apps/modules/imports/links/acorn/src/tokencontext.js @@ -0,0 +1,148 @@ +// The algorithm used to determine whether a regexp can appear at a +// given point in the program is loosely based on sweet.js' approach. +// See https://github.com/mozilla/sweet.js/wiki/design + +import {Parser} from "./state" +import {types as tt} from "./tokentype" +import {lineBreak} from "./whitespace" + +export class TokContext { + constructor(token, isExpr, preserveSpace, override, generator) { + this.token = token + this.isExpr = !!isExpr + this.preserveSpace = !!preserveSpace + this.override = override + this.generator = !!generator + } +} + +export const types = { + b_stat: new TokContext("{", false), + b_expr: new TokContext("{", true), + b_tmpl: new TokContext("${", false), + p_stat: new TokContext("(", false), + p_expr: new TokContext("(", true), + q_tmpl: new TokContext("`", true, true, p => p.tryReadTemplateToken()), + f_stat: new TokContext("function", false), + f_expr: new TokContext("function", true), + f_expr_gen: new TokContext("function", true, false, null, true), + f_gen: new TokContext("function", false, false, null, true) +} + +const pp = Parser.prototype + +pp.initialContext = function() { + return [types.b_stat] +} + +pp.braceIsBlock = function(prevType) { + let parent = this.curContext() + if (parent === types.f_expr || parent === types.f_stat) + return true + if (prevType === tt.colon && (parent === types.b_stat || parent === types.b_expr)) + return !parent.isExpr + + // The check for `tt.name && exprAllowed` detects whether we are + // after a `yield` or `of` construct. See the `updateContext` for + // `tt.name`. + if (prevType === tt._return || prevType == tt.name && this.exprAllowed) + return lineBreak.test(this.input.slice(this.lastTokEnd, this.start)) + if (prevType === tt._else || prevType === tt.semi || prevType === tt.eof || prevType === tt.parenR || prevType == tt.arrow) + return true + if (prevType == tt.braceL) + return parent === types.b_stat + if (prevType == tt._var || prevType == tt.name) + return false + return !this.exprAllowed +} + +pp.inGeneratorContext = function() { + for (let i = this.context.length - 1; i >= 1; i--) { + let context = this.context[i] + if (context.token === "function") + return context.generator + } + return false +} + +pp.updateContext = function(prevType) { + let update, type = this.type + if (type.keyword && prevType == tt.dot) + this.exprAllowed = false + else if (update = type.updateContext) + update.call(this, prevType) + else + this.exprAllowed = type.beforeExpr +} + +// Token-specific context update code + +tt.parenR.updateContext = tt.braceR.updateContext = function() { + if (this.context.length == 1) { + this.exprAllowed = true + return + } + let out = this.context.pop() + if (out === types.b_stat && this.curContext().token === "function") { + out = this.context.pop() + } + this.exprAllowed = !out.isExpr +} + +tt.braceL.updateContext = function(prevType) { + this.context.push(this.braceIsBlock(prevType) ? types.b_stat : types.b_expr) + this.exprAllowed = true +} + +tt.dollarBraceL.updateContext = function() { + this.context.push(types.b_tmpl) + this.exprAllowed = true +} + +tt.parenL.updateContext = function(prevType) { + let statementParens = prevType === tt._if || prevType === tt._for || prevType === tt._with || prevType === tt._while + this.context.push(statementParens ? types.p_stat : types.p_expr) + this.exprAllowed = true +} + +tt.incDec.updateContext = function() { + // tokExprAllowed stays unchanged +} + +tt._function.updateContext = tt._class.updateContext = function(prevType) { + if (prevType.beforeExpr && prevType !== tt.semi && prevType !== tt._else && + !((prevType === tt.colon || prevType === tt.braceL) && this.curContext() === types.b_stat)) + this.context.push(types.f_expr) + else + this.context.push(types.f_stat) + this.exprAllowed = false +} + +tt.backQuote.updateContext = function() { + if (this.curContext() === types.q_tmpl) + this.context.pop() + else + this.context.push(types.q_tmpl) + this.exprAllowed = false +} + +tt.star.updateContext = function(prevType) { + if (prevType == tt._function) { + let index = this.context.length - 1 + if (this.context[index] === types.f_expr) + this.context[index] = types.f_expr_gen + else + this.context[index] = types.f_gen + } + this.exprAllowed = true +} + +tt.name.updateContext = function(prevType) { + let allowed = false + if (this.options.ecmaVersion >= 6) { + if (this.value == "of" && !this.exprAllowed || + this.value == "yield" && this.inGeneratorContext()) + allowed = true + } + this.exprAllowed = allowed +} diff --git a/tools/tests/apps/modules/imports/links/acorn/src/tokenize.js b/tools/tests/apps/modules/imports/links/acorn/src/tokenize.js new file mode 100644 index 0000000000..3afb8386f2 --- /dev/null +++ b/tools/tests/apps/modules/imports/links/acorn/src/tokenize.js @@ -0,0 +1,698 @@ +import {isIdentifierStart, isIdentifierChar} from "./identifier" +import {types as tt, keywords as keywordTypes} from "./tokentype" +import {Parser} from "./state" +import {SourceLocation} from "./locutil" +import {RegExpValidationState} from "./regexp" +import {lineBreak, lineBreakG, isNewLine, nonASCIIwhitespace} from "./whitespace" + +// Object type used to represent tokens. Note that normally, tokens +// simply exist as properties on the parser object. This is only +// used for the onToken callback and the external tokenizer. + +export class Token { + constructor(p) { + this.type = p.type + this.value = p.value + this.start = p.start + this.end = p.end + if (p.options.locations) + this.loc = new SourceLocation(p, p.startLoc, p.endLoc) + if (p.options.ranges) + this.range = [p.start, p.end] + } +} + +// ## Tokenizer + +const pp = Parser.prototype + +// Move to the next token + +pp.next = function() { + if (this.options.onToken) + this.options.onToken(new Token(this)) + + this.lastTokEnd = this.end + this.lastTokStart = this.start + this.lastTokEndLoc = this.endLoc + this.lastTokStartLoc = this.startLoc + this.nextToken() +} + +pp.getToken = function() { + this.next() + return new Token(this) +} + +// If we're in an ES6 environment, make parsers iterable +if (typeof Symbol !== "undefined") + pp[Symbol.iterator] = function() { + return { + next: () => { + let token = this.getToken() + return { + done: token.type === tt.eof, + value: token + } + } + } + } + +// Toggle strict mode. Re-reads the next number or string to please +// pedantic tests (`"use strict"; 010;` should fail). + +pp.curContext = function() { + return this.context[this.context.length - 1] +} + +// Read a single token, updating the parser object's token-related +// properties. + +pp.nextToken = function() { + let curContext = this.curContext() + if (!curContext || !curContext.preserveSpace) this.skipSpace() + + this.start = this.pos + if (this.options.locations) this.startLoc = this.curPosition() + if (this.pos >= this.input.length) return this.finishToken(tt.eof) + + if (curContext.override) return curContext.override(this) + else this.readToken(this.fullCharCodeAtPos()) +} + +pp.readToken = function(code) { + // Identifier or keyword. '\uXXXX' sequences are allowed in + // identifiers, so '\' also dispatches to that. + if (isIdentifierStart(code, this.options.ecmaVersion >= 6) || code === 92 /* '\' */) + return this.readWord() + + return this.getTokenFromCode(code) +} + +pp.fullCharCodeAtPos = function() { + let code = this.input.charCodeAt(this.pos) + if (code <= 0xd7ff || code >= 0xe000) return code + let next = this.input.charCodeAt(this.pos + 1) + return (code << 10) + next - 0x35fdc00 +} + +pp.skipBlockComment = function() { + let startLoc = this.options.onComment && this.curPosition() + let start = this.pos, end = this.input.indexOf("*/", this.pos += 2) + if (end === -1) this.raise(this.pos - 2, "Unterminated comment") + this.pos = end + 2 + if (this.options.locations) { + lineBreakG.lastIndex = start + let match + while ((match = lineBreakG.exec(this.input)) && match.index < this.pos) { + ++this.curLine + this.lineStart = match.index + match[0].length + } + } + if (this.options.onComment) + this.options.onComment(true, this.input.slice(start + 2, end), start, this.pos, + startLoc, this.curPosition()) +} + +pp.skipLineComment = function(startSkip) { + let start = this.pos + let startLoc = this.options.onComment && this.curPosition() + let ch = this.input.charCodeAt(this.pos += startSkip) + while (this.pos < this.input.length && !isNewLine(ch)) { + ch = this.input.charCodeAt(++this.pos) + } + if (this.options.onComment) + this.options.onComment(false, this.input.slice(start + startSkip, this.pos), start, this.pos, + startLoc, this.curPosition()) +} + +// Called at the start of the parse and after every token. Skips +// whitespace and comments, and. + +pp.skipSpace = function() { + loop: while (this.pos < this.input.length) { + let ch = this.input.charCodeAt(this.pos) + switch (ch) { + case 32: case 160: // ' ' + ++this.pos + break + case 13: + if (this.input.charCodeAt(this.pos + 1) === 10) { + ++this.pos + } + case 10: case 8232: case 8233: + ++this.pos + if (this.options.locations) { + ++this.curLine + this.lineStart = this.pos + } + break + case 47: // '/' + switch (this.input.charCodeAt(this.pos + 1)) { + case 42: // '*' + this.skipBlockComment() + break + case 47: + this.skipLineComment(2) + break + default: + break loop + } + break + default: + if (ch > 8 && ch < 14 || ch >= 5760 && nonASCIIwhitespace.test(String.fromCharCode(ch))) { + ++this.pos + } else { + break loop + } + } + } +} + +// Called at the end of every token. Sets `end`, `val`, and +// maintains `context` and `exprAllowed`, and skips the space after +// the token, so that the next one's `start` will point at the +// right position. + +pp.finishToken = function(type, val) { + this.end = this.pos + if (this.options.locations) this.endLoc = this.curPosition() + let prevType = this.type + this.type = type + this.value = val + + this.updateContext(prevType) +} + +// ### Token reading + +// This is the function that is called to fetch the next token. It +// is somewhat obscure, because it works in character codes rather +// than characters, and because operator parsing has been inlined +// into it. +// +// All in the name of speed. +// +pp.readToken_dot = function() { + let next = this.input.charCodeAt(this.pos + 1) + if (next >= 48 && next <= 57) return this.readNumber(true) + let next2 = this.input.charCodeAt(this.pos + 2) + if (this.options.ecmaVersion >= 6 && next === 46 && next2 === 46) { // 46 = dot '.' + this.pos += 3 + return this.finishToken(tt.ellipsis) + } else { + ++this.pos + return this.finishToken(tt.dot) + } +} + +pp.readToken_slash = function() { // '/' + let next = this.input.charCodeAt(this.pos + 1) + if (this.exprAllowed) { ++this.pos; return this.readRegexp() } + if (next === 61) return this.finishOp(tt.assign, 2) + return this.finishOp(tt.slash, 1) +} + +pp.readToken_mult_modulo_exp = function(code) { // '%*' + let next = this.input.charCodeAt(this.pos + 1) + let size = 1 + let tokentype = code === 42 ? tt.star : tt.modulo + + // exponentiation operator ** and **= + if (this.options.ecmaVersion >= 7 && code == 42 && next === 42) { + ++size + tokentype = tt.starstar + next = this.input.charCodeAt(this.pos + 2) + } + + if (next === 61) return this.finishOp(tt.assign, size + 1) + return this.finishOp(tokentype, size) +} + +pp.readToken_pipe_amp = function(code) { // '|&' + let next = this.input.charCodeAt(this.pos + 1) + if (next === code) return this.finishOp(code === 124 ? tt.logicalOR : tt.logicalAND, 2) + if (next === 61) return this.finishOp(tt.assign, 2) + return this.finishOp(code === 124 ? tt.bitwiseOR : tt.bitwiseAND, 1) +} + +pp.readToken_caret = function() { // '^' + let next = this.input.charCodeAt(this.pos + 1) + if (next === 61) return this.finishOp(tt.assign, 2) + return this.finishOp(tt.bitwiseXOR, 1) +} + +pp.readToken_plus_min = function(code) { // '+-' + let next = this.input.charCodeAt(this.pos + 1) + if (next === code) { + if (next == 45 && !this.inModule && this.input.charCodeAt(this.pos + 2) == 62 && + (this.lastTokEnd === 0 || lineBreak.test(this.input.slice(this.lastTokEnd, this.pos)))) { + // A `-->` line comment + this.skipLineComment(3) + this.skipSpace() + return this.nextToken() + } + return this.finishOp(tt.incDec, 2) + } + if (next === 61) return this.finishOp(tt.assign, 2) + return this.finishOp(tt.plusMin, 1) +} + +pp.readToken_lt_gt = function(code) { // '<>' + let next = this.input.charCodeAt(this.pos + 1) + let size = 1 + if (next === code) { + size = code === 62 && this.input.charCodeAt(this.pos + 2) === 62 ? 3 : 2 + if (this.input.charCodeAt(this.pos + size) === 61) return this.finishOp(tt.assign, size + 1) + return this.finishOp(tt.bitShift, size) + } + if (next == 33 && code == 60 && !this.inModule && this.input.charCodeAt(this.pos + 2) == 45 && + this.input.charCodeAt(this.pos + 3) == 45) { + // ` * (any, kinda silly) -// ~2, ~2.x, ~2.x.x, ~>2, ~>2.x ~>2.x.x --> >=2.0.0 <3.0.0 -// ~2.0, ~2.0.x, ~>2.0, ~>2.0.x --> >=2.0.0 <2.1.0 -// ~1.2, ~1.2.x, ~>1.2, ~>1.2.x --> >=1.2.0 <1.3.0 -// ~1.2.3, ~>1.2.3 --> >=1.2.3 <1.3.0 -// ~1.2.0, ~>1.2.0 --> >=1.2.0 <1.3.0 -function replaceTildes(comp, loose) { - return comp.trim().split(/\s+/).map(function(comp) { - return replaceTilde(comp, loose); - }).join(' '); -} - -function replaceTilde(comp, loose) { - var r = loose ? re[TILDELOOSE] : re[TILDE]; - return comp.replace(r, function(_, M, m, p, pr) { - debug('tilde', comp, _, M, m, p, pr); - var ret; - - if (isX(M)) - ret = ''; - else if (isX(m)) - ret = '>=' + M + '.0.0 <' + (+M + 1) + '.0.0'; - else if (isX(p)) - // ~1.2 == >=1.2.0- <1.3.0- - ret = '>=' + M + '.' + m + '.0 <' + M + '.' + (+m + 1) + '.0'; - else if (pr) { - debug('replaceTilde pr', pr); - if (pr.charAt(0) !== '-') - pr = '-' + pr; - ret = '>=' + M + '.' + m + '.' + p + pr + - ' <' + M + '.' + (+m + 1) + '.0'; - } else - // ~1.2.3 == >=1.2.3 <1.3.0 - ret = '>=' + M + '.' + m + '.' + p + - ' <' + M + '.' + (+m + 1) + '.0'; - - debug('tilde return', ret); - return ret; - }); -} - -// ^ --> * (any, kinda silly) -// ^2, ^2.x, ^2.x.x --> >=2.0.0 <3.0.0 -// ^2.0, ^2.0.x --> >=2.0.0 <3.0.0 -// ^1.2, ^1.2.x --> >=1.2.0 <2.0.0 -// ^1.2.3 --> >=1.2.3 <2.0.0 -// ^1.2.0 --> >=1.2.0 <2.0.0 -function replaceCarets(comp, loose) { - return comp.trim().split(/\s+/).map(function(comp) { - return replaceCaret(comp, loose); - }).join(' '); -} - -function replaceCaret(comp, loose) { - debug('caret', comp, loose); - var r = loose ? re[CARETLOOSE] : re[CARET]; - return comp.replace(r, function(_, M, m, p, pr) { - debug('caret', comp, _, M, m, p, pr); - var ret; - - if (isX(M)) - ret = ''; - else if (isX(m)) - ret = '>=' + M + '.0.0 <' + (+M + 1) + '.0.0'; - else if (isX(p)) { - if (M === '0') - ret = '>=' + M + '.' + m + '.0 <' + M + '.' + (+m + 1) + '.0'; - else - ret = '>=' + M + '.' + m + '.0 <' + (+M + 1) + '.0.0'; - } else if (pr) { - debug('replaceCaret pr', pr); - if (pr.charAt(0) !== '-') - pr = '-' + pr; - if (M === '0') { - if (m === '0') - ret = '>=' + M + '.' + m + '.' + p + pr + - ' <' + M + '.' + m + '.' + (+p + 1); - else - ret = '>=' + M + '.' + m + '.' + p + pr + - ' <' + M + '.' + (+m + 1) + '.0'; - } else - ret = '>=' + M + '.' + m + '.' + p + pr + - ' <' + (+M + 1) + '.0.0'; - } else { - debug('no pr'); - if (M === '0') { - if (m === '0') - ret = '>=' + M + '.' + m + '.' + p + - ' <' + M + '.' + m + '.' + (+p + 1); - else - ret = '>=' + M + '.' + m + '.' + p + - ' <' + M + '.' + (+m + 1) + '.0'; - } else - ret = '>=' + M + '.' + m + '.' + p + - ' <' + (+M + 1) + '.0.0'; - } - - debug('caret return', ret); - return ret; - }); -} - -function replaceXRanges(comp, loose) { - debug('replaceXRanges', comp, loose); - return comp.split(/\s+/).map(function(comp) { - return replaceXRange(comp, loose); - }).join(' '); -} - -function replaceXRange(comp, loose) { - comp = comp.trim(); - var r = loose ? re[XRANGELOOSE] : re[XRANGE]; - return comp.replace(r, function(ret, gtlt, M, m, p, pr) { - debug('xRange', comp, ret, gtlt, M, m, p, pr); - var xM = isX(M); - var xm = xM || isX(m); - var xp = xm || isX(p); - var anyX = xp; - - if (gtlt === '=' && anyX) - gtlt = ''; - - if (xM) { - if (gtlt === '>' || gtlt === '<') { - // nothing is allowed - ret = '<0.0.0'; - } else { - // nothing is forbidden - ret = '*'; - } - } else if (gtlt && anyX) { - // replace X with 0 - if (xm) - m = 0; - if (xp) - p = 0; - - if (gtlt === '>') { - // >1 => >=2.0.0 - // >1.2 => >=1.3.0 - // >1.2.3 => >= 1.2.4 - gtlt = '>='; - if (xm) { - M = +M + 1; - m = 0; - p = 0; - } else if (xp) { - m = +m + 1; - p = 0; - } - } else if (gtlt === '<=') { - // <=0.7.x is actually <0.8.0, since any 0.7.x should - // pass. Similarly, <=7.x is actually <8.0.0, etc. - gtlt = '<' - if (xm) - M = +M + 1 - else - m = +m + 1 - } - - ret = gtlt + M + '.' + m + '.' + p; - } else if (xm) { - ret = '>=' + M + '.0.0 <' + (+M + 1) + '.0.0'; - } else if (xp) { - ret = '>=' + M + '.' + m + '.0 <' + M + '.' + (+m + 1) + '.0'; - } - - debug('xRange return', ret); - - return ret; - }); -} - -// Because * is AND-ed with everything else in the comparator, -// and '' means "any version", just remove the *s entirely. -function replaceStars(comp, loose) { - debug('replaceStars', comp, loose); - // Looseness is ignored here. star is always as loose as it gets! - return comp.trim().replace(re[STAR], ''); -} - -// This function is passed to string.replace(re[HYPHENRANGE]) -// M, m, patch, prerelease, build -// 1.2 - 3.4.5 => >=1.2.0 <=3.4.5 -// 1.2.3 - 3.4 => >=1.2.0 <3.5.0 Any 3.4.x will do -// 1.2 - 3.4 => >=1.2.0 <3.5.0 -function hyphenReplace($0, - from, fM, fm, fp, fpr, fb, - to, tM, tm, tp, tpr, tb) { - - if (isX(fM)) - from = ''; - else if (isX(fm)) - from = '>=' + fM + '.0.0'; - else if (isX(fp)) - from = '>=' + fM + '.' + fm + '.0'; - else - from = '>=' + from; - - if (isX(tM)) - to = ''; - else if (isX(tm)) - to = '<' + (+tM + 1) + '.0.0'; - else if (isX(tp)) - to = '<' + tM + '.' + (+tm + 1) + '.0'; - else if (tpr) - to = '<=' + tM + '.' + tm + '.' + tp + '-' + tpr; - else - to = '<=' + to; - - return (from + ' ' + to).trim(); -} - - -// if ANY of the sets match ALL of its comparators, then pass -Range.prototype.test = function(version) { - if (!version) - return false; - - if (typeof version === 'string') - version = new SemVer(version, this.loose); - - for (var i = 0; i < this.set.length; i++) { - if (testSet(this.set[i], version)) - return true; - } - return false; -}; - -function testSet(set, version) { - for (var i = 0; i < set.length; i++) { - if (!set[i].test(version)) - return false; - } - - if (version.prerelease.length) { - // Find the set of versions that are allowed to have prereleases - // For example, ^1.2.3-pr.1 desugars to >=1.2.3-pr.1 <2.0.0 - // That should allow `1.2.3-pr.2` to pass. - // However, `1.2.4-alpha.notready` should NOT be allowed, - // even though it's within the range set by the comparators. - for (var i = 0; i < set.length; i++) { - debug(set[i].semver); - if (set[i].semver === ANY) - return true; - - if (set[i].semver.prerelease.length > 0) { - var allowed = set[i].semver; - if (allowed.major === version.major && - allowed.minor === version.minor && - allowed.patch === version.patch) - return true; - } - } - - // Version has a -pre, but it's not one of the ones we like. - return false; - } - - return true; -} - -exports.satisfies = satisfies; -function satisfies(version, range, loose) { - try { - range = new Range(range, loose); - } catch (er) { - return false; - } - return range.test(version); -} - -exports.maxSatisfying = maxSatisfying; -function maxSatisfying(versions, range, loose) { - return versions.filter(function(version) { - return satisfies(version, range, loose); - }).sort(function(a, b) { - return rcompare(a, b, loose); - })[0] || null; -} - -exports.validRange = validRange; -function validRange(range, loose) { - try { - // Return '*' instead of '' so that truthiness works. - // This will throw if it's invalid anyway - return new Range(range, loose).range || '*'; - } catch (er) { - return null; - } -} - -// Determine if version is less than all the versions possible in the range -exports.ltr = ltr; -function ltr(version, range, loose) { - return outside(version, range, '<', loose); -} - -// Determine if version is greater than all the versions possible in the range. -exports.gtr = gtr; -function gtr(version, range, loose) { - return outside(version, range, '>', loose); -} - -exports.outside = outside; -function outside(version, range, hilo, loose) { - version = new SemVer(version, loose); - range = new Range(range, loose); - - var gtfn, ltefn, ltfn, comp, ecomp; - switch (hilo) { - case '>': - gtfn = gt; - ltefn = lte; - ltfn = lt; - comp = '>'; - ecomp = '>='; - break; - case '<': - gtfn = lt; - ltefn = gte; - ltfn = gt; - comp = '<'; - ecomp = '<='; - break; - default: - throw new TypeError('Must provide a hilo val of "<" or ">"'); - } - - // If it satisifes the range it is not outside - if (satisfies(version, range, loose)) { - return false; - } - - // From now on, variable terms are as if we're in "gtr" mode. - // but note that everything is flipped for the "ltr" function. - - for (var i = 0; i < range.set.length; ++i) { - var comparators = range.set[i]; - - var high = null; - var low = null; - - comparators.forEach(function(comparator) { - high = high || comparator; - low = low || comparator; - if (gtfn(comparator.semver, high.semver, loose)) { - high = comparator; - } else if (ltfn(comparator.semver, low.semver, loose)) { - low = comparator; - } - }); - - // If the edge version comparator has a operator then our version - // isn't outside it - if (high.operator === comp || high.operator === ecomp) { - return false; - } - - // If the lowest version comparator has an operator and our version - // is less than it then it isn't higher than the range - if ((!low.operator || low.operator === comp) && - ltefn(version, low.semver)) { - return false; - } else if (low.operator === ecomp && ltfn(version, low.semver)) { - return false; - } - } - return true; -} - -// Use the define() function if we're in AMD land -if (typeof define === 'function' && define.amd) - define(exports); From 6fdd03bcae14258e492c6dc3a900c2a7e879e769 Mon Sep 17 00:00:00 2001 From: Florian Schaeffler Date: Thu, 29 Jun 2017 11:43:55 +0300 Subject: [PATCH 0706/1355] updated dependency of semver to the first patched one --- scripts/dev-bundle-server-package.js | 2 +- scripts/dev-bundle-tool-package.js | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/scripts/dev-bundle-server-package.js b/scripts/dev-bundle-server-package.js index 123ca8df95..d66bca35ac 100644 --- a/scripts/dev-bundle-server-package.js +++ b/scripts/dev-bundle-server-package.js @@ -17,7 +17,7 @@ var packageJson = { // (and there are backwards-incompatible changes either way). underscore: "1.5.2", "source-map-support": "https://github.com/meteor/node-source-map-support/tarball/1912478769d76e5df4c365e147f25896aee6375e", - semver: "4.1.0" + semver: "4.3.2" }, // These are only used in dev mode (by shell.js) so end-users can avoid // needing to install them if they use `npm install --production`. diff --git a/scripts/dev-bundle-tool-package.js b/scripts/dev-bundle-tool-package.js index 9fe31ddaa6..3022b2311d 100644 --- a/scripts/dev-bundle-tool-package.js +++ b/scripts/dev-bundle-tool-package.js @@ -27,7 +27,7 @@ var packageJson = { // (and there are backwards-incompatible changes either way). underscore: "1.5.2", "source-map-support": "https://github.com/meteor/node-source-map-support/tarball/1912478769d76e5df4c365e147f25896aee6375e", - semver: "4.1.0", + semver: "4.3.2", request: "2.47.0", fstream: "https://github.com/meteor/fstream/tarball/cf4ea6c175355cec7bee38311e170d08c4078a5d", tar: "2.2.1", From c9bee611cac0788530ca206c1db48907a09eaf46 Mon Sep 17 00:00:00 2001 From: Jesse Rosenberger Date: Fri, 30 Mar 2018 22:20:51 +0300 Subject: [PATCH 0707/1355] Update semver to the latest version, backporting 9fdde2b7. This wasn't available to cherry-pick for some reason. Backports: 9fdde2b76598a92c3c1f94f00fbe8d22ed907416 Ref: https://github.com/meteor/meteor/pull/8859 --- scripts/dev-bundle-server-package.js | 2 +- scripts/dev-bundle-tool-package.js | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/scripts/dev-bundle-server-package.js b/scripts/dev-bundle-server-package.js index d66bca35ac..00e26a2468 100644 --- a/scripts/dev-bundle-server-package.js +++ b/scripts/dev-bundle-server-package.js @@ -17,7 +17,7 @@ var packageJson = { // (and there are backwards-incompatible changes either way). underscore: "1.5.2", "source-map-support": "https://github.com/meteor/node-source-map-support/tarball/1912478769d76e5df4c365e147f25896aee6375e", - semver: "4.3.2" + semver: "5.3.0" }, // These are only used in dev mode (by shell.js) so end-users can avoid // needing to install them if they use `npm install --production`. diff --git a/scripts/dev-bundle-tool-package.js b/scripts/dev-bundle-tool-package.js index 3022b2311d..a52e8ad78d 100644 --- a/scripts/dev-bundle-tool-package.js +++ b/scripts/dev-bundle-tool-package.js @@ -27,7 +27,7 @@ var packageJson = { // (and there are backwards-incompatible changes either way). underscore: "1.5.2", "source-map-support": "https://github.com/meteor/node-source-map-support/tarball/1912478769d76e5df4c365e147f25896aee6375e", - semver: "4.3.2", + semver: "5.3.0", request: "2.47.0", fstream: "https://github.com/meteor/fstream/tarball/cf4ea6c175355cec7bee38311e170d08c4078a5d", tar: "2.2.1", From bae11f09ec0f7c5caa9d0f9d8a9e2e7823c81ed1 Mon Sep 17 00:00:00 2001 From: Jesse Rosenberger Date: Fri, 30 Mar 2018 23:13:56 +0300 Subject: [PATCH 0708/1355] Bump package versions for 1.4.4.6-rc.0 release. --- packages/meteor-tool/package.js | 2 +- scripts/admin/meteor-release-experimental.json | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/packages/meteor-tool/package.js b/packages/meteor-tool/package.js index 9520d920e3..e62ac06cb9 100644 --- a/packages/meteor-tool/package.js +++ b/packages/meteor-tool/package.js @@ -1,6 +1,6 @@ Package.describe({ summary: "The Meteor command-line tool", - version: "1.4.4_5" + version: "1.4.4-6-rc.0" }); Package.includeTool(); diff --git a/scripts/admin/meteor-release-experimental.json b/scripts/admin/meteor-release-experimental.json index 05d498e754..2621b05ada 100644 --- a/scripts/admin/meteor-release-experimental.json +++ b/scripts/admin/meteor-release-experimental.json @@ -1,6 +1,6 @@ { "track": "METEOR", - "version": "1.4.4.5-beta.0", + "version": "1.4.4.6-rc.0", "recommended": false, "official": false, "description": "Meteor" From 6493a10bcd71b70093c83834b4ef45a7a38174f2 Mon Sep 17 00:00:00 2001 From: Ben Newman Date: Sat, 31 Mar 2018 11:09:57 -0400 Subject: [PATCH 0709/1355] Minor History.md tweaks. --- History.md | 10 ++++++---- 1 file changed, 6 insertions(+), 4 deletions(-) diff --git a/History.md b/History.md index a4150e2565..7e16991b58 100644 --- a/History.md +++ b/History.md @@ -5,10 +5,12 @@ [security release](https://nodejs.org/en/blog/vulnerability/march-2018-security-releases/). The Node v4.x release line will exit the Node.js Foundation's [long-term support (LTS) status](https://github.com/nodejs/LTS) on April 30, - 2018. It's advisable to update to a version of Meteor using a newer version - of Node which is still under LTS status, such as Meteor 1.6.x which uses - Node 8.x. -* `npm` has been upgraded to version [4.6.1](https://github.com/npm/npm/releases/tag/v4.6.1). + 2018. We strongly advise updating to a version of Meteor using a newer + version of Node which is still under LTS status, such as Meteor 1.6.x + which uses Node 8.x. + +* The `npm` package has been upgraded to version + [4.6.1](https://github.com/npm/npm/releases/tag/v4.6.1). ## v1.4.4.5, 2017-12-08 From 310eb6a489787daf0f9da65b8ee22d7de205b38e Mon Sep 17 00:00:00 2001 From: Ben Newman Date: Sat, 31 Mar 2018 11:24:34 -0400 Subject: [PATCH 0710/1355] Update release date of 1.4.4.6 in History.md. --- History.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/History.md b/History.md index 7e16991b58..7ff1a20fad 100644 --- a/History.md +++ b/History.md @@ -1,4 +1,4 @@ -## v1.4.4.6, TBD +## v1.4.4.6, 2018-04-02 * Node has been upgraded to version [4.9.0](https://nodejs.org/en/blog/release/v4.9.0/), an important From 64239ce8e582f5555f907fdaf47c7207ac5c409f Mon Sep 17 00:00:00 2001 From: Ben Newman Date: Sat, 31 Mar 2018 11:25:03 -0400 Subject: [PATCH 0711/1355] Bump package versions for the official 1.4.4.6 release. --- packages/meteor-tool/package.js | 2 +- scripts/admin/meteor-release-official.json | 5 +++-- 2 files changed, 4 insertions(+), 3 deletions(-) diff --git a/packages/meteor-tool/package.js b/packages/meteor-tool/package.js index e62ac06cb9..04a069a7f3 100644 --- a/packages/meteor-tool/package.js +++ b/packages/meteor-tool/package.js @@ -1,6 +1,6 @@ Package.describe({ summary: "The Meteor command-line tool", - version: "1.4.4-6-rc.0" + version: "1.4.4_6" }); Package.includeTool(); diff --git a/scripts/admin/meteor-release-official.json b/scripts/admin/meteor-release-official.json index 54d7e1b18b..26caaef59e 100644 --- a/scripts/admin/meteor-release-official.json +++ b/scripts/admin/meteor-release-official.json @@ -1,6 +1,6 @@ { "track": "METEOR", - "version": "1.4.4.5", + "version": "1.4.4.6", "recommended": false, "official": true, "patchFrom": [ @@ -18,7 +18,8 @@ "1.4.3.2", "1.4.4.1", "1.4.4.3", - "1.4.4.4" + "1.4.4.4", + "1.4.4.5" ], "description": "The Official Meteor Distribution" } From b21938e0478ca96a076ad5fd6fedd1d1bfd7c95d Mon Sep 17 00:00:00 2001 From: Ben Newman Date: Thu, 29 Mar 2018 11:36:33 -0400 Subject: [PATCH 0712/1355] Upgrade Node to version 8.11.1, plus a critical V8 patch. https://nodejs.org/en/blog/vulnerability/march-2018-security-releases/ https://nodejs.org/en/blog/release/v8.10.0/ https://nodejs.org/en/blog/release/v8.11.0/ https://nodejs.org/en/blog/release/v8.11.1/ https://github.com/meteor/node/commits/v8.11.0-meteor https://github.com/meteor/node/commits/v8.11.1-meteor --- History.md | 13 +++++++++++++ scripts/build-dev-bundle-common.sh | 2 +- 2 files changed, 14 insertions(+), 1 deletion(-) diff --git a/History.md b/History.md index 91a87bb45f..82747f1008 100644 --- a/History.md +++ b/History.md @@ -1,3 +1,16 @@ +## v.NEXT + +## v1.6.1.1, 2018-04-02 + +* Node has been updated to version + [8.11.1](https://nodejs.org/en/blog/release/v8.11.1/), an important + [security release](https://nodejs.org/en/blog/vulnerability/march-2018-security-releases/), + with a critical [patch](https://github.com/nodejs/node/pull/19477) + [applied](https://github.com/meteor/node/commits/v8.11.1-meteor) to + solve a segmentation fault + [problem](https://github.com/nodejs/node/issues/19274) that was + introduced in Node 8.10.0. + ## v1.6.1, 2018-01-19 * Node has been updated to version diff --git a/scripts/build-dev-bundle-common.sh b/scripts/build-dev-bundle-common.sh index ac525b826f..6647c39ff7 100644 --- a/scripts/build-dev-bundle-common.sh +++ b/scripts/build-dev-bundle-common.sh @@ -5,7 +5,7 @@ set -u UNAME=$(uname) ARCH=$(uname -m) -NODE_VERSION=8.9.4 +NODE_VERSION=8.11.1 MONGO_VERSION_64BIT=3.4.10 MONGO_VERSION_32BIT=3.2.15 NPM_VERSION=5.6.0 From 10c7c7a4b1b1e4a3302406368bf4058a120153cb Mon Sep 17 00:00:00 2001 From: Ben Newman Date: Thu, 29 Mar 2018 12:09:54 -0400 Subject: [PATCH 0713/1355] Let Node download the ICU i18n libaries for itself. --- scripts/build-node-for-dev-bundle.sh | 15 ++++----------- 1 file changed, 4 insertions(+), 11 deletions(-) diff --git a/scripts/build-node-for-dev-bundle.sh b/scripts/build-node-for-dev-bundle.sh index b7fd8b99e0..bff8cf4c96 100755 --- a/scripts/build-node-for-dev-bundle.sh +++ b/scripts/build-node-for-dev-bundle.sh @@ -30,17 +30,10 @@ cd node-build echo "Downloading Node from ${NODE_URL}" curl -sL "${NODE_URL}" | tar zx --strip-components 1 -# Build with International Components for Unicode (ICU) Support... -# Node 4.x used 56.x. Node 8.x uses 59.x. I believe the only -# reliable location to find the correct version of ICU for a Node.js -# release is to check `process.config.icu_ver_major` from an -# official, compiled Node.js release. -# https://github.com/nodejs/node/wiki/Intl#configure-node-with-specific-icu-source -echo "Downloading International Components for Unicode (ICU)..." -curl -sL https://s3.amazonaws.com/com.meteor.static/icu/icu4c-56_1-src.tgz | \ - tar zx -C deps/ - -node_configure_flags=() +node_configure_flags=( + # Enable the ICU internationalization library. + '--download=icu' +) if [ "${NODE_FROM_SRC:-}" = "debug" ] then From 4819c5bc393764d80c494dc08d72289cf452761a Mon Sep 17 00:00:00 2001 From: Ben Newman Date: Thu, 29 Mar 2018 19:10:44 -0400 Subject: [PATCH 0714/1355] Set NODE_BUILD_NUMBER=129 to use our custom Node 8.11.1 build. Built from https://github.com/meteor/node/tree/v8.11.1-meteor --- scripts/build-dev-bundle-common.sh | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/scripts/build-dev-bundle-common.sh b/scripts/build-dev-bundle-common.sh index 6647c39ff7..da42dbaa14 100644 --- a/scripts/build-dev-bundle-common.sh +++ b/scripts/build-dev-bundle-common.sh @@ -11,7 +11,7 @@ MONGO_VERSION_32BIT=3.2.15 NPM_VERSION=5.6.0 # If we built Node from source on Jenkins, this is the build number. -NODE_BUILD_NUMBER= +NODE_BUILD_NUMBER=129 if [ "$UNAME" == "Linux" ] ; then if [ "$ARCH" != "i686" -a "$ARCH" != "x86_64" ] ; then From 4c0e5832499e7257bca995954914afffee1272a1 Mon Sep 17 00:00:00 2001 From: Ben Newman Date: Tue, 20 Mar 2018 19:11:40 -0400 Subject: [PATCH 0715/1355] Update meteor-babel to version 7.0.0-beta.42. https://github.com/babel/babel/releases/tag/v7.0.0-beta.41 https://github.com/babel/babel/releases/tag/v7.0.0-beta.42 Also updated various @babel/... plugin versions in package.json files. --- History.md | 4 + .../.npm/package/npm-shrinkwrap.json | 533 +++++++++--------- packages/babel-compiler/babel-compiler.js | 7 +- packages/babel-compiler/package.js | 4 +- packages/ecmascript/package.js | 2 +- packages/ecmascript/transpilation-tests.js | 2 +- scripts/dev-bundle-tool-package.js | 4 +- tools/isobuild/isopack.js | 8 +- tools/static-assets/skel-bare/package.json | 2 +- tools/static-assets/skel-full/package.json | 2 +- tools/static-assets/skel/package.json | 2 +- .../apps/dynamic-import/package-lock.json | 6 +- tools/tests/apps/dynamic-import/package.json | 2 +- tools/tests/apps/modules/imports/.babelrc | 4 +- tools/tests/apps/modules/package-lock.json | 282 ++++----- tools/tests/apps/modules/package.json | 8 +- 16 files changed, 461 insertions(+), 411 deletions(-) diff --git a/History.md b/History.md index 82747f1008..10486d3451 100644 --- a/History.md +++ b/History.md @@ -11,6 +11,10 @@ [problem](https://github.com/nodejs/node/issues/19274) that was introduced in Node 8.10.0. +* The `meteor-babel` npm package has been updated to version + 7.0.0-beta.42, which may require updating any custom Babel plugins + you've enabled in a `.babelrc` file. + ## v1.6.1, 2018-01-19 * Node has been updated to version diff --git a/packages/babel-compiler/.npm/package/npm-shrinkwrap.json b/packages/babel-compiler/.npm/package/npm-shrinkwrap.json index 4c1f808a19..a4d1b51034 100644 --- a/packages/babel-compiler/.npm/package/npm-shrinkwrap.json +++ b/packages/babel-compiler/.npm/package/npm-shrinkwrap.json @@ -2,329 +2,339 @@ "lockfileVersion": 1, "dependencies": { "@babel/code-frame": { - "version": "7.0.0-beta.38", - "resolved": "https://registry.npmjs.org/@babel/code-frame/-/code-frame-7.0.0-beta.38.tgz", - "integrity": "sha512-JNHofQND7Iiuy3f6RXSillN1uBe87DAp+1ktsBfSxfL3xWeGFyJC9jH5zu2zs7eqVGp2qXWvJZFiJIwOYnaCQw==" + "version": "7.0.0-beta.42", + "resolved": "https://registry.npmjs.org/@babel/code-frame/-/code-frame-7.0.0-beta.42.tgz", + "integrity": "sha512-L8i94FLSyaLQpRfDo/qqSm8Ndb44zMtXParXo0MebJICG1zoCCL4+GkzUOlB4BNTRSXXQdb3feam/qw7bKPipQ==" }, "@babel/core": { - "version": "7.0.0-beta.38", - "resolved": "https://registry.npmjs.org/@babel/core/-/core-7.0.0-beta.38.tgz", - "integrity": "sha512-xIDdSeSElby0p6QMowawWrU9VulpMk1yq6RaKYjaZBRT7s40kztTsDw8+VUVuQmdRbqLh8DpLWs15oaUWphsPg==" + "version": "7.0.0-beta.42", + "resolved": "https://registry.npmjs.org/@babel/core/-/core-7.0.0-beta.42.tgz", + "integrity": "sha512-jcjZRewF/xqROfbk8EGyWlykaIR3IwrcefjWHu8xh4QnULSv3nfkjPM35v1itDgAT4/Jj5b4mPf4eZSC2HoRQA==" }, "@babel/generator": { - "version": "7.0.0-beta.38", - "resolved": "https://registry.npmjs.org/@babel/generator/-/generator-7.0.0-beta.38.tgz", - "integrity": "sha512-aOHQPhsEyaB6p2n+AK981+onHoc+Ork9rcAQVSUJR33wUkGiWRpu6/C685knRyIZVsKeSdG5Q4xMiYeFUhuLzA==" + "version": "7.0.0-beta.42", + "resolved": "https://registry.npmjs.org/@babel/generator/-/generator-7.0.0-beta.42.tgz", + "integrity": "sha512-9x3zS4nG/6GAvJWB8fAK+5g/Di36xdubB43dMNSucNJTwPvmyfCippir/0I8zyG+ID66hLCLi8V9bomlWRYaHA==" }, "@babel/helper-annotate-as-pure": { - "version": "7.0.0-beta.38", - "resolved": "https://registry.npmjs.org/@babel/helper-annotate-as-pure/-/helper-annotate-as-pure-7.0.0-beta.38.tgz", - "integrity": "sha512-7k67bppxvfSS+hu2yiDeuVTf8GHOlz8haHwRJZDXiXwjm2IBqEYYA6Dvi+xNMHy05pZVBy012qpS7BpguXoW4A==" + "version": "7.0.0-beta.42", + "resolved": "https://registry.npmjs.org/@babel/helper-annotate-as-pure/-/helper-annotate-as-pure-7.0.0-beta.42.tgz", + "integrity": "sha512-2lmcB7mHRSXZjDV9fdnWGRco+5fbI0PdUtsL7mNA2GtJs0GPoKdV3sCx0N4cpzG2YRR4dNCiB2riYIrzWjmQ1Q==" }, "@babel/helper-builder-binary-assignment-operator-visitor": { - "version": "7.0.0-beta.38", - "resolved": "https://registry.npmjs.org/@babel/helper-builder-binary-assignment-operator-visitor/-/helper-builder-binary-assignment-operator-visitor-7.0.0-beta.38.tgz", - "integrity": "sha512-CgTc4zaS4dLCKIMzCP9Q4Uhy9upBCFcA3NY7ZNwF+6S8BRCcNwoyTh2eHGt5ct1tM+Vd3VI6iIORIhqYzjHuXA==" + "version": "7.0.0-beta.42", + "resolved": "https://registry.npmjs.org/@babel/helper-builder-binary-assignment-operator-visitor/-/helper-builder-binary-assignment-operator-visitor-7.0.0-beta.42.tgz", + "integrity": "sha512-lI14OS85dMAvsjTNTLrk3qqqvmy4CNxgXGpWkjMuKlYzwnC7LQvdrdH7wf3CBl8C0GSZHbgvADMUtrKiNjxJ5w==" }, "@babel/helper-builder-react-jsx": { - "version": "7.0.0-beta.38", - "resolved": "https://registry.npmjs.org/@babel/helper-builder-react-jsx/-/helper-builder-react-jsx-7.0.0-beta.38.tgz", - "integrity": "sha512-hgh8rHI9hadMpDJAOzBXrzfo6zL/abdxAiMGn3loemXP1HUypb79v+HQ25G+rRB0Mi1Z3VDU3266N+8YQ+aNoQ==" + "version": "7.0.0-beta.42", + "resolved": "https://registry.npmjs.org/@babel/helper-builder-react-jsx/-/helper-builder-react-jsx-7.0.0-beta.42.tgz", + "integrity": "sha512-pgy7el3TV5u4SdWB9w1No5X0fooc8pWcVujbOzey+b9CQU5cf64CGct01bs+k7vGoKwoTYWizZD9MeFk2JLawg==" }, "@babel/helper-call-delegate": { - "version": "7.0.0-beta.38", - "resolved": "https://registry.npmjs.org/@babel/helper-call-delegate/-/helper-call-delegate-7.0.0-beta.38.tgz", - "integrity": "sha512-73K4lywDxQTHlBEcF7YJBvBMpIxd0CTvmWjJ2pVqnkMGPmLTzWLNsrDEoJdv5ri9RXT0YJIoMPlqPBsM4FBIow==" + "version": "7.0.0-beta.42", + "resolved": "https://registry.npmjs.org/@babel/helper-call-delegate/-/helper-call-delegate-7.0.0-beta.42.tgz", + "integrity": "sha512-iGZJrRSKIvla9m8VJNv8wlbPReOLmVqFTpefl07v6e5cMPvP2XOgVWR2B4HZ9UwVo7Lx8rPAQ8/UZgjvq+pJ+A==" }, "@babel/helper-define-map": { - "version": "7.0.0-beta.38", - "resolved": "https://registry.npmjs.org/@babel/helper-define-map/-/helper-define-map-7.0.0-beta.38.tgz", - "integrity": "sha512-SLy0ZNnApMsZIY/F1nW2/mXHpFaYvga6aQABkwi4IACZvC17mPhh/ilJBll4lUqdXikxRwrGsZQQfJNOEhbPsA==" + "version": "7.0.0-beta.42", + "resolved": "https://registry.npmjs.org/@babel/helper-define-map/-/helper-define-map-7.0.0-beta.42.tgz", + "integrity": "sha512-MKaHNaciAiPc7q4AS2XRqk+I0d2ADryuIxd6r0EykkQ57w2nQxFx/CTWWQEnob9OSAP5dPO1stWIZ9j/VeKtIQ==" }, "@babel/helper-explode-assignable-expression": { - "version": "7.0.0-beta.38", - "resolved": "https://registry.npmjs.org/@babel/helper-explode-assignable-expression/-/helper-explode-assignable-expression-7.0.0-beta.38.tgz", - "integrity": "sha512-bSaaJpH0Yt5iKlZ9KJkrZTIkyLcrRW14z9Pt5Jh+DDXzW+3/F0wfHzoPn5qlnad70LeW5OHO8J8PriRKSqLTkg==" + "version": "7.0.0-beta.42", + "resolved": "https://registry.npmjs.org/@babel/helper-explode-assignable-expression/-/helper-explode-assignable-expression-7.0.0-beta.42.tgz", + "integrity": "sha512-fT1kVF2PoogggBT9QBgb4IXjbpC3VzFh1sJ6p/k3fZhOXbyqqco7oQ6lzvcIAO6rA7b15/iaIyLj0E+SLCHbwQ==" }, "@babel/helper-function-name": { - "version": "7.0.0-beta.38", - "resolved": "https://registry.npmjs.org/@babel/helper-function-name/-/helper-function-name-7.0.0-beta.38.tgz", - "integrity": "sha512-vLOtqh2PMbvOXL/+DlwH6A2/y+81l518Z0x7232T4E8HiMBQbkv3rNg4GmjJ5M6GcZzj7UKTBrVt8AXcH4OTdA==" + "version": "7.0.0-beta.42", + "resolved": "https://registry.npmjs.org/@babel/helper-function-name/-/helper-function-name-7.0.0-beta.42.tgz", + "integrity": "sha512-6IZ+kkPypwJrnmNzI3y31qAps2kXoPtCE241SvBva2YzB0n/YORWx2YM0jHPYOJBU9Xx5KkUhOKuWkeXZQgtTA==" }, "@babel/helper-get-function-arity": { - "version": "7.0.0-beta.38", - "resolved": "https://registry.npmjs.org/@babel/helper-get-function-arity/-/helper-get-function-arity-7.0.0-beta.38.tgz", - "integrity": "sha512-ty3muWaxHPcvdwihBWqGBD+s+hjt4Tua3In43eA4BvLMKWtTYsJBGdLoWQUY4TXhVgDe7wPzqxIv2AUbnIh/vQ==" + "version": "7.0.0-beta.42", + "resolved": "https://registry.npmjs.org/@babel/helper-get-function-arity/-/helper-get-function-arity-7.0.0-beta.42.tgz", + "integrity": "sha512-hF5KKcn+V/5PwU7KZ1aVwo535woLC9eV+djaoyNPZeMMJ2s+8bZlEa66Tarei0T68VRL5LXIs1Ao4hSabSkpBg==" }, "@babel/helper-hoist-variables": { - "version": "7.0.0-beta.38", - "resolved": "https://registry.npmjs.org/@babel/helper-hoist-variables/-/helper-hoist-variables-7.0.0-beta.38.tgz", - "integrity": "sha512-bn4shp3AGjRDmCsq4lKxTjOWSak+3wNGaDjc9ePmk0fMfua1HcDpxQ7d84lweq6tvHMOgXK8dhu/zj36r8SNvQ==" + "version": "7.0.0-beta.42", + "resolved": "https://registry.npmjs.org/@babel/helper-hoist-variables/-/helper-hoist-variables-7.0.0-beta.42.tgz", + "integrity": "sha512-07NJrcvE2a5oOYiQUzSzih21R6nOpfoIe9saelKxORKXr9cOXcpoLXDi9XIAbRJoww8hqp57JbQxRK09FltZhQ==" }, "@babel/helper-module-imports": { - "version": "7.0.0-beta.38", - "resolved": "https://registry.npmjs.org/@babel/helper-module-imports/-/helper-module-imports-7.0.0-beta.38.tgz", - "integrity": "sha512-A/KUU0SC25pgI7k0K4habJqOYu9sp0UsMz3lRl26cIWhaLb5e9QRfCn1nmPnkBgCjc6IZl7pOxu4511Qfo/YxQ==" + "version": "7.0.0-beta.42", + "resolved": "https://registry.npmjs.org/@babel/helper-module-imports/-/helper-module-imports-7.0.0-beta.42.tgz", + "integrity": "sha512-0kTX0cjuVKUKDJmHjmAb504kNrwae0Ja32hGii7zSHDKm0tVZvvpT8Cc1yYHo6UsIkUmzEvfGwIrNYemx1jTtQ==" }, "@babel/helper-module-transforms": { - "version": "7.0.0-beta.38", - "resolved": "https://registry.npmjs.org/@babel/helper-module-transforms/-/helper-module-transforms-7.0.0-beta.38.tgz", - "integrity": "sha512-MnluW457L9EAykzbGYTx9mF1SUXO0Brh1UrNSSGu/C+VjMXf4EmQ9RCWOaGT3WCxLVp063xS8ejkdjGwAJqIDw==" + "version": "7.0.0-beta.42", + "resolved": "https://registry.npmjs.org/@babel/helper-module-transforms/-/helper-module-transforms-7.0.0-beta.42.tgz", + "integrity": "sha512-XfCGsf6ijExiXw+oKL1Cp7VJttvgq8qalTGRqz4pviVNEjHU89Pfjsi1K/shdy5x4x+PiTSqn4zZ2PKfVp+vgg==" }, "@babel/helper-optimise-call-expression": { - "version": "7.0.0-beta.38", - "resolved": "https://registry.npmjs.org/@babel/helper-optimise-call-expression/-/helper-optimise-call-expression-7.0.0-beta.38.tgz", - "integrity": "sha512-BK5wW2bh2TEFhYkXdmB4TIF75dx3OlBZSVVMbzeA9zW/lJrvnQS2a+vm8xmZI6B4aQ5myuAuwzM37Ai29EKhnw==" + "version": "7.0.0-beta.42", + "resolved": "https://registry.npmjs.org/@babel/helper-optimise-call-expression/-/helper-optimise-call-expression-7.0.0-beta.42.tgz", + "integrity": "sha512-4Sssg3iFnLH/1fZQFCPNJ7ISZzrRwq/X8/T5OaURGP3NMVTR4mnEUqrc3v8/SfL3pfa57q3Fe4zIC2h7FuPkww==" + }, + "@babel/helper-plugin-utils": { + "version": "7.0.0-beta.42", + "resolved": "https://registry.npmjs.org/@babel/helper-plugin-utils/-/helper-plugin-utils-7.0.0-beta.42.tgz", + "integrity": "sha512-hZLw8Iz9/YOxI9mgWyPOP1S84OcdQo1WFkZrS1sSf45g16sEb4dVslds2uvZgmx9BiG94PoWyABGf48Py6D6CA==" }, "@babel/helper-regex": { - "version": "7.0.0-beta.38", - "resolved": "https://registry.npmjs.org/@babel/helper-regex/-/helper-regex-7.0.0-beta.38.tgz", - "integrity": "sha512-ovwkKMmLkZspr7ge5y8w7JQoO1MXPXcp8UaLxcmP5Akw0uAmISvd4vGFy4tpwtnsgPU1N7J5NyomTdMPqn78Aw==" + "version": "7.0.0-beta.42", + "resolved": "https://registry.npmjs.org/@babel/helper-regex/-/helper-regex-7.0.0-beta.42.tgz", + "integrity": "sha512-QdwTsTPjJ63StltU6cEtqmB0Lc+L/OkK9Pz2bL9rylDF3UloyXinBA+SI/FkVyXi5HhDbBRf4T/OeVhWrsK68A==" }, "@babel/helper-remap-async-to-generator": { - "version": "7.0.0-beta.38", - "resolved": "https://registry.npmjs.org/@babel/helper-remap-async-to-generator/-/helper-remap-async-to-generator-7.0.0-beta.38.tgz", - "integrity": "sha512-7V2WVMz5KRLxE33p1lb4SduDxoLF8TQ4rTGi9rzpEuly8KnlLkZR0ts62hnqZYVyBB3Gq1nfOgLG56AvflBgOg==" + "version": "7.0.0-beta.42", + "resolved": "https://registry.npmjs.org/@babel/helper-remap-async-to-generator/-/helper-remap-async-to-generator-7.0.0-beta.42.tgz", + "integrity": "sha512-At+ipbHRYoN0AaafqPvTPqyVYi+beantKZ2orCYSb/AzP2+JywaWlOPH0wyXLOGzjkJX548Is4cV2wGbEG7++Q==" }, "@babel/helper-replace-supers": { - "version": "7.0.0-beta.38", - "resolved": "https://registry.npmjs.org/@babel/helper-replace-supers/-/helper-replace-supers-7.0.0-beta.38.tgz", - "integrity": "sha512-0DcCEsI03e2lkF/teZaTDHOIkYq7ATwXmGc51LYQkzgRbmEtwk5e0GxxD+IQPy1ZW4GATsIJ0i1yt4cPaSFbpA==" + "version": "7.0.0-beta.42", + "resolved": "https://registry.npmjs.org/@babel/helper-replace-supers/-/helper-replace-supers-7.0.0-beta.42.tgz", + "integrity": "sha512-5OwdkTm7TaEBiBMOUV97j8a2goD3+avek9EOl/UdE/CYdtdQ/8RPdUPqtqXApay30aZ/EjIpBItcNlBtt29WBw==" }, "@babel/helper-simple-access": { - "version": "7.0.0-beta.38", - "resolved": "https://registry.npmjs.org/@babel/helper-simple-access/-/helper-simple-access-7.0.0-beta.38.tgz", - "integrity": "sha512-Az+xsA1KgBrnpTjpqaNoL84a2g3gZCluf45MFijTuImZtoqg3TbObOdwOnbBy/qyNYRBCJ2Qexf7hNRb2xhLaQ==" + "version": "7.0.0-beta.42", + "resolved": "https://registry.npmjs.org/@babel/helper-simple-access/-/helper-simple-access-7.0.0-beta.42.tgz", + "integrity": "sha512-SK1nb/sx+Q/0N8USPR+/5G1D1U9tCo82MzJknmK7X4yexDacHmDHtqNP7xqUlSSo3xfMfyHgT7mAH17Cwik/gA==" + }, + "@babel/helper-split-export-declaration": { + "version": "7.0.0-beta.42", + "resolved": "https://registry.npmjs.org/@babel/helper-split-export-declaration/-/helper-split-export-declaration-7.0.0-beta.42.tgz", + "integrity": "sha512-2r8pZG6SAJTTaI2OhxCmz5PKlMUPY5adOHrHtb1gM3ibJPDOzPAeOQNzItdxNnM33jjRakEGitXX6iYg7Sz73w==" }, "@babel/helper-wrap-function": { - "version": "7.0.0-beta.38", - "resolved": "https://registry.npmjs.org/@babel/helper-wrap-function/-/helper-wrap-function-7.0.0-beta.38.tgz", - "integrity": "sha512-JQY2Hc/NCuVukBavW2mA7GqWZlpScXpurmviG+hKAvxpci5ZdsmocgwOAKWpO+u18OyI0PrZ5lUTGnjlaq0j9A==" + "version": "7.0.0-beta.42", + "resolved": "https://registry.npmjs.org/@babel/helper-wrap-function/-/helper-wrap-function-7.0.0-beta.42.tgz", + "integrity": "sha512-jpZDbZROEw2HfmlImLXDB7BFoyo6M/Wn8jOOc1+JfCpg2uaZ+n6Q0C3sA6mCN6o7ZgpJkgT7IHQwdB3RMV6KLA==" }, "@babel/helpers": { - "version": "7.0.0-beta.38", - "resolved": "https://registry.npmjs.org/@babel/helpers/-/helpers-7.0.0-beta.38.tgz", - "integrity": "sha512-DNdEZABrx2oNSpqijJHjxR/V36hMIQgFkdgv/iQsJ7xhXhObIrH1FMXsd3jbnlgblTc/7/hYed6wNKYxxXX0eQ==" + "version": "7.0.0-beta.42", + "resolved": "https://registry.npmjs.org/@babel/helpers/-/helpers-7.0.0-beta.42.tgz", + "integrity": "sha512-att9SiG9GxOUdjai87LqjSstgNsdo1nXiGu+Eh078zwRiN8bM5Ww8vrbYkAm9PF4HaW6OzOKqyKxv595RT79bA==" }, - "@babel/plugin-check-constants": { - "version": "7.0.0-beta.38", - "resolved": "https://registry.npmjs.org/@babel/plugin-check-constants/-/plugin-check-constants-7.0.0-beta.38.tgz", - "integrity": "sha512-MjdGn/2sMLu0fnNFbkILut0OsegzRTeCOJ/uGHH88TwTXPzxONx2cTVJ36i3cTQXHMiIOUT3hX6HqzWM99Q6vA==" + "@babel/highlight": { + "version": "7.0.0-beta.42", + "resolved": "https://registry.npmjs.org/@babel/highlight/-/highlight-7.0.0-beta.42.tgz", + "integrity": "sha512-X3Ur/A/lIbbP8W0pmwgqtDXIxhQmxPaiwY9SKP7kF9wvZfjZRwMvbJE92ozUhF3UDK3DCKaV7oGqmI1rP/zqWA==" }, "@babel/plugin-proposal-async-generator-functions": { - "version": "7.0.0-beta.38", - "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-async-generator-functions/-/plugin-proposal-async-generator-functions-7.0.0-beta.38.tgz", - "integrity": "sha512-ATy8xhmvnoZnB8Ycl0LwPVg1djx/7grNEdshLNmREFWvI/xyEwe8euw+H5Cwtd6E8AOPEPI2IVmMKPyWeaVeVg==" + "version": "7.0.0-beta.42", + "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-async-generator-functions/-/plugin-proposal-async-generator-functions-7.0.0-beta.42.tgz", + "integrity": "sha512-fPPsSCajWzefDSb49JEeZfd/UeMK3xEQSRAz/H3BZ1uaRatwNNZoOJq4/WRH/xDeISmYUdkLRtqs39VPWLKYVg==" }, "@babel/plugin-proposal-class-properties": { - "version": "7.0.0-beta.38", - "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-class-properties/-/plugin-proposal-class-properties-7.0.0-beta.38.tgz", - "integrity": "sha512-h286XHfkTja//3PDc8YR8ODRXP31JkEhm+j3AKgRUwKtZ1pBs7mXMdgOyX5SSEywDv7nr9IvYbapYiU3vOZv6A==" + "version": "7.0.0-beta.42", + "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-class-properties/-/plugin-proposal-class-properties-7.0.0-beta.42.tgz", + "integrity": "sha512-VXRmo/t2nAVciXxEgPTAfcUBXj0UXNPIvX2aj3lzHL51N+uh+rtgsIF0nuZwGE4u89WvBDH66yjAu60Ra674kw==" }, "@babel/plugin-proposal-object-rest-spread": { - "version": "7.0.0-beta.38", - "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-object-rest-spread/-/plugin-proposal-object-rest-spread-7.0.0-beta.38.tgz", - "integrity": "sha512-hmlKGy0xyWSzfkrFee3oVDjtI1BTLiq9uaLSZHJ1q7XxyXHDrwizIJupSKuDnaIcNhNDioW26Strn9lDbo5pJQ==" + "version": "7.0.0-beta.42", + "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-object-rest-spread/-/plugin-proposal-object-rest-spread-7.0.0-beta.42.tgz", + "integrity": "sha512-L4z5R8k3GxQKVYE2zGwftQ9K/IIIXMZKnY4C0lDyyMJAVk+H+cFUD0NfD4KTyZACc8DPqjkw6aEtC/AKCKUvEA==" }, "@babel/plugin-syntax-async-generators": { - "version": "7.0.0-beta.38", - "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-async-generators/-/plugin-syntax-async-generators-7.0.0-beta.38.tgz", - "integrity": "sha512-YboIs/srf1yKLRvZ6JoaGjpkcW3UYsPKhkPt3hWO54OVouS34A5dwK8wO3wGhvKgUvq2GV+tU4eRNkgEcx7aLA==" + "version": "7.0.0-beta.42", + "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-async-generators/-/plugin-syntax-async-generators-7.0.0-beta.42.tgz", + "integrity": "sha512-k6oVMsmY/mcp+rPRcK4dJL/J1ahtIRucXtNHNvAVRV9WFc7G3r1rrb1GlM4iNHareXBNdRlf7mkxyVaVpyJ3TQ==" }, "@babel/plugin-syntax-class-properties": { - "version": "7.0.0-beta.38", - "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-class-properties/-/plugin-syntax-class-properties-7.0.0-beta.38.tgz", - "integrity": "sha512-hxA1M1CryWjbtnMWIpsOe4agySBW7K00H33cWDYPg4w4fCk824P+E/TXyh6ptGnYuGtfboge4DXS5NlF/NWTpw==" + "version": "7.0.0-beta.42", + "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-class-properties/-/plugin-syntax-class-properties-7.0.0-beta.42.tgz", + "integrity": "sha512-nG0XCeuni6GgjxOqtxVtnfSoRFeXdqY6cja83cmFpC1klw8f6XShbeDmK7xX1mUYBHkEqLTDurlX+fuua9siCg==" }, "@babel/plugin-syntax-dynamic-import": { - "version": "7.0.0-beta.38", - "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-dynamic-import/-/plugin-syntax-dynamic-import-7.0.0-beta.38.tgz", - "integrity": "sha512-P4jmUCkIPPJ2B2DEzePJql0m94kqrkhLYTUs5q29br3jK8SMnzR7mOla8sE+98+oEXi7X39Ksquv2gA18v971A==" + "version": "7.0.0-beta.42", + "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-dynamic-import/-/plugin-syntax-dynamic-import-7.0.0-beta.42.tgz", + "integrity": "sha512-N+XpzyZviWu+MJA7Cgi+LtMj1CMLkZyjuy4qbSZauqm6gIrNioMtirLDt4+NrCFx7kZG/T4ic6jLUpWdH5SlXg==" }, "@babel/plugin-syntax-flow": { - "version": "7.0.0-beta.38", - "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-flow/-/plugin-syntax-flow-7.0.0-beta.38.tgz", - "integrity": "sha512-fSI2zdhuR8JEksS6llnjU11j8zSiQ+K7OEk2ppbipYOgNYx9Zzj5WUsE9WB6NtbyjxCm5aRkRte7UOEikjZcbQ==" + "version": "7.0.0-beta.42", + "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-flow/-/plugin-syntax-flow-7.0.0-beta.42.tgz", + "integrity": "sha512-5LcIB4CCS45ik8oUAr6pHu0BtDhiWvQOMw1lIGtX/gBESmv+O366NvkXWhzmBsZ5J9OQhs64Ox85Q22XKZYiUg==" }, "@babel/plugin-syntax-jsx": { - "version": "7.0.0-beta.38", - "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-jsx/-/plugin-syntax-jsx-7.0.0-beta.38.tgz", - "integrity": "sha512-UmowkKfyyVNUdQ8HSLII4jC9wZuLsTrynsjwp53jaIzZSoGjKAsHYT6HF8JQkG01DQTN9l9trSv0LClTeAZgbg==" + "version": "7.0.0-beta.42", + "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-jsx/-/plugin-syntax-jsx-7.0.0-beta.42.tgz", + "integrity": "sha512-NWlawLcYkxMpH2QK4CbYg1ctTuFaKYRVBZGiGkgcO7xD59bNUu2HTG/BXynuaheQiGX96ItoK1igV6vuS9BK/w==" }, "@babel/plugin-syntax-object-rest-spread": { - "version": "7.0.0-beta.38", - "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-object-rest-spread/-/plugin-syntax-object-rest-spread-7.0.0-beta.38.tgz", - "integrity": "sha512-ecDBcMwYJaZQaj0xKJJpjvVS00HCqzvXFjdb2WrmTqjp9lrv/hlb7XLsSQsEtscbyyWgYasFkccjp5HVPN9Mtw==" + "version": "7.0.0-beta.42", + "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-object-rest-spread/-/plugin-syntax-object-rest-spread-7.0.0-beta.42.tgz", + "integrity": "sha512-Zhz6MdSpEviY3UFh/DUlrvf/Tn4wWosHXrnR52PBRtP/8ESWVaFuk57xWcBon3jJh0z5hYyRUr+D0wR7W7ZmnQ==" }, "@babel/plugin-transform-arrow-functions": { - "version": "7.0.0-beta.38", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-arrow-functions/-/plugin-transform-arrow-functions-7.0.0-beta.38.tgz", - "integrity": "sha512-MXh/RazPii5LK6E2ve3+mmeGJAcNaUW8SwVh1a5Tt92RyXbTsZtmFz0mPsVz6Otxx/C/cj8gahHfiuBpktP//w==" + "version": "7.0.0-beta.42", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-arrow-functions/-/plugin-transform-arrow-functions-7.0.0-beta.42.tgz", + "integrity": "sha512-/tpAo2Ur8m32U9pBcGQ6JKplWNEh462zxCnwVKL9yVwG02lttC4QSYBvreRK1wBidDz8JgRZFGGeB9N4l23/Sg==" }, "@babel/plugin-transform-async-to-generator": { - "version": "7.0.0-beta.38", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-async-to-generator/-/plugin-transform-async-to-generator-7.0.0-beta.38.tgz", - "integrity": "sha512-l3A58LHNzp/Q1l8SdinAoSNsCwR0Fe3YG8y+N19IAYG/wD5NWyYobTv19UXePe9RmPLg3dUBSTwGAcMXwZrxFQ==" + "version": "7.0.0-beta.42", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-async-to-generator/-/plugin-transform-async-to-generator-7.0.0-beta.42.tgz", + "integrity": "sha512-TTu8z0xz/mS8H98nCVw3wp86RSzdvUhtM4hX32sItrauJX1X8shVZDKbDtG8ZdA1FMKLgfvmn/hxtPOqjOkkpw==" }, "@babel/plugin-transform-block-scoped-functions": { - "version": "7.0.0-beta.38", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-block-scoped-functions/-/plugin-transform-block-scoped-functions-7.0.0-beta.38.tgz", - "integrity": "sha512-pmun01vKbbZTlmyv68dYPv25aGl6/erAObWhWRtf9j4I8XqA8JN6Tbxh3ONGpcp3wNNd03s/yQ+TBGoCfWI2cQ==" + "version": "7.0.0-beta.42", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-block-scoped-functions/-/plugin-transform-block-scoped-functions-7.0.0-beta.42.tgz", + "integrity": "sha512-Ib3bSf7pYLbqe+46RrJFJae1DrNYvIrGleYjzaN/MFYNaG9ePaOevSBmFHPxuW1SM5l2tTloeu5a7mhs9h0oxg==" }, "@babel/plugin-transform-block-scoping": { - "version": "7.0.0-beta.38", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-block-scoping/-/plugin-transform-block-scoping-7.0.0-beta.38.tgz", - "integrity": "sha512-GoYqWrbwEQty36dUzjbBoIBW+hymFrE8S7IifH6Lzess3a9z9ST1APNYk4XHrGYYyn7lOGOWe3SL8tPLWoo+OA==" + "version": "7.0.0-beta.42", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-block-scoping/-/plugin-transform-block-scoping-7.0.0-beta.42.tgz", + "integrity": "sha512-qvlAR1L7gZ1gqdj81a2AEfuar3lFsr7FSad4JrN5CJinQlVn/1eJe8oB1DQ7U8ocAzDDjn3tGit9lN7uKBWZsQ==" }, "@babel/plugin-transform-classes": { - "version": "7.0.0-beta.38", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-classes/-/plugin-transform-classes-7.0.0-beta.38.tgz", - "integrity": "sha512-aqGomD8WO9Ne/agQBxXQy8XhalSF3awhOs/NmicxtttXHblFxEj14HSio1gWKfKpt2Er1d2DnWOD3i2o9X9hQg==" + "version": "7.0.0-beta.42", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-classes/-/plugin-transform-classes-7.0.0-beta.42.tgz", + "integrity": "sha512-0GCv1wNyfMXKuaulype6+TF02Bxq/zQZ4NUbn2w9aQxzIZviAe1jcA7IRrNN2eVQL9L4oi8N6B26Wf8xFoBNrQ==" }, "@babel/plugin-transform-computed-properties": { - "version": "7.0.0-beta.38", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-computed-properties/-/plugin-transform-computed-properties-7.0.0-beta.38.tgz", - "integrity": "sha512-n2ZUN8FOdmddAe1+bgPARU274hKGP4dVfnHDzytmxh/vuH1cbWfJ/lbzZJO5O3+zchv3syCdSQpnxHueJ4+cCw==" + "version": "7.0.0-beta.42", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-computed-properties/-/plugin-transform-computed-properties-7.0.0-beta.42.tgz", + "integrity": "sha512-WYGXfe2uo2FdACubMhwV6Oq1Zx3SNSeBUHRe2X53WKbIKLMZlxRR5GfoLv4V2CeDGHL3mb97wYhmXSb56bIXeg==" }, "@babel/plugin-transform-destructuring": { - "version": "7.0.0-beta.38", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-destructuring/-/plugin-transform-destructuring-7.0.0-beta.38.tgz", - "integrity": "sha512-3DD17TSYkgmwBO+12pO3LP6RK8Pv7EGTLYOfBDU217mMnmC+xaGi4I5BFlTroK+1+IJLys3ObetRMobV4VU0bQ==" + "version": "7.0.0-beta.42", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-destructuring/-/plugin-transform-destructuring-7.0.0-beta.42.tgz", + "integrity": "sha512-G3hwLdgeKCZ8EWqwMqeOEoXxRBc5aJthMUD5kN7sAIko+lvwIVQ0do9Op/+DAGVnrvC+g0Ool2Mihcej2NsCPQ==" }, "@babel/plugin-transform-exponentiation-operator": { - "version": "7.0.0-beta.38", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-exponentiation-operator/-/plugin-transform-exponentiation-operator-7.0.0-beta.38.tgz", - "integrity": "sha512-6FyrtyZswMw9rhf25hXoZEGWhuleB8zWdzU7kmgh1Pztm/Xv4tVBUHMevbOZIt3KCJQucpwhb/T58FrZ/mPwcg==" + "version": "7.0.0-beta.42", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-exponentiation-operator/-/plugin-transform-exponentiation-operator-7.0.0-beta.42.tgz", + "integrity": "sha512-ylnAziSEho282hxQROK5tbNtxm0sSoQaQS74OCSE52eFeDNqSNGapyiNiWMZ71gqs8q5aqYsPgfa/vTccLT7uA==" }, "@babel/plugin-transform-flow-strip-types": { - "version": "7.0.0-beta.38", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-flow-strip-types/-/plugin-transform-flow-strip-types-7.0.0-beta.38.tgz", - "integrity": "sha512-duooCkhnwVvVyva2e3MLKq9WR8+Z+6nOk6jDgLhpI4YQuACqyDvYff5XKS60rI/SaMj3961NDtz9K/mxI6L9oA==" + "version": "7.0.0-beta.42", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-flow-strip-types/-/plugin-transform-flow-strip-types-7.0.0-beta.42.tgz", + "integrity": "sha512-pbZl37LlS8OMghp29oPq/csEnTnnkh+S/HY7nN0ZfPuEYMNp83ZjWLCifgvRIM9tNfwXifP+oXj1Yf7ek1dePA==" }, "@babel/plugin-transform-for-of": { - "version": "7.0.0-beta.38", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-for-of/-/plugin-transform-for-of-7.0.0-beta.38.tgz", - "integrity": "sha512-ui9oNgRvVNYzJeYbOmNCL1UIr1++7twyiYIuzOuQ9ArSF1WOaO4fluQa43zccgWRd610CRkljNRszag0aKB4Wg==" + "version": "7.0.0-beta.42", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-for-of/-/plugin-transform-for-of-7.0.0-beta.42.tgz", + "integrity": "sha512-pn+fmrr6pfXeEUMyx7JrKAOG/XCiABvXFOmQYqLoCl0POcW8sE75r8w/Lu2wHFayrNgDqR7/RCb7RW4h/U2u1Q==" }, "@babel/plugin-transform-literals": { - "version": "7.0.0-beta.38", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-literals/-/plugin-transform-literals-7.0.0-beta.38.tgz", - "integrity": "sha512-pNx7CUnGOR74fkpvzIho5GECAgaf0m0px7GZ2uzNYGMm5nvUT3h2bA6ASjI0YQ7FLHQScRdrHa0rBvD7lSIZFQ==" + "version": "7.0.0-beta.42", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-literals/-/plugin-transform-literals-7.0.0-beta.42.tgz", + "integrity": "sha512-mWEayRwUCY3/u8LZpcdR96TiWqofP60jjfVZUJ6agK6ifwEBgamv1Db8syIwUCjaZww5bjyZqX61AmP4fx3dvQ==" }, "@babel/plugin-transform-modules-commonjs": { - "version": "7.0.0-beta.38", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-modules-commonjs/-/plugin-transform-modules-commonjs-7.0.0-beta.38.tgz", - "integrity": "sha512-ZOQ9vK2+FF3pYxjtqQkMoGkU2x8yMOWmc/DBCGptXN5F7ypOLE1DYl1qj+5j/PHLcLTBkZMTuC2yvjYdWQEn1A==" + "version": "7.0.0-beta.42", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-modules-commonjs/-/plugin-transform-modules-commonjs-7.0.0-beta.42.tgz", + "integrity": "sha512-tCN0FFdTHaXpuJokvW8iWtbDpjKDNDO2dIyb8rr0GMQxsA62914e8oclcDUPEbC5iF5SCDEF0CmVHXbxnvANfQ==" }, "@babel/plugin-transform-object-super": { - "version": "7.0.0-beta.38", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-object-super/-/plugin-transform-object-super-7.0.0-beta.38.tgz", - "integrity": "sha512-aPhCJ+JFKt4/o8q9tLQUIfX4qQrFcsHzax5dkO7Xj1VZGZ0RZnJbsR32k0oI5/XhOVnyppLDAvkDOcEo7rm1hg==" + "version": "7.0.0-beta.42", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-object-super/-/plugin-transform-object-super-7.0.0-beta.42.tgz", + "integrity": "sha512-d+gki0bYQtlleX4LnvpwjIkjmZScKQuHhDsD3N3nHLpwxbANp3YGtIfuf8dbY/PIbUKtd55/ErCvdsyuGlxAlw==" }, "@babel/plugin-transform-parameters": { - "version": "7.0.0-beta.38", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-parameters/-/plugin-transform-parameters-7.0.0-beta.38.tgz", - "integrity": "sha512-D8aOMPvzGSJ+7uDPoanWlZNM7/F6F6kffvT7f63qQtjktikwusknduy/4jXhEWWeOaQcUcDbirvxVT0abTS6SQ==" + "version": "7.0.0-beta.42", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-parameters/-/plugin-transform-parameters-7.0.0-beta.42.tgz", + "integrity": "sha512-z2iXwael/zMHkOvvkJSirg1jIxGA00JOIwdERB+x+VGxLfLb+1IdyiytVw9+w5RTNSVAGYt6R4jhvUdAeQwMiQ==" }, "@babel/plugin-transform-property-literals": { - "version": "7.0.0-beta.38", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-property-literals/-/plugin-transform-property-literals-7.0.0-beta.38.tgz", - "integrity": "sha512-vQgj4pmc80APzb7JVcvQ7uqFc0vkxGJ3YZWMMD/6prQfaWGv9zk2PqdYTQ6Qc9gT4Mt6Kyv9HNkiJNVHHEsLVw==" + "version": "7.0.0-beta.42", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-property-literals/-/plugin-transform-property-literals-7.0.0-beta.42.tgz", + "integrity": "sha512-3dYkXM7aZ8b6x1cHUhZPKYYcF/4HppoQfythpi95tumfgZQR2NDu2mzAT/ynE84/x8Vx7NrSxuNfB6e3CJuzQA==" }, "@babel/plugin-transform-react-display-name": { - "version": "7.0.0-beta.38", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-react-display-name/-/plugin-transform-react-display-name-7.0.0-beta.38.tgz", - "integrity": "sha512-oFcicGLVdSYLFWY3JKBbC508dgwlR1bbPRaLpbX70fyMFyJzSfa8mjEQyLtiUI0l8+ymEQzF+VWGg1KsjyQeAg==" + "version": "7.0.0-beta.42", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-react-display-name/-/plugin-transform-react-display-name-7.0.0-beta.42.tgz", + "integrity": "sha512-0oyVkjXLkxXSt21mPdfRNwKZ/sIEjcDx5/LqMS+KtMUxsCcB2BFhtzaESd8xLdXb7Zi2otMjt2DsDK+IUeitxA==" }, "@babel/plugin-transform-react-jsx": { - "version": "7.0.0-beta.38", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-react-jsx/-/plugin-transform-react-jsx-7.0.0-beta.38.tgz", - "integrity": "sha512-8mT1KlhPMKnTaV6gm7j53Z2TtJ/AFfoTbZOfixZ/ghRKMZD7yoYU8pKmLlHilSLHE77HXeyqiQwXqby0TieyLA==" + "version": "7.0.0-beta.42", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-react-jsx/-/plugin-transform-react-jsx-7.0.0-beta.42.tgz", + "integrity": "sha512-XT8M4cZmr/Gaw6Cp2UELhYajB/PT6xNERtv8d+Eu08fULfAbtZJBFVxmm68T9LT+JZkcI35O1gTP17yJz5PJrA==" }, "@babel/plugin-transform-react-jsx-self": { - "version": "7.0.0-beta.38", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-react-jsx-self/-/plugin-transform-react-jsx-self-7.0.0-beta.38.tgz", - "integrity": "sha512-ULj82jVcpRfXLV75w9mG++mqZA4PYRIEFHl1GXe39+E330FK3NuhdzuJ7Wi2XpIycbH1ICJ5rh1IfdamdrXuxw==" + "version": "7.0.0-beta.42", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-react-jsx-self/-/plugin-transform-react-jsx-self-7.0.0-beta.42.tgz", + "integrity": "sha512-bpG/Z6D8RtckyYPbqMfU/DaV7H/xHaTNAJLzYLHqQhtQT70pwmLVQ8E6ara18yp7k+6OJytrrmJm9F6ClT4pnA==" }, "@babel/plugin-transform-react-jsx-source": { - "version": "7.0.0-beta.38", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-react-jsx-source/-/plugin-transform-react-jsx-source-7.0.0-beta.38.tgz", - "integrity": "sha512-7bO3+etqQQblT8xZea6T5MqbqlyienNcWpFYq5ZenqUIBW0zjlYraBE1LHATI6IVR77pbNb8YY9bZ71V48yUdg==" + "version": "7.0.0-beta.42", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-react-jsx-source/-/plugin-transform-react-jsx-source-7.0.0-beta.42.tgz", + "integrity": "sha512-vLKqNyFDx4bESdy7dTWLmAhCTk8zszsxhYGKL/0FaFacksSQye5conP68j8jMEMn9M/JBGgxfFqL6tPbOn2uVw==" }, "@babel/plugin-transform-regenerator": { - "version": "7.0.0-beta.38", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-regenerator/-/plugin-transform-regenerator-7.0.0-beta.38.tgz", - "integrity": "sha512-jbvExdAuxDndPbK3oO54QdkKqMeUAt/XYMW9wovYAWLA5R2loJkMjneZ5iU8VbfNcqVk2baWdgInBBUy6dtoXQ==" + "version": "7.0.0-beta.42", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-regenerator/-/plugin-transform-regenerator-7.0.0-beta.42.tgz", + "integrity": "sha512-E1s/MBk8ztbXqxbeUvFH26x8vAWq/7qX3UdbB8fKoN3EX2Wg9+yXWyuI50jOhXOq7jfmbOrVe0BWoUOjCOqWPQ==" }, "@babel/plugin-transform-runtime": { - "version": "7.0.0-beta.38", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-runtime/-/plugin-transform-runtime-7.0.0-beta.38.tgz", - "integrity": "sha512-oEFwjJhfP2/mtVJ/v6PnE2g4zYHX2/xuLiT9x9spLU6q2kutKsBm7MX5gcyuT4WGk9t2r7ZGYXi8mBJ4qYMwOA==" + "version": "7.0.0-beta.42", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-runtime/-/plugin-transform-runtime-7.0.0-beta.42.tgz", + "integrity": "sha512-4LcNdjMvKzCwK/eqfbUiXFAZht8OTx0Gv2Ok42o+zhb8DvNUaYUndgW9AU4Q6nbpxzw2vTWNUXSIRvdGsxpgQQ==" }, "@babel/plugin-transform-shorthand-properties": { - "version": "7.0.0-beta.38", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-shorthand-properties/-/plugin-transform-shorthand-properties-7.0.0-beta.38.tgz", - "integrity": "sha512-XeDeMOpDYRg69lErxWK+vHOQhZNU4Pui4HJWhsd7Sqw2MQL4/OYi6IQLfBmcJnGimnhUEQOONCyjcIkmeQxXJw==" + "version": "7.0.0-beta.42", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-shorthand-properties/-/plugin-transform-shorthand-properties-7.0.0-beta.42.tgz", + "integrity": "sha512-GID8z2s6R/XOHgaoxrKBH+zdBOBqFJTDYDS91w30fJGiHxVM4qFVOpYDNIMxmsjqW6bKVHyLeHBezp0OHv+9QQ==" }, "@babel/plugin-transform-spread": { - "version": "7.0.0-beta.38", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-spread/-/plugin-transform-spread-7.0.0-beta.38.tgz", - "integrity": "sha512-KQItm2CD8JthjpcmccTEoi4db9AJ0C4vPBy5Ds/AuIBqmFKBkWVanzyciUsX5yupNrZRYcbnCQ2hflDUpFIN8Q==" + "version": "7.0.0-beta.42", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-spread/-/plugin-transform-spread-7.0.0-beta.42.tgz", + "integrity": "sha512-ZzWt7RvGcV+9DcOTBwE6ArNqDpUMpzZhCToj3UNtULol9gGBbrGgUK/LdGwGInj+Z2aIdOjbAMFtEuC6626lJg==" }, "@babel/plugin-transform-sticky-regex": { - "version": "7.0.0-beta.38", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-sticky-regex/-/plugin-transform-sticky-regex-7.0.0-beta.38.tgz", - "integrity": "sha512-kwH7JLQ+UqDJK4ZkEimL/mMrRSTS/Agm8+EzEJomgr2P2xzSI7fHQ4a6F4m6PFFk3ZUpdF2TDp1V/7q4Hy8Etg==" + "version": "7.0.0-beta.42", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-sticky-regex/-/plugin-transform-sticky-regex-7.0.0-beta.42.tgz", + "integrity": "sha512-zQI5NhVfnSNNFiG8JhoXXzTV89aLTfHW22inWefATRmtqe64iHZ4bivBTkDbxt6X/St1yH0aZB+4XtBDZjzcKQ==" }, "@babel/plugin-transform-template-literals": { - "version": "7.0.0-beta.38", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-template-literals/-/plugin-transform-template-literals-7.0.0-beta.38.tgz", - "integrity": "sha512-YhOcJEawsIStf6OnPousctP6MXsxl4ujvqW3uMHp4NUX4on2q4puQpNO8+yZbjD+JTInIPBvM1/GTwpzPgryQA==" + "version": "7.0.0-beta.42", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-template-literals/-/plugin-transform-template-literals-7.0.0-beta.42.tgz", + "integrity": "sha512-sCQmaa8fd3uPdy/J/qOkvPtxo3RtiH6SyW5bzdnUSOQ3+ND3Bj4OfJNziZxJwZZ8Y40lHrM0dKxZ8YnihlCETQ==" }, "@babel/plugin-transform-typeof-symbol": { - "version": "7.0.0-beta.38", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-typeof-symbol/-/plugin-transform-typeof-symbol-7.0.0-beta.38.tgz", - "integrity": "sha512-vVULLUBkiLj4Y/p/37jxnutyOW0Ho0k6W2Own2wRe/kcWQoHxTDwwDWU2tGGBed1u1jbbYw5+B26F9IQ63tkvg==" + "version": "7.0.0-beta.42", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-typeof-symbol/-/plugin-transform-typeof-symbol-7.0.0-beta.42.tgz", + "integrity": "sha512-cuDOzCv7kpMqaLypTEN90ErVmKUV3vjTuO8qzCGlmJMZwCcteTpxCiwISJLnAxcGtj++fMVY0vntbcj4nXf9XQ==" }, "@babel/plugin-transform-unicode-regex": { - "version": "7.0.0-beta.38", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-unicode-regex/-/plugin-transform-unicode-regex-7.0.0-beta.38.tgz", - "integrity": "sha512-yDlQX//HQusXLy+ujZvgt8JTKSU6b71/77KINIXb6utsegiy2qkJq6eoqmidpBh78ncEnK9zgtLjY3wt1PBDYQ==" + "version": "7.0.0-beta.42", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-unicode-regex/-/plugin-transform-unicode-regex-7.0.0-beta.42.tgz", + "integrity": "sha512-iqQ8bhkRPZE2Vl5gR7GF0x4xUVlkncMxr7ve7Rjp/TMzNbO3S2XLr+1SPu+B+U3fIPDDA4I97enw5YL5V7QFOA==" }, "@babel/preset-react": { - "version": "7.0.0-beta.38", - "resolved": "https://registry.npmjs.org/@babel/preset-react/-/preset-react-7.0.0-beta.38.tgz", - "integrity": "sha512-rDNMTPAbq9mw3KRnOgl96vakDxV1bdG5jazJDEWDYBQuANB0P8roGTe7STFW+S/Xq2Dyy5kF4iR3Czz8lq7KuA==" + "version": "7.0.0-beta.42", + "resolved": "https://registry.npmjs.org/@babel/preset-react/-/preset-react-7.0.0-beta.42.tgz", + "integrity": "sha512-2o+5MXAzGMnjlZlxsYv08Joh+T4IDd2NIrpeVB+5GgeboU6k0964pObdZxMjB9A2dOweLSCOHwP21JwO6bDUbA==" }, "@babel/runtime": { - "version": "7.0.0-beta.38", - "resolved": "https://registry.npmjs.org/@babel/runtime/-/runtime-7.0.0-beta.38.tgz", - "integrity": "sha512-ZvPtlcvH2ZRzr1U5pkmCE7U3RIun3Nf29XHem47aScmJgMuL06ulkp+4oPBee3QrUVFErDjwNWtC67BzNuxLVw==" + "version": "7.0.0-beta.42", + "resolved": "https://registry.npmjs.org/@babel/runtime/-/runtime-7.0.0-beta.42.tgz", + "integrity": "sha512-iOGRzUoONLOtmCvjUsZv3mZzgCT6ljHQY5fr1qG1QIiJQwtM7zbPWGGpa3QWETq+UqwWyJnoi5XZDZRwZDFciQ==" }, "@babel/template": { - "version": "7.0.0-beta.38", - "resolved": "https://registry.npmjs.org/@babel/template/-/template-7.0.0-beta.38.tgz", - "integrity": "sha512-ygOSe1+ekKVkn5zxCH0rqv5sZtvLfC72yPQSaXLTHtYSYdAyXNqOW7q1ua1zJll9glk0UWYAnUEcehQXXc3fEA==" + "version": "7.0.0-beta.42", + "resolved": "https://registry.npmjs.org/@babel/template/-/template-7.0.0-beta.42.tgz", + "integrity": "sha512-EK7YdTe47j4VxlwNvz5bnlk5Jx/wWublnqfgOY2IuSNdxCQgXrLD34PfTnabGxywNSkJkcSo6jwr2JGT+S48dA==" }, "@babel/traverse": { - "version": "7.0.0-beta.38", - "resolved": "https://registry.npmjs.org/@babel/traverse/-/traverse-7.0.0-beta.38.tgz", - "integrity": "sha512-qbrc59aPCnMCj3uroG7QXdFMmrFLFvEfcwfVzmF2MXh2a7OhRzs73g/PNN8Xb0W/4Z1H4ZTY95CczmfDmXapnw==" + "version": "7.0.0-beta.42", + "resolved": "https://registry.npmjs.org/@babel/traverse/-/traverse-7.0.0-beta.42.tgz", + "integrity": "sha512-DZwMuZBfYVIn/cxpXZzHDgKmarW/MWqplLv1k7QJYhK5r5l6GAac/DkKl75A0CjPYrD3VGco6H6ZQp12QaYKSw==" }, "@babel/types": { - "version": "7.0.0-beta.38", - "resolved": "https://registry.npmjs.org/@babel/types/-/types-7.0.0-beta.38.tgz", - "integrity": "sha512-SAtyEjmA7KiEoL2eAOAUM6M9arQJGWxJKK0S9x0WyPOosHS420RXoxPhn57u/8orRnK8Kxm0nHQQNTX203cP1Q==" + "version": "7.0.0-beta.42", + "resolved": "https://registry.npmjs.org/@babel/types/-/types-7.0.0-beta.42.tgz", + "integrity": "sha512-+pmpISmTHQqMMpHHtDLxcvtRhmn53bAxy8goJfHipS/uy/r3PLcuSdPizLW7DhtBWbtgIKZufLObfnIMoyMNsw==" }, "acorn": { - "version": "5.3.0", - "resolved": "https://registry.npmjs.org/acorn/-/acorn-5.3.0.tgz", - "integrity": "sha512-Yej+zOJ1Dm/IMZzzj78OntP/r3zHEaKcyNoU2lAaxPtrseM6rF0xwqoz5Q5ysAiED9hTjI2hgtvLXitlCN1/Ug==" + "version": "5.5.3", + "resolved": "https://registry.npmjs.org/acorn/-/acorn-5.5.3.tgz", + "integrity": "sha512-jd5MkIUlbbmb07nXH0DT3y7rDVtkzDi4XZOUVWAer8ajmF/DTSSbl5oNFyDOl/OXA33Bl79+ypHhl2pN20VeOQ==" }, "ansi-styles": { - "version": "3.2.0", - "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-3.2.0.tgz", - "integrity": "sha512-NnSOmMEYtVR2JVMIGTzynRkkaxtiq1xnFBcdQD/DnNCYPoEPsVJhM98BDyaoNOQIi7p4okdi3E27eN7GQbsUug==" + "version": "3.2.1", + "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-3.2.1.tgz", + "integrity": "sha512-VT0ZI6kZRdTh8YyJw3SMbYm/u+NqfsAxEpWO0Pf9sq8/e94WxxOpPKx9FR1FlyCtOVDNOQ+8ntlqFxiRc+r5qA==" }, "arr-diff": { "version": "2.0.0", @@ -432,9 +442,9 @@ "integrity": "sha512-NiOvvA9Pq6bki6nP4BayXwT5GZadw7DJFDDzHmkpnOQpENWe8RtHtKZM44MG1R6EQ5XxgbLdsdhswIzTkFlO5g==" }, "babel-plugin-transform-es2015-modules-reify": { - "version": "0.14.1", - "resolved": "https://registry.npmjs.org/babel-plugin-transform-es2015-modules-reify/-/babel-plugin-transform-es2015-modules-reify-0.14.1.tgz", - "integrity": "sha512-8/htPOUinU51fEzefHQhEInkj5zHTjkkO/K/Zl+L1eeaaN4ejAqCT/EwNl1O0a/cnqHFNIscMB51YNoFVOrE9g==" + "version": "0.14.2", + "resolved": "https://registry.npmjs.org/babel-plugin-transform-es2015-modules-reify/-/babel-plugin-transform-es2015-modules-reify-0.14.2.tgz", + "integrity": "sha512-EPMKQetvssxoe47ilW7YfT3fIvIkpPZaasyk4teuH/SNYCg8/QAtA9i7r/zPu8pQG0nQ7+dUM6M5J4MJ9NEcaw==" }, "babel-plugin-transform-inline-consecutive-adds": { "version": "0.2.0", @@ -442,24 +452,24 @@ "integrity": "sha512-GlhOuLOQ28ua9prg0hT33HslCrEmz9xWXy9ZNZSACppCyRxxRW+haYtRgm7uYXCcd0q8ggCWD2pfWEJp5iiZfQ==" }, "babel-plugin-transform-member-expression-literals": { - "version": "6.8.5", - "resolved": "https://registry.npmjs.org/babel-plugin-transform-member-expression-literals/-/babel-plugin-transform-member-expression-literals-6.8.5.tgz", - "integrity": "sha512-Ux3ligf+ukzWaCbBYOstDuFBhRgMiJHlpJBKV4P47qtzVkd0lg1ddPj9fqIJqAM0n+CvxipyrZrnNnw3CdtQCg==" + "version": "6.9.0", + "resolved": "https://registry.npmjs.org/babel-plugin-transform-member-expression-literals/-/babel-plugin-transform-member-expression-literals-6.9.0.tgz", + "integrity": "sha512-bxtac+8w755ctVeDs4vU98RhWY49eW1wO02HAN+eirZYSKk/dVrKONIznXbHmxWKxT4UX1rpTKOCyezuzLpbTw==" }, "babel-plugin-transform-merge-sibling-variables": { - "version": "6.8.6", - "resolved": "https://registry.npmjs.org/babel-plugin-transform-merge-sibling-variables/-/babel-plugin-transform-merge-sibling-variables-6.8.6.tgz", - "integrity": "sha512-o5Jioq553HtEAUN5uty7ELJMenXIxHI3PIs1yLqYWYQwP6mg6IPVAJ+U7i4zr9XGF/kb2RGsdehglGTV+vngqA==" + "version": "6.9.0", + "resolved": "https://registry.npmjs.org/babel-plugin-transform-merge-sibling-variables/-/babel-plugin-transform-merge-sibling-variables-6.9.0.tgz", + "integrity": "sha512-9G1URVEEKoQLDqe0GwqYudECN7kE/q0OCNo5TiD1iwWnnaKi97xY915l5r2KKUvNflXEm9c3faNWknSXYQ7h6Q==" }, "babel-plugin-transform-minify-booleans": { - "version": "6.8.3", - "resolved": "https://registry.npmjs.org/babel-plugin-transform-minify-booleans/-/babel-plugin-transform-minify-booleans-6.8.3.tgz", - "integrity": "sha512-bPbUhkeN2Nc0KH0/A19GwQGj8w+CvdJzyu8t59VoEDgsNMQ9Bopzi5DrVkrSsVjbYUaZpzq/DYLrH+wD5K2Tig==" + "version": "6.9.0", + "resolved": "https://registry.npmjs.org/babel-plugin-transform-minify-booleans/-/babel-plugin-transform-minify-booleans-6.9.0.tgz", + "integrity": "sha512-JtpyTRyF+wF/r7GSxpRbNCrVve5M/aCC8xoGcnFItaPUDqjxKmFYvBzMc9u+g0lgo8NWjuZLc16MYaIwkHKD/A==" }, "babel-plugin-transform-property-literals": { - "version": "6.8.5", - "resolved": "https://registry.npmjs.org/babel-plugin-transform-property-literals/-/babel-plugin-transform-property-literals-6.8.5.tgz", - "integrity": "sha512-MmiQsQ5AcIaRZMJD0zY5C4H3xuHm06/nWgtOsz7AXV44VEIXIlPiJ39IFYJ4Qx67/fEm8zJAedzR8t+B7d10Bg==" + "version": "6.9.0", + "resolved": "https://registry.npmjs.org/babel-plugin-transform-property-literals/-/babel-plugin-transform-property-literals-6.9.0.tgz", + "integrity": "sha512-B8s+71+4DPye9+pmZiPGgLPy3YqcmIuvE/9UcZLczPlwL5ALwF6qRUdLC3Fk17NhL6jxp4u33ZVZ8R4kvASPzw==" }, "babel-plugin-transform-regexp-constructors": { "version": "0.2.0", @@ -467,14 +477,14 @@ "integrity": "sha512-7IsQ6aQx6LAaOqy97/PthTf+5Nx9grZww3r6E62IdWe76Yr8KsuwVjxzqSPQvESJqTE3EMADQ9S0RtwWDGNG9Q==" }, "babel-plugin-transform-remove-console": { - "version": "6.8.5", - "resolved": "https://registry.npmjs.org/babel-plugin-transform-remove-console/-/babel-plugin-transform-remove-console-6.8.5.tgz", - "integrity": "sha512-uuCKvtweCyIvvC8fi92EcWRtO2Kt5KMNMRK6BhpDXdeb3sxvGM7453RSmgeu4DlKns3OlvY9Ep5Q9m5a7RQAgg==" + "version": "6.9.0", + "resolved": "https://registry.npmjs.org/babel-plugin-transform-remove-console/-/babel-plugin-transform-remove-console-6.9.0.tgz", + "integrity": "sha512-mck9//yGTwObqqqDzY/sISO88/5/XfIB3ILb4uJLXk2xq124NT4yQVjFSRgVSbLcNq8OyBAn2acxKUqg4W/okQ==" }, "babel-plugin-transform-remove-debugger": { - "version": "6.8.5", - "resolved": "https://registry.npmjs.org/babel-plugin-transform-remove-debugger/-/babel-plugin-transform-remove-debugger-6.8.5.tgz", - "integrity": "sha512-InDQDdHPOLJKM+G6oXrEesf+P29QFBmcTXID+TAvZziVz+38xe2VO/Bn3FcRcRtnOOycbgsJkUNp9jIK+ist6g==" + "version": "6.9.0", + "resolved": "https://registry.npmjs.org/babel-plugin-transform-remove-debugger/-/babel-plugin-transform-remove-debugger-6.9.0.tgz", + "integrity": "sha512-i/HWGjsmL2d1N2dl+eIzf44XpSP5v7hi1/GXB0xzom9kjrU8js3T8Kadizn95ZxfHK592Vg8P4JJWP/fvimEWw==" }, "babel-plugin-transform-remove-undefined": { "version": "0.2.0", @@ -482,19 +492,19 @@ "integrity": "sha512-O8v57tPMHkp89kA4ZfQEYds/pzgvz/QYerBJjIuL5/Jc7RnvMVRA5gJY9zFKP7WayW8WOSBV4vh8Y8FJRio+ow==" }, "babel-plugin-transform-simplify-comparison-operators": { - "version": "6.8.5", - "resolved": "https://registry.npmjs.org/babel-plugin-transform-simplify-comparison-operators/-/babel-plugin-transform-simplify-comparison-operators-6.8.5.tgz", - "integrity": "sha512-B3HlBZb+Uq86nRj5yNPO6pJ3noEdqHvzYkEYoUWtrsWTv48ZIRatYlumoOiif/v8llF13YjYjx9zhyznDx+N9g==" + "version": "6.9.0", + "resolved": "https://registry.npmjs.org/babel-plugin-transform-simplify-comparison-operators/-/babel-plugin-transform-simplify-comparison-operators-6.9.0.tgz", + "integrity": "sha512-EJyfYeph0CSekwQuwWVwJqy2go/bETkR95iaWQ/HTUis7tkCGNYmXngaFzuIXdmoPXfvmXYCvAXR4/93hqHVjw==" }, "babel-plugin-transform-undefined-to-void": { - "version": "6.8.3", - "resolved": "https://registry.npmjs.org/babel-plugin-transform-undefined-to-void/-/babel-plugin-transform-undefined-to-void-6.8.3.tgz", - "integrity": "sha512-goYwp8dMrzHD6x9GjZ2M85Mk2vxf1h85CnUgAjfftUnlJvzF4uj5MrbReHBTbjQ96C8CuRzvhYZ3tv8H3Sc1ZA==" + "version": "6.9.0", + "resolved": "https://registry.npmjs.org/babel-plugin-transform-undefined-to-void/-/babel-plugin-transform-undefined-to-void-6.9.0.tgz", + "integrity": "sha512-AVDVEmp0S9mbF1O8zekWbsOOmqnR08PZah5NRZJqSvJnFgiL0ep4Lwo4EymH8OieJR2QgQdR3q71TNW+wiVn4g==" }, "babel-preset-meteor": { - "version": "7.0.0-beta.38", - "resolved": "https://registry.npmjs.org/babel-preset-meteor/-/babel-preset-meteor-7.0.0-beta.38.tgz", - "integrity": "sha512-i1F2VIBwrUq2hUxcyA1BukmtAcxhqs84ftQqXbX/YAsS9VQHSEJfjgruxPirJgMGrA8WKa0UYtEAU803795xgQ==" + "version": "7.0.0-beta.42", + "resolved": "https://registry.npmjs.org/babel-preset-meteor/-/babel-preset-meteor-7.0.0-beta.42.tgz", + "integrity": "sha512-GrZ27sLvBGELCFMXPZIGn2slK2Fpvr/Z+KoL8zg5l0ANEJnj08kcH0LG0rMFZfSujNXaSXwZqP8ZsJZ7E1aacA==" }, "babel-preset-minify": { "version": "0.2.0", @@ -502,9 +512,9 @@ "integrity": "sha512-mR8Q44RmMzm18bM2Lqd9uiPopzk5GDCtVuquNbLFmX6lOKnqWoenaNBxnWW0UhBFC75lEHTIgNGCbnsRI0pJVw==" }, "babylon": { - "version": "7.0.0-beta.38", - "resolved": "https://registry.npmjs.org/babylon/-/babylon-7.0.0-beta.38.tgz", - "integrity": "sha512-ukc+RoVsxNjsFGTgXtCGr/RcNHQ4/OKBZQ2B6C2XBQwrbxXGWxgOMF9xgQ2WAQJQtvur3N6xakpIGMRNfGtt8Q==" + "version": "7.0.0-beta.42", + "resolved": "https://registry.npmjs.org/babylon/-/babylon-7.0.0-beta.42.tgz", + "integrity": "sha512-h6E/OkkvcBw/JimbL0p8dIaxrcuQn3QmIYGC/GtJlRYif5LTKBYPHXYwqluJpfS/kOXoz0go+9mkmOVC0M+zWw==" }, "braces": { "version": "1.8.5", @@ -512,9 +522,9 @@ "integrity": "sha1-uneWLhLf+WnWt2cR6RS3N4V79qc=" }, "chalk": { - "version": "2.3.0", - "resolved": "https://registry.npmjs.org/chalk/-/chalk-2.3.0.tgz", - "integrity": "sha512-Az5zJR2CBujap2rqXGaJKaPHyJ0IrUimvYNX+ncCy8PJP4ltOGTrHUIo097ZaL2zMeKYpiCdqDvS6zdrTFok3Q==" + "version": "2.3.2", + "resolved": "https://registry.npmjs.org/chalk/-/chalk-2.3.2.tgz", + "integrity": "sha512-ZM4j2/ld/YZDc3Ma8PgN7gyAk+kHMMMyzLNryCPGhWrsfAuDVeuid5bpRFTDgMH9JBK2lA4dyyAkkZYF/WcqDQ==" }, "color-convert": { "version": "1.9.1", @@ -532,9 +542,9 @@ "integrity": "sha1-ms1whRxtXf3ZPZKC5e35SgP/RrU=" }, "core-js": { - "version": "2.5.3", - "resolved": "https://registry.npmjs.org/core-js/-/core-js-2.5.3.tgz", - "integrity": "sha1-isw4NFgk8W2DZbfJtCWRaOjtYD4=" + "version": "2.5.4", + "resolved": "https://registry.npmjs.org/core-js/-/core-js-2.5.4.tgz", + "integrity": "sha1-8si/GB8qgLkvNgEhQpzmOi8K6uA=" }, "debug": { "version": "3.1.0", @@ -597,19 +607,19 @@ "integrity": "sha1-gTg9ctsFT8zPUzbaqQLxgvbtuyg=" }, "globals": { - "version": "11.1.0", - "resolved": "https://registry.npmjs.org/globals/-/globals-11.1.0.tgz", - "integrity": "sha512-uEuWt9mqTlPDwSqi+sHjD4nWU/1N+q0fiWI9T1mZpD2UENqX20CFD5T/ziLZvztPaBKl7ZylUi1q6Qfm7E2CiQ==" + "version": "11.4.0", + "resolved": "https://registry.npmjs.org/globals/-/globals-11.4.0.tgz", + "integrity": "sha512-Dyzmifil8n/TmSqYDEXbm+C8yitzJQqQIlJQLNRMwa+BOUJpRC19pyVeN12JAjt61xonvXjtff+hJruTRXn5HA==" }, "has-flag": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-2.0.0.tgz", - "integrity": "sha1-6CB68cx7MNRGzHC3NLXovhj4jVE=" + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-3.0.0.tgz", + "integrity": "sha1-tdRU3CGZriJWmfNGfloH87lVuv0=" }, "invariant": { - "version": "2.2.2", - "resolved": "https://registry.npmjs.org/invariant/-/invariant-2.2.2.tgz", - "integrity": "sha1-nh9WrArNtr8wMwbzOL47IErmA2A=" + "version": "2.2.4", + "resolved": "https://registry.npmjs.org/invariant/-/invariant-2.2.4.tgz", + "integrity": "sha512-phJfQVBuaJM5raOpJjSfkiD6BpbCE4Ns//LaXl6wGYtUBY83nWS6Rf9tXm2e8VaK60JEjYldbPif/A2B1C2gNA==" }, "is-buffer": { "version": "1.1.6", @@ -707,9 +717,9 @@ "integrity": "sha1-0aitM/qc4OcT1l/dCsi3SNR4yEg=" }, "meteor-babel": { - "version": "7.0.0-beta.38", - "resolved": "https://registry.npmjs.org/meteor-babel/-/meteor-babel-7.0.0-beta.38.tgz", - "integrity": "sha512-YMOlAPVQ/er3vaJM389+mwb//7KZyQ+EfgbRCWlX5aWHkJLmnfTyZBw2Zy47oFQ7kw3p5eqYfRuteDHVFOUZ+Q==" + "version": "7.0.0-beta.42", + "resolved": "https://registry.npmjs.org/meteor-babel/-/meteor-babel-7.0.0-beta.42.tgz", + "integrity": "sha512-fvFC1KRVZqOeIKHrXJJjUD3XygrGQWudDW6uFVuvWMpUzSRE2f5faz3TnT03QPeicRygbi9Lqvx1M85u8kYk2A==" }, "meteor-babel-helpers": { "version": "0.0.3", @@ -722,9 +732,9 @@ "integrity": "sha1-hmd8l9FyCzY0MdBNDRUpO9OMFWU=" }, "minipass": { - "version": "2.2.1", - "resolved": "https://registry.npmjs.org/minipass/-/minipass-2.2.1.tgz", - "integrity": "sha512-u1aUllxPJUI07cOqzR7reGmQxmCqlH88uIIsf6XZFEWgw7gXKpJdR+5R9Y3KEDmWYkdIz9wXZs3C0jOPxejk/Q==" + "version": "2.2.4", + "resolved": "https://registry.npmjs.org/minipass/-/minipass-2.2.4.tgz", + "integrity": "sha512-hzXIWWet/BzWhYs2b+u7dRHlruXhwdgvlTMDKC6Cb1U7ps6Ac6yQlR39xsbjWJE377YTCtKwIXIpJ5oP+j5y8g==" }, "minizlib": { "version": "1.1.0", @@ -838,9 +848,9 @@ } }, "reify": { - "version": "0.13.7", - "resolved": "https://registry.npmjs.org/reify/-/reify-0.13.7.tgz", - "integrity": "sha512-jA6C/TdOf0g1A9WlQL7enh8yfGXgCmU3qbOpgc98vzRNEgu4TrAnSGec+uLxHdci96lftdBow3q0X3pbXnzmGQ==" + "version": "0.14.2", + "resolved": "https://registry.npmjs.org/reify/-/reify-0.14.2.tgz", + "integrity": "sha512-gJA67pCidAROSmr4/8SQuMQXtZwtSvoVIDR6KjoWxnO4LSD8iYNjMcRrHuQQ/c8cXYaoCpEQh0rO9CNNu1z5lA==" }, "remove-trailing-separator": { "version": "1.1.0", @@ -858,9 +868,14 @@ "integrity": "sha1-jcrkcOHIirwtYA//Sndihtp15jc=" }, "resolve": { - "version": "1.5.0", - "resolved": "https://registry.npmjs.org/resolve/-/resolve-1.5.0.tgz", - "integrity": "sha512-hgoSGrc3pjzAPHNBg+KnFcK2HwlHTs/YrAGUr6qgTVUZmXv1UEXXl0bZNBKMA9fud6lRYFdPGz0xXxycPzmmiw==" + "version": "1.6.0", + "resolved": "https://registry.npmjs.org/resolve/-/resolve-1.6.0.tgz", + "integrity": "sha512-mw7JQNu5ExIkcw4LPih0owX/TZXjD/ZUF/ZQ/pDnkw3ZKhDcZZw5klmBlj6gVMwjQ3Pz5Jgu7F3d0jcDVuEWdw==" + }, + "safe-buffer": { + "version": "5.1.1", + "resolved": "https://registry.npmjs.org/safe-buffer/-/safe-buffer-5.1.1.tgz", + "integrity": "sha512-kKvNJn6Mm93gAczWVJg7wH+wGYWNrDHdWvpUmHyEsgCtIwwo3bqPtV4tR5tuPaUhTOo/kvhVwd8XwwOllGYkbg==" }, "semver": { "version": "5.5.0", @@ -873,9 +888,9 @@ "integrity": "sha1-igOdLRAh0i0eoUyA2OpGi6LvP8w=" }, "supports-color": { - "version": "4.5.0", - "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-4.5.0.tgz", - "integrity": "sha1-vnoN5ITexcXN34s9WRJQRJEvY1s=" + "version": "5.3.0", + "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-5.3.0.tgz", + "integrity": "sha512-0aP01LLIskjKs3lq52EC0aGBAJhLq7B2Rd8HC/DR/PtNNpcLilNmHC12O+hu0usQpo7wtHNRqtrhBwtDb0+dNg==" }, "to-fast-properties": { "version": "2.0.0", diff --git a/packages/babel-compiler/babel-compiler.js b/packages/babel-compiler/babel-compiler.js index 0b5818e579..ebb054250d 100644 --- a/packages/babel-compiler/babel-compiler.js +++ b/packages/babel-compiler/babel-compiler.js @@ -95,8 +95,6 @@ BCp.processOneFileForTarget = function (inputFile, source) { ? "packages/" + packageName + "/" + inputFilePath : inputFilePath; - babelOptions.sourceMapTarget = babelOptions.filename + ".map"; - try { var result = profile('Babel.compile', function () { return Babel.compile(source, babelOptions, cacheDeps); @@ -130,6 +128,11 @@ BCp.processOneFileForTarget = function (inputFile, source) { toBeAdded.data = result.code; toBeAdded.hash = result.hash; + + // The babelOptions.sourceMapTarget option was deprecated in Babel + // 7.0.0-beta.41: https://github.com/babel/babel/pull/7500 + result.map.file = babelOptions.filename + ".map"; + toBeAdded.sourceMap = result.map; } diff --git a/packages/babel-compiler/package.js b/packages/babel-compiler/package.js index f9f59d4c02..a3554e75e4 100644 --- a/packages/babel-compiler/package.js +++ b/packages/babel-compiler/package.js @@ -6,11 +6,11 @@ Package.describe({ // isn't possible because you can't publish a non-recommended // release with package versions that don't have a pre-release // identifier at the end (eg, -dev) - version: '7.0.0' + version: '7.0.6' }); Npm.depends({ - 'meteor-babel': '7.0.0-beta.38' + 'meteor-babel': '7.0.0-beta.42' }); Package.onUse(function (api) { diff --git a/packages/ecmascript/package.js b/packages/ecmascript/package.js index b9da5a09fc..ed241a0f29 100644 --- a/packages/ecmascript/package.js +++ b/packages/ecmascript/package.js @@ -1,6 +1,6 @@ Package.describe({ name: 'ecmascript', - version: '0.10.0', + version: '0.10.6', summary: 'Compiler plugin that supports ES2015+ in all .js files', documentation: 'README.md' }); diff --git a/packages/ecmascript/transpilation-tests.js b/packages/ecmascript/transpilation-tests.js index 50b36dddc0..ce7015fc69 100644 --- a/packages/ecmascript/transpilation-tests.js +++ b/packages/ecmascript/transpilation-tests.js @@ -82,7 +82,7 @@ Tinytest.add("ecmascript - transpilation - helpers - extends", (test) => { var full = {a:1, ...middle, d:4}; `); - test.isTrue(/helpers\/(builtin\/)?extends/.test(output)); + test.isTrue(/helpers\/(builtin\/)?(extends|objectSpread)/.test(output)); }); Tinytest.add("ecmascript - transpilation - helpers - objectWithoutProperties", (test) => { diff --git a/scripts/dev-bundle-tool-package.js b/scripts/dev-bundle-tool-package.js index 9c61eb00ff..71ee54fe97 100644 --- a/scripts/dev-bundle-tool-package.js +++ b/scripts/dev-bundle-tool-package.js @@ -14,13 +14,13 @@ var packageJson = { pacote: "https://github.com/meteor/pacote/tarball/30973f140df79b647dbade03f2d6f19800c2609b", "node-gyp": "3.6.2", "node-pre-gyp": "0.6.36", - "meteor-babel": "7.0.0-beta.38", + "meteor-babel": "7.0.0-beta.42", "meteor-promise": "0.8.6", promise: "8.0.1", reify: "0.13.7", fibers: "2.0.0", // So that Babel can emit require("@babel/runtime/helpers/...") calls. - "@babel/runtime": "7.0.0-beta.38", + "@babel/runtime": "7.0.0-beta.42", // For backwards compatibility with isopackets that still depend on // babel-runtime rather than @babel/runtime. "babel-runtime": "7.0.0-beta.3", diff --git a/tools/isobuild/isopack.js b/tools/isobuild/isopack.js index 8a0b0fb683..aca695b1fb 100644 --- a/tools/isobuild/isopack.js +++ b/tools/isobuild/isopack.js @@ -1445,7 +1445,6 @@ _.extend(Isopack.prototype, { _.extend(babelOptions, { filename: path, sourceFileName: "/" + path, - sourceMapTarget: path + ".map", sourceMap: true }); @@ -1457,7 +1456,12 @@ _.extend(Isopack.prototype, { data: Buffer.from(transpiled.code + "\n" + sourceMapUrlComment, 'utf8') }); - builder.write(path + ".map", { + // The babelOptions.sourceMapTarget option was deprecated in Babel + // 7.0.0-beta.41: https://github.com/babel/babel/pull/7500 + const sourceMapTarget = path + ".map"; + transpiled.map.file = sourceMapTarget; + + builder.write(sourceMapTarget, { data: Buffer.from(JSON.stringify(transpiled.map), 'utf8') }); }); diff --git a/tools/static-assets/skel-bare/package.json b/tools/static-assets/skel-bare/package.json index b8beef5529..823c962dc3 100644 --- a/tools/static-assets/skel-bare/package.json +++ b/tools/static-assets/skel-bare/package.json @@ -5,7 +5,7 @@ "start": "meteor run" }, "dependencies": { - "@babel/runtime": "^7.0.0-beta.36", + "@babel/runtime": "^7.0.0-beta.42", "meteor-node-stubs": "^0.3.2" } } diff --git a/tools/static-assets/skel-full/package.json b/tools/static-assets/skel-full/package.json index 0cf055e170..14c8d6b49c 100644 --- a/tools/static-assets/skel-full/package.json +++ b/tools/static-assets/skel-full/package.json @@ -6,7 +6,7 @@ "test": "meteor test --once --driver-package meteortesting:mocha" }, "dependencies": { - "@babel/runtime": "^7.0.0-beta.36", + "@babel/runtime": "^7.0.0-beta.42", "meteor-node-stubs": "^0.3.2" }, "devDependencies": { diff --git a/tools/static-assets/skel/package.json b/tools/static-assets/skel/package.json index b8beef5529..823c962dc3 100644 --- a/tools/static-assets/skel/package.json +++ b/tools/static-assets/skel/package.json @@ -5,7 +5,7 @@ "start": "meteor run" }, "dependencies": { - "@babel/runtime": "^7.0.0-beta.36", + "@babel/runtime": "^7.0.0-beta.42", "meteor-node-stubs": "^0.3.2" } } diff --git a/tools/tests/apps/dynamic-import/package-lock.json b/tools/tests/apps/dynamic-import/package-lock.json index 47095fd98f..3ea51a0f8d 100644 --- a/tools/tests/apps/dynamic-import/package-lock.json +++ b/tools/tests/apps/dynamic-import/package-lock.json @@ -4,9 +4,9 @@ "lockfileVersion": 1, "dependencies": { "@babel/runtime": { - "version": "7.0.0-beta.36", - "resolved": "https://registry.npmjs.org/@babel/runtime/-/runtime-7.0.0-beta.36.tgz", - "integrity": "sha512-M76nk/SBqgICwp/QnL2ju7YrHHGjkKO1WwzqujFAdwIpf5RdZ7Q9Qt9kkGv0bOGj1h2Ki+LdfvMTJH0JhQi8sw==", + "version": "7.0.0-beta.42", + "resolved": "https://registry.npmjs.org/@babel/runtime/-/runtime-7.0.0-beta.42.tgz", + "integrity": "sha512-iOGRzUoONLOtmCvjUsZv3mZzgCT6ljHQY5fr1qG1QIiJQwtM7zbPWGGpa3QWETq+UqwWyJnoi5XZDZRwZDFciQ==", "requires": { "core-js": "2.5.3", "regenerator-runtime": "0.11.1" diff --git a/tools/tests/apps/dynamic-import/package.json b/tools/tests/apps/dynamic-import/package.json index 59564b4242..262657e08b 100644 --- a/tools/tests/apps/dynamic-import/package.json +++ b/tools/tests/apps/dynamic-import/package.json @@ -6,7 +6,7 @@ "test": "meteor test --full-app --driver-package dispatch:mocha-browser" }, "dependencies": { - "@babel/runtime": "^7.0.0-beta.36", + "@babel/runtime": "^7.0.0-beta.42", "acorn": "^4.0.11", "arson": "^0.2.3", "meteor-node-stubs": "^0.3.2", diff --git a/tools/tests/apps/modules/imports/.babelrc b/tools/tests/apps/modules/imports/.babelrc index 1575a24215..e99cbde580 100644 --- a/tools/tests/apps/modules/imports/.babelrc +++ b/tools/tests/apps/modules/imports/.babelrc @@ -2,13 +2,13 @@ "env": { "development": { "plugins": [ - "transform-do-expressions", + "proposal-do-expressions", "proposal-optional-chaining" ] }, "production": { "plugins": [ - "transform-do-expressions", + "proposal-do-expressions", "proposal-optional-chaining" ] } diff --git a/tools/tests/apps/modules/package-lock.json b/tools/tests/apps/modules/package-lock.json index 366e62a4b1..381b0c60b5 100644 --- a/tools/tests/apps/modules/package-lock.json +++ b/tools/tests/apps/modules/package-lock.json @@ -4,42 +4,41 @@ "lockfileVersion": 1, "dependencies": { "@babel/code-frame": { - "version": "7.0.0-beta.38", - "resolved": "https://registry.npmjs.org/@babel/code-frame/-/code-frame-7.0.0-beta.38.tgz", - "integrity": "sha512-JNHofQND7Iiuy3f6RXSillN1uBe87DAp+1ktsBfSxfL3xWeGFyJC9jH5zu2zs7eqVGp2qXWvJZFiJIwOYnaCQw==", + "version": "7.0.0-beta.42", + "resolved": "https://registry.npmjs.org/@babel/code-frame/-/code-frame-7.0.0-beta.42.tgz", + "integrity": "sha512-L8i94FLSyaLQpRfDo/qqSm8Ndb44zMtXParXo0MebJICG1zoCCL4+GkzUOlB4BNTRSXXQdb3feam/qw7bKPipQ==", "requires": { - "chalk": "2.3.0", - "esutils": "2.0.2", - "js-tokens": "3.0.2" + "@babel/highlight": "7.0.0-beta.42" } }, "@babel/core": { - "version": "7.0.0-beta.38", - "resolved": "https://registry.npmjs.org/@babel/core/-/core-7.0.0-beta.38.tgz", - "integrity": "sha512-xIDdSeSElby0p6QMowawWrU9VulpMk1yq6RaKYjaZBRT7s40kztTsDw8+VUVuQmdRbqLh8DpLWs15oaUWphsPg==", + "version": "7.0.0-beta.42", + "resolved": "https://registry.npmjs.org/@babel/core/-/core-7.0.0-beta.42.tgz", + "integrity": "sha512-jcjZRewF/xqROfbk8EGyWlykaIR3IwrcefjWHu8xh4QnULSv3nfkjPM35v1itDgAT4/Jj5b4mPf4eZSC2HoRQA==", "requires": { - "@babel/code-frame": "7.0.0-beta.38", - "@babel/generator": "7.0.0-beta.38", - "@babel/helpers": "7.0.0-beta.38", - "@babel/template": "7.0.0-beta.38", - "@babel/traverse": "7.0.0-beta.38", - "@babel/types": "7.0.0-beta.38", - "babylon": "7.0.0-beta.38", + "@babel/code-frame": "7.0.0-beta.42", + "@babel/generator": "7.0.0-beta.42", + "@babel/helpers": "7.0.0-beta.42", + "@babel/template": "7.0.0-beta.42", + "@babel/traverse": "7.0.0-beta.42", + "@babel/types": "7.0.0-beta.42", + "babylon": "7.0.0-beta.42", "convert-source-map": "1.5.1", "debug": "3.1.0", "json5": "0.5.1", "lodash": "4.17.4", "micromatch": "2.3.11", - "resolve": "1.5.0", + "resolve": "1.6.0", + "semver": "5.4.1", "source-map": "0.5.7" } }, "@babel/generator": { - "version": "7.0.0-beta.38", - "resolved": "https://registry.npmjs.org/@babel/generator/-/generator-7.0.0-beta.38.tgz", - "integrity": "sha512-aOHQPhsEyaB6p2n+AK981+onHoc+Ork9rcAQVSUJR33wUkGiWRpu6/C685knRyIZVsKeSdG5Q4xMiYeFUhuLzA==", + "version": "7.0.0-beta.42", + "resolved": "https://registry.npmjs.org/@babel/generator/-/generator-7.0.0-beta.42.tgz", + "integrity": "sha512-9x3zS4nG/6GAvJWB8fAK+5g/Di36xdubB43dMNSucNJTwPvmyfCippir/0I8zyG+ID66hLCLi8V9bomlWRYaHA==", "requires": { - "@babel/types": "7.0.0-beta.38", + "@babel/types": "7.0.0-beta.42", "jsesc": "2.5.1", "lodash": "4.17.4", "source-map": "0.5.7", @@ -47,86 +46,131 @@ } }, "@babel/helper-function-name": { - "version": "7.0.0-beta.38", - "resolved": "https://registry.npmjs.org/@babel/helper-function-name/-/helper-function-name-7.0.0-beta.38.tgz", - "integrity": "sha512-vLOtqh2PMbvOXL/+DlwH6A2/y+81l518Z0x7232T4E8HiMBQbkv3rNg4GmjJ5M6GcZzj7UKTBrVt8AXcH4OTdA==", + "version": "7.0.0-beta.42", + "resolved": "https://registry.npmjs.org/@babel/helper-function-name/-/helper-function-name-7.0.0-beta.42.tgz", + "integrity": "sha512-6IZ+kkPypwJrnmNzI3y31qAps2kXoPtCE241SvBva2YzB0n/YORWx2YM0jHPYOJBU9Xx5KkUhOKuWkeXZQgtTA==", "requires": { - "@babel/helper-get-function-arity": "7.0.0-beta.38", - "@babel/template": "7.0.0-beta.38", - "@babel/types": "7.0.0-beta.38" + "@babel/helper-get-function-arity": "7.0.0-beta.42", + "@babel/template": "7.0.0-beta.42", + "@babel/types": "7.0.0-beta.42" } }, "@babel/helper-get-function-arity": { - "version": "7.0.0-beta.38", - "resolved": "https://registry.npmjs.org/@babel/helper-get-function-arity/-/helper-get-function-arity-7.0.0-beta.38.tgz", - "integrity": "sha512-ty3muWaxHPcvdwihBWqGBD+s+hjt4Tua3In43eA4BvLMKWtTYsJBGdLoWQUY4TXhVgDe7wPzqxIv2AUbnIh/vQ==", + "version": "7.0.0-beta.42", + "resolved": "https://registry.npmjs.org/@babel/helper-get-function-arity/-/helper-get-function-arity-7.0.0-beta.42.tgz", + "integrity": "sha512-hF5KKcn+V/5PwU7KZ1aVwo535woLC9eV+djaoyNPZeMMJ2s+8bZlEa66Tarei0T68VRL5LXIs1Ao4hSabSkpBg==", "requires": { - "@babel/types": "7.0.0-beta.38" + "@babel/types": "7.0.0-beta.42" + } + }, + "@babel/helper-plugin-utils": { + "version": "7.0.0-beta.42", + "resolved": "https://registry.npmjs.org/@babel/helper-plugin-utils/-/helper-plugin-utils-7.0.0-beta.42.tgz", + "integrity": "sha512-hZLw8Iz9/YOxI9mgWyPOP1S84OcdQo1WFkZrS1sSf45g16sEb4dVslds2uvZgmx9BiG94PoWyABGf48Py6D6CA==" + }, + "@babel/helper-split-export-declaration": { + "version": "7.0.0-beta.42", + "resolved": "https://registry.npmjs.org/@babel/helper-split-export-declaration/-/helper-split-export-declaration-7.0.0-beta.42.tgz", + "integrity": "sha512-2r8pZG6SAJTTaI2OhxCmz5PKlMUPY5adOHrHtb1gM3ibJPDOzPAeOQNzItdxNnM33jjRakEGitXX6iYg7Sz73w==", + "requires": { + "@babel/types": "7.0.0-beta.42" } }, "@babel/helpers": { - "version": "7.0.0-beta.38", - "resolved": "https://registry.npmjs.org/@babel/helpers/-/helpers-7.0.0-beta.38.tgz", - "integrity": "sha512-DNdEZABrx2oNSpqijJHjxR/V36hMIQgFkdgv/iQsJ7xhXhObIrH1FMXsd3jbnlgblTc/7/hYed6wNKYxxXX0eQ==", + "version": "7.0.0-beta.42", + "resolved": "https://registry.npmjs.org/@babel/helpers/-/helpers-7.0.0-beta.42.tgz", + "integrity": "sha512-att9SiG9GxOUdjai87LqjSstgNsdo1nXiGu+Eh078zwRiN8bM5Ww8vrbYkAm9PF4HaW6OzOKqyKxv595RT79bA==", "requires": { - "@babel/template": "7.0.0-beta.38", - "@babel/traverse": "7.0.0-beta.38", - "@babel/types": "7.0.0-beta.38" + "@babel/template": "7.0.0-beta.42", + "@babel/traverse": "7.0.0-beta.42", + "@babel/types": "7.0.0-beta.42" + } + }, + "@babel/highlight": { + "version": "7.0.0-beta.42", + "resolved": "https://registry.npmjs.org/@babel/highlight/-/highlight-7.0.0-beta.42.tgz", + "integrity": "sha512-X3Ur/A/lIbbP8W0pmwgqtDXIxhQmxPaiwY9SKP7kF9wvZfjZRwMvbJE92ozUhF3UDK3DCKaV7oGqmI1rP/zqWA==", + "requires": { + "chalk": "2.3.2", + "esutils": "2.0.2", + "js-tokens": "3.0.2" + } + }, + "@babel/plugin-proposal-do-expressions": { + "version": "7.0.0-beta.42", + "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-do-expressions/-/plugin-proposal-do-expressions-7.0.0-beta.42.tgz", + "integrity": "sha512-EXXIx0Eke2vN/CupNHkFRsnZ5kwPr5Zv3eiOrZ8gdGRlTOCH4pmJ0AS2p/Q3Zc3eD1DDcc7PzSHW5qpgsyD0BA==", + "requires": { + "@babel/helper-plugin-utils": "7.0.0-beta.42", + "@babel/plugin-syntax-do-expressions": "7.0.0-beta.42" } }, "@babel/plugin-proposal-optional-chaining": { - "version": "7.0.0-beta.38", - "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-optional-chaining/-/plugin-proposal-optional-chaining-7.0.0-beta.38.tgz", - "integrity": "sha512-ZBQH+EG35Up5X6OTMRJAkqcP+pKlAiL2U/Lofhg4oW6h9ugRKdBuzmWVoRiCLI+8P6wOSdXmPwfCB91X1R6JEw==", + "version": "7.0.0-beta.42", + "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-optional-chaining/-/plugin-proposal-optional-chaining-7.0.0-beta.42.tgz", + "integrity": "sha512-mIrPJJz+RfcN00ZSuVl99LH22WyPmSx3BV1OgKowzo5qpWIclzN2YPcIDUa/LTSa/j6SKyini8DJ5rmYw9m0MQ==", "requires": { - "@babel/plugin-syntax-optional-chaining": "7.0.0-beta.38" + "@babel/helper-plugin-utils": "7.0.0-beta.42", + "@babel/plugin-syntax-optional-chaining": "7.0.0-beta.42" + } + }, + "@babel/plugin-syntax-do-expressions": { + "version": "7.0.0-beta.42", + "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-do-expressions/-/plugin-syntax-do-expressions-7.0.0-beta.42.tgz", + "integrity": "sha512-Thf82Mz/qEQGcYqL7kjlPtUT5hVEVetknCefoM+sGfvLYKEDoyN/xVOarZ3g02NbqshD32ESqld/YF5n9wKtbQ==", + "requires": { + "@babel/helper-plugin-utils": "7.0.0-beta.42" } }, "@babel/plugin-syntax-optional-chaining": { - "version": "7.0.0-beta.38", - "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-optional-chaining/-/plugin-syntax-optional-chaining-7.0.0-beta.38.tgz", - "integrity": "sha512-ou452cDrsUPwHFKIsHygcwzCkP/YdlVi434YN0LHZV21omadI1l5i5xO+5zTrE6xXnvCW3X4ODWUXMdiq426cg==" + "version": "7.0.0-beta.42", + "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-optional-chaining/-/plugin-syntax-optional-chaining-7.0.0-beta.42.tgz", + "integrity": "sha512-Bz0aix2BkgEIQ+9+Qb7Y6FoapXiGZ8w1Zn9mYaTTnxwODRrvYeH+cARzHWsXEf0hv3SI5ONaZXnDvwtsxQyxXQ==", + "requires": { + "@babel/helper-plugin-utils": "7.0.0-beta.42" + } }, "@babel/runtime": { - "version": "7.0.0-beta.36", - "resolved": "https://registry.npmjs.org/@babel/runtime/-/runtime-7.0.0-beta.36.tgz", - "integrity": "sha512-M76nk/SBqgICwp/QnL2ju7YrHHGjkKO1WwzqujFAdwIpf5RdZ7Q9Qt9kkGv0bOGj1h2Ki+LdfvMTJH0JhQi8sw==", + "version": "7.0.0-beta.42", + "resolved": "https://registry.npmjs.org/@babel/runtime/-/runtime-7.0.0-beta.42.tgz", + "integrity": "sha512-iOGRzUoONLOtmCvjUsZv3mZzgCT6ljHQY5fr1qG1QIiJQwtM7zbPWGGpa3QWETq+UqwWyJnoi5XZDZRwZDFciQ==", "requires": { "core-js": "2.5.3", "regenerator-runtime": "0.11.1" } }, "@babel/template": { - "version": "7.0.0-beta.38", - "resolved": "https://registry.npmjs.org/@babel/template/-/template-7.0.0-beta.38.tgz", - "integrity": "sha512-ygOSe1+ekKVkn5zxCH0rqv5sZtvLfC72yPQSaXLTHtYSYdAyXNqOW7q1ua1zJll9glk0UWYAnUEcehQXXc3fEA==", + "version": "7.0.0-beta.42", + "resolved": "https://registry.npmjs.org/@babel/template/-/template-7.0.0-beta.42.tgz", + "integrity": "sha512-EK7YdTe47j4VxlwNvz5bnlk5Jx/wWublnqfgOY2IuSNdxCQgXrLD34PfTnabGxywNSkJkcSo6jwr2JGT+S48dA==", "requires": { - "@babel/code-frame": "7.0.0-beta.38", - "@babel/types": "7.0.0-beta.38", - "babylon": "7.0.0-beta.38", + "@babel/code-frame": "7.0.0-beta.42", + "@babel/types": "7.0.0-beta.42", + "babylon": "7.0.0-beta.42", "lodash": "4.17.4" } }, "@babel/traverse": { - "version": "7.0.0-beta.38", - "resolved": "https://registry.npmjs.org/@babel/traverse/-/traverse-7.0.0-beta.38.tgz", - "integrity": "sha512-qbrc59aPCnMCj3uroG7QXdFMmrFLFvEfcwfVzmF2MXh2a7OhRzs73g/PNN8Xb0W/4Z1H4ZTY95CczmfDmXapnw==", + "version": "7.0.0-beta.42", + "resolved": "https://registry.npmjs.org/@babel/traverse/-/traverse-7.0.0-beta.42.tgz", + "integrity": "sha512-DZwMuZBfYVIn/cxpXZzHDgKmarW/MWqplLv1k7QJYhK5r5l6GAac/DkKl75A0CjPYrD3VGco6H6ZQp12QaYKSw==", "requires": { - "@babel/code-frame": "7.0.0-beta.38", - "@babel/generator": "7.0.0-beta.38", - "@babel/helper-function-name": "7.0.0-beta.38", - "@babel/types": "7.0.0-beta.38", - "babylon": "7.0.0-beta.38", + "@babel/code-frame": "7.0.0-beta.42", + "@babel/generator": "7.0.0-beta.42", + "@babel/helper-function-name": "7.0.0-beta.42", + "@babel/helper-split-export-declaration": "7.0.0-beta.42", + "@babel/types": "7.0.0-beta.42", + "babylon": "7.0.0-beta.42", "debug": "3.1.0", - "globals": "11.1.0", - "invariant": "2.2.2", + "globals": "11.4.0", + "invariant": "2.2.4", "lodash": "4.17.4" } }, "@babel/types": { - "version": "7.0.0-beta.38", - "resolved": "https://registry.npmjs.org/@babel/types/-/types-7.0.0-beta.38.tgz", - "integrity": "sha512-SAtyEjmA7KiEoL2eAOAUM6M9arQJGWxJKK0S9x0WyPOosHS420RXoxPhn57u/8orRnK8Kxm0nHQQNTX203cP1Q==", + "version": "7.0.0-beta.42", + "resolved": "https://registry.npmjs.org/@babel/types/-/types-7.0.0-beta.42.tgz", + "integrity": "sha512-+pmpISmTHQqMMpHHtDLxcvtRhmn53bAxy8goJfHipS/uy/r3PLcuSdPizLW7DhtBWbtgIKZufLObfnIMoyMNsw==", "requires": { "esutils": "2.0.2", "lodash": "4.17.4", @@ -134,9 +178,9 @@ } }, "ansi-styles": { - "version": "3.2.0", - "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-3.2.0.tgz", - "integrity": "sha512-NnSOmMEYtVR2JVMIGTzynRkkaxtiq1xnFBcdQD/DnNCYPoEPsVJhM98BDyaoNOQIi7p4okdi3E27eN7GQbsUug==", + "version": "3.2.1", + "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-3.2.1.tgz", + "integrity": "sha512-VT0ZI6kZRdTh8YyJw3SMbYm/u+NqfsAxEpWO0Pf9sq8/e94WxxOpPKx9FR1FlyCtOVDNOQ+8ntlqFxiRc+r5qA==", "requires": { "color-convert": "1.9.1" } @@ -186,33 +230,10 @@ "xmlbuilder": "4.2.1" } }, - "babel-plugin-syntax-do-expressions": { - "version": "6.13.0", - "resolved": "https://registry.npmjs.org/babel-plugin-syntax-do-expressions/-/babel-plugin-syntax-do-expressions-6.13.0.tgz", - "integrity": "sha1-V0d1YTmqJtOQ0JQQsDdEugfkeW0=" - }, - "babel-plugin-transform-do-expressions": { - "version": "6.22.0", - "resolved": "https://registry.npmjs.org/babel-plugin-transform-do-expressions/-/babel-plugin-transform-do-expressions-6.22.0.tgz", - "integrity": "sha1-KMyvkoEtlJws0SgfaQyP3EaK6bs=", - "requires": { - "babel-plugin-syntax-do-expressions": "6.13.0", - "babel-runtime": "6.26.0" - } - }, - "babel-runtime": { - "version": "6.26.0", - "resolved": "https://registry.npmjs.org/babel-runtime/-/babel-runtime-6.26.0.tgz", - "integrity": "sha1-llxwWGaOgrVde/4E/yM3vItWR/4=", - "requires": { - "core-js": "2.5.3", - "regenerator-runtime": "0.11.1" - } - }, "babylon": { - "version": "7.0.0-beta.38", - "resolved": "https://registry.npmjs.org/babylon/-/babylon-7.0.0-beta.38.tgz", - "integrity": "sha512-ukc+RoVsxNjsFGTgXtCGr/RcNHQ4/OKBZQ2B6C2XBQwrbxXGWxgOMF9xgQ2WAQJQtvur3N6xakpIGMRNfGtt8Q==" + "version": "7.0.0-beta.42", + "resolved": "https://registry.npmjs.org/babylon/-/babylon-7.0.0-beta.42.tgz", + "integrity": "sha512-h6E/OkkvcBw/JimbL0p8dIaxrcuQn3QmIYGC/GtJlRYif5LTKBYPHXYwqluJpfS/kOXoz0go+9mkmOVC0M+zWw==" }, "base64-js": { "version": "1.2.1", @@ -263,13 +284,13 @@ } }, "chalk": { - "version": "2.3.0", - "resolved": "https://registry.npmjs.org/chalk/-/chalk-2.3.0.tgz", - "integrity": "sha512-Az5zJR2CBujap2rqXGaJKaPHyJ0IrUimvYNX+ncCy8PJP4ltOGTrHUIo097ZaL2zMeKYpiCdqDvS6zdrTFok3Q==", + "version": "2.3.2", + "resolved": "https://registry.npmjs.org/chalk/-/chalk-2.3.2.tgz", + "integrity": "sha512-ZM4j2/ld/YZDc3Ma8PgN7gyAk+kHMMMyzLNryCPGhWrsfAuDVeuid5bpRFTDgMH9JBK2lA4dyyAkkZYF/WcqDQ==", "requires": { - "ansi-styles": "3.2.0", + "ansi-styles": "3.2.1", "escape-string-regexp": "1.0.5", - "supports-color": "4.5.0" + "supports-color": "5.3.0" } }, "cli-color": { @@ -450,14 +471,14 @@ } }, "globals": { - "version": "11.1.0", - "resolved": "https://registry.npmjs.org/globals/-/globals-11.1.0.tgz", - "integrity": "sha512-uEuWt9mqTlPDwSqi+sHjD4nWU/1N+q0fiWI9T1mZpD2UENqX20CFD5T/ziLZvztPaBKl7ZylUi1q6Qfm7E2CiQ==" + "version": "11.4.0", + "resolved": "https://registry.npmjs.org/globals/-/globals-11.4.0.tgz", + "integrity": "sha512-Dyzmifil8n/TmSqYDEXbm+C8yitzJQqQIlJQLNRMwa+BOUJpRC19pyVeN12JAjt61xonvXjtff+hJruTRXn5HA==" }, "has-flag": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-2.0.0.tgz", - "integrity": "sha1-6CB68cx7MNRGzHC3NLXovhj4jVE=" + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-3.0.0.tgz", + "integrity": "sha1-tdRU3CGZriJWmfNGfloH87lVuv0=" }, "iconv-lite": { "version": "0.4.19", @@ -480,9 +501,9 @@ "integrity": "sha1-Yzwsg+PaQqUC9SRmAiSA9CCCYd4=" }, "invariant": { - "version": "2.2.2", - "resolved": "https://registry.npmjs.org/invariant/-/invariant-2.2.2.tgz", - "integrity": "sha1-nh9WrArNtr8wMwbzOL47IErmA2A=", + "version": "2.2.4", + "resolved": "https://registry.npmjs.org/invariant/-/invariant-2.2.4.tgz", + "integrity": "sha512-phJfQVBuaJM5raOpJjSfkiD6BpbCE4Ns//LaXl6wGYtUBY83nWS6Rf9tXm2e8VaK60JEjYldbPif/A2B1C2gNA==", "requires": { "loose-envify": "1.3.1" } @@ -635,7 +656,7 @@ "process": "0.11.10", "punycode": "1.4.1", "querystring-es3": "0.2.1", - "readable-stream": "git+https://github.com/meteor/readable-stream.git#d64a64aa6061b9b6855feff4d09e58fb3b2e4502", + "readable-stream": "git+https://github.com/meteor/readable-stream.git#c688cdd193549919b840e8d72a86682d91961e12", "stream-browserify": "2.0.1", "string_decoder": "1.0.3", "timers-browserify": "1.4.2", @@ -1110,9 +1131,9 @@ "integrity": "sha1-czIwDoQBYb2j5podHZGn1LwW8YI=" }, "process-nextick-args": { - "version": "1.0.7", - "resolved": "https://registry.npmjs.org/process-nextick-args/-/process-nextick-args-1.0.7.tgz", - "integrity": "sha1-FQ4gt1ZZCtP5EJPyWk8q2L/zC6M=" + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/process-nextick-args/-/process-nextick-args-2.0.0.tgz", + "integrity": "sha512-MtEC1TqN0EU5nephaJ4rAtThHtC86dNN9qCuEhtshvpVBkAW5ZO7BASN9REnF9eoXGcRub+pFuKEpOHE+HbEMw==" }, "public-encrypt": { "version": "4.0.0", @@ -1150,13 +1171,13 @@ } }, "readable-stream": { - "version": "git+https://github.com/meteor/readable-stream.git#d64a64aa6061b9b6855feff4d09e58fb3b2e4502", + "version": "git+https://github.com/meteor/readable-stream.git#c688cdd193549919b840e8d72a86682d91961e12", "requires": { "inherits": "2.0.3", "isarray": "1.0.0", - "process-nextick-args": "1.0.7", + "process-nextick-args": "2.0.0", "safe-buffer": "5.1.1", - "string_decoder": "1.0.3", + "string_decoder": "1.1.1", "util-deprecate": "1.0.2" }, "dependencies": { @@ -1164,6 +1185,14 @@ "version": "2.0.3", "resolved": "https://registry.npmjs.org/inherits/-/inherits-2.0.3.tgz", "integrity": "sha1-Yzwsg+PaQqUC9SRmAiSA9CCCYd4=" + }, + "string_decoder": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/string_decoder/-/string_decoder-1.1.1.tgz", + "integrity": "sha512-n/ShnvDi6FHbbVfviro+WojiFzv+s8MPMHBczVePfUpDJLwoLT0ht1l4YwBCbi8pJAveEEdnkHyPyTP/mzRfwg==", + "requires": { + "safe-buffer": "5.1.1" + } } } }, @@ -1204,7 +1233,7 @@ "integrity": "sha1-ZiZu5fm9uZQKTkUUyvtDu3Hlyds=", "requires": { "inherits": "2.0.1", - "readable-stream": "git+https://github.com/meteor/readable-stream.git#d64a64aa6061b9b6855feff4d09e58fb3b2e4502" + "readable-stream": "git+https://github.com/meteor/readable-stream.git#c688cdd193549919b840e8d72a86682d91961e12" } }, "string_decoder": { @@ -1252,11 +1281,6 @@ "inherits": "2.0.1" } }, - "util-deprecate": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/util-deprecate/-/util-deprecate-1.0.2.tgz", - "integrity": "sha1-RQ1Nyfpw3nMnYvvS1KKJgUGaDM8=" - }, "vm-browserify": { "version": "0.0.4", "resolved": "https://registry.npmjs.org/vm-browserify/-/vm-browserify-0.0.4.tgz", @@ -1484,9 +1508,9 @@ "integrity": "sha1-jcrkcOHIirwtYA//Sndihtp15jc=" }, "resolve": { - "version": "1.5.0", - "resolved": "https://registry.npmjs.org/resolve/-/resolve-1.5.0.tgz", - "integrity": "sha512-hgoSGrc3pjzAPHNBg+KnFcK2HwlHTs/YrAGUr6qgTVUZmXv1UEXXl0bZNBKMA9fud6lRYFdPGz0xXxycPzmmiw==", + "version": "1.6.0", + "resolved": "https://registry.npmjs.org/resolve/-/resolve-1.6.0.tgz", + "integrity": "sha512-mw7JQNu5ExIkcw4LPih0owX/TZXjD/ZUF/ZQ/pDnkw3ZKhDcZZw5klmBlj6gVMwjQ3Pz5Jgu7F3d0jcDVuEWdw==", "requires": { "path-parse": "1.0.5" } @@ -1546,11 +1570,11 @@ } }, "supports-color": { - "version": "4.5.0", - "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-4.5.0.tgz", - "integrity": "sha1-vnoN5ITexcXN34s9WRJQRJEvY1s=", + "version": "5.3.0", + "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-5.3.0.tgz", + "integrity": "sha512-0aP01LLIskjKs3lq52EC0aGBAJhLq7B2Rd8HC/DR/PtNNpcLilNmHC12O+hu0usQpo7wtHNRqtrhBwtDb0+dNg==", "requires": { - "has-flag": "2.0.0" + "has-flag": "3.0.0" } }, "tedious": { diff --git a/tools/tests/apps/modules/package.json b/tools/tests/apps/modules/package.json index 9575b25806..62d54942ae 100644 --- a/tools/tests/apps/modules/package.json +++ b/tools/tests/apps/modules/package.json @@ -4,11 +4,11 @@ "description": "Test app exercising many aspects of the Meteor module system.", "private": true, "dependencies": { - "@babel/core": "^7.0.0-beta.38", - "@babel/plugin-proposal-optional-chaining": "^7.0.0-beta.38", - "@babel/runtime": "^7.0.0-beta.36", + "@babel/core": "^7.0.0-beta.42", + "@babel/plugin-proposal-do-expressions": "^7.0.0-beta.42", + "@babel/plugin-proposal-optional-chaining": "^7.0.0-beta.42", + "@babel/runtime": "^7.0.0-beta.42", "aws-sdk": "^2.2.41", - "babel-plugin-transform-do-expressions": "^6.22.0", "cli-color": "^0.2.3", "github": "^0.2.4", "idle-gc": "^1.0.1", From 5704016703df800bdbdb53df9d490b820fc803c9 Mon Sep 17 00:00:00 2001 From: Ben Newman Date: Fri, 30 Mar 2018 11:45:08 -0400 Subject: [PATCH 0716/1355] Bump $BUNDLE_VERSION to 8.11.1 before rebuilding dev bundle. --- meteor | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/meteor b/meteor index 68345d129a..05bd9a063c 100755 --- a/meteor +++ b/meteor @@ -1,6 +1,6 @@ #!/usr/bin/env bash -BUNDLE_VERSION=8.9.18 +BUNDLE_VERSION=8.11.1 # OS Check. Put here because here is where we download the precompiled # bundles that are arch specific. From 84d776ecb86ed3c83e5140b1ff8ab33ac64f2b65 Mon Sep 17 00:00:00 2001 From: Ben Newman Date: Sat, 31 Mar 2018 14:33:22 -0400 Subject: [PATCH 0717/1355] Bump package versions for 1.6.1.1-rc.0 release. --- packages/meteor-tool/package.js | 2 +- scripts/admin/meteor-release-experimental.json | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/packages/meteor-tool/package.js b/packages/meteor-tool/package.js index 6d97c94e2b..fe36e78028 100644 --- a/packages/meteor-tool/package.js +++ b/packages/meteor-tool/package.js @@ -1,6 +1,6 @@ Package.describe({ summary: "The Meteor command-line tool", - version: '1.6.1' + version: '1.6.1-1-rc.0' }); Package.includeTool(); diff --git a/scripts/admin/meteor-release-experimental.json b/scripts/admin/meteor-release-experimental.json index 61dfd1990d..33ab65beed 100644 --- a/scripts/admin/meteor-release-experimental.json +++ b/scripts/admin/meteor-release-experimental.json @@ -1,6 +1,6 @@ { "track": "METEOR", - "version": "1.6.1-rc.10", + "version": "1.6.1.1-rc.0", "recommended": false, "official": false, "description": "Meteor" From 9ef1c6caf6b7696b1f471923ceb99a79ecb66767 Mon Sep 17 00:00:00 2001 From: Ben Newman Date: Mon, 2 Apr 2018 10:19:40 -0400 Subject: [PATCH 0718/1355] Suggest updating @babel/runtime in 1.6.1.1 History.md section. --- History.md | 6 +++++- 1 file changed, 5 insertions(+), 1 deletion(-) diff --git a/History.md b/History.md index 10486d3451..2b475611c5 100644 --- a/History.md +++ b/History.md @@ -13,7 +13,11 @@ * The `meteor-babel` npm package has been updated to version 7.0.0-beta.42, which may require updating any custom Babel plugins - you've enabled in a `.babelrc` file. + you've enabled in a `.babelrc` file, and/or running the following + command to update `@babel/runtime`: + ```sh + meteor npm install @babel/runtime@latest + ``` ## v1.6.1, 2018-01-19 From 7cd4947780162b8cc4d6f4713c005c9533eb5a1e Mon Sep 17 00:00:00 2001 From: Ben Newman Date: Mon, 2 Apr 2018 10:21:56 -0400 Subject: [PATCH 0719/1355] Bump package versions for the official 1.6.1.1 release. --- packages/meteor-tool/package.js | 2 +- scripts/admin/meteor-release-official.json | 7 ++++++- 2 files changed, 7 insertions(+), 2 deletions(-) diff --git a/packages/meteor-tool/package.js b/packages/meteor-tool/package.js index fe36e78028..d3eb5d0e96 100644 --- a/packages/meteor-tool/package.js +++ b/packages/meteor-tool/package.js @@ -1,6 +1,6 @@ Package.describe({ summary: "The Meteor command-line tool", - version: '1.6.1-1-rc.0' + version: '1.6.1_1' }); Package.includeTool(); diff --git a/scripts/admin/meteor-release-official.json b/scripts/admin/meteor-release-official.json index 308ba487bb..7265e8a8a0 100644 --- a/scripts/admin/meteor-release-official.json +++ b/scripts/admin/meteor-release-official.json @@ -1,7 +1,12 @@ { "track": "METEOR", - "version": "1.6.1", + "version": "1.6.1.1", "recommended": false, "official": true, + "patchFrom": [ + "1.6", + "1.6.0.1", + "1.6.1" + ], "description": "The Official Meteor Distribution" } From 6b3cc2e94fe48405b6ac9652120d59808b5e2951 Mon Sep 17 00:00:00 2001 From: Ben Newman Date: Thu, 1 Feb 2018 12:22:05 -0500 Subject: [PATCH 0720/1355] Avoid displaying package stats errors in headless mode. Console.isInteractive() will be false during our Circle CI test runs, since we set the METEOR_HEADLESS environment variable, so this change should help prevent spurious test failures like these: https://circleci.com/gh/meteor/meteor/15305. --- tools/console/console.js | 12 ++++++------ tools/meteor-services/stats.js | 3 ++- 2 files changed, 8 insertions(+), 7 deletions(-) diff --git a/tools/console/console.js b/tools/console/console.js index f3369fbe0b..73df9f1cde 100644 --- a/tools/console/console.js +++ b/tools/console/console.js @@ -586,10 +586,6 @@ class Console extends ConsoleBase { }); } - isInteractive() { - return !this._headless; - } - setPretty(pretty) { // If we're being forced, do nothing. if (FORCE_PRETTY !== undefined) { @@ -1207,12 +1203,16 @@ class Console extends ConsoleBase { this._setProgressDisplay(newProgressDisplay); } + isPseudoTTY() { + return this._stream && this._stream.isTTY && ! this._stream.columns; + } + isHeadless() { return this._headless; } - isPseudoTTY() { - return this._stream && this._stream.isTTY && ! this._stream.columns; + isInteractive() { + return ! this._headless; } setHeadless(headless = true) { diff --git a/tools/meteor-services/stats.js b/tools/meteor-services/stats.js index 28daaf1a14..4c277e94a8 100644 --- a/tools/meteor-services/stats.js +++ b/tools/meteor-services/stats.js @@ -115,7 +115,8 @@ var recordPackages = function (options) { }; var logErrorIfInCheckout = function (err) { - if (files.inCheckout() || process.env.METEOR_PACKAGE_STATS_TEST_OUTPUT) { + if ((Console.isInteractive() && files.inCheckout()) + || process.env.METEOR_PACKAGE_STATS_TEST_OUTPUT) { Console.warn("Failed to record package usage."); Console.warn( "(This error is hidden when you are not running Meteor from a", From c316dce5845d19bd5913ff21df87ea4193bf0636 Mon Sep 17 00:00:00 2001 From: Ben Newman Date: Mon, 2 Apr 2018 13:13:45 -0400 Subject: [PATCH 0721/1355] Bump $BUNDLE_VERSION to 8.11.1.1 before rebuilding dev bundle. The dev bundle needs to be rebuilt after 1.6.1 since we bumped the Node version in 1.6.1 but did not bump the npm version, though npm has been updated to 5.8.0 on the devel branch (and release-1.6.2) already. The $BUNDLE_VERSION version is interpreted as an opaque string rather than a semantic version, so we can easily add a fourth number to track changes that fall between Node versions (while we're waiting for Node 8.11.2). --- meteor | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/meteor b/meteor index 05bd9a063c..30e2edde5f 100755 --- a/meteor +++ b/meteor @@ -1,6 +1,6 @@ #!/usr/bin/env bash -BUNDLE_VERSION=8.11.1 +BUNDLE_VERSION=8.11.1.1 # OS Check. Put here because here is where we download the precompiled # bundles that are arch specific. From 4e1bcb0043470a0407122cb637b820d3dd7f8524 Mon Sep 17 00:00:00 2001 From: Ben Newman Date: Mon, 2 Apr 2018 16:09:10 -0400 Subject: [PATCH 0722/1355] Bump package versions for 1.6.2-beta.17 release. I made a mistake while publishing 1.6.2-beta.16 that means it's easier to just skip that version. --- packages/babel-compiler/package.js | 2 +- packages/boilerplate-generator-tests/package.js | 2 +- packages/boilerplate-generator/package.js | 2 +- packages/dynamic-import/package.js | 2 +- packages/ecmascript-runtime-client/package.js | 2 +- packages/ecmascript-runtime-server/package.js | 2 +- packages/ecmascript-runtime/package.js | 2 +- packages/ecmascript/package.js | 2 +- packages/es5-shim/package.js | 2 +- packages/jquery/package.js | 2 +- packages/meteor-base/package.js | 2 +- packages/meteor-tool/package.js | 2 +- packages/meteor/package.js | 2 +- packages/modern-browsers/package.js | 2 +- packages/modules-runtime/package.js | 2 +- packages/promise/package.js | 2 +- packages/socket-stream-client/package.js | 2 +- packages/tracker/package.js | 2 +- packages/webapp/package.js | 2 +- scripts/admin/meteor-release-experimental.json | 2 +- 20 files changed, 20 insertions(+), 20 deletions(-) diff --git a/packages/babel-compiler/package.js b/packages/babel-compiler/package.js index 50de54ec3d..554ad85997 100644 --- a/packages/babel-compiler/package.js +++ b/packages/babel-compiler/package.js @@ -6,7 +6,7 @@ Package.describe({ // isn't possible because you can't publish a non-recommended // release with package versions that don't have a pre-release // identifier at the end (eg, -dev) - version: '7.1.0-beta162.15' + version: '7.1.0-beta162.17' }); Npm.depends({ diff --git a/packages/boilerplate-generator-tests/package.js b/packages/boilerplate-generator-tests/package.js index ae55651075..361a4c070b 100644 --- a/packages/boilerplate-generator-tests/package.js +++ b/packages/boilerplate-generator-tests/package.js @@ -2,7 +2,7 @@ Package.describe({ // These tests are in a separate package so that we can Npm.depend on // parse5, a html parsing library. summary: "Tests for the boilerplate-generator package", - version: '1.5.0-beta162.15', + version: '1.5.0-beta162.17', documentation: null }); diff --git a/packages/boilerplate-generator/package.js b/packages/boilerplate-generator/package.js index 423e937303..b8d57e09b4 100644 --- a/packages/boilerplate-generator/package.js +++ b/packages/boilerplate-generator/package.js @@ -1,6 +1,6 @@ Package.describe({ summary: "Generates the boilerplate html from program's manifest", - version: '1.5.0-beta162.15' + version: '1.5.0-beta162.17' }); Npm.depends({ diff --git a/packages/dynamic-import/package.js b/packages/dynamic-import/package.js index d9290d19e2..9f476342a7 100644 --- a/packages/dynamic-import/package.js +++ b/packages/dynamic-import/package.js @@ -1,6 +1,6 @@ Package.describe({ name: "dynamic-import", - version: "0.4.0-beta162.15", + version: "0.4.0-beta162.17", summary: "Runtime support for Meteor 1.5 dynamic import(...) syntax", documentation: "README.md" }); diff --git a/packages/ecmascript-runtime-client/package.js b/packages/ecmascript-runtime-client/package.js index cc392d38a2..03e5ed0879 100644 --- a/packages/ecmascript-runtime-client/package.js +++ b/packages/ecmascript-runtime-client/package.js @@ -1,6 +1,6 @@ Package.describe({ name: "ecmascript-runtime-client", - version: "0.7.0-beta162.15", + version: "0.7.0-beta162.17", summary: "Polyfills for new ECMAScript 2015 APIs like Map and Set", git: "https://github.com/meteor/meteor/tree/devel/packages/ecmascript-runtime-client", documentation: "README.md" diff --git a/packages/ecmascript-runtime-server/package.js b/packages/ecmascript-runtime-server/package.js index 160801304e..21aa586d95 100644 --- a/packages/ecmascript-runtime-server/package.js +++ b/packages/ecmascript-runtime-server/package.js @@ -1,6 +1,6 @@ Package.describe({ name: "ecmascript-runtime-server", - version: "0.7.0-beta162.15", + version: "0.7.0-beta162.17", summary: "Polyfills for new ECMAScript 2015 APIs like Map and Set", git: "https://github.com/meteor/meteor/tree/devel/packages/ecmascript-runtime-client", documentation: "README.md" diff --git a/packages/ecmascript-runtime/package.js b/packages/ecmascript-runtime/package.js index bee40fd3b9..cffe28c3d8 100644 --- a/packages/ecmascript-runtime/package.js +++ b/packages/ecmascript-runtime/package.js @@ -1,6 +1,6 @@ Package.describe({ name: "ecmascript-runtime", - version: "0.7.0-beta162.15", + version: "0.7.0-beta162.17", summary: "Polyfills for new ECMAScript 2015 APIs like Map and Set", git: "https://github.com/meteor/ecmascript-runtime", documentation: "README.md" diff --git a/packages/ecmascript/package.js b/packages/ecmascript/package.js index ad0b62ffb6..42223f10f4 100644 --- a/packages/ecmascript/package.js +++ b/packages/ecmascript/package.js @@ -1,6 +1,6 @@ Package.describe({ name: 'ecmascript', - version: '0.11.0-beta162.15', + version: '0.11.0-beta162.17', summary: 'Compiler plugin that supports ES2015+ in all .js files', documentation: 'README.md' }); diff --git a/packages/es5-shim/package.js b/packages/es5-shim/package.js index cf8629b65f..58ac8dd4f7 100644 --- a/packages/es5-shim/package.js +++ b/packages/es5-shim/package.js @@ -1,6 +1,6 @@ Package.describe({ name: "es5-shim", - version: "4.8.0-beta162.15", + version: "4.8.0-beta162.17", summary: "Shims and polyfills to improve ECMAScript 5 support", documentation: "README.md" }); diff --git a/packages/jquery/package.js b/packages/jquery/package.js index eb944035e3..085a777ad0 100644 --- a/packages/jquery/package.js +++ b/packages/jquery/package.js @@ -1,7 +1,7 @@ Package.describe({ summary: "Manipulate the DOM using CSS selectors", // This package currently uses jQuery 1.12.1 (due to #9605). - version: '1.12.1-beta162.15' + version: '1.12.1-beta162.17' }); Package.onUse(function (api) { diff --git a/packages/meteor-base/package.js b/packages/meteor-base/package.js index 12764f6109..56916b95db 100644 --- a/packages/meteor-base/package.js +++ b/packages/meteor-base/package.js @@ -1,6 +1,6 @@ Package.describe({ name: 'meteor-base', - version: '1.4.0-beta162.15', + version: '1.4.0-beta162.17', // Brief, one-line summary of the package. summary: 'Packages that every Meteor app needs', // By default, Meteor will default to using README.md for documentation. diff --git a/packages/meteor-tool/package.js b/packages/meteor-tool/package.js index 13bd293270..9fb603f0c6 100644 --- a/packages/meteor-tool/package.js +++ b/packages/meteor-tool/package.js @@ -1,6 +1,6 @@ Package.describe({ summary: "The Meteor command-line tool", - version: '1.6.2-beta.15' + version: '1.6.2-beta.17' }); Package.includeTool(); diff --git a/packages/meteor/package.js b/packages/meteor/package.js index 7400ae5bbd..2d944820bb 100644 --- a/packages/meteor/package.js +++ b/packages/meteor/package.js @@ -2,7 +2,7 @@ Package.describe({ summary: "Core Meteor environment", - version: '1.9.0-beta162.15' + version: '1.9.0-beta162.17' }); Package.registerBuildPlugin({ diff --git a/packages/modern-browsers/package.js b/packages/modern-browsers/package.js index 8fb4510f69..6230b00436 100644 --- a/packages/modern-browsers/package.js +++ b/packages/modern-browsers/package.js @@ -1,6 +1,6 @@ Package.describe({ name: "modern-browsers", - version: "0.1.0-beta162.15", + version: "0.1.0-beta162.17", summary: "API for defining the boundary between modern and legacy " + "JavaScript clients", documentation: "README.md" diff --git a/packages/modules-runtime/package.js b/packages/modules-runtime/package.js index 9dc0ba61d6..83085950d0 100644 --- a/packages/modules-runtime/package.js +++ b/packages/modules-runtime/package.js @@ -1,6 +1,6 @@ Package.describe({ name: "modules-runtime", - version: "0.10.0-beta162.15", + version: "0.10.0-beta162.17", summary: "CommonJS module system", git: "https://github.com/benjamn/install", documentation: "README.md" diff --git a/packages/promise/package.js b/packages/promise/package.js index ff387fb9a3..4892cd4fb1 100644 --- a/packages/promise/package.js +++ b/packages/promise/package.js @@ -1,6 +1,6 @@ Package.describe({ name: "promise", - version: "0.11.0-beta162.15", + version: "0.11.0-beta162.17", summary: "ECMAScript 2015 Promise polyfill with Fiber support", git: "https://github.com/meteor/promise", documentation: "README.md" diff --git a/packages/socket-stream-client/package.js b/packages/socket-stream-client/package.js index cc4be8dbf0..00b7fa0286 100644 --- a/packages/socket-stream-client/package.js +++ b/packages/socket-stream-client/package.js @@ -1,6 +1,6 @@ Package.describe({ name: "socket-stream-client", - version: "0.2.0-beta162.15", + version: "0.2.0-beta162.17", summary: "Provides the ClientStream abstraction used by ddp-client", documentation: "README.md" }); diff --git a/packages/tracker/package.js b/packages/tracker/package.js index 76467b9b8e..2c6bc1f141 100644 --- a/packages/tracker/package.js +++ b/packages/tracker/package.js @@ -1,6 +1,6 @@ Package.describe({ summary: "Dependency tracker to allow reactive callbacks", - version: "1.2.0-beta162.15" + version: "1.2.0-beta162.17" }); Package.onUse(function (api) { diff --git a/packages/webapp/package.js b/packages/webapp/package.js index 7ac166c7db..dd6001ce9d 100644 --- a/packages/webapp/package.js +++ b/packages/webapp/package.js @@ -1,6 +1,6 @@ Package.describe({ summary: "Serves a Meteor app over HTTP", - version: '1.6.0-beta162.15' + version: '1.6.0-beta162.17' }); Npm.depends({"basic-auth-connect": "1.0.0", diff --git a/scripts/admin/meteor-release-experimental.json b/scripts/admin/meteor-release-experimental.json index bddf51abd9..586293ac27 100644 --- a/scripts/admin/meteor-release-experimental.json +++ b/scripts/admin/meteor-release-experimental.json @@ -1,6 +1,6 @@ { "track": "METEOR", - "version": "1.6.2-beta.15", + "version": "1.6.2-beta.17", "recommended": false, "official": false, "description": "Meteor" From 2a524dcfd1ed342d74f416c91c81ede8c9953cfa Mon Sep 17 00:00:00 2001 From: Ben Newman Date: Mon, 2 Apr 2018 18:54:00 -0400 Subject: [PATCH 0723/1355] Update meteor-babel to 7.0.0-beta.44 and reify to 0.15.1. --- History.md | 5 +- .../.npm/package/npm-shrinkwrap.json | 452 +++++++++--------- packages/babel-compiler/package.js | 4 +- packages/ecmascript/package.js | 2 +- .../modules/.npm/package/npm-shrinkwrap.json | 27 +- packages/modules/package.js | 4 +- scripts/dev-bundle-tool-package.js | 6 +- 7 files changed, 234 insertions(+), 266 deletions(-) diff --git a/History.md b/History.md index a8cfc44e12..46907a0c46 100644 --- a/History.md +++ b/History.md @@ -101,7 +101,10 @@ test files across your codebase; just make sure you import the ones you want to run. [PR #9714](https://github.com/meteor/meteor/pull/9714) -* The `reify` npm package has been updated to version 0.14.2. +* The `meteor-babel` npm package has been updated to version + 7.0.0-beta.44. + +* The `reify` npm package has been updated to version 0.15.1. * The `optimism` npm package has been updated to version 0.4.0. diff --git a/packages/babel-compiler/.npm/package/npm-shrinkwrap.json b/packages/babel-compiler/.npm/package/npm-shrinkwrap.json index 641e1b50bf..bf9fa33068 100644 --- a/packages/babel-compiler/.npm/package/npm-shrinkwrap.json +++ b/packages/babel-compiler/.npm/package/npm-shrinkwrap.json @@ -2,329 +2,329 @@ "lockfileVersion": 1, "dependencies": { "@babel/code-frame": { - "version": "7.0.0-beta.42", - "resolved": "https://registry.npmjs.org/@babel/code-frame/-/code-frame-7.0.0-beta.42.tgz", - "integrity": "sha512-L8i94FLSyaLQpRfDo/qqSm8Ndb44zMtXParXo0MebJICG1zoCCL4+GkzUOlB4BNTRSXXQdb3feam/qw7bKPipQ==" + "version": "7.0.0-beta.44", + "resolved": "https://registry.npmjs.org/@babel/code-frame/-/code-frame-7.0.0-beta.44.tgz", + "integrity": "sha512-cuAuTTIQ9RqcFRJ/Y8PvTh+paepNcaGxwQwjIDRWPXmzzyAeCO4KqS9ikMvq0MCbRk6GlYKwfzStrcP3/jSL8g==" }, "@babel/core": { - "version": "7.0.0-beta.42", - "resolved": "https://registry.npmjs.org/@babel/core/-/core-7.0.0-beta.42.tgz", - "integrity": "sha512-jcjZRewF/xqROfbk8EGyWlykaIR3IwrcefjWHu8xh4QnULSv3nfkjPM35v1itDgAT4/Jj5b4mPf4eZSC2HoRQA==" + "version": "7.0.0-beta.44", + "resolved": "https://registry.npmjs.org/@babel/core/-/core-7.0.0-beta.44.tgz", + "integrity": "sha512-E16ps55Av+GAO6qVTZeVR5FMVppraUPjiJEHuH0sANsbmkEjqQ70XQiv0KXPYbPzHBd+gijx6uLakSacjvtwIA==" }, "@babel/generator": { - "version": "7.0.0-beta.42", - "resolved": "https://registry.npmjs.org/@babel/generator/-/generator-7.0.0-beta.42.tgz", - "integrity": "sha512-9x3zS4nG/6GAvJWB8fAK+5g/Di36xdubB43dMNSucNJTwPvmyfCippir/0I8zyG+ID66hLCLi8V9bomlWRYaHA==" + "version": "7.0.0-beta.44", + "resolved": "https://registry.npmjs.org/@babel/generator/-/generator-7.0.0-beta.44.tgz", + "integrity": "sha512-5xVb7hlhjGcdkKpMXgicAVgx8syK5VJz193k0i/0sLP6DzE6lRrU1K3B/rFefgdo9LPGMAOOOAWW4jycj07ShQ==" }, "@babel/helper-annotate-as-pure": { - "version": "7.0.0-beta.42", - "resolved": "https://registry.npmjs.org/@babel/helper-annotate-as-pure/-/helper-annotate-as-pure-7.0.0-beta.42.tgz", - "integrity": "sha512-2lmcB7mHRSXZjDV9fdnWGRco+5fbI0PdUtsL7mNA2GtJs0GPoKdV3sCx0N4cpzG2YRR4dNCiB2riYIrzWjmQ1Q==" + "version": "7.0.0-beta.44", + "resolved": "https://registry.npmjs.org/@babel/helper-annotate-as-pure/-/helper-annotate-as-pure-7.0.0-beta.44.tgz", + "integrity": "sha512-trEw653XRNMCBIno/GyuffHi7AxB4miw1EHDeA/q9uIYNdyaXahIdQuBlbzGRWWoBdObFf4Ua0cDFgWkrfgBPw==" }, "@babel/helper-builder-binary-assignment-operator-visitor": { - "version": "7.0.0-beta.42", - "resolved": "https://registry.npmjs.org/@babel/helper-builder-binary-assignment-operator-visitor/-/helper-builder-binary-assignment-operator-visitor-7.0.0-beta.42.tgz", - "integrity": "sha512-lI14OS85dMAvsjTNTLrk3qqqvmy4CNxgXGpWkjMuKlYzwnC7LQvdrdH7wf3CBl8C0GSZHbgvADMUtrKiNjxJ5w==" + "version": "7.0.0-beta.44", + "resolved": "https://registry.npmjs.org/@babel/helper-builder-binary-assignment-operator-visitor/-/helper-builder-binary-assignment-operator-visitor-7.0.0-beta.44.tgz", + "integrity": "sha512-M9+OPXXT3yqTvMlUmvXf53NX7qkzGkahXnkIyY15gNP/yWGG5ODYNa225Mq7/Vp0zMrI7JastEnn0AuEXSUQWA==" }, "@babel/helper-builder-react-jsx": { - "version": "7.0.0-beta.42", - "resolved": "https://registry.npmjs.org/@babel/helper-builder-react-jsx/-/helper-builder-react-jsx-7.0.0-beta.42.tgz", - "integrity": "sha512-pgy7el3TV5u4SdWB9w1No5X0fooc8pWcVujbOzey+b9CQU5cf64CGct01bs+k7vGoKwoTYWizZD9MeFk2JLawg==" + "version": "7.0.0-beta.44", + "resolved": "https://registry.npmjs.org/@babel/helper-builder-react-jsx/-/helper-builder-react-jsx-7.0.0-beta.44.tgz", + "integrity": "sha512-n5M57LzSOe1cvJZ9DrOzftD/QYkVrrKNpXjzTXcAZKYx5eRjaiORXlB8vu32mIwFrg8OkalQVqlmk8gi3SpKpg==" }, "@babel/helper-call-delegate": { - "version": "7.0.0-beta.42", - "resolved": "https://registry.npmjs.org/@babel/helper-call-delegate/-/helper-call-delegate-7.0.0-beta.42.tgz", - "integrity": "sha512-iGZJrRSKIvla9m8VJNv8wlbPReOLmVqFTpefl07v6e5cMPvP2XOgVWR2B4HZ9UwVo7Lx8rPAQ8/UZgjvq+pJ+A==" + "version": "7.0.0-beta.44", + "resolved": "https://registry.npmjs.org/@babel/helper-call-delegate/-/helper-call-delegate-7.0.0-beta.44.tgz", + "integrity": "sha512-2J9K2S2emLBqdNicB1lsjn3bIKPmn9/E5aNu5Yx8TS3pFpMRJjh4PQq5m669L+sajPw/9KE2U089xjPmPn1qcg==" }, "@babel/helper-define-map": { - "version": "7.0.0-beta.42", - "resolved": "https://registry.npmjs.org/@babel/helper-define-map/-/helper-define-map-7.0.0-beta.42.tgz", - "integrity": "sha512-MKaHNaciAiPc7q4AS2XRqk+I0d2ADryuIxd6r0EykkQ57w2nQxFx/CTWWQEnob9OSAP5dPO1stWIZ9j/VeKtIQ==" + "version": "7.0.0-beta.44", + "resolved": "https://registry.npmjs.org/@babel/helper-define-map/-/helper-define-map-7.0.0-beta.44.tgz", + "integrity": "sha512-u0YWuZFAT8tgyp5PJX2NjmU6UrKgQF2AZ0aqXXC/RMEdEFRGDe4t/VBk6MCvKjyOb8R5UqiaPJszq1VLB67aTw==" }, "@babel/helper-explode-assignable-expression": { - "version": "7.0.0-beta.42", - "resolved": "https://registry.npmjs.org/@babel/helper-explode-assignable-expression/-/helper-explode-assignable-expression-7.0.0-beta.42.tgz", - "integrity": "sha512-fT1kVF2PoogggBT9QBgb4IXjbpC3VzFh1sJ6p/k3fZhOXbyqqco7oQ6lzvcIAO6rA7b15/iaIyLj0E+SLCHbwQ==" + "version": "7.0.0-beta.44", + "resolved": "https://registry.npmjs.org/@babel/helper-explode-assignable-expression/-/helper-explode-assignable-expression-7.0.0-beta.44.tgz", + "integrity": "sha512-XM+nY15w/Hyb9yKhGnMMV3R2RUdPGl8/+pTfOKBt4/eLapozSrUh+7xrMOwgJOO+TWuQMlMbQLRJUiMsHUHNbw==" }, "@babel/helper-function-name": { - "version": "7.0.0-beta.42", - "resolved": "https://registry.npmjs.org/@babel/helper-function-name/-/helper-function-name-7.0.0-beta.42.tgz", - "integrity": "sha512-6IZ+kkPypwJrnmNzI3y31qAps2kXoPtCE241SvBva2YzB0n/YORWx2YM0jHPYOJBU9Xx5KkUhOKuWkeXZQgtTA==" + "version": "7.0.0-beta.44", + "resolved": "https://registry.npmjs.org/@babel/helper-function-name/-/helper-function-name-7.0.0-beta.44.tgz", + "integrity": "sha512-MHRG2qZMKMFaBavX0LWpfZ2e+hLloT++N7rfM3DYOMUOGCD8cVjqZpwiL8a0bOX3IYcQev1ruciT0gdFFRTxzg==" }, "@babel/helper-get-function-arity": { - "version": "7.0.0-beta.42", - "resolved": "https://registry.npmjs.org/@babel/helper-get-function-arity/-/helper-get-function-arity-7.0.0-beta.42.tgz", - "integrity": "sha512-hF5KKcn+V/5PwU7KZ1aVwo535woLC9eV+djaoyNPZeMMJ2s+8bZlEa66Tarei0T68VRL5LXIs1Ao4hSabSkpBg==" + "version": "7.0.0-beta.44", + "resolved": "https://registry.npmjs.org/@babel/helper-get-function-arity/-/helper-get-function-arity-7.0.0-beta.44.tgz", + "integrity": "sha512-w0YjWVwrM2HwP6/H3sEgrSQdkCaxppqFeJtAnB23pRiJB5E/O9Yp7JAAeWBl+gGEgmBFinnTyOv2RN7rcSmMiw==" }, "@babel/helper-hoist-variables": { - "version": "7.0.0-beta.42", - "resolved": "https://registry.npmjs.org/@babel/helper-hoist-variables/-/helper-hoist-variables-7.0.0-beta.42.tgz", - "integrity": "sha512-07NJrcvE2a5oOYiQUzSzih21R6nOpfoIe9saelKxORKXr9cOXcpoLXDi9XIAbRJoww8hqp57JbQxRK09FltZhQ==" + "version": "7.0.0-beta.44", + "resolved": "https://registry.npmjs.org/@babel/helper-hoist-variables/-/helper-hoist-variables-7.0.0-beta.44.tgz", + "integrity": "sha512-WRMGJKSVP32/T7pBAb52oXa7dSGgtHk2VZ0nii/MzrXh40IYqNGRmKdI7x57pL421ccvnqZg+mgOH+mNFSKm6g==" }, "@babel/helper-module-imports": { - "version": "7.0.0-beta.42", - "resolved": "https://registry.npmjs.org/@babel/helper-module-imports/-/helper-module-imports-7.0.0-beta.42.tgz", - "integrity": "sha512-0kTX0cjuVKUKDJmHjmAb504kNrwae0Ja32hGii7zSHDKm0tVZvvpT8Cc1yYHo6UsIkUmzEvfGwIrNYemx1jTtQ==" + "version": "7.0.0-beta.44", + "resolved": "https://registry.npmjs.org/@babel/helper-module-imports/-/helper-module-imports-7.0.0-beta.44.tgz", + "integrity": "sha512-V95wi6rCffcLM46XdaUJHRc3D/XSvfsQshedaX1riHQCbs0uVopdswXrykwB6E/QEPfUGxXfs7l5GubupOi+Cw==" }, "@babel/helper-module-transforms": { - "version": "7.0.0-beta.42", - "resolved": "https://registry.npmjs.org/@babel/helper-module-transforms/-/helper-module-transforms-7.0.0-beta.42.tgz", - "integrity": "sha512-XfCGsf6ijExiXw+oKL1Cp7VJttvgq8qalTGRqz4pviVNEjHU89Pfjsi1K/shdy5x4x+PiTSqn4zZ2PKfVp+vgg==" + "version": "7.0.0-beta.44", + "resolved": "https://registry.npmjs.org/@babel/helper-module-transforms/-/helper-module-transforms-7.0.0-beta.44.tgz", + "integrity": "sha512-mwoQuzm1xY3L00Rf6vHO0tFKkBxarODf1f5l4wClTzvBmm7ReikPKyNwgS7wp2dzlorpIKPAAw+n3IEhnOjLJg==" }, "@babel/helper-optimise-call-expression": { - "version": "7.0.0-beta.42", - "resolved": "https://registry.npmjs.org/@babel/helper-optimise-call-expression/-/helper-optimise-call-expression-7.0.0-beta.42.tgz", - "integrity": "sha512-4Sssg3iFnLH/1fZQFCPNJ7ISZzrRwq/X8/T5OaURGP3NMVTR4mnEUqrc3v8/SfL3pfa57q3Fe4zIC2h7FuPkww==" + "version": "7.0.0-beta.44", + "resolved": "https://registry.npmjs.org/@babel/helper-optimise-call-expression/-/helper-optimise-call-expression-7.0.0-beta.44.tgz", + "integrity": "sha512-A9JodnSG8mNiazppInvrAtw4rN+TW61He/EnZ9szVgWkivonZeuG2D0hVLpE5sYuqw128seyw+tY9NEY7txmcQ==" }, "@babel/helper-plugin-utils": { - "version": "7.0.0-beta.42", - "resolved": "https://registry.npmjs.org/@babel/helper-plugin-utils/-/helper-plugin-utils-7.0.0-beta.42.tgz", - "integrity": "sha512-hZLw8Iz9/YOxI9mgWyPOP1S84OcdQo1WFkZrS1sSf45g16sEb4dVslds2uvZgmx9BiG94PoWyABGf48Py6D6CA==" + "version": "7.0.0-beta.44", + "resolved": "https://registry.npmjs.org/@babel/helper-plugin-utils/-/helper-plugin-utils-7.0.0-beta.44.tgz", + "integrity": "sha512-k0hZ8w9N3b0Psmlw0bB7U9Hwqc+/hh7yOPFyLi5KAX9pRZ9i+UbTg6DxsVLVuITvF/M1UZNrq7vatrlEw/IPMg==" }, "@babel/helper-regex": { - "version": "7.0.0-beta.42", - "resolved": "https://registry.npmjs.org/@babel/helper-regex/-/helper-regex-7.0.0-beta.42.tgz", - "integrity": "sha512-QdwTsTPjJ63StltU6cEtqmB0Lc+L/OkK9Pz2bL9rylDF3UloyXinBA+SI/FkVyXi5HhDbBRf4T/OeVhWrsK68A==" + "version": "7.0.0-beta.44", + "resolved": "https://registry.npmjs.org/@babel/helper-regex/-/helper-regex-7.0.0-beta.44.tgz", + "integrity": "sha512-UiL6tMd2eUPK6RVpaeUzQ0jDFzGaeQ3All+YpFc+K9onz1BXDArFoJBygZfkjOgfmwBiSbXLShpRBA5QMgOSmQ==" }, "@babel/helper-remap-async-to-generator": { - "version": "7.0.0-beta.42", - "resolved": "https://registry.npmjs.org/@babel/helper-remap-async-to-generator/-/helper-remap-async-to-generator-7.0.0-beta.42.tgz", - "integrity": "sha512-At+ipbHRYoN0AaafqPvTPqyVYi+beantKZ2orCYSb/AzP2+JywaWlOPH0wyXLOGzjkJX548Is4cV2wGbEG7++Q==" + "version": "7.0.0-beta.44", + "resolved": "https://registry.npmjs.org/@babel/helper-remap-async-to-generator/-/helper-remap-async-to-generator-7.0.0-beta.44.tgz", + "integrity": "sha512-Jk2mwO7QOx9n5ktVx8OOuuybyCuZ+gSnd9HqkdxqdfjF+kzJ6FvQ1QUqOf3Dg1uTFmN2/UzBpFgFV4OH71xmWw==" }, "@babel/helper-replace-supers": { - "version": "7.0.0-beta.42", - "resolved": "https://registry.npmjs.org/@babel/helper-replace-supers/-/helper-replace-supers-7.0.0-beta.42.tgz", - "integrity": "sha512-5OwdkTm7TaEBiBMOUV97j8a2goD3+avek9EOl/UdE/CYdtdQ/8RPdUPqtqXApay30aZ/EjIpBItcNlBtt29WBw==" + "version": "7.0.0-beta.44", + "resolved": "https://registry.npmjs.org/@babel/helper-replace-supers/-/helper-replace-supers-7.0.0-beta.44.tgz", + "integrity": "sha512-8PTdsyYE+Fyn8Qy0Da7YnmXhm+vOI73YFHcrAW2s81g9Ae5F3ZA+RvQQe7RPP2mi+Jg/GqXGPUmHYqDpQ3pT9Q==" }, "@babel/helper-simple-access": { - "version": "7.0.0-beta.42", - "resolved": "https://registry.npmjs.org/@babel/helper-simple-access/-/helper-simple-access-7.0.0-beta.42.tgz", - "integrity": "sha512-SK1nb/sx+Q/0N8USPR+/5G1D1U9tCo82MzJknmK7X4yexDacHmDHtqNP7xqUlSSo3xfMfyHgT7mAH17Cwik/gA==" + "version": "7.0.0-beta.44", + "resolved": "https://registry.npmjs.org/@babel/helper-simple-access/-/helper-simple-access-7.0.0-beta.44.tgz", + "integrity": "sha512-z6tIoPYPT9VOgVSKC7wPjobjvCP/DEfM0uvMDhofAl8p0GDMmMCCs46UNBr6hW1T55WgUGdkNiCFYVnCLjWNFQ==" }, "@babel/helper-split-export-declaration": { - "version": "7.0.0-beta.42", - "resolved": "https://registry.npmjs.org/@babel/helper-split-export-declaration/-/helper-split-export-declaration-7.0.0-beta.42.tgz", - "integrity": "sha512-2r8pZG6SAJTTaI2OhxCmz5PKlMUPY5adOHrHtb1gM3ibJPDOzPAeOQNzItdxNnM33jjRakEGitXX6iYg7Sz73w==" + "version": "7.0.0-beta.44", + "resolved": "https://registry.npmjs.org/@babel/helper-split-export-declaration/-/helper-split-export-declaration-7.0.0-beta.44.tgz", + "integrity": "sha512-aQ7QowtkgKKzPGf0j6u77kBMdUFVBKNHw2p/3HX/POt5/oz8ec5cs0GwlgM8Hz7ui5EwJnzyfRmkNF1Nx1N7aA==" }, "@babel/helper-wrap-function": { - "version": "7.0.0-beta.42", - "resolved": "https://registry.npmjs.org/@babel/helper-wrap-function/-/helper-wrap-function-7.0.0-beta.42.tgz", - "integrity": "sha512-jpZDbZROEw2HfmlImLXDB7BFoyo6M/Wn8jOOc1+JfCpg2uaZ+n6Q0C3sA6mCN6o7ZgpJkgT7IHQwdB3RMV6KLA==" + "version": "7.0.0-beta.44", + "resolved": "https://registry.npmjs.org/@babel/helper-wrap-function/-/helper-wrap-function-7.0.0-beta.44.tgz", + "integrity": "sha512-qCdMAdMzDhO87r7yS2adqzIl2N9FJaVkPYq6bKllkNcmHquytve+hd/jD/lruD71i3JWkH+M352U+lhW2qkToA==" }, "@babel/helpers": { - "version": "7.0.0-beta.42", - "resolved": "https://registry.npmjs.org/@babel/helpers/-/helpers-7.0.0-beta.42.tgz", - "integrity": "sha512-att9SiG9GxOUdjai87LqjSstgNsdo1nXiGu+Eh078zwRiN8bM5Ww8vrbYkAm9PF4HaW6OzOKqyKxv595RT79bA==" + "version": "7.0.0-beta.44", + "resolved": "https://registry.npmjs.org/@babel/helpers/-/helpers-7.0.0-beta.44.tgz", + "integrity": "sha512-7qXsqiaMZzVuI0dobFGa9dQhCd6Y19lGeu4HrFHJo13/y9NKngepg/CYMzBi79TacKeaWfJNj3TeVCyRtfZqUg==" }, "@babel/highlight": { - "version": "7.0.0-beta.42", - "resolved": "https://registry.npmjs.org/@babel/highlight/-/highlight-7.0.0-beta.42.tgz", - "integrity": "sha512-X3Ur/A/lIbbP8W0pmwgqtDXIxhQmxPaiwY9SKP7kF9wvZfjZRwMvbJE92ozUhF3UDK3DCKaV7oGqmI1rP/zqWA==" + "version": "7.0.0-beta.44", + "resolved": "https://registry.npmjs.org/@babel/highlight/-/highlight-7.0.0-beta.44.tgz", + "integrity": "sha512-Il19yJvy7vMFm8AVAh6OZzaFoAd0hbkeMZiX3P5HGD+z7dyI7RzndHB0dg6Urh/VAFfHtpOIzDUSxmY6coyZWQ==" }, "@babel/plugin-proposal-async-generator-functions": { - "version": "7.0.0-beta.42", - "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-async-generator-functions/-/plugin-proposal-async-generator-functions-7.0.0-beta.42.tgz", - "integrity": "sha512-fPPsSCajWzefDSb49JEeZfd/UeMK3xEQSRAz/H3BZ1uaRatwNNZoOJq4/WRH/xDeISmYUdkLRtqs39VPWLKYVg==" + "version": "7.0.0-beta.44", + "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-async-generator-functions/-/plugin-proposal-async-generator-functions-7.0.0-beta.44.tgz", + "integrity": "sha512-FW6MZpaFERkozQ5eS3PG/645nubF+d6JjgcyBGlhB98qKd9NmdRLHZJ0eKmpA6yG8TeDzpsUve0BE/+XNAYLrw==" }, "@babel/plugin-proposal-class-properties": { - "version": "7.0.0-beta.42", - "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-class-properties/-/plugin-proposal-class-properties-7.0.0-beta.42.tgz", - "integrity": "sha512-VXRmo/t2nAVciXxEgPTAfcUBXj0UXNPIvX2aj3lzHL51N+uh+rtgsIF0nuZwGE4u89WvBDH66yjAu60Ra674kw==" + "version": "7.0.0-beta.44", + "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-class-properties/-/plugin-proposal-class-properties-7.0.0-beta.44.tgz", + "integrity": "sha512-IQ9kUIPg4iKDPkVKHvN8EAiRa5qH6+fUqzWPMtsDzmXD2Rpdj0FtR/I0rJkqcutYxneNwfDJFsgTvmFixClSww==" }, "@babel/plugin-proposal-object-rest-spread": { - "version": "7.0.0-beta.42", - "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-object-rest-spread/-/plugin-proposal-object-rest-spread-7.0.0-beta.42.tgz", - "integrity": "sha512-L4z5R8k3GxQKVYE2zGwftQ9K/IIIXMZKnY4C0lDyyMJAVk+H+cFUD0NfD4KTyZACc8DPqjkw6aEtC/AKCKUvEA==" + "version": "7.0.0-beta.44", + "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-object-rest-spread/-/plugin-proposal-object-rest-spread-7.0.0-beta.44.tgz", + "integrity": "sha512-56Pqyeq3weYZccmcyzS4DVyVQ11SGWS6xCj/a5SmhvKXGHC2pEVovIBF63dFoQTlYFOzix9sZyW5oNVWicbTRg==" }, "@babel/plugin-syntax-async-generators": { - "version": "7.0.0-beta.42", - "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-async-generators/-/plugin-syntax-async-generators-7.0.0-beta.42.tgz", - "integrity": "sha512-k6oVMsmY/mcp+rPRcK4dJL/J1ahtIRucXtNHNvAVRV9WFc7G3r1rrb1GlM4iNHareXBNdRlf7mkxyVaVpyJ3TQ==" + "version": "7.0.0-beta.44", + "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-async-generators/-/plugin-syntax-async-generators-7.0.0-beta.44.tgz", + "integrity": "sha512-42MXWQvAN2IPPcW4HUbqgeyqkAwAsCGIHzxgSYoI7aOgkfOwHf5LRqSlJ56HAH+WwlWDQUvXeT/2PrQQY1vSCw==" }, "@babel/plugin-syntax-class-properties": { - "version": "7.0.0-beta.42", - "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-class-properties/-/plugin-syntax-class-properties-7.0.0-beta.42.tgz", - "integrity": "sha512-nG0XCeuni6GgjxOqtxVtnfSoRFeXdqY6cja83cmFpC1klw8f6XShbeDmK7xX1mUYBHkEqLTDurlX+fuua9siCg==" + "version": "7.0.0-beta.44", + "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-class-properties/-/plugin-syntax-class-properties-7.0.0-beta.44.tgz", + "integrity": "sha512-lyojjfVoXuL+Oa95TSVWyf5fMO+JzvMpbFQaZN+voWajMt+Cq3lx8N5JszjlcQzBOZOffqjzMxlAKhNVw95ufA==" }, "@babel/plugin-syntax-dynamic-import": { - "version": "7.0.0-beta.42", - "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-dynamic-import/-/plugin-syntax-dynamic-import-7.0.0-beta.42.tgz", - "integrity": "sha512-N+XpzyZviWu+MJA7Cgi+LtMj1CMLkZyjuy4qbSZauqm6gIrNioMtirLDt4+NrCFx7kZG/T4ic6jLUpWdH5SlXg==" + "version": "7.0.0-beta.44", + "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-dynamic-import/-/plugin-syntax-dynamic-import-7.0.0-beta.44.tgz", + "integrity": "sha512-1NrDPMboC3FzaNdgT11CbX5owPPBlSRMT5XnrJ2KgB1ejKwa5dRhAWLCjP+MV77675Air7Gk+NVvec0G1GgxDg==" }, "@babel/plugin-syntax-flow": { - "version": "7.0.0-beta.42", - "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-flow/-/plugin-syntax-flow-7.0.0-beta.42.tgz", - "integrity": "sha512-5LcIB4CCS45ik8oUAr6pHu0BtDhiWvQOMw1lIGtX/gBESmv+O366NvkXWhzmBsZ5J9OQhs64Ox85Q22XKZYiUg==" + "version": "7.0.0-beta.44", + "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-flow/-/plugin-syntax-flow-7.0.0-beta.44.tgz", + "integrity": "sha512-tlZrfM+rg44qBGvAjInPESP1kgcwcgU/xNq4uHZUyod5/L5aGYM0B9GJkgwGi1cf9EJiC1gwitHgSbgCAMbFSw==" }, "@babel/plugin-syntax-jsx": { - "version": "7.0.0-beta.42", - "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-jsx/-/plugin-syntax-jsx-7.0.0-beta.42.tgz", - "integrity": "sha512-NWlawLcYkxMpH2QK4CbYg1ctTuFaKYRVBZGiGkgcO7xD59bNUu2HTG/BXynuaheQiGX96ItoK1igV6vuS9BK/w==" + "version": "7.0.0-beta.44", + "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-jsx/-/plugin-syntax-jsx-7.0.0-beta.44.tgz", + "integrity": "sha512-q0AqflJKM+IcyUTblGnVckka160/tUYkDF77o4fpkk3uCb7TxQIXlnBM8V/mx96Tf+JRyE0AHFwt2mHomd0mWg==" }, "@babel/plugin-syntax-object-rest-spread": { - "version": "7.0.0-beta.42", - "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-object-rest-spread/-/plugin-syntax-object-rest-spread-7.0.0-beta.42.tgz", - "integrity": "sha512-Zhz6MdSpEviY3UFh/DUlrvf/Tn4wWosHXrnR52PBRtP/8ESWVaFuk57xWcBon3jJh0z5hYyRUr+D0wR7W7ZmnQ==" + "version": "7.0.0-beta.44", + "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-object-rest-spread/-/plugin-syntax-object-rest-spread-7.0.0-beta.44.tgz", + "integrity": "sha512-pVk9nFH7AAmn9Zor8Rv6g/JVXFwBW4FSFV1/3W84bw9s8yc8LZ7KqrCCpcHgBACVWJYnAtoxsaf7FFcQFl/z7Q==" }, "@babel/plugin-transform-arrow-functions": { - "version": "7.0.0-beta.42", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-arrow-functions/-/plugin-transform-arrow-functions-7.0.0-beta.42.tgz", - "integrity": "sha512-/tpAo2Ur8m32U9pBcGQ6JKplWNEh462zxCnwVKL9yVwG02lttC4QSYBvreRK1wBidDz8JgRZFGGeB9N4l23/Sg==" + "version": "7.0.0-beta.44", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-arrow-functions/-/plugin-transform-arrow-functions-7.0.0-beta.44.tgz", + "integrity": "sha512-EnE9WACf+ZQZcLcmT26PEaIs3aWhr6shLJIdhaqZavN3CitxJvfia1q8WyCS4GO3wIdopgdeIpD2Xwe4wmJFFQ==" }, "@babel/plugin-transform-async-to-generator": { - "version": "7.0.0-beta.42", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-async-to-generator/-/plugin-transform-async-to-generator-7.0.0-beta.42.tgz", - "integrity": "sha512-TTu8z0xz/mS8H98nCVw3wp86RSzdvUhtM4hX32sItrauJX1X8shVZDKbDtG8ZdA1FMKLgfvmn/hxtPOqjOkkpw==" + "version": "7.0.0-beta.44", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-async-to-generator/-/plugin-transform-async-to-generator-7.0.0-beta.44.tgz", + "integrity": "sha512-+LTuKGnAd8w7FV45N+CvNE77GdcVMDT/w7so9++3jbG28w5id6VtQZ9cpFbqdvkZlpTy68Saw9zZcQeRZV3bmg==" }, "@babel/plugin-transform-block-scoped-functions": { - "version": "7.0.0-beta.42", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-block-scoped-functions/-/plugin-transform-block-scoped-functions-7.0.0-beta.42.tgz", - "integrity": "sha512-Ib3bSf7pYLbqe+46RrJFJae1DrNYvIrGleYjzaN/MFYNaG9ePaOevSBmFHPxuW1SM5l2tTloeu5a7mhs9h0oxg==" + "version": "7.0.0-beta.44", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-block-scoped-functions/-/plugin-transform-block-scoped-functions-7.0.0-beta.44.tgz", + "integrity": "sha512-taD9vmzEyG4a5wZadYFVGnCgPU3JlkPrOMCmrIgqKT+AWuxwavSbtPJnUh2NfJDpvx005s/OIncc/3fpTx502Q==" }, "@babel/plugin-transform-block-scoping": { - "version": "7.0.0-beta.42", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-block-scoping/-/plugin-transform-block-scoping-7.0.0-beta.42.tgz", - "integrity": "sha512-qvlAR1L7gZ1gqdj81a2AEfuar3lFsr7FSad4JrN5CJinQlVn/1eJe8oB1DQ7U8ocAzDDjn3tGit9lN7uKBWZsQ==" + "version": "7.0.0-beta.44", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-block-scoping/-/plugin-transform-block-scoping-7.0.0-beta.44.tgz", + "integrity": "sha512-a9mt8PwVaudo8LbLrp7TpbwV/HoO7T9Wjyr/aHB4UisUfQoE89iWBJYIweL/ho831Nzy8mNJlXfNxAfZc7Fojw==" }, "@babel/plugin-transform-classes": { - "version": "7.0.0-beta.42", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-classes/-/plugin-transform-classes-7.0.0-beta.42.tgz", - "integrity": "sha512-0GCv1wNyfMXKuaulype6+TF02Bxq/zQZ4NUbn2w9aQxzIZviAe1jcA7IRrNN2eVQL9L4oi8N6B26Wf8xFoBNrQ==" + "version": "7.0.0-beta.44", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-classes/-/plugin-transform-classes-7.0.0-beta.44.tgz", + "integrity": "sha512-oQE40NQ9HBg3KJppRrG0AFYmb73mVJUPmFjUZtuMlFJWV4kAyPwfGC98MDJ7fFjGZLIWesJD7yE+eh0e4N2ssQ==" }, "@babel/plugin-transform-computed-properties": { - "version": "7.0.0-beta.42", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-computed-properties/-/plugin-transform-computed-properties-7.0.0-beta.42.tgz", - "integrity": "sha512-WYGXfe2uo2FdACubMhwV6Oq1Zx3SNSeBUHRe2X53WKbIKLMZlxRR5GfoLv4V2CeDGHL3mb97wYhmXSb56bIXeg==" + "version": "7.0.0-beta.44", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-computed-properties/-/plugin-transform-computed-properties-7.0.0-beta.44.tgz", + "integrity": "sha512-gLzREw6hb6qDoJMx/uMcXfkom5mboBi7yWg0S/uyof4laIl7cPCrrCleYZfi4sF9CgRPP48TMIoi2rVtKvrJ1g==" }, "@babel/plugin-transform-destructuring": { - "version": "7.0.0-beta.42", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-destructuring/-/plugin-transform-destructuring-7.0.0-beta.42.tgz", - "integrity": "sha512-G3hwLdgeKCZ8EWqwMqeOEoXxRBc5aJthMUD5kN7sAIko+lvwIVQ0do9Op/+DAGVnrvC+g0Ool2Mihcej2NsCPQ==" + "version": "7.0.0-beta.44", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-destructuring/-/plugin-transform-destructuring-7.0.0-beta.44.tgz", + "integrity": "sha512-lTWaW8O3V01efNRDcAyf9iZ/kVuZc2PNHoCYitm74H/LVBk3dkKb4TymMDq/xYcTQCNPw5EvEH+3NIiLL29/Mw==" }, "@babel/plugin-transform-exponentiation-operator": { - "version": "7.0.0-beta.42", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-exponentiation-operator/-/plugin-transform-exponentiation-operator-7.0.0-beta.42.tgz", - "integrity": "sha512-ylnAziSEho282hxQROK5tbNtxm0sSoQaQS74OCSE52eFeDNqSNGapyiNiWMZ71gqs8q5aqYsPgfa/vTccLT7uA==" + "version": "7.0.0-beta.44", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-exponentiation-operator/-/plugin-transform-exponentiation-operator-7.0.0-beta.44.tgz", + "integrity": "sha512-6muSWR3UxdAnVnk8a4rxESNQk7F+djM+oeKkETMgWbw6TyaNaTD7OYkKGTdyTT5jn2UO97sPdgOBIBdnzQsKQg==" }, "@babel/plugin-transform-flow-strip-types": { - "version": "7.0.0-beta.42", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-flow-strip-types/-/plugin-transform-flow-strip-types-7.0.0-beta.42.tgz", - "integrity": "sha512-pbZl37LlS8OMghp29oPq/csEnTnnkh+S/HY7nN0ZfPuEYMNp83ZjWLCifgvRIM9tNfwXifP+oXj1Yf7ek1dePA==" + "version": "7.0.0-beta.44", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-flow-strip-types/-/plugin-transform-flow-strip-types-7.0.0-beta.44.tgz", + "integrity": "sha512-zDubi/5SxprXvXqSF2MV96ZMedKQgVmy41JXUbY9jDFc+qbRFJh7aNKy+RfDYFpWV4tZQLkc2CEUgzwixDWEgw==" }, "@babel/plugin-transform-for-of": { - "version": "7.0.0-beta.42", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-for-of/-/plugin-transform-for-of-7.0.0-beta.42.tgz", - "integrity": "sha512-pn+fmrr6pfXeEUMyx7JrKAOG/XCiABvXFOmQYqLoCl0POcW8sE75r8w/Lu2wHFayrNgDqR7/RCb7RW4h/U2u1Q==" + "version": "7.0.0-beta.44", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-for-of/-/plugin-transform-for-of-7.0.0-beta.44.tgz", + "integrity": "sha512-910UuvEuN6CM3G7+V3fHnYFBbw/YZUGgQlXpdlQnzN43uny2Xy33BxoFlWq1dOS1Q7xJnsJNEb2mm2Eks2uTvg==" }, "@babel/plugin-transform-literals": { - "version": "7.0.0-beta.42", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-literals/-/plugin-transform-literals-7.0.0-beta.42.tgz", - "integrity": "sha512-mWEayRwUCY3/u8LZpcdR96TiWqofP60jjfVZUJ6agK6ifwEBgamv1Db8syIwUCjaZww5bjyZqX61AmP4fx3dvQ==" + "version": "7.0.0-beta.44", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-literals/-/plugin-transform-literals-7.0.0-beta.44.tgz", + "integrity": "sha512-h6KxHCj14tYj1dahXlfs/JP1fMzMHdmVCapM4UjberhkcAj4ZkZpmdQbN2odaQRT1DX2hA8eQWsmeKJw2Ifq8w==" }, "@babel/plugin-transform-modules-commonjs": { - "version": "7.0.0-beta.42", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-modules-commonjs/-/plugin-transform-modules-commonjs-7.0.0-beta.42.tgz", - "integrity": "sha512-tCN0FFdTHaXpuJokvW8iWtbDpjKDNDO2dIyb8rr0GMQxsA62914e8oclcDUPEbC5iF5SCDEF0CmVHXbxnvANfQ==" + "version": "7.0.0-beta.44", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-modules-commonjs/-/plugin-transform-modules-commonjs-7.0.0-beta.44.tgz", + "integrity": "sha512-wi1CPE/1G+EhJwFMgF0zhtE427dspqakhkl4na0KW0xmzh1Q3EKhfHsK/gizzNQlNtHRaW/Ks/vafJD3bAlk1Q==" }, "@babel/plugin-transform-object-super": { - "version": "7.0.0-beta.42", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-object-super/-/plugin-transform-object-super-7.0.0-beta.42.tgz", - "integrity": "sha512-d+gki0bYQtlleX4LnvpwjIkjmZScKQuHhDsD3N3nHLpwxbANp3YGtIfuf8dbY/PIbUKtd55/ErCvdsyuGlxAlw==" + "version": "7.0.0-beta.44", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-object-super/-/plugin-transform-object-super-7.0.0-beta.44.tgz", + "integrity": "sha512-KlcV7gSBppnANHxCk8Hxca2PCrKOAoSTWj7HxiGCwrOcRJeMYPIiBayExGmfN7Ymvt0EpgSvL8bwyOPMk10mgg==" }, "@babel/plugin-transform-parameters": { - "version": "7.0.0-beta.42", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-parameters/-/plugin-transform-parameters-7.0.0-beta.42.tgz", - "integrity": "sha512-z2iXwael/zMHkOvvkJSirg1jIxGA00JOIwdERB+x+VGxLfLb+1IdyiytVw9+w5RTNSVAGYt6R4jhvUdAeQwMiQ==" + "version": "7.0.0-beta.44", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-parameters/-/plugin-transform-parameters-7.0.0-beta.44.tgz", + "integrity": "sha512-TDEBU2tSAKC0HESeVPwVY6Wlcwgpml5ZymSqxqY0Gr7ei7PTON2O7zmntfmyiigN3BoHxuXnqFqwaz//3KxtTA==" }, "@babel/plugin-transform-property-literals": { - "version": "7.0.0-beta.42", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-property-literals/-/plugin-transform-property-literals-7.0.0-beta.42.tgz", - "integrity": "sha512-3dYkXM7aZ8b6x1cHUhZPKYYcF/4HppoQfythpi95tumfgZQR2NDu2mzAT/ynE84/x8Vx7NrSxuNfB6e3CJuzQA==" + "version": "7.0.0-beta.44", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-property-literals/-/plugin-transform-property-literals-7.0.0-beta.44.tgz", + "integrity": "sha512-jpqwHxFa3Y5kDVlq74ZL9mNKbvAkjW2lgobo9jOYuc2PMX66cCW5yp5xp8YCTsidF/ue10VZ0HpVjmFPNaSkrg==" }, "@babel/plugin-transform-react-display-name": { - "version": "7.0.0-beta.42", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-react-display-name/-/plugin-transform-react-display-name-7.0.0-beta.42.tgz", - "integrity": "sha512-0oyVkjXLkxXSt21mPdfRNwKZ/sIEjcDx5/LqMS+KtMUxsCcB2BFhtzaESd8xLdXb7Zi2otMjt2DsDK+IUeitxA==" + "version": "7.0.0-beta.44", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-react-display-name/-/plugin-transform-react-display-name-7.0.0-beta.44.tgz", + "integrity": "sha512-8bsi3wydB2vkziFWXs6kGZ/6tg5LFU0219LgCjlNHot1Wbk31biQ+Kchl/HXV+jaI9BRW4K+L2dq1B8zipo2yg==" }, "@babel/plugin-transform-react-jsx": { - "version": "7.0.0-beta.42", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-react-jsx/-/plugin-transform-react-jsx-7.0.0-beta.42.tgz", - "integrity": "sha512-XT8M4cZmr/Gaw6Cp2UELhYajB/PT6xNERtv8d+Eu08fULfAbtZJBFVxmm68T9LT+JZkcI35O1gTP17yJz5PJrA==" + "version": "7.0.0-beta.44", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-react-jsx/-/plugin-transform-react-jsx-7.0.0-beta.44.tgz", + "integrity": "sha512-g25pZKtPRndcaqt+ZRoeV02P37HZKhQyswkpoqwGYfzlKy0SaCCu1ZrhxsXgLBYr86RXP6huaGM9ZSzC9xjufw==" }, "@babel/plugin-transform-react-jsx-self": { - "version": "7.0.0-beta.42", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-react-jsx-self/-/plugin-transform-react-jsx-self-7.0.0-beta.42.tgz", - "integrity": "sha512-bpG/Z6D8RtckyYPbqMfU/DaV7H/xHaTNAJLzYLHqQhtQT70pwmLVQ8E6ara18yp7k+6OJytrrmJm9F6ClT4pnA==" + "version": "7.0.0-beta.44", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-react-jsx-self/-/plugin-transform-react-jsx-self-7.0.0-beta.44.tgz", + "integrity": "sha512-xw/e+bhfTkV6cjYv+Yw2Fdlgb5AjWI9ouSogK77Iq8QSq+vx3aOY84uxgSdUw1gJ8lPgjxtIFAS4WjT+acH/1A==" }, "@babel/plugin-transform-react-jsx-source": { - "version": "7.0.0-beta.42", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-react-jsx-source/-/plugin-transform-react-jsx-source-7.0.0-beta.42.tgz", - "integrity": "sha512-vLKqNyFDx4bESdy7dTWLmAhCTk8zszsxhYGKL/0FaFacksSQye5conP68j8jMEMn9M/JBGgxfFqL6tPbOn2uVw==" + "version": "7.0.0-beta.44", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-react-jsx-source/-/plugin-transform-react-jsx-source-7.0.0-beta.44.tgz", + "integrity": "sha512-t4CUDgbhxMCAfpAVeTPmSa5m9D24sC1A1DdyWwRLwleJkmuYcMwhwfjkpguOW9zEhaAhM5SUXjEc40WcttnO4g==" }, "@babel/plugin-transform-regenerator": { - "version": "7.0.0-beta.42", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-regenerator/-/plugin-transform-regenerator-7.0.0-beta.42.tgz", - "integrity": "sha512-E1s/MBk8ztbXqxbeUvFH26x8vAWq/7qX3UdbB8fKoN3EX2Wg9+yXWyuI50jOhXOq7jfmbOrVe0BWoUOjCOqWPQ==" + "version": "7.0.0-beta.44", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-regenerator/-/plugin-transform-regenerator-7.0.0-beta.44.tgz", + "integrity": "sha512-G2M4SqLMVJK5y3fs0qgGaBscUmEhAXEY25qNtPBgYsGmdl8k0sdBAf2/4s97iLmhU234DqJYSGa4VS38sau0ig==" }, "@babel/plugin-transform-runtime": { - "version": "7.0.0-beta.42", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-runtime/-/plugin-transform-runtime-7.0.0-beta.42.tgz", - "integrity": "sha512-4LcNdjMvKzCwK/eqfbUiXFAZht8OTx0Gv2Ok42o+zhb8DvNUaYUndgW9AU4Q6nbpxzw2vTWNUXSIRvdGsxpgQQ==" + "version": "7.0.0-beta.44", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-runtime/-/plugin-transform-runtime-7.0.0-beta.44.tgz", + "integrity": "sha512-Bb7CfWE8TByfSP1wYUe4XJb7zlzv3zsw4MI0DhdrzQ2Xh1YCdz1pWdd6LRLsmSDnfnPSs2KvydTs7yPu0yqcGQ==" }, "@babel/plugin-transform-shorthand-properties": { - "version": "7.0.0-beta.42", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-shorthand-properties/-/plugin-transform-shorthand-properties-7.0.0-beta.42.tgz", - "integrity": "sha512-GID8z2s6R/XOHgaoxrKBH+zdBOBqFJTDYDS91w30fJGiHxVM4qFVOpYDNIMxmsjqW6bKVHyLeHBezp0OHv+9QQ==" + "version": "7.0.0-beta.44", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-shorthand-properties/-/plugin-transform-shorthand-properties-7.0.0-beta.44.tgz", + "integrity": "sha512-LG213xsGpvCB09Tq7EMaO3COzyNhzV7Hss00UMXR3AId4EThwRoYiLKnekqoOasNdocN+09fKyH3cf/llJgZhQ==" }, "@babel/plugin-transform-spread": { - "version": "7.0.0-beta.42", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-spread/-/plugin-transform-spread-7.0.0-beta.42.tgz", - "integrity": "sha512-ZzWt7RvGcV+9DcOTBwE6ArNqDpUMpzZhCToj3UNtULol9gGBbrGgUK/LdGwGInj+Z2aIdOjbAMFtEuC6626lJg==" + "version": "7.0.0-beta.44", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-spread/-/plugin-transform-spread-7.0.0-beta.44.tgz", + "integrity": "sha512-8fEte+nRW4OSdC23P0KBpiE7U4j0GpupMchnsjySYYNimKFnzPP5UYacZ6Lti5kS0XAnVfs09iHLXG1ccsWQsA==" }, "@babel/plugin-transform-sticky-regex": { - "version": "7.0.0-beta.42", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-sticky-regex/-/plugin-transform-sticky-regex-7.0.0-beta.42.tgz", - "integrity": "sha512-zQI5NhVfnSNNFiG8JhoXXzTV89aLTfHW22inWefATRmtqe64iHZ4bivBTkDbxt6X/St1yH0aZB+4XtBDZjzcKQ==" + "version": "7.0.0-beta.44", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-sticky-regex/-/plugin-transform-sticky-regex-7.0.0-beta.44.tgz", + "integrity": "sha512-iqByRYvEMG59aOsAAJKRuolqwQOrRIGDfLTaDr45uaW5OLKUaQiPG/BxMF0WDNcQhKIhxiLUZ2K1s26v6SpsKg==" }, "@babel/plugin-transform-template-literals": { - "version": "7.0.0-beta.42", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-template-literals/-/plugin-transform-template-literals-7.0.0-beta.42.tgz", - "integrity": "sha512-sCQmaa8fd3uPdy/J/qOkvPtxo3RtiH6SyW5bzdnUSOQ3+ND3Bj4OfJNziZxJwZZ8Y40lHrM0dKxZ8YnihlCETQ==" + "version": "7.0.0-beta.44", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-template-literals/-/plugin-transform-template-literals-7.0.0-beta.44.tgz", + "integrity": "sha512-HePlWdKQ5iMTq5C5Zs8hfI0ro2grH+varpTSLpUCOhnYl3yL9bbbgPAdbUwICasi+lIT0Gt94c73BZ1bCnfTWw==" }, "@babel/plugin-transform-typeof-symbol": { - "version": "7.0.0-beta.42", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-typeof-symbol/-/plugin-transform-typeof-symbol-7.0.0-beta.42.tgz", - "integrity": "sha512-cuDOzCv7kpMqaLypTEN90ErVmKUV3vjTuO8qzCGlmJMZwCcteTpxCiwISJLnAxcGtj++fMVY0vntbcj4nXf9XQ==" + "version": "7.0.0-beta.44", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-typeof-symbol/-/plugin-transform-typeof-symbol-7.0.0-beta.44.tgz", + "integrity": "sha512-ObXHYNMRrvRcKANNVbR50ZrtX5i7qiJYH2GiD4snt6pOEooWJQmbHALFyTS/+I4eCVhNe6CQ6cMqXDhMl0RYOw==" }, "@babel/plugin-transform-unicode-regex": { - "version": "7.0.0-beta.42", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-unicode-regex/-/plugin-transform-unicode-regex-7.0.0-beta.42.tgz", - "integrity": "sha512-iqQ8bhkRPZE2Vl5gR7GF0x4xUVlkncMxr7ve7Rjp/TMzNbO3S2XLr+1SPu+B+U3fIPDDA4I97enw5YL5V7QFOA==" + "version": "7.0.0-beta.44", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-unicode-regex/-/plugin-transform-unicode-regex-7.0.0-beta.44.tgz", + "integrity": "sha512-AD5T8aBMcS+dCyaF2WTT2zVPW86+ISxFCKZp6/Nh98SFxaXKuGtT1POvL7eoj3p18JN3mixAImmJSA7ppCDbJQ==" }, "@babel/preset-react": { - "version": "7.0.0-beta.42", - "resolved": "https://registry.npmjs.org/@babel/preset-react/-/preset-react-7.0.0-beta.42.tgz", - "integrity": "sha512-2o+5MXAzGMnjlZlxsYv08Joh+T4IDd2NIrpeVB+5GgeboU6k0964pObdZxMjB9A2dOweLSCOHwP21JwO6bDUbA==" + "version": "7.0.0-beta.44", + "resolved": "https://registry.npmjs.org/@babel/preset-react/-/preset-react-7.0.0-beta.44.tgz", + "integrity": "sha512-0V0x3uE3QoEdw6W6gffy6feBaT3GNg6ALmd8dQwqC4SFF3IwO9a5zHK20JqMjMomXobkLGWMOwQlpWRyNGhVtA==" }, "@babel/runtime": { - "version": "7.0.0-beta.42", - "resolved": "https://registry.npmjs.org/@babel/runtime/-/runtime-7.0.0-beta.42.tgz", - "integrity": "sha512-iOGRzUoONLOtmCvjUsZv3mZzgCT6ljHQY5fr1qG1QIiJQwtM7zbPWGGpa3QWETq+UqwWyJnoi5XZDZRwZDFciQ==" + "version": "7.0.0-beta.44", + "resolved": "https://registry.npmjs.org/@babel/runtime/-/runtime-7.0.0-beta.44.tgz", + "integrity": "sha512-4r2bym+kePWQH3eLne/IqVwqzbk43Lt6rzYQM+ARwSHfned1rFg9SX62SdKHtzSYq8NCoULxwHJS0T6a6r5hiA==" }, "@babel/template": { - "version": "7.0.0-beta.42", - "resolved": "https://registry.npmjs.org/@babel/template/-/template-7.0.0-beta.42.tgz", - "integrity": "sha512-EK7YdTe47j4VxlwNvz5bnlk5Jx/wWublnqfgOY2IuSNdxCQgXrLD34PfTnabGxywNSkJkcSo6jwr2JGT+S48dA==" + "version": "7.0.0-beta.44", + "resolved": "https://registry.npmjs.org/@babel/template/-/template-7.0.0-beta.44.tgz", + "integrity": "sha512-w750Sloq0UNifLx1rUqwfbnC6uSUk0mfwwgGRfdLiaUzfAOiH0tHJE6ILQIUi3KYkjiCDTskoIsnfqZvWLBDng==" }, "@babel/traverse": { - "version": "7.0.0-beta.42", - "resolved": "https://registry.npmjs.org/@babel/traverse/-/traverse-7.0.0-beta.42.tgz", - "integrity": "sha512-DZwMuZBfYVIn/cxpXZzHDgKmarW/MWqplLv1k7QJYhK5r5l6GAac/DkKl75A0CjPYrD3VGco6H6ZQp12QaYKSw==" + "version": "7.0.0-beta.44", + "resolved": "https://registry.npmjs.org/@babel/traverse/-/traverse-7.0.0-beta.44.tgz", + "integrity": "sha512-UHuDz8ukQkJCDASKHf+oDt3FVUzFd+QYfuBIsiNu/4+/ix6pP/C+uQZJ6K1oEfbCMv/IKWbgDEh7fcsnIE5AtA==" }, "@babel/types": { - "version": "7.0.0-beta.42", - "resolved": "https://registry.npmjs.org/@babel/types/-/types-7.0.0-beta.42.tgz", - "integrity": "sha512-+pmpISmTHQqMMpHHtDLxcvtRhmn53bAxy8goJfHipS/uy/r3PLcuSdPizLW7DhtBWbtgIKZufLObfnIMoyMNsw==" + "version": "7.0.0-beta.44", + "resolved": "https://registry.npmjs.org/@babel/types/-/types-7.0.0-beta.44.tgz", + "integrity": "sha512-5eTV4WRmqbaFM3v9gHAIljEQJU4Ssc6fxL61JN+Oe2ga/BwyjzjamwkCVVAQjHGuAX8i0BWo42dshL8eO5KfLQ==" }, "acorn": { "version": "5.5.3", @@ -442,9 +442,9 @@ "integrity": "sha512-NiOvvA9Pq6bki6nP4BayXwT5GZadw7DJFDDzHmkpnOQpENWe8RtHtKZM44MG1R6EQ5XxgbLdsdhswIzTkFlO5g==" }, "babel-plugin-transform-es2015-modules-reify": { - "version": "0.14.2", - "resolved": "https://registry.npmjs.org/babel-plugin-transform-es2015-modules-reify/-/babel-plugin-transform-es2015-modules-reify-0.14.2.tgz", - "integrity": "sha512-EPMKQetvssxoe47ilW7YfT3fIvIkpPZaasyk4teuH/SNYCg8/QAtA9i7r/zPu8pQG0nQ7+dUM6M5J4MJ9NEcaw==" + "version": "0.15.1", + "resolved": "https://registry.npmjs.org/babel-plugin-transform-es2015-modules-reify/-/babel-plugin-transform-es2015-modules-reify-0.15.1.tgz", + "integrity": "sha512-QO76PVHIApDp3afwjk+VMpymKZhUeo3tZg/b2ND8g8C859h4xaNPdx6QguxrGaf2ch3IsbbcbcgVseIbIHh+MA==" }, "babel-plugin-transform-inline-consecutive-adds": { "version": "0.2.0", @@ -502,9 +502,9 @@ "integrity": "sha512-AVDVEmp0S9mbF1O8zekWbsOOmqnR08PZah5NRZJqSvJnFgiL0ep4Lwo4EymH8OieJR2QgQdR3q71TNW+wiVn4g==" }, "babel-preset-meteor": { - "version": "7.0.0-beta.42", - "resolved": "https://registry.npmjs.org/babel-preset-meteor/-/babel-preset-meteor-7.0.0-beta.42.tgz", - "integrity": "sha512-GrZ27sLvBGELCFMXPZIGn2slK2Fpvr/Z+KoL8zg5l0ANEJnj08kcH0LG0rMFZfSujNXaSXwZqP8ZsJZ7E1aacA==" + "version": "7.0.0-beta.44", + "resolved": "https://registry.npmjs.org/babel-preset-meteor/-/babel-preset-meteor-7.0.0-beta.44.tgz", + "integrity": "sha512-NZ+2ifXWoTP/7AcPCpllp4A4fKVsOnbVOAPZ2ygrp9BDBU92PZpzdOzGElepJoejh77XKG3H7I7st+QRGTfmmw==" }, "babel-preset-minify": { "version": "0.2.0", @@ -512,9 +512,9 @@ "integrity": "sha512-mR8Q44RmMzm18bM2Lqd9uiPopzk5GDCtVuquNbLFmX6lOKnqWoenaNBxnWW0UhBFC75lEHTIgNGCbnsRI0pJVw==" }, "babylon": { - "version": "7.0.0-beta.42", - "resolved": "https://registry.npmjs.org/babylon/-/babylon-7.0.0-beta.42.tgz", - "integrity": "sha512-h6E/OkkvcBw/JimbL0p8dIaxrcuQn3QmIYGC/GtJlRYif5LTKBYPHXYwqluJpfS/kOXoz0go+9mkmOVC0M+zWw==" + "version": "7.0.0-beta.44", + "resolved": "https://registry.npmjs.org/babylon/-/babylon-7.0.0-beta.44.tgz", + "integrity": "sha512-5Hlm13BJVAioCHpImtFqNOF2H3ieTOHd0fmFGMxOJ9jgeFqeAwsv3u5P5cR7CSeFrkgHsT19DgFJkHV0/Mcd8g==" }, "braces": { "version": "1.8.5", @@ -542,9 +542,9 @@ "integrity": "sha1-ms1whRxtXf3ZPZKC5e35SgP/RrU=" }, "core-js": { - "version": "2.5.3", - "resolved": "https://registry.npmjs.org/core-js/-/core-js-2.5.3.tgz", - "integrity": "sha1-isw4NFgk8W2DZbfJtCWRaOjtYD4=" + "version": "2.5.4", + "resolved": "https://registry.npmjs.org/core-js/-/core-js-2.5.4.tgz", + "integrity": "sha1-8si/GB8qgLkvNgEhQpzmOi8K6uA=" }, "debug": { "version": "3.1.0", @@ -607,9 +607,9 @@ "integrity": "sha1-gTg9ctsFT8zPUzbaqQLxgvbtuyg=" }, "globals": { - "version": "11.3.0", - "resolved": "https://registry.npmjs.org/globals/-/globals-11.3.0.tgz", - "integrity": "sha512-kkpcKNlmQan9Z5ZmgqKH/SMbSmjxQ7QjyNqfXVc8VJcoBV2UEg+sxQD15GQofGRh2hfpwUb70VC31DR7Rq5Hdw==" + "version": "11.4.0", + "resolved": "https://registry.npmjs.org/globals/-/globals-11.4.0.tgz", + "integrity": "sha512-Dyzmifil8n/TmSqYDEXbm+C8yitzJQqQIlJQLNRMwa+BOUJpRC19pyVeN12JAjt61xonvXjtff+hJruTRXn5HA==" }, "has-flag": { "version": "3.0.0", @@ -717,9 +717,9 @@ "integrity": "sha1-0aitM/qc4OcT1l/dCsi3SNR4yEg=" }, "meteor-babel": { - "version": "7.0.0-beta.42", - "resolved": "https://registry.npmjs.org/meteor-babel/-/meteor-babel-7.0.0-beta.42.tgz", - "integrity": "sha512-fvFC1KRVZqOeIKHrXJJjUD3XygrGQWudDW6uFVuvWMpUzSRE2f5faz3TnT03QPeicRygbi9Lqvx1M85u8kYk2A==" + "version": "7.0.0-beta.44", + "resolved": "https://registry.npmjs.org/meteor-babel/-/meteor-babel-7.0.0-beta.44.tgz", + "integrity": "sha512-PMQPRO5Xv9CjgWsdPme69/5o5Utj0rImOWPQhRMbNNvC0vjQdtP8eHlTsxkWRK4aKVnz+qTzzhjbQ8Ra5GlFeg==" }, "meteor-babel-helpers": { "version": "0.0.3", @@ -731,16 +731,6 @@ "resolved": "https://registry.npmjs.org/micromatch/-/micromatch-2.3.11.tgz", "integrity": "sha1-hmd8l9FyCzY0MdBNDRUpO9OMFWU=" }, - "minipass": { - "version": "2.2.4", - "resolved": "https://registry.npmjs.org/minipass/-/minipass-2.2.4.tgz", - "integrity": "sha512-hzXIWWet/BzWhYs2b+u7dRHlruXhwdgvlTMDKC6Cb1U7ps6Ac6yQlR39xsbjWJE377YTCtKwIXIpJ5oP+j5y8g==" - }, - "minizlib": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/minizlib/-/minizlib-1.1.0.tgz", - "integrity": "sha512-4T6Ur/GctZ27nHfpt9THOdRZNgyJ9FZchYO1ceg5S8Q3DNLCKYy44nCZzgCJgcvx2UM8czmqak5BCxJMrq37lA==" - }, "ms": { "version": "2.0.0", "resolved": "https://registry.npmjs.org/ms/-/ms-2.0.0.tgz", @@ -848,9 +838,9 @@ } }, "reify": { - "version": "0.14.2", - "resolved": "https://registry.npmjs.org/reify/-/reify-0.14.2.tgz", - "integrity": "sha512-gJA67pCidAROSmr4/8SQuMQXtZwtSvoVIDR6KjoWxnO4LSD8iYNjMcRrHuQQ/c8cXYaoCpEQh0rO9CNNu1z5lA==" + "version": "0.15.1", + "resolved": "https://registry.npmjs.org/reify/-/reify-0.15.1.tgz", + "integrity": "sha512-XUIO34oFNXyb8cYRw3eVN0oqD3LwxaBFml5cHZf3Uiw6v+pfPB0D7kxKCdBjvaa1cneDtUqqQ94MPQkJt2kEWg==" }, "remove-trailing-separator": { "version": "1.1.0", @@ -872,11 +862,6 @@ "resolved": "https://registry.npmjs.org/resolve/-/resolve-1.6.0.tgz", "integrity": "sha512-mw7JQNu5ExIkcw4LPih0owX/TZXjD/ZUF/ZQ/pDnkw3ZKhDcZZw5klmBlj6gVMwjQ3Pz5Jgu7F3d0jcDVuEWdw==" }, - "safe-buffer": { - "version": "5.1.1", - "resolved": "https://registry.npmjs.org/safe-buffer/-/safe-buffer-5.1.1.tgz", - "integrity": "sha512-kKvNJn6Mm93gAczWVJg7wH+wGYWNrDHdWvpUmHyEsgCtIwwo3bqPtV4tR5tuPaUhTOo/kvhVwd8XwwOllGYkbg==" - }, "semver": { "version": "5.5.0", "resolved": "https://registry.npmjs.org/semver/-/semver-5.5.0.tgz", @@ -921,11 +906,6 @@ "version": "1.0.3", "resolved": "https://registry.npmjs.org/unicode-property-aliases-ecmascript/-/unicode-property-aliases-ecmascript-1.0.3.tgz", "integrity": "sha512-TdDmDOTxEf2ad1g3ZBpM6cqKIb2nJpVlz1Q++casDryKz18tpeMBhSng9hjC1CTQCkOV9Rw2knlSB6iRo7ad1w==" - }, - "yallist": { - "version": "3.0.2", - "resolved": "https://registry.npmjs.org/yallist/-/yallist-3.0.2.tgz", - "integrity": "sha1-hFK0u36Dx8GI2AQcGoN8dz1ti7k=" } } } diff --git a/packages/babel-compiler/package.js b/packages/babel-compiler/package.js index a3554e75e4..0fda0f96a6 100644 --- a/packages/babel-compiler/package.js +++ b/packages/babel-compiler/package.js @@ -6,11 +6,11 @@ Package.describe({ // isn't possible because you can't publish a non-recommended // release with package versions that don't have a pre-release // identifier at the end (eg, -dev) - version: '7.0.6' + version: '7.0.7' }); Npm.depends({ - 'meteor-babel': '7.0.0-beta.42' + 'meteor-babel': '7.0.0-beta.44' }); Package.onUse(function (api) { diff --git a/packages/ecmascript/package.js b/packages/ecmascript/package.js index ed241a0f29..c71853b679 100644 --- a/packages/ecmascript/package.js +++ b/packages/ecmascript/package.js @@ -1,6 +1,6 @@ Package.describe({ name: 'ecmascript', - version: '0.10.6', + version: '0.10.7', summary: 'Compiler plugin that supports ES2015+ in all .js files', documentation: 'README.md' }); diff --git a/packages/modules/.npm/package/npm-shrinkwrap.json b/packages/modules/.npm/package/npm-shrinkwrap.json index 564c41a447..0453702e22 100644 --- a/packages/modules/.npm/package/npm-shrinkwrap.json +++ b/packages/modules/.npm/package/npm-shrinkwrap.json @@ -2,34 +2,19 @@ "lockfileVersion": 1, "dependencies": { "acorn": { - "version": "5.4.1", - "resolved": "https://registry.npmjs.org/acorn/-/acorn-5.4.1.tgz", - "integrity": "sha512-XLmq3H/BVvW6/GbxKryGxWORz1ebilSsUDlyC27bXhWGWAZWkGwS6FLHjOlwFXNFoWFQEO/Df4u0YYd0K3BQgQ==" - }, - "minipass": { - "version": "2.2.1", - "resolved": "https://registry.npmjs.org/minipass/-/minipass-2.2.1.tgz", - "integrity": "sha512-u1aUllxPJUI07cOqzR7reGmQxmCqlH88uIIsf6XZFEWgw7gXKpJdR+5R9Y3KEDmWYkdIz9wXZs3C0jOPxejk/Q==" - }, - "minizlib": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/minizlib/-/minizlib-1.1.0.tgz", - "integrity": "sha512-4T6Ur/GctZ27nHfpt9THOdRZNgyJ9FZchYO1ceg5S8Q3DNLCKYy44nCZzgCJgcvx2UM8czmqak5BCxJMrq37lA==" + "version": "5.5.3", + "resolved": "https://registry.npmjs.org/acorn/-/acorn-5.5.3.tgz", + "integrity": "sha512-jd5MkIUlbbmb07nXH0DT3y7rDVtkzDi4XZOUVWAer8ajmF/DTSSbl5oNFyDOl/OXA33Bl79+ypHhl2pN20VeOQ==" }, "reify": { - "version": "0.14.2", - "resolved": "https://registry.npmjs.org/reify/-/reify-0.14.2.tgz", - "integrity": "sha512-gJA67pCidAROSmr4/8SQuMQXtZwtSvoVIDR6KjoWxnO4LSD8iYNjMcRrHuQQ/c8cXYaoCpEQh0rO9CNNu1z5lA==" + "version": "0.15.1", + "resolved": "https://registry.npmjs.org/reify/-/reify-0.15.1.tgz", + "integrity": "sha512-XUIO34oFNXyb8cYRw3eVN0oqD3LwxaBFml5cHZf3Uiw6v+pfPB0D7kxKCdBjvaa1cneDtUqqQ94MPQkJt2kEWg==" }, "semver": { "version": "5.5.0", "resolved": "https://registry.npmjs.org/semver/-/semver-5.5.0.tgz", "integrity": "sha512-4SJ3dm0WAwWy/NVeioZh5AntkdJoWKxHxcmyP622fOkgHa4z3R0TdBJICINyaSDE6uNwVc8gZr+ZinwZAH4xIA==" - }, - "yallist": { - "version": "3.0.2", - "resolved": "https://registry.npmjs.org/yallist/-/yallist-3.0.2.tgz", - "integrity": "sha1-hFK0u36Dx8GI2AQcGoN8dz1ti7k=" } } } diff --git a/packages/modules/package.js b/packages/modules/package.js index 17de33e9a7..34c42aac4c 100644 --- a/packages/modules/package.js +++ b/packages/modules/package.js @@ -1,12 +1,12 @@ Package.describe({ name: "modules", - version: "0.11.5", + version: "0.11.6", summary: "CommonJS module system", documentation: "README.md" }); Npm.depends({ - reify: "0.14.2" + reify: "0.15.1" }); Package.onUse(function(api) { diff --git a/scripts/dev-bundle-tool-package.js b/scripts/dev-bundle-tool-package.js index 963bbf91ba..b96db1877e 100644 --- a/scripts/dev-bundle-tool-package.js +++ b/scripts/dev-bundle-tool-package.js @@ -14,13 +14,13 @@ var packageJson = { pacote: "https://github.com/meteor/pacote/tarball/2c16c509074bbba8ca5dd410caf808412ce79e6c", "node-gyp": "3.6.2", "node-pre-gyp": "0.6.36", - "meteor-babel": "7.0.0-beta.42", + "meteor-babel": "7.0.0-beta.44", "meteor-promise": "0.8.6", promise: "8.0.1", - reify: "0.14.2", + reify: "0.15.1", fibers: "2.0.0", // So that Babel can emit require("@babel/runtime/helpers/...") calls. - "@babel/runtime": "7.0.0-beta.42", + "@babel/runtime": "7.0.0-beta.44", // For backwards compatibility with isopackets that still depend on // babel-runtime rather than @babel/runtime. "babel-runtime": "7.0.0-beta.3", From 958361e013744e5e088fd597876725bcd0888bb4 Mon Sep 17 00:00:00 2001 From: Ben Newman Date: Mon, 2 Apr 2018 19:03:01 -0400 Subject: [PATCH 0724/1355] Bump $BUNDLE_VERSION to 8.11.1.2 before rebuilding dev bundle. --- meteor | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/meteor b/meteor index 30e2edde5f..43eb116bad 100755 --- a/meteor +++ b/meteor @@ -1,6 +1,6 @@ #!/usr/bin/env bash -BUNDLE_VERSION=8.11.1.1 +BUNDLE_VERSION=8.11.1.2 # OS Check. Put here because here is where we download the precompiled # bundles that are arch specific. From 8d320497d6ed522af0b3ce110d5cf8db52300bea Mon Sep 17 00:00:00 2001 From: Lucas Hansen Date: Mon, 2 Apr 2018 16:37:08 -0700 Subject: [PATCH 0725/1355] Cache linker cache files in memory (#9794) --- tools/isobuild/compiler-plugin.js | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/tools/isobuild/compiler-plugin.js b/tools/isobuild/compiler-plugin.js index 1d22b22bac..a352c9d063 100644 --- a/tools/isobuild/compiler-plugin.js +++ b/tools/isobuild/compiler-plugin.js @@ -18,6 +18,7 @@ import {cssToCommonJS} from "./css-modules.js"; import Resolver from "./resolver.js"; import { optimisticStatOrNull, + optimisticReadJsonOrNull, } from "../fs/optimistic.js"; import { isTestFilePath } from './test-files.js'; @@ -1406,7 +1407,7 @@ export class PackageSourceBatch { if (cacheFilename) { let diskCached = null; try { - diskCached = files.readJSONOrNull(cacheFilename); + diskCached = optimisticReadJsonOrNull(cacheFilename); } catch (e) { // Ignore JSON parse errors; pretend there was no cache. if (!(e instanceof SyntaxError)) { From 934c97f4bd3b5d53b014bfe5f2e1e91d38da9cba Mon Sep 17 00:00:00 2001 From: Ben Newman Date: Mon, 2 Apr 2018 19:48:43 -0400 Subject: [PATCH 0726/1355] Bump package versions for 1.6.2-beta.18 release. I made a mistake while publishing 1.6.2-beta.16 that means it's easier to just skip that version. --- packages/babel-compiler/package.js | 2 +- packages/boilerplate-generator-tests/package.js | 2 +- packages/boilerplate-generator/package.js | 2 +- packages/dynamic-import/package.js | 2 +- packages/ecmascript-runtime-client/package.js | 2 +- packages/ecmascript-runtime-server/package.js | 2 +- packages/ecmascript-runtime/package.js | 2 +- packages/ecmascript/package.js | 2 +- packages/es5-shim/package.js | 2 +- packages/jquery/package.js | 2 +- packages/meteor-base/package.js | 2 +- packages/meteor-tool/package.js | 2 +- packages/meteor/package.js | 2 +- packages/modern-browsers/package.js | 2 +- packages/modules-runtime/package.js | 2 +- packages/promise/package.js | 2 +- packages/socket-stream-client/package.js | 2 +- packages/tracker/package.js | 2 +- packages/webapp/package.js | 2 +- scripts/admin/meteor-release-experimental.json | 2 +- 20 files changed, 20 insertions(+), 20 deletions(-) diff --git a/packages/babel-compiler/package.js b/packages/babel-compiler/package.js index ca27d604b7..22dfa2fcbe 100644 --- a/packages/babel-compiler/package.js +++ b/packages/babel-compiler/package.js @@ -6,7 +6,7 @@ Package.describe({ // isn't possible because you can't publish a non-recommended // release with package versions that don't have a pre-release // identifier at the end (eg, -dev) - version: '7.1.0-beta162.17' + version: '7.1.0-beta162.18' }); Npm.depends({ diff --git a/packages/boilerplate-generator-tests/package.js b/packages/boilerplate-generator-tests/package.js index 361a4c070b..096516ceeb 100644 --- a/packages/boilerplate-generator-tests/package.js +++ b/packages/boilerplate-generator-tests/package.js @@ -2,7 +2,7 @@ Package.describe({ // These tests are in a separate package so that we can Npm.depend on // parse5, a html parsing library. summary: "Tests for the boilerplate-generator package", - version: '1.5.0-beta162.17', + version: '1.5.0-beta162.18', documentation: null }); diff --git a/packages/boilerplate-generator/package.js b/packages/boilerplate-generator/package.js index b8d57e09b4..259bce5e42 100644 --- a/packages/boilerplate-generator/package.js +++ b/packages/boilerplate-generator/package.js @@ -1,6 +1,6 @@ Package.describe({ summary: "Generates the boilerplate html from program's manifest", - version: '1.5.0-beta162.17' + version: '1.5.0-beta162.18' }); Npm.depends({ diff --git a/packages/dynamic-import/package.js b/packages/dynamic-import/package.js index 9f476342a7..1a5b7d1fb1 100644 --- a/packages/dynamic-import/package.js +++ b/packages/dynamic-import/package.js @@ -1,6 +1,6 @@ Package.describe({ name: "dynamic-import", - version: "0.4.0-beta162.17", + version: "0.4.0-beta162.18", summary: "Runtime support for Meteor 1.5 dynamic import(...) syntax", documentation: "README.md" }); diff --git a/packages/ecmascript-runtime-client/package.js b/packages/ecmascript-runtime-client/package.js index 03e5ed0879..51556e0f03 100644 --- a/packages/ecmascript-runtime-client/package.js +++ b/packages/ecmascript-runtime-client/package.js @@ -1,6 +1,6 @@ Package.describe({ name: "ecmascript-runtime-client", - version: "0.7.0-beta162.17", + version: "0.7.0-beta162.18", summary: "Polyfills for new ECMAScript 2015 APIs like Map and Set", git: "https://github.com/meteor/meteor/tree/devel/packages/ecmascript-runtime-client", documentation: "README.md" diff --git a/packages/ecmascript-runtime-server/package.js b/packages/ecmascript-runtime-server/package.js index 21aa586d95..c7adf148e5 100644 --- a/packages/ecmascript-runtime-server/package.js +++ b/packages/ecmascript-runtime-server/package.js @@ -1,6 +1,6 @@ Package.describe({ name: "ecmascript-runtime-server", - version: "0.7.0-beta162.17", + version: "0.7.0-beta162.18", summary: "Polyfills for new ECMAScript 2015 APIs like Map and Set", git: "https://github.com/meteor/meteor/tree/devel/packages/ecmascript-runtime-client", documentation: "README.md" diff --git a/packages/ecmascript-runtime/package.js b/packages/ecmascript-runtime/package.js index cffe28c3d8..bb6eb2b88e 100644 --- a/packages/ecmascript-runtime/package.js +++ b/packages/ecmascript-runtime/package.js @@ -1,6 +1,6 @@ Package.describe({ name: "ecmascript-runtime", - version: "0.7.0-beta162.17", + version: "0.7.0-beta162.18", summary: "Polyfills for new ECMAScript 2015 APIs like Map and Set", git: "https://github.com/meteor/ecmascript-runtime", documentation: "README.md" diff --git a/packages/ecmascript/package.js b/packages/ecmascript/package.js index 42223f10f4..c2d912a3d8 100644 --- a/packages/ecmascript/package.js +++ b/packages/ecmascript/package.js @@ -1,6 +1,6 @@ Package.describe({ name: 'ecmascript', - version: '0.11.0-beta162.17', + version: '0.11.0-beta162.18', summary: 'Compiler plugin that supports ES2015+ in all .js files', documentation: 'README.md' }); diff --git a/packages/es5-shim/package.js b/packages/es5-shim/package.js index 58ac8dd4f7..f4021aabc5 100644 --- a/packages/es5-shim/package.js +++ b/packages/es5-shim/package.js @@ -1,6 +1,6 @@ Package.describe({ name: "es5-shim", - version: "4.8.0-beta162.17", + version: "4.8.0-beta162.18", summary: "Shims and polyfills to improve ECMAScript 5 support", documentation: "README.md" }); diff --git a/packages/jquery/package.js b/packages/jquery/package.js index 085a777ad0..eb7c73db93 100644 --- a/packages/jquery/package.js +++ b/packages/jquery/package.js @@ -1,7 +1,7 @@ Package.describe({ summary: "Manipulate the DOM using CSS selectors", // This package currently uses jQuery 1.12.1 (due to #9605). - version: '1.12.1-beta162.17' + version: '1.12.1-beta162.18' }); Package.onUse(function (api) { diff --git a/packages/meteor-base/package.js b/packages/meteor-base/package.js index 56916b95db..14ca557209 100644 --- a/packages/meteor-base/package.js +++ b/packages/meteor-base/package.js @@ -1,6 +1,6 @@ Package.describe({ name: 'meteor-base', - version: '1.4.0-beta162.17', + version: '1.4.0-beta162.18', // Brief, one-line summary of the package. summary: 'Packages that every Meteor app needs', // By default, Meteor will default to using README.md for documentation. diff --git a/packages/meteor-tool/package.js b/packages/meteor-tool/package.js index 9fb603f0c6..f37a0a605d 100644 --- a/packages/meteor-tool/package.js +++ b/packages/meteor-tool/package.js @@ -1,6 +1,6 @@ Package.describe({ summary: "The Meteor command-line tool", - version: '1.6.2-beta.17' + version: '1.6.2-beta.18' }); Package.includeTool(); diff --git a/packages/meteor/package.js b/packages/meteor/package.js index 2d944820bb..28b4aca1d6 100644 --- a/packages/meteor/package.js +++ b/packages/meteor/package.js @@ -2,7 +2,7 @@ Package.describe({ summary: "Core Meteor environment", - version: '1.9.0-beta162.17' + version: '1.9.0-beta162.18' }); Package.registerBuildPlugin({ diff --git a/packages/modern-browsers/package.js b/packages/modern-browsers/package.js index 6230b00436..5a7d459db2 100644 --- a/packages/modern-browsers/package.js +++ b/packages/modern-browsers/package.js @@ -1,6 +1,6 @@ Package.describe({ name: "modern-browsers", - version: "0.1.0-beta162.17", + version: "0.1.0-beta162.18", summary: "API for defining the boundary between modern and legacy " + "JavaScript clients", documentation: "README.md" diff --git a/packages/modules-runtime/package.js b/packages/modules-runtime/package.js index 83085950d0..a654cf4977 100644 --- a/packages/modules-runtime/package.js +++ b/packages/modules-runtime/package.js @@ -1,6 +1,6 @@ Package.describe({ name: "modules-runtime", - version: "0.10.0-beta162.17", + version: "0.10.0-beta162.18", summary: "CommonJS module system", git: "https://github.com/benjamn/install", documentation: "README.md" diff --git a/packages/promise/package.js b/packages/promise/package.js index 4892cd4fb1..68990dafd1 100644 --- a/packages/promise/package.js +++ b/packages/promise/package.js @@ -1,6 +1,6 @@ Package.describe({ name: "promise", - version: "0.11.0-beta162.17", + version: "0.11.0-beta162.18", summary: "ECMAScript 2015 Promise polyfill with Fiber support", git: "https://github.com/meteor/promise", documentation: "README.md" diff --git a/packages/socket-stream-client/package.js b/packages/socket-stream-client/package.js index 00b7fa0286..ef98dfea92 100644 --- a/packages/socket-stream-client/package.js +++ b/packages/socket-stream-client/package.js @@ -1,6 +1,6 @@ Package.describe({ name: "socket-stream-client", - version: "0.2.0-beta162.17", + version: "0.2.0-beta162.18", summary: "Provides the ClientStream abstraction used by ddp-client", documentation: "README.md" }); diff --git a/packages/tracker/package.js b/packages/tracker/package.js index 2c6bc1f141..26f52a1e0d 100644 --- a/packages/tracker/package.js +++ b/packages/tracker/package.js @@ -1,6 +1,6 @@ Package.describe({ summary: "Dependency tracker to allow reactive callbacks", - version: "1.2.0-beta162.17" + version: "1.2.0-beta162.18" }); Package.onUse(function (api) { diff --git a/packages/webapp/package.js b/packages/webapp/package.js index dd6001ce9d..d4186e3468 100644 --- a/packages/webapp/package.js +++ b/packages/webapp/package.js @@ -1,6 +1,6 @@ Package.describe({ summary: "Serves a Meteor app over HTTP", - version: '1.6.0-beta162.17' + version: '1.6.0-beta162.18' }); Npm.depends({"basic-auth-connect": "1.0.0", diff --git a/scripts/admin/meteor-release-experimental.json b/scripts/admin/meteor-release-experimental.json index 586293ac27..86768630e7 100644 --- a/scripts/admin/meteor-release-experimental.json +++ b/scripts/admin/meteor-release-experimental.json @@ -1,6 +1,6 @@ { "track": "METEOR", - "version": "1.6.2-beta.17", + "version": "1.6.2-beta.18", "recommended": false, "official": false, "description": "Meteor" From 56ac7657799f6cf49a3743a779984aedc20cc059 Mon Sep 17 00:00:00 2001 From: Ben Newman Date: Tue, 30 Jan 2018 12:58:54 -0500 Subject: [PATCH 0727/1355] Move jquery package into packages/non-core. This move will mean the next release of Meteor will not impose any constraints on the version of the Meteor jquery package. --- .../accounts-ui-unstyled/login_buttons_dialogs.js | 14 +++++++++++--- packages/accounts-ui-unstyled/package.js | 13 ++++++++++--- packages/{ => non-core}/jquery/.gitignore | 0 packages/{ => non-core}/jquery/README.md | 0 packages/{ => non-core}/jquery/jquery.js | 0 packages/{ => non-core}/jquery/main.js | 0 packages/{ => non-core}/jquery/package.js | 0 packages/test-helpers/package.js | 4 ++-- packages/test-in-browser/package.js | 4 ++-- 9 files changed, 25 insertions(+), 10 deletions(-) rename packages/{ => non-core}/jquery/.gitignore (100%) rename packages/{ => non-core}/jquery/README.md (100%) rename packages/{ => non-core}/jquery/jquery.js (100%) rename packages/{ => non-core}/jquery/main.js (100%) rename packages/{ => non-core}/jquery/package.js (100%) diff --git a/packages/accounts-ui-unstyled/login_buttons_dialogs.js b/packages/accounts-ui-unstyled/login_buttons_dialogs.js index d1c5473c3d..152781fb03 100644 --- a/packages/accounts-ui-unstyled/login_buttons_dialogs.js +++ b/packages/accounts-ui-unstyled/login_buttons_dialogs.js @@ -196,9 +196,17 @@ Template._configureLoginServiceDialog.events({ .replace(/^\s*|\s*$/g, ""); // trim() doesnt work on IE8; }); - configuration.loginStyle = - $('#configure-login-service-dialog input[name="loginStyle"]:checked') - .val(); + Array.prototype.some.call( + document.getElementById("configure-login-service-dialog") + .getElementsByTagName("input"), + function (input) { + if (input.getAttribute("name") === "loginStyle" && + input.checked) { + configuration.loginStyle = input.value; + return true; + } + } + ); // Configure this login service Accounts.connection.call( diff --git a/packages/accounts-ui-unstyled/package.js b/packages/accounts-ui-unstyled/package.js index 25c04a0738..ca415a1815 100644 --- a/packages/accounts-ui-unstyled/package.js +++ b/packages/accounts-ui-unstyled/package.js @@ -1,11 +1,18 @@ Package.describe({ summary: "Unstyled version of login widgets", - version: "1.4.0" + version: "1.4.1" }); Package.onUse(function (api) { - api.use(['tracker', 'service-configuration', 'accounts-base', - 'underscore', 'templating@1.2.13', 'session', 'jquery'], 'client'); + api.use([ + 'tracker', + 'service-configuration', + 'accounts-base', + 'underscore', + 'templating@1.2.13', + 'session', + ], 'client'); + // Export Accounts (etc) to packages using this one. api.imply('accounts-base', ['client', 'server']); diff --git a/packages/jquery/.gitignore b/packages/non-core/jquery/.gitignore similarity index 100% rename from packages/jquery/.gitignore rename to packages/non-core/jquery/.gitignore diff --git a/packages/jquery/README.md b/packages/non-core/jquery/README.md similarity index 100% rename from packages/jquery/README.md rename to packages/non-core/jquery/README.md diff --git a/packages/jquery/jquery.js b/packages/non-core/jquery/jquery.js similarity index 100% rename from packages/jquery/jquery.js rename to packages/non-core/jquery/jquery.js diff --git a/packages/jquery/main.js b/packages/non-core/jquery/main.js similarity index 100% rename from packages/jquery/main.js rename to packages/non-core/jquery/main.js diff --git a/packages/jquery/package.js b/packages/non-core/jquery/package.js similarity index 100% rename from packages/jquery/package.js rename to packages/non-core/jquery/package.js diff --git a/packages/test-helpers/package.js b/packages/test-helpers/package.js index 5875b895fb..ec2bf8977d 100644 --- a/packages/test-helpers/package.js +++ b/packages/test-helpers/package.js @@ -1,11 +1,11 @@ Package.describe({ summary: "Utility functions for tests", - version: '1.0.11' + version: '1.0.12' }); Package.onUse(function (api) { api.use(['underscore', 'tracker', 'ejson', 'tinytest', 'random', 'blaze']); - api.use(['jquery'], 'client'); + api.use(['jquery@1.12.1'], 'client'); // XXX for connection.js. Not sure this really belongs in // test-helpers. It probably would be better off in livedata. But it's diff --git a/packages/test-in-browser/package.js b/packages/test-in-browser/package.js index aaccf635bc..a7e4279692 100644 --- a/packages/test-in-browser/package.js +++ b/packages/test-in-browser/package.js @@ -1,6 +1,6 @@ Package.describe({ summary: "Run tests interactively in the browser", - version: '1.1.0', + version: '1.1.1', documentation: null }); @@ -14,7 +14,7 @@ Package.onUse(function (api) { api.use('session'); api.use('reload'); - api.use('jquery'); + api.use('jquery@1.12.1'); api.use(['webapp', 'blaze@2.1.8', 'templating@1.2.13', 'spacebars@1.0.12', 'ddp', 'tracker'], 'client'); From 5938e88a83fc46ef7e8cd7194f2388845b4a2c40 Mon Sep 17 00:00:00 2001 From: Ben Newman Date: Tue, 3 Apr 2018 12:50:05 -0400 Subject: [PATCH 0728/1355] Scan packages/non-core in self-test, e.g. to find jquery. --- tools/tool-testing/sandbox.js | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/tools/tool-testing/sandbox.js b/tools/tool-testing/sandbox.js index 91ca8d83cb..956f97fdd9 100644 --- a/tools/tool-testing/sandbox.js +++ b/tools/tool-testing/sandbox.js @@ -553,7 +553,6 @@ const ROOT_PACKAGES_TO_BUILD_IN_SANDBOX = [ 'mongo', 'blaze-html-templates', 'session', - 'jquery', 'tracker', "autopublish", "insecure", @@ -584,6 +583,7 @@ function newSelfTestCatalog() { selfTestCatalog.initialize({ localPackageSearchDirs: [ packagesDir, + files.pathJoin(packagesDir, "non-core"), files.pathJoin(packagesDir, "non-core", "*", "packages"), ], }); From 90d5c1efc4453003b96db112501d9fa4d3d16c65 Mon Sep 17 00:00:00 2001 From: Aaron Curtis Date: Wed, 4 Apr 2018 08:42:02 -0700 Subject: [PATCH 0729/1355] Correctly append branch locations (#9760) Before this change, meteor create --list would produce output containing the following line: todos-react: https://github.com/meteor/todos#react but "meteor create --example todos-react" would create the blaze version of the todos example. This was because for some reason the code is using a # to append the name of the branch, instead of /tree/. --- tools/cli/commands.js | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/tools/cli/commands.js b/tools/cli/commands.js index 5fef22f37f..f84bed0919 100644 --- a/tools/cli/commands.js +++ b/tools/cli/commands.js @@ -623,7 +623,7 @@ main.registerCommand({ if (options.list) { Console.info("Available examples:"); _.each(EXAMPLE_REPOSITORIES, function (repoInfo, name) { - const branchInfo = repoInfo.branch ? `#${repoInfo.branch}` : ''; + const branchInfo = repoInfo.branch ? `/tree/${repoInfo.branch}` : ''; Console.info( Console.command(`${name}: ${repoInfo.repo}${branchInfo}`), Console.options({ indent: 2 })); From a738fc99995802cc40592d330ef6363cf39d4961 Mon Sep 17 00:00:00 2001 From: Valentin Uhrmeister Date: Wed, 4 Apr 2018 17:49:17 +0200 Subject: [PATCH 0730/1355] Alias "chromeMobile" to "chrome" for isModern test (#9793) --- packages/modern-browsers/modern-tests.js | 5 +++++ packages/modern-browsers/modern.js | 9 +++++++++ 2 files changed, 14 insertions(+) diff --git a/packages/modern-browsers/modern-tests.js b/packages/modern-browsers/modern-tests.js index 47b58c1c22..38711df3ca 100644 --- a/packages/modern-browsers/modern-tests.js +++ b/packages/modern-browsers/modern-tests.js @@ -7,6 +7,11 @@ Tinytest.add('modern-browsers - versions - basic', function (test) { major: 60, })); + test.isTrue(isModern({ + name: "chromeMobile", + major: 60, + })); + test.isFalse(isModern({ name: "firefox", major: 25, diff --git a/packages/modern-browsers/modern.js b/packages/modern-browsers/modern.js index d0d10d6c4c..81250db181 100644 --- a/packages/modern-browsers/modern.js +++ b/packages/modern-browsers/modern.js @@ -1,5 +1,8 @@ const minimumVersions = Object.create(null); const hasOwn = Object.prototype.hasOwnProperty; +const browserAliases = { + chrome: ['chromeMobile'], +} // TODO Should it be possible for callers to setMinimumBrowserVersions to // forbid any version of a particular browser? @@ -35,6 +38,12 @@ function setMinimumBrowserVersions(versions, source) { version: copy(versions[browserName]), source: source || getCaller("setMinimumBrowserVersions") }; + + if (hasOwn.call(browserAliases, browserName)) { + browserAliases[browserName].forEach(browserAlias => { + minimumVersions[browserAlias] = minimumVersions[browserName]; + }); + } }); } From e241a6cc646ce03d7255d5f370dca0c2539eeb95 Mon Sep 17 00:00:00 2001 From: David Glasser Date: Fri, 6 Oct 2017 17:13:16 -0700 Subject: [PATCH 0731/1355] mongo: restart underlying oplog tail every 30 seconds without a doc Workaround for #8598: the Node Mongo driver has at least one bug that can lead to query callbacks never getting called (even with an error) when leadership failover occur. --- packages/mongo/mongo_driver.js | 75 +++++++++++++++++++++++++++------ packages/mongo/oplog_tailing.js | 13 +++++- 2 files changed, 73 insertions(+), 15 deletions(-) diff --git a/packages/mongo/mongo_driver.js b/packages/mongo/mongo_driver.js index 73f96fee20..b407ef8bed 100644 --- a/packages/mongo/mongo_driver.js +++ b/packages/mongo/mongo_driver.js @@ -1001,21 +1001,33 @@ var SynchronousCursor = function (dbCursor, cursorDescription, options) { self._transform = null; } - // Need to specify that the callback is the first argument to nextObject, - // since otherwise when we try to call it with no args the driver will - // interpret "undefined" first arg as an options hash and crash. - self._synchronousNextObject = Future.wrap( - dbCursor.nextObject.bind(dbCursor), 0); self._synchronousCount = Future.wrap(dbCursor.count.bind(dbCursor)); self._visitedIds = new LocalCollection._IdMap; }; _.extend(SynchronousCursor.prototype, { - _nextObject: function () { + // Returns a Promise for the next object from the underlying cursor (before + // the Mongo->Meteor type replacement). + _rawNextObjectPromise: function () { + const self = this; + return new Promise((resolve, reject) => { + self._dbCursor.next((err, doc) => { + if (err) { + reject(err); + } else { + resolve(doc); + } + }); + }); + }, + + // Returns a Promise for the next object from the cursor, skipping those whose + // IDs we've already seen and replacing Mongo atoms with Meteor atoms. + _nextObjectPromise: async function () { var self = this; while (true) { - var doc = self._synchronousNextObject().wait(); + var doc = await self._rawNextObjectPromise(); if (!doc) return null; doc = replaceTypes(doc, replaceMongoAtomWithMeteor); @@ -1038,6 +1050,36 @@ _.extend(SynchronousCursor.prototype, { } }, + // Returns a promise which is resolved with the next object (like with + // _nextObjectPromise) or rejected if the cursor doesn't return within + // timeoutMS ms. + _nextObjectPromiseWithTimeout: function (timeoutMS) { + const self = this; + if (!timeoutMS) { + return self._nextObjectPromise(); + } + const nextObjectPromise = self._nextObjectPromise(); + const timeoutErr = new Error('Client-side timeout waiting for next object'); + const timeoutPromise = new Promise((resolve, reject) => { + const timer = setTimeout(() => { + reject(timeoutErr); + }, timeoutMS); + }); + return Promise.race([nextObjectPromise, timeoutPromise]) + .catch((err) => { + if (err === timeoutErr) { + console.log("hit client-side timeout"); + self.close(); + } + throw err; + }); + }, + + _nextObject: function () { + var self = this; + return self._nextObjectPromise().await(); + }, + forEach: function (callback, thisArg) { var self = this; @@ -1124,7 +1166,13 @@ SynchronousCursor.prototype[Symbol.iterator] = function () { }; }; -MongoConnection.prototype.tail = function (cursorDescription, docCallback) { +// Tails the cursor described by cursorDescription, most likely on the +// oplog. Calls docCallback with each document found. Ignores errors and just +// restarts the tail on error. +// +// If timeoutMS is set, then if we don't get a new document every timeoutMS, +// kill and restart the cursor. This is primarily a workaround for #8598. +MongoConnection.prototype.tail = function (cursorDescription, docCallback, timeoutMS) { var self = this; if (!cursorDescription.options.tailable) throw new Error("Can only tail a tailable cursor"); @@ -1139,14 +1187,15 @@ MongoConnection.prototype.tail = function (cursorDescription, docCallback) { if (stopped) return; try { - doc = cursor._nextObject(); + doc = cursor._nextObjectPromiseWithTimeout(timeoutMS).await(); } catch (err) { - // There's no good way to figure out if this was actually an error - // from Mongo. Ah well. But either way, we need to retry the cursor - // (unless the failure was because the observe got stopped). + // There's no good way to figure out if this was actually an error from + // Mongo, or just client-side (including our own timeout error). Ah + // well. But either way, we need to retry the cursor (unless the failure + // was because the observe got stopped). doc = null; } - // Since cursor._nextObject can yield, we need to check again to see if + // Since we awaited a promise above, we need to check again to see if // we've been stopped before calling the callback. if (stopped) return; diff --git a/packages/mongo/oplog_tailing.js b/packages/mongo/oplog_tailing.js index eb7f59d74b..2a5abb69e4 100644 --- a/packages/mongo/oplog_tailing.js +++ b/packages/mongo/oplog_tailing.js @@ -3,6 +3,7 @@ var Future = Npm.require('fibers/future'); OPLOG_COLLECTION = 'oplog.rs'; var TOO_FAR_BEHIND = process.env.METEOR_OPLOG_TOO_FAR_BEHIND || 2000; +var TAIL_TIMEOUT = +process.env.METEOR_OPLOG_TAIL_TIMEOUT || 30000; var showTS = function (ts) { return "Timestamp(" + ts.getHighBits() + ", " + ts.getLowBits() + ")"; @@ -236,11 +237,19 @@ _.extend(OplogHandle.prototype, { var cursorDescription = new CursorDescription( OPLOG_COLLECTION, oplogSelector, {tailable: true}); + // Start tailing the oplog. + // + // We restart the low-level oplog query every 30 seconds if we didn't get a + // doc. This is a workaround for #8598: the Node Mongo driver has at least + // one bug that can lead to query callbacks never getting called (even with + // an error) when leadership failover occur. self._tailHandle = self._oplogTailConnection.tail( - cursorDescription, function (doc) { + cursorDescription, + function (doc) { self._entryQueue.push(doc); self._maybeStartWorker(); - } + }, + TAIL_TIMEOUT ); self._readyFuture.return(); }, From a150be0431356875d0e89f9d85d40e65ba576be0 Mon Sep 17 00:00:00 2001 From: Jesse Rosenberger Date: Wed, 4 Apr 2018 18:56:43 +0300 Subject: [PATCH 0732/1355] Bump `mongo` version to 1.4.6 prior to publishing. This includes the changes for meteor/meteor#9739 for testing, but we will immediately publish 1.4.7 with this commit reverted. --- packages/mongo/package.js | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/packages/mongo/package.js b/packages/mongo/package.js index 75ea1fd3fe..7d364ce571 100644 --- a/packages/mongo/package.js +++ b/packages/mongo/package.js @@ -9,7 +9,7 @@ Package.describe({ summary: "Adaptor for using MongoDB and Minimongo over DDP", - version: '1.4.5' + version: '1.4.6' }); Npm.depends({ From 7cad0f5fe1e1bee0d0e2368c6c86923e6ee1dcbc Mon Sep 17 00:00:00 2001 From: Jesse Rosenberger Date: Wed, 4 Apr 2018 18:59:09 +0300 Subject: [PATCH 0733/1355] Revert "mongo: restart underlying oplog tail every 30 seconds without a doc" This reverts commit 76ac0ca6eead9ddc4ecd7fb367fe5956fc4a96ce. --- packages/mongo/mongo_driver.js | 75 ++++++--------------------------- packages/mongo/oplog_tailing.js | 13 +----- 2 files changed, 15 insertions(+), 73 deletions(-) diff --git a/packages/mongo/mongo_driver.js b/packages/mongo/mongo_driver.js index b407ef8bed..73f96fee20 100644 --- a/packages/mongo/mongo_driver.js +++ b/packages/mongo/mongo_driver.js @@ -1001,33 +1001,21 @@ var SynchronousCursor = function (dbCursor, cursorDescription, options) { self._transform = null; } + // Need to specify that the callback is the first argument to nextObject, + // since otherwise when we try to call it with no args the driver will + // interpret "undefined" first arg as an options hash and crash. + self._synchronousNextObject = Future.wrap( + dbCursor.nextObject.bind(dbCursor), 0); self._synchronousCount = Future.wrap(dbCursor.count.bind(dbCursor)); self._visitedIds = new LocalCollection._IdMap; }; _.extend(SynchronousCursor.prototype, { - // Returns a Promise for the next object from the underlying cursor (before - // the Mongo->Meteor type replacement). - _rawNextObjectPromise: function () { - const self = this; - return new Promise((resolve, reject) => { - self._dbCursor.next((err, doc) => { - if (err) { - reject(err); - } else { - resolve(doc); - } - }); - }); - }, - - // Returns a Promise for the next object from the cursor, skipping those whose - // IDs we've already seen and replacing Mongo atoms with Meteor atoms. - _nextObjectPromise: async function () { + _nextObject: function () { var self = this; while (true) { - var doc = await self._rawNextObjectPromise(); + var doc = self._synchronousNextObject().wait(); if (!doc) return null; doc = replaceTypes(doc, replaceMongoAtomWithMeteor); @@ -1050,36 +1038,6 @@ _.extend(SynchronousCursor.prototype, { } }, - // Returns a promise which is resolved with the next object (like with - // _nextObjectPromise) or rejected if the cursor doesn't return within - // timeoutMS ms. - _nextObjectPromiseWithTimeout: function (timeoutMS) { - const self = this; - if (!timeoutMS) { - return self._nextObjectPromise(); - } - const nextObjectPromise = self._nextObjectPromise(); - const timeoutErr = new Error('Client-side timeout waiting for next object'); - const timeoutPromise = new Promise((resolve, reject) => { - const timer = setTimeout(() => { - reject(timeoutErr); - }, timeoutMS); - }); - return Promise.race([nextObjectPromise, timeoutPromise]) - .catch((err) => { - if (err === timeoutErr) { - console.log("hit client-side timeout"); - self.close(); - } - throw err; - }); - }, - - _nextObject: function () { - var self = this; - return self._nextObjectPromise().await(); - }, - forEach: function (callback, thisArg) { var self = this; @@ -1166,13 +1124,7 @@ SynchronousCursor.prototype[Symbol.iterator] = function () { }; }; -// Tails the cursor described by cursorDescription, most likely on the -// oplog. Calls docCallback with each document found. Ignores errors and just -// restarts the tail on error. -// -// If timeoutMS is set, then if we don't get a new document every timeoutMS, -// kill and restart the cursor. This is primarily a workaround for #8598. -MongoConnection.prototype.tail = function (cursorDescription, docCallback, timeoutMS) { +MongoConnection.prototype.tail = function (cursorDescription, docCallback) { var self = this; if (!cursorDescription.options.tailable) throw new Error("Can only tail a tailable cursor"); @@ -1187,15 +1139,14 @@ MongoConnection.prototype.tail = function (cursorDescription, docCallback, timeo if (stopped) return; try { - doc = cursor._nextObjectPromiseWithTimeout(timeoutMS).await(); + doc = cursor._nextObject(); } catch (err) { - // There's no good way to figure out if this was actually an error from - // Mongo, or just client-side (including our own timeout error). Ah - // well. But either way, we need to retry the cursor (unless the failure - // was because the observe got stopped). + // There's no good way to figure out if this was actually an error + // from Mongo. Ah well. But either way, we need to retry the cursor + // (unless the failure was because the observe got stopped). doc = null; } - // Since we awaited a promise above, we need to check again to see if + // Since cursor._nextObject can yield, we need to check again to see if // we've been stopped before calling the callback. if (stopped) return; diff --git a/packages/mongo/oplog_tailing.js b/packages/mongo/oplog_tailing.js index 2a5abb69e4..eb7f59d74b 100644 --- a/packages/mongo/oplog_tailing.js +++ b/packages/mongo/oplog_tailing.js @@ -3,7 +3,6 @@ var Future = Npm.require('fibers/future'); OPLOG_COLLECTION = 'oplog.rs'; var TOO_FAR_BEHIND = process.env.METEOR_OPLOG_TOO_FAR_BEHIND || 2000; -var TAIL_TIMEOUT = +process.env.METEOR_OPLOG_TAIL_TIMEOUT || 30000; var showTS = function (ts) { return "Timestamp(" + ts.getHighBits() + ", " + ts.getLowBits() + ")"; @@ -237,19 +236,11 @@ _.extend(OplogHandle.prototype, { var cursorDescription = new CursorDescription( OPLOG_COLLECTION, oplogSelector, {tailable: true}); - // Start tailing the oplog. - // - // We restart the low-level oplog query every 30 seconds if we didn't get a - // doc. This is a workaround for #8598: the Node Mongo driver has at least - // one bug that can lead to query callbacks never getting called (even with - // an error) when leadership failover occur. self._tailHandle = self._oplogTailConnection.tail( - cursorDescription, - function (doc) { + cursorDescription, function (doc) { self._entryQueue.push(doc); self._maybeStartWorker(); - }, - TAIL_TIMEOUT + } ); self._readyFuture.return(); }, From 4ab6c11f08552f04cff9a7b5962223d57238f8e3 Mon Sep 17 00:00:00 2001 From: Jesse Rosenberger Date: Wed, 4 Apr 2018 19:00:32 +0300 Subject: [PATCH 0734/1355] Bump `mongo` version to 1.4.7 prior to publishing. This reverts the changes for meteor/meteor#9739 which were temporarily in place for testing. Reverts: 41520db1a01d49400919fc4040831f3e0bd5abd4. Ref: 76ac0ca6eead9ddc4ecd7fb367fe5956fc4a96ce. --- packages/mongo/package.js | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/packages/mongo/package.js b/packages/mongo/package.js index 7d364ce571..29e67b78ac 100644 --- a/packages/mongo/package.js +++ b/packages/mongo/package.js @@ -9,7 +9,7 @@ Package.describe({ summary: "Adaptor for using MongoDB and Minimongo over DDP", - version: '1.4.6' + version: '1.4.7' }); Npm.depends({ From e197f5de3f970cc4ccc5d5b9b359bd21e9387c02 Mon Sep 17 00:00:00 2001 From: Ben Newman Date: Wed, 4 Apr 2018 12:11:21 -0400 Subject: [PATCH 0735/1355] Decompose applyAliases helper from setMinimumBrowserVersions. Follow-up to #9793. --- packages/modern-browsers/modern.js | 32 +++++++++++++++++++++++------- 1 file changed, 25 insertions(+), 7 deletions(-) diff --git a/packages/modern-browsers/modern.js b/packages/modern-browsers/modern.js index 81250db181..75bdcc9fd5 100644 --- a/packages/modern-browsers/modern.js +++ b/packages/modern-browsers/modern.js @@ -1,7 +1,29 @@ const minimumVersions = Object.create(null); const hasOwn = Object.prototype.hasOwnProperty; + +// By default, any minimum versions specified for chrome should apply to +// chromeMobile too, per https://github.com/meteor/meteor/pull/9793, +// though it should also be possible to specify minimum versions +// specifically for chromeMobile. This map defines that aliasing behavior +// in a generic way that could work for other browsers as well. const browserAliases = { - chrome: ['chromeMobile'], + chrome: ["chromeMobile"], +}; + +// Expand the given minimum versions by reusing chrome versions for +// chromeMobile (according to browserAliases above). +function applyAliases(versions) { + Object.keys(browserAliases).forEach(original => { + if (hasOwn.call(versions, original)) { + browserAliases[original].forEach(alias => { + if (! hasOwn.call(versions, alias)) { + versions[alias] = versions[original]; + } + }); + } + }); + + return versions; } // TODO Should it be possible for callers to setMinimumBrowserVersions to @@ -27,6 +49,8 @@ function isModern(browser) { // web.browser.legacy and web.browser will be based on the maximum of all // requested minimum versions for each browser. function setMinimumBrowserVersions(versions, source) { + applyAliases(versions); + Object.keys(versions).forEach(browserName => { if (hasOwn.call(minimumVersions, browserName) && ! greaterThan(versions[browserName], @@ -38,12 +62,6 @@ function setMinimumBrowserVersions(versions, source) { version: copy(versions[browserName]), source: source || getCaller("setMinimumBrowserVersions") }; - - if (hasOwn.call(browserAliases, browserName)) { - browserAliases[browserName].forEach(browserAlias => { - minimumVersions[browserAlias] = minimumVersions[browserName]; - }); - } }); } From 3cc9e790499bab49d9ba39974fac1101e64122f7 Mon Sep 17 00:00:00 2001 From: James Burgess Date: Fri, 6 Apr 2018 01:46:34 +0200 Subject: [PATCH 0736/1355] Protect against missing results files in test load balancer (#9799) --- scripts/test-balancer/index.js | 25 +++++++++++++++---------- 1 file changed, 15 insertions(+), 10 deletions(-) diff --git a/scripts/test-balancer/index.js b/scripts/test-balancer/index.js index 632a9432be..3d8bd292bc 100644 --- a/scripts/test-balancer/index.js +++ b/scripts/test-balancer/index.js @@ -11,16 +11,21 @@ const runningAvgLength = +args[args.indexOf('--running-avg-length') + 1]; // Load the junit results from the various groups on this build const currentBuildResults = []; for (let i = 0; i < numGroups; i++) { - const data = fs.readFileSync(`../../tmp/results/junit/${i}.xml`); - parser.parseString(data, (err, { testsuites: { testsuite } }) => { - (testsuite || []) - .map(testsuite => testsuite.testcase) - .forEach((testcase = []) => - testcase.forEach(({ $: { name, time } }) => { - currentBuildResults.push({ name, time: +time }) - }) - ); - }); + try { + const data = fs.readFileSync(`../../tmp/results/junit/${i}.xml`); + parser.parseString(data, (err, { testsuites: { testsuite } }) => { + (testsuite || []) + .map(testsuite => testsuite.testcase) + .forEach((testcase = []) => + testcase.forEach(({ $: { name, time } }) => { + currentBuildResults.push({ name, time: +time }) + }) + ); + }); + } catch(e) { + console.log(`Could not find '/tmp/results/junit/${i}.xml'`); + } + } // Try to load previous test balance From 5241d67deddc9bd101666ec7c4767c02718d26a8 Mon Sep 17 00:00:00 2001 From: Ben Newman Date: Thu, 5 Apr 2018 19:55:43 -0400 Subject: [PATCH 0737/1355] Apply .meteorignore files to node_modules in PackageSource#_findSources. (#9800) Although there was a comment in this code about not applying .meteorignore files to the contents of node_modules directories, I'm pretty sure that was the wrong decision, because .meteorignore merely limits what Meteor tries to compile as application code, and does not actually modify or hide node_modules files from other parts of Meteor (or Node). In other words, there's no harm in letting .meteorignore apply to node_modules, and there may be a LOT of benefit, because it allows the developer to fight back when compilation descends unexpectedly into an npm package that contains non-.js[on] files for which a compiler plugin has been registered, an obscure but not uncommon behavior originally intended to allow importing CSS assets from npm packages: * https://github.com/meteor/meteor/issues/6037 * https://github.com/meteor/meteor/commit/43659ff561f5b9edcc0bd401b72923422c5d637b * https://github.com/meteor/meteor/commit/a073280e3f769886d6e3022f976b11e97b8f0142 * https://github.com/meteor/meteor/issues/5242 * https://github.com/meteor/meteor/issues/6846 * https://github.com/meteor/meteor/issues/7406 However, we now have a much more powerful tool for selectively compiling specific npm packages: #9771. In light of this new approach, we should probably remove the promiscuous node_modules compilation behavior altogether, as it might speed up rebuild times for many applications whose developers don't know or care that this behavior exists. For example, abandoning this behavior would prevent the problem reported here: https://github.com/meteor/meteor/issues/6950 In the meantime, this commit makes .meteorignore work for node_modules. --- tools/isobuild/package-source.js | 68 ++++++++++++++++---------------- 1 file changed, 34 insertions(+), 34 deletions(-) diff --git a/tools/isobuild/package-source.js b/tools/isobuild/package-source.js index c092eb3e77..18a39c3322 100644 --- a/tools/isobuild/package-source.js +++ b/tools/isobuild/package-source.js @@ -1075,7 +1075,7 @@ _.extend(PackageSource.prototype, { // complete list of source files for directories within node_modules. _findSourcesCache: Object.create(null), - _findSources({ + _findSources: Profile("PackageSource#_findSources", function ({ sourceProcessorSet, watchSet, isApp, @@ -1160,6 +1160,34 @@ _.extend(PackageSource.prototype, { const dotMeteorIgnoreFiles = Object.create(null); + function removeIgnoredFilesFrom(array) { + Object.keys(dotMeteorIgnoreFiles).forEach(ignoreDir => { + const ignore = dotMeteorIgnoreFiles[ignoreDir]; + let target = 0; + + array.forEach(item => { + let relPath = files.pathRelative(ignoreDir, item); + + if (! relPath.startsWith("..")) { + if (item.endsWith("/")) { + // The trailing slash is discarded by files.pathRelative. + relPath += "/"; + } + + if (ignore.ignores(relPath)) { + return; + } + } + + array[target++] = item; + }); + + array.length = target; + }); + + return array; + } + function find(dir, depth, inNodeModules) { // Remove trailing slash. dir = dir.replace(/\/$/, ""); @@ -1201,35 +1229,8 @@ _.extend(PackageSource.prototype, { : topLevelExcludes }); - Object.keys(dotMeteorIgnoreFiles).forEach(ignoreDir => { - const ignore = dotMeteorIgnoreFiles[ignoreDir]; - - function removeIgnoredFilesFrom(array) { - let target = 0; - - array.forEach(item => { - let relPath = files.pathRelative(ignoreDir, item); - - if (! relPath.startsWith("..")) { - if (item.endsWith("/")) { - // The trailing slash is discarded by files.pathRelative. - relPath += "/"; - } - - if (ignore.ignores(relPath)) { - return; - } - } - - array[target++] = item; - }); - - array.length = target; - } - - removeIgnoredFilesFrom(sources); - removeIgnoredFilesFrom(subdirectories); - }); + removeIgnoredFilesFrom(sources); + removeIgnoredFilesFrom(subdirectories); let nodeModulesDir; @@ -1251,9 +1252,6 @@ _.extend(PackageSource.prototype, { } }); - // Don't apply any .meteorignore rules to files inside node_modules. - delete dotMeteorIgnoreFiles[dir]; - if (isApp && nodeModulesDir && (! inNodeModules || sources.length > 0)) { @@ -1267,6 +1265,8 @@ _.extend(PackageSource.prototype, { sources.push(...find(nodeModulesDir, depth + 1, true)); } + delete dotMeteorIgnoreFiles[dir]; + if (cacheKey) { self._findSourcesCache[cacheKey] = sources; } @@ -1275,7 +1275,7 @@ _.extend(PackageSource.prototype, { } return files.withCache(() => find("", 0, false)); - }, + }), _findAssets({ sourceProcessorSet, From b534f92c80962be6082221b179029c83c614cd6c Mon Sep 17 00:00:00 2001 From: Ben Newman Date: Thu, 5 Apr 2018 20:11:38 -0400 Subject: [PATCH 0738/1355] Relax jquery constraints in test-{in-browser,helpers} packages. Since jquery used to be a core package, and the most recent Meteor release (1.6.1.1) imposed the ~1.11.11 constraint (note the ~), jquery@1.12.1 won't be usable with Meteor 1.6.x until it is republished after the next Meteor release, which will no longer constrain the jquery version, because jquery is no longer a core package (#9607). In order to publish these two packages sooner rather than later, we need to relax their jquery version constraints, because we don't want to publish jquery@1.12.1 yet. The relaxed @1.11.11 constraints in these package.js files will remain compatible with jquery@1.12.1, so this change should be safe for the forseeable future. --- packages/test-helpers/package.js | 2 +- packages/test-in-browser/package.js | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/packages/test-helpers/package.js b/packages/test-helpers/package.js index ec2bf8977d..e8a6f9d03c 100644 --- a/packages/test-helpers/package.js +++ b/packages/test-helpers/package.js @@ -5,7 +5,7 @@ Package.describe({ Package.onUse(function (api) { api.use(['underscore', 'tracker', 'ejson', 'tinytest', 'random', 'blaze']); - api.use(['jquery@1.12.1'], 'client'); + api.use(['jquery@1.11.1'], 'client'); // XXX for connection.js. Not sure this really belongs in // test-helpers. It probably would be better off in livedata. But it's diff --git a/packages/test-in-browser/package.js b/packages/test-in-browser/package.js index a7e4279692..b57015ac3c 100644 --- a/packages/test-in-browser/package.js +++ b/packages/test-in-browser/package.js @@ -14,7 +14,7 @@ Package.onUse(function (api) { api.use('session'); api.use('reload'); - api.use('jquery@1.12.1'); + api.use('jquery@1.11.1'); api.use(['webapp', 'blaze@2.1.8', 'templating@1.2.13', 'spacebars@1.0.12', 'ddp', 'tracker'], 'client'); From e6ba875bccf7b851cb0447ff9b54414ca09cb8aa Mon Sep 17 00:00:00 2001 From: Ben Newman Date: Thu, 5 Apr 2018 20:29:27 -0400 Subject: [PATCH 0739/1355] Bump package versions for 1.6.2-beta.19 release. I made a mistake while publishing 1.6.2-beta.16 that means it's easier to just skip that version. --- packages/babel-compiler/package.js | 2 +- packages/boilerplate-generator-tests/package.js | 2 +- packages/boilerplate-generator/package.js | 2 +- packages/dynamic-import/package.js | 2 +- packages/ecmascript-runtime-client/package.js | 2 +- packages/ecmascript-runtime-server/package.js | 2 +- packages/ecmascript-runtime/package.js | 2 +- packages/ecmascript/package.js | 2 +- packages/es5-shim/package.js | 2 +- packages/meteor-base/package.js | 2 +- packages/meteor-tool/package.js | 2 +- packages/meteor/package.js | 2 +- packages/modern-browsers/package.js | 2 +- packages/modules-runtime/package.js | 2 +- packages/non-core/jquery/package.js | 2 +- packages/promise/package.js | 2 +- packages/socket-stream-client/package.js | 2 +- packages/tracker/package.js | 2 +- packages/webapp/package.js | 2 +- scripts/admin/meteor-release-experimental.json | 2 +- 20 files changed, 20 insertions(+), 20 deletions(-) diff --git a/packages/babel-compiler/package.js b/packages/babel-compiler/package.js index 22dfa2fcbe..7e69d4470e 100644 --- a/packages/babel-compiler/package.js +++ b/packages/babel-compiler/package.js @@ -6,7 +6,7 @@ Package.describe({ // isn't possible because you can't publish a non-recommended // release with package versions that don't have a pre-release // identifier at the end (eg, -dev) - version: '7.1.0-beta162.18' + version: '7.1.0-beta162.19' }); Npm.depends({ diff --git a/packages/boilerplate-generator-tests/package.js b/packages/boilerplate-generator-tests/package.js index 096516ceeb..ab2e252375 100644 --- a/packages/boilerplate-generator-tests/package.js +++ b/packages/boilerplate-generator-tests/package.js @@ -2,7 +2,7 @@ Package.describe({ // These tests are in a separate package so that we can Npm.depend on // parse5, a html parsing library. summary: "Tests for the boilerplate-generator package", - version: '1.5.0-beta162.18', + version: '1.5.0-beta162.19', documentation: null }); diff --git a/packages/boilerplate-generator/package.js b/packages/boilerplate-generator/package.js index 259bce5e42..5ae016343c 100644 --- a/packages/boilerplate-generator/package.js +++ b/packages/boilerplate-generator/package.js @@ -1,6 +1,6 @@ Package.describe({ summary: "Generates the boilerplate html from program's manifest", - version: '1.5.0-beta162.18' + version: '1.5.0-beta162.19' }); Npm.depends({ diff --git a/packages/dynamic-import/package.js b/packages/dynamic-import/package.js index 1a5b7d1fb1..f0e49f62af 100644 --- a/packages/dynamic-import/package.js +++ b/packages/dynamic-import/package.js @@ -1,6 +1,6 @@ Package.describe({ name: "dynamic-import", - version: "0.4.0-beta162.18", + version: "0.4.0-beta162.19", summary: "Runtime support for Meteor 1.5 dynamic import(...) syntax", documentation: "README.md" }); diff --git a/packages/ecmascript-runtime-client/package.js b/packages/ecmascript-runtime-client/package.js index 51556e0f03..9e9d47c053 100644 --- a/packages/ecmascript-runtime-client/package.js +++ b/packages/ecmascript-runtime-client/package.js @@ -1,6 +1,6 @@ Package.describe({ name: "ecmascript-runtime-client", - version: "0.7.0-beta162.18", + version: "0.7.0-beta162.19", summary: "Polyfills for new ECMAScript 2015 APIs like Map and Set", git: "https://github.com/meteor/meteor/tree/devel/packages/ecmascript-runtime-client", documentation: "README.md" diff --git a/packages/ecmascript-runtime-server/package.js b/packages/ecmascript-runtime-server/package.js index c7adf148e5..f060f3bd6d 100644 --- a/packages/ecmascript-runtime-server/package.js +++ b/packages/ecmascript-runtime-server/package.js @@ -1,6 +1,6 @@ Package.describe({ name: "ecmascript-runtime-server", - version: "0.7.0-beta162.18", + version: "0.7.0-beta162.19", summary: "Polyfills for new ECMAScript 2015 APIs like Map and Set", git: "https://github.com/meteor/meteor/tree/devel/packages/ecmascript-runtime-client", documentation: "README.md" diff --git a/packages/ecmascript-runtime/package.js b/packages/ecmascript-runtime/package.js index bb6eb2b88e..9f08acf699 100644 --- a/packages/ecmascript-runtime/package.js +++ b/packages/ecmascript-runtime/package.js @@ -1,6 +1,6 @@ Package.describe({ name: "ecmascript-runtime", - version: "0.7.0-beta162.18", + version: "0.7.0-beta162.19", summary: "Polyfills for new ECMAScript 2015 APIs like Map and Set", git: "https://github.com/meteor/ecmascript-runtime", documentation: "README.md" diff --git a/packages/ecmascript/package.js b/packages/ecmascript/package.js index c2d912a3d8..8845411043 100644 --- a/packages/ecmascript/package.js +++ b/packages/ecmascript/package.js @@ -1,6 +1,6 @@ Package.describe({ name: 'ecmascript', - version: '0.11.0-beta162.18', + version: '0.11.0-beta162.19', summary: 'Compiler plugin that supports ES2015+ in all .js files', documentation: 'README.md' }); diff --git a/packages/es5-shim/package.js b/packages/es5-shim/package.js index f4021aabc5..8d9a49762b 100644 --- a/packages/es5-shim/package.js +++ b/packages/es5-shim/package.js @@ -1,6 +1,6 @@ Package.describe({ name: "es5-shim", - version: "4.8.0-beta162.18", + version: "4.8.0-beta162.19", summary: "Shims and polyfills to improve ECMAScript 5 support", documentation: "README.md" }); diff --git a/packages/meteor-base/package.js b/packages/meteor-base/package.js index 14ca557209..bfa32af07b 100644 --- a/packages/meteor-base/package.js +++ b/packages/meteor-base/package.js @@ -1,6 +1,6 @@ Package.describe({ name: 'meteor-base', - version: '1.4.0-beta162.18', + version: '1.4.0-beta162.19', // Brief, one-line summary of the package. summary: 'Packages that every Meteor app needs', // By default, Meteor will default to using README.md for documentation. diff --git a/packages/meteor-tool/package.js b/packages/meteor-tool/package.js index f37a0a605d..26660d2b3a 100644 --- a/packages/meteor-tool/package.js +++ b/packages/meteor-tool/package.js @@ -1,6 +1,6 @@ Package.describe({ summary: "The Meteor command-line tool", - version: '1.6.2-beta.18' + version: '1.6.2-beta.19' }); Package.includeTool(); diff --git a/packages/meteor/package.js b/packages/meteor/package.js index 28b4aca1d6..e37454dc03 100644 --- a/packages/meteor/package.js +++ b/packages/meteor/package.js @@ -2,7 +2,7 @@ Package.describe({ summary: "Core Meteor environment", - version: '1.9.0-beta162.18' + version: '1.9.0-beta162.19' }); Package.registerBuildPlugin({ diff --git a/packages/modern-browsers/package.js b/packages/modern-browsers/package.js index 5a7d459db2..7b6a5b1c34 100644 --- a/packages/modern-browsers/package.js +++ b/packages/modern-browsers/package.js @@ -1,6 +1,6 @@ Package.describe({ name: "modern-browsers", - version: "0.1.0-beta162.18", + version: "0.1.0-beta162.19", summary: "API for defining the boundary between modern and legacy " + "JavaScript clients", documentation: "README.md" diff --git a/packages/modules-runtime/package.js b/packages/modules-runtime/package.js index a654cf4977..97cfa60ba0 100644 --- a/packages/modules-runtime/package.js +++ b/packages/modules-runtime/package.js @@ -1,6 +1,6 @@ Package.describe({ name: "modules-runtime", - version: "0.10.0-beta162.18", + version: "0.10.0-beta162.19", summary: "CommonJS module system", git: "https://github.com/benjamn/install", documentation: "README.md" diff --git a/packages/non-core/jquery/package.js b/packages/non-core/jquery/package.js index eb7c73db93..cf52c8222b 100644 --- a/packages/non-core/jquery/package.js +++ b/packages/non-core/jquery/package.js @@ -1,7 +1,7 @@ Package.describe({ summary: "Manipulate the DOM using CSS selectors", // This package currently uses jQuery 1.12.1 (due to #9605). - version: '1.12.1-beta162.18' + version: '1.12.1' }); Package.onUse(function (api) { diff --git a/packages/promise/package.js b/packages/promise/package.js index 68990dafd1..6637133935 100644 --- a/packages/promise/package.js +++ b/packages/promise/package.js @@ -1,6 +1,6 @@ Package.describe({ name: "promise", - version: "0.11.0-beta162.18", + version: "0.11.0-beta162.19", summary: "ECMAScript 2015 Promise polyfill with Fiber support", git: "https://github.com/meteor/promise", documentation: "README.md" diff --git a/packages/socket-stream-client/package.js b/packages/socket-stream-client/package.js index ef98dfea92..78b6b2a6b6 100644 --- a/packages/socket-stream-client/package.js +++ b/packages/socket-stream-client/package.js @@ -1,6 +1,6 @@ Package.describe({ name: "socket-stream-client", - version: "0.2.0-beta162.18", + version: "0.2.0-beta162.19", summary: "Provides the ClientStream abstraction used by ddp-client", documentation: "README.md" }); diff --git a/packages/tracker/package.js b/packages/tracker/package.js index 26f52a1e0d..49bf2c8272 100644 --- a/packages/tracker/package.js +++ b/packages/tracker/package.js @@ -1,6 +1,6 @@ Package.describe({ summary: "Dependency tracker to allow reactive callbacks", - version: "1.2.0-beta162.18" + version: "1.2.0-beta162.19" }); Package.onUse(function (api) { diff --git a/packages/webapp/package.js b/packages/webapp/package.js index d4186e3468..edd73c9d5e 100644 --- a/packages/webapp/package.js +++ b/packages/webapp/package.js @@ -1,6 +1,6 @@ Package.describe({ summary: "Serves a Meteor app over HTTP", - version: '1.6.0-beta162.18' + version: '1.6.0-beta162.19' }); Npm.depends({"basic-auth-connect": "1.0.0", diff --git a/scripts/admin/meteor-release-experimental.json b/scripts/admin/meteor-release-experimental.json index 86768630e7..7902aff089 100644 --- a/scripts/admin/meteor-release-experimental.json +++ b/scripts/admin/meteor-release-experimental.json @@ -1,6 +1,6 @@ { "track": "METEOR", - "version": "1.6.2-beta.18", + "version": "1.6.2-beta.19", "recommended": false, "official": false, "description": "Meteor" From c0bce716fc442f3a4d2f208635428fa37812629a Mon Sep 17 00:00:00 2001 From: Christian Klaussner Date: Fri, 6 Apr 2018 16:28:25 +0200 Subject: [PATCH 0740/1355] Update MongoDB driver to 3.0.5 (#9790) * Update MongoDB driver to 3.0.5 * Use `MongoClient` instead of `Db` in Meteor Tool * Update `mongo-livedata` test for new MongoDB driver version * Consider `BulkWriteError` when checking MongoDB errors --- packages/accounts-base/accounts_server.js | 2 +- packages/allow-deny/allow-deny.js | 6 +- packages/mongo/mongo_driver.js | 24 +++--- packages/mongo/mongo_livedata_tests.js | 2 +- .../.npm/package/npm-shrinkwrap.json | 74 +++---------------- packages/npm-mongo/package.js | 2 +- tools/runners/run-mongo.js | 17 +++-- 7 files changed, 45 insertions(+), 82 deletions(-) diff --git a/packages/accounts-base/accounts_server.js b/packages/accounts-base/accounts_server.js index cbe3b68a14..e0a17077b3 100644 --- a/packages/accounts-base/accounts_server.js +++ b/packages/accounts-base/accounts_server.js @@ -1345,7 +1345,7 @@ Ap.insertUserDoc = function (options, user) { } catch (e) { // XXX string parsing sucks, maybe // https://jira.mongodb.org/browse/SERVER-3069 will get fixed one day - if (e.name !== 'MongoError') throw e; + if (e.name !== 'MongoError' && e.name !== 'BulkWriteError') throw e; if (e.code !== 11000) throw e; if (e.errmsg.indexOf('emails.address') !== -1) throw new Meteor.Error(403, "Email already exists."); diff --git a/packages/allow-deny/allow-deny.js b/packages/allow-deny/allow-deny.js index 2bf0aade74..be5483feed 100644 --- a/packages/allow-deny/allow-deny.js +++ b/packages/allow-deny/allow-deny.js @@ -192,7 +192,11 @@ CollectionPrototype._defineMutationMethods = function(options) { throw new Meteor.Error(403, "Access denied"); } } catch (e) { - if (e.name === 'MongoError' || e.name === 'MinimongoError') { + if ( + e.name === 'MongoError' || + e.name === 'BulkWriteError' || + e.name === 'MinimongoError' + ) { throw new Meteor.Error(409, e.toString()); } else { throw e; diff --git a/packages/mongo/mongo_driver.js b/packages/mongo/mongo_driver.js index 73f96fee20..8baeb43db4 100644 --- a/packages/mongo/mongo_driver.js +++ b/packages/mongo/mongo_driver.js @@ -170,11 +170,15 @@ MongoConnection = function (url, options) { url, mongoOptions, Meteor.bindEnvironment( - function (err, db) { + function (err, client) { if (err) { throw err; } + // Use the internal `s` object to get the database name from the + // connection URL (parsed by the driver). + var db = client.db(client.s.options.dbName); + // First, figure out what the current primary is, if any. if (db.serverConfig.isMasterDoc) { self._primary = db.serverConfig.isMasterDoc.primary; @@ -201,14 +205,15 @@ MongoConnection = function (url, options) { })); // Allow the constructor to return. - connectFuture['return'](db); + connectFuture['return']({ client, db }); }, connectFuture.resolver() // onException ) ); - // Wait for the connection to be successful; throws on failure. - self.db = connectFuture.wait(); + // Wait for the connection to be successful (throws on failure) and assign the + // results (`client` and `db`) to `self`. + Object.assign(self, connectFuture.wait()); if (options.oplogUrl && ! Package['disable-oplog']) { self._oplogHandle = new OplogHandle(options.oplogUrl, self.db.databaseName); @@ -231,7 +236,7 @@ MongoConnection.prototype.close = function() { // Use Future.wrap so that errors get thrown. This happens to // work even outside a fiber since the 'close' method is not // actually asynchronous. - Future.wrap(_.bind(self.db.close, self.db))(true).wait(); + Future.wrap(_.bind(self.client.close, self.client))(true).wait(); }; // Returns the Mongo Collection object; may yield. @@ -947,7 +952,8 @@ MongoConnection.prototype._createSynchronousCursor = function( var mongoOptions = { sort: cursorOptions.sort, limit: cursorOptions.limit, - skip: cursorOptions.skip + skip: cursorOptions.skip, + projection: cursorOptions.fields }; // Do we want a tailable cursor (which only works on capped collections)? @@ -973,7 +979,7 @@ MongoConnection.prototype._createSynchronousCursor = function( var dbCursor = collection.find( replaceTypes(cursorDescription.selector, replaceMeteorAtomWithMongo), - cursorOptions.fields, mongoOptions); + mongoOptions); if (typeof cursorOptions.maxTimeMs !== 'undefined') { dbCursor = dbCursor.maxTimeMS(cursorOptions.maxTimeMs); @@ -1001,11 +1007,11 @@ var SynchronousCursor = function (dbCursor, cursorDescription, options) { self._transform = null; } - // Need to specify that the callback is the first argument to nextObject, + // Need to specify that the callback is the first argument to `next`, // since otherwise when we try to call it with no args the driver will // interpret "undefined" first arg as an options hash and crash. self._synchronousNextObject = Future.wrap( - dbCursor.nextObject.bind(dbCursor), 0); + dbCursor.next.bind(dbCursor), 0); self._synchronousCount = Future.wrap(dbCursor.count.bind(dbCursor)); self._visitedIds = new LocalCollection._IdMap; }; diff --git a/packages/mongo/mongo_livedata_tests.js b/packages/mongo/mongo_livedata_tests.js index d012722b79..949521e03b 100644 --- a/packages/mongo/mongo_livedata_tests.js +++ b/packages/mongo/mongo_livedata_tests.js @@ -3234,7 +3234,7 @@ Meteor.isServer && Tinytest.add( Meteor.isServer && Tinytest.add("mongo-livedata - npm modules", function (test) { // Make sure the version number looks like a version number. - test.matches(MongoInternals.NpmModules.mongodb.version, /^2\.(\d+)\.(\d+)/); + test.matches(MongoInternals.NpmModules.mongodb.version, /^3\.(\d+)\.(\d+)/); test.equal(typeof(MongoInternals.NpmModules.mongodb.module), 'function'); test.equal(typeof(MongoInternals.NpmModules.mongodb.module.connect), 'function'); diff --git a/packages/npm-mongo/.npm/package/npm-shrinkwrap.json b/packages/npm-mongo/.npm/package/npm-shrinkwrap.json index d6e057fd05..de60876866 100644 --- a/packages/npm-mongo/.npm/package/npm-shrinkwrap.json +++ b/packages/npm-mongo/.npm/package/npm-shrinkwrap.json @@ -2,54 +2,19 @@ "lockfileVersion": 1, "dependencies": { "bson": { - "version": "1.0.4", - "resolved": "https://registry.npmjs.org/bson/-/bson-1.0.4.tgz", - "integrity": "sha1-k8ENOeqltYQVy8QFLz5T5WKwtyw=" - }, - "buffer-shims": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/buffer-shims/-/buffer-shims-1.0.0.tgz", - "integrity": "sha1-mXjOMXOIxkmth5MCjDR37wRKi1E=" - }, - "core-util-is": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/core-util-is/-/core-util-is-1.0.2.tgz", - "integrity": "sha1-tf1UIgqivFq1eqtxQMlAdUUDwac=" - }, - "es6-promise": { - "version": "3.2.1", - "resolved": "https://registry.npmjs.org/es6-promise/-/es6-promise-3.2.1.tgz", - "integrity": "sha1-7FYjOGgDKQkgcXDDlEjiREndH8Q=" - }, - "inherits": { - "version": "2.0.3", - "resolved": "https://registry.npmjs.org/inherits/-/inherits-2.0.3.tgz", - "integrity": "sha1-Yzwsg+PaQqUC9SRmAiSA9CCCYd4=" - }, - "isarray": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/isarray/-/isarray-1.0.0.tgz", - "integrity": "sha1-u5NdSFgsuhaMBoNJV6VKPgcSTxE=" + "version": "1.0.6", + "resolved": "https://registry.npmjs.org/bson/-/bson-1.0.6.tgz", + "integrity": "sha512-D8zmlb46xfuK2gGvKmUjIklQEouN2nQ0LEHHeZ/NoHM2LDiMk2EYzZ5Ntw/Urk+bgMDosOZxaRzXxvhI5TcAVQ==" }, "mongodb": { - "version": "2.2.34", - "resolved": "https://registry.npmjs.org/mongodb/-/mongodb-2.2.34.tgz", - "integrity": "sha1-o09Zu+thdUrsQy3nLD/iFSakTBo=" + "version": "3.0.5", + "resolved": "https://registry.npmjs.org/mongodb/-/mongodb-3.0.5.tgz", + "integrity": "sha512-8ioTyyc8tkNwZCTDa1FPWvmpJFfvE484DnugC8KpVrw4AKAE03OOAlORl2yYTNtz3TX4Ab7FRo00vzgexB/67A==" }, "mongodb-core": { - "version": "2.1.18", - "resolved": "https://registry.npmjs.org/mongodb-core/-/mongodb-core-2.1.18.tgz", - "integrity": "sha1-TEYTm986HwMt7ZHbSfOO7AFlkFA=" - }, - "process-nextick-args": { - "version": "1.0.7", - "resolved": "https://registry.npmjs.org/process-nextick-args/-/process-nextick-args-1.0.7.tgz", - "integrity": "sha1-FQ4gt1ZZCtP5EJPyWk8q2L/zC6M=" - }, - "readable-stream": { - "version": "2.2.7", - "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-2.2.7.tgz", - "integrity": "sha1-BwV6y+JGeyIELTb5jFrVBwVOlbE=" + "version": "3.0.5", + "resolved": "https://registry.npmjs.org/mongodb-core/-/mongodb-core-3.0.5.tgz", + "integrity": "sha512-4A1nx/xAU5d/NPICjiyzVxzNrIdJQQsYRe3xQkV1O638t+fHHfAOLK+SQagqGnu1m0aeSxb1ixp/P0FGSQWIGA==" }, "require_optional": { "version": "1.0.1", @@ -61,25 +26,10 @@ "resolved": "https://registry.npmjs.org/resolve-from/-/resolve-from-2.0.0.tgz", "integrity": "sha1-lICrIOlP+h2egKgEx+oUdhGWa1c=" }, - "safe-buffer": { - "version": "5.1.1", - "resolved": "https://registry.npmjs.org/safe-buffer/-/safe-buffer-5.1.1.tgz", - "integrity": "sha512-kKvNJn6Mm93gAczWVJg7wH+wGYWNrDHdWvpUmHyEsgCtIwwo3bqPtV4tR5tuPaUhTOo/kvhVwd8XwwOllGYkbg==" - }, "semver": { - "version": "5.4.1", - "resolved": "https://registry.npmjs.org/semver/-/semver-5.4.1.tgz", - "integrity": "sha512-WfG/X9+oATh81XtllIo/I8gOiY9EXRdv1cQdyykeXK17YcUW3EXUAi2To4pcH6nZtJPr7ZOpM5OMyWJZm+8Rsg==" - }, - "string_decoder": { - "version": "1.0.3", - "resolved": "https://registry.npmjs.org/string_decoder/-/string_decoder-1.0.3.tgz", - "integrity": "sha512-4AH6Z5fzNNBcH+6XDMfA/BTt87skxqJlO0lAh3Dker5zThcAxG6mKz+iGu308UKoPPQ8Dcqx/4JhujzltRa+hQ==" - }, - "util-deprecate": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/util-deprecate/-/util-deprecate-1.0.2.tgz", - "integrity": "sha1-RQ1Nyfpw3nMnYvvS1KKJgUGaDM8=" + "version": "5.5.0", + "resolved": "https://registry.npmjs.org/semver/-/semver-5.5.0.tgz", + "integrity": "sha512-4SJ3dm0WAwWy/NVeioZh5AntkdJoWKxHxcmyP622fOkgHa4z3R0TdBJICINyaSDE6uNwVc8gZr+ZinwZAH4xIA==" } } } diff --git a/packages/npm-mongo/package.js b/packages/npm-mongo/package.js index ee92ce7445..c45a8ae854 100644 --- a/packages/npm-mongo/package.js +++ b/packages/npm-mongo/package.js @@ -8,7 +8,7 @@ Package.describe({ }); Npm.depends({ - mongodb: "2.2.34" + mongodb: "3.0.5" }); Package.onUse(function (api) { diff --git a/tools/runners/run-mongo.js b/tools/runners/run-mongo.js index 265277ed70..9f888c858c 100644 --- a/tools/runners/run-mongo.js +++ b/tools/runners/run-mongo.js @@ -585,21 +585,24 @@ var launchMongo = function (options) { var initiateReplSetAndWaitForReady = function () { try { // Load mongo so we'll be able to talk to it. - const { Db, Server } = loadIsopackage('npm-mongo').NpmModuleMongodb; + const { + MongoClient, + Server + } = loadIsopackage('npm-mongo').NpmModuleMongodb; // Connect to the intended primary and start a replset. - var db = new Db( - 'meteor', + const client = new MongoClient( new Server('127.0.0.1', options.port, { poolSize: 1, socketOptions: { connectTimeoutMS: 60000 } - }), - { safe: true } + }) ); - yieldingMethod(db, 'open'); + yieldingMethod(client, 'connect'); + const db = client.db('meteor'); + if (stopped) { return; } @@ -711,7 +714,7 @@ var launchMongo = function (options) { break; } - db.close(true /* means "the app is closing the connection" */); + client.close(true /* means "the app is closing the connection" */); } catch (e) { // If the process has exited, we're doing another form of error // handling. No need to throw random low-level errors farther. From e1614c0e472142df61e4f1cfde9729440d4de1f3 Mon Sep 17 00:00:00 2001 From: Ben Newman Date: Fri, 6 Apr 2018 10:35:21 -0400 Subject: [PATCH 0741/1355] Mention mongodb driver 3.0.5 upgrade in History.md. --- History.md | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/History.md b/History.md index a032123b9b..f26a36e60a 100644 --- a/History.md +++ b/History.md @@ -132,6 +132,10 @@ ``` [PR #9632](https://github.com/meteor/meteor/pull/9632) +* The `mongodb` driver package has been updated from version 2.2.34 to + version 3.0.5. [PR #9790](https://github.com/meteor/meteor/pull/9790) + [Feature #268](https://github.com/meteor/meteor-feature-requests/issues/268) + * The `cordova-plugin-meteor-webapp` package depended on by the Meteor `webapp` package has been updated to version 1.6.0. [PR #9761](https://github.com/meteor/meteor/pull/9761) From 3d025520c15a73b183670b97f1926d62f70a7670 Mon Sep 17 00:00:00 2001 From: Ben Newman Date: Fri, 6 Apr 2018 10:51:58 -0400 Subject: [PATCH 0742/1355] Provide more detailed profiling of _buildLocalPackages. (#9802) https://github.com/meteor/meteor-feature-requests/issues/283 The ProjectContext#_buildLocalPackages method calls IsopackCache#buildLocalPackages which calls _ensurePackageLoaded for each local package, so this commit exposes how long each of those _ensurePackageLoaded calls takes (when METEOR_PROFILE is enabled). --- tools/isobuild/isopack-cache.js | 11 +++++++++++ 1 file changed, 11 insertions(+) diff --git a/tools/isobuild/isopack-cache.js b/tools/isobuild/isopack-cache.js index b6952151e7..f5be165a82 100644 --- a/tools/isobuild/isopack-cache.js +++ b/tools/isobuild/isopack-cache.js @@ -539,3 +539,14 @@ export class IsopackCache { return messages; } } + +const ICp = IsopackCache.prototype; +[ // Include any methods here that need profiling and take a package name + // string as their first argument. + "_ensurePackageLoaded", +].forEach(method => { + ICp[method] = Profile( + packageName => method + "(" + packageName + ")", + ICp[method], + ); +}); From bd26ce3d1e50f37fa4228923f7c11b164fedc0fb Mon Sep 17 00:00:00 2001 From: Ben Newman Date: Fri, 6 Apr 2018 10:59:18 -0400 Subject: [PATCH 0743/1355] Make sure ImportScanner#_realPath always returns a string. --- tools/isobuild/import-scanner.js | 8 +++++++- 1 file changed, 7 insertions(+), 1 deletion(-) diff --git a/tools/isobuild/import-scanner.js b/tools/isobuild/import-scanner.js index b1163a8fda..4e825eb676 100644 --- a/tools/isobuild/import-scanner.js +++ b/tools/isobuild/import-scanner.js @@ -343,7 +343,13 @@ export default class ImportScanner { if (foundSymbolicLink) { // Call the actual realpathOrNull function only if there were any // symlinks involved in the relative path within this.sourceRoot. - return this.realPathCache[absPath] = realpathOrNull(absPath); + const realPath = realpathOrNull(absPath); + if (! realPath) { + // If we couldn't resolve the real path, fall back to the given + // absPath, and avoid caching. + return absPath; + } + return this.realPathCache[absPath] = realPath; } return this.realPathCache[absPath] = absPath; From af7f3d7ede4c8f6013fc03752ee125fb9e3a7eec Mon Sep 17 00:00:00 2001 From: Ben Newman Date: Fri, 6 Apr 2018 11:10:18 -0400 Subject: [PATCH 0744/1355] Bump package versions for 1.6.2-beta.20 release. I made a mistake while publishing 1.6.2-beta.16 that means it's easier to just skip that version. --- packages/babel-compiler/package.js | 2 +- packages/boilerplate-generator-tests/package.js | 2 +- packages/boilerplate-generator/package.js | 2 +- packages/dynamic-import/package.js | 2 +- packages/ecmascript-runtime-client/package.js | 2 +- packages/ecmascript-runtime-server/package.js | 2 +- packages/ecmascript-runtime/package.js | 2 +- packages/ecmascript/package.js | 2 +- packages/es5-shim/package.js | 2 +- packages/meteor-base/package.js | 2 +- packages/meteor-tool/package.js | 2 +- packages/meteor/package.js | 2 +- packages/modern-browsers/package.js | 2 +- packages/modules-runtime/package.js | 2 +- packages/promise/package.js | 2 +- packages/socket-stream-client/package.js | 2 +- packages/tracker/package.js | 2 +- packages/webapp/package.js | 2 +- scripts/admin/meteor-release-experimental.json | 2 +- 19 files changed, 19 insertions(+), 19 deletions(-) diff --git a/packages/babel-compiler/package.js b/packages/babel-compiler/package.js index 7e69d4470e..97206217fe 100644 --- a/packages/babel-compiler/package.js +++ b/packages/babel-compiler/package.js @@ -6,7 +6,7 @@ Package.describe({ // isn't possible because you can't publish a non-recommended // release with package versions that don't have a pre-release // identifier at the end (eg, -dev) - version: '7.1.0-beta162.19' + version: '7.1.0-beta162.20' }); Npm.depends({ diff --git a/packages/boilerplate-generator-tests/package.js b/packages/boilerplate-generator-tests/package.js index ab2e252375..d5581e1a7a 100644 --- a/packages/boilerplate-generator-tests/package.js +++ b/packages/boilerplate-generator-tests/package.js @@ -2,7 +2,7 @@ Package.describe({ // These tests are in a separate package so that we can Npm.depend on // parse5, a html parsing library. summary: "Tests for the boilerplate-generator package", - version: '1.5.0-beta162.19', + version: '1.5.0-beta162.20', documentation: null }); diff --git a/packages/boilerplate-generator/package.js b/packages/boilerplate-generator/package.js index 5ae016343c..d3cda04ac0 100644 --- a/packages/boilerplate-generator/package.js +++ b/packages/boilerplate-generator/package.js @@ -1,6 +1,6 @@ Package.describe({ summary: "Generates the boilerplate html from program's manifest", - version: '1.5.0-beta162.19' + version: '1.5.0-beta162.20' }); Npm.depends({ diff --git a/packages/dynamic-import/package.js b/packages/dynamic-import/package.js index f0e49f62af..113925996f 100644 --- a/packages/dynamic-import/package.js +++ b/packages/dynamic-import/package.js @@ -1,6 +1,6 @@ Package.describe({ name: "dynamic-import", - version: "0.4.0-beta162.19", + version: "0.4.0-beta162.20", summary: "Runtime support for Meteor 1.5 dynamic import(...) syntax", documentation: "README.md" }); diff --git a/packages/ecmascript-runtime-client/package.js b/packages/ecmascript-runtime-client/package.js index 9e9d47c053..64b3c4bae9 100644 --- a/packages/ecmascript-runtime-client/package.js +++ b/packages/ecmascript-runtime-client/package.js @@ -1,6 +1,6 @@ Package.describe({ name: "ecmascript-runtime-client", - version: "0.7.0-beta162.19", + version: "0.7.0-beta162.20", summary: "Polyfills for new ECMAScript 2015 APIs like Map and Set", git: "https://github.com/meteor/meteor/tree/devel/packages/ecmascript-runtime-client", documentation: "README.md" diff --git a/packages/ecmascript-runtime-server/package.js b/packages/ecmascript-runtime-server/package.js index f060f3bd6d..e46acfc7d0 100644 --- a/packages/ecmascript-runtime-server/package.js +++ b/packages/ecmascript-runtime-server/package.js @@ -1,6 +1,6 @@ Package.describe({ name: "ecmascript-runtime-server", - version: "0.7.0-beta162.19", + version: "0.7.0-beta162.20", summary: "Polyfills for new ECMAScript 2015 APIs like Map and Set", git: "https://github.com/meteor/meteor/tree/devel/packages/ecmascript-runtime-client", documentation: "README.md" diff --git a/packages/ecmascript-runtime/package.js b/packages/ecmascript-runtime/package.js index 9f08acf699..376a354cde 100644 --- a/packages/ecmascript-runtime/package.js +++ b/packages/ecmascript-runtime/package.js @@ -1,6 +1,6 @@ Package.describe({ name: "ecmascript-runtime", - version: "0.7.0-beta162.19", + version: "0.7.0-beta162.20", summary: "Polyfills for new ECMAScript 2015 APIs like Map and Set", git: "https://github.com/meteor/ecmascript-runtime", documentation: "README.md" diff --git a/packages/ecmascript/package.js b/packages/ecmascript/package.js index 8845411043..fc50ad5716 100644 --- a/packages/ecmascript/package.js +++ b/packages/ecmascript/package.js @@ -1,6 +1,6 @@ Package.describe({ name: 'ecmascript', - version: '0.11.0-beta162.19', + version: '0.11.0-beta162.20', summary: 'Compiler plugin that supports ES2015+ in all .js files', documentation: 'README.md' }); diff --git a/packages/es5-shim/package.js b/packages/es5-shim/package.js index 8d9a49762b..4a7db0f01a 100644 --- a/packages/es5-shim/package.js +++ b/packages/es5-shim/package.js @@ -1,6 +1,6 @@ Package.describe({ name: "es5-shim", - version: "4.8.0-beta162.19", + version: "4.8.0-beta162.20", summary: "Shims and polyfills to improve ECMAScript 5 support", documentation: "README.md" }); diff --git a/packages/meteor-base/package.js b/packages/meteor-base/package.js index bfa32af07b..32776648dc 100644 --- a/packages/meteor-base/package.js +++ b/packages/meteor-base/package.js @@ -1,6 +1,6 @@ Package.describe({ name: 'meteor-base', - version: '1.4.0-beta162.19', + version: '1.4.0-beta162.20', // Brief, one-line summary of the package. summary: 'Packages that every Meteor app needs', // By default, Meteor will default to using README.md for documentation. diff --git a/packages/meteor-tool/package.js b/packages/meteor-tool/package.js index 26660d2b3a..c8c5fff679 100644 --- a/packages/meteor-tool/package.js +++ b/packages/meteor-tool/package.js @@ -1,6 +1,6 @@ Package.describe({ summary: "The Meteor command-line tool", - version: '1.6.2-beta.19' + version: '1.6.2-beta.20' }); Package.includeTool(); diff --git a/packages/meteor/package.js b/packages/meteor/package.js index e37454dc03..b5b70c503f 100644 --- a/packages/meteor/package.js +++ b/packages/meteor/package.js @@ -2,7 +2,7 @@ Package.describe({ summary: "Core Meteor environment", - version: '1.9.0-beta162.19' + version: '1.9.0-beta162.20' }); Package.registerBuildPlugin({ diff --git a/packages/modern-browsers/package.js b/packages/modern-browsers/package.js index 7b6a5b1c34..a6cce06e7f 100644 --- a/packages/modern-browsers/package.js +++ b/packages/modern-browsers/package.js @@ -1,6 +1,6 @@ Package.describe({ name: "modern-browsers", - version: "0.1.0-beta162.19", + version: "0.1.0-beta162.20", summary: "API for defining the boundary between modern and legacy " + "JavaScript clients", documentation: "README.md" diff --git a/packages/modules-runtime/package.js b/packages/modules-runtime/package.js index 97cfa60ba0..3ef72619d8 100644 --- a/packages/modules-runtime/package.js +++ b/packages/modules-runtime/package.js @@ -1,6 +1,6 @@ Package.describe({ name: "modules-runtime", - version: "0.10.0-beta162.19", + version: "0.10.0-beta162.20", summary: "CommonJS module system", git: "https://github.com/benjamn/install", documentation: "README.md" diff --git a/packages/promise/package.js b/packages/promise/package.js index 6637133935..71abb09e37 100644 --- a/packages/promise/package.js +++ b/packages/promise/package.js @@ -1,6 +1,6 @@ Package.describe({ name: "promise", - version: "0.11.0-beta162.19", + version: "0.11.0-beta162.20", summary: "ECMAScript 2015 Promise polyfill with Fiber support", git: "https://github.com/meteor/promise", documentation: "README.md" diff --git a/packages/socket-stream-client/package.js b/packages/socket-stream-client/package.js index 78b6b2a6b6..62346c2e7d 100644 --- a/packages/socket-stream-client/package.js +++ b/packages/socket-stream-client/package.js @@ -1,6 +1,6 @@ Package.describe({ name: "socket-stream-client", - version: "0.2.0-beta162.19", + version: "0.2.0-beta162.20", summary: "Provides the ClientStream abstraction used by ddp-client", documentation: "README.md" }); diff --git a/packages/tracker/package.js b/packages/tracker/package.js index 49bf2c8272..07f1fda579 100644 --- a/packages/tracker/package.js +++ b/packages/tracker/package.js @@ -1,6 +1,6 @@ Package.describe({ summary: "Dependency tracker to allow reactive callbacks", - version: "1.2.0-beta162.19" + version: "1.2.0-beta162.20" }); Package.onUse(function (api) { diff --git a/packages/webapp/package.js b/packages/webapp/package.js index edd73c9d5e..02a08f69ac 100644 --- a/packages/webapp/package.js +++ b/packages/webapp/package.js @@ -1,6 +1,6 @@ Package.describe({ summary: "Serves a Meteor app over HTTP", - version: '1.6.0-beta162.19' + version: '1.6.0-beta162.20' }); Npm.depends({"basic-auth-connect": "1.0.0", diff --git a/scripts/admin/meteor-release-experimental.json b/scripts/admin/meteor-release-experimental.json index 7902aff089..687e29eb11 100644 --- a/scripts/admin/meteor-release-experimental.json +++ b/scripts/admin/meteor-release-experimental.json @@ -1,6 +1,6 @@ { "track": "METEOR", - "version": "1.6.2-beta.19", + "version": "1.6.2-beta.20", "recommended": false, "official": false, "description": "Meteor" From 1c1020b6b2bc2d39d4cfee254960b819938bcf8f Mon Sep 17 00:00:00 2001 From: Ben Newman Date: Fri, 6 Apr 2018 12:25:29 -0400 Subject: [PATCH 0745/1355] Remove the --max-old-space-size option to node.exe in meteor.bat. If the max size is too large (at least on windows_x86), the process silently exits without doing anything, which is arguably worse than just using the default max space (i.e., not passing the option). --- meteor.bat | 1 - 1 file changed, 1 deletion(-) diff --git a/meteor.bat b/meteor.bat index 58d06ee803..6ea71fbe56 100644 --- a/meteor.bat +++ b/meteor.bat @@ -47,7 +47,6 @@ SET NODE_PATH=%~dp0\dev_bundle\lib\node_modules SET BABEL_CACHE_DIR=%~dp0\.babel-cache "%~dp0\dev_bundle\bin\node.exe" ^ - --max-old-space-size=4096 ^ %TOOL_NODE_FLAGS% ^ "%~dp0\tools\index.js" %* From af72bcf30d719829973cb3fcbd815eb7cf8422e6 Mon Sep 17 00:00:00 2001 From: pravdomil Date: Wed, 11 Apr 2018 12:24:23 +0200 Subject: [PATCH 0746/1355] finetune error messages --- packages/http/httpcall_client.js | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/packages/http/httpcall_client.js b/packages/http/httpcall_client.js index 788c331d4a..aa1d225602 100644 --- a/packages/http/httpcall_client.js +++ b/packages/http/httpcall_client.js @@ -66,7 +66,7 @@ HTTP.call = function(method, url, options, callback) { if (options.auth) { var colonLoc = options.auth.indexOf(':'); if (colonLoc < 0) - throw new Error('auth option should be of the form "username:password"'); + throw new Error('Option auth should be of the form "username:password"'); username = options.auth.substring(0, colonLoc); password = options.auth.substring(colonLoc+1); } @@ -136,10 +136,10 @@ HTTP.call = function(method, url, options, callback) { Meteor.clearTimeout(timer); if (timed_out) { - callback(new Error("timeout")); + callback(new Error("Connection timeout")); } else if (! xhr.status) { // no HTTP response - callback(new Error("network")); + callback(new Error("Connection lost")); } else { var response = {}; From a7385f443ec277eb1d9f187b1d21c3d6bf473758 Mon Sep 17 00:00:00 2001 From: Toine van Kampen Date: Sat, 14 Apr 2018 12:47:28 +1000 Subject: [PATCH 0747/1355] Update Travis Add stable version of chrome --- .travis.yml | 1 + 1 file changed, 1 insertion(+) diff --git a/.travis.yml b/.travis.yml index e943bf20c2..3c50c6ae28 100644 --- a/.travis.yml +++ b/.travis.yml @@ -11,6 +11,7 @@ env: - CXX=g++-4.8 addons: apt: + chrome: stable sources: - ubuntu-toolchain-r-test packages: From ee47ff56d87a9ea647e29e9354af9b793371a02b Mon Sep 17 00:00:00 2001 From: Toine van Kampen Date: Sat, 14 Apr 2018 12:47:53 +1000 Subject: [PATCH 0748/1355] Update CircleCi Add config to ensure Chrome runs correctly --- .circleci/config.yml | 10 ++++++++++ 1 file changed, 10 insertions(+) diff --git a/.circleci/config.yml b/.circleci/config.yml index a8557a817c..294eadb38d 100644 --- a/.circleci/config.yml +++ b/.circleci/config.yml @@ -13,6 +13,16 @@ run_env_change: &run_env_change echo "en_US.UTF-8 UTF-8" | sudo tee /etc/locale.gen sudo locale-gen + # The official node image built on Debian OS lacks some dependencies, + # so if you want to run Puppeteer on Docker based CI services + # (e.g. CircleCI 2.x or Wercker CI) they need to be installed manually. + # https://github.com/GoogleChrome/puppeteer/blob/master/docs/troubleshooting.md#chrome-headless-doesnt-launch + sudo apt-get install -yq gconf-service libasound2 libatk1.0-0 libc6 libcairo2 libcups2 libdbus-1-3 \ + libexpat1 libfontconfig1 libgcc1 libgconf-2-4 libgdk-pixbuf2.0-0 libglib2.0-0 libgtk-3-0 libnspr4 \ + libpango-1.0-0 libpangocairo-1.0-0 libstdc++6 libx11-6 libx11-xcb1 libxcb1 libxcomposite1 \ + libxcursor1 libxdamage1 libxext6 libxfixes3 libxi6 libxrandr2 libxrender1 libxss1 libxtst6 \ + ca-certificates fonts-liberation libappindicator1 libnss3 lsb-release xdg-utils wget + # The commands below don't work in Docker images, but might be worth # reenabling if we switch back to machine:true instead of Docker. From d2eabd74bcfd85add9b8c52d7593cf56a1498d85 Mon Sep 17 00:00:00 2001 From: Toine van Kampen Date: Sat, 14 Apr 2018 12:58:36 +1000 Subject: [PATCH 0749/1355] Initial Config for Puppeteer Base config for puppeteer and replace PhantomJS --- tools/tool-testing/clients/phantom/index.js | 68 ------------------- tools/tool-testing/clients/puppeteer/index.js | 43 ++++++++++++ tools/tool-testing/sandbox.js | 6 +- 3 files changed, 46 insertions(+), 71 deletions(-) delete mode 100644 tools/tool-testing/clients/phantom/index.js create mode 100644 tools/tool-testing/clients/puppeteer/index.js diff --git a/tools/tool-testing/clients/phantom/index.js b/tools/tool-testing/clients/phantom/index.js deleted file mode 100644 index 817ff23cc1..0000000000 --- a/tools/tool-testing/clients/phantom/index.js +++ /dev/null @@ -1,68 +0,0 @@ -import { execFile } from 'child_process'; -import Client from '../../client.js'; -import { enterJob } from '../../../utils/buildmessage.js'; -import { ensureDependencies } from '../../../cli/dev-bundle-helpers.js'; -import { - convertToOSPath, - pathJoin, - getCurrentToolsDir, -} from '../../../fs/files.js'; - -const NPM_DEPENDENCIES = { - 'phantomjs-prebuilt': '2.1.14', -}; - -export default class PhantomClient extends Client { - constructor(options) { - super(options); - - enterJob({ - title: 'Installing PhantomJS in Meteor tool', - }, () => { - ensureDependencies(NPM_DEPENDENCIES); - }); - - this.npmPackageExports = require("phantomjs-prebuilt"); - - this.name = "phantomjs"; - this.process = null; - - this._logError = true; - } - - connect() { - const phantomPath = this.npmPackageExports.path; - const scriptPath = pathJoin(getCurrentToolsDir(), "tools", - "tool-testing", "phantom", "open-url.js"); - this.process = execFile( - phantomPath, - [ - "--load-images=no", - convertToOSPath(scriptPath), this.url - ], - {}, - (error, stdout, stderr) => { - if (this._logError && error) { - console.log( - "PhantomJS exited with error ", error, - "\nstdout:\n", stdout, - "\nstderr:\n", stderr - ); - } else if (stderr) { - console.log("PhantomJS stderr:\n", stderr); - } - } - ); - } - - stop() { - // Suppress the expected SIGTERM exit 'failure' - this._logError = false; - this.process && this.process.kill(); - this.process = null; - } - - static pushClients(clients, appConfig) { - clients.push(new PhantomClient(appConfig)); - } -} diff --git a/tools/tool-testing/clients/puppeteer/index.js b/tools/tool-testing/clients/puppeteer/index.js new file mode 100644 index 0000000000..9f4973d945 --- /dev/null +++ b/tools/tool-testing/clients/puppeteer/index.js @@ -0,0 +1,43 @@ +import Client from '../../client.js'; +import { enterJob } from '../../../utils/buildmessage.js'; +import { ensureDependencies } from '../../../cli/dev-bundle-helpers.js'; + +const NPM_DEPENDENCIES = { + puppeteer: '1.3.0' +}; + +export default class PuppeteerClient extends Client { + constructor(options) { + super(options); + + enterJob( + { + title: 'Installing Puppeteer in Meteor tool' + }, + () => { + ensureDependencies(NPM_DEPENDENCIES); + } + ); + + this.npmPackageExports = require('puppeteer'); + + this.name = 'Puppeteer'; + } + + async connect() { + // Note for Travis and CircleCI to run sandbox must be turned off. + // This is not ideal, in the future would be worthwhile to configure to include only for CI based setups + this.browser = await this.npmPackageExports.launch({ args: ['--no-sandbox', '--disable-setuid-sandbox'] }); + this.page = await this.browser.newPage(); + this.page.goto(`http://${this.host}:${this.port}`); + } + + stop() { + this.browser && this.browser.close(); + this.browser = null; + } + + static pushClients(clients, appConfig) { + clients.push(new PuppeteerClient(appConfig)); + } +} diff --git a/tools/tool-testing/sandbox.js b/tools/tool-testing/sandbox.js index 956f97fdd9..9e2d940b9f 100644 --- a/tools/tool-testing/sandbox.js +++ b/tools/tool-testing/sandbox.js @@ -38,7 +38,7 @@ // - browserstack: true if browserstack clients should be used // - port: the port that the clients should run on import * as files from '../fs/files.js'; -import PhantomClient from './clients/phantom/index.js'; +import PuppeteerClient from './clients/puppeteer/index.js'; import BrowserStackClient from './clients/browserstack/index.js'; import Builder from '../isobuild/builder.js'; import Run from './run.js'; @@ -126,8 +126,8 @@ export default class Sandbox { port: clientOptions.port || 3000, }; - if (clientOptions.phantom) { - PhantomClient.pushClients(this.clients, appConfig); + if (clientOptions.puppeteer) { + PuppeteerClient.pushClients(this.clients, appConfig); } if (clientOptions.browserstack && BrowserStackClient.prerequisitesMet()) { From cd28686c7c552e0811ef7a2c0c7d16114800bddb Mon Sep 17 00:00:00 2001 From: Toine van Kampen Date: Sat, 14 Apr 2018 14:22:24 +1000 Subject: [PATCH 0750/1355] Fix comment Make it clear that running with sandbox off is required for Travis/Circle but is not recommended. This should be further enhanced. --- tools/tool-testing/clients/puppeteer/index.js | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/tools/tool-testing/clients/puppeteer/index.js b/tools/tool-testing/clients/puppeteer/index.js index 9f4973d945..0f51236acb 100644 --- a/tools/tool-testing/clients/puppeteer/index.js +++ b/tools/tool-testing/clients/puppeteer/index.js @@ -26,7 +26,8 @@ export default class PuppeteerClient extends Client { async connect() { // Note for Travis and CircleCI to run sandbox must be turned off. - // This is not ideal, in the future would be worthwhile to configure to include only for CI based setups + // From a security perspective this is not ideal, in the future would be worthwhile + // to configure to include only for CI based setups this.browser = await this.npmPackageExports.launch({ args: ['--no-sandbox', '--disable-setuid-sandbox'] }); this.page = await this.browser.newPage(); this.page.goto(`http://${this.host}:${this.port}`); From 2bf44252aec1e9fa5ddc80fd1869ccb2b82714f2 Mon Sep 17 00:00:00 2001 From: Toine van Kampen Date: Sat, 14 Apr 2018 14:53:07 +1000 Subject: [PATCH 0751/1355] Update Licenses Found while searching for phantom --- LICENSES/Apache.txt | 4 ++-- LICENSES/BSD.txt | 8 -------- 2 files changed, 2 insertions(+), 10 deletions(-) diff --git a/LICENSES/Apache.txt b/LICENSES/Apache.txt index 9ea185e261..d2676ab0da 100644 --- a/LICENSES/Apache.txt +++ b/LICENSES/Apache.txt @@ -149,10 +149,10 @@ Copyright (c) 2011, Danny Coates ---------- -phantomjs: https://github.com/Medium/phantomjs (npm installer) +puppeteer: https://github.com/GoogleChrome/puppeteer ---------- -Copyright 2012 The Obvious Corporation. +Copyright 2017 Google Inc. ---------- diff --git a/LICENSES/BSD.txt b/LICENSES/BSD.txt index 88324cb578..bced0b66ae 100644 --- a/LICENSES/BSD.txt +++ b/LICENSES/BSD.txt @@ -757,14 +757,6 @@ 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. - ----------- -phantomjs: http://phantomjs.org/ ----------- - -Copyright 2010-2014 Ariya Hidayat - - ---------- shelljs: http://github.com/arturadib/shelljs ---------- From 4bbc204bb0c94f47484f76f225d48a852b339165 Mon Sep 17 00:00:00 2001 From: Toine van Kampen Date: Mon, 16 Apr 2018 06:40:31 +1000 Subject: [PATCH 0752/1355] Remove PhantomJS from App-Config Remove PhantomJS from App-Config, Dynamic Import and Modules. Explicitly end page before browser to ensure both are null. --- tools/tests/app-config.js | 12 +- tools/tests/apps/app-config/package-lock.json | 295 ++++++++++ tools/tests/apps/app-config/package.json | 3 +- .../apps/dynamic-import/package-lock.json | 336 +++++++++++ tools/tests/apps/dynamic-import/package.json | 3 +- .../packages/meteor-phantomjs-tests/.eslintrc | 21 - .../.npm/package/.gitignore | 1 - .../.npm/package/README | 7 - .../.npm/package/npm-shrinkwrap.json | 545 ------------------ .../packages/meteor-phantomjs-tests/.versions | 10 - .../packages/meteor-phantomjs-tests/LICENSE | 21 - .../packages/meteor-phantomjs-tests/README.md | 52 -- .../meteor-phantomjs-tests/package.js | 22 - .../meteor-phantomjs-tests/phantomjsScript.js | 56 -- .../packages/meteor-phantomjs-tests/server.js | 51 -- tools/tests/apps/modules/package-lock.json | 240 +++++++- tools/tests/apps/modules/package.json | 9 +- tools/tests/dynamic-import.js | 17 +- tools/tests/modules.js | 6 +- tools/tool-testing/clients/puppeteer/index.js | 7 +- 20 files changed, 900 insertions(+), 814 deletions(-) delete mode 100644 tools/tests/apps/dynamic-import/packages/meteor-phantomjs-tests/.eslintrc delete mode 100644 tools/tests/apps/dynamic-import/packages/meteor-phantomjs-tests/.npm/package/.gitignore delete mode 100644 tools/tests/apps/dynamic-import/packages/meteor-phantomjs-tests/.npm/package/README delete mode 100644 tools/tests/apps/dynamic-import/packages/meteor-phantomjs-tests/.npm/package/npm-shrinkwrap.json delete mode 100644 tools/tests/apps/dynamic-import/packages/meteor-phantomjs-tests/.versions delete mode 100644 tools/tests/apps/dynamic-import/packages/meteor-phantomjs-tests/LICENSE delete mode 100644 tools/tests/apps/dynamic-import/packages/meteor-phantomjs-tests/README.md delete mode 100644 tools/tests/apps/dynamic-import/packages/meteor-phantomjs-tests/package.js delete mode 100644 tools/tests/apps/dynamic-import/packages/meteor-phantomjs-tests/phantomjsScript.js delete mode 100644 tools/tests/apps/dynamic-import/packages/meteor-phantomjs-tests/server.js diff --git a/tools/tests/app-config.js b/tools/tests/app-config.js index 34913436d7..298b4a9005 100644 --- a/tools/tests/app-config.js +++ b/tools/tests/app-config.js @@ -6,10 +6,14 @@ selftest.define("mainModule", function () { s.createApp("app-config-mainModule", "app-config"); s.cd("app-config-mainModule"); + // For meteortesting:mocha to work we must set test broswer driver + // See https://github.com/meteortesting/meteor-mocha + s.set("TEST_BROWSER_DRIVER", "puppeteer"); + const run = s.run( "test", "--full-app", - "--driver-package", "dispatch:mocha-phantomjs" + "--driver-package", "meteortesting:mocha" ); run.waitSecs(60); @@ -139,11 +143,15 @@ selftest.define("testModule", function () { s.createApp("app-config-mainModule", "app-config"); s.cd("app-config-mainModule"); + // For meteortesting:mocha to work we must set test broswer driver + // See https://github.com/meteortesting/meteor-mocha + s.set("TEST_BROWSER_DRIVER", "puppeteer"); + const run = s.run( "test", // Not running with the --full-app option here, in order to exercise // the normal `meteor test` behavior. - "--driver-package", "dispatch:mocha-phantomjs" + "--driver-package", "meteortesting:mocha" ); run.waitSecs(60); diff --git a/tools/tests/apps/app-config/package-lock.json b/tools/tests/apps/app-config/package-lock.json index a8043c1dbf..9d2bfde1a2 100644 --- a/tools/tests/apps/app-config/package-lock.json +++ b/tools/tests/apps/app-config/package-lock.json @@ -12,11 +12,154 @@ "regenerator-runtime": "0.11.1" } }, + "agent-base": { + "version": "4.2.0", + "resolved": "https://registry.npmjs.org/agent-base/-/agent-base-4.2.0.tgz", + "integrity": "sha512-c+R/U5X+2zz2+UCrCFv6odQzJdoqI+YecuhnAJLa1zYaMc13zPfwMwZrr91Pd1DYNo/yPRbiM4WVf9whgwFsIg==", + "requires": { + "es6-promisify": "5.0.0" + } + }, + "async-limiter": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/async-limiter/-/async-limiter-1.0.0.tgz", + "integrity": "sha512-jp/uFnooOiO+L211eZOoSyzpOITMXx1rBITauYykG3BRYPu8h0UcxsPNB04RR5vo4Tyz3+ay17tR6JVf9qzYWg==" + }, + "balanced-match": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/balanced-match/-/balanced-match-1.0.0.tgz", + "integrity": "sha1-ibTRmasr7kneFk6gK4nORi1xt2c=" + }, + "brace-expansion": { + "version": "1.1.11", + "resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-1.1.11.tgz", + "integrity": "sha512-iCuPHDFgrHX7H2vEI/5xpz07zSHB00TpugqhmYtVmMO6518mCuRMoOYFldEBl0g187ufozdaHgWKcYFb61qGiA==", + "requires": { + "balanced-match": "1.0.0", + "concat-map": "0.0.1" + } + }, + "concat-map": { + "version": "0.0.1", + "resolved": "https://registry.npmjs.org/concat-map/-/concat-map-0.0.1.tgz", + "integrity": "sha1-2Klr13/Wjfd5OnMDajug1UBdR3s=" + }, + "concat-stream": { + "version": "1.6.0", + "resolved": "https://registry.npmjs.org/concat-stream/-/concat-stream-1.6.0.tgz", + "integrity": "sha1-CqxmL9Ur54lk1VMvaUeE5wEQrPc=", + "requires": { + "inherits": "2.0.3", + "readable-stream": "2.3.6", + "typedarray": "0.0.6" + } + }, "core-js": { "version": "2.5.3", "resolved": "https://registry.npmjs.org/core-js/-/core-js-2.5.3.tgz", "integrity": "sha1-isw4NFgk8W2DZbfJtCWRaOjtYD4=" }, + "core-util-is": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/core-util-is/-/core-util-is-1.0.2.tgz", + "integrity": "sha1-tf1UIgqivFq1eqtxQMlAdUUDwac=" + }, + "debug": { + "version": "2.6.9", + "resolved": "https://registry.npmjs.org/debug/-/debug-2.6.9.tgz", + "integrity": "sha512-bC7ElrdJaJnPbAP+1EotYvqZsb3ecl5wi6Bfi6BJTUcNowp6cvspg0jXznRTKDjm/E7AdgFBVeAPVMNcKGsHMA==", + "requires": { + "ms": "2.0.0" + } + }, + "es6-promise": { + "version": "4.2.4", + "resolved": "https://registry.npmjs.org/es6-promise/-/es6-promise-4.2.4.tgz", + "integrity": "sha512-/NdNZVJg+uZgtm9eS3O6lrOLYmQag2DjdEXuPaHlZ6RuVqgqaVZfgYCepEIKsLqwdQArOPtC3XzRLqGGfT8KQQ==" + }, + "es6-promisify": { + "version": "5.0.0", + "resolved": "https://registry.npmjs.org/es6-promisify/-/es6-promisify-5.0.0.tgz", + "integrity": "sha1-UQnWLz5W6pZ8S2NQWu8IKRyKUgM=", + "requires": { + "es6-promise": "4.2.4" + } + }, + "extract-zip": { + "version": "1.6.6", + "resolved": "https://registry.npmjs.org/extract-zip/-/extract-zip-1.6.6.tgz", + "integrity": "sha1-EpDt6NINCHK0Kf0/NRyhKOxe+Fw=", + "requires": { + "concat-stream": "1.6.0", + "debug": "2.6.9", + "mkdirp": "0.5.0", + "yauzl": "2.4.1" + } + }, + "fd-slicer": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/fd-slicer/-/fd-slicer-1.0.1.tgz", + "integrity": "sha1-i1vL2ewyfFBBv5qwI/1nUPEXfmU=", + "requires": { + "pend": "1.2.0" + } + }, + "fs.realpath": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/fs.realpath/-/fs.realpath-1.0.0.tgz", + "integrity": "sha1-FQStJSMVjKpA20onh8sBQRmU6k8=" + }, + "glob": { + "version": "7.1.2", + "resolved": "https://registry.npmjs.org/glob/-/glob-7.1.2.tgz", + "integrity": "sha512-MJTUg1kjuLeQCJ+ccE4Vpa6kKVXkPYJ2mOCQyUuKLcLQsdrMCpBPUi8qVE6+YuaJkozeA9NusTAw3hLr8Xe5EQ==", + "requires": { + "fs.realpath": "1.0.0", + "inflight": "1.0.6", + "inherits": "2.0.3", + "minimatch": "3.0.4", + "once": "1.4.0", + "path-is-absolute": "1.0.1" + } + }, + "https-proxy-agent": { + "version": "2.2.1", + "resolved": "https://registry.npmjs.org/https-proxy-agent/-/https-proxy-agent-2.2.1.tgz", + "integrity": "sha512-HPCTS1LW51bcyMYbxUIOO4HEOlQ1/1qRaFWcyxvwaqUS9TY88aoEuHUY33kuAh1YhVVaDQhLZsnPd+XNARWZlQ==", + "requires": { + "agent-base": "4.2.0", + "debug": "3.1.0" + }, + "dependencies": { + "debug": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/debug/-/debug-3.1.0.tgz", + "integrity": "sha512-OX8XqP7/1a9cqkxYw2yXss15f26NKWBpDXQd0/uK/KPqdQhxbPa994hnzjcE2VqQpDslf55723cKPUOGSmMY3g==", + "requires": { + "ms": "2.0.0" + } + } + } + }, + "inflight": { + "version": "1.0.6", + "resolved": "https://registry.npmjs.org/inflight/-/inflight-1.0.6.tgz", + "integrity": "sha1-Sb1jMdfQLQwJvJEKEHW6gWW1bfk=", + "requires": { + "once": "1.4.0", + "wrappy": "1.0.2" + } + }, + "inherits": { + "version": "2.0.3", + "resolved": "https://registry.npmjs.org/inherits/-/inherits-2.0.3.tgz", + "integrity": "sha1-Yzwsg+PaQqUC9SRmAiSA9CCCYd4=" + }, + "isarray": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/isarray/-/isarray-1.0.0.tgz", + "integrity": "sha1-u5NdSFgsuhaMBoNJV6VKPgcSTxE=" + }, "meteor-node-stubs": { "version": "0.3.3", "resolved": "https://registry.npmjs.org/meteor-node-stubs/-/meteor-node-stubs-0.3.3.tgz", @@ -697,10 +840,162 @@ } } }, + "mime": { + "version": "1.6.0", + "resolved": "https://registry.npmjs.org/mime/-/mime-1.6.0.tgz", + "integrity": "sha512-x0Vn8spI+wuJ1O6S7gnbaQg8Pxh4NNHb7KSINmEWKiPE4RKOplvijn+NkmYmmRgP68mc70j2EbeTFRsrswaQeg==" + }, + "minimatch": { + "version": "3.0.4", + "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-3.0.4.tgz", + "integrity": "sha512-yJHVQEhyqPLUTgt9B83PXu6W3rx4MvvHvSUvToogpwoGDOUQ+yDrR0HRot+yOCdCO7u4hX3pWft6kWBBcqh0UA==", + "requires": { + "brace-expansion": "1.1.11" + } + }, + "minimist": { + "version": "0.0.8", + "resolved": "https://registry.npmjs.org/minimist/-/minimist-0.0.8.tgz", + "integrity": "sha1-hX/Kv8M5fSYluCKCYuhqp6ARsF0=" + }, + "mkdirp": { + "version": "0.5.0", + "resolved": "https://registry.npmjs.org/mkdirp/-/mkdirp-0.5.0.tgz", + "integrity": "sha1-HXMHam35hs2TROFecfzAWkyavxI=", + "requires": { + "minimist": "0.0.8" + } + }, + "ms": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/ms/-/ms-2.0.0.tgz", + "integrity": "sha1-VgiurfwAvmwpAd9fmGF4jeDVl8g=" + }, + "once": { + "version": "1.4.0", + "resolved": "https://registry.npmjs.org/once/-/once-1.4.0.tgz", + "integrity": "sha1-WDsap3WWHUsROsF9nFC6753Xa9E=", + "requires": { + "wrappy": "1.0.2" + } + }, + "path-is-absolute": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/path-is-absolute/-/path-is-absolute-1.0.1.tgz", + "integrity": "sha1-F0uSaHNVNP+8es5r9TpanhtcX18=" + }, + "pend": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/pend/-/pend-1.2.0.tgz", + "integrity": "sha1-elfrVQpng/kRUzH89GY9XI4AelA=" + }, + "process-nextick-args": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/process-nextick-args/-/process-nextick-args-2.0.0.tgz", + "integrity": "sha512-MtEC1TqN0EU5nephaJ4rAtThHtC86dNN9qCuEhtshvpVBkAW5ZO7BASN9REnF9eoXGcRub+pFuKEpOHE+HbEMw==" + }, + "progress": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/progress/-/progress-2.0.0.tgz", + "integrity": "sha1-ihvjZr+Pwj2yvSPxDG/pILQ4nR8=" + }, + "proxy-from-env": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/proxy-from-env/-/proxy-from-env-1.0.0.tgz", + "integrity": "sha1-M8UDmPcOp+uW0h97gXYwpVeRx+4=" + }, + "puppeteer": { + "version": "1.3.0", + "resolved": "https://registry.npmjs.org/puppeteer/-/puppeteer-1.3.0.tgz", + "integrity": "sha512-wx10aPQPpGJVxdB6yoDSLm9p4rCwARUSLMVV0bx++owuqkvviXKyiFM3EWsywaFmjOKNPXacIjplF7xhHiFP3w==", + "requires": { + "debug": "2.6.9", + "extract-zip": "1.6.6", + "https-proxy-agent": "2.2.1", + "mime": "1.6.0", + "progress": "2.0.0", + "proxy-from-env": "1.0.0", + "rimraf": "2.6.2", + "ws": "3.3.3" + } + }, + "readable-stream": { + "version": "2.3.6", + "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-2.3.6.tgz", + "integrity": "sha512-tQtKA9WIAhBF3+VLAseyMqZeBjW0AHJoxOtYqSUZNJxauErmLbVm2FW1y+J/YA9dUrAC39ITejlZWhVIwawkKw==", + "requires": { + "core-util-is": "1.0.2", + "inherits": "2.0.3", + "isarray": "1.0.0", + "process-nextick-args": "2.0.0", + "safe-buffer": "5.1.1", + "string_decoder": "1.1.1", + "util-deprecate": "1.0.2" + } + }, "regenerator-runtime": { "version": "0.11.1", "resolved": "https://registry.npmjs.org/regenerator-runtime/-/regenerator-runtime-0.11.1.tgz", "integrity": "sha512-MguG95oij0fC3QV3URf4V2SDYGJhJnJGqvIIgdECeODCT98wSWDAJ94SSuVpYQUoTcGUIL6L4yNB7j1DFFHSBg==" + }, + "rimraf": { + "version": "2.6.2", + "resolved": "https://registry.npmjs.org/rimraf/-/rimraf-2.6.2.tgz", + "integrity": "sha512-lreewLK/BlghmxtfH36YYVg1i8IAce4TI7oao75I1g245+6BctqTVQiBP3YUJ9C6DQOXJmkYR9X9fCLtCOJc5w==", + "requires": { + "glob": "7.1.2" + } + }, + "safe-buffer": { + "version": "5.1.1", + "resolved": "https://registry.npmjs.org/safe-buffer/-/safe-buffer-5.1.1.tgz", + "integrity": "sha512-kKvNJn6Mm93gAczWVJg7wH+wGYWNrDHdWvpUmHyEsgCtIwwo3bqPtV4tR5tuPaUhTOo/kvhVwd8XwwOllGYkbg==" + }, + "string_decoder": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/string_decoder/-/string_decoder-1.1.1.tgz", + "integrity": "sha512-n/ShnvDi6FHbbVfviro+WojiFzv+s8MPMHBczVePfUpDJLwoLT0ht1l4YwBCbi8pJAveEEdnkHyPyTP/mzRfwg==", + "requires": { + "safe-buffer": "5.1.1" + } + }, + "typedarray": { + "version": "0.0.6", + "resolved": "https://registry.npmjs.org/typedarray/-/typedarray-0.0.6.tgz", + "integrity": "sha1-hnrHTjhkGHsdPUfZlqeOxciDB3c=" + }, + "ultron": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/ultron/-/ultron-1.1.1.tgz", + "integrity": "sha512-UIEXBNeYmKptWH6z8ZnqTeS8fV74zG0/eRU9VGkpzz+LIJNs8W/zM/L+7ctCkRrgbNnnR0xxw4bKOr0cW0N0Og==" + }, + "util-deprecate": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/util-deprecate/-/util-deprecate-1.0.2.tgz", + "integrity": "sha1-RQ1Nyfpw3nMnYvvS1KKJgUGaDM8=" + }, + "wrappy": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/wrappy/-/wrappy-1.0.2.tgz", + "integrity": "sha1-tSQ9jz7BqjXxNkYFvA0QNuMKtp8=" + }, + "ws": { + "version": "3.3.3", + "resolved": "https://registry.npmjs.org/ws/-/ws-3.3.3.tgz", + "integrity": "sha512-nnWLa/NwZSt4KQJu51MYlCcSQ5g7INpOrOMt4XV8j4dqTXdmlUmSHQ8/oLC069ckre0fRsgfvsKwbTdtKLCDkA==", + "requires": { + "async-limiter": "1.0.0", + "safe-buffer": "5.1.1", + "ultron": "1.1.1" + } + }, + "yauzl": { + "version": "2.4.1", + "resolved": "https://registry.npmjs.org/yauzl/-/yauzl-2.4.1.tgz", + "integrity": "sha1-lSj0QtqxsihOWLQ3m7GU4i4MQAU=", + "requires": { + "fd-slicer": "1.0.1" + } } } } diff --git a/tools/tests/apps/app-config/package.json b/tools/tests/apps/app-config/package.json index 2dea95566e..3373a3aeeb 100644 --- a/tools/tests/apps/app-config/package.json +++ b/tools/tests/apps/app-config/package.json @@ -6,7 +6,8 @@ }, "dependencies": { "@babel/runtime": "^7.0.0-beta.42", - "meteor-node-stubs": "^0.3.2" + "meteor-node-stubs": "^0.3.2", + "puppeteer": "^1.3.0" }, "meteor": { "testModule": "tests.js" diff --git a/tools/tests/apps/dynamic-import/package-lock.json b/tools/tests/apps/dynamic-import/package-lock.json index b6ed0e9ca0..5a5d8fff92 100644 --- a/tools/tests/apps/dynamic-import/package-lock.json +++ b/tools/tests/apps/dynamic-import/package-lock.json @@ -17,6 +17,15 @@ "resolved": "https://registry.npmjs.org/acorn/-/acorn-4.0.13.tgz", "integrity": "sha1-EFSVrlNh1pe9GVyCUZLhrX8lN4c=" }, + "agent-base": { + "version": "4.2.0", + "resolved": "https://registry.npmjs.org/agent-base/-/agent-base-4.2.0.tgz", + "integrity": "sha512-c+R/U5X+2zz2+UCrCFv6odQzJdoqI+YecuhnAJLa1zYaMc13zPfwMwZrr91Pd1DYNo/yPRbiM4WVf9whgwFsIg==", + "dev": true, + "requires": { + "es6-promisify": "5.0.0" + } + }, "arson": { "version": "0.2.6", "resolved": "https://registry.npmjs.org/arson/-/arson-0.2.6.tgz", @@ -27,11 +36,65 @@ "resolved": "https://registry.npmjs.org/asap/-/asap-2.0.6.tgz", "integrity": "sha1-5QNHYR1+aQlDIIu9r+vLwvuGbUY=" }, + "async-limiter": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/async-limiter/-/async-limiter-1.0.0.tgz", + "integrity": "sha512-jp/uFnooOiO+L211eZOoSyzpOITMXx1rBITauYykG3BRYPu8h0UcxsPNB04RR5vo4Tyz3+ay17tR6JVf9qzYWg==", + "dev": true + }, + "balanced-match": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/balanced-match/-/balanced-match-1.0.0.tgz", + "integrity": "sha1-ibTRmasr7kneFk6gK4nORi1xt2c=", + "dev": true + }, + "brace-expansion": { + "version": "1.1.11", + "resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-1.1.11.tgz", + "integrity": "sha512-iCuPHDFgrHX7H2vEI/5xpz07zSHB00TpugqhmYtVmMO6518mCuRMoOYFldEBl0g187ufozdaHgWKcYFb61qGiA==", + "dev": true, + "requires": { + "balanced-match": "1.0.0", + "concat-map": "0.0.1" + } + }, + "concat-map": { + "version": "0.0.1", + "resolved": "https://registry.npmjs.org/concat-map/-/concat-map-0.0.1.tgz", + "integrity": "sha1-2Klr13/Wjfd5OnMDajug1UBdR3s=", + "dev": true + }, + "concat-stream": { + "version": "1.6.0", + "resolved": "https://registry.npmjs.org/concat-stream/-/concat-stream-1.6.0.tgz", + "integrity": "sha1-CqxmL9Ur54lk1VMvaUeE5wEQrPc=", + "dev": true, + "requires": { + "inherits": "2.0.3", + "readable-stream": "2.3.6", + "typedarray": "0.0.6" + } + }, "core-js": { "version": "2.5.3", "resolved": "https://registry.npmjs.org/core-js/-/core-js-2.5.3.tgz", "integrity": "sha1-isw4NFgk8W2DZbfJtCWRaOjtYD4=" }, + "core-util-is": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/core-util-is/-/core-util-is-1.0.2.tgz", + "integrity": "sha1-tf1UIgqivFq1eqtxQMlAdUUDwac=", + "dev": true + }, + "debug": { + "version": "2.6.9", + "resolved": "https://registry.npmjs.org/debug/-/debug-2.6.9.tgz", + "integrity": "sha512-bC7ElrdJaJnPbAP+1EotYvqZsb3ecl5wi6Bfi6BJTUcNowp6cvspg0jXznRTKDjm/E7AdgFBVeAPVMNcKGsHMA==", + "dev": true, + "requires": { + "ms": "2.0.0" + } + }, "encoding": { "version": "0.1.12", "resolved": "https://registry.npmjs.org/encoding/-/encoding-0.1.12.tgz", @@ -40,6 +103,33 @@ "iconv-lite": "0.4.19" } }, + "es6-promise": { + "version": "4.2.4", + "resolved": "https://registry.npmjs.org/es6-promise/-/es6-promise-4.2.4.tgz", + "integrity": "sha512-/NdNZVJg+uZgtm9eS3O6lrOLYmQag2DjdEXuPaHlZ6RuVqgqaVZfgYCepEIKsLqwdQArOPtC3XzRLqGGfT8KQQ==", + "dev": true + }, + "es6-promisify": { + "version": "5.0.0", + "resolved": "https://registry.npmjs.org/es6-promisify/-/es6-promisify-5.0.0.tgz", + "integrity": "sha1-UQnWLz5W6pZ8S2NQWu8IKRyKUgM=", + "dev": true, + "requires": { + "es6-promise": "4.2.4" + } + }, + "extract-zip": { + "version": "1.6.6", + "resolved": "https://registry.npmjs.org/extract-zip/-/extract-zip-1.6.6.tgz", + "integrity": "sha1-EpDt6NINCHK0Kf0/NRyhKOxe+Fw=", + "dev": true, + "requires": { + "concat-stream": "1.6.0", + "debug": "2.6.9", + "mkdirp": "0.5.0", + "yauzl": "2.4.1" + } + }, "fbjs": { "version": "0.8.16", "resolved": "https://registry.npmjs.org/fbjs/-/fbjs-0.8.16.tgz", @@ -61,16 +151,88 @@ } } }, + "fd-slicer": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/fd-slicer/-/fd-slicer-1.0.1.tgz", + "integrity": "sha1-i1vL2ewyfFBBv5qwI/1nUPEXfmU=", + "dev": true, + "requires": { + "pend": "1.2.0" + } + }, + "fs.realpath": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/fs.realpath/-/fs.realpath-1.0.0.tgz", + "integrity": "sha1-FQStJSMVjKpA20onh8sBQRmU6k8=", + "dev": true + }, + "glob": { + "version": "7.1.2", + "resolved": "https://registry.npmjs.org/glob/-/glob-7.1.2.tgz", + "integrity": "sha512-MJTUg1kjuLeQCJ+ccE4Vpa6kKVXkPYJ2mOCQyUuKLcLQsdrMCpBPUi8qVE6+YuaJkozeA9NusTAw3hLr8Xe5EQ==", + "dev": true, + "requires": { + "fs.realpath": "1.0.0", + "inflight": "1.0.6", + "inherits": "2.0.3", + "minimatch": "3.0.4", + "once": "1.4.0", + "path-is-absolute": "1.0.1" + } + }, + "https-proxy-agent": { + "version": "2.2.1", + "resolved": "https://registry.npmjs.org/https-proxy-agent/-/https-proxy-agent-2.2.1.tgz", + "integrity": "sha512-HPCTS1LW51bcyMYbxUIOO4HEOlQ1/1qRaFWcyxvwaqUS9TY88aoEuHUY33kuAh1YhVVaDQhLZsnPd+XNARWZlQ==", + "dev": true, + "requires": { + "agent-base": "4.2.0", + "debug": "3.1.0" + }, + "dependencies": { + "debug": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/debug/-/debug-3.1.0.tgz", + "integrity": "sha512-OX8XqP7/1a9cqkxYw2yXss15f26NKWBpDXQd0/uK/KPqdQhxbPa994hnzjcE2VqQpDslf55723cKPUOGSmMY3g==", + "dev": true, + "requires": { + "ms": "2.0.0" + } + } + } + }, "iconv-lite": { "version": "0.4.19", "resolved": "https://registry.npmjs.org/iconv-lite/-/iconv-lite-0.4.19.tgz", "integrity": "sha512-oTZqweIP51xaGPI4uPa56/Pri/480R+mo7SeU+YETByQNhDG55ycFyNLIgta9vXhILrxXDmF7ZGhqZIcuN0gJQ==" }, + "inflight": { + "version": "1.0.6", + "resolved": "https://registry.npmjs.org/inflight/-/inflight-1.0.6.tgz", + "integrity": "sha1-Sb1jMdfQLQwJvJEKEHW6gWW1bfk=", + "dev": true, + "requires": { + "once": "1.4.0", + "wrappy": "1.0.2" + } + }, + "inherits": { + "version": "2.0.3", + "resolved": "https://registry.npmjs.org/inherits/-/inherits-2.0.3.tgz", + "integrity": "sha1-Yzwsg+PaQqUC9SRmAiSA9CCCYd4=", + "dev": true + }, "is-stream": { "version": "1.1.0", "resolved": "https://registry.npmjs.org/is-stream/-/is-stream-1.1.0.tgz", "integrity": "sha1-EtSj3U5o4Lec6428hBc66A2RykQ=" }, + "isarray": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/isarray/-/isarray-1.0.0.tgz", + "integrity": "sha1-u5NdSFgsuhaMBoNJV6VKPgcSTxE=", + "dev": true + }, "isomorphic-fetch": { "version": "2.2.1", "resolved": "https://registry.npmjs.org/isomorphic-fetch/-/isomorphic-fetch-2.2.1.tgz", @@ -782,11 +944,47 @@ } } }, + "mime": { + "version": "1.6.0", + "resolved": "https://registry.npmjs.org/mime/-/mime-1.6.0.tgz", + "integrity": "sha512-x0Vn8spI+wuJ1O6S7gnbaQg8Pxh4NNHb7KSINmEWKiPE4RKOplvijn+NkmYmmRgP68mc70j2EbeTFRsrswaQeg==", + "dev": true + }, + "minimatch": { + "version": "3.0.4", + "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-3.0.4.tgz", + "integrity": "sha512-yJHVQEhyqPLUTgt9B83PXu6W3rx4MvvHvSUvToogpwoGDOUQ+yDrR0HRot+yOCdCO7u4hX3pWft6kWBBcqh0UA==", + "dev": true, + "requires": { + "brace-expansion": "1.1.11" + } + }, + "minimist": { + "version": "0.0.8", + "resolved": "https://registry.npmjs.org/minimist/-/minimist-0.0.8.tgz", + "integrity": "sha1-hX/Kv8M5fSYluCKCYuhqp6ARsF0=", + "dev": true + }, + "mkdirp": { + "version": "0.5.0", + "resolved": "https://registry.npmjs.org/mkdirp/-/mkdirp-0.5.0.tgz", + "integrity": "sha1-HXMHam35hs2TROFecfzAWkyavxI=", + "dev": true, + "requires": { + "minimist": "0.0.8" + } + }, "moment": { "version": "2.21.0", "resolved": "https://registry.npmjs.org/moment/-/moment-2.21.0.tgz", "integrity": "sha512-TCZ36BjURTeFTM/CwRcViQlfkMvL1/vFISuNLO5GkcVm1+QHfbSiNqZuWeMFjj1/3+uAjXswgRk30j1kkLYJBQ==" }, + "ms": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/ms/-/ms-2.0.0.tgz", + "integrity": "sha1-VgiurfwAvmwpAd9fmGF4jeDVl8g=", + "dev": true + }, "node-fetch": { "version": "1.7.3", "resolved": "https://registry.npmjs.org/node-fetch/-/node-fetch-1.7.3.tgz", @@ -801,6 +999,15 @@ "resolved": "https://registry.npmjs.org/object-assign/-/object-assign-4.1.1.tgz", "integrity": "sha1-IQmtx5ZYh8/AXLvUQsrIv7s2CGM=" }, + "once": { + "version": "1.4.0", + "resolved": "https://registry.npmjs.org/once/-/once-1.4.0.tgz", + "integrity": "sha1-WDsap3WWHUsROsF9nFC6753Xa9E=", + "dev": true, + "requires": { + "wrappy": "1.0.2" + } + }, "optimism": { "version": "0.3.3", "resolved": "https://registry.npmjs.org/optimism/-/optimism-0.3.3.tgz", @@ -809,11 +1016,35 @@ "lru-cache": "4.0.2" } }, + "path-is-absolute": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/path-is-absolute/-/path-is-absolute-1.0.1.tgz", + "integrity": "sha1-F0uSaHNVNP+8es5r9TpanhtcX18=", + "dev": true + }, + "pend": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/pend/-/pend-1.2.0.tgz", + "integrity": "sha1-elfrVQpng/kRUzH89GY9XI4AelA=", + "dev": true + }, "private": { "version": "0.1.8", "resolved": "https://registry.npmjs.org/private/-/private-0.1.8.tgz", "integrity": "sha512-VvivMrbvd2nKkiG38qjULzlc+4Vx4wm/whI9pQD35YrARNnhxeiRktSOhSukRLFNlzg6Br/cJPet5J/u19r/mg==" }, + "process-nextick-args": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/process-nextick-args/-/process-nextick-args-2.0.0.tgz", + "integrity": "sha512-MtEC1TqN0EU5nephaJ4rAtThHtC86dNN9qCuEhtshvpVBkAW5ZO7BASN9REnF9eoXGcRub+pFuKEpOHE+HbEMw==", + "dev": true + }, + "progress": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/progress/-/progress-2.0.0.tgz", + "integrity": "sha1-ihvjZr+Pwj2yvSPxDG/pILQ4nR8=", + "dev": true + }, "promise": { "version": "7.3.1", "resolved": "https://registry.npmjs.org/promise/-/promise-7.3.1.tgz", @@ -832,11 +1063,33 @@ "object-assign": "4.1.1" } }, + "proxy-from-env": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/proxy-from-env/-/proxy-from-env-1.0.0.tgz", + "integrity": "sha1-M8UDmPcOp+uW0h97gXYwpVeRx+4=", + "dev": true + }, "pseudomap": { "version": "1.0.2", "resolved": "https://registry.npmjs.org/pseudomap/-/pseudomap-1.0.2.tgz", "integrity": "sha1-8FKijacOYYkX7wqKw0wa5aaChrM=" }, + "puppeteer": { + "version": "1.3.0", + "resolved": "https://registry.npmjs.org/puppeteer/-/puppeteer-1.3.0.tgz", + "integrity": "sha512-wx10aPQPpGJVxdB6yoDSLm9p4rCwARUSLMVV0bx++owuqkvviXKyiFM3EWsywaFmjOKNPXacIjplF7xhHiFP3w==", + "dev": true, + "requires": { + "debug": "2.6.9", + "extract-zip": "1.6.6", + "https-proxy-agent": "2.2.1", + "mime": "1.6.0", + "progress": "2.0.0", + "proxy-from-env": "1.0.0", + "rimraf": "2.6.2", + "ws": "3.3.3" + } + }, "react": { "version": "16.2.0", "resolved": "https://registry.npmjs.org/react/-/react-16.2.0.tgz", @@ -848,21 +1101,78 @@ "prop-types": "15.6.1" } }, + "readable-stream": { + "version": "2.3.6", + "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-2.3.6.tgz", + "integrity": "sha512-tQtKA9WIAhBF3+VLAseyMqZeBjW0AHJoxOtYqSUZNJxauErmLbVm2FW1y+J/YA9dUrAC39ITejlZWhVIwawkKw==", + "dev": true, + "requires": { + "core-util-is": "1.0.2", + "inherits": "2.0.3", + "isarray": "1.0.0", + "process-nextick-args": "2.0.0", + "safe-buffer": "5.1.1", + "string_decoder": "1.1.1", + "util-deprecate": "1.0.2" + } + }, "regenerator-runtime": { "version": "0.11.1", "resolved": "https://registry.npmjs.org/regenerator-runtime/-/regenerator-runtime-0.11.1.tgz", "integrity": "sha512-MguG95oij0fC3QV3URf4V2SDYGJhJnJGqvIIgdECeODCT98wSWDAJ94SSuVpYQUoTcGUIL6L4yNB7j1DFFHSBg==" }, + "rimraf": { + "version": "2.6.2", + "resolved": "https://registry.npmjs.org/rimraf/-/rimraf-2.6.2.tgz", + "integrity": "sha512-lreewLK/BlghmxtfH36YYVg1i8IAce4TI7oao75I1g245+6BctqTVQiBP3YUJ9C6DQOXJmkYR9X9fCLtCOJc5w==", + "dev": true, + "requires": { + "glob": "7.1.2" + } + }, + "safe-buffer": { + "version": "5.1.1", + "resolved": "https://registry.npmjs.org/safe-buffer/-/safe-buffer-5.1.1.tgz", + "integrity": "sha512-kKvNJn6Mm93gAczWVJg7wH+wGYWNrDHdWvpUmHyEsgCtIwwo3bqPtV4tR5tuPaUhTOo/kvhVwd8XwwOllGYkbg==", + "dev": true + }, "setimmediate": { "version": "1.0.5", "resolved": "https://registry.npmjs.org/setimmediate/-/setimmediate-1.0.5.tgz", "integrity": "sha1-KQy7Iy4waULX1+qbg3Mqt4VvgoU=" }, + "string_decoder": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/string_decoder/-/string_decoder-1.1.1.tgz", + "integrity": "sha512-n/ShnvDi6FHbbVfviro+WojiFzv+s8MPMHBczVePfUpDJLwoLT0ht1l4YwBCbi8pJAveEEdnkHyPyTP/mzRfwg==", + "dev": true, + "requires": { + "safe-buffer": "5.1.1" + } + }, + "typedarray": { + "version": "0.0.6", + "resolved": "https://registry.npmjs.org/typedarray/-/typedarray-0.0.6.tgz", + "integrity": "sha1-hnrHTjhkGHsdPUfZlqeOxciDB3c=", + "dev": true + }, "ua-parser-js": { "version": "0.7.17", "resolved": "https://registry.npmjs.org/ua-parser-js/-/ua-parser-js-0.7.17.tgz", "integrity": "sha512-uRdSdu1oA1rncCQL7sCj8vSyZkgtL7faaw9Tc9rZ3mGgraQ7+Pdx7w5mnOSF3gw9ZNG6oc+KXfkon3bKuROm0g==" }, + "ultron": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/ultron/-/ultron-1.1.1.tgz", + "integrity": "sha512-UIEXBNeYmKptWH6z8ZnqTeS8fV74zG0/eRU9VGkpzz+LIJNs8W/zM/L+7ctCkRrgbNnnR0xxw4bKOr0cW0N0Og==", + "dev": true + }, + "util-deprecate": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/util-deprecate/-/util-deprecate-1.0.2.tgz", + "integrity": "sha1-RQ1Nyfpw3nMnYvvS1KKJgUGaDM8=", + "dev": true + }, "uuid": { "version": "3.2.1", "resolved": "https://registry.npmjs.org/uuid/-/uuid-3.2.1.tgz", @@ -873,10 +1183,36 @@ "resolved": "https://registry.npmjs.org/whatwg-fetch/-/whatwg-fetch-2.0.3.tgz", "integrity": "sha1-nITsLc9oGH/wC8ZOEnS0QhduHIQ=" }, + "wrappy": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/wrappy/-/wrappy-1.0.2.tgz", + "integrity": "sha1-tSQ9jz7BqjXxNkYFvA0QNuMKtp8=", + "dev": true + }, + "ws": { + "version": "3.3.3", + "resolved": "https://registry.npmjs.org/ws/-/ws-3.3.3.tgz", + "integrity": "sha512-nnWLa/NwZSt4KQJu51MYlCcSQ5g7INpOrOMt4XV8j4dqTXdmlUmSHQ8/oLC069ckre0fRsgfvsKwbTdtKLCDkA==", + "dev": true, + "requires": { + "async-limiter": "1.0.0", + "safe-buffer": "5.1.1", + "ultron": "1.1.1" + } + }, "yallist": { "version": "2.1.2", "resolved": "https://registry.npmjs.org/yallist/-/yallist-2.1.2.tgz", "integrity": "sha1-HBH5IY8HYImkfdUS+TxmmaaoHVI=" + }, + "yauzl": { + "version": "2.4.1", + "resolved": "https://registry.npmjs.org/yauzl/-/yauzl-2.4.1.tgz", + "integrity": "sha1-lSj0QtqxsihOWLQ3m7GU4i4MQAU=", + "dev": true, + "requires": { + "fd-slicer": "1.0.1" + } } } } diff --git a/tools/tests/apps/dynamic-import/package.json b/tools/tests/apps/dynamic-import/package.json index 262657e08b..e3a03fdb77 100644 --- a/tools/tests/apps/dynamic-import/package.json +++ b/tools/tests/apps/dynamic-import/package.json @@ -3,7 +3,7 @@ "private": true, "scripts": { "start": "meteor run", - "test": "meteor test --full-app --driver-package dispatch:mocha-browser" + "test": "TEST_BROWSER_DRIVER=puppeteer meteor test --full-app --driver-package meteortesting:mocha" }, "dependencies": { "@babel/runtime": "^7.0.0-beta.42", @@ -13,6 +13,7 @@ "moment": "^2.17.1", "optimism": "^0.3.3", "private": "^0.1.7", + "puppeteer": "^1.3.0", "react": "^16.0.0", "regenerator-runtime": "^0.11.1", "uuid": "^3.1.0" diff --git a/tools/tests/apps/dynamic-import/packages/meteor-phantomjs-tests/.eslintrc b/tools/tests/apps/dynamic-import/packages/meteor-phantomjs-tests/.eslintrc deleted file mode 100644 index 93d3ea1bd8..0000000000 --- a/tools/tests/apps/dynamic-import/packages/meteor-phantomjs-tests/.eslintrc +++ /dev/null @@ -1,21 +0,0 @@ -{ - "extends": "airbnb", - "env": { - "node": true, - "mocha": true - }, - "globals": { - "expect": false, - "describe": false - }, - "rules": { - "consistent-return": 1, - "max-len": 0, - "no-use-before-define": [2, "nofunc"], - "no-unused-expressions": 0, - "no-console": 0, - "space-before-function-paren": 0, - "react/prefer-stateless-function": 0, - "react/no-multi-comp": 0 - } -} diff --git a/tools/tests/apps/dynamic-import/packages/meteor-phantomjs-tests/.npm/package/.gitignore b/tools/tests/apps/dynamic-import/packages/meteor-phantomjs-tests/.npm/package/.gitignore deleted file mode 100644 index 3c3629e647..0000000000 --- a/tools/tests/apps/dynamic-import/packages/meteor-phantomjs-tests/.npm/package/.gitignore +++ /dev/null @@ -1 +0,0 @@ -node_modules diff --git a/tools/tests/apps/dynamic-import/packages/meteor-phantomjs-tests/.npm/package/README b/tools/tests/apps/dynamic-import/packages/meteor-phantomjs-tests/.npm/package/README deleted file mode 100644 index 3d492553a4..0000000000 --- a/tools/tests/apps/dynamic-import/packages/meteor-phantomjs-tests/.npm/package/README +++ /dev/null @@ -1,7 +0,0 @@ -This directory and the files immediately inside it are automatically generated -when you change this package's NPM dependencies. Commit the files in this -directory (npm-shrinkwrap.json, .gitignore, and this README) to source control -so that others run the same versions of sub-dependencies. - -You should NOT check in the node_modules directory that Meteor automatically -creates; if you are using git, the .gitignore file tells git to ignore it. diff --git a/tools/tests/apps/dynamic-import/packages/meteor-phantomjs-tests/.npm/package/npm-shrinkwrap.json b/tools/tests/apps/dynamic-import/packages/meteor-phantomjs-tests/.npm/package/npm-shrinkwrap.json deleted file mode 100644 index f70a37efc6..0000000000 --- a/tools/tests/apps/dynamic-import/packages/meteor-phantomjs-tests/.npm/package/npm-shrinkwrap.json +++ /dev/null @@ -1,545 +0,0 @@ -{ - "dependencies": { - "ansi-regex": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-2.0.0.tgz", - "from": "ansi-regex@>=2.0.0 <3.0.0" - }, - "ansi-styles": { - "version": "2.2.1", - "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-2.2.1.tgz", - "from": "ansi-styles@>=2.2.1 <3.0.0" - }, - "asn1": { - "version": "0.2.3", - "resolved": "https://registry.npmjs.org/asn1/-/asn1-0.2.3.tgz", - "from": "asn1@>=0.2.3 <0.3.0" - }, - "assert-plus": { - "version": "0.2.0", - "resolved": "https://registry.npmjs.org/assert-plus/-/assert-plus-0.2.0.tgz", - "from": "assert-plus@>=0.2.0 <0.3.0" - }, - "async": { - "version": "2.1.4", - "resolved": "https://registry.npmjs.org/async/-/async-2.1.4.tgz", - "from": "async@>=2.0.1 <3.0.0" - }, - "aws-sign2": { - "version": "0.6.0", - "resolved": "https://registry.npmjs.org/aws-sign2/-/aws-sign2-0.6.0.tgz", - "from": "aws-sign2@>=0.6.0 <0.7.0" - }, - "aws4": { - "version": "1.5.0", - "resolved": "https://registry.npmjs.org/aws4/-/aws4-1.5.0.tgz", - "from": "aws4@>=1.2.1 <2.0.0" - }, - "balanced-match": { - "version": "0.4.2", - "resolved": "https://registry.npmjs.org/balanced-match/-/balanced-match-0.4.2.tgz", - "from": "balanced-match@>=0.4.1 <0.5.0" - }, - "bcrypt-pbkdf": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/bcrypt-pbkdf/-/bcrypt-pbkdf-1.0.0.tgz", - "from": "bcrypt-pbkdf@>=1.0.0 <2.0.0" - }, - "bl": { - "version": "1.1.2", - "resolved": "https://registry.npmjs.org/bl/-/bl-1.1.2.tgz", - "from": "bl@>=1.1.2 <1.2.0" - }, - "boom": { - "version": "2.10.1", - "resolved": "https://registry.npmjs.org/boom/-/boom-2.10.1.tgz", - "from": "boom@>=2.0.0 <3.0.0" - }, - "brace-expansion": { - "version": "1.1.6", - "resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-1.1.6.tgz", - "from": "brace-expansion@>=1.0.0 <2.0.0" - }, - "caseless": { - "version": "0.11.0", - "resolved": "https://registry.npmjs.org/caseless/-/caseless-0.11.0.tgz", - "from": "caseless@>=0.11.0 <0.12.0" - }, - "chalk": { - "version": "1.1.3", - "resolved": "https://registry.npmjs.org/chalk/-/chalk-1.1.3.tgz", - "from": "chalk@>=1.1.1 <2.0.0" - }, - "combined-stream": { - "version": "1.0.5", - "resolved": "https://registry.npmjs.org/combined-stream/-/combined-stream-1.0.5.tgz", - "from": "combined-stream@>=1.0.5 <1.1.0" - }, - "commander": { - "version": "2.9.0", - "resolved": "https://registry.npmjs.org/commander/-/commander-2.9.0.tgz", - "from": "commander@>=2.9.0 <3.0.0" - }, - "concat-map": { - "version": "0.0.1", - "resolved": "https://registry.npmjs.org/concat-map/-/concat-map-0.0.1.tgz", - "from": "concat-map@0.0.1" - }, - "concat-stream": { - "version": "1.5.0", - "resolved": "https://registry.npmjs.org/concat-stream/-/concat-stream-1.5.0.tgz", - "from": "concat-stream@1.5.0" - }, - "core-util-is": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/core-util-is/-/core-util-is-1.0.2.tgz", - "from": "core-util-is@>=1.0.0 <1.1.0" - }, - "cryptiles": { - "version": "2.0.5", - "resolved": "https://registry.npmjs.org/cryptiles/-/cryptiles-2.0.5.tgz", - "from": "cryptiles@>=2.0.0 <3.0.0" - }, - "dashdash": { - "version": "1.14.1", - "resolved": "https://registry.npmjs.org/dashdash/-/dashdash-1.14.1.tgz", - "from": "dashdash@>=1.12.0 <2.0.0", - "dependencies": { - "assert-plus": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/assert-plus/-/assert-plus-1.0.0.tgz", - "from": "assert-plus@>=1.0.0 <2.0.0" - } - } - }, - "debug": { - "version": "0.7.4", - "resolved": "https://registry.npmjs.org/debug/-/debug-0.7.4.tgz", - "from": "debug@0.7.4" - }, - "delayed-stream": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/delayed-stream/-/delayed-stream-1.0.0.tgz", - "from": "delayed-stream@>=1.0.0 <1.1.0" - }, - "ecc-jsbn": { - "version": "0.1.1", - "resolved": "https://registry.npmjs.org/ecc-jsbn/-/ecc-jsbn-0.1.1.tgz", - "from": "ecc-jsbn@>=0.1.1 <0.2.0" - }, - "es6-promise": { - "version": "4.0.5", - "resolved": "https://registry.npmjs.org/es6-promise/-/es6-promise-4.0.5.tgz", - "from": "es6-promise@>=4.0.3 <4.1.0" - }, - "escape-string-regexp": { - "version": "1.0.5", - "resolved": "https://registry.npmjs.org/escape-string-regexp/-/escape-string-regexp-1.0.5.tgz", - "from": "escape-string-regexp@>=1.0.2 <2.0.0" - }, - "extend": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/extend/-/extend-3.0.0.tgz", - "from": "extend@>=3.0.0 <3.1.0" - }, - "extract-zip": { - "version": "1.5.0", - "resolved": "https://registry.npmjs.org/extract-zip/-/extract-zip-1.5.0.tgz", - "from": "extract-zip@>=1.5.0 <1.6.0" - }, - "extsprintf": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/extsprintf/-/extsprintf-1.0.2.tgz", - "from": "extsprintf@1.0.2" - }, - "fd-slicer": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/fd-slicer/-/fd-slicer-1.0.1.tgz", - "from": "fd-slicer@>=1.0.1 <1.1.0" - }, - "forever-agent": { - "version": "0.6.1", - "resolved": "https://registry.npmjs.org/forever-agent/-/forever-agent-0.6.1.tgz", - "from": "forever-agent@>=0.6.1 <0.7.0" - }, - "form-data": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/form-data/-/form-data-1.0.1.tgz", - "from": "form-data@>=1.0.0-rc4 <1.1.0" - }, - "fs-extra": { - "version": "0.30.0", - "resolved": "https://registry.npmjs.org/fs-extra/-/fs-extra-0.30.0.tgz", - "from": "fs-extra@>=0.30.0 <0.31.0" - }, - "fs.realpath": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/fs.realpath/-/fs.realpath-1.0.0.tgz", - "from": "fs.realpath@>=1.0.0 <2.0.0" - }, - "generate-function": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/generate-function/-/generate-function-2.0.0.tgz", - "from": "generate-function@>=2.0.0 <3.0.0" - }, - "generate-object-property": { - "version": "1.2.0", - "resolved": "https://registry.npmjs.org/generate-object-property/-/generate-object-property-1.2.0.tgz", - "from": "generate-object-property@>=1.1.0 <2.0.0" - }, - "getpass": { - "version": "0.1.6", - "resolved": "https://registry.npmjs.org/getpass/-/getpass-0.1.6.tgz", - "from": "getpass@>=0.1.1 <0.2.0", - "dependencies": { - "assert-plus": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/assert-plus/-/assert-plus-1.0.0.tgz", - "from": "assert-plus@>=1.0.0 <2.0.0" - } - } - }, - "glob": { - "version": "7.1.1", - "resolved": "https://registry.npmjs.org/glob/-/glob-7.1.1.tgz", - "from": "glob@>=7.0.5 <8.0.0" - }, - "graceful-fs": { - "version": "4.1.11", - "resolved": "https://registry.npmjs.org/graceful-fs/-/graceful-fs-4.1.11.tgz", - "from": "graceful-fs@>=4.1.2 <5.0.0" - }, - "graceful-readlink": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/graceful-readlink/-/graceful-readlink-1.0.1.tgz", - "from": "graceful-readlink@>=1.0.0" - }, - "har-validator": { - "version": "2.0.6", - "resolved": "https://registry.npmjs.org/har-validator/-/har-validator-2.0.6.tgz", - "from": "har-validator@>=2.0.6 <2.1.0" - }, - "has-ansi": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/has-ansi/-/has-ansi-2.0.0.tgz", - "from": "has-ansi@>=2.0.0 <3.0.0" - }, - "hasha": { - "version": "2.2.0", - "resolved": "https://registry.npmjs.org/hasha/-/hasha-2.2.0.tgz", - "from": "hasha@>=2.2.0 <2.3.0" - }, - "hawk": { - "version": "3.1.3", - "resolved": "https://registry.npmjs.org/hawk/-/hawk-3.1.3.tgz", - "from": "hawk@>=3.1.3 <3.2.0" - }, - "hoek": { - "version": "2.16.3", - "resolved": "https://registry.npmjs.org/hoek/-/hoek-2.16.3.tgz", - "from": "hoek@>=2.0.0 <3.0.0" - }, - "http-signature": { - "version": "1.1.1", - "resolved": "https://registry.npmjs.org/http-signature/-/http-signature-1.1.1.tgz", - "from": "http-signature@>=1.1.0 <1.2.0" - }, - "inflight": { - "version": "1.0.6", - "resolved": "https://registry.npmjs.org/inflight/-/inflight-1.0.6.tgz", - "from": "inflight@>=1.0.4 <2.0.0" - }, - "inherits": { - "version": "2.0.3", - "resolved": "https://registry.npmjs.org/inherits/-/inherits-2.0.3.tgz", - "from": "inherits@>=2.0.1 <2.1.0" - }, - "is-my-json-valid": { - "version": "2.15.0", - "resolved": "https://registry.npmjs.org/is-my-json-valid/-/is-my-json-valid-2.15.0.tgz", - "from": "is-my-json-valid@>=2.12.4 <3.0.0" - }, - "is-property": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/is-property/-/is-property-1.0.2.tgz", - "from": "is-property@>=1.0.0 <2.0.0" - }, - "is-stream": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/is-stream/-/is-stream-1.1.0.tgz", - "from": "is-stream@>=1.0.1 <2.0.0" - }, - "is-typedarray": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/is-typedarray/-/is-typedarray-1.0.0.tgz", - "from": "is-typedarray@>=1.0.0 <1.1.0" - }, - "isarray": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/isarray/-/isarray-1.0.0.tgz", - "from": "isarray@>=1.0.0 <1.1.0" - }, - "isexe": { - "version": "1.1.2", - "resolved": "https://registry.npmjs.org/isexe/-/isexe-1.1.2.tgz", - "from": "isexe@>=1.1.1 <2.0.0" - }, - "isstream": { - "version": "0.1.2", - "resolved": "https://registry.npmjs.org/isstream/-/isstream-0.1.2.tgz", - "from": "isstream@>=0.1.2 <0.2.0" - }, - "jodid25519": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/jodid25519/-/jodid25519-1.0.2.tgz", - "from": "jodid25519@>=1.0.0 <2.0.0" - }, - "jsbn": { - "version": "0.1.0", - "resolved": "https://registry.npmjs.org/jsbn/-/jsbn-0.1.0.tgz", - "from": "jsbn@>=0.1.0 <0.2.0" - }, - "json-schema": { - "version": "0.2.3", - "resolved": "https://registry.npmjs.org/json-schema/-/json-schema-0.2.3.tgz", - "from": "json-schema@0.2.3" - }, - "json-stringify-safe": { - "version": "5.0.1", - "resolved": "https://registry.npmjs.org/json-stringify-safe/-/json-stringify-safe-5.0.1.tgz", - "from": "json-stringify-safe@>=5.0.1 <5.1.0" - }, - "jsonfile": { - "version": "2.4.0", - "resolved": "https://registry.npmjs.org/jsonfile/-/jsonfile-2.4.0.tgz", - "from": "jsonfile@>=2.1.0 <3.0.0" - }, - "jsonpointer": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/jsonpointer/-/jsonpointer-4.0.0.tgz", - "from": "jsonpointer@>=4.0.0 <5.0.0" - }, - "jsprim": { - "version": "1.3.1", - "resolved": "https://registry.npmjs.org/jsprim/-/jsprim-1.3.1.tgz", - "from": "jsprim@>=1.2.2 <2.0.0" - }, - "kew": { - "version": "0.7.0", - "resolved": "https://registry.npmjs.org/kew/-/kew-0.7.0.tgz", - "from": "kew@>=0.7.0 <0.8.0" - }, - "klaw": { - "version": "1.3.1", - "resolved": "https://registry.npmjs.org/klaw/-/klaw-1.3.1.tgz", - "from": "klaw@>=1.0.0 <2.0.0" - }, - "lodash": { - "version": "4.17.2", - "resolved": "https://registry.npmjs.org/lodash/-/lodash-4.17.2.tgz", - "from": "lodash@>=4.14.0 <5.0.0" - }, - "meteor-force-non-portable": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/meteor-force-non-portable/-/meteor-force-non-portable-1.0.0.tgz", - "from": "meteor-force-non-portable@1.0.0" - }, - "mime-db": { - "version": "1.25.0", - "resolved": "https://registry.npmjs.org/mime-db/-/mime-db-1.25.0.tgz", - "from": "mime-db@>=1.25.0 <1.26.0" - }, - "mime-types": { - "version": "2.1.13", - "resolved": "https://registry.npmjs.org/mime-types/-/mime-types-2.1.13.tgz", - "from": "mime-types@>=2.1.7 <2.2.0" - }, - "minimatch": { - "version": "3.0.3", - "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-3.0.3.tgz", - "from": "minimatch@>=3.0.2 <4.0.0" - }, - "minimist": { - "version": "0.0.8", - "resolved": "https://registry.npmjs.org/minimist/-/minimist-0.0.8.tgz", - "from": "minimist@0.0.8" - }, - "mkdirp": { - "version": "0.5.0", - "resolved": "https://registry.npmjs.org/mkdirp/-/mkdirp-0.5.0.tgz", - "from": "mkdirp@0.5.0" - }, - "node-uuid": { - "version": "1.4.7", - "resolved": "https://registry.npmjs.org/node-uuid/-/node-uuid-1.4.7.tgz", - "from": "node-uuid@>=1.4.7 <1.5.0" - }, - "oauth-sign": { - "version": "0.8.2", - "resolved": "https://registry.npmjs.org/oauth-sign/-/oauth-sign-0.8.2.tgz", - "from": "oauth-sign@>=0.8.1 <0.9.0" - }, - "once": { - "version": "1.4.0", - "resolved": "https://registry.npmjs.org/once/-/once-1.4.0.tgz", - "from": "once@>=1.3.0 <2.0.0" - }, - "path-is-absolute": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/path-is-absolute/-/path-is-absolute-1.0.1.tgz", - "from": "path-is-absolute@>=1.0.0 <2.0.0" - }, - "pend": { - "version": "1.2.0", - "resolved": "https://registry.npmjs.org/pend/-/pend-1.2.0.tgz", - "from": "pend@>=1.2.0 <1.3.0" - }, - "phantomjs-prebuilt": { - "version": "2.1.13", - "resolved": "https://registry.npmjs.org/phantomjs-prebuilt/-/phantomjs-prebuilt-2.1.13.tgz", - "from": "phantomjs-prebuilt@2.1.13" - }, - "pinkie": { - "version": "2.0.4", - "resolved": "https://registry.npmjs.org/pinkie/-/pinkie-2.0.4.tgz", - "from": "pinkie@>=2.0.0 <3.0.0" - }, - "pinkie-promise": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/pinkie-promise/-/pinkie-promise-2.0.1.tgz", - "from": "pinkie-promise@>=2.0.0 <3.0.0" - }, - "process-nextick-args": { - "version": "1.0.7", - "resolved": "https://registry.npmjs.org/process-nextick-args/-/process-nextick-args-1.0.7.tgz", - "from": "process-nextick-args@>=1.0.6 <1.1.0" - }, - "progress": { - "version": "1.1.8", - "resolved": "https://registry.npmjs.org/progress/-/progress-1.1.8.tgz", - "from": "progress@>=1.1.8 <1.2.0" - }, - "punycode": { - "version": "1.4.1", - "resolved": "https://registry.npmjs.org/punycode/-/punycode-1.4.1.tgz", - "from": "punycode@>=1.4.1 <2.0.0" - }, - "qs": { - "version": "6.2.1", - "resolved": "https://registry.npmjs.org/qs/-/qs-6.2.1.tgz", - "from": "qs@>=6.2.0 <6.3.0" - }, - "readable-stream": { - "version": "2.0.6", - "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-2.0.6.tgz", - "from": "readable-stream@>=2.0.0 <2.1.0" - }, - "request": { - "version": "2.74.0", - "resolved": "https://registry.npmjs.org/request/-/request-2.74.0.tgz", - "from": "request@>=2.74.0 <2.75.0" - }, - "request-progress": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/request-progress/-/request-progress-2.0.1.tgz", - "from": "request-progress@>=2.0.1 <2.1.0" - }, - "rimraf": { - "version": "2.5.4", - "resolved": "https://registry.npmjs.org/rimraf/-/rimraf-2.5.4.tgz", - "from": "rimraf@>=2.2.8 <3.0.0" - }, - "sntp": { - "version": "1.0.9", - "resolved": "https://registry.npmjs.org/sntp/-/sntp-1.0.9.tgz", - "from": "sntp@>=1.0.0 <2.0.0" - }, - "sshpk": { - "version": "1.10.1", - "resolved": "https://registry.npmjs.org/sshpk/-/sshpk-1.10.1.tgz", - "from": "sshpk@>=1.7.0 <2.0.0", - "dependencies": { - "assert-plus": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/assert-plus/-/assert-plus-1.0.0.tgz", - "from": "assert-plus@>=1.0.0 <2.0.0" - } - } - }, - "string_decoder": { - "version": "0.10.31", - "resolved": "https://registry.npmjs.org/string_decoder/-/string_decoder-0.10.31.tgz", - "from": "string_decoder@>=0.10.0 <0.11.0" - }, - "stringstream": { - "version": "0.0.5", - "resolved": "https://registry.npmjs.org/stringstream/-/stringstream-0.0.5.tgz", - "from": "stringstream@>=0.0.4 <0.1.0" - }, - "strip-ansi": { - "version": "3.0.1", - "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-3.0.1.tgz", - "from": "strip-ansi@>=3.0.0 <4.0.0" - }, - "supports-color": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-2.0.0.tgz", - "from": "supports-color@>=2.0.0 <3.0.0" - }, - "throttleit": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/throttleit/-/throttleit-1.0.0.tgz", - "from": "throttleit@>=1.0.0 <2.0.0" - }, - "tough-cookie": { - "version": "2.3.2", - "resolved": "https://registry.npmjs.org/tough-cookie/-/tough-cookie-2.3.2.tgz", - "from": "tough-cookie@>=2.3.0 <2.4.0" - }, - "tunnel-agent": { - "version": "0.4.3", - "resolved": "https://registry.npmjs.org/tunnel-agent/-/tunnel-agent-0.4.3.tgz", - "from": "tunnel-agent@>=0.4.1 <0.5.0" - }, - "tweetnacl": { - "version": "0.14.4", - "resolved": "https://registry.npmjs.org/tweetnacl/-/tweetnacl-0.14.4.tgz", - "from": "tweetnacl@>=0.14.0 <0.15.0" - }, - "typedarray": { - "version": "0.0.6", - "resolved": "https://registry.npmjs.org/typedarray/-/typedarray-0.0.6.tgz", - "from": "typedarray@>=0.0.5 <0.1.0" - }, - "util-deprecate": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/util-deprecate/-/util-deprecate-1.0.2.tgz", - "from": "util-deprecate@>=1.0.1 <1.1.0" - }, - "verror": { - "version": "1.3.6", - "resolved": "https://registry.npmjs.org/verror/-/verror-1.3.6.tgz", - "from": "verror@1.3.6" - }, - "which": { - "version": "1.2.12", - "resolved": "https://registry.npmjs.org/which/-/which-1.2.12.tgz", - "from": "which@>=1.2.10 <1.3.0" - }, - "wrappy": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/wrappy/-/wrappy-1.0.2.tgz", - "from": "wrappy@>=1.0.0 <2.0.0" - }, - "xtend": { - "version": "4.0.1", - "resolved": "https://registry.npmjs.org/xtend/-/xtend-4.0.1.tgz", - "from": "xtend@>=4.0.0 <5.0.0" - }, - "yauzl": { - "version": "2.4.1", - "resolved": "https://registry.npmjs.org/yauzl/-/yauzl-2.4.1.tgz", - "from": "yauzl@2.4.1" - } - } -} diff --git a/tools/tests/apps/dynamic-import/packages/meteor-phantomjs-tests/.versions b/tools/tests/apps/dynamic-import/packages/meteor-phantomjs-tests/.versions deleted file mode 100644 index 302b138809..0000000000 --- a/tools/tests/apps/dynamic-import/packages/meteor-phantomjs-tests/.versions +++ /dev/null @@ -1,10 +0,0 @@ -babel-compiler@6.6.4 -babel-runtime@0.1.8 -dispatch:phantomjs-tests@0.0.7 -ecmascript@0.4.3 -ecmascript-runtime@0.2.10 -meteor@1.1.14 -modules@0.6.1 -modules-runtime@0.6.3 -promise@0.6.7 -underscore@1.0.8 diff --git a/tools/tests/apps/dynamic-import/packages/meteor-phantomjs-tests/LICENSE b/tools/tests/apps/dynamic-import/packages/meteor-phantomjs-tests/LICENSE deleted file mode 100644 index cac20154a4..0000000000 --- a/tools/tests/apps/dynamic-import/packages/meteor-phantomjs-tests/LICENSE +++ /dev/null @@ -1,21 +0,0 @@ -The MIT License (MIT) - -Copyright (c) 2016 Dispatch - -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. \ No newline at end of file diff --git a/tools/tests/apps/dynamic-import/packages/meteor-phantomjs-tests/README.md b/tools/tests/apps/dynamic-import/packages/meteor-phantomjs-tests/README.md deleted file mode 100644 index 4d90fca0e4..0000000000 --- a/tools/tests/apps/dynamic-import/packages/meteor-phantomjs-tests/README.md +++ /dev/null @@ -1,52 +0,0 @@ -# dispatch:phantomjs-tests - -This package exports a `startPhantom` function for server code, which runs your client tests within a PhantomJS page. Meteor test driver packages can depend on this package. See the example implementation here: https://github.com/DispatchMe/meteor-mocha-phantomjs - -## Usage - -In your test driver package `package.js` file, add - -```js -api.use('dispatch:phantomjs-tests@0.0.1', 'server'); -``` - -Then in your server code, do something similar to this: - -```js -import { startPhantom } from 'meteor/dispatch:phantomjs-tests'; - -function start() { - startPhantom({ - stdout(data) { - console.log(data.toString()); - }, - stderr(data) { - console.log(data.toString()); - }, - done(failureCount) { - // Your code to run when client tests are done running - }, - }); -} - -export { start }; -``` - -And in your client code, you need to set some properties on `window` so that the PhantomJS script knows what is happening: - -```js -// Run the client tests. Meteor calls the `runTests` function exported by -// the driver package on the client. -function runTests() { - // These `window` properties are all used by the phantomjs script to - // know what is happening. - window.testsAreRunning = true; - mocha.run((failures) => { - window.testsAreRunning = false; - window.testFailures = failures; - window.testsDone = true; - }); -} - -export { runTests }; -``` diff --git a/tools/tests/apps/dynamic-import/packages/meteor-phantomjs-tests/package.js b/tools/tests/apps/dynamic-import/packages/meteor-phantomjs-tests/package.js deleted file mode 100644 index a3c08df849..0000000000 --- a/tools/tests/apps/dynamic-import/packages/meteor-phantomjs-tests/package.js +++ /dev/null @@ -1,22 +0,0 @@ -Package.describe({ - name: "dispatch:phantomjs-tests", - summary: "A helper package for Meteor test driver packages. Runs client tests in PhantomJS.", - git: "https://github.com/dispatch/meteor-phantomjs-tests.git", - version: '0.0.7', - testOnly: true, -}); - -Npm.depends({ - 'meteor-force-non-portable': '1.0.0', - 'phantomjs-prebuilt': '2.1.13', -}); - -Package.onUse(function (api) { - api.versionsFrom('1.2.1'); - - api.use('ecmascript'); - - api.addAssets('phantomjsScript.js', 'server'); - - api.mainModule('server.js', 'server'); -}); diff --git a/tools/tests/apps/dynamic-import/packages/meteor-phantomjs-tests/phantomjsScript.js b/tools/tests/apps/dynamic-import/packages/meteor-phantomjs-tests/phantomjsScript.js deleted file mode 100644 index b33cbe1cdb..0000000000 --- a/tools/tests/apps/dynamic-import/packages/meteor-phantomjs-tests/phantomjsScript.js +++ /dev/null @@ -1,56 +0,0 @@ -var page = require('webpage').create(); -var system = require('system'); - -// Returns a string with ANSII escape characters removed. -// Borrowed from https://www.npmjs.com/package/strip-ansi -function stripAnsi(str) { - if (str.length === 0) return str; - return str.replace(/[\u001b\u009b][[()#;?]*(?:[0-9]{1,4}(?:;[0-9]{0,4})*)?[0-9A-ORZcf-nqry=><]/g, ''); -} - -var lastOutput = new Date(); -page.onConsoleMessage = function(message) { - lastOutput = new Date(); - if (typeof message === 'string') { - // Remove empty "stdout" lines. Not sure where these come from. - // See https://github.com/DispatchMe/meteor-mocha-phantomjs/issues/30 - if (stripAnsi(message).trim() !== 'stdout:') console.log(message); - return; - } - console.log(message); -}; - -page.onError = function(msg, trace) { - var testsAreRunning = page.evaluate(function() { - return window.testsAreRunning; - }); - if (testsAreRunning) return; - console.error(msg); - trace.forEach(function(item) { - console.error(' ' + item.file + ': ' + item.line); - }); - // We could call phantom.exit here, but sometimes there are benign client errors - // and the tests still load and run fine. So instead there is a safeguard in the - // setInterval to exit if nothing happens for awhile. -}; - -page.open(system.env.ROOT_URL); - -setInterval(function() { - var done = page.evaluate(function() { - return window.testsDone; - }); - if (done) { - var failures = page.evaluate(function() { - return window.testFailures; - }); - // We pass back the number of failures as the exit code - return phantom.exit(failures); - } - - // As a safeguard, we will exit if there hasn't been console output for - // 30 seconds. - if ((new Date()) - lastOutput > 30000) { - phantom.exit(2); - } -}, 500); diff --git a/tools/tests/apps/dynamic-import/packages/meteor-phantomjs-tests/server.js b/tools/tests/apps/dynamic-import/packages/meteor-phantomjs-tests/server.js deleted file mode 100644 index 1925cacbd6..0000000000 --- a/tools/tests/apps/dynamic-import/packages/meteor-phantomjs-tests/server.js +++ /dev/null @@ -1,51 +0,0 @@ -const phantomjs = Npm.require('phantomjs-prebuilt'); -const childProcess = Npm.require('child_process'); - -const PHANTOMJS_SCRIPT_FILE_NAME = 'phantomjsScript.js'; - -export function startPhantom({ - stdout, - stderr, - done, -}) { - const scriptPath = Assets.absoluteFilePath(PHANTOMJS_SCRIPT_FILE_NAME); - - if (process.env.METEOR_PHANTOMJS_DEBUG) { - console.log('PhantomJS Path:', phantomjs.path); - console.log('PhantomJS Script Path:', scriptPath); - } - - const args = []; - const keyPrefix = "METEOR_PHANTOMJS_"; - Object.keys(process.env).forEach(key => { - if (key.startsWith(keyPrefix)) { - console.log(keyPrefix); - args.push( - "--" + key - .slice(keyPrefix.length) - .toLowerCase() - .replace(/_/g, "-"), - process.env[key] - ); - } - }); - - args.push(scriptPath); - - const phantomProcess = childProcess.execFile(phantomjs.path, args, { - env: { - ROOT_URL: process.env.ROOT_URL, - }, - }); - - phantomProcess.on('error', (error) => { - throw error; - }); - - phantomProcess.on('exit', done); - - // The PhantomJS script echoes whatever the page prints to the browser console and - // here we echo that once again. - phantomProcess.stdout.on('data', stdout); - phantomProcess.stderr.on('data', stderr); -} diff --git a/tools/tests/apps/modules/package-lock.json b/tools/tests/apps/modules/package-lock.json index 3c8c66582e..61eee96204 100644 --- a/tools/tests/apps/modules/package-lock.json +++ b/tools/tests/apps/modules/package-lock.json @@ -194,6 +194,14 @@ "acorn": { "version": "file:imports/links/acorn" }, + "agent-base": { + "version": "4.2.0", + "resolved": "https://registry.npmjs.org/agent-base/-/agent-base-4.2.0.tgz", + "integrity": "sha512-c+R/U5X+2zz2+UCrCFv6odQzJdoqI+YecuhnAJLa1zYaMc13zPfwMwZrr91Pd1DYNo/yPRbiM4WVf9whgwFsIg==", + "requires": { + "es6-promisify": "5.0.0" + } + }, "ansi-styles": { "version": "3.2.1", "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-3.2.1.tgz", @@ -230,6 +238,11 @@ "resolved": "https://registry.npmjs.org/async/-/async-1.0.0.tgz", "integrity": "sha1-+PwEyjoTeErenhZBr5hXjPvWR6k=" }, + "async-limiter": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/async-limiter/-/async-limiter-1.0.0.tgz", + "integrity": "sha512-jp/uFnooOiO+L211eZOoSyzpOITMXx1rBITauYykG3BRYPu8h0UcxsPNB04RR5vo4Tyz3+ay17tR6JVf9qzYWg==" + }, "aws-sdk": { "version": "2.212.1", "resolved": "https://registry.npmjs.org/aws-sdk/-/aws-sdk-2.212.1.tgz", @@ -259,6 +272,11 @@ "resolved": "https://registry.npmjs.org/babylon/-/babylon-7.0.0-beta.42.tgz", "integrity": "sha512-h6E/OkkvcBw/JimbL0p8dIaxrcuQn3QmIYGC/GtJlRYif5LTKBYPHXYwqluJpfS/kOXoz0go+9mkmOVC0M+zWw==" }, + "balanced-match": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/balanced-match/-/balanced-match-1.0.0.tgz", + "integrity": "sha1-ibTRmasr7kneFk6gK4nORi1xt2c=" + }, "base64-js": { "version": "1.2.3", "resolved": "https://registry.npmjs.org/base64-js/-/base64-js-1.2.3.tgz", @@ -287,6 +305,15 @@ "resolved": "https://registry.npmjs.org/bluebird/-/bluebird-2.11.0.tgz", "integrity": "sha1-U0uQM8AiyVecVro7Plpcqvu2UOE=" }, + "brace-expansion": { + "version": "1.1.11", + "resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-1.1.11.tgz", + "integrity": "sha512-iCuPHDFgrHX7H2vEI/5xpz07zSHB00TpugqhmYtVmMO6518mCuRMoOYFldEBl0g187ufozdaHgWKcYFb61qGiA==", + "requires": { + "balanced-match": "1.0.0", + "concat-map": "0.0.1" + } + }, "braces": { "version": "1.8.5", "resolved": "https://registry.npmjs.org/braces/-/braces-1.8.5.tgz", @@ -344,6 +371,21 @@ "resolved": "https://registry.npmjs.org/colors/-/colors-1.0.3.tgz", "integrity": "sha1-BDP0TYCWgP3rYO0mDxsMJi6CpAs=" }, + "concat-map": { + "version": "0.0.1", + "resolved": "https://registry.npmjs.org/concat-map/-/concat-map-0.0.1.tgz", + "integrity": "sha1-2Klr13/Wjfd5OnMDajug1UBdR3s=" + }, + "concat-stream": { + "version": "1.6.0", + "resolved": "https://registry.npmjs.org/concat-stream/-/concat-stream-1.6.0.tgz", + "integrity": "sha1-CqxmL9Ur54lk1VMvaUeE5wEQrPc=", + "requires": { + "inherits": "2.0.3", + "readable-stream": "2.3.5", + "typedarray": "0.0.6" + } + }, "convert-source-map": { "version": "1.5.1", "resolved": "https://registry.npmjs.org/convert-source-map/-/convert-source-map-1.5.1.tgz", @@ -377,6 +419,19 @@ "resolved": "https://registry.npmjs.org/es5-ext/-/es5-ext-0.9.2.tgz", "integrity": "sha1-0uMJ0fIjsHGGSINaz1uII6gGH4o=" }, + "es6-promise": { + "version": "4.2.4", + "resolved": "https://registry.npmjs.org/es6-promise/-/es6-promise-4.2.4.tgz", + "integrity": "sha512-/NdNZVJg+uZgtm9eS3O6lrOLYmQag2DjdEXuPaHlZ6RuVqgqaVZfgYCepEIKsLqwdQArOPtC3XzRLqGGfT8KQQ==" + }, + "es6-promisify": { + "version": "5.0.0", + "resolved": "https://registry.npmjs.org/es6-promisify/-/es6-promisify-5.0.0.tgz", + "integrity": "sha1-UQnWLz5W6pZ8S2NQWu8IKRyKUgM=", + "requires": { + "es6-promise": "4.2.4" + } + }, "escape-string-regexp": { "version": "1.0.5", "resolved": "https://registry.npmjs.org/escape-string-regexp/-/escape-string-regexp-1.0.5.tgz", @@ -424,11 +479,40 @@ "is-extglob": "1.0.0" } }, + "extract-zip": { + "version": "1.6.6", + "resolved": "https://registry.npmjs.org/extract-zip/-/extract-zip-1.6.6.tgz", + "integrity": "sha1-EpDt6NINCHK0Kf0/NRyhKOxe+Fw=", + "requires": { + "concat-stream": "1.6.0", + "debug": "2.6.9", + "mkdirp": "0.5.0", + "yauzl": "2.4.1" + }, + "dependencies": { + "debug": { + "version": "2.6.9", + "resolved": "https://registry.npmjs.org/debug/-/debug-2.6.9.tgz", + "integrity": "sha512-bC7ElrdJaJnPbAP+1EotYvqZsb3ecl5wi6Bfi6BJTUcNowp6cvspg0jXznRTKDjm/E7AdgFBVeAPVMNcKGsHMA==", + "requires": { + "ms": "2.0.0" + } + } + } + }, "eyes": { "version": "0.1.8", "resolved": "https://registry.npmjs.org/eyes/-/eyes-0.1.8.tgz", "integrity": "sha1-Ys8SAjTGg3hdkCNIqADvPgzCC8A=" }, + "fd-slicer": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/fd-slicer/-/fd-slicer-1.0.1.tgz", + "integrity": "sha1-i1vL2ewyfFBBv5qwI/1nUPEXfmU=", + "requires": { + "pend": "1.2.0" + } + }, "filename-regex": { "version": "2.0.1", "resolved": "https://registry.npmjs.org/filename-regex/-/filename-regex-2.0.1.tgz", @@ -459,6 +543,11 @@ "for-in": "1.0.2" } }, + "fs.realpath": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/fs.realpath/-/fs.realpath-1.0.0.tgz", + "integrity": "sha1-FQStJSMVjKpA20onh8sBQRmU6k8=" + }, "generic-pool": { "version": "2.5.4", "resolved": "https://registry.npmjs.org/generic-pool/-/generic-pool-2.5.4.tgz", @@ -472,6 +561,19 @@ "mime": "1.6.0" } }, + "glob": { + "version": "7.1.2", + "resolved": "https://registry.npmjs.org/glob/-/glob-7.1.2.tgz", + "integrity": "sha512-MJTUg1kjuLeQCJ+ccE4Vpa6kKVXkPYJ2mOCQyUuKLcLQsdrMCpBPUi8qVE6+YuaJkozeA9NusTAw3hLr8Xe5EQ==", + "requires": { + "fs.realpath": "1.0.0", + "inflight": "1.0.6", + "inherits": "2.0.3", + "minimatch": "3.0.4", + "once": "1.4.0", + "path-is-absolute": "1.0.1" + } + }, "glob-base": { "version": "0.3.0", "resolved": "https://registry.npmjs.org/glob-base/-/glob-base-0.3.0.tgz", @@ -499,16 +601,20 @@ "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-3.0.0.tgz", "integrity": "sha1-tdRU3CGZriJWmfNGfloH87lVuv0=" }, + "https-proxy-agent": { + "version": "2.2.1", + "resolved": "https://registry.npmjs.org/https-proxy-agent/-/https-proxy-agent-2.2.1.tgz", + "integrity": "sha512-HPCTS1LW51bcyMYbxUIOO4HEOlQ1/1qRaFWcyxvwaqUS9TY88aoEuHUY33kuAh1YhVVaDQhLZsnPd+XNARWZlQ==", + "requires": { + "agent-base": "4.2.0", + "debug": "3.1.0" + } + }, "iconv-lite": { "version": "0.4.19", "resolved": "https://registry.npmjs.org/iconv-lite/-/iconv-lite-0.4.19.tgz", "integrity": "sha512-oTZqweIP51xaGPI4uPa56/Pri/480R+mo7SeU+YETByQNhDG55ycFyNLIgta9vXhILrxXDmF7ZGhqZIcuN0gJQ==" }, - "idle-gc": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/idle-gc/-/idle-gc-1.0.1.tgz", - "integrity": "sha1-5BgKGF/MkYULlGe4xZ5xYMX0uB0=" - }, "ieee754": { "version": "1.1.8", "resolved": "https://registry.npmjs.org/ieee754/-/ieee754-1.1.8.tgz", @@ -519,6 +625,15 @@ "resolved": "https://registry.npmjs.org/immutable-tuple/-/immutable-tuple-0.4.4.tgz", "integrity": "sha512-nJQ1HbFPgCLHMsO3Y9f55hV9z7RSloQF3PkkmKF70OxvgPT6Tz+EgY+4k64LusutkmOOlM9FGDwz2ow3CDvZCA==" }, + "inflight": { + "version": "1.0.6", + "resolved": "https://registry.npmjs.org/inflight/-/inflight-1.0.6.tgz", + "integrity": "sha1-Sb1jMdfQLQwJvJEKEHW6gWW1bfk=", + "requires": { + "once": "1.4.0", + "wrappy": "1.0.2" + } + }, "inherits": { "version": "2.0.3", "resolved": "https://registry.npmjs.org/inherits/-/inherits-2.0.3.tgz", @@ -1370,6 +1485,27 @@ "resolved": "https://registry.npmjs.org/mime/-/mime-1.6.0.tgz", "integrity": "sha512-x0Vn8spI+wuJ1O6S7gnbaQg8Pxh4NNHb7KSINmEWKiPE4RKOplvijn+NkmYmmRgP68mc70j2EbeTFRsrswaQeg==" }, + "minimatch": { + "version": "3.0.4", + "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-3.0.4.tgz", + "integrity": "sha512-yJHVQEhyqPLUTgt9B83PXu6W3rx4MvvHvSUvToogpwoGDOUQ+yDrR0HRot+yOCdCO7u4hX3pWft6kWBBcqh0UA==", + "requires": { + "brace-expansion": "1.1.11" + } + }, + "minimist": { + "version": "0.0.8", + "resolved": "https://registry.npmjs.org/minimist/-/minimist-0.0.8.tgz", + "integrity": "sha1-hX/Kv8M5fSYluCKCYuhqp6ARsF0=" + }, + "mkdirp": { + "version": "0.5.0", + "resolved": "https://registry.npmjs.org/mkdirp/-/mkdirp-0.5.0.tgz", + "integrity": "sha1-HXMHam35hs2TROFecfzAWkyavxI=", + "requires": { + "minimist": "0.0.8" + } + }, "moment": { "version": "2.11.1", "resolved": "https://registry.npmjs.org/moment/-/moment-2.11.1.tgz", @@ -1449,6 +1585,14 @@ "is-extendable": "0.1.1" } }, + "once": { + "version": "1.4.0", + "resolved": "https://registry.npmjs.org/once/-/once-1.4.0.tgz", + "integrity": "sha1-WDsap3WWHUsROsF9nFC6753Xa9E=", + "requires": { + "wrappy": "1.0.2" + } + }, "parse-glob": { "version": "3.0.4", "resolved": "https://registry.npmjs.org/parse-glob/-/parse-glob-3.0.4.tgz", @@ -1460,11 +1604,21 @@ "is-glob": "2.0.1" } }, + "path-is-absolute": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/path-is-absolute/-/path-is-absolute-1.0.1.tgz", + "integrity": "sha1-F0uSaHNVNP+8es5r9TpanhtcX18=" + }, "path-parse": { "version": "1.0.5", "resolved": "https://registry.npmjs.org/path-parse/-/path-parse-1.0.5.tgz", "integrity": "sha1-PBrfhx6pzWyUMbbqK9dKD/BVxME=" }, + "pend": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/pend/-/pend-1.2.0.tgz", + "integrity": "sha1-elfrVQpng/kRUzH89GY9XI4AelA=" + }, "preserve": { "version": "0.2.0", "resolved": "https://registry.npmjs.org/preserve/-/preserve-0.2.0.tgz", @@ -1475,6 +1629,11 @@ "resolved": "https://registry.npmjs.org/process-nextick-args/-/process-nextick-args-2.0.0.tgz", "integrity": "sha512-MtEC1TqN0EU5nephaJ4rAtThHtC86dNN9qCuEhtshvpVBkAW5ZO7BASN9REnF9eoXGcRub+pFuKEpOHE+HbEMw==" }, + "progress": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/progress/-/progress-2.0.0.tgz", + "integrity": "sha1-ihvjZr+Pwj2yvSPxDG/pILQ4nR8=" + }, "promise": { "version": "7.3.1", "resolved": "https://registry.npmjs.org/promise/-/promise-7.3.1.tgz", @@ -1483,11 +1642,41 @@ "asap": "2.0.6" } }, + "proxy-from-env": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/proxy-from-env/-/proxy-from-env-1.0.0.tgz", + "integrity": "sha1-M8UDmPcOp+uW0h97gXYwpVeRx+4=" + }, "punycode": { "version": "1.3.2", "resolved": "https://registry.npmjs.org/punycode/-/punycode-1.3.2.tgz", "integrity": "sha1-llOgNvt8HuQjQvIyXM7v6jkmxI0=" }, + "puppeteer": { + "version": "1.3.0", + "resolved": "https://registry.npmjs.org/puppeteer/-/puppeteer-1.3.0.tgz", + "integrity": "sha512-wx10aPQPpGJVxdB6yoDSLm9p4rCwARUSLMVV0bx++owuqkvviXKyiFM3EWsywaFmjOKNPXacIjplF7xhHiFP3w==", + "requires": { + "debug": "2.6.9", + "extract-zip": "1.6.6", + "https-proxy-agent": "2.2.1", + "mime": "1.6.0", + "progress": "2.0.0", + "proxy-from-env": "1.0.0", + "rimraf": "2.6.2", + "ws": "3.3.3" + }, + "dependencies": { + "debug": { + "version": "2.6.9", + "resolved": "https://registry.npmjs.org/debug/-/debug-2.6.9.tgz", + "integrity": "sha512-bC7ElrdJaJnPbAP+1EotYvqZsb3ecl5wi6Bfi6BJTUcNowp6cvspg0jXznRTKDjm/E7AdgFBVeAPVMNcKGsHMA==", + "requires": { + "ms": "2.0.0" + } + } + } + }, "qs": { "version": "6.0.4", "resolved": "https://registry.npmjs.org/qs/-/qs-6.0.4.tgz", @@ -1585,6 +1774,14 @@ "path-parse": "1.0.5" } }, + "rimraf": { + "version": "2.6.2", + "resolved": "https://registry.npmjs.org/rimraf/-/rimraf-2.6.2.tgz", + "integrity": "sha512-lreewLK/BlghmxtfH36YYVg1i8IAce4TI7oao75I1g245+6BctqTVQiBP3YUJ9C6DQOXJmkYR9X9fCLtCOJc5w==", + "requires": { + "glob": "7.1.2" + } + }, "safe-buffer": { "version": "5.1.1", "resolved": "https://registry.npmjs.org/safe-buffer/-/safe-buffer-5.1.1.tgz", @@ -1686,6 +1883,16 @@ "resolved": "https://registry.npmjs.org/trim-right/-/trim-right-1.0.1.tgz", "integrity": "sha1-yy4SAwZ+DI3h9hQJS5/kVwTqYAM=" }, + "typedarray": { + "version": "0.0.6", + "resolved": "https://registry.npmjs.org/typedarray/-/typedarray-0.0.6.tgz", + "integrity": "sha1-hnrHTjhkGHsdPUfZlqeOxciDB3c=" + }, + "ultron": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/ultron/-/ultron-1.1.1.tgz", + "integrity": "sha512-UIEXBNeYmKptWH6z8ZnqTeS8fV74zG0/eRU9VGkpzz+LIJNs8W/zM/L+7ctCkRrgbNnnR0xxw4bKOr0cW0N0Og==" + }, "url": { "version": "0.10.3", "resolved": "https://registry.npmjs.org/url/-/url-0.10.3.tgz", @@ -1718,6 +1925,21 @@ "stack-trace": "0.0.10" } }, + "wrappy": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/wrappy/-/wrappy-1.0.2.tgz", + "integrity": "sha1-tSQ9jz7BqjXxNkYFvA0QNuMKtp8=" + }, + "ws": { + "version": "3.3.3", + "resolved": "https://registry.npmjs.org/ws/-/ws-3.3.3.tgz", + "integrity": "sha512-nnWLa/NwZSt4KQJu51MYlCcSQ5g7INpOrOMt4XV8j4dqTXdmlUmSHQ8/oLC069ckre0fRsgfvsKwbTdtKLCDkA==", + "requires": { + "async-limiter": "1.0.0", + "safe-buffer": "5.1.1", + "ultron": "1.1.1" + } + }, "xml2js": { "version": "0.4.17", "resolved": "https://registry.npmjs.org/xml2js/-/xml2js-0.4.17.tgz", @@ -1734,6 +1956,14 @@ "requires": { "lodash": "4.17.5" } + }, + "yauzl": { + "version": "2.4.1", + "resolved": "https://registry.npmjs.org/yauzl/-/yauzl-2.4.1.tgz", + "integrity": "sha1-lSj0QtqxsihOWLQ3m7GU4i4MQAU=", + "requires": { + "fd-slicer": "1.0.1" + } } } } diff --git a/tools/tests/apps/modules/package.json b/tools/tests/apps/modules/package.json index 326287091d..11fe0d3870 100644 --- a/tools/tests/apps/modules/package.json +++ b/tools/tests/apps/modules/package.json @@ -4,10 +4,10 @@ "description": "Test app exercising many aspects of the Meteor module system.", "private": true, "dependencies": { - "@babel/runtime": "^7.0.0-beta.42", "@babel/core": "^7.0.0-beta.42", "@babel/plugin-proposal-do-expressions": "^7.0.0-beta.42", "@babel/plugin-proposal-optional-chaining": "^7.0.0-beta.42", + "@babel/runtime": "^7.0.0-beta.42", "acorn": "file:imports/links/acorn", "aws-sdk": "^2.2.41", "cli-color": "^0.2.3", @@ -19,15 +19,16 @@ "moment": "2.11.1", "mssql": "^3.1.1", "mysql": "^2.15.0", + "puppeteer": "^1.3.0", "regenerator-runtime": "^0.11.1", "stripe": "^4.4.0", "uuid": "^3.1.0", "winston": "^2.3.1" }, "scripts": { - "test": "METEOR_PROFILE=100 ../../../../meteor test --full-app --driver-package dispatch:mocha-phantomjs", - "browser": "METEOR_PROFILE=100 ../../../../meteor test --full-app --driver-package dispatch:mocha-browser", - "test-packages": "../../../../meteor test-packages --driver-package dispatch:mocha-phantomjs packages/modules-test-package" + "test": "METEOR_PROFILE=100 TEST_BROWSER_DRIVER=puppeteer meteor ../../../../meteor test --full-app --driver-package meteortesting:mocha", + "browser": "METEOR_PROFILE=100 TEST_BROWSER_DRIVER=puppeteer meteor ../../../../meteor test --full-app --driver-package meteortesting:mocha", + "test-packages": "TEST_BROWSER_DRIVER=puppeteer meteor../../../../meteor test-packages --driver-package meteortesting:mocha packages/modules-test-package" }, "meteor": { "testModule": "tests.js" diff --git a/tools/tests/dynamic-import.js b/tools/tests/dynamic-import.js index cc9302468c..56f2962328 100644 --- a/tools/tests/dynamic-import.js +++ b/tools/tests/dynamic-import.js @@ -2,7 +2,6 @@ var selftest = require('../tool-testing/selftest.js'); var Sandbox = selftest.Sandbox; const { mkdtemp } = require("../fs/files.js"); -const offlineStoragePath = mkdtemp("phantomjs-offline"); const offlineStorageQuotaKB = 10000; selftest.define("dynamic import(...) in development", function () { @@ -30,8 +29,12 @@ function run(isProduction) { "test", "--once", "--full-app", - "--driver-package", "dispatch:mocha-phantomjs" + "--driver-package", "meteortesting:mocha" ]; + + // For meteortesting:mocha to work we must set test broswer driver + // See https://github.com/meteortesting/meteor-mocha + sandbox.set("TEST_BROWSER_DRIVER", "puppeteer"); if (isProduction) { sandbox.set("NODE_ENV", "production"); @@ -40,16 +43,6 @@ function run(isProduction) { sandbox.set("NODE_ENV", "development"); } - sandbox.set( - "METEOR_PHANTOMJS_OFFLINE_STORAGE_PATH", - offlineStoragePath - ); - - sandbox.set( - "METEOR_PHANTOMJS_OFFLINE_STORAGE_QUOTA", - String(offlineStorageQuotaKB) - ); - const run = sandbox.run(...args); run.waitSecs(90); diff --git a/tools/tests/modules.js b/tools/tests/modules.js index 5e1acbed8d..351bc5f5a9 100644 --- a/tools/tests/modules.js +++ b/tools/tests/modules.js @@ -21,11 +21,15 @@ selftest.define("modules - test app", function () { // Make sure we use the right "env" section of .babelrc. s.set("NODE_ENV", "development"); + // For meteortesting:mocha to work we must set test broswer driver + // See https://github.com/meteortesting/meteor-mocha + s.set("TEST_BROWSER_DRIVER", "puppeteer"); + s.createApp("modules-test-app", "modules"); s.cd("modules-test-app", function () { const run = s.run( "test", "--once", "--full-app", - "--driver-package", "dispatch:mocha-phantomjs" + "--driver-package", "meteortesting:mocha" ); run.waitSecs(60); diff --git a/tools/tool-testing/clients/puppeteer/index.js b/tools/tool-testing/clients/puppeteer/index.js index 0f51236acb..859589eac0 100644 --- a/tools/tool-testing/clients/puppeteer/index.js +++ b/tools/tool-testing/clients/puppeteer/index.js @@ -33,8 +33,11 @@ export default class PuppeteerClient extends Client { this.page.goto(`http://${this.host}:${this.port}`); } - stop() { - this.browser && this.browser.close(); + async stop() { + this.page && await this.page.close(); + this.page = null; + + this.browser && await this.browser.close(); this.browser = null; } From 007d11ef261096548278454e3cd39d0d0470e895 Mon Sep 17 00:00:00 2001 From: Toine van Kampen Date: Mon, 16 Apr 2018 20:52:45 +1000 Subject: [PATCH 0753/1355] Update CLI Command Set default to puppeteer --- tools/cli/commands.js | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/tools/cli/commands.js b/tools/cli/commands.js index f84bed0919..69ff89b0de 100644 --- a/tools/cli/commands.js +++ b/tools/cli/commands.js @@ -2268,7 +2268,7 @@ main.registerCommand({ } const clients = { - phantom: true, // Phantom is always enabled. + puppeteer: true, // Puppeteer is always enabled. browserstack: options.browserstack, }; From d10d843e953718f9ceaf37a44bd9a33d654ab9a3 Mon Sep 17 00:00:00 2001 From: Jan Dvorak Date: Wed, 18 Apr 2018 17:49:41 +0200 Subject: [PATCH 0754/1355] Update Facebook API to v2.12 (#9815) --- packages/facebook-oauth/facebook_client.js | 2 +- packages/facebook-oauth/facebook_server.js | 4 ++-- 2 files changed, 3 insertions(+), 3 deletions(-) diff --git a/packages/facebook-oauth/facebook_client.js b/packages/facebook-oauth/facebook_client.js index 5aa2da16b7..33604948f6 100644 --- a/packages/facebook-oauth/facebook_client.js +++ b/packages/facebook-oauth/facebook_client.js @@ -31,7 +31,7 @@ Facebook.requestCredential = function (options, credentialRequestCompleteCallbac var loginStyle = OAuth._loginStyle('facebook', config, options); var loginUrl = - 'https://www.facebook.com/v2.9/dialog/oauth?client_id=' + config.appId + + 'https://www.facebook.com/v2.12/dialog/oauth?client_id=' + config.appId + '&redirect_uri=' + OAuth._redirectUri('facebook', config) + '&display=' + display + '&scope=' + scope + '&state=' + OAuth._stateParam(loginStyle, credentialToken, options && options.redirectUrl); diff --git a/packages/facebook-oauth/facebook_server.js b/packages/facebook-oauth/facebook_server.js index f124676deb..2ac71238b5 100644 --- a/packages/facebook-oauth/facebook_server.js +++ b/packages/facebook-oauth/facebook_server.js @@ -53,7 +53,7 @@ var getTokenResponse = function (query) { try { // Request an access token responseContent = HTTP.get( - "https://graph.facebook.com/v2.8/oauth/access_token", { + "https://graph.facebook.com/v2.12/oauth/access_token", { params: { client_id: config.appId, redirect_uri: OAuth._redirectUri('facebook', config), @@ -90,7 +90,7 @@ var getIdentity = function (accessToken, fields) { hmac.update(accessToken); try { - return HTTP.get("https://graph.facebook.com/v2.8/me", { + return HTTP.get("https://graph.facebook.com/v2.12/me", { params: { access_token: accessToken, appsecret_proof: hmac.digest('hex'), From 9f500c582134e94c7032433e8ba5b33710b0b7cb Mon Sep 17 00:00:00 2001 From: Ben Newman Date: Wed, 18 Apr 2018 13:08:00 -0400 Subject: [PATCH 0755/1355] Bump facebook-oauth package version to 1.4.1. --- packages/facebook-oauth/package.js | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/packages/facebook-oauth/package.js b/packages/facebook-oauth/package.js index f34b080c91..aea8b40bcf 100644 --- a/packages/facebook-oauth/package.js +++ b/packages/facebook-oauth/package.js @@ -1,6 +1,6 @@ Package.describe({ summary: "Facebook OAuth flow", - version: "1.4.0" + version: "1.4.1" }); Package.onUse(function(api) { From a64572cbe7fb62a66fcc0268f16593e5e19fb31d Mon Sep 17 00:00:00 2001 From: Ben Newman Date: Wed, 18 Apr 2018 13:09:52 -0400 Subject: [PATCH 0756/1355] Bump http package version to 1.4.1. --- packages/http/package.js | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/packages/http/package.js b/packages/http/package.js index 0f437102fa..2591ed087b 100644 --- a/packages/http/package.js +++ b/packages/http/package.js @@ -1,6 +1,6 @@ Package.describe({ summary: "Make HTTP calls to remote servers", - version: '1.4.0' + version: '1.4.1' }); Npm.depends({ From afb7d23d045602cd7f9d4b7ae61081c4bcc3b12f Mon Sep 17 00:00:00 2001 From: David Glasser Date: Fri, 6 Oct 2017 17:13:16 -0700 Subject: [PATCH 0757/1355] mongo: restart underlying oplog tail every 30 seconds without a doc Workaround for #8598: the Node Mongo driver has at least one bug that can lead to query callbacks never getting called (even with an error) when leadership failover occur. Note that while we did fix one Node Mongo driver bug and close #8598, we've heard reports that there are more similar issues, so this workaround seems like a good plan. --- packages/mongo/mongo_driver.js | 74 +++++++++++++++++++++++++++------ packages/mongo/oplog_tailing.js | 13 +++++- 2 files changed, 72 insertions(+), 15 deletions(-) diff --git a/packages/mongo/mongo_driver.js b/packages/mongo/mongo_driver.js index 8baeb43db4..9fae059fde 100644 --- a/packages/mongo/mongo_driver.js +++ b/packages/mongo/mongo_driver.js @@ -1007,21 +1007,33 @@ var SynchronousCursor = function (dbCursor, cursorDescription, options) { self._transform = null; } - // Need to specify that the callback is the first argument to `next`, - // since otherwise when we try to call it with no args the driver will - // interpret "undefined" first arg as an options hash and crash. - self._synchronousNextObject = Future.wrap( - dbCursor.next.bind(dbCursor), 0); self._synchronousCount = Future.wrap(dbCursor.count.bind(dbCursor)); self._visitedIds = new LocalCollection._IdMap; }; _.extend(SynchronousCursor.prototype, { - _nextObject: function () { + // Returns a Promise for the next object from the underlying cursor (before + // the Mongo->Meteor type replacement). + _rawNextObjectPromise: function () { + const self = this; + return new Promise((resolve, reject) => { + self._dbCursor.next((err, doc) => { + if (err) { + reject(err); + } else { + resolve(doc); + } + }); + }); + }, + + // Returns a Promise for the next object from the cursor, skipping those whose + // IDs we've already seen and replacing Mongo atoms with Meteor atoms. + _nextObjectPromise: async function () { var self = this; while (true) { - var doc = self._synchronousNextObject().wait(); + var doc = await self._rawNextObjectPromise(); if (!doc) return null; doc = replaceTypes(doc, replaceMongoAtomWithMeteor); @@ -1044,6 +1056,35 @@ _.extend(SynchronousCursor.prototype, { } }, + // Returns a promise which is resolved with the next object (like with + // _nextObjectPromise) or rejected if the cursor doesn't return within + // timeoutMS ms. + _nextObjectPromiseWithTimeout: function (timeoutMS) { + const self = this; + if (!timeoutMS) { + return self._nextObjectPromise(); + } + const nextObjectPromise = self._nextObjectPromise(); + const timeoutErr = new Error('Client-side timeout waiting for next object'); + const timeoutPromise = new Promise((resolve, reject) => { + const timer = setTimeout(() => { + reject(timeoutErr); + }, timeoutMS); + }); + return Promise.race([nextObjectPromise, timeoutPromise]) + .catch((err) => { + if (err === timeoutErr) { + self.close(); + } + throw err; + }); + }, + + _nextObject: function () { + var self = this; + return self._nextObjectPromise().await(); + }, + forEach: function (callback, thisArg) { var self = this; @@ -1130,7 +1171,13 @@ SynchronousCursor.prototype[Symbol.iterator] = function () { }; }; -MongoConnection.prototype.tail = function (cursorDescription, docCallback) { +// Tails the cursor described by cursorDescription, most likely on the +// oplog. Calls docCallback with each document found. Ignores errors and just +// restarts the tail on error. +// +// If timeoutMS is set, then if we don't get a new document every timeoutMS, +// kill and restart the cursor. This is primarily a workaround for #8598. +MongoConnection.prototype.tail = function (cursorDescription, docCallback, timeoutMS) { var self = this; if (!cursorDescription.options.tailable) throw new Error("Can only tail a tailable cursor"); @@ -1145,14 +1192,15 @@ MongoConnection.prototype.tail = function (cursorDescription, docCallback) { if (stopped) return; try { - doc = cursor._nextObject(); + doc = cursor._nextObjectPromiseWithTimeout(timeoutMS).await(); } catch (err) { - // There's no good way to figure out if this was actually an error - // from Mongo. Ah well. But either way, we need to retry the cursor - // (unless the failure was because the observe got stopped). + // There's no good way to figure out if this was actually an error from + // Mongo, or just client-side (including our own timeout error). Ah + // well. But either way, we need to retry the cursor (unless the failure + // was because the observe got stopped). doc = null; } - // Since cursor._nextObject can yield, we need to check again to see if + // Since we awaited a promise above, we need to check again to see if // we've been stopped before calling the callback. if (stopped) return; diff --git a/packages/mongo/oplog_tailing.js b/packages/mongo/oplog_tailing.js index eb7f59d74b..2a5abb69e4 100644 --- a/packages/mongo/oplog_tailing.js +++ b/packages/mongo/oplog_tailing.js @@ -3,6 +3,7 @@ var Future = Npm.require('fibers/future'); OPLOG_COLLECTION = 'oplog.rs'; var TOO_FAR_BEHIND = process.env.METEOR_OPLOG_TOO_FAR_BEHIND || 2000; +var TAIL_TIMEOUT = +process.env.METEOR_OPLOG_TAIL_TIMEOUT || 30000; var showTS = function (ts) { return "Timestamp(" + ts.getHighBits() + ", " + ts.getLowBits() + ")"; @@ -236,11 +237,19 @@ _.extend(OplogHandle.prototype, { var cursorDescription = new CursorDescription( OPLOG_COLLECTION, oplogSelector, {tailable: true}); + // Start tailing the oplog. + // + // We restart the low-level oplog query every 30 seconds if we didn't get a + // doc. This is a workaround for #8598: the Node Mongo driver has at least + // one bug that can lead to query callbacks never getting called (even with + // an error) when leadership failover occur. self._tailHandle = self._oplogTailConnection.tail( - cursorDescription, function (doc) { + cursorDescription, + function (doc) { self._entryQueue.push(doc); self._maybeStartWorker(); - } + }, + TAIL_TIMEOUT ); self._readyFuture.return(); }, From 6ed37da36d0d36ff7b97a113fadd0114ba0d7df0 Mon Sep 17 00:00:00 2001 From: Ben Newman Date: Wed, 18 Apr 2018 13:27:50 -0400 Subject: [PATCH 0758/1355] Bump mongo package minor version to 1.5.0. --- packages/mongo/package.js | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/packages/mongo/package.js b/packages/mongo/package.js index 29e67b78ac..bac51f72d1 100644 --- a/packages/mongo/package.js +++ b/packages/mongo/package.js @@ -9,7 +9,7 @@ Package.describe({ summary: "Adaptor for using MongoDB and Minimongo over DDP", - version: '1.4.7' + version: '1.5.0' }); Npm.depends({ From 110fb84861027a3e13f4e3df40dde978823db857 Mon Sep 17 00:00:00 2001 From: Toine van Kampen Date: Thu, 19 Apr 2018 06:12:23 +1000 Subject: [PATCH 0759/1355] Revert "Update Licenses" This reverts commit 2bf44252aec1e9fa5ddc80fd1869ccb2b82714f2. --- LICENSES/Apache.txt | 4 ++-- LICENSES/BSD.txt | 8 ++++++++ 2 files changed, 10 insertions(+), 2 deletions(-) diff --git a/LICENSES/Apache.txt b/LICENSES/Apache.txt index d2676ab0da..9ea185e261 100644 --- a/LICENSES/Apache.txt +++ b/LICENSES/Apache.txt @@ -149,10 +149,10 @@ Copyright (c) 2011, Danny Coates ---------- -puppeteer: https://github.com/GoogleChrome/puppeteer +phantomjs: https://github.com/Medium/phantomjs (npm installer) ---------- -Copyright 2017 Google Inc. +Copyright 2012 The Obvious Corporation. ---------- diff --git a/LICENSES/BSD.txt b/LICENSES/BSD.txt index bced0b66ae..88324cb578 100644 --- a/LICENSES/BSD.txt +++ b/LICENSES/BSD.txt @@ -757,6 +757,14 @@ 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. + +---------- +phantomjs: http://phantomjs.org/ +---------- + +Copyright 2010-2014 Ariya Hidayat + + ---------- shelljs: http://github.com/arturadib/shelljs ---------- From c5302bb2ba609e5535dcce8647adf30e0a6f8daf Mon Sep 17 00:00:00 2001 From: Ben Newman Date: Wed, 18 Apr 2018 16:19:55 -0400 Subject: [PATCH 0760/1355] Stop scanning node_modules directories in PackageSource#_findSources. (#9825) This functionality was originally intended to allow importing compiled-to-JS modules from `node_modules`, by precompiling any modules found in top-level npm packages, as long as a Meteor compiler plugin was registered for the module's file extension. As discussed in #9800, this extra compilation burden can be non-trivial, especially if you happen to install an npm package such as `less`, which contains hundreds of `.less` files in the `node_modules/less/test/` directory. More generally, this functionality was an early attempt to enable selective compilation of `node_modules` directories, but it was not a good solution to that problem, because in almost all cases the extra compilation was unwanted. Meteor 1.7 (formerly known as 1.6.2) will give full control over selective compilation of `node_modules` back to the application developer (#9771), which should afford a much better solution to this problem. If you've installed some `.less` or `.scss` or `.ts` files from npm into your `node_modules` directory, just create a symlink to the package directory within your application, and those modules will be compiled and become importable by other JS modules, as if they were part of the application. --- History.md | 7 +++ tools/isobuild/package-source.js | 88 +++----------------------------- 2 files changed, 15 insertions(+), 80 deletions(-) diff --git a/History.md b/History.md index f26a36e60a..3169c09941 100644 --- a/History.md +++ b/History.md @@ -44,6 +44,13 @@ application code. [PR #9771](https://github.com/meteor/meteor/pull/9771) [Feature #6](https://github.com/meteor/meteor-feature-requests/issues/6) + > Note: since compilation of npm packages can now be enabled using the + techniques described above, Meteor will no longer automatically scan + `node_modules` directories for modules that can be compiled by + compiler plugins. If you have been using that functionality to import + compiled-to-JS modules from `node_modules`, you should start using the + symlinking strategy instead. + * The `npm` package has been upgraded to version 5.8.0, and our [fork](https://github.com/meteor/pacote/tree/v7.6.1-meteor) of its `pacote` dependency has been rebased against version 7.6.1. diff --git a/tools/isobuild/package-source.js b/tools/isobuild/package-source.js index 18a39c3322..c7279c6389 100644 --- a/tools/isobuild/package-source.js +++ b/tools/isobuild/package-source.js @@ -1071,10 +1071,6 @@ _.extend(PackageSource.prototype, { return fileOptions; }, - // This cache survives for the duration of the process, and stores the - // complete list of source files for directories within node_modules. - _findSourcesCache: Object.create(null), - _findSources: Profile("PackageSource#_findSources", function ({ sourceProcessorSet, watchSet, @@ -1133,31 +1129,6 @@ _.extend(PackageSource.prototype, { /^acceptance-tests\/$/, ] : anyLevelExcludes; - const nodeModulesReadOptions = { - ...sourceReadOptions, - // When we're in a node_modules directory, we can avoid collecting - // .js and .json files, because (unlike .less or .coffee files) they - // are allowed to be imported later by the ImportScanner, as they do - // not require custom processing by compiler plugins. - exclude: sourceReadOptions.exclude.concat(/\.js(on)?$/i), - }; - - const baseCacheKey = JSON.stringify({ - isApp, - arch, - sourceRoot: self.sourceRoot, - excludes: anyLevelExcludes, - }, (key, value) => { - if (_.isRegExp(value)) { - return [value.source, value.flags]; - } - return value; - }); - - function makeCacheKey(dir) { - return baseCacheKey + "\0" + dir; - } - const dotMeteorIgnoreFiles = Object.create(null); function removeIgnoredFilesFrom(array) { @@ -1188,37 +1159,23 @@ _.extend(PackageSource.prototype, { return array; } - function find(dir, depth, inNodeModules) { + function find(dir, depth) { // Remove trailing slash. dir = dir.replace(/\/$/, ""); - // If we're in a node_modules directory, cache the results of the - // find function for the duration of the process. - const cacheKey = inNodeModules && makeCacheKey(dir); - if (cacheKey && - cacheKey in self._findSourcesCache) { - return self._findSourcesCache[cacheKey]; - } - if (loopChecker.check(dir)) { // Pretend we found no files. return []; } const absDir = files.pathJoin(self.sourceRoot, dir); - if (! inNodeModules) { - const ignore = optimisticReadMeteorIgnore(absDir); - if (ignore) { - dotMeteorIgnoreFiles[dir] = ignore; - } + const ignore = optimisticReadMeteorIgnore(absDir); + if (ignore) { + dotMeteorIgnoreFiles[dir] = ignore; } - const readOptions = inNodeModules - ? nodeModulesReadOptions - : sourceReadOptions; - const sources = _.difference( - self._readAndWatchDirectory(dir, watchSet, readOptions), + self._readAndWatchDirectory(dir, watchSet, sourceReadOptions), depth > 0 ? [] : controlFiles ); @@ -1232,49 +1189,20 @@ _.extend(PackageSource.prototype, { removeIgnoredFilesFrom(sources); removeIgnoredFilesFrom(subdirectories); - let nodeModulesDir; - subdirectories.forEach(subdir => { if (/(^|\/)node_modules\/$/.test(subdir)) { - if (! inNodeModules) { - sourceArch.localNodeModulesDirs[subdir] = true; - } - - // Defer handling node_modules until after we handle all other - // subdirectories, so that we know whether we need to descend - // further. If sources is still empty after we handle everything - // else in dir, then nothing in this node_modules subdir can be - // imported by anthing outside of it, so we can ignore it. - nodeModulesDir = subdir; - + sourceArch.localNodeModulesDirs[subdir] = true; } else { - sources.push(...find(subdir, depth + 1, inNodeModules)); + sources.push(...find(subdir, depth + 1)); } }); - if (isApp && - nodeModulesDir && - (! inNodeModules || sources.length > 0)) { - // If we found a node_modules subdirectory above, and either we - // are not already inside another node_modules directory or we - // found source files elsewhere in this directory or its other - // subdirectories, and we're building an app (as opposed to a - // Meteor package), continue searching this node_modules - // directory, so that any non-.js(on) files it contains can be - // imported by the app (#6037). - sources.push(...find(nodeModulesDir, depth + 1, true)); - } - delete dotMeteorIgnoreFiles[dir]; - if (cacheKey) { - self._findSourcesCache[cacheKey] = sources; - } - return sources; } - return files.withCache(() => find("", 0, false)); + return files.withCache(() => find("", 0)); }), _findAssets({ From 5eabf7da91b75543b32b68bb1d897171f77c937a Mon Sep 17 00:00:00 2001 From: Ben Newman Date: Wed, 18 Apr 2018 15:06:39 -0400 Subject: [PATCH 0761/1355] Update the optimism npm package to version 0.6.3. --- History.md | 2 +- scripts/dev-bundle-tool-package.js | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/History.md b/History.md index 3169c09941..add3dbbf2c 100644 --- a/History.md +++ b/History.md @@ -113,7 +113,7 @@ * The `reify` npm package has been updated to version 0.15.1. -* The `optimism` npm package has been updated to version 0.4.0. +* The `optimism` npm package has been updated to version 0.6.3. * The `minifier-js` package has been updated to use `uglify-es` 3.3.9. diff --git a/scripts/dev-bundle-tool-package.js b/scripts/dev-bundle-tool-package.js index b96db1877e..c5c37cfb95 100644 --- a/scripts/dev-bundle-tool-package.js +++ b/scripts/dev-bundle-tool-package.js @@ -52,7 +52,7 @@ var packageJson = { split2: "2.2.0", multipipe: "2.0.1", pathwatcher: "7.1.1", - optimism: "0.4.0", + optimism: "0.6.3", 'lru-cache': '4.1.1', longjohn: '0.2.12' } From a024ec05482ab2647dbb8425ae574cacfec807f5 Mon Sep 17 00:00:00 2001 From: Ben Newman Date: Wed, 18 Apr 2018 15:20:22 -0400 Subject: [PATCH 0762/1355] Bump $BUNDLE_VERSION to 8.11.1.3 before rebuilding dev bundle. --- meteor | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/meteor b/meteor index 7e17a2a2ff..0783593bdf 100755 --- a/meteor +++ b/meteor @@ -1,6 +1,6 @@ #!/usr/bin/env bash -BUNDLE_VERSION=8.11.1.2 +BUNDLE_VERSION=8.11.1.3 # OS Check. Put here because here is where we download the precompiled # bundles that are arch specific. From 105bdd8fd7eeb1cc965b98684cfc646b57444566 Mon Sep 17 00:00:00 2001 From: Ben Newman Date: Wed, 18 Apr 2018 16:31:03 -0400 Subject: [PATCH 0763/1355] Start marking some optimistic functions as disposable. --- tools/fs/files.js | 5 ++++- tools/fs/optimistic.js | 10 +++++++++- 2 files changed, 13 insertions(+), 2 deletions(-) diff --git a/tools/fs/files.js b/tools/fs/files.js index f5286fc165..e425061130 100644 --- a/tools/fs/files.js +++ b/tools/fs/files.js @@ -1654,7 +1654,10 @@ let dependOnPathSalt = 0; export const dependOnPath = require("optimism").wrap( // Always return something different to prevent optimism from // second-guessing the dirtiness of this function. - path => ++dependOnPathSalt + path => ++dependOnPathSalt, + // This function is disposable because we don't care about its result, + // only its role in optimistic dependency tracking/dirtying. + { disposable: true } ); function wrapDestructiveFsFunc(name, pathArgIndices) { diff --git a/tools/fs/optimistic.js b/tools/fs/optimistic.js index eb596a8fbf..4bddc674be 100644 --- a/tools/fs/optimistic.js +++ b/tools/fs/optimistic.js @@ -163,7 +163,11 @@ const dependOnDirectory = wrap(dir => { watcher = null; } }; - } + }, + + // This function is disposable because we don't care about its result, + // only its role in optimistic dependency tracking/dirtying. + disposable: true }); // Called when an optimistic function detects the given file does not @@ -189,6 +193,10 @@ const dependOnNodeModules = wrap(nodeModulesDir => { assert(pathIsAbsolute(nodeModulesDir)); assert(nodeModulesDir.endsWith(pathSep + "node_modules")); return dependOnDirectory(nodeModulesDir); +}, { + // This function is disposable because we don't care about its result, + // only its role in optimistic dependency tracking/dirtying. + disposable: true }); // Invalidate all optimistic results derived from paths involving the From e09be77e39ec5e913d7238847f02703c429259ad Mon Sep 17 00:00:00 2001 From: Ben Newman Date: Wed, 18 Apr 2018 16:34:14 -0400 Subject: [PATCH 0764/1355] Bump package versions for 1.6.2-beta.21 release. I made a mistake while publishing 1.6.2-beta.16 that means it's easier to just skip that version. --- packages/babel-compiler/package.js | 2 +- packages/boilerplate-generator-tests/package.js | 2 +- packages/boilerplate-generator/package.js | 2 +- packages/dynamic-import/package.js | 2 +- packages/ecmascript-runtime-client/package.js | 2 +- packages/ecmascript-runtime-server/package.js | 2 +- packages/ecmascript-runtime/package.js | 2 +- packages/ecmascript/package.js | 2 +- packages/es5-shim/package.js | 2 +- packages/meteor-base/package.js | 2 +- packages/meteor-tool/package.js | 2 +- packages/meteor/package.js | 2 +- packages/modern-browsers/package.js | 2 +- packages/modules-runtime/package.js | 2 +- packages/mongo/package.js | 2 +- packages/promise/package.js | 2 +- packages/socket-stream-client/package.js | 2 +- packages/tracker/package.js | 2 +- packages/webapp/package.js | 2 +- scripts/admin/meteor-release-experimental.json | 2 +- 20 files changed, 20 insertions(+), 20 deletions(-) diff --git a/packages/babel-compiler/package.js b/packages/babel-compiler/package.js index 97206217fe..2ed9fe34d5 100644 --- a/packages/babel-compiler/package.js +++ b/packages/babel-compiler/package.js @@ -6,7 +6,7 @@ Package.describe({ // isn't possible because you can't publish a non-recommended // release with package versions that don't have a pre-release // identifier at the end (eg, -dev) - version: '7.1.0-beta162.20' + version: '7.1.0-beta162.21' }); Npm.depends({ diff --git a/packages/boilerplate-generator-tests/package.js b/packages/boilerplate-generator-tests/package.js index d5581e1a7a..77ffc53594 100644 --- a/packages/boilerplate-generator-tests/package.js +++ b/packages/boilerplate-generator-tests/package.js @@ -2,7 +2,7 @@ Package.describe({ // These tests are in a separate package so that we can Npm.depend on // parse5, a html parsing library. summary: "Tests for the boilerplate-generator package", - version: '1.5.0-beta162.20', + version: '1.5.0-beta162.21', documentation: null }); diff --git a/packages/boilerplate-generator/package.js b/packages/boilerplate-generator/package.js index d3cda04ac0..07979493fe 100644 --- a/packages/boilerplate-generator/package.js +++ b/packages/boilerplate-generator/package.js @@ -1,6 +1,6 @@ Package.describe({ summary: "Generates the boilerplate html from program's manifest", - version: '1.5.0-beta162.20' + version: '1.5.0-beta162.21' }); Npm.depends({ diff --git a/packages/dynamic-import/package.js b/packages/dynamic-import/package.js index 113925996f..56de3eb7be 100644 --- a/packages/dynamic-import/package.js +++ b/packages/dynamic-import/package.js @@ -1,6 +1,6 @@ Package.describe({ name: "dynamic-import", - version: "0.4.0-beta162.20", + version: "0.4.0-beta162.21", summary: "Runtime support for Meteor 1.5 dynamic import(...) syntax", documentation: "README.md" }); diff --git a/packages/ecmascript-runtime-client/package.js b/packages/ecmascript-runtime-client/package.js index 64b3c4bae9..43973de1a4 100644 --- a/packages/ecmascript-runtime-client/package.js +++ b/packages/ecmascript-runtime-client/package.js @@ -1,6 +1,6 @@ Package.describe({ name: "ecmascript-runtime-client", - version: "0.7.0-beta162.20", + version: "0.7.0-beta162.21", summary: "Polyfills for new ECMAScript 2015 APIs like Map and Set", git: "https://github.com/meteor/meteor/tree/devel/packages/ecmascript-runtime-client", documentation: "README.md" diff --git a/packages/ecmascript-runtime-server/package.js b/packages/ecmascript-runtime-server/package.js index e46acfc7d0..a44ce2946b 100644 --- a/packages/ecmascript-runtime-server/package.js +++ b/packages/ecmascript-runtime-server/package.js @@ -1,6 +1,6 @@ Package.describe({ name: "ecmascript-runtime-server", - version: "0.7.0-beta162.20", + version: "0.7.0-beta162.21", summary: "Polyfills for new ECMAScript 2015 APIs like Map and Set", git: "https://github.com/meteor/meteor/tree/devel/packages/ecmascript-runtime-client", documentation: "README.md" diff --git a/packages/ecmascript-runtime/package.js b/packages/ecmascript-runtime/package.js index 376a354cde..984a2da48b 100644 --- a/packages/ecmascript-runtime/package.js +++ b/packages/ecmascript-runtime/package.js @@ -1,6 +1,6 @@ Package.describe({ name: "ecmascript-runtime", - version: "0.7.0-beta162.20", + version: "0.7.0-beta162.21", summary: "Polyfills for new ECMAScript 2015 APIs like Map and Set", git: "https://github.com/meteor/ecmascript-runtime", documentation: "README.md" diff --git a/packages/ecmascript/package.js b/packages/ecmascript/package.js index fc50ad5716..dcdf0355b6 100644 --- a/packages/ecmascript/package.js +++ b/packages/ecmascript/package.js @@ -1,6 +1,6 @@ Package.describe({ name: 'ecmascript', - version: '0.11.0-beta162.20', + version: '0.11.0-beta162.21', summary: 'Compiler plugin that supports ES2015+ in all .js files', documentation: 'README.md' }); diff --git a/packages/es5-shim/package.js b/packages/es5-shim/package.js index 4a7db0f01a..a2ba2e025e 100644 --- a/packages/es5-shim/package.js +++ b/packages/es5-shim/package.js @@ -1,6 +1,6 @@ Package.describe({ name: "es5-shim", - version: "4.8.0-beta162.20", + version: "4.8.0-beta162.21", summary: "Shims and polyfills to improve ECMAScript 5 support", documentation: "README.md" }); diff --git a/packages/meteor-base/package.js b/packages/meteor-base/package.js index 32776648dc..8f2a6b05ce 100644 --- a/packages/meteor-base/package.js +++ b/packages/meteor-base/package.js @@ -1,6 +1,6 @@ Package.describe({ name: 'meteor-base', - version: '1.4.0-beta162.20', + version: '1.4.0-beta162.21', // Brief, one-line summary of the package. summary: 'Packages that every Meteor app needs', // By default, Meteor will default to using README.md for documentation. diff --git a/packages/meteor-tool/package.js b/packages/meteor-tool/package.js index c8c5fff679..bb37d36f55 100644 --- a/packages/meteor-tool/package.js +++ b/packages/meteor-tool/package.js @@ -1,6 +1,6 @@ Package.describe({ summary: "The Meteor command-line tool", - version: '1.6.2-beta.20' + version: '1.6.2-beta.21' }); Package.includeTool(); diff --git a/packages/meteor/package.js b/packages/meteor/package.js index b5b70c503f..04ddb83f46 100644 --- a/packages/meteor/package.js +++ b/packages/meteor/package.js @@ -2,7 +2,7 @@ Package.describe({ summary: "Core Meteor environment", - version: '1.9.0-beta162.20' + version: '1.9.0-beta162.21' }); Package.registerBuildPlugin({ diff --git a/packages/modern-browsers/package.js b/packages/modern-browsers/package.js index a6cce06e7f..93b3296a88 100644 --- a/packages/modern-browsers/package.js +++ b/packages/modern-browsers/package.js @@ -1,6 +1,6 @@ Package.describe({ name: "modern-browsers", - version: "0.1.0-beta162.20", + version: "0.1.0-beta162.21", summary: "API for defining the boundary between modern and legacy " + "JavaScript clients", documentation: "README.md" diff --git a/packages/modules-runtime/package.js b/packages/modules-runtime/package.js index 3ef72619d8..19cdcee58d 100644 --- a/packages/modules-runtime/package.js +++ b/packages/modules-runtime/package.js @@ -1,6 +1,6 @@ Package.describe({ name: "modules-runtime", - version: "0.10.0-beta162.20", + version: "0.10.0-beta162.21", summary: "CommonJS module system", git: "https://github.com/benjamn/install", documentation: "README.md" diff --git a/packages/mongo/package.js b/packages/mongo/package.js index bac51f72d1..7a22b6e608 100644 --- a/packages/mongo/package.js +++ b/packages/mongo/package.js @@ -9,7 +9,7 @@ Package.describe({ summary: "Adaptor for using MongoDB and Minimongo over DDP", - version: '1.5.0' + version: '1.5.0-beta162.21' }); Npm.depends({ diff --git a/packages/promise/package.js b/packages/promise/package.js index 71abb09e37..570be96d00 100644 --- a/packages/promise/package.js +++ b/packages/promise/package.js @@ -1,6 +1,6 @@ Package.describe({ name: "promise", - version: "0.11.0-beta162.20", + version: "0.11.0-beta162.21", summary: "ECMAScript 2015 Promise polyfill with Fiber support", git: "https://github.com/meteor/promise", documentation: "README.md" diff --git a/packages/socket-stream-client/package.js b/packages/socket-stream-client/package.js index 62346c2e7d..e887e9c766 100644 --- a/packages/socket-stream-client/package.js +++ b/packages/socket-stream-client/package.js @@ -1,6 +1,6 @@ Package.describe({ name: "socket-stream-client", - version: "0.2.0-beta162.20", + version: "0.2.0-beta162.21", summary: "Provides the ClientStream abstraction used by ddp-client", documentation: "README.md" }); diff --git a/packages/tracker/package.js b/packages/tracker/package.js index 07f1fda579..3ec34bf1d1 100644 --- a/packages/tracker/package.js +++ b/packages/tracker/package.js @@ -1,6 +1,6 @@ Package.describe({ summary: "Dependency tracker to allow reactive callbacks", - version: "1.2.0-beta162.20" + version: "1.2.0-beta162.21" }); Package.onUse(function (api) { diff --git a/packages/webapp/package.js b/packages/webapp/package.js index 02a08f69ac..3442b4e6f0 100644 --- a/packages/webapp/package.js +++ b/packages/webapp/package.js @@ -1,6 +1,6 @@ Package.describe({ summary: "Serves a Meteor app over HTTP", - version: '1.6.0-beta162.20' + version: '1.6.0-beta162.21' }); Npm.depends({"basic-auth-connect": "1.0.0", diff --git a/scripts/admin/meteor-release-experimental.json b/scripts/admin/meteor-release-experimental.json index 687e29eb11..563d140ec9 100644 --- a/scripts/admin/meteor-release-experimental.json +++ b/scripts/admin/meteor-release-experimental.json @@ -1,6 +1,6 @@ { "track": "METEOR", - "version": "1.6.2-beta.20", + "version": "1.6.2-beta.21", "recommended": false, "official": false, "description": "Meteor" From 0d5de210017bb0bc547e20fe1661afd86efe19bf Mon Sep 17 00:00:00 2001 From: Ben Newman Date: Wed, 18 Apr 2018 16:58:52 -0400 Subject: [PATCH 0765/1355] Increase timeouts to fix {debug,prod}Only package self-tests. --- tools/tests/package-tests.js | 9 +++++---- 1 file changed, 5 insertions(+), 4 deletions(-) diff --git a/tools/tests/package-tests.js b/tools/tests/package-tests.js index e04346bcad..87694998b5 100644 --- a/tools/tests/package-tests.js +++ b/tools/tests/package-tests.js @@ -193,6 +193,7 @@ selftest.define("add debugOnly and prodOnly packages", [], function () { // Add a debugOnly package. It should work during a normal run, but print // nothing in production mode. run = s.run("add", "debug-only"); + run.waitSecs(30); run.match("debug-only"); run.expectExit(0); @@ -201,11 +202,11 @@ selftest.define("add debugOnly and prodOnly packages", [], function () { "process.exit(global.DEBUG_ONLY_LOADED ? 234 : 235)"); run = s.run("--once"); - run.waitSecs(15); + run.waitSecs(30); run.expectExit(234); run = s.run("--once", "--production"); - run.waitSecs(15); + run.waitSecs(30); run.expectExit(235); // Add prod-only package, which sets GLOBAL.PROD_ONLY_LOADED. @@ -218,11 +219,11 @@ selftest.define("add debugOnly and prodOnly packages", [], function () { "process.exit(global.PROD_ONLY_LOADED ? 234 : 235)"); run = s.run("--once"); - run.waitSecs(15); + run.waitSecs(30); run.expectExit(235); run = s.run("--once", "--production"); - run.waitSecs(15); + run.waitSecs(30); run.expectExit(234); }); From c8fc62f37eae4786ed16f54b3fe4d91cafafe4e0 Mon Sep 17 00:00:00 2001 From: Ben Newman Date: Wed, 18 Apr 2018 18:35:43 -0400 Subject: [PATCH 0766/1355] Add a package.json file to tools/tests/apps/package-tests. --- tools/tests/apps/package-tests/package.json | 10 ++++++++++ 1 file changed, 10 insertions(+) create mode 100644 tools/tests/apps/package-tests/package.json diff --git a/tools/tests/apps/package-tests/package.json b/tools/tests/apps/package-tests/package.json new file mode 100644 index 0000000000..d00187ffd6 --- /dev/null +++ b/tools/tests/apps/package-tests/package.json @@ -0,0 +1,10 @@ +{ + "name": "package-tests", + "private": true, + "scripts": { + "start": "meteor run" + }, + "dependencies": { + "@babel/runtime": "^7.0.0-beta.44" + } +} From 90e4d7dc7b411b81bc3e8010a5cb4871e8a4da33 Mon Sep 17 00:00:00 2001 From: Ben Newman Date: Wed, 18 Apr 2018 18:36:42 -0400 Subject: [PATCH 0767/1355] Disable elective requestGarbageCollection calls to help with #9568. --- meteor | 1 - 1 file changed, 1 deletion(-) diff --git a/meteor b/meteor index 0783593bdf..06124eabc8 100755 --- a/meteor +++ b/meteor @@ -133,7 +133,6 @@ fi # screw up their meteor installs by have a ~/node_modules exec "$DEV_BUNDLE/bin/node" \ - --expose-gc \ --max-old-space-size=4096 \ ${TOOL_NODE_FLAGS} \ "$METEOR" "$@" From c032b9c27192fd37c2ca1ce51417ef074fcc9347 Mon Sep 17 00:00:00 2001 From: Ben Newman Date: Wed, 18 Apr 2018 18:36:44 -0400 Subject: [PATCH 0768/1355] Disable longjohn, since Node 8 now supports async stack traces. --- scripts/dev-bundle-tool-package.js | 3 +-- tools/tool-testing/selftest.js | 3 --- 2 files changed, 1 insertion(+), 5 deletions(-) diff --git a/scripts/dev-bundle-tool-package.js b/scripts/dev-bundle-tool-package.js index c5c37cfb95..61a62435d8 100644 --- a/scripts/dev-bundle-tool-package.js +++ b/scripts/dev-bundle-tool-package.js @@ -53,8 +53,7 @@ var packageJson = { multipipe: "2.0.1", pathwatcher: "7.1.1", optimism: "0.6.3", - 'lru-cache': '4.1.1', - longjohn: '0.2.12' + 'lru-cache': '4.1.1' } }; diff --git a/tools/tool-testing/selftest.js b/tools/tool-testing/selftest.js index ceaaf61969..a7acdf6ee8 100644 --- a/tools/tool-testing/selftest.js +++ b/tools/tool-testing/selftest.js @@ -18,9 +18,6 @@ export { Run }; import "../tool-env/install-runtime.js"; -// To allow long stack traces that cross async boundaries -import 'longjohn'; - // Use this to decorate functions that throw TestFailure. Decorate the // first function that should not be included in the call stack shown // to the user. From 38e6a88ba60d51c423acbd8cdf9fb2788e08e109 Mon Sep 17 00:00:00 2001 From: Ben Newman Date: Wed, 18 Apr 2018 19:18:38 -0400 Subject: [PATCH 0769/1355] Allow versioning of Circle CI cache keys. This should also trigger a rebuild without the cache, which may fix some recent hard-to-reproduce test failures. --- .circleci/config.yml | 20 ++++++++++---------- 1 file changed, 10 insertions(+), 10 deletions(-) diff --git a/.circleci/config.yml b/.circleci/config.yml index a8557a817c..e8ec90fb4f 100644 --- a/.circleci/config.yml +++ b/.circleci/config.yml @@ -115,17 +115,17 @@ jobs: command: (git submodule sync && git submodule update --init --recursive) || (rm -fr .git/config .git/modules && git submodule deinit -f . && git submodule update --init --recursive) - restore_cache: keys: - - dev-bundle-cache-{{ checksum "meteor" }} - - dev-bundle-cache + - v1-dev-bundle-cache-{{ checksum "meteor" }} + - v1-dev-bundle-cache- - restore_cache: keys: - - other-deps-cache-{{ .Branch }}-{{ .Revision }} - - other-deps-cache-{{ .Branch }} - - other-deps-cache + - v1-other-deps-cache-{{ .Branch }}-{{ .Revision }} + - v1-other-deps-cache-{{ .Branch }} + - v1-other-deps-cache- - restore_cache: keys: - - test-groups-v1-{{ .Branch }} - - test-groups-v1 + - v1-test-groups-{{ .Branch }} + - v1-test-groups- - run: name: Create Test Results Directory command: | @@ -688,16 +688,16 @@ jobs: npm install --prefix ./scripts/test-balancer npm start --prefix ./scripts/test-balancer --num-groups ${NUM_GROUPS} --running-avg-length ${RUNNING_AVG_LENGTH} - save_cache: - key: test-groups-v1-{{ .Branch }}-{{ .BuildNum }} + key: v1-test-groups-{{ .Branch }}-{{ .BuildNum }} paths: - ./tmp/test-groups when: on_success - save_cache: - key: dev-bundle-cache-{{ checksum "meteor" }} + key: v1-dev-bundle-cache-{{ checksum "meteor" }} paths: - "dev_bundle" - save_cache: - key: other-deps-cache-{{ .Branch }}-{{ .Revision }} + key: v1-other-deps-cache-{{ .Branch }}-{{ .Revision }} paths: - ".babel-cache" - ".meteor" From 5189713d01ac32bb5e2f57078ed6ffaa558685f5 Mon Sep 17 00:00:00 2001 From: Ben Newman Date: Wed, 18 Apr 2018 19:42:05 -0400 Subject: [PATCH 0770/1355] Bump package versions for 1.7-beta.22 release. --- packages/babel-compiler/package.js | 2 +- packages/boilerplate-generator-tests/package.js | 2 +- packages/boilerplate-generator/package.js | 2 +- packages/dynamic-import/package.js | 2 +- packages/ecmascript-runtime-client/package.js | 2 +- packages/ecmascript-runtime-server/package.js | 2 +- packages/ecmascript-runtime/package.js | 2 +- packages/ecmascript/package.js | 2 +- packages/es5-shim/package.js | 2 +- packages/meteor-base/package.js | 2 +- packages/meteor-tool/package.js | 2 +- packages/meteor/package.js | 2 +- packages/modern-browsers/package.js | 2 +- packages/modules-runtime/package.js | 2 +- packages/mongo/package.js | 2 +- packages/promise/package.js | 2 +- packages/socket-stream-client/package.js | 2 +- packages/tracker/package.js | 2 +- packages/webapp/package.js | 2 +- scripts/admin/meteor-release-experimental.json | 2 +- 20 files changed, 20 insertions(+), 20 deletions(-) diff --git a/packages/babel-compiler/package.js b/packages/babel-compiler/package.js index 2ed9fe34d5..07e4e4eab3 100644 --- a/packages/babel-compiler/package.js +++ b/packages/babel-compiler/package.js @@ -6,7 +6,7 @@ Package.describe({ // isn't possible because you can't publish a non-recommended // release with package versions that don't have a pre-release // identifier at the end (eg, -dev) - version: '7.1.0-beta162.21' + version: '7.1.0-beta17.22' }); Npm.depends({ diff --git a/packages/boilerplate-generator-tests/package.js b/packages/boilerplate-generator-tests/package.js index 77ffc53594..5b56591a3c 100644 --- a/packages/boilerplate-generator-tests/package.js +++ b/packages/boilerplate-generator-tests/package.js @@ -2,7 +2,7 @@ Package.describe({ // These tests are in a separate package so that we can Npm.depend on // parse5, a html parsing library. summary: "Tests for the boilerplate-generator package", - version: '1.5.0-beta162.21', + version: '1.5.0-beta17.22', documentation: null }); diff --git a/packages/boilerplate-generator/package.js b/packages/boilerplate-generator/package.js index 07979493fe..2d86dd0883 100644 --- a/packages/boilerplate-generator/package.js +++ b/packages/boilerplate-generator/package.js @@ -1,6 +1,6 @@ Package.describe({ summary: "Generates the boilerplate html from program's manifest", - version: '1.5.0-beta162.21' + version: '1.5.0-beta17.22' }); Npm.depends({ diff --git a/packages/dynamic-import/package.js b/packages/dynamic-import/package.js index 56de3eb7be..e7bfa885dc 100644 --- a/packages/dynamic-import/package.js +++ b/packages/dynamic-import/package.js @@ -1,6 +1,6 @@ Package.describe({ name: "dynamic-import", - version: "0.4.0-beta162.21", + version: "0.4.0-beta17.22", summary: "Runtime support for Meteor 1.5 dynamic import(...) syntax", documentation: "README.md" }); diff --git a/packages/ecmascript-runtime-client/package.js b/packages/ecmascript-runtime-client/package.js index 43973de1a4..5b86b2fa41 100644 --- a/packages/ecmascript-runtime-client/package.js +++ b/packages/ecmascript-runtime-client/package.js @@ -1,6 +1,6 @@ Package.describe({ name: "ecmascript-runtime-client", - version: "0.7.0-beta162.21", + version: "0.7.0-beta17.22", summary: "Polyfills for new ECMAScript 2015 APIs like Map and Set", git: "https://github.com/meteor/meteor/tree/devel/packages/ecmascript-runtime-client", documentation: "README.md" diff --git a/packages/ecmascript-runtime-server/package.js b/packages/ecmascript-runtime-server/package.js index a44ce2946b..a90bdc0b67 100644 --- a/packages/ecmascript-runtime-server/package.js +++ b/packages/ecmascript-runtime-server/package.js @@ -1,6 +1,6 @@ Package.describe({ name: "ecmascript-runtime-server", - version: "0.7.0-beta162.21", + version: "0.7.0-beta17.22", summary: "Polyfills for new ECMAScript 2015 APIs like Map and Set", git: "https://github.com/meteor/meteor/tree/devel/packages/ecmascript-runtime-client", documentation: "README.md" diff --git a/packages/ecmascript-runtime/package.js b/packages/ecmascript-runtime/package.js index 984a2da48b..c56d57d705 100644 --- a/packages/ecmascript-runtime/package.js +++ b/packages/ecmascript-runtime/package.js @@ -1,6 +1,6 @@ Package.describe({ name: "ecmascript-runtime", - version: "0.7.0-beta162.21", + version: "0.7.0-beta17.22", summary: "Polyfills for new ECMAScript 2015 APIs like Map and Set", git: "https://github.com/meteor/ecmascript-runtime", documentation: "README.md" diff --git a/packages/ecmascript/package.js b/packages/ecmascript/package.js index dcdf0355b6..595fe47336 100644 --- a/packages/ecmascript/package.js +++ b/packages/ecmascript/package.js @@ -1,6 +1,6 @@ Package.describe({ name: 'ecmascript', - version: '0.11.0-beta162.21', + version: '0.11.0-beta17.22', summary: 'Compiler plugin that supports ES2015+ in all .js files', documentation: 'README.md' }); diff --git a/packages/es5-shim/package.js b/packages/es5-shim/package.js index a2ba2e025e..a077245a7d 100644 --- a/packages/es5-shim/package.js +++ b/packages/es5-shim/package.js @@ -1,6 +1,6 @@ Package.describe({ name: "es5-shim", - version: "4.8.0-beta162.21", + version: "4.8.0-beta17.22", summary: "Shims and polyfills to improve ECMAScript 5 support", documentation: "README.md" }); diff --git a/packages/meteor-base/package.js b/packages/meteor-base/package.js index 8f2a6b05ce..adba7ea4d1 100644 --- a/packages/meteor-base/package.js +++ b/packages/meteor-base/package.js @@ -1,6 +1,6 @@ Package.describe({ name: 'meteor-base', - version: '1.4.0-beta162.21', + version: '1.4.0-beta17.22', // Brief, one-line summary of the package. summary: 'Packages that every Meteor app needs', // By default, Meteor will default to using README.md for documentation. diff --git a/packages/meteor-tool/package.js b/packages/meteor-tool/package.js index bb37d36f55..f6f09bf2b8 100644 --- a/packages/meteor-tool/package.js +++ b/packages/meteor-tool/package.js @@ -1,6 +1,6 @@ Package.describe({ summary: "The Meteor command-line tool", - version: '1.6.2-beta.21' + version: '1.7.0-beta.22' }); Package.includeTool(); diff --git a/packages/meteor/package.js b/packages/meteor/package.js index 04ddb83f46..9261e27b5f 100644 --- a/packages/meteor/package.js +++ b/packages/meteor/package.js @@ -2,7 +2,7 @@ Package.describe({ summary: "Core Meteor environment", - version: '1.9.0-beta162.21' + version: '1.9.0-beta17.22' }); Package.registerBuildPlugin({ diff --git a/packages/modern-browsers/package.js b/packages/modern-browsers/package.js index 93b3296a88..5d7d276e4b 100644 --- a/packages/modern-browsers/package.js +++ b/packages/modern-browsers/package.js @@ -1,6 +1,6 @@ Package.describe({ name: "modern-browsers", - version: "0.1.0-beta162.21", + version: "0.1.0-beta17.22", summary: "API for defining the boundary between modern and legacy " + "JavaScript clients", documentation: "README.md" diff --git a/packages/modules-runtime/package.js b/packages/modules-runtime/package.js index 19cdcee58d..af0b209327 100644 --- a/packages/modules-runtime/package.js +++ b/packages/modules-runtime/package.js @@ -1,6 +1,6 @@ Package.describe({ name: "modules-runtime", - version: "0.10.0-beta162.21", + version: "0.10.0-beta17.22", summary: "CommonJS module system", git: "https://github.com/benjamn/install", documentation: "README.md" diff --git a/packages/mongo/package.js b/packages/mongo/package.js index 7a22b6e608..726e0b16a8 100644 --- a/packages/mongo/package.js +++ b/packages/mongo/package.js @@ -9,7 +9,7 @@ Package.describe({ summary: "Adaptor for using MongoDB and Minimongo over DDP", - version: '1.5.0-beta162.21' + version: '1.5.0-beta17.22' }); Npm.depends({ diff --git a/packages/promise/package.js b/packages/promise/package.js index 570be96d00..efe9ebb1e9 100644 --- a/packages/promise/package.js +++ b/packages/promise/package.js @@ -1,6 +1,6 @@ Package.describe({ name: "promise", - version: "0.11.0-beta162.21", + version: "0.11.0-beta17.22", summary: "ECMAScript 2015 Promise polyfill with Fiber support", git: "https://github.com/meteor/promise", documentation: "README.md" diff --git a/packages/socket-stream-client/package.js b/packages/socket-stream-client/package.js index e887e9c766..a18c44e255 100644 --- a/packages/socket-stream-client/package.js +++ b/packages/socket-stream-client/package.js @@ -1,6 +1,6 @@ Package.describe({ name: "socket-stream-client", - version: "0.2.0-beta162.21", + version: "0.2.0-beta17.22", summary: "Provides the ClientStream abstraction used by ddp-client", documentation: "README.md" }); diff --git a/packages/tracker/package.js b/packages/tracker/package.js index 3ec34bf1d1..14413e8060 100644 --- a/packages/tracker/package.js +++ b/packages/tracker/package.js @@ -1,6 +1,6 @@ Package.describe({ summary: "Dependency tracker to allow reactive callbacks", - version: "1.2.0-beta162.21" + version: "1.2.0-beta17.22" }); Package.onUse(function (api) { diff --git a/packages/webapp/package.js b/packages/webapp/package.js index 3442b4e6f0..4506305374 100644 --- a/packages/webapp/package.js +++ b/packages/webapp/package.js @@ -1,6 +1,6 @@ Package.describe({ summary: "Serves a Meteor app over HTTP", - version: '1.6.0-beta162.21' + version: '1.6.0-beta17.22' }); Npm.depends({"basic-auth-connect": "1.0.0", diff --git a/scripts/admin/meteor-release-experimental.json b/scripts/admin/meteor-release-experimental.json index 563d140ec9..f95c792a0c 100644 --- a/scripts/admin/meteor-release-experimental.json +++ b/scripts/admin/meteor-release-experimental.json @@ -1,6 +1,6 @@ { "track": "METEOR", - "version": "1.6.2-beta.21", + "version": "1.7-beta.22", "recommended": false, "official": false, "description": "Meteor" From f28710ec231bac30ce615e6ecbd7e6f96de292b8 Mon Sep 17 00:00:00 2001 From: Toine van Kampen Date: Thu, 19 Apr 2018 21:34:33 +1000 Subject: [PATCH 0771/1355] Add PhantomJS option back in Per feedback keep PhantomJS --- LICENSES/Apache.txt | 6 ++ tools/README.md | 2 +- tools/cli/commands.js | 2 + tools/cli/help.txt | 4 +- tools/tool-testing/clients/phantom/index.js | 68 +++++++++++++++++++ tools/tool-testing/clients/puppeteer/index.js | 2 +- tools/tool-testing/sandbox.js | 7 +- 7 files changed, 87 insertions(+), 4 deletions(-) create mode 100644 tools/tool-testing/clients/phantom/index.js diff --git a/LICENSES/Apache.txt b/LICENSES/Apache.txt index 9ea185e261..93e53f9de2 100644 --- a/LICENSES/Apache.txt +++ b/LICENSES/Apache.txt @@ -203,3 +203,9 @@ valid-identifier: https://github.com/purplecabbage/valid-identifier ---------- Jesse MacFadyen + +---------- +puppeteer: https://github.com/GoogleChrome/puppeteer +---------- + +Copyright 2017 Google Inc. diff --git a/tools/README.md b/tools/README.md index 1f61c8f4fe..40d057058e 100644 --- a/tools/README.md +++ b/tools/README.md @@ -79,7 +79,7 @@ argument, it will be matched against test names: ``` You can also run a particular file, or list all tests matching certain -pattern, run with phantom or browserstack. +pattern, run with puppeteer (default), phantom or browserstack. See more at `./meteor help self-test`. If you want to learn how to write a self-test, see the `tool-testing` diff --git a/tools/cli/commands.js b/tools/cli/commands.js index 69ff89b0de..cb9fe624b0 100644 --- a/tools/cli/commands.js +++ b/tools/cli/commands.js @@ -2179,6 +2179,7 @@ main.registerCommand({ slow: { type: Boolean }, galaxy: { type: Boolean }, browserstack: { type: Boolean }, + phantom: { type: Boolean }, // Indicates whether these self-tests are running headless, e.g. in a // continuous integration testing environment, where visual niceties // like progress bars and spinners are unimportant. @@ -2269,6 +2270,7 @@ main.registerCommand({ const clients = { puppeteer: true, // Puppeteer is always enabled. + phantom: options.phantom, browserstack: options.browserstack, }; diff --git a/tools/cli/help.txt b/tools/cli/help.txt index 6fb6c735dc..8480a1b7d3 100644 --- a/tools/cli/help.txt +++ b/tools/cli/help.txt @@ -699,7 +699,7 @@ Options: Run tests of the 'meteor' tool. Usage: meteor self-test [pattern] [--list] [--file pattern] [--changed] [--slow] [--force-online] [--history n] - [--browserstack] [--retries n] + [--browserstack] [--phantom] [--retries n] Runs internal tests. Exits with status 0 on success. @@ -729,6 +729,8 @@ shown on test failure. The default is 10. Pass --browserstack to enable client side tests using BrowserStack. --browserstack requires s3cmd credentials. +Pass --phantom to enable client side tests using Phantom. + By default, failed tests are retried twice. Use --retries to change the number of retries, or disable retries by setting the value to 0. diff --git a/tools/tool-testing/clients/phantom/index.js b/tools/tool-testing/clients/phantom/index.js new file mode 100644 index 0000000000..da2e47ba6b --- /dev/null +++ b/tools/tool-testing/clients/phantom/index.js @@ -0,0 +1,68 @@ +import { execFile } from 'child_process'; +import Client from '../../client.js'; +import { enterJob } from '../../../utils/buildmessage.js'; +import { ensureDependencies } from '../../../cli/dev-bundle-helpers.js'; +import { + convertToOSPath, + pathJoin, + getCurrentToolsDir, +} from '../../../fs/files.js'; + +const NPM_DEPENDENCIES = { + 'phantomjs-prebuilt': '2.1.14', +}; + +export default class PhantomClient extends Client { + constructor(options) { + super(options); + + enterJob({ + title: 'Installing PhantomJS in Meteor tool', + }, () => { + ensureDependencies(NPM_DEPENDENCIES); + }); + + this.npmPackageExports = require("phantomjs-prebuilt"); + + this.name = "phantomjs"; + this.process = null; + + this._logError = true; + } + + connect() { + const phantomPath = this.npmPackageExports.path; + const scriptPath = pathJoin(getCurrentToolsDir(), "tools", + "tool-testing", "phantom", "open-url.js"); + this.process = execFile( + phantomPath, + [ + "--load-images=no", + convertToOSPath(scriptPath), this.url + ], + {}, + (error, stdout, stderr) => { + if (this._logError && error) { + console.log( + "PhantomJS exited with error ", error, + "\nstdout:\n", stdout, + "\nstderr:\n", stderr + ); + } else if (stderr) { + console.log("PhantomJS stderr:\n", stderr); + } + } + ); + } + + stop() { + // Suppress the expected SIGTERM exit 'failure' + this._logError = false; + this.process && this.process.kill(); + this.process = null; + } + + static pushClients(clients, appConfig) { + clients.push(new PhantomClient(appConfig)); + } +} \ No newline at end of file diff --git a/tools/tool-testing/clients/puppeteer/index.js b/tools/tool-testing/clients/puppeteer/index.js index 859589eac0..cf690bfcb5 100644 --- a/tools/tool-testing/clients/puppeteer/index.js +++ b/tools/tool-testing/clients/puppeteer/index.js @@ -44,4 +44,4 @@ export default class PuppeteerClient extends Client { static pushClients(clients, appConfig) { clients.push(new PuppeteerClient(appConfig)); } -} +} \ No newline at end of file diff --git a/tools/tool-testing/sandbox.js b/tools/tool-testing/sandbox.js index 9e2d940b9f..1c6be36332 100644 --- a/tools/tool-testing/sandbox.js +++ b/tools/tool-testing/sandbox.js @@ -38,6 +38,7 @@ // - browserstack: true if browserstack clients should be used // - port: the port that the clients should run on import * as files from '../fs/files.js'; +import PhantomClient from './clients/phantom/index.js'; import PuppeteerClient from './clients/puppeteer/index.js'; import BrowserStackClient from './clients/browserstack/index.js'; import Builder from '../isobuild/builder.js'; @@ -82,7 +83,7 @@ export default class Sandbox { this.warehouse = files.pathJoin(this.root, 'tropohouse'); this._makeWarehouse(this.options.warehouse); } - + const meteorScript = process.platform === "win32" ? "meteor.bat" : "meteor"; // Figure out the 'meteor' to run @@ -126,6 +127,10 @@ export default class Sandbox { port: clientOptions.port || 3000, }; + if (clientOptions.phantom) { + PhantomClient.pushClients(this.clients, appConfig); + } + if (clientOptions.puppeteer) { PuppeteerClient.pushClients(this.clients, appConfig); } From ccdf7347678fb12b28ef989d29d785c4bc857977 Mon Sep 17 00:00:00 2001 From: Toine van Kampen Date: Thu, 19 Apr 2018 22:11:45 +1000 Subject: [PATCH 0772/1355] Replace PhantomJS in Test in Console Runner Replace Test In Console PhantomJS with Puppeteer. Update Travis node to current Meteor version for compatibility with Puppeteer. --- .travis.yml | 2 +- packages/test-in-console/run.sh | 8 +++- packages/test-in-console/runner.js | 74 +++++++++++++++--------------- 3 files changed, 45 insertions(+), 39 deletions(-) diff --git a/.travis.yml b/.travis.yml index 3c50c6ae28..6aa87607ba 100644 --- a/.travis.yml +++ b/.travis.yml @@ -1,6 +1,6 @@ language: node_js node_js: - - "4.0" + - "8.11.1" cache: directories: - ".meteor" diff --git a/packages/test-in-console/run.sh b/packages/test-in-console/run.sh index f2ef762a1b..f80debd6fb 100755 --- a/packages/test-in-console/run.sh +++ b/packages/test-in-console/run.sh @@ -7,6 +7,10 @@ export METEOR_HOME=`pwd` # Just in case these packages haven't been installed elsewhere. ./meteor npm install -g phantomjs-prebuilt browserstack-webdriver +# Install locally +./meteor npm install puppeteer@1.3.0 + + export PATH=$METEOR_HOME:$PATH # synchronously get the dev bundle and NPM modules if they're not there. ./meteor --help || exit 1 @@ -17,8 +21,8 @@ exec 3< <(meteor test-packages --driver-package test-in-console -p 4096 --exclud EXEC_PID=$! sed '/test-in-console listening$/q' <&3 -./dev_bundle/bin/phantomjs "$METEOR_HOME/packages/test-in-console/runner.js" +node "$METEOR_HOME/packages/test-in-console/runner.js" STATUS=$? pkill -TERM -P $EXEC_PID -exit $STATUS +exit $STATUS \ No newline at end of file diff --git a/packages/test-in-console/runner.js b/packages/test-in-console/runner.js index 6553b28472..132465bb9d 100644 --- a/packages/test-in-console/runner.js +++ b/packages/test-in-console/runner.js @@ -1,37 +1,30 @@ -var createPage = require("webpage").create; -var system = require("system"); -var platform = system.args[1] || "local"; -var platformUrl = system.env.URL + platform; -var testUrls = [ - // Additional application URLs can be added here to re-run tests in - // PhantomJS with different query parameter-based configurations. - platformUrl, -]; +const puppeteer = require('puppeteer'); -function runNextUrl() { - var url = testUrls.shift(); - if (! url) { - phantom.exit(0); +async function runNextUrl(browser) { + const page = await browser.newPage(); + + page.on('console', msg => { + console.log(msg._text); + }); + + if (!process.env.URL) { + await page.close(); + await browser.close(); + process.exit(0); return; } - console.log("Running Meteor tests in PhantomJS... " + url); + await page.goto(process.env.URL); - var page = createPage(); - - page.onConsoleMessage = function (message) { - console.log(message); - }; - - page.open(url); - - function poll() { - if (isDone(page)) { - var failCount = getFailCount(page); + async function poll() { + if (await isDone(page)) { + let failCount = await getFailCount(page); if (failCount > 0) { - phantom.exit(1); + await page.close(); + await browser.close(); + process.exit(1); } else { - page.close(); + await page.close(); setTimeout(runNextUrl, 1000); } } else { @@ -42,23 +35,23 @@ function runNextUrl() { poll(); } -function isDone(page) { - return page.evaluate(function () { - if (typeof TEST_STATUS !== "undefined") { +async function isDone(page) { + return await page.evaluate(function() { + if (typeof TEST_STATUS !== 'undefined') { return TEST_STATUS.DONE; } - return typeof DONE !== "undefined" && DONE; + return typeof DONE !== 'undefined' && DONE; }); } -function getFailCount(page) { - return page.evaluate(function () { - if (typeof TEST_STATUS !== "undefined") { +async function getFailCount(page) { + return await page.evaluate(function() { + if (typeof TEST_STATUS !== 'undefined') { return TEST_STATUS.FAILURES; } - if (typeof FAILURES === "undefined") { + if (typeof FAILURES === 'undefined') { return 1; } @@ -66,4 +59,13 @@ function getFailCount(page) { }); } -runNextUrl(); +async function runTests() { + console.log(`Running test with Puppeteer at ${process.env.URL}`); + + // --no-sandbox and --disable-setuid-sandbox must be disabled for CI compatibility + const browser = await puppeteer.launch({ args: ['--no-sandbox', '--disable-setuid-sandbox'] }); + console.log(`Using version: ${await browser.version()}`); + runNextUrl(browser); +} + +runTests(); From 8185e69a2bd74cdc50834fabccf15daa5a98d097 Mon Sep 17 00:00:00 2001 From: Toine van Kampen Date: Thu, 19 Apr 2018 22:32:13 +1000 Subject: [PATCH 0773/1355] Add History Entry Note headless chrome as the default for browser tests. --- History.md | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/History.md b/History.md index 46907a0c46..bb90de92fe 100644 --- a/History.md +++ b/History.md @@ -175,6 +175,10 @@ [Feature #24](https://github.com/meteor/meteor-feature-requests/issues/24) [PR #9657](https://github.com/meteor/meteor/pull/9657) +* Meteor's test runners have been updated to use headless Chrome instead for +browser tests. Test can still be run using PhantomJS by passing --phantom +to the self test command. + ## v1.6.1.1, 2018-04-02 * Node has been updated to version From 567e620a867a5e34188024d3175d4cc9dedaff3b Mon Sep 17 00:00:00 2001 From: Ben Newman Date: Thu, 19 Apr 2018 10:08:45 -0400 Subject: [PATCH 0774/1355] Prefer client.s.databaseName over client.s.options.dbName. Fixes #9827. The client.s.databaseName property appears to have been introduced a long time ago (in 2014), so it seems reliable: https://github.com/mongodb/node-mongodb-native/commit/14fd60b99d92760e130e67e187b4c22dfd74ea7d The use of client.s.options.dbName was only recently introduced in #9790, since the MongoDB.connect callback now receives a MongoClient object rather than a Db object. Not sure if client.s.options.dbName was ever reliable, but at least we know when the problem started. --- packages/mongo/mongo_driver.js | 6 +++++- 1 file changed, 5 insertions(+), 1 deletion(-) diff --git a/packages/mongo/mongo_driver.js b/packages/mongo/mongo_driver.js index 9fae059fde..a471bb236e 100644 --- a/packages/mongo/mongo_driver.js +++ b/packages/mongo/mongo_driver.js @@ -177,7 +177,11 @@ MongoConnection = function (url, options) { // Use the internal `s` object to get the database name from the // connection URL (parsed by the driver). - var db = client.db(client.s.options.dbName); + var db = client.db( + client.s.databaseName || + // An older way of getting the name, supported as a fallback. + client.s.options.dbName + ); // First, figure out what the current primary is, if any. if (db.serverConfig.isMasterDoc) { From a33bc72b2133ba38098e6ae75f94024c4ebfa9fe Mon Sep 17 00:00:00 2001 From: Ben Newman Date: Thu, 19 Apr 2018 10:34:09 -0400 Subject: [PATCH 0775/1355] Avoid using cached .babel-cache and .meteor from other branches. https://github.com/meteor/meteor/pull/9826#issuecomment-382758704 cc @abernix @hwillson @jamesmillerburgess --- .circleci/config.yml | 7 +++---- 1 file changed, 3 insertions(+), 4 deletions(-) diff --git a/.circleci/config.yml b/.circleci/config.yml index e8ec90fb4f..85fa5725c4 100644 --- a/.circleci/config.yml +++ b/.circleci/config.yml @@ -119,9 +119,8 @@ jobs: - v1-dev-bundle-cache- - restore_cache: keys: - - v1-other-deps-cache-{{ .Branch }}-{{ .Revision }} - - v1-other-deps-cache-{{ .Branch }} - - v1-other-deps-cache- + - v2-other-deps-cache-{{ .Branch }}-{{ .Revision }} + - v2-other-deps-cache-{{ .Branch }}- - restore_cache: keys: - v1-test-groups-{{ .Branch }} @@ -697,7 +696,7 @@ jobs: paths: - "dev_bundle" - save_cache: - key: v1-other-deps-cache-{{ .Branch }}-{{ .Revision }} + key: v2-other-deps-cache-{{ .Branch }}-{{ .Revision }} paths: - ".babel-cache" - ".meteor" From a3a19f94eb6059233a5564540fefb3952fe8fc92 Mon Sep 17 00:00:00 2001 From: Ben Newman Date: Thu, 19 Apr 2018 10:53:15 -0400 Subject: [PATCH 0776/1355] Bump package versions for 1.7-beta.23 release. --- packages/babel-compiler/package.js | 2 +- packages/boilerplate-generator-tests/package.js | 2 +- packages/boilerplate-generator/package.js | 2 +- packages/dynamic-import/package.js | 2 +- packages/ecmascript-runtime-client/package.js | 2 +- packages/ecmascript-runtime-server/package.js | 2 +- packages/ecmascript-runtime/package.js | 2 +- packages/ecmascript/package.js | 2 +- packages/es5-shim/package.js | 2 +- packages/meteor-base/package.js | 2 +- packages/meteor-tool/package.js | 2 +- packages/meteor/package.js | 2 +- packages/modern-browsers/package.js | 2 +- packages/modules-runtime/package.js | 2 +- packages/mongo/package.js | 2 +- packages/promise/package.js | 2 +- packages/socket-stream-client/package.js | 2 +- packages/tracker/package.js | 2 +- packages/webapp/package.js | 2 +- scripts/admin/meteor-release-experimental.json | 2 +- 20 files changed, 20 insertions(+), 20 deletions(-) diff --git a/packages/babel-compiler/package.js b/packages/babel-compiler/package.js index 07e4e4eab3..f9ecabf35f 100644 --- a/packages/babel-compiler/package.js +++ b/packages/babel-compiler/package.js @@ -6,7 +6,7 @@ Package.describe({ // isn't possible because you can't publish a non-recommended // release with package versions that don't have a pre-release // identifier at the end (eg, -dev) - version: '7.1.0-beta17.22' + version: '7.1.0-beta17.23' }); Npm.depends({ diff --git a/packages/boilerplate-generator-tests/package.js b/packages/boilerplate-generator-tests/package.js index 5b56591a3c..3bcffbac0c 100644 --- a/packages/boilerplate-generator-tests/package.js +++ b/packages/boilerplate-generator-tests/package.js @@ -2,7 +2,7 @@ Package.describe({ // These tests are in a separate package so that we can Npm.depend on // parse5, a html parsing library. summary: "Tests for the boilerplate-generator package", - version: '1.5.0-beta17.22', + version: '1.5.0-beta17.23', documentation: null }); diff --git a/packages/boilerplate-generator/package.js b/packages/boilerplate-generator/package.js index 2d86dd0883..b74768f38c 100644 --- a/packages/boilerplate-generator/package.js +++ b/packages/boilerplate-generator/package.js @@ -1,6 +1,6 @@ Package.describe({ summary: "Generates the boilerplate html from program's manifest", - version: '1.5.0-beta17.22' + version: '1.5.0-beta17.23' }); Npm.depends({ diff --git a/packages/dynamic-import/package.js b/packages/dynamic-import/package.js index e7bfa885dc..d6c42fe3a3 100644 --- a/packages/dynamic-import/package.js +++ b/packages/dynamic-import/package.js @@ -1,6 +1,6 @@ Package.describe({ name: "dynamic-import", - version: "0.4.0-beta17.22", + version: "0.4.0-beta17.23", summary: "Runtime support for Meteor 1.5 dynamic import(...) syntax", documentation: "README.md" }); diff --git a/packages/ecmascript-runtime-client/package.js b/packages/ecmascript-runtime-client/package.js index 5b86b2fa41..98ebe650c0 100644 --- a/packages/ecmascript-runtime-client/package.js +++ b/packages/ecmascript-runtime-client/package.js @@ -1,6 +1,6 @@ Package.describe({ name: "ecmascript-runtime-client", - version: "0.7.0-beta17.22", + version: "0.7.0-beta17.23", summary: "Polyfills for new ECMAScript 2015 APIs like Map and Set", git: "https://github.com/meteor/meteor/tree/devel/packages/ecmascript-runtime-client", documentation: "README.md" diff --git a/packages/ecmascript-runtime-server/package.js b/packages/ecmascript-runtime-server/package.js index a90bdc0b67..cce2a325ec 100644 --- a/packages/ecmascript-runtime-server/package.js +++ b/packages/ecmascript-runtime-server/package.js @@ -1,6 +1,6 @@ Package.describe({ name: "ecmascript-runtime-server", - version: "0.7.0-beta17.22", + version: "0.7.0-beta17.23", summary: "Polyfills for new ECMAScript 2015 APIs like Map and Set", git: "https://github.com/meteor/meteor/tree/devel/packages/ecmascript-runtime-client", documentation: "README.md" diff --git a/packages/ecmascript-runtime/package.js b/packages/ecmascript-runtime/package.js index c56d57d705..1e4e82206d 100644 --- a/packages/ecmascript-runtime/package.js +++ b/packages/ecmascript-runtime/package.js @@ -1,6 +1,6 @@ Package.describe({ name: "ecmascript-runtime", - version: "0.7.0-beta17.22", + version: "0.7.0-beta17.23", summary: "Polyfills for new ECMAScript 2015 APIs like Map and Set", git: "https://github.com/meteor/ecmascript-runtime", documentation: "README.md" diff --git a/packages/ecmascript/package.js b/packages/ecmascript/package.js index 595fe47336..5780bd1774 100644 --- a/packages/ecmascript/package.js +++ b/packages/ecmascript/package.js @@ -1,6 +1,6 @@ Package.describe({ name: 'ecmascript', - version: '0.11.0-beta17.22', + version: '0.11.0-beta17.23', summary: 'Compiler plugin that supports ES2015+ in all .js files', documentation: 'README.md' }); diff --git a/packages/es5-shim/package.js b/packages/es5-shim/package.js index a077245a7d..ab8904ed10 100644 --- a/packages/es5-shim/package.js +++ b/packages/es5-shim/package.js @@ -1,6 +1,6 @@ Package.describe({ name: "es5-shim", - version: "4.8.0-beta17.22", + version: "4.8.0-beta17.23", summary: "Shims and polyfills to improve ECMAScript 5 support", documentation: "README.md" }); diff --git a/packages/meteor-base/package.js b/packages/meteor-base/package.js index adba7ea4d1..b54e2c1a1e 100644 --- a/packages/meteor-base/package.js +++ b/packages/meteor-base/package.js @@ -1,6 +1,6 @@ Package.describe({ name: 'meteor-base', - version: '1.4.0-beta17.22', + version: '1.4.0-beta17.23', // Brief, one-line summary of the package. summary: 'Packages that every Meteor app needs', // By default, Meteor will default to using README.md for documentation. diff --git a/packages/meteor-tool/package.js b/packages/meteor-tool/package.js index f6f09bf2b8..0f97cd6718 100644 --- a/packages/meteor-tool/package.js +++ b/packages/meteor-tool/package.js @@ -1,6 +1,6 @@ Package.describe({ summary: "The Meteor command-line tool", - version: '1.7.0-beta.22' + version: '1.7.0-beta.23' }); Package.includeTool(); diff --git a/packages/meteor/package.js b/packages/meteor/package.js index 9261e27b5f..401fe94157 100644 --- a/packages/meteor/package.js +++ b/packages/meteor/package.js @@ -2,7 +2,7 @@ Package.describe({ summary: "Core Meteor environment", - version: '1.9.0-beta17.22' + version: '1.9.0-beta17.23' }); Package.registerBuildPlugin({ diff --git a/packages/modern-browsers/package.js b/packages/modern-browsers/package.js index 5d7d276e4b..df03d4df83 100644 --- a/packages/modern-browsers/package.js +++ b/packages/modern-browsers/package.js @@ -1,6 +1,6 @@ Package.describe({ name: "modern-browsers", - version: "0.1.0-beta17.22", + version: "0.1.0-beta17.23", summary: "API for defining the boundary between modern and legacy " + "JavaScript clients", documentation: "README.md" diff --git a/packages/modules-runtime/package.js b/packages/modules-runtime/package.js index af0b209327..6a7da065cd 100644 --- a/packages/modules-runtime/package.js +++ b/packages/modules-runtime/package.js @@ -1,6 +1,6 @@ Package.describe({ name: "modules-runtime", - version: "0.10.0-beta17.22", + version: "0.10.0-beta17.23", summary: "CommonJS module system", git: "https://github.com/benjamn/install", documentation: "README.md" diff --git a/packages/mongo/package.js b/packages/mongo/package.js index 726e0b16a8..ed9675ca6b 100644 --- a/packages/mongo/package.js +++ b/packages/mongo/package.js @@ -9,7 +9,7 @@ Package.describe({ summary: "Adaptor for using MongoDB and Minimongo over DDP", - version: '1.5.0-beta17.22' + version: '1.5.0-beta17.23' }); Npm.depends({ diff --git a/packages/promise/package.js b/packages/promise/package.js index efe9ebb1e9..ba1d56c14c 100644 --- a/packages/promise/package.js +++ b/packages/promise/package.js @@ -1,6 +1,6 @@ Package.describe({ name: "promise", - version: "0.11.0-beta17.22", + version: "0.11.0-beta17.23", summary: "ECMAScript 2015 Promise polyfill with Fiber support", git: "https://github.com/meteor/promise", documentation: "README.md" diff --git a/packages/socket-stream-client/package.js b/packages/socket-stream-client/package.js index a18c44e255..15953a8391 100644 --- a/packages/socket-stream-client/package.js +++ b/packages/socket-stream-client/package.js @@ -1,6 +1,6 @@ Package.describe({ name: "socket-stream-client", - version: "0.2.0-beta17.22", + version: "0.2.0-beta17.23", summary: "Provides the ClientStream abstraction used by ddp-client", documentation: "README.md" }); diff --git a/packages/tracker/package.js b/packages/tracker/package.js index 14413e8060..d7cbfad4be 100644 --- a/packages/tracker/package.js +++ b/packages/tracker/package.js @@ -1,6 +1,6 @@ Package.describe({ summary: "Dependency tracker to allow reactive callbacks", - version: "1.2.0-beta17.22" + version: "1.2.0-beta17.23" }); Package.onUse(function (api) { diff --git a/packages/webapp/package.js b/packages/webapp/package.js index 4506305374..4c995ef38a 100644 --- a/packages/webapp/package.js +++ b/packages/webapp/package.js @@ -1,6 +1,6 @@ Package.describe({ summary: "Serves a Meteor app over HTTP", - version: '1.6.0-beta17.22' + version: '1.6.0-beta17.23' }); Npm.depends({"basic-auth-connect": "1.0.0", diff --git a/scripts/admin/meteor-release-experimental.json b/scripts/admin/meteor-release-experimental.json index f95c792a0c..cc165a5f5d 100644 --- a/scripts/admin/meteor-release-experimental.json +++ b/scripts/admin/meteor-release-experimental.json @@ -1,6 +1,6 @@ { "track": "METEOR", - "version": "1.7-beta.22", + "version": "1.7-beta.23", "recommended": false, "official": false, "description": "Meteor" From 1c0ebbf2f0a8db5939b1bd264c73e7717a2c8528 Mon Sep 17 00:00:00 2001 From: Sashko Stubailo Date: Thu, 19 Apr 2018 08:22:55 -0700 Subject: [PATCH 0777/1355] Update Roadmap.md --- Roadmap.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/Roadmap.md b/Roadmap.md index 9ce479283b..75cff6657e 100644 --- a/Roadmap.md +++ b/Roadmap.md @@ -2,7 +2,7 @@ # Meteor Roadmap -**Up to date as of March 9, 2018** +**Up to date as of April 19, 2018** This document describes the high level features the Meteor project maintainers have decided to prioritize in the near- to medium-term future. A large fraction of the maintainers’ time will be dedicated to working on the features described here. As with any roadmap, this is a living document that will evolve as priorities and dependencies shift; we aim to update the roadmap with any changes or status updates on a monthly basis. From 1555e3e1e3805aa3ad1c3baad6b2844ff5775bb5 Mon Sep 17 00:00:00 2001 From: Christian Klaussner Date: Fri, 20 Apr 2018 19:26:24 +0200 Subject: [PATCH 0778/1355] Update MongoDB driver to 3.0.7 (#9831) The internal `client.s` property is no longer necessary to create the database object. If `MongoClient.prototype.db` is called without arguments, it will use the database name from the connection URI (https://jira.mongodb.org/projects/NODE/issues/NODE-1258). --- History.md | 3 ++- packages/mongo/mongo_driver.js | 8 +------- packages/npm-mongo/.npm/package/npm-shrinkwrap.json | 12 ++++++------ packages/npm-mongo/package.js | 4 ++-- 4 files changed, 11 insertions(+), 16 deletions(-) diff --git a/History.md b/History.md index add3dbbf2c..07da60f71b 100644 --- a/History.md +++ b/History.md @@ -140,7 +140,8 @@ [PR #9632](https://github.com/meteor/meteor/pull/9632) * The `mongodb` driver package has been updated from version 2.2.34 to - version 3.0.5. [PR #9790](https://github.com/meteor/meteor/pull/9790) + version 3.0.7. [PR #9790](https://github.com/meteor/meteor/pull/9790) + [PR #9831](https://github.com/meteor/meteor/pull/9831) [Feature #268](https://github.com/meteor/meteor-feature-requests/issues/268) * The `cordova-plugin-meteor-webapp` package depended on by the Meteor diff --git a/packages/mongo/mongo_driver.js b/packages/mongo/mongo_driver.js index a471bb236e..6819079d0d 100644 --- a/packages/mongo/mongo_driver.js +++ b/packages/mongo/mongo_driver.js @@ -175,13 +175,7 @@ MongoConnection = function (url, options) { throw err; } - // Use the internal `s` object to get the database name from the - // connection URL (parsed by the driver). - var db = client.db( - client.s.databaseName || - // An older way of getting the name, supported as a fallback. - client.s.options.dbName - ); + var db = client.db(); // First, figure out what the current primary is, if any. if (db.serverConfig.isMasterDoc) { diff --git a/packages/npm-mongo/.npm/package/npm-shrinkwrap.json b/packages/npm-mongo/.npm/package/npm-shrinkwrap.json index de60876866..19580933d2 100644 --- a/packages/npm-mongo/.npm/package/npm-shrinkwrap.json +++ b/packages/npm-mongo/.npm/package/npm-shrinkwrap.json @@ -7,14 +7,14 @@ "integrity": "sha512-D8zmlb46xfuK2gGvKmUjIklQEouN2nQ0LEHHeZ/NoHM2LDiMk2EYzZ5Ntw/Urk+bgMDosOZxaRzXxvhI5TcAVQ==" }, "mongodb": { - "version": "3.0.5", - "resolved": "https://registry.npmjs.org/mongodb/-/mongodb-3.0.5.tgz", - "integrity": "sha512-8ioTyyc8tkNwZCTDa1FPWvmpJFfvE484DnugC8KpVrw4AKAE03OOAlORl2yYTNtz3TX4Ab7FRo00vzgexB/67A==" + "version": "3.0.7", + "resolved": "https://registry.npmjs.org/mongodb/-/mongodb-3.0.7.tgz", + "integrity": "sha512-n/14kMJEoARXz1qhpNPhUocqy+z5130jhqgEIX1Tsl8UVpHrndQ8et+VmgC4yPK/I8Tcgc93JEMQCHTekBUnNA==" }, "mongodb-core": { - "version": "3.0.5", - "resolved": "https://registry.npmjs.org/mongodb-core/-/mongodb-core-3.0.5.tgz", - "integrity": "sha512-4A1nx/xAU5d/NPICjiyzVxzNrIdJQQsYRe3xQkV1O638t+fHHfAOLK+SQagqGnu1m0aeSxb1ixp/P0FGSQWIGA==" + "version": "3.0.7", + "resolved": "https://registry.npmjs.org/mongodb-core/-/mongodb-core-3.0.7.tgz", + "integrity": "sha512-z6YufO7s40wLiv2ssFshqoLS4+Kf+huhHq6KZ7gDArsKNzXYjAwTMnhEIJ9GQ8fIfBGs5tBLNPfbIDoCKGPmOw==" }, "require_optional": { "version": "1.0.1", diff --git a/packages/npm-mongo/package.js b/packages/npm-mongo/package.js index c45a8ae854..871f32bc41 100644 --- a/packages/npm-mongo/package.js +++ b/packages/npm-mongo/package.js @@ -3,12 +3,12 @@ Package.describe({ summary: "Wrapper around the mongo npm package", - version: "2.2.34", + version: "3.0.7", documentation: null }); Npm.depends({ - mongodb: "3.0.5" + mongodb: "3.0.7" }); Package.onUse(function (api) { From 622c3d48bc4b1c2a47e3c3f0172268400c91f954 Mon Sep 17 00:00:00 2001 From: Ben Newman Date: Tue, 24 Apr 2018 09:47:29 -0400 Subject: [PATCH 0779/1355] Fix Circle CI memory logging when $USER undefined. --- .circleci/config.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.circleci/config.yml b/.circleci/config.yml index 85fa5725c4..0863155a14 100644 --- a/.circleci/config.yml +++ b/.circleci/config.yml @@ -41,7 +41,7 @@ run_log_mem_use: &run_log_mem_use # Log memory usage throughout entire build. MEMUSELOG=/tmp/memuse.txt /bin/bash -c '\ while true; do\ - ps -u $USER -e -o pid,%cpu,%mem,rss:10,vsz:10,command:20 \ + ps -e -o user,%cpu,%mem,rss:10,vsz:10,command:20 \ --sort=-%mem >> $MEMUSELOG; \ echo "----------" >> $MEMUSELOG; \ sleep 1; \ From 99a72dee4bd3ab6f6f656d39a888792f560cd3fc Mon Sep 17 00:00:00 2001 From: Ben Newman Date: Tue, 24 Apr 2018 09:48:25 -0400 Subject: [PATCH 0780/1355] Stop setting lower ulimit on file descriptors in Circle CI containers. Now that we're using containers rather than physical machines, the default value of `ulimit -n` is 65536, which is much greater than 4096. --- .circleci/config.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.circleci/config.yml b/.circleci/config.yml index 0863155a14..16bd6cd3d3 100644 --- a/.circleci/config.yml +++ b/.circleci/config.yml @@ -86,7 +86,7 @@ build_machine_environment: &build_machine_environment # These will be evaled before each command. PRE_TEST_COMMANDS: |- ulimit -c unlimited; # Set core dump size as Ubuntu 14.04 lacks prlimit. - ulimit -n 4096; # CircleCI default is soft 1024, hard 4096. Take it all. + ulimit -a # Display all ulimit settings for transparency. # Enable the Garbage Collection `gc` object to be exposed so we can try # to our own, hopefully more graceful, technique. From 1e8846d1551f296962dc59aa7599c787b3691c04 Mon Sep 17 00:00:00 2001 From: Ben Newman Date: Tue, 24 Apr 2018 09:49:23 -0400 Subject: [PATCH 0781/1355] Stop passing --expose-gc to Node during Circle CI tests. Related: 90e4d7dc7b411b81bc3e8010a5cb4871e8a4da33 --- .circleci/config.yml | 4 ---- 1 file changed, 4 deletions(-) diff --git a/.circleci/config.yml b/.circleci/config.yml index 16bd6cd3d3..91193656ec 100644 --- a/.circleci/config.yml +++ b/.circleci/config.yml @@ -88,10 +88,6 @@ build_machine_environment: &build_machine_environment ulimit -c unlimited; # Set core dump size as Ubuntu 14.04 lacks prlimit. ulimit -a # Display all ulimit settings for transparency. - # Enable the Garbage Collection `gc` object to be exposed so we can try - # to our own, hopefully more graceful, technique. - TOOL_NODE_FLAGS: --expose-gc - # This is only to make Meteor self-test not remind us that we can set # this argument for self-tests. SELF_TEST_TOOL_NODE_FLAGS: " " From 898fb692ce9a363a93bc7e89be050d4140f47bd5 Mon Sep 17 00:00:00 2001 From: Ben Newman Date: Tue, 24 Apr 2018 11:07:41 -0400 Subject: [PATCH 0782/1355] Clear npm cache before running --get-ready. --- .circleci/config.yml | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/.circleci/config.yml b/.circleci/config.yml index 91193656ec..c717e0ef7d 100644 --- a/.circleci/config.yml +++ b/.circleci/config.yml @@ -126,6 +126,10 @@ jobs: command: | sudo mkdir -p ./tmp/results/junit sudo chmod a+rwx ./tmp/results/junit + # Clear dev_bundle/.npm to ensure consistent test runs. + - run: + name: Clear npm cache + command: ./meteor npm cache clear --force - run: name: Get Ready command: | @@ -133,10 +137,6 @@ jobs: ./meteor --get-ready # shouldn't take longer than 20 minutes no_output_timeout: 20m - # Clear dev_bundle/.npm to ensure consistent test runs. - - run: - name: Clear npm cache - command: ./meteor npm cache clear --force - run: <<: *run_save_node_bin - persist_to_workspace: From 8b8f93fe03b2a484c7cbf28dc41d74528f30912d Mon Sep 17 00:00:00 2001 From: Ben Newman Date: Tue, 24 Apr 2018 11:08:29 -0400 Subject: [PATCH 0783/1355] Make {debug,prod}Only packages self-test more verbose. --- tools/tests/package-tests.js | 23 ++++++++++++++++------- 1 file changed, 16 insertions(+), 7 deletions(-) diff --git a/tools/tests/package-tests.js b/tools/tests/package-tests.js index 87694998b5..caea34e4fb 100644 --- a/tools/tests/package-tests.js +++ b/tools/tests/package-tests.js @@ -190,16 +190,27 @@ selftest.define("add debugOnly and prodOnly packages", [], function () { s.cd("myapp"); s.set("METEOR_OFFLINE_CATALOG", "t"); - // Add a debugOnly package. It should work during a normal run, but print + // Add a debugOnly package. It should work during a normal run, but print // nothing in production mode. run = s.run("add", "debug-only"); run.waitSecs(30); run.match("debug-only"); run.expectExit(0); - s.mkdir("server"); - s.write("server/exit-test.js", - "process.exit(global.DEBUG_ONLY_LOADED ? 234 : 235)"); + function onStartup(property) { + s.mkdir("server"); + s.write("server/exit-test.js", [ + "Meteor.startup(() => {", + " console.log('Meteor.isDevelopment', Meteor.isDevelopment);", + " console.log('Meteor.isProduction', Meteor.isProduction);", + ` console.log('${property}', global.${property});`, + ` process.exit(global.${property} ? 234 : 235);`, + "});", + "" + ].join("\n")); + } + + onStartup("DEBUG_ONLY_LOADED"); run = s.run("--once"); run.waitSecs(30); @@ -214,9 +225,7 @@ selftest.define("add debugOnly and prodOnly packages", [], function () { run.match("prod-only"); run.expectExit(0); - s.mkdir("server"); - s.write("server/exit-test.js", // overwrite - "process.exit(global.PROD_ONLY_LOADED ? 234 : 235)"); + onStartup("PROD_ONLY_LOADED"); run = s.run("--once"); run.waitSecs(30); From 6bcf2fbee9f48fb56ef42cdbe17cfcb88f0955c7 Mon Sep 17 00:00:00 2001 From: Ben Newman Date: Tue, 24 Apr 2018 11:09:18 -0400 Subject: [PATCH 0784/1355] Default buildMode to development for `meteor run` command. Another attempt to fix {debug,prod}Only package self-test failures: https://circleci.com/gh/meteor/meteor/19960 --- tools/cli/commands.js | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/tools/cli/commands.js b/tools/cli/commands.js index fb86a47ec4..6c6dc9229e 100644 --- a/tools/cli/commands.js +++ b/tools/cli/commands.js @@ -422,7 +422,7 @@ function doRunCommand(options) { settingsFile: options.settings, buildOptions: { minifyMode: options.production ? 'production' : 'development', - buildMode: options.production && 'production', + buildMode: options.production ? 'production' : 'development', webArchs: webArchs }, rootUrl: process.env.ROOT_URL, From e1e2c2b49087384c5950e89afd0e3c72d8a8d7ba Mon Sep 17 00:00:00 2001 From: Ben Newman Date: Tue, 24 Apr 2018 11:35:57 -0400 Subject: [PATCH 0785/1355] Terminate SQLite database connection before springboarding. https://github.com/meteor/meteor/issues/9703#issuecomment-383620007 --- tools/cli/main.js | 8 ++++++++ tools/packaging/catalog/catalog-remote.js | 8 ++++---- 2 files changed, 12 insertions(+), 4 deletions(-) diff --git a/tools/cli/main.js b/tools/cli/main.js index c5f08eba7e..1ccf77ebe8 100644 --- a/tools/cli/main.js +++ b/tools/cli/main.js @@ -539,6 +539,10 @@ var springboard = function (rel, options) { process.env['METEOR_SPRINGBOARD_RELEASE'] = options.releaseOverride; } + // Release our connection to the sqlite catalog database for the current + // process, so that the springboarded process can reestablish it. + catalog.official.closePermanently(); + if (process.platform === 'win32') { process.exit(new Promise(function (resolve) { var batPath = files.convertToOSPath(executable + ".bat"); @@ -562,6 +566,10 @@ var oldSpringboard = function (toolsVersion) { var cmd = files.pathJoin(warehouse.getToolsDir(toolsVersion), 'bin', 'meteor'); + // Release our connection to the sqlite catalog database for the current + // process, so that the springboarded process can reestablish it. + catalog.official.closePermanently(); + // Now exec; we're not coming back. require('kexec')(cmd, newArgv); throw Error('exec failed?'); diff --git a/tools/packaging/catalog/catalog-remote.js b/tools/packaging/catalog/catalog-remote.js index 9605556ef6..86c6e36388 100644 --- a/tools/packaging/catalog/catalog-remote.js +++ b/tools/packaging/catalog/catalog-remote.js @@ -145,7 +145,7 @@ var Db = function (dbFile, options) { // So if any of the filesystems are a windows filesystem (e.g. WSL) // Then we will run with TRUNCATE mode. self._retry(function () { - if(files.isWindowsLikeFilesystem()) { + if (files.isWindowsLikeFilesystem()) { self._execute('PRAGMA journal_mode=TRUNCATE'); } else { self._execute('PRAGMA journal_mode=WAL'); @@ -249,9 +249,9 @@ _.extend(Db.prototype, { } catch (err) { var retry = false; // Grr... doesn't expose error code; must string-match - if (err.message - && ( err.message == "SQLITE_BUSY: database is locked" - || err.message == "SQLITE_BUSY: cannot commit transaction - SQL statements in progress")) { + if (err.message && + (err.message === "SQLITE_BUSY: database is locked" || + err.message === "SQLITE_BUSY: cannot commit transaction - SQL statements in progress")) { if (attempt < BUSY_RETRY_ATTEMPTS) { retry = true; } From e2f7754b9b200704c6a59f6114d76048e14933b1 Mon Sep 17 00:00:00 2001 From: Ben Newman Date: Tue, 24 Apr 2018 12:35:20 -0400 Subject: [PATCH 0786/1355] Disable SQLite journal_mode=TRUNCATE to fix #9703. https://github.com/meteor/meteor/issues/9703#issuecomment-383620007 We will reconsider this change in Meteor 1.7.1, but in the meantime the METEOR_SQLITE_JOURNAL_MODE environment variable can be used to override the default journal mode (WAL). cc @brucejo75 --- tools/packaging/catalog/catalog-remote.js | 18 ++++++++---------- 1 file changed, 8 insertions(+), 10 deletions(-) diff --git a/tools/packaging/catalog/catalog-remote.js b/tools/packaging/catalog/catalog-remote.js index 86c6e36388..7ed5aa10c1 100644 --- a/tools/packaging/catalog/catalog-remote.js +++ b/tools/packaging/catalog/catalog-remote.js @@ -16,6 +16,13 @@ var Profile = require('../../tool-env/profile.js').Profile; // XXX: Rationalize these flags. Maybe use the logger? var DEBUG_SQL = !!process.env.METEOR_DEBUG_SQL; +// Developers using Windows Subsystem for Linux (WSL) may want to override +// this environment variable to TRUNCATE instead of WAL. WAL mode copes +// better with (multi-process) concurrency but is currently incompatible +// with WSL: https://github.com/meteor/meteor-feature-requests/issues/154 +const JOURNAL_MODE = + process.env.METEOR_SQLITE_JOURNAL_MODE || "WAL"; + var SYNCTOKEN_ID = "1"; var METADATA_LAST_SYNC = "lastsync"; @@ -139,17 +146,8 @@ var Db = function (dbFile, options) { return self.open(dbFile); }); - // WAL mode copes much better with (multi-process) concurrency - // Windows Subsystem for Linux cannot work with WAL mode - // https://github.com/meteor/meteor-feature-requests/issues/154 - // So if any of the filesystems are a windows filesystem (e.g. WSL) - // Then we will run with TRUNCATE mode. self._retry(function () { - if (files.isWindowsLikeFilesystem()) { - self._execute('PRAGMA journal_mode=TRUNCATE'); - } else { - self._execute('PRAGMA journal_mode=WAL'); - } + self._execute(`PRAGMA journal_mode=${JOURNAL_MODE}`); }); }; From 5824129a34bf40c89fc62c5840b9882741232f34 Mon Sep 17 00:00:00 2001 From: Ben Newman Date: Tue, 24 Apr 2018 12:40:07 -0400 Subject: [PATCH 0787/1355] Bump package versions for 1.7-beta.24 release. --- packages/babel-compiler/package.js | 2 +- packages/boilerplate-generator-tests/package.js | 2 +- packages/boilerplate-generator/package.js | 2 +- packages/dynamic-import/package.js | 2 +- packages/ecmascript-runtime-client/package.js | 2 +- packages/ecmascript-runtime-server/package.js | 2 +- packages/ecmascript-runtime/package.js | 2 +- packages/ecmascript/package.js | 2 +- packages/es5-shim/package.js | 2 +- packages/meteor-base/package.js | 2 +- packages/meteor-tool/package.js | 2 +- packages/meteor/package.js | 2 +- packages/modern-browsers/package.js | 2 +- packages/modules-runtime/package.js | 2 +- packages/mongo/package.js | 2 +- packages/npm-mongo/package.js | 2 +- packages/promise/package.js | 2 +- packages/socket-stream-client/package.js | 2 +- packages/tracker/package.js | 2 +- packages/webapp/package.js | 2 +- scripts/admin/meteor-release-experimental.json | 2 +- 21 files changed, 21 insertions(+), 21 deletions(-) diff --git a/packages/babel-compiler/package.js b/packages/babel-compiler/package.js index f9ecabf35f..3eb003374a 100644 --- a/packages/babel-compiler/package.js +++ b/packages/babel-compiler/package.js @@ -6,7 +6,7 @@ Package.describe({ // isn't possible because you can't publish a non-recommended // release with package versions that don't have a pre-release // identifier at the end (eg, -dev) - version: '7.1.0-beta17.23' + version: '7.1.0-beta17.24' }); Npm.depends({ diff --git a/packages/boilerplate-generator-tests/package.js b/packages/boilerplate-generator-tests/package.js index 3bcffbac0c..908939ae68 100644 --- a/packages/boilerplate-generator-tests/package.js +++ b/packages/boilerplate-generator-tests/package.js @@ -2,7 +2,7 @@ Package.describe({ // These tests are in a separate package so that we can Npm.depend on // parse5, a html parsing library. summary: "Tests for the boilerplate-generator package", - version: '1.5.0-beta17.23', + version: '1.5.0-beta17.24', documentation: null }); diff --git a/packages/boilerplate-generator/package.js b/packages/boilerplate-generator/package.js index b74768f38c..2415db0fc7 100644 --- a/packages/boilerplate-generator/package.js +++ b/packages/boilerplate-generator/package.js @@ -1,6 +1,6 @@ Package.describe({ summary: "Generates the boilerplate html from program's manifest", - version: '1.5.0-beta17.23' + version: '1.5.0-beta17.24' }); Npm.depends({ diff --git a/packages/dynamic-import/package.js b/packages/dynamic-import/package.js index d6c42fe3a3..825f43771a 100644 --- a/packages/dynamic-import/package.js +++ b/packages/dynamic-import/package.js @@ -1,6 +1,6 @@ Package.describe({ name: "dynamic-import", - version: "0.4.0-beta17.23", + version: "0.4.0-beta17.24", summary: "Runtime support for Meteor 1.5 dynamic import(...) syntax", documentation: "README.md" }); diff --git a/packages/ecmascript-runtime-client/package.js b/packages/ecmascript-runtime-client/package.js index 98ebe650c0..867e6df371 100644 --- a/packages/ecmascript-runtime-client/package.js +++ b/packages/ecmascript-runtime-client/package.js @@ -1,6 +1,6 @@ Package.describe({ name: "ecmascript-runtime-client", - version: "0.7.0-beta17.23", + version: "0.7.0-beta17.24", summary: "Polyfills for new ECMAScript 2015 APIs like Map and Set", git: "https://github.com/meteor/meteor/tree/devel/packages/ecmascript-runtime-client", documentation: "README.md" diff --git a/packages/ecmascript-runtime-server/package.js b/packages/ecmascript-runtime-server/package.js index cce2a325ec..6a3585f7fd 100644 --- a/packages/ecmascript-runtime-server/package.js +++ b/packages/ecmascript-runtime-server/package.js @@ -1,6 +1,6 @@ Package.describe({ name: "ecmascript-runtime-server", - version: "0.7.0-beta17.23", + version: "0.7.0-beta17.24", summary: "Polyfills for new ECMAScript 2015 APIs like Map and Set", git: "https://github.com/meteor/meteor/tree/devel/packages/ecmascript-runtime-client", documentation: "README.md" diff --git a/packages/ecmascript-runtime/package.js b/packages/ecmascript-runtime/package.js index 1e4e82206d..9283295430 100644 --- a/packages/ecmascript-runtime/package.js +++ b/packages/ecmascript-runtime/package.js @@ -1,6 +1,6 @@ Package.describe({ name: "ecmascript-runtime", - version: "0.7.0-beta17.23", + version: "0.7.0-beta17.24", summary: "Polyfills for new ECMAScript 2015 APIs like Map and Set", git: "https://github.com/meteor/ecmascript-runtime", documentation: "README.md" diff --git a/packages/ecmascript/package.js b/packages/ecmascript/package.js index 5780bd1774..bd6a1f74e8 100644 --- a/packages/ecmascript/package.js +++ b/packages/ecmascript/package.js @@ -1,6 +1,6 @@ Package.describe({ name: 'ecmascript', - version: '0.11.0-beta17.23', + version: '0.11.0-beta17.24', summary: 'Compiler plugin that supports ES2015+ in all .js files', documentation: 'README.md' }); diff --git a/packages/es5-shim/package.js b/packages/es5-shim/package.js index ab8904ed10..a13b8aef82 100644 --- a/packages/es5-shim/package.js +++ b/packages/es5-shim/package.js @@ -1,6 +1,6 @@ Package.describe({ name: "es5-shim", - version: "4.8.0-beta17.23", + version: "4.8.0-beta17.24", summary: "Shims and polyfills to improve ECMAScript 5 support", documentation: "README.md" }); diff --git a/packages/meteor-base/package.js b/packages/meteor-base/package.js index b54e2c1a1e..fb6fe38c31 100644 --- a/packages/meteor-base/package.js +++ b/packages/meteor-base/package.js @@ -1,6 +1,6 @@ Package.describe({ name: 'meteor-base', - version: '1.4.0-beta17.23', + version: '1.4.0-beta17.24', // Brief, one-line summary of the package. summary: 'Packages that every Meteor app needs', // By default, Meteor will default to using README.md for documentation. diff --git a/packages/meteor-tool/package.js b/packages/meteor-tool/package.js index 0f97cd6718..f43ad9eeaf 100644 --- a/packages/meteor-tool/package.js +++ b/packages/meteor-tool/package.js @@ -1,6 +1,6 @@ Package.describe({ summary: "The Meteor command-line tool", - version: '1.7.0-beta.23' + version: '1.7.0-beta.24' }); Package.includeTool(); diff --git a/packages/meteor/package.js b/packages/meteor/package.js index 401fe94157..1d8b8952f8 100644 --- a/packages/meteor/package.js +++ b/packages/meteor/package.js @@ -2,7 +2,7 @@ Package.describe({ summary: "Core Meteor environment", - version: '1.9.0-beta17.23' + version: '1.9.0-beta17.24' }); Package.registerBuildPlugin({ diff --git a/packages/modern-browsers/package.js b/packages/modern-browsers/package.js index df03d4df83..e9b73bc42d 100644 --- a/packages/modern-browsers/package.js +++ b/packages/modern-browsers/package.js @@ -1,6 +1,6 @@ Package.describe({ name: "modern-browsers", - version: "0.1.0-beta17.23", + version: "0.1.0-beta17.24", summary: "API for defining the boundary between modern and legacy " + "JavaScript clients", documentation: "README.md" diff --git a/packages/modules-runtime/package.js b/packages/modules-runtime/package.js index 6a7da065cd..d277648777 100644 --- a/packages/modules-runtime/package.js +++ b/packages/modules-runtime/package.js @@ -1,6 +1,6 @@ Package.describe({ name: "modules-runtime", - version: "0.10.0-beta17.23", + version: "0.10.0-beta17.24", summary: "CommonJS module system", git: "https://github.com/benjamn/install", documentation: "README.md" diff --git a/packages/mongo/package.js b/packages/mongo/package.js index ed9675ca6b..7c37563dab 100644 --- a/packages/mongo/package.js +++ b/packages/mongo/package.js @@ -9,7 +9,7 @@ Package.describe({ summary: "Adaptor for using MongoDB and Minimongo over DDP", - version: '1.5.0-beta17.23' + version: '1.5.0-beta17.24' }); Npm.depends({ diff --git a/packages/npm-mongo/package.js b/packages/npm-mongo/package.js index 871f32bc41..cb86502a77 100644 --- a/packages/npm-mongo/package.js +++ b/packages/npm-mongo/package.js @@ -3,7 +3,7 @@ Package.describe({ summary: "Wrapper around the mongo npm package", - version: "3.0.7", + version: "3.0.7-beta17.24", documentation: null }); diff --git a/packages/promise/package.js b/packages/promise/package.js index ba1d56c14c..89dcab38a3 100644 --- a/packages/promise/package.js +++ b/packages/promise/package.js @@ -1,6 +1,6 @@ Package.describe({ name: "promise", - version: "0.11.0-beta17.23", + version: "0.11.0-beta17.24", summary: "ECMAScript 2015 Promise polyfill with Fiber support", git: "https://github.com/meteor/promise", documentation: "README.md" diff --git a/packages/socket-stream-client/package.js b/packages/socket-stream-client/package.js index 15953a8391..85abf6609c 100644 --- a/packages/socket-stream-client/package.js +++ b/packages/socket-stream-client/package.js @@ -1,6 +1,6 @@ Package.describe({ name: "socket-stream-client", - version: "0.2.0-beta17.23", + version: "0.2.0-beta17.24", summary: "Provides the ClientStream abstraction used by ddp-client", documentation: "README.md" }); diff --git a/packages/tracker/package.js b/packages/tracker/package.js index d7cbfad4be..354fa95d31 100644 --- a/packages/tracker/package.js +++ b/packages/tracker/package.js @@ -1,6 +1,6 @@ Package.describe({ summary: "Dependency tracker to allow reactive callbacks", - version: "1.2.0-beta17.23" + version: "1.2.0-beta17.24" }); Package.onUse(function (api) { diff --git a/packages/webapp/package.js b/packages/webapp/package.js index 4c995ef38a..1154890013 100644 --- a/packages/webapp/package.js +++ b/packages/webapp/package.js @@ -1,6 +1,6 @@ Package.describe({ summary: "Serves a Meteor app over HTTP", - version: '1.6.0-beta17.23' + version: '1.6.0-beta17.24' }); Npm.depends({"basic-auth-connect": "1.0.0", diff --git a/scripts/admin/meteor-release-experimental.json b/scripts/admin/meteor-release-experimental.json index cc165a5f5d..d7a0a76f65 100644 --- a/scripts/admin/meteor-release-experimental.json +++ b/scripts/admin/meteor-release-experimental.json @@ -1,6 +1,6 @@ { "track": "METEOR", - "version": "1.7-beta.23", + "version": "1.7-beta.24", "recommended": false, "official": false, "description": "Meteor" From 76e03f51f345e788d107487dba4cf738ad72169a Mon Sep 17 00:00:00 2001 From: Ben Newman Date: Wed, 25 Apr 2018 10:09:51 -0400 Subject: [PATCH 0788/1355] Update remaining mentions of Meteor 1.6.2 to 1.7. --- tools/cli/help.txt | 2 +- tools/upgraders.js | 4 ++-- 2 files changed, 3 insertions(+), 3 deletions(-) diff --git a/tools/cli/help.txt b/tools/cli/help.txt index eecc11e8fe..06b7d6abc6 100644 --- a/tools/cli/help.txt +++ b/tools/cli/help.txt @@ -634,7 +634,7 @@ that your tests can inspect and interact with the full running application. Test files are loaded similarly to 'meteor test' mode, but must be called *.app-test[s].* or *.app-spec[s].*. -Note: as of Meteor 1.6.2, you can override the default test loading rules +Note: as of Meteor 1.7, you can override the default test loading rules described in the previous two paragraphs by including a meteor.testModule section in your package.json file: diff --git a/tools/upgraders.js b/tools/upgraders.js index 01d5960eab..322bdfc5dc 100644 --- a/tools/upgraders.js +++ b/tools/upgraders.js @@ -291,7 +291,7 @@ be removed if there is no need for the Blaze configuration interface.`, packagesFile.writeIfModified(); }, - '1.6.2-split-underscore-from-meteor-base': function (projectContext) { + '1.7-split-underscore-from-meteor-base': function (projectContext) { const packagesFile = projectContext.projectConstraintsFile; if (! packagesFile.getConstraint(`underscore`) && packagesFile.getConstraint(`meteor-base`)) { @@ -303,7 +303,7 @@ meteor-base. Since some apps may have been using underscore through this \ dependency without having it listed in their .meteor/packages files, it has \ been added automatically. If your app is not using underscore, then you can \ safely remove it using 'meteor remove underscore'.`, - Console.options({ bulletPoint: "1.6.2: " }) + Console.options({ bulletPoint: "1.7: " }) ); packagesFile.addPackages([`underscore`]); packagesFile.writeIfModified(); From 86e4ee1d93b158538090ae9788a6139647cc397c Mon Sep 17 00:00:00 2001 From: Ben Newman Date: Wed, 25 Apr 2018 11:03:45 -0400 Subject: [PATCH 0789/1355] Copy {lib,ssl}eay32.dll into dev_bundle\mongodb\bin on Windows. --- scripts/generate-dev-bundle.ps1 | 16 ++++++++++++++-- 1 file changed, 14 insertions(+), 2 deletions(-) diff --git a/scripts/generate-dev-bundle.ps1 b/scripts/generate-dev-bundle.ps1 index 5b0058aa1e..dd45eb3e82 100644 --- a/scripts/generate-dev-bundle.ps1 +++ b/scripts/generate-dev-bundle.ps1 @@ -245,11 +245,23 @@ Function Add-Mongo { $shell.Namespace("$DIR\mongodb").copyhere($item, 0x14) # 0x10 - overwrite, 0x4 - no dialog } - Write-Host "Putting MongoDB mongod.exe in \mongodb\bin\" -ForegroundColor Magenta + Write-Host "Putting MongoDB mongod.exe in mongodb\bin" -ForegroundColor Magenta cp "$DIR\mongodb\$mongo_name\bin\mongod.exe" $DIR\mongodb\bin - Write-Host "Putting MongoDB mongo.exe in \mongodb\bin\" -ForegroundColor Magenta + Write-Host "Putting MongoDB mongo.exe in mongodb\bin" -ForegroundColor Magenta cp "$DIR\mongodb\$mongo_name\bin\mongo.exe" $DIR\mongodb\bin + # https://jira.mongodb.org/browse/SERVER-19086 + $libeay32dll = "$DIR\mongodb\$mongo_name\bin\libeay32.dll" + if (Test-Path $libeay32dll) { + Write-Host "Putting MongoDB libeay32.dll in mongodb\bin" -ForegroundColor Magenta + cp $libeay32dll $DIR\mongodb\bin + } + $ssleay32dll = "$DIR\mongodb\$mongo_name\bin\ssleay32.dll" + if (Test-Path $ssleay32dll) { + Write-Host "Putting MongoDB ssleay32.dll in mongodb\bin" -ForegroundColor Magenta + cp $ssleay32dll $DIR\mongodb\bin + } + Write-Host "Removing the old Mongo zip..." -ForegroundColor Magenta rm -Recurse -Force $mongo_zip Write-Host "Removing the old Mongo directory..." -ForegroundColor Magenta From 52823ec8b52e36faf263b689278f3d6b3a86951a Mon Sep 17 00:00:00 2001 From: Ben Newman Date: Wed, 25 Apr 2018 11:04:26 -0400 Subject: [PATCH 0790/1355] Update 64-bit Mongo to version 3.6.4. --- History.md | 4 ++-- scripts/admin/test-packages-with-mongo-versions.rb | 4 ++-- scripts/build-dev-bundle-common.sh | 2 +- 3 files changed, 5 insertions(+), 5 deletions(-) diff --git a/History.md b/History.md index 07da60f71b..bcabf35067 100644 --- a/History.md +++ b/History.md @@ -122,10 +122,10 @@ `selftest.skip.define('some test', ...` will skip running "some test". [PR #9579](https://github.com/meteor/meteor/pull/9579) -* Mongo has been upgraded to version 3.6.3 for 64-bit systems, and 3.2.19 +* Mongo has been upgraded to version 3.6.4 for 64-bit systems, and 3.2.19 for 32-bit systems. [PR #9632](https://github.com/meteor/meteor/pull/9632) - **NOTE:** After upgrading an application to use Mongo 3.6.2, it has been + **NOTE:** After upgrading an application to use Mongo 3.6.4, it has been observed ([#9591](https://github.com/meteor/meteor/issues/9591)) that attempting to run that application with an older version of Meteor (via `meteor --release X`), that uses an older version of Mongo, can diff --git a/scripts/admin/test-packages-with-mongo-versions.rb b/scripts/admin/test-packages-with-mongo-versions.rb index 807eaae342..e33175366b 100755 --- a/scripts/admin/test-packages-with-mongo-versions.rb +++ b/scripts/admin/test-packages-with-mongo-versions.rb @@ -7,7 +7,7 @@ require 'tmpdir' mongo_install_urls = { - "3.6.3" => "https://fastdl.mongodb.org/osx/mongodb-osx-ssl-x86_64-3.6.3.tgz", + "3.6.4" => "https://fastdl.mongodb.org/osx/mongodb-osx-ssl-x86_64-3.6.4.tgz", "3.2.19" => "https://fastdl.mongodb.org/osx/mongodb-osx-x86_64-3.2.19.tgz", "3.0.5" => "https://fastdl.mongodb.org/osx/mongodb-osx-x86_64-3.0.5.tgz", "2.6.10" => "http://downloads.mongodb.org/osx/mongodb-osx-x86_64-2.6.10.tgz" @@ -29,7 +29,7 @@ puts "Putting output in: #{path_to_output}/" test_env = "TEST_PACKAGES_EXCLUDE=\"less\"" -["3.6.3", "3.2.19", "3.0.5", "2.6.10"].each do |mongo_version| +["3.6.4", "3.2.19", "3.0.5", "2.6.10"].each do |mongo_version| puts "Installing and testing with Mongo #{mongo_version}..." Dir.mktmpdir "mongo_install" do |mongo_install_dir| diff --git a/scripts/build-dev-bundle-common.sh b/scripts/build-dev-bundle-common.sh index d2d053a820..75b56c175a 100644 --- a/scripts/build-dev-bundle-common.sh +++ b/scripts/build-dev-bundle-common.sh @@ -6,7 +6,7 @@ set -u UNAME=$(uname) ARCH=$(uname -m) NODE_VERSION=8.11.1 -MONGO_VERSION_64BIT=3.6.3 +MONGO_VERSION_64BIT=3.6.4 MONGO_VERSION_32BIT=3.2.19 NPM_VERSION=5.8.0 From 491f6b7e146b32c7b3609151fe0b6b98684fe73b Mon Sep 17 00:00:00 2001 From: Ben Newman Date: Wed, 25 Apr 2018 11:35:43 -0400 Subject: [PATCH 0791/1355] Bump $BUNDLE_VERSION to 8.11.1.4 before rebuilding dev bundle. --- meteor | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/meteor b/meteor index 06124eabc8..9ba85d912c 100755 --- a/meteor +++ b/meteor @@ -1,6 +1,6 @@ #!/usr/bin/env bash -BUNDLE_VERSION=8.11.1.3 +BUNDLE_VERSION=8.11.1.4 # OS Check. Put here because here is where we download the precompiled # bundles that are arch specific. From 6be0514eaf7dacf91931427052d2013b19b57cba Mon Sep 17 00:00:00 2001 From: Ben Newman Date: Wed, 25 Apr 2018 11:39:30 -0400 Subject: [PATCH 0792/1355] Add modern-browsers to self-test sandbox root packages list. --- tools/tool-testing/sandbox.js | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/tools/tool-testing/sandbox.js b/tools/tool-testing/sandbox.js index 956f97fdd9..3f13213c27 100644 --- a/tools/tool-testing/sandbox.js +++ b/tools/tool-testing/sandbox.js @@ -559,7 +559,8 @@ const ROOT_PACKAGES_TO_BUILD_IN_SANDBOX = [ "standard-minifier-css", "standard-minifier-js", "es5-shim", - "shell-server" + "shell-server", + "modern-browsers", ]; function newSelfTestCatalog() { From 3502761c4d9116fa5b12dc176ed6c5a0646fbea5 Mon Sep 17 00:00:00 2001 From: Ben Newman Date: Wed, 25 Apr 2018 12:28:46 -0400 Subject: [PATCH 0793/1355] Exclude IE11 and all earlier versions from modern classification. Builds on #9793. Fixes #9818. Fixes #9839. --- packages/ecmascript-runtime-client/versions.js | 3 +++ packages/modern-browsers/modern.js | 5 +++++ packages/promise/server.js | 3 +++ 3 files changed, 11 insertions(+) diff --git a/packages/ecmascript-runtime-client/versions.js b/packages/ecmascript-runtime-client/versions.js index 2172438842..77add0d6cc 100644 --- a/packages/ecmascript-runtime-client/versions.js +++ b/packages/ecmascript-runtime-client/versions.js @@ -5,6 +5,9 @@ const { setMinimumBrowserVersions({ chrome: 49, edge: 12, + // Since there is no IE11, this effectively excludes Internet Explorer + // (pre-Edge) from the modern classification. #9818 #9839 + ie: 12, firefox: 45, mobile_safari: 10, opera: 38, diff --git a/packages/modern-browsers/modern.js b/packages/modern-browsers/modern.js index 75bdcc9fd5..8133f4db33 100644 --- a/packages/modern-browsers/modern.js +++ b/packages/modern-browsers/modern.js @@ -8,6 +8,11 @@ const hasOwn = Object.prototype.hasOwnProperty; // in a generic way that could work for other browsers as well. const browserAliases = { chrome: ["chromeMobile"], + // If a call to setMinimumBrowserVersions specifies Edge 12 as a minimum + // version, that means no version of Internet Explorer pre-Edge should + // be classified as modern. This edge:["ie"] alias effectively enforces + // that logic, because there is no IE12. #9818 #9839 + edge: ["ie"], }; // Expand the given minimum versions by reusing chrome versions for diff --git a/packages/promise/server.js b/packages/promise/server.js index 12a8fbce56..5ec1d3fe48 100644 --- a/packages/promise/server.js +++ b/packages/promise/server.js @@ -11,6 +11,9 @@ require("meteor-promise").makeCompatible( require("meteor/modern-browsers").setMinimumBrowserVersions({ chrome: 32, edge: 12, + // Since there is no IE11, this effectively excludes Internet Explorer + // (pre-Edge) from the modern classification. #9818 #9839 + ie: 12, firefox: 29, mobile_safari: 8, opera: 20, From 3062995801295685350af609d4831cf3fa689ac4 Mon Sep 17 00:00:00 2001 From: Jesse Rosenberger Date: Wed, 25 Apr 2018 19:31:29 +0300 Subject: [PATCH 0794/1355] tests: Add additional self-tests to the AppVeyor suite which exercise Mongo. Our current testing on Mongo is less complete than it could be and these tests, particularly the `mongo with multiple --port numbers` test which does actual writes to the database, should help with that. Note that these tests are separate from the `mongo` package tests which are much more extensive and test more advanced mongo functionality, but it's good to have some basic Windows tests in place within the `self-test` infrastructure. cc @benjamn --- scripts/windows/appveyor/test.ps1 | 2 ++ 1 file changed, 2 insertions(+) diff --git a/scripts/windows/appveyor/test.ps1 b/scripts/windows/appveyor/test.ps1 index 1f19c9c0a5..45359d2310 100644 --- a/scripts/windows/appveyor/test.ps1 +++ b/scripts/windows/appveyor/test.ps1 @@ -4,6 +4,8 @@ $jUnit = Join-Path $env:TEMP 'self-test-junit-0.xml' $tests = @( '^assets' '^autoupdate' + '^create$' + 'mongo' '^dynamic import.*development' ) -Join '|' From cf273f0911d004b009c893462a5afb2ed6cd6e61 Mon Sep 17 00:00:00 2001 From: Ben Newman Date: Wed, 25 Apr 2018 12:38:06 -0400 Subject: [PATCH 0795/1355] Bump package versions for 1.7-beta.25 release. --- packages/babel-compiler/package.js | 2 +- packages/boilerplate-generator-tests/package.js | 2 +- packages/boilerplate-generator/package.js | 2 +- packages/dynamic-import/package.js | 2 +- packages/ecmascript-runtime-client/package.js | 2 +- packages/ecmascript-runtime-server/package.js | 2 +- packages/ecmascript-runtime/package.js | 2 +- packages/ecmascript/package.js | 2 +- packages/es5-shim/package.js | 2 +- packages/meteor-base/package.js | 2 +- packages/meteor-tool/package.js | 2 +- packages/meteor/package.js | 2 +- packages/modern-browsers/package.js | 2 +- packages/modules-runtime/package.js | 2 +- packages/mongo/package.js | 2 +- packages/npm-mongo/package.js | 2 +- packages/promise/package.js | 2 +- packages/socket-stream-client/package.js | 2 +- packages/tracker/package.js | 2 +- packages/webapp/package.js | 2 +- scripts/admin/meteor-release-experimental.json | 2 +- 21 files changed, 21 insertions(+), 21 deletions(-) diff --git a/packages/babel-compiler/package.js b/packages/babel-compiler/package.js index 3eb003374a..ba24b84bdf 100644 --- a/packages/babel-compiler/package.js +++ b/packages/babel-compiler/package.js @@ -6,7 +6,7 @@ Package.describe({ // isn't possible because you can't publish a non-recommended // release with package versions that don't have a pre-release // identifier at the end (eg, -dev) - version: '7.1.0-beta17.24' + version: '7.1.0-beta17.25' }); Npm.depends({ diff --git a/packages/boilerplate-generator-tests/package.js b/packages/boilerplate-generator-tests/package.js index 908939ae68..35304e0d46 100644 --- a/packages/boilerplate-generator-tests/package.js +++ b/packages/boilerplate-generator-tests/package.js @@ -2,7 +2,7 @@ Package.describe({ // These tests are in a separate package so that we can Npm.depend on // parse5, a html parsing library. summary: "Tests for the boilerplate-generator package", - version: '1.5.0-beta17.24', + version: '1.5.0-beta17.25', documentation: null }); diff --git a/packages/boilerplate-generator/package.js b/packages/boilerplate-generator/package.js index 2415db0fc7..da4393c5d0 100644 --- a/packages/boilerplate-generator/package.js +++ b/packages/boilerplate-generator/package.js @@ -1,6 +1,6 @@ Package.describe({ summary: "Generates the boilerplate html from program's manifest", - version: '1.5.0-beta17.24' + version: '1.5.0-beta17.25' }); Npm.depends({ diff --git a/packages/dynamic-import/package.js b/packages/dynamic-import/package.js index 825f43771a..9dce6932b2 100644 --- a/packages/dynamic-import/package.js +++ b/packages/dynamic-import/package.js @@ -1,6 +1,6 @@ Package.describe({ name: "dynamic-import", - version: "0.4.0-beta17.24", + version: "0.4.0-beta17.25", summary: "Runtime support for Meteor 1.5 dynamic import(...) syntax", documentation: "README.md" }); diff --git a/packages/ecmascript-runtime-client/package.js b/packages/ecmascript-runtime-client/package.js index 867e6df371..82f2700e68 100644 --- a/packages/ecmascript-runtime-client/package.js +++ b/packages/ecmascript-runtime-client/package.js @@ -1,6 +1,6 @@ Package.describe({ name: "ecmascript-runtime-client", - version: "0.7.0-beta17.24", + version: "0.7.0-beta17.25", summary: "Polyfills for new ECMAScript 2015 APIs like Map and Set", git: "https://github.com/meteor/meteor/tree/devel/packages/ecmascript-runtime-client", documentation: "README.md" diff --git a/packages/ecmascript-runtime-server/package.js b/packages/ecmascript-runtime-server/package.js index 6a3585f7fd..a70858d5c4 100644 --- a/packages/ecmascript-runtime-server/package.js +++ b/packages/ecmascript-runtime-server/package.js @@ -1,6 +1,6 @@ Package.describe({ name: "ecmascript-runtime-server", - version: "0.7.0-beta17.24", + version: "0.7.0-beta17.25", summary: "Polyfills for new ECMAScript 2015 APIs like Map and Set", git: "https://github.com/meteor/meteor/tree/devel/packages/ecmascript-runtime-client", documentation: "README.md" diff --git a/packages/ecmascript-runtime/package.js b/packages/ecmascript-runtime/package.js index 9283295430..9e4d66f251 100644 --- a/packages/ecmascript-runtime/package.js +++ b/packages/ecmascript-runtime/package.js @@ -1,6 +1,6 @@ Package.describe({ name: "ecmascript-runtime", - version: "0.7.0-beta17.24", + version: "0.7.0-beta17.25", summary: "Polyfills for new ECMAScript 2015 APIs like Map and Set", git: "https://github.com/meteor/ecmascript-runtime", documentation: "README.md" diff --git a/packages/ecmascript/package.js b/packages/ecmascript/package.js index bd6a1f74e8..2ea7d6d870 100644 --- a/packages/ecmascript/package.js +++ b/packages/ecmascript/package.js @@ -1,6 +1,6 @@ Package.describe({ name: 'ecmascript', - version: '0.11.0-beta17.24', + version: '0.11.0-beta17.25', summary: 'Compiler plugin that supports ES2015+ in all .js files', documentation: 'README.md' }); diff --git a/packages/es5-shim/package.js b/packages/es5-shim/package.js index a13b8aef82..8677a4d082 100644 --- a/packages/es5-shim/package.js +++ b/packages/es5-shim/package.js @@ -1,6 +1,6 @@ Package.describe({ name: "es5-shim", - version: "4.8.0-beta17.24", + version: "4.8.0-beta17.25", summary: "Shims and polyfills to improve ECMAScript 5 support", documentation: "README.md" }); diff --git a/packages/meteor-base/package.js b/packages/meteor-base/package.js index fb6fe38c31..cd9c539f20 100644 --- a/packages/meteor-base/package.js +++ b/packages/meteor-base/package.js @@ -1,6 +1,6 @@ Package.describe({ name: 'meteor-base', - version: '1.4.0-beta17.24', + version: '1.4.0-beta17.25', // Brief, one-line summary of the package. summary: 'Packages that every Meteor app needs', // By default, Meteor will default to using README.md for documentation. diff --git a/packages/meteor-tool/package.js b/packages/meteor-tool/package.js index f43ad9eeaf..47412c86f4 100644 --- a/packages/meteor-tool/package.js +++ b/packages/meteor-tool/package.js @@ -1,6 +1,6 @@ Package.describe({ summary: "The Meteor command-line tool", - version: '1.7.0-beta.24' + version: '1.7.0-beta.25' }); Package.includeTool(); diff --git a/packages/meteor/package.js b/packages/meteor/package.js index 1d8b8952f8..b438a4a0c9 100644 --- a/packages/meteor/package.js +++ b/packages/meteor/package.js @@ -2,7 +2,7 @@ Package.describe({ summary: "Core Meteor environment", - version: '1.9.0-beta17.24' + version: '1.9.0-beta17.25' }); Package.registerBuildPlugin({ diff --git a/packages/modern-browsers/package.js b/packages/modern-browsers/package.js index e9b73bc42d..57814d78ff 100644 --- a/packages/modern-browsers/package.js +++ b/packages/modern-browsers/package.js @@ -1,6 +1,6 @@ Package.describe({ name: "modern-browsers", - version: "0.1.0-beta17.24", + version: "0.1.0-beta17.25", summary: "API for defining the boundary between modern and legacy " + "JavaScript clients", documentation: "README.md" diff --git a/packages/modules-runtime/package.js b/packages/modules-runtime/package.js index d277648777..bbd9674c24 100644 --- a/packages/modules-runtime/package.js +++ b/packages/modules-runtime/package.js @@ -1,6 +1,6 @@ Package.describe({ name: "modules-runtime", - version: "0.10.0-beta17.24", + version: "0.10.0-beta17.25", summary: "CommonJS module system", git: "https://github.com/benjamn/install", documentation: "README.md" diff --git a/packages/mongo/package.js b/packages/mongo/package.js index 7c37563dab..d8e69acf9f 100644 --- a/packages/mongo/package.js +++ b/packages/mongo/package.js @@ -9,7 +9,7 @@ Package.describe({ summary: "Adaptor for using MongoDB and Minimongo over DDP", - version: '1.5.0-beta17.24' + version: '1.5.0-beta17.25' }); Npm.depends({ diff --git a/packages/npm-mongo/package.js b/packages/npm-mongo/package.js index cb86502a77..70b9a29138 100644 --- a/packages/npm-mongo/package.js +++ b/packages/npm-mongo/package.js @@ -3,7 +3,7 @@ Package.describe({ summary: "Wrapper around the mongo npm package", - version: "3.0.7-beta17.24", + version: "3.0.7-beta17.25", documentation: null }); diff --git a/packages/promise/package.js b/packages/promise/package.js index 89dcab38a3..55ae050756 100644 --- a/packages/promise/package.js +++ b/packages/promise/package.js @@ -1,6 +1,6 @@ Package.describe({ name: "promise", - version: "0.11.0-beta17.24", + version: "0.11.0-beta17.25", summary: "ECMAScript 2015 Promise polyfill with Fiber support", git: "https://github.com/meteor/promise", documentation: "README.md" diff --git a/packages/socket-stream-client/package.js b/packages/socket-stream-client/package.js index 85abf6609c..7d3319e8a9 100644 --- a/packages/socket-stream-client/package.js +++ b/packages/socket-stream-client/package.js @@ -1,6 +1,6 @@ Package.describe({ name: "socket-stream-client", - version: "0.2.0-beta17.24", + version: "0.2.0-beta17.25", summary: "Provides the ClientStream abstraction used by ddp-client", documentation: "README.md" }); diff --git a/packages/tracker/package.js b/packages/tracker/package.js index 354fa95d31..4c6e81c67d 100644 --- a/packages/tracker/package.js +++ b/packages/tracker/package.js @@ -1,6 +1,6 @@ Package.describe({ summary: "Dependency tracker to allow reactive callbacks", - version: "1.2.0-beta17.24" + version: "1.2.0-beta17.25" }); Package.onUse(function (api) { diff --git a/packages/webapp/package.js b/packages/webapp/package.js index 1154890013..6913b82446 100644 --- a/packages/webapp/package.js +++ b/packages/webapp/package.js @@ -1,6 +1,6 @@ Package.describe({ summary: "Serves a Meteor app over HTTP", - version: '1.6.0-beta17.24' + version: '1.6.0-beta17.25' }); Npm.depends({"basic-auth-connect": "1.0.0", diff --git a/scripts/admin/meteor-release-experimental.json b/scripts/admin/meteor-release-experimental.json index d7a0a76f65..e4bd9c29f8 100644 --- a/scripts/admin/meteor-release-experimental.json +++ b/scripts/admin/meteor-release-experimental.json @@ -1,6 +1,6 @@ { "track": "METEOR", - "version": "1.7-beta.24", + "version": "1.7-beta.25", "recommended": false, "official": false, "description": "Meteor" From 82d415ede004ec4d939397dda3139cba1ff5b87d Mon Sep 17 00:00:00 2001 From: Jesse Rosenberger Date: Wed, 25 Apr 2018 21:11:17 +0300 Subject: [PATCH 0796/1355] Revert "tests: Add additional self-tests to the AppVeyor suite which exercise Mongo." This reverts commit 3062995801295685350af609d4831cf3fa689ac4. The tests exhibited on AppVeyor showed some very clear failures in the way that we're killing PIDs on Windows using `taskkill`. I haven't actually checked, but I find it virtually impossible that the PID of the process to kill (the 5th test run) happened to be 3000. --- scripts/windows/appveyor/test.ps1 | 2 -- 1 file changed, 2 deletions(-) diff --git a/scripts/windows/appveyor/test.ps1 b/scripts/windows/appveyor/test.ps1 index 45359d2310..1f19c9c0a5 100644 --- a/scripts/windows/appveyor/test.ps1 +++ b/scripts/windows/appveyor/test.ps1 @@ -4,8 +4,6 @@ $jUnit = Join-Path $env:TEMP 'self-test-junit-0.xml' $tests = @( '^assets' '^autoupdate' - '^create$' - 'mongo' '^dynamic import.*development' ) -Join '|' From 986b47d1c417305094d7faf63c042db0afd38aa2 Mon Sep 17 00:00:00 2001 From: Ben Newman Date: Wed, 25 Apr 2018 18:15:29 -0400 Subject: [PATCH 0797/1355] Update meteor-babel to version 7.0.0-beta.46. (#9840) --- History.md | 2 +- .../.npm/package/npm-shrinkwrap.json | 485 +++++++++--------- packages/babel-compiler/package.js | 4 +- packages/ecmascript/package.js | 2 +- packages/ecmascript/transpilation-tests.js | 8 +- scripts/dev-bundle-tool-package.js | 4 +- tools/static-assets/skel-bare/package.json | 2 +- tools/static-assets/skel-full/package.json | 2 +- tools/static-assets/skel/package.json | 2 +- tools/tests/apps/app-config/package-lock.json | 14 +- tools/tests/apps/app-config/package.json | 2 +- .../apps/dev-bundle-bin-commands/package.json | 2 +- .../apps/dynamic-import/package-lock.json | 14 +- tools/tests/apps/dynamic-import/package.json | 2 +- .../apps/meteor-ignore/package-lock.json | 14 +- tools/tests/apps/meteor-ignore/package.json | 2 +- tools/tests/apps/modules/package-lock.json | 226 ++++---- tools/tests/apps/modules/package.json | 8 +- tools/tests/apps/shell/package.json | 2 +- tools/tests/old/app-with-private/package.json | 2 +- 20 files changed, 395 insertions(+), 404 deletions(-) diff --git a/History.md b/History.md index 46907a0c46..5de633bb65 100644 --- a/History.md +++ b/History.md @@ -102,7 +102,7 @@ want to run. [PR #9714](https://github.com/meteor/meteor/pull/9714) * The `meteor-babel` npm package has been updated to version - 7.0.0-beta.44. + 7.0.0-beta.46. * The `reify` npm package has been updated to version 0.15.1. diff --git a/packages/babel-compiler/.npm/package/npm-shrinkwrap.json b/packages/babel-compiler/.npm/package/npm-shrinkwrap.json index bf9fa33068..ac4aa8dfe1 100644 --- a/packages/babel-compiler/.npm/package/npm-shrinkwrap.json +++ b/packages/babel-compiler/.npm/package/npm-shrinkwrap.json @@ -2,329 +2,334 @@ "lockfileVersion": 1, "dependencies": { "@babel/code-frame": { - "version": "7.0.0-beta.44", - "resolved": "https://registry.npmjs.org/@babel/code-frame/-/code-frame-7.0.0-beta.44.tgz", - "integrity": "sha512-cuAuTTIQ9RqcFRJ/Y8PvTh+paepNcaGxwQwjIDRWPXmzzyAeCO4KqS9ikMvq0MCbRk6GlYKwfzStrcP3/jSL8g==" + "version": "7.0.0-beta.46", + "resolved": "https://registry.npmjs.org/@babel/code-frame/-/code-frame-7.0.0-beta.46.tgz", + "integrity": "sha512-7BKRkmYaPZm3Yff5HGZJKCz7RqZ5jUjknsXT6Gz5YKG23J3uq9hAj0epncCB0rlqmnZ8Q+UUpQB2tCR5mT37vw==" }, "@babel/core": { - "version": "7.0.0-beta.44", - "resolved": "https://registry.npmjs.org/@babel/core/-/core-7.0.0-beta.44.tgz", - "integrity": "sha512-E16ps55Av+GAO6qVTZeVR5FMVppraUPjiJEHuH0sANsbmkEjqQ70XQiv0KXPYbPzHBd+gijx6uLakSacjvtwIA==" + "version": "7.0.0-beta.46", + "resolved": "https://registry.npmjs.org/@babel/core/-/core-7.0.0-beta.46.tgz", + "integrity": "sha512-lCDbBSAhNAt+nL98xbgWmuhgrIxKvbvFHf73zlNCuXCHJkdlo7qzTofYK0ZWb+OVce8fQ17fC7DwTIhAwowzMw==" }, "@babel/generator": { - "version": "7.0.0-beta.44", - "resolved": "https://registry.npmjs.org/@babel/generator/-/generator-7.0.0-beta.44.tgz", - "integrity": "sha512-5xVb7hlhjGcdkKpMXgicAVgx8syK5VJz193k0i/0sLP6DzE6lRrU1K3B/rFefgdo9LPGMAOOOAWW4jycj07ShQ==" + "version": "7.0.0-beta.46", + "resolved": "https://registry.npmjs.org/@babel/generator/-/generator-7.0.0-beta.46.tgz", + "integrity": "sha512-5VfaEVkPG0gpNSTcf70jvV+MjbMoNn4g2iluwM7MhciedkolEtmG7PcdoUj5W1EmMfngz5cF65V7UMZXJO6y8Q==" }, "@babel/helper-annotate-as-pure": { - "version": "7.0.0-beta.44", - "resolved": "https://registry.npmjs.org/@babel/helper-annotate-as-pure/-/helper-annotate-as-pure-7.0.0-beta.44.tgz", - "integrity": "sha512-trEw653XRNMCBIno/GyuffHi7AxB4miw1EHDeA/q9uIYNdyaXahIdQuBlbzGRWWoBdObFf4Ua0cDFgWkrfgBPw==" + "version": "7.0.0-beta.46", + "resolved": "https://registry.npmjs.org/@babel/helper-annotate-as-pure/-/helper-annotate-as-pure-7.0.0-beta.46.tgz", + "integrity": "sha512-ej5W347ghJF1p2TM3VcEyds1+o1uy1apaQcHrYFJPus2xCgn5KkHPkBGf+6euLfFaQDtB+eWPVKjiZx/hpYXvA==" }, "@babel/helper-builder-binary-assignment-operator-visitor": { - "version": "7.0.0-beta.44", - "resolved": "https://registry.npmjs.org/@babel/helper-builder-binary-assignment-operator-visitor/-/helper-builder-binary-assignment-operator-visitor-7.0.0-beta.44.tgz", - "integrity": "sha512-M9+OPXXT3yqTvMlUmvXf53NX7qkzGkahXnkIyY15gNP/yWGG5ODYNa225Mq7/Vp0zMrI7JastEnn0AuEXSUQWA==" + "version": "7.0.0-beta.46", + "resolved": "https://registry.npmjs.org/@babel/helper-builder-binary-assignment-operator-visitor/-/helper-builder-binary-assignment-operator-visitor-7.0.0-beta.46.tgz", + "integrity": "sha512-ZCQ62KqFC5R3NPe5ug9pVqIHYJNup8UdEbE4IXw+s7zr4D/7AsKSt3pXA+FbML5AnQXeCSOuUWioggGmKuDV5g==" }, "@babel/helper-builder-react-jsx": { - "version": "7.0.0-beta.44", - "resolved": "https://registry.npmjs.org/@babel/helper-builder-react-jsx/-/helper-builder-react-jsx-7.0.0-beta.44.tgz", - "integrity": "sha512-n5M57LzSOe1cvJZ9DrOzftD/QYkVrrKNpXjzTXcAZKYx5eRjaiORXlB8vu32mIwFrg8OkalQVqlmk8gi3SpKpg==" + "version": "7.0.0-beta.46", + "resolved": "https://registry.npmjs.org/@babel/helper-builder-react-jsx/-/helper-builder-react-jsx-7.0.0-beta.46.tgz", + "integrity": "sha512-4xakEEfimusXNgpSY6rP7robwRcnv1E8OxjkYSfsZCYsomFwN7RXU5S29vGWzxE37Yua4yTFqBwId9lwF84Hzw==" }, "@babel/helper-call-delegate": { - "version": "7.0.0-beta.44", - "resolved": "https://registry.npmjs.org/@babel/helper-call-delegate/-/helper-call-delegate-7.0.0-beta.44.tgz", - "integrity": "sha512-2J9K2S2emLBqdNicB1lsjn3bIKPmn9/E5aNu5Yx8TS3pFpMRJjh4PQq5m669L+sajPw/9KE2U089xjPmPn1qcg==" + "version": "7.0.0-beta.46", + "resolved": "https://registry.npmjs.org/@babel/helper-call-delegate/-/helper-call-delegate-7.0.0-beta.46.tgz", + "integrity": "sha512-7nhBu/MBlpvZLQsmw/C7VxN14wph+yp+1yxzPEd2oTsHg3oA73tHyguQ6wbtkw+9f1AZtP7ZJCLQ+nGLprF4Fw==" }, "@babel/helper-define-map": { - "version": "7.0.0-beta.44", - "resolved": "https://registry.npmjs.org/@babel/helper-define-map/-/helper-define-map-7.0.0-beta.44.tgz", - "integrity": "sha512-u0YWuZFAT8tgyp5PJX2NjmU6UrKgQF2AZ0aqXXC/RMEdEFRGDe4t/VBk6MCvKjyOb8R5UqiaPJszq1VLB67aTw==" + "version": "7.0.0-beta.46", + "resolved": "https://registry.npmjs.org/@babel/helper-define-map/-/helper-define-map-7.0.0-beta.46.tgz", + "integrity": "sha512-rhi59ZVj+bhrgxqLi9VQmQOadcK9rLCArY8zqyjPNjDIsCurCwtQztRWhlz6CwBEhE9FO/KbSa9OFQm7Kobk+w==" }, "@babel/helper-explode-assignable-expression": { - "version": "7.0.0-beta.44", - "resolved": "https://registry.npmjs.org/@babel/helper-explode-assignable-expression/-/helper-explode-assignable-expression-7.0.0-beta.44.tgz", - "integrity": "sha512-XM+nY15w/Hyb9yKhGnMMV3R2RUdPGl8/+pTfOKBt4/eLapozSrUh+7xrMOwgJOO+TWuQMlMbQLRJUiMsHUHNbw==" + "version": "7.0.0-beta.46", + "resolved": "https://registry.npmjs.org/@babel/helper-explode-assignable-expression/-/helper-explode-assignable-expression-7.0.0-beta.46.tgz", + "integrity": "sha512-SW1OUmx2fC2SqL7+vF1N72FITbPuEWGdr/Gm7I3Vqs8p8T1dfGwB9YFsD+tTpfagKXVMiCCuQ06+G0FB8uxg6Q==" }, "@babel/helper-function-name": { - "version": "7.0.0-beta.44", - "resolved": "https://registry.npmjs.org/@babel/helper-function-name/-/helper-function-name-7.0.0-beta.44.tgz", - "integrity": "sha512-MHRG2qZMKMFaBavX0LWpfZ2e+hLloT++N7rfM3DYOMUOGCD8cVjqZpwiL8a0bOX3IYcQev1ruciT0gdFFRTxzg==" + "version": "7.0.0-beta.46", + "resolved": "https://registry.npmjs.org/@babel/helper-function-name/-/helper-function-name-7.0.0-beta.46.tgz", + "integrity": "sha512-zm4Kc5XB2njGs8PkmjV1zE/g1hBuphbh+VcDyFLaQsxkxSFSUtCbKwFL8AQpL/qPIcGbvX1MBt50a/3ZZH2CQA==" }, "@babel/helper-get-function-arity": { - "version": "7.0.0-beta.44", - "resolved": "https://registry.npmjs.org/@babel/helper-get-function-arity/-/helper-get-function-arity-7.0.0-beta.44.tgz", - "integrity": "sha512-w0YjWVwrM2HwP6/H3sEgrSQdkCaxppqFeJtAnB23pRiJB5E/O9Yp7JAAeWBl+gGEgmBFinnTyOv2RN7rcSmMiw==" + "version": "7.0.0-beta.46", + "resolved": "https://registry.npmjs.org/@babel/helper-get-function-arity/-/helper-get-function-arity-7.0.0-beta.46.tgz", + "integrity": "sha512-dPrTb7QHVx44xJLjUl3LGAc13iS7hdXdO0fiOxdRN1suIS91yGGgeuwiQBlrw5SxbFchYtwenhlKbqHdVfGyVA==" }, "@babel/helper-hoist-variables": { - "version": "7.0.0-beta.44", - "resolved": "https://registry.npmjs.org/@babel/helper-hoist-variables/-/helper-hoist-variables-7.0.0-beta.44.tgz", - "integrity": "sha512-WRMGJKSVP32/T7pBAb52oXa7dSGgtHk2VZ0nii/MzrXh40IYqNGRmKdI7x57pL421ccvnqZg+mgOH+mNFSKm6g==" + "version": "7.0.0-beta.46", + "resolved": "https://registry.npmjs.org/@babel/helper-hoist-variables/-/helper-hoist-variables-7.0.0-beta.46.tgz", + "integrity": "sha512-9xDHLfaVA445mcHU2OEPwEddiyS0Zxao2WObFR2L/SK5MNOPj2VqVCvivYrO2OpzhnLLCTbOfXRmrwrc9WYN6Q==" + }, + "@babel/helper-member-expression-to-functions": { + "version": "7.0.0-beta.46", + "resolved": "https://registry.npmjs.org/@babel/helper-member-expression-to-functions/-/helper-member-expression-to-functions-7.0.0-beta.46.tgz", + "integrity": "sha512-Xb5iVUHXY8yz4pgGBvtuS1kxZH1oUYcxTcbIW8NFRvgpeH3Zcv4me02bbixsk7nhn8ttE79Lr1g4vrem4k5Z3Q==" }, "@babel/helper-module-imports": { - "version": "7.0.0-beta.44", - "resolved": "https://registry.npmjs.org/@babel/helper-module-imports/-/helper-module-imports-7.0.0-beta.44.tgz", - "integrity": "sha512-V95wi6rCffcLM46XdaUJHRc3D/XSvfsQshedaX1riHQCbs0uVopdswXrykwB6E/QEPfUGxXfs7l5GubupOi+Cw==" + "version": "7.0.0-beta.46", + "resolved": "https://registry.npmjs.org/@babel/helper-module-imports/-/helper-module-imports-7.0.0-beta.46.tgz", + "integrity": "sha512-xjgpwrqHiKCZgAcqsNIpZ9kOCC5Ty/VYN1H07v21HbAf/dl0/HeUA0taz3EFv6/7lRgS3qThawTSG0POJQX9vQ==" }, "@babel/helper-module-transforms": { - "version": "7.0.0-beta.44", - "resolved": "https://registry.npmjs.org/@babel/helper-module-transforms/-/helper-module-transforms-7.0.0-beta.44.tgz", - "integrity": "sha512-mwoQuzm1xY3L00Rf6vHO0tFKkBxarODf1f5l4wClTzvBmm7ReikPKyNwgS7wp2dzlorpIKPAAw+n3IEhnOjLJg==" + "version": "7.0.0-beta.46", + "resolved": "https://registry.npmjs.org/@babel/helper-module-transforms/-/helper-module-transforms-7.0.0-beta.46.tgz", + "integrity": "sha512-IckoWSub3PHNvkWcUEWfKBe8pFUdMhsZMFDcaovcLb+gfxL/zZhQYwedKKKwbzVGIk9k44yjeMQ/OJd4yt4FGQ==" }, "@babel/helper-optimise-call-expression": { - "version": "7.0.0-beta.44", - "resolved": "https://registry.npmjs.org/@babel/helper-optimise-call-expression/-/helper-optimise-call-expression-7.0.0-beta.44.tgz", - "integrity": "sha512-A9JodnSG8mNiazppInvrAtw4rN+TW61He/EnZ9szVgWkivonZeuG2D0hVLpE5sYuqw128seyw+tY9NEY7txmcQ==" + "version": "7.0.0-beta.46", + "resolved": "https://registry.npmjs.org/@babel/helper-optimise-call-expression/-/helper-optimise-call-expression-7.0.0-beta.46.tgz", + "integrity": "sha512-PVd7/PGxi82pEKyuDcEpMmlenMLhJCII3lIK4MhXGWrT/6cNMpY6ob5rWOarpXgZjy+JNI5uLPOce28bqq0Wtw==" }, "@babel/helper-plugin-utils": { - "version": "7.0.0-beta.44", - "resolved": "https://registry.npmjs.org/@babel/helper-plugin-utils/-/helper-plugin-utils-7.0.0-beta.44.tgz", - "integrity": "sha512-k0hZ8w9N3b0Psmlw0bB7U9Hwqc+/hh7yOPFyLi5KAX9pRZ9i+UbTg6DxsVLVuITvF/M1UZNrq7vatrlEw/IPMg==" + "version": "7.0.0-beta.46", + "resolved": "https://registry.npmjs.org/@babel/helper-plugin-utils/-/helper-plugin-utils-7.0.0-beta.46.tgz", + "integrity": "sha512-eRTFH+/1rqDfzx+Z//CYk4TNwhfPQpM/TCs4CmHu2DwCPrqFnKUZLI1KgStfLf//c8FdOqx/U9EPec7s8CbUIA==" }, "@babel/helper-regex": { - "version": "7.0.0-beta.44", - "resolved": "https://registry.npmjs.org/@babel/helper-regex/-/helper-regex-7.0.0-beta.44.tgz", - "integrity": "sha512-UiL6tMd2eUPK6RVpaeUzQ0jDFzGaeQ3All+YpFc+K9onz1BXDArFoJBygZfkjOgfmwBiSbXLShpRBA5QMgOSmQ==" + "version": "7.0.0-beta.46", + "resolved": "https://registry.npmjs.org/@babel/helper-regex/-/helper-regex-7.0.0-beta.46.tgz", + "integrity": "sha512-sPDHBt8Y4i6y9rwtxWMvcprlVHAZOOQK5xpS2Nw2q9QEDHRHwVbEpE6EejoUStSclnfJpPK/7ijFgypwc6rXlA==" }, "@babel/helper-remap-async-to-generator": { - "version": "7.0.0-beta.44", - "resolved": "https://registry.npmjs.org/@babel/helper-remap-async-to-generator/-/helper-remap-async-to-generator-7.0.0-beta.44.tgz", - "integrity": "sha512-Jk2mwO7QOx9n5ktVx8OOuuybyCuZ+gSnd9HqkdxqdfjF+kzJ6FvQ1QUqOf3Dg1uTFmN2/UzBpFgFV4OH71xmWw==" + "version": "7.0.0-beta.46", + "resolved": "https://registry.npmjs.org/@babel/helper-remap-async-to-generator/-/helper-remap-async-to-generator-7.0.0-beta.46.tgz", + "integrity": "sha512-YrqQ98z8AMZx8f2PGJ4YV1MkXtj+qbwbFV7MOLTiavGSFY7UrN4uQfhKEJ/4GUf4QZdTr5NEmRt0AJrWno8y8w==" }, "@babel/helper-replace-supers": { - "version": "7.0.0-beta.44", - "resolved": "https://registry.npmjs.org/@babel/helper-replace-supers/-/helper-replace-supers-7.0.0-beta.44.tgz", - "integrity": "sha512-8PTdsyYE+Fyn8Qy0Da7YnmXhm+vOI73YFHcrAW2s81g9Ae5F3ZA+RvQQe7RPP2mi+Jg/GqXGPUmHYqDpQ3pT9Q==" + "version": "7.0.0-beta.46", + "resolved": "https://registry.npmjs.org/@babel/helper-replace-supers/-/helper-replace-supers-7.0.0-beta.46.tgz", + "integrity": "sha512-FSpK3QKzb58oMEccanHzg1djsYHhGARl08i8BQGBoOyHS6Df+4/8bsQiTnc59Dz5sJoZdb67nKKFjgMsMYi6Kg==" }, "@babel/helper-simple-access": { - "version": "7.0.0-beta.44", - "resolved": "https://registry.npmjs.org/@babel/helper-simple-access/-/helper-simple-access-7.0.0-beta.44.tgz", - "integrity": "sha512-z6tIoPYPT9VOgVSKC7wPjobjvCP/DEfM0uvMDhofAl8p0GDMmMCCs46UNBr6hW1T55WgUGdkNiCFYVnCLjWNFQ==" + "version": "7.0.0-beta.46", + "resolved": "https://registry.npmjs.org/@babel/helper-simple-access/-/helper-simple-access-7.0.0-beta.46.tgz", + "integrity": "sha512-1OEjV/Qnl4u8Dg+jQIYf1TgnfdrYIrdrF7yZwp9mSgsVX2PCyLe7JNTqZ/5v/5RzlF6S+GTe9agkj+EFFTcZUw==" }, "@babel/helper-split-export-declaration": { - "version": "7.0.0-beta.44", - "resolved": "https://registry.npmjs.org/@babel/helper-split-export-declaration/-/helper-split-export-declaration-7.0.0-beta.44.tgz", - "integrity": "sha512-aQ7QowtkgKKzPGf0j6u77kBMdUFVBKNHw2p/3HX/POt5/oz8ec5cs0GwlgM8Hz7ui5EwJnzyfRmkNF1Nx1N7aA==" + "version": "7.0.0-beta.46", + "resolved": "https://registry.npmjs.org/@babel/helper-split-export-declaration/-/helper-split-export-declaration-7.0.0-beta.46.tgz", + "integrity": "sha512-UT7acgV7wsnBPwnqslqcnUFvsPBP4TtVaYM82xPGA7+evAa8q8HXOmFk08qsMK/pX/yy4+51gJJwyw2zofnacA==" }, "@babel/helper-wrap-function": { - "version": "7.0.0-beta.44", - "resolved": "https://registry.npmjs.org/@babel/helper-wrap-function/-/helper-wrap-function-7.0.0-beta.44.tgz", - "integrity": "sha512-qCdMAdMzDhO87r7yS2adqzIl2N9FJaVkPYq6bKllkNcmHquytve+hd/jD/lruD71i3JWkH+M352U+lhW2qkToA==" + "version": "7.0.0-beta.46", + "resolved": "https://registry.npmjs.org/@babel/helper-wrap-function/-/helper-wrap-function-7.0.0-beta.46.tgz", + "integrity": "sha512-W87M4bP6veTKK66OjzV/rU47tjsWmKj9J0J5BDmxq5BIJB1M13ouQ2FAURa4jGHwjPFWN3D5njBrsrifSOHzbQ==" }, "@babel/helpers": { - "version": "7.0.0-beta.44", - "resolved": "https://registry.npmjs.org/@babel/helpers/-/helpers-7.0.0-beta.44.tgz", - "integrity": "sha512-7qXsqiaMZzVuI0dobFGa9dQhCd6Y19lGeu4HrFHJo13/y9NKngepg/CYMzBi79TacKeaWfJNj3TeVCyRtfZqUg==" + "version": "7.0.0-beta.46", + "resolved": "https://registry.npmjs.org/@babel/helpers/-/helpers-7.0.0-beta.46.tgz", + "integrity": "sha512-mbpH9pM3pJzo/tBr75U+zva3pqpyivogt1aofgEoD7bWFAYSuqOudRuz+m4XP6VPxxLoxcA4SFPGkuLRt9+7nQ==" }, "@babel/highlight": { - "version": "7.0.0-beta.44", - "resolved": "https://registry.npmjs.org/@babel/highlight/-/highlight-7.0.0-beta.44.tgz", - "integrity": "sha512-Il19yJvy7vMFm8AVAh6OZzaFoAd0hbkeMZiX3P5HGD+z7dyI7RzndHB0dg6Urh/VAFfHtpOIzDUSxmY6coyZWQ==" + "version": "7.0.0-beta.46", + "resolved": "https://registry.npmjs.org/@babel/highlight/-/highlight-7.0.0-beta.46.tgz", + "integrity": "sha512-r4snW6Q8ICL3Y8hGzYJRvyG/+sc+kvkewXNedG9tQjoHmUFMwMSv/o45GWQUQswevGnWghiGkpRPivFfOuMsOA==" }, "@babel/plugin-proposal-async-generator-functions": { - "version": "7.0.0-beta.44", - "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-async-generator-functions/-/plugin-proposal-async-generator-functions-7.0.0-beta.44.tgz", - "integrity": "sha512-FW6MZpaFERkozQ5eS3PG/645nubF+d6JjgcyBGlhB98qKd9NmdRLHZJ0eKmpA6yG8TeDzpsUve0BE/+XNAYLrw==" + "version": "7.0.0-beta.46", + "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-async-generator-functions/-/plugin-proposal-async-generator-functions-7.0.0-beta.46.tgz", + "integrity": "sha512-htHMsLBYkM89CplqHTbbemVvzTXXyXkpihetJZUTPpSayfxEd6oIH5uSM91efcf5Rog+1SC0Oq32q9yF/4W3ig==" }, "@babel/plugin-proposal-class-properties": { - "version": "7.0.0-beta.44", - "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-class-properties/-/plugin-proposal-class-properties-7.0.0-beta.44.tgz", - "integrity": "sha512-IQ9kUIPg4iKDPkVKHvN8EAiRa5qH6+fUqzWPMtsDzmXD2Rpdj0FtR/I0rJkqcutYxneNwfDJFsgTvmFixClSww==" + "version": "7.0.0-beta.46", + "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-class-properties/-/plugin-proposal-class-properties-7.0.0-beta.46.tgz", + "integrity": "sha512-kWp3bKibdSeSEvEQWcEcs345KPQYT39uM2edFS78NH3Gu6O9mBcnXh5E2BJ1sbE+jJ6jYPOZz4BK/LR7BiF0jA==" }, "@babel/plugin-proposal-object-rest-spread": { - "version": "7.0.0-beta.44", - "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-object-rest-spread/-/plugin-proposal-object-rest-spread-7.0.0-beta.44.tgz", - "integrity": "sha512-56Pqyeq3weYZccmcyzS4DVyVQ11SGWS6xCj/a5SmhvKXGHC2pEVovIBF63dFoQTlYFOzix9sZyW5oNVWicbTRg==" + "version": "7.0.0-beta.46", + "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-object-rest-spread/-/plugin-proposal-object-rest-spread-7.0.0-beta.46.tgz", + "integrity": "sha512-viGuWOgFT/Tbnn3sYi3g9iJcC3ql7bSjxDs+d+GFgyf3eV2qNIKO/6I+PJAD35fGqDGGBrQhlA6HvW0FzQVtoA==" }, "@babel/plugin-syntax-async-generators": { - "version": "7.0.0-beta.44", - "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-async-generators/-/plugin-syntax-async-generators-7.0.0-beta.44.tgz", - "integrity": "sha512-42MXWQvAN2IPPcW4HUbqgeyqkAwAsCGIHzxgSYoI7aOgkfOwHf5LRqSlJ56HAH+WwlWDQUvXeT/2PrQQY1vSCw==" + "version": "7.0.0-beta.46", + "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-async-generators/-/plugin-syntax-async-generators-7.0.0-beta.46.tgz", + "integrity": "sha512-igLQzZYcSrY/W3eACq6Nrf9u9mfw7m5G6+JeTZlyI7w0z+upGvWvrpTaAP1Gni6MckQkx5q+pspgpV+/5ioPXg==" }, "@babel/plugin-syntax-class-properties": { - "version": "7.0.0-beta.44", - "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-class-properties/-/plugin-syntax-class-properties-7.0.0-beta.44.tgz", - "integrity": "sha512-lyojjfVoXuL+Oa95TSVWyf5fMO+JzvMpbFQaZN+voWajMt+Cq3lx8N5JszjlcQzBOZOffqjzMxlAKhNVw95ufA==" + "version": "7.0.0-beta.46", + "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-class-properties/-/plugin-syntax-class-properties-7.0.0-beta.46.tgz", + "integrity": "sha512-NwtgTQ+I8B2eo5h1mZF64nloLaGQuPM4M/c/swvyvqHoWLissHhm94rOE2Ghte8WMgQ/Nw3bqJd59kpbckqmdQ==" }, "@babel/plugin-syntax-dynamic-import": { - "version": "7.0.0-beta.44", - "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-dynamic-import/-/plugin-syntax-dynamic-import-7.0.0-beta.44.tgz", - "integrity": "sha512-1NrDPMboC3FzaNdgT11CbX5owPPBlSRMT5XnrJ2KgB1ejKwa5dRhAWLCjP+MV77675Air7Gk+NVvec0G1GgxDg==" + "version": "7.0.0-beta.46", + "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-dynamic-import/-/plugin-syntax-dynamic-import-7.0.0-beta.46.tgz", + "integrity": "sha512-D4ek6tZa80NgaTSprPOVxj8vxjChh6UCWgCT/ZvCwAa6CBe3iqUCuOwZQLjU41aDdeuR7C02wxl3rcb25wCRLA==" }, "@babel/plugin-syntax-flow": { - "version": "7.0.0-beta.44", - "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-flow/-/plugin-syntax-flow-7.0.0-beta.44.tgz", - "integrity": "sha512-tlZrfM+rg44qBGvAjInPESP1kgcwcgU/xNq4uHZUyod5/L5aGYM0B9GJkgwGi1cf9EJiC1gwitHgSbgCAMbFSw==" + "version": "7.0.0-beta.46", + "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-flow/-/plugin-syntax-flow-7.0.0-beta.46.tgz", + "integrity": "sha512-HFChD9R2w+8+Jt5539SVaKKSYuMvbCgYG7LmuISycaJW16aS6fNS6V8jr8U/HKJk3bhIG5SkATBYedy5zGR+sg==" }, "@babel/plugin-syntax-jsx": { - "version": "7.0.0-beta.44", - "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-jsx/-/plugin-syntax-jsx-7.0.0-beta.44.tgz", - "integrity": "sha512-q0AqflJKM+IcyUTblGnVckka160/tUYkDF77o4fpkk3uCb7TxQIXlnBM8V/mx96Tf+JRyE0AHFwt2mHomd0mWg==" + "version": "7.0.0-beta.46", + "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-jsx/-/plugin-syntax-jsx-7.0.0-beta.46.tgz", + "integrity": "sha512-aYN4vmO4nMux1W36F6/YP2ugNQ0cilrs1eU4jClLrlIouxqd9hqBloWtlGmGlyDxIRV5kzr+UWwridLDb+cN5g==" }, "@babel/plugin-syntax-object-rest-spread": { - "version": "7.0.0-beta.44", - "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-object-rest-spread/-/plugin-syntax-object-rest-spread-7.0.0-beta.44.tgz", - "integrity": "sha512-pVk9nFH7AAmn9Zor8Rv6g/JVXFwBW4FSFV1/3W84bw9s8yc8LZ7KqrCCpcHgBACVWJYnAtoxsaf7FFcQFl/z7Q==" + "version": "7.0.0-beta.46", + "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-object-rest-spread/-/plugin-syntax-object-rest-spread-7.0.0-beta.46.tgz", + "integrity": "sha512-MMv6WG69jmcSLXdUeHvoev5RkuP/QuJZwCB4jXp2gtss//avs4Sns+t0VpGKTf9umhvRq44HFO6PVjVG85F+/Q==" }, "@babel/plugin-transform-arrow-functions": { - "version": "7.0.0-beta.44", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-arrow-functions/-/plugin-transform-arrow-functions-7.0.0-beta.44.tgz", - "integrity": "sha512-EnE9WACf+ZQZcLcmT26PEaIs3aWhr6shLJIdhaqZavN3CitxJvfia1q8WyCS4GO3wIdopgdeIpD2Xwe4wmJFFQ==" + "version": "7.0.0-beta.46", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-arrow-functions/-/plugin-transform-arrow-functions-7.0.0-beta.46.tgz", + "integrity": "sha512-GgeFCCMHXWRkPDXWKin76qiZh+DAYdQShmk8SmzDj6IAgPHyNqkxHN/8gsmNe5/7IWFFOKUuM9TNU7fgY7z7Gg==" }, "@babel/plugin-transform-async-to-generator": { - "version": "7.0.0-beta.44", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-async-to-generator/-/plugin-transform-async-to-generator-7.0.0-beta.44.tgz", - "integrity": "sha512-+LTuKGnAd8w7FV45N+CvNE77GdcVMDT/w7so9++3jbG28w5id6VtQZ9cpFbqdvkZlpTy68Saw9zZcQeRZV3bmg==" + "version": "7.0.0-beta.46", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-async-to-generator/-/plugin-transform-async-to-generator-7.0.0-beta.46.tgz", + "integrity": "sha512-obykYLqAd3tujTjHYE+dln5+nDhm+R5FmUcxXFr/Mx6LK1NgrTQ9TdPPOcMCD08r8SDljFpMopuz9upN/xJlbw==" }, "@babel/plugin-transform-block-scoped-functions": { - "version": "7.0.0-beta.44", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-block-scoped-functions/-/plugin-transform-block-scoped-functions-7.0.0-beta.44.tgz", - "integrity": "sha512-taD9vmzEyG4a5wZadYFVGnCgPU3JlkPrOMCmrIgqKT+AWuxwavSbtPJnUh2NfJDpvx005s/OIncc/3fpTx502Q==" + "version": "7.0.0-beta.46", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-block-scoped-functions/-/plugin-transform-block-scoped-functions-7.0.0-beta.46.tgz", + "integrity": "sha512-0paq0AtTp3TXbXdzWwsL8ddacmo/g/14IgIZgs5BzUTrfROKQThYVccEBPqRnprTgvM0JXyDVfNSgLB4akCTjg==" }, "@babel/plugin-transform-block-scoping": { - "version": "7.0.0-beta.44", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-block-scoping/-/plugin-transform-block-scoping-7.0.0-beta.44.tgz", - "integrity": "sha512-a9mt8PwVaudo8LbLrp7TpbwV/HoO7T9Wjyr/aHB4UisUfQoE89iWBJYIweL/ho831Nzy8mNJlXfNxAfZc7Fojw==" + "version": "7.0.0-beta.46", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-block-scoping/-/plugin-transform-block-scoping-7.0.0-beta.46.tgz", + "integrity": "sha512-7OwS0ObI6nLacEKP1HCdnoIQnHBqOV6IgtKGiPO+Nj03OnZ1Yo2aeK9sfOtwL43aNztnKqFVt2L5PfZg4VGidA==" }, "@babel/plugin-transform-classes": { - "version": "7.0.0-beta.44", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-classes/-/plugin-transform-classes-7.0.0-beta.44.tgz", - "integrity": "sha512-oQE40NQ9HBg3KJppRrG0AFYmb73mVJUPmFjUZtuMlFJWV4kAyPwfGC98MDJ7fFjGZLIWesJD7yE+eh0e4N2ssQ==" + "version": "7.0.0-beta.46", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-classes/-/plugin-transform-classes-7.0.0-beta.46.tgz", + "integrity": "sha512-EDp/qQAURfrX6hNM+VrLSSA+cGiwDeZL0ZTTt6a7PNSFABCw4qwKJHx3Q7me1oV7q3U/GJwPS4Aym2QTDmNGvg==" }, "@babel/plugin-transform-computed-properties": { - "version": "7.0.0-beta.44", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-computed-properties/-/plugin-transform-computed-properties-7.0.0-beta.44.tgz", - "integrity": "sha512-gLzREw6hb6qDoJMx/uMcXfkom5mboBi7yWg0S/uyof4laIl7cPCrrCleYZfi4sF9CgRPP48TMIoi2rVtKvrJ1g==" + "version": "7.0.0-beta.46", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-computed-properties/-/plugin-transform-computed-properties-7.0.0-beta.46.tgz", + "integrity": "sha512-0ne9TL53fXH+cBI591R1JSpPhu0d2Wd9dbD8jLCJFV4tlMfqQ+Rcm65RhWWqjEBZfGv2+FuOnwB4HJRHakdW+Q==" }, "@babel/plugin-transform-destructuring": { - "version": "7.0.0-beta.44", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-destructuring/-/plugin-transform-destructuring-7.0.0-beta.44.tgz", - "integrity": "sha512-lTWaW8O3V01efNRDcAyf9iZ/kVuZc2PNHoCYitm74H/LVBk3dkKb4TymMDq/xYcTQCNPw5EvEH+3NIiLL29/Mw==" + "version": "7.0.0-beta.46", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-destructuring/-/plugin-transform-destructuring-7.0.0-beta.46.tgz", + "integrity": "sha512-l9x0+T29Njwp6smLbTIU2HG2s4ROd9DAIQcfciEfpjAqscXEst0M4X9+UvjQsuaOgPFmQTdAn9xOwNFXnRP7Tg==" }, "@babel/plugin-transform-exponentiation-operator": { - "version": "7.0.0-beta.44", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-exponentiation-operator/-/plugin-transform-exponentiation-operator-7.0.0-beta.44.tgz", - "integrity": "sha512-6muSWR3UxdAnVnk8a4rxESNQk7F+djM+oeKkETMgWbw6TyaNaTD7OYkKGTdyTT5jn2UO97sPdgOBIBdnzQsKQg==" + "version": "7.0.0-beta.46", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-exponentiation-operator/-/plugin-transform-exponentiation-operator-7.0.0-beta.46.tgz", + "integrity": "sha512-acomgoNW/fwWSmBlhH22C9Eyl1Y/vADBSqzyIRWJGpm4frLhd49QQgKXbRGRHUDxyifXuZDF9+3pRhEmi7/HXA==" }, "@babel/plugin-transform-flow-strip-types": { - "version": "7.0.0-beta.44", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-flow-strip-types/-/plugin-transform-flow-strip-types-7.0.0-beta.44.tgz", - "integrity": "sha512-zDubi/5SxprXvXqSF2MV96ZMedKQgVmy41JXUbY9jDFc+qbRFJh7aNKy+RfDYFpWV4tZQLkc2CEUgzwixDWEgw==" + "version": "7.0.0-beta.46", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-flow-strip-types/-/plugin-transform-flow-strip-types-7.0.0-beta.46.tgz", + "integrity": "sha512-ZyMayIXoDPsYYa8FVypQpcxeHX65l6lQ/nA4DRTSJUVvoQDytfNlH3Y3yQhGwyrr2APsCpq4MGmUAp+Id8KWeA==" }, "@babel/plugin-transform-for-of": { - "version": "7.0.0-beta.44", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-for-of/-/plugin-transform-for-of-7.0.0-beta.44.tgz", - "integrity": "sha512-910UuvEuN6CM3G7+V3fHnYFBbw/YZUGgQlXpdlQnzN43uny2Xy33BxoFlWq1dOS1Q7xJnsJNEb2mm2Eks2uTvg==" + "version": "7.0.0-beta.46", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-for-of/-/plugin-transform-for-of-7.0.0-beta.46.tgz", + "integrity": "sha512-a1gpwuO26szyz5K2FrRrI5nUDgvkaJfZ7GeDtFAH8XyrK/pNdtpW/7DFCf1PdQc6SbEMM/1QXsH7Y2YRkWoTeA==" }, "@babel/plugin-transform-literals": { - "version": "7.0.0-beta.44", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-literals/-/plugin-transform-literals-7.0.0-beta.44.tgz", - "integrity": "sha512-h6KxHCj14tYj1dahXlfs/JP1fMzMHdmVCapM4UjberhkcAj4ZkZpmdQbN2odaQRT1DX2hA8eQWsmeKJw2Ifq8w==" + "version": "7.0.0-beta.46", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-literals/-/plugin-transform-literals-7.0.0-beta.46.tgz", + "integrity": "sha512-Uuo7pRsBkrLrDg6XpOAMfwhKw56SB5qVBniUVM04uf8wf92S2Z5tSPNNfn1iTgphuckAO9vg86l2XJ0Y/QD4YQ==" }, "@babel/plugin-transform-modules-commonjs": { - "version": "7.0.0-beta.44", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-modules-commonjs/-/plugin-transform-modules-commonjs-7.0.0-beta.44.tgz", - "integrity": "sha512-wi1CPE/1G+EhJwFMgF0zhtE427dspqakhkl4na0KW0xmzh1Q3EKhfHsK/gizzNQlNtHRaW/Ks/vafJD3bAlk1Q==" + "version": "7.0.0-beta.46", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-modules-commonjs/-/plugin-transform-modules-commonjs-7.0.0-beta.46.tgz", + "integrity": "sha512-3wLCWVkEhhQiVqqml4y9G6GJT6WA/mkxQ6TRy+4I46z00WWbEDENJcRTS14oNKzeRIo4yJylbVB1wUCW7HuJ9A==" }, "@babel/plugin-transform-object-super": { - "version": "7.0.0-beta.44", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-object-super/-/plugin-transform-object-super-7.0.0-beta.44.tgz", - "integrity": "sha512-KlcV7gSBppnANHxCk8Hxca2PCrKOAoSTWj7HxiGCwrOcRJeMYPIiBayExGmfN7Ymvt0EpgSvL8bwyOPMk10mgg==" + "version": "7.0.0-beta.46", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-object-super/-/plugin-transform-object-super-7.0.0-beta.46.tgz", + "integrity": "sha512-T+TV4rRuTubvjqEwBF5xib3vnfJgjQ62qJqHprTaJDBtF0ofpbv/A6x86EEr51iPymHc84eM+F1zyFEtJvKYwQ==" }, "@babel/plugin-transform-parameters": { - "version": "7.0.0-beta.44", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-parameters/-/plugin-transform-parameters-7.0.0-beta.44.tgz", - "integrity": "sha512-TDEBU2tSAKC0HESeVPwVY6Wlcwgpml5ZymSqxqY0Gr7ei7PTON2O7zmntfmyiigN3BoHxuXnqFqwaz//3KxtTA==" + "version": "7.0.0-beta.46", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-parameters/-/plugin-transform-parameters-7.0.0-beta.46.tgz", + "integrity": "sha512-RnkdYrayTlQ0VFoyIjvY/cCp/1lJJkYE2lFcRNg6+Skd3g41PnocsHhQ5NUQjMNogL+RnNan3S/2S/i7S4zm+Q==" }, "@babel/plugin-transform-property-literals": { - "version": "7.0.0-beta.44", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-property-literals/-/plugin-transform-property-literals-7.0.0-beta.44.tgz", - "integrity": "sha512-jpqwHxFa3Y5kDVlq74ZL9mNKbvAkjW2lgobo9jOYuc2PMX66cCW5yp5xp8YCTsidF/ue10VZ0HpVjmFPNaSkrg==" + "version": "7.0.0-beta.46", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-property-literals/-/plugin-transform-property-literals-7.0.0-beta.46.tgz", + "integrity": "sha512-q1jSyGXA4zPWLpJZ7rPLpbQTv27VHSHWeU16xAM5PnmI1ZrL5XmhmhAfZ4D2+W3NfXbvaEUyxPBnwBYyGPKrNA==" }, "@babel/plugin-transform-react-display-name": { - "version": "7.0.0-beta.44", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-react-display-name/-/plugin-transform-react-display-name-7.0.0-beta.44.tgz", - "integrity": "sha512-8bsi3wydB2vkziFWXs6kGZ/6tg5LFU0219LgCjlNHot1Wbk31biQ+Kchl/HXV+jaI9BRW4K+L2dq1B8zipo2yg==" + "version": "7.0.0-beta.46", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-react-display-name/-/plugin-transform-react-display-name-7.0.0-beta.46.tgz", + "integrity": "sha512-/a7wwzNrYqReyuOM8rBB9iAOLaubvGHM9w3eUeput/DnEq/V+dJuBgktpF6mw/MQjwjna1B/3BbWsn1PaBw8bw==" }, "@babel/plugin-transform-react-jsx": { - "version": "7.0.0-beta.44", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-react-jsx/-/plugin-transform-react-jsx-7.0.0-beta.44.tgz", - "integrity": "sha512-g25pZKtPRndcaqt+ZRoeV02P37HZKhQyswkpoqwGYfzlKy0SaCCu1ZrhxsXgLBYr86RXP6huaGM9ZSzC9xjufw==" + "version": "7.0.0-beta.46", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-react-jsx/-/plugin-transform-react-jsx-7.0.0-beta.46.tgz", + "integrity": "sha512-b8VtHVQub3h7lXG1ShaCKgGJdra7fRlUK6hx1eCcIWAPYnJMz4soLMSPiXmyjDA5L0CbYmyTkceU1GjbeJmaaw==" }, "@babel/plugin-transform-react-jsx-self": { - "version": "7.0.0-beta.44", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-react-jsx-self/-/plugin-transform-react-jsx-self-7.0.0-beta.44.tgz", - "integrity": "sha512-xw/e+bhfTkV6cjYv+Yw2Fdlgb5AjWI9ouSogK77Iq8QSq+vx3aOY84uxgSdUw1gJ8lPgjxtIFAS4WjT+acH/1A==" + "version": "7.0.0-beta.46", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-react-jsx-self/-/plugin-transform-react-jsx-self-7.0.0-beta.46.tgz", + "integrity": "sha512-keXGiKQNzqHXpplpz/Eu+F+OC/k6M3kbEBOqoDbbYeJVmWARVADWwRnCCsW6yevSyON4CTU5mouVadTIY9YSpA==" }, "@babel/plugin-transform-react-jsx-source": { - "version": "7.0.0-beta.44", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-react-jsx-source/-/plugin-transform-react-jsx-source-7.0.0-beta.44.tgz", - "integrity": "sha512-t4CUDgbhxMCAfpAVeTPmSa5m9D24sC1A1DdyWwRLwleJkmuYcMwhwfjkpguOW9zEhaAhM5SUXjEc40WcttnO4g==" + "version": "7.0.0-beta.46", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-react-jsx-source/-/plugin-transform-react-jsx-source-7.0.0-beta.46.tgz", + "integrity": "sha512-vSSghGn+ER6d5gBtNnTZAxPxBSs1ngyyVlHse/geHSv7YnzmrCOUrtVl+t4M2/EO3CW2m8nkMfpnMW5FCmg+Zw==" }, "@babel/plugin-transform-regenerator": { - "version": "7.0.0-beta.44", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-regenerator/-/plugin-transform-regenerator-7.0.0-beta.44.tgz", - "integrity": "sha512-G2M4SqLMVJK5y3fs0qgGaBscUmEhAXEY25qNtPBgYsGmdl8k0sdBAf2/4s97iLmhU234DqJYSGa4VS38sau0ig==" + "version": "7.0.0-beta.46", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-regenerator/-/plugin-transform-regenerator-7.0.0-beta.46.tgz", + "integrity": "sha512-P6d8ckSjKlbr/1SL1NBO6ieFxSebTiRWd2R8/styUIizJWQlEB0ITQ7l8vv3jXGjJ0mh7lxBTegXejRkTGKKgw==" }, "@babel/plugin-transform-runtime": { - "version": "7.0.0-beta.44", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-runtime/-/plugin-transform-runtime-7.0.0-beta.44.tgz", - "integrity": "sha512-Bb7CfWE8TByfSP1wYUe4XJb7zlzv3zsw4MI0DhdrzQ2Xh1YCdz1pWdd6LRLsmSDnfnPSs2KvydTs7yPu0yqcGQ==" + "version": "7.0.0-beta.46", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-runtime/-/plugin-transform-runtime-7.0.0-beta.46.tgz", + "integrity": "sha512-mdgrBPXF+7cl+Y8dBynUxK90U17fQdH4zBsNxV6GYyI35WiUUZYFiXG2wKZN+1LClhavD9cOnOLpCxaNQy7g2A==" }, "@babel/plugin-transform-shorthand-properties": { - "version": "7.0.0-beta.44", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-shorthand-properties/-/plugin-transform-shorthand-properties-7.0.0-beta.44.tgz", - "integrity": "sha512-LG213xsGpvCB09Tq7EMaO3COzyNhzV7Hss00UMXR3AId4EThwRoYiLKnekqoOasNdocN+09fKyH3cf/llJgZhQ==" + "version": "7.0.0-beta.46", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-shorthand-properties/-/plugin-transform-shorthand-properties-7.0.0-beta.46.tgz", + "integrity": "sha512-1QkKFWPsjrvMppycLwjPBXF+usSnGvbTxGe0Q+eIzcZyhabwGCsCgkmDIKMisPSAi6F7bM5H1S8VbE85IW3oRg==" }, "@babel/plugin-transform-spread": { - "version": "7.0.0-beta.44", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-spread/-/plugin-transform-spread-7.0.0-beta.44.tgz", - "integrity": "sha512-8fEte+nRW4OSdC23P0KBpiE7U4j0GpupMchnsjySYYNimKFnzPP5UYacZ6Lti5kS0XAnVfs09iHLXG1ccsWQsA==" + "version": "7.0.0-beta.46", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-spread/-/plugin-transform-spread-7.0.0-beta.46.tgz", + "integrity": "sha512-R0GvFdJnFrgTlmZfFtCXk81uvq5S3FuY38FnRsxDt6Yx/sE8jCmmrRe7XHZOnXXGP3ZWY9icILUmzWHOf91jbA==" }, "@babel/plugin-transform-sticky-regex": { - "version": "7.0.0-beta.44", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-sticky-regex/-/plugin-transform-sticky-regex-7.0.0-beta.44.tgz", - "integrity": "sha512-iqByRYvEMG59aOsAAJKRuolqwQOrRIGDfLTaDr45uaW5OLKUaQiPG/BxMF0WDNcQhKIhxiLUZ2K1s26v6SpsKg==" + "version": "7.0.0-beta.46", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-sticky-regex/-/plugin-transform-sticky-regex-7.0.0-beta.46.tgz", + "integrity": "sha512-goMgOLODjG1cgFHlKACh/NT/wrnmuRi2CpXsjOan10eZce0fk9kahYz/04cqhppmwtV/vQWwH2ikAHODSD8r5w==" }, "@babel/plugin-transform-template-literals": { - "version": "7.0.0-beta.44", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-template-literals/-/plugin-transform-template-literals-7.0.0-beta.44.tgz", - "integrity": "sha512-HePlWdKQ5iMTq5C5Zs8hfI0ro2grH+varpTSLpUCOhnYl3yL9bbbgPAdbUwICasi+lIT0Gt94c73BZ1bCnfTWw==" + "version": "7.0.0-beta.46", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-template-literals/-/plugin-transform-template-literals-7.0.0-beta.46.tgz", + "integrity": "sha512-2iGMsHWVAQq9X6p3VNjktJCH6ZXHQHi3NTPLKh5d4bEW8+M3H7LXLNqk1yUm/Uwt0tzh1FUfb/EU2sEPbrBrVA==" }, "@babel/plugin-transform-typeof-symbol": { - "version": "7.0.0-beta.44", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-typeof-symbol/-/plugin-transform-typeof-symbol-7.0.0-beta.44.tgz", - "integrity": "sha512-ObXHYNMRrvRcKANNVbR50ZrtX5i7qiJYH2GiD4snt6pOEooWJQmbHALFyTS/+I4eCVhNe6CQ6cMqXDhMl0RYOw==" + "version": "7.0.0-beta.46", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-typeof-symbol/-/plugin-transform-typeof-symbol-7.0.0-beta.46.tgz", + "integrity": "sha512-l+CfLR2c5KzZ/uZlkflNe7nK2hiEahc/FeiUCTd5Krj4aCKDdLLSdb4Lowf5hdZbqIPQc9TdL9SZt80YhUlmFw==" }, "@babel/plugin-transform-unicode-regex": { - "version": "7.0.0-beta.44", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-unicode-regex/-/plugin-transform-unicode-regex-7.0.0-beta.44.tgz", - "integrity": "sha512-AD5T8aBMcS+dCyaF2WTT2zVPW86+ISxFCKZp6/Nh98SFxaXKuGtT1POvL7eoj3p18JN3mixAImmJSA7ppCDbJQ==" + "version": "7.0.0-beta.46", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-unicode-regex/-/plugin-transform-unicode-regex-7.0.0-beta.46.tgz", + "integrity": "sha512-XWQ7uJ0HL/xdMesKzt1uq5CmZPBqDiEno+FBeYuOJu1IWjpr3yXfEzH/nW17KESXGRv68mLTr+fIeSwcC+qVFg==" }, "@babel/preset-react": { - "version": "7.0.0-beta.44", - "resolved": "https://registry.npmjs.org/@babel/preset-react/-/preset-react-7.0.0-beta.44.tgz", - "integrity": "sha512-0V0x3uE3QoEdw6W6gffy6feBaT3GNg6ALmd8dQwqC4SFF3IwO9a5zHK20JqMjMomXobkLGWMOwQlpWRyNGhVtA==" + "version": "7.0.0-beta.46", + "resolved": "https://registry.npmjs.org/@babel/preset-react/-/preset-react-7.0.0-beta.46.tgz", + "integrity": "sha512-+Xl9AH/rhI7FTX0OxNXM4oGljpeCs1nwPm2IjD9+mXO/+dWdGpa+yTcjYYpIWAK4KQrSQ+27T6DtJ6fZPTqYQA==" }, "@babel/runtime": { - "version": "7.0.0-beta.44", - "resolved": "https://registry.npmjs.org/@babel/runtime/-/runtime-7.0.0-beta.44.tgz", - "integrity": "sha512-4r2bym+kePWQH3eLne/IqVwqzbk43Lt6rzYQM+ARwSHfned1rFg9SX62SdKHtzSYq8NCoULxwHJS0T6a6r5hiA==" + "version": "7.0.0-beta.46", + "resolved": "https://registry.npmjs.org/@babel/runtime/-/runtime-7.0.0-beta.46.tgz", + "integrity": "sha512-/3a3USMKk54BEHhDgY8rtxtaQOs4bp4aQwo6SDtdwmrXmgSgEusWuXNX5oIs/nwzmTD9o8wz2EyAjA+uHDMmJA==" }, "@babel/template": { - "version": "7.0.0-beta.44", - "resolved": "https://registry.npmjs.org/@babel/template/-/template-7.0.0-beta.44.tgz", - "integrity": "sha512-w750Sloq0UNifLx1rUqwfbnC6uSUk0mfwwgGRfdLiaUzfAOiH0tHJE6ILQIUi3KYkjiCDTskoIsnfqZvWLBDng==" + "version": "7.0.0-beta.46", + "resolved": "https://registry.npmjs.org/@babel/template/-/template-7.0.0-beta.46.tgz", + "integrity": "sha512-3/qi4m0l6G/vZbEwtqfzJk73mYtuE7nvAO1zT3/ZrTAHy4sHf2vaF9Eh1w+Tau263Yrkh0bjVQPb9zw6G+GeMQ==" }, "@babel/traverse": { - "version": "7.0.0-beta.44", - "resolved": "https://registry.npmjs.org/@babel/traverse/-/traverse-7.0.0-beta.44.tgz", - "integrity": "sha512-UHuDz8ukQkJCDASKHf+oDt3FVUzFd+QYfuBIsiNu/4+/ix6pP/C+uQZJ6K1oEfbCMv/IKWbgDEh7fcsnIE5AtA==" + "version": "7.0.0-beta.46", + "resolved": "https://registry.npmjs.org/@babel/traverse/-/traverse-7.0.0-beta.46.tgz", + "integrity": "sha512-IU7MTGbcjpfhf5tyCu3sDB7sWYainZQcT+CqOBdVZXZfq5MMr130R7aiZBI2g5dJYUaW1PS81DVNpd0/Sq/Gzg==" }, "@babel/types": { - "version": "7.0.0-beta.44", - "resolved": "https://registry.npmjs.org/@babel/types/-/types-7.0.0-beta.44.tgz", - "integrity": "sha512-5eTV4WRmqbaFM3v9gHAIljEQJU4Ssc6fxL61JN+Oe2ga/BwyjzjamwkCVVAQjHGuAX8i0BWo42dshL8eO5KfLQ==" + "version": "7.0.0-beta.46", + "resolved": "https://registry.npmjs.org/@babel/types/-/types-7.0.0-beta.46.tgz", + "integrity": "sha512-uA5aruF2KKsJxToWdDpftsrPOIQtoGrGno2hiaeO9JRvfT9xZdK11nPoC+/RF9emNzmNbWn4HCRdCY+McT5Nbw==" }, "acorn": { "version": "5.5.3", @@ -452,24 +457,24 @@ "integrity": "sha512-GlhOuLOQ28ua9prg0hT33HslCrEmz9xWXy9ZNZSACppCyRxxRW+haYtRgm7uYXCcd0q8ggCWD2pfWEJp5iiZfQ==" }, "babel-plugin-transform-member-expression-literals": { - "version": "6.9.0", - "resolved": "https://registry.npmjs.org/babel-plugin-transform-member-expression-literals/-/babel-plugin-transform-member-expression-literals-6.9.0.tgz", - "integrity": "sha512-bxtac+8w755ctVeDs4vU98RhWY49eW1wO02HAN+eirZYSKk/dVrKONIznXbHmxWKxT4UX1rpTKOCyezuzLpbTw==" + "version": "6.9.1", + "resolved": "https://registry.npmjs.org/babel-plugin-transform-member-expression-literals/-/babel-plugin-transform-member-expression-literals-6.9.1.tgz", + "integrity": "sha1-lr4umWjn9UlzM64DKE7NU0BAVIk=" }, "babel-plugin-transform-merge-sibling-variables": { - "version": "6.9.0", - "resolved": "https://registry.npmjs.org/babel-plugin-transform-merge-sibling-variables/-/babel-plugin-transform-merge-sibling-variables-6.9.0.tgz", - "integrity": "sha512-9G1URVEEKoQLDqe0GwqYudECN7kE/q0OCNo5TiD1iwWnnaKi97xY915l5r2KKUvNflXEm9c3faNWknSXYQ7h6Q==" + "version": "6.9.1", + "resolved": "https://registry.npmjs.org/babel-plugin-transform-merge-sibling-variables/-/babel-plugin-transform-merge-sibling-variables-6.9.1.tgz", + "integrity": "sha1-kHHkQ7IUWM5rCo04QbpaF09dwoI=" }, "babel-plugin-transform-minify-booleans": { - "version": "6.9.0", - "resolved": "https://registry.npmjs.org/babel-plugin-transform-minify-booleans/-/babel-plugin-transform-minify-booleans-6.9.0.tgz", - "integrity": "sha512-JtpyTRyF+wF/r7GSxpRbNCrVve5M/aCC8xoGcnFItaPUDqjxKmFYvBzMc9u+g0lgo8NWjuZLc16MYaIwkHKD/A==" + "version": "6.9.1", + "resolved": "https://registry.npmjs.org/babel-plugin-transform-minify-booleans/-/babel-plugin-transform-minify-booleans-6.9.1.tgz", + "integrity": "sha1-UsunnAD6UJc3BkBV76siFm4UDE0=" }, "babel-plugin-transform-property-literals": { - "version": "6.9.0", - "resolved": "https://registry.npmjs.org/babel-plugin-transform-property-literals/-/babel-plugin-transform-property-literals-6.9.0.tgz", - "integrity": "sha512-B8s+71+4DPye9+pmZiPGgLPy3YqcmIuvE/9UcZLczPlwL5ALwF6qRUdLC3Fk17NhL6jxp4u33ZVZ8R4kvASPzw==" + "version": "6.9.1", + "resolved": "https://registry.npmjs.org/babel-plugin-transform-property-literals/-/babel-plugin-transform-property-literals-6.9.1.tgz", + "integrity": "sha1-aXD5Oxd5OrzenPJdLozRPgCI5ck=" }, "babel-plugin-transform-regexp-constructors": { "version": "0.2.0", @@ -477,14 +482,14 @@ "integrity": "sha512-7IsQ6aQx6LAaOqy97/PthTf+5Nx9grZww3r6E62IdWe76Yr8KsuwVjxzqSPQvESJqTE3EMADQ9S0RtwWDGNG9Q==" }, "babel-plugin-transform-remove-console": { - "version": "6.9.0", - "resolved": "https://registry.npmjs.org/babel-plugin-transform-remove-console/-/babel-plugin-transform-remove-console-6.9.0.tgz", - "integrity": "sha512-mck9//yGTwObqqqDzY/sISO88/5/XfIB3ILb4uJLXk2xq124NT4yQVjFSRgVSbLcNq8OyBAn2acxKUqg4W/okQ==" + "version": "6.9.1", + "resolved": "https://registry.npmjs.org/babel-plugin-transform-remove-console/-/babel-plugin-transform-remove-console-6.9.1.tgz", + "integrity": "sha1-QP6V2YyuWBHYoOGImBLXixKFllE=" }, "babel-plugin-transform-remove-debugger": { - "version": "6.9.0", - "resolved": "https://registry.npmjs.org/babel-plugin-transform-remove-debugger/-/babel-plugin-transform-remove-debugger-6.9.0.tgz", - "integrity": "sha512-i/HWGjsmL2d1N2dl+eIzf44XpSP5v7hi1/GXB0xzom9kjrU8js3T8Kadizn95ZxfHK592Vg8P4JJWP/fvimEWw==" + "version": "6.9.1", + "resolved": "https://registry.npmjs.org/babel-plugin-transform-remove-debugger/-/babel-plugin-transform-remove-debugger-6.9.1.tgz", + "integrity": "sha1-dlUtLp1sQ9nGdrv8CPPCoswUvhQ=" }, "babel-plugin-transform-remove-undefined": { "version": "0.2.0", @@ -492,19 +497,19 @@ "integrity": "sha512-O8v57tPMHkp89kA4ZfQEYds/pzgvz/QYerBJjIuL5/Jc7RnvMVRA5gJY9zFKP7WayW8WOSBV4vh8Y8FJRio+ow==" }, "babel-plugin-transform-simplify-comparison-operators": { - "version": "6.9.0", - "resolved": "https://registry.npmjs.org/babel-plugin-transform-simplify-comparison-operators/-/babel-plugin-transform-simplify-comparison-operators-6.9.0.tgz", - "integrity": "sha512-EJyfYeph0CSekwQuwWVwJqy2go/bETkR95iaWQ/HTUis7tkCGNYmXngaFzuIXdmoPXfvmXYCvAXR4/93hqHVjw==" + "version": "6.9.1", + "resolved": "https://registry.npmjs.org/babel-plugin-transform-simplify-comparison-operators/-/babel-plugin-transform-simplify-comparison-operators-6.9.1.tgz", + "integrity": "sha1-Ww0GmAoXp4D1MYsnTAC+L7HHxP4=" }, "babel-plugin-transform-undefined-to-void": { - "version": "6.9.0", - "resolved": "https://registry.npmjs.org/babel-plugin-transform-undefined-to-void/-/babel-plugin-transform-undefined-to-void-6.9.0.tgz", - "integrity": "sha512-AVDVEmp0S9mbF1O8zekWbsOOmqnR08PZah5NRZJqSvJnFgiL0ep4Lwo4EymH8OieJR2QgQdR3q71TNW+wiVn4g==" + "version": "6.9.1", + "resolved": "https://registry.npmjs.org/babel-plugin-transform-undefined-to-void/-/babel-plugin-transform-undefined-to-void-6.9.1.tgz", + "integrity": "sha1-19+cHdDsEuD/6JXtFEX2Hxv14iE=" }, "babel-preset-meteor": { - "version": "7.0.0-beta.44", - "resolved": "https://registry.npmjs.org/babel-preset-meteor/-/babel-preset-meteor-7.0.0-beta.44.tgz", - "integrity": "sha512-NZ+2ifXWoTP/7AcPCpllp4A4fKVsOnbVOAPZ2ygrp9BDBU92PZpzdOzGElepJoejh77XKG3H7I7st+QRGTfmmw==" + "version": "7.0.0-beta.46", + "resolved": "https://registry.npmjs.org/babel-preset-meteor/-/babel-preset-meteor-7.0.0-beta.46.tgz", + "integrity": "sha512-XrxvtwFrvs046DIQXMkrb0QM5t8xj8YQ8jc9cTOmzL4VHvAEFttlzGkgBfCLa2cKB5nE7dbacxTgDQPKPtC5Lw==" }, "babel-preset-minify": { "version": "0.2.0", @@ -512,9 +517,9 @@ "integrity": "sha512-mR8Q44RmMzm18bM2Lqd9uiPopzk5GDCtVuquNbLFmX6lOKnqWoenaNBxnWW0UhBFC75lEHTIgNGCbnsRI0pJVw==" }, "babylon": { - "version": "7.0.0-beta.44", - "resolved": "https://registry.npmjs.org/babylon/-/babylon-7.0.0-beta.44.tgz", - "integrity": "sha512-5Hlm13BJVAioCHpImtFqNOF2H3ieTOHd0fmFGMxOJ9jgeFqeAwsv3u5P5cR7CSeFrkgHsT19DgFJkHV0/Mcd8g==" + "version": "7.0.0-beta.46", + "resolved": "https://registry.npmjs.org/babylon/-/babylon-7.0.0-beta.46.tgz", + "integrity": "sha512-WFJlg2WatdkXRFMpk7BN/Uzzkjkcjk+WaqnrSCpay+RYl4ypW9ZetZyT9kNt22IH/BQNst3M6PaaBn9IXsUNrg==" }, "braces": { "version": "1.8.5", @@ -522,9 +527,9 @@ "integrity": "sha1-uneWLhLf+WnWt2cR6RS3N4V79qc=" }, "chalk": { - "version": "2.3.2", - "resolved": "https://registry.npmjs.org/chalk/-/chalk-2.3.2.tgz", - "integrity": "sha512-ZM4j2/ld/YZDc3Ma8PgN7gyAk+kHMMMyzLNryCPGhWrsfAuDVeuid5bpRFTDgMH9JBK2lA4dyyAkkZYF/WcqDQ==" + "version": "2.4.0", + "resolved": "https://registry.npmjs.org/chalk/-/chalk-2.4.0.tgz", + "integrity": "sha512-Wr/w0f4o9LuE7K53cD0qmbAMM+2XNLzR29vFn5hqko4sxGlUsyy363NvmyGIyk5tpe9cjTr9SJYbysEyPkRnFw==" }, "color-convert": { "version": "1.9.1", @@ -542,9 +547,9 @@ "integrity": "sha1-ms1whRxtXf3ZPZKC5e35SgP/RrU=" }, "core-js": { - "version": "2.5.4", - "resolved": "https://registry.npmjs.org/core-js/-/core-js-2.5.4.tgz", - "integrity": "sha1-8si/GB8qgLkvNgEhQpzmOi8K6uA=" + "version": "2.5.5", + "resolved": "https://registry.npmjs.org/core-js/-/core-js-2.5.5.tgz", + "integrity": "sha1-sU3ek2xkDAV5prUMq8wTLdYSfjs=" }, "debug": { "version": "3.1.0", @@ -717,9 +722,9 @@ "integrity": "sha1-0aitM/qc4OcT1l/dCsi3SNR4yEg=" }, "meteor-babel": { - "version": "7.0.0-beta.44", - "resolved": "https://registry.npmjs.org/meteor-babel/-/meteor-babel-7.0.0-beta.44.tgz", - "integrity": "sha512-PMQPRO5Xv9CjgWsdPme69/5o5Utj0rImOWPQhRMbNNvC0vjQdtP8eHlTsxkWRK4aKVnz+qTzzhjbQ8Ra5GlFeg==" + "version": "7.0.0-beta.46", + "resolved": "https://registry.npmjs.org/meteor-babel/-/meteor-babel-7.0.0-beta.46.tgz", + "integrity": "sha512-WbL1SR2kFT8P++eeqdjPhkDKi7zhgtYdr3fT73UdqftYRl0d1FpegzUTW3Rh8HdjS/PlqCQdBIbFa7cjo/uIKg==" }, "meteor-babel-helpers": { "version": "0.0.3", @@ -858,9 +863,9 @@ "integrity": "sha1-jcrkcOHIirwtYA//Sndihtp15jc=" }, "resolve": { - "version": "1.6.0", - "resolved": "https://registry.npmjs.org/resolve/-/resolve-1.6.0.tgz", - "integrity": "sha512-mw7JQNu5ExIkcw4LPih0owX/TZXjD/ZUF/ZQ/pDnkw3ZKhDcZZw5klmBlj6gVMwjQ3Pz5Jgu7F3d0jcDVuEWdw==" + "version": "1.7.1", + "resolved": "https://registry.npmjs.org/resolve/-/resolve-1.7.1.tgz", + "integrity": "sha512-c7rwLofp8g1U+h1KNyHL/jicrKg1Ek4q+Lr33AL65uZTinUZHe30D5HlyN5V9NW0JX1D5dXQ4jqW5l7Sy/kGfw==" }, "semver": { "version": "5.5.0", @@ -873,9 +878,9 @@ "integrity": "sha1-igOdLRAh0i0eoUyA2OpGi6LvP8w=" }, "supports-color": { - "version": "5.3.0", - "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-5.3.0.tgz", - "integrity": "sha512-0aP01LLIskjKs3lq52EC0aGBAJhLq7B2Rd8HC/DR/PtNNpcLilNmHC12O+hu0usQpo7wtHNRqtrhBwtDb0+dNg==" + "version": "5.4.0", + "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-5.4.0.tgz", + "integrity": "sha512-zjaXglF5nnWpsq470jSv6P9DwPvgLkuapYmfDm3JWOm0vkNTVF2tI4UrN2r6jH1qM/uc/WtxYY1hYoA2dOKj5w==" }, "to-fast-properties": { "version": "2.0.0", diff --git a/packages/babel-compiler/package.js b/packages/babel-compiler/package.js index 0fda0f96a6..089c9708f9 100644 --- a/packages/babel-compiler/package.js +++ b/packages/babel-compiler/package.js @@ -6,11 +6,11 @@ Package.describe({ // isn't possible because you can't publish a non-recommended // release with package versions that don't have a pre-release // identifier at the end (eg, -dev) - version: '7.0.7' + version: '7.0.8' }); Npm.depends({ - 'meteor-babel': '7.0.0-beta.44' + 'meteor-babel': '7.0.0-beta.46' }); Package.onUse(function (api) { diff --git a/packages/ecmascript/package.js b/packages/ecmascript/package.js index c71853b679..27f4c3279c 100644 --- a/packages/ecmascript/package.js +++ b/packages/ecmascript/package.js @@ -1,6 +1,6 @@ Package.describe({ name: 'ecmascript', - version: '0.10.7', + version: '0.10.8', summary: 'Compiler plugin that supports ES2015+ in all .js files', documentation: 'README.md' }); diff --git a/packages/ecmascript/transpilation-tests.js b/packages/ecmascript/transpilation-tests.js index ce7015fc69..a56ecaae07 100644 --- a/packages/ecmascript/transpilation-tests.js +++ b/packages/ecmascript/transpilation-tests.js @@ -70,11 +70,11 @@ class Bar extends Foo {} }); Tinytest.add("ecmascript - transpilation - helpers - bind", (test) => { - const output = transform(` - var foo = new Foo(...oneTwo, 3); -`); + const output = transform( + "var foo = new Foo(...oneTwo, 3);" + ); - test.isTrue(output.match(/\.bind\b/)); + test.isTrue(output.match(/@babel\/runtime\/helpers\/construct\b/)); }); Tinytest.add("ecmascript - transpilation - helpers - extends", (test) => { diff --git a/scripts/dev-bundle-tool-package.js b/scripts/dev-bundle-tool-package.js index b96db1877e..adfddacaa6 100644 --- a/scripts/dev-bundle-tool-package.js +++ b/scripts/dev-bundle-tool-package.js @@ -14,13 +14,13 @@ var packageJson = { pacote: "https://github.com/meteor/pacote/tarball/2c16c509074bbba8ca5dd410caf808412ce79e6c", "node-gyp": "3.6.2", "node-pre-gyp": "0.6.36", - "meteor-babel": "7.0.0-beta.44", + "meteor-babel": "7.0.0-beta.46", "meteor-promise": "0.8.6", promise: "8.0.1", reify: "0.15.1", fibers: "2.0.0", // So that Babel can emit require("@babel/runtime/helpers/...") calls. - "@babel/runtime": "7.0.0-beta.44", + "@babel/runtime": "7.0.0-beta.46", // For backwards compatibility with isopackets that still depend on // babel-runtime rather than @babel/runtime. "babel-runtime": "7.0.0-beta.3", diff --git a/tools/static-assets/skel-bare/package.json b/tools/static-assets/skel-bare/package.json index 823c962dc3..e0a9ae0bb0 100644 --- a/tools/static-assets/skel-bare/package.json +++ b/tools/static-assets/skel-bare/package.json @@ -5,7 +5,7 @@ "start": "meteor run" }, "dependencies": { - "@babel/runtime": "^7.0.0-beta.42", + "@babel/runtime": "^7.0.0-beta.46", "meteor-node-stubs": "^0.3.2" } } diff --git a/tools/static-assets/skel-full/package.json b/tools/static-assets/skel-full/package.json index 14c8d6b49c..9eda04311f 100644 --- a/tools/static-assets/skel-full/package.json +++ b/tools/static-assets/skel-full/package.json @@ -6,7 +6,7 @@ "test": "meteor test --once --driver-package meteortesting:mocha" }, "dependencies": { - "@babel/runtime": "^7.0.0-beta.42", + "@babel/runtime": "^7.0.0-beta.46", "meteor-node-stubs": "^0.3.2" }, "devDependencies": { diff --git a/tools/static-assets/skel/package.json b/tools/static-assets/skel/package.json index e6aa33f443..1b057225ab 100644 --- a/tools/static-assets/skel/package.json +++ b/tools/static-assets/skel/package.json @@ -8,7 +8,7 @@ "visualize": "meteor --production --extra-packages bundle-visualizer" }, "dependencies": { - "@babel/runtime": "^7.0.0-beta.42", + "@babel/runtime": "^7.0.0-beta.46", "meteor-node-stubs": "^0.3.2" }, "meteor": { diff --git a/tools/tests/apps/app-config/package-lock.json b/tools/tests/apps/app-config/package-lock.json index a8043c1dbf..454189368e 100644 --- a/tools/tests/apps/app-config/package-lock.json +++ b/tools/tests/apps/app-config/package-lock.json @@ -4,18 +4,18 @@ "lockfileVersion": 1, "dependencies": { "@babel/runtime": { - "version": "7.0.0-beta.42", - "resolved": "https://registry.npmjs.org/@babel/runtime/-/runtime-7.0.0-beta.42.tgz", - "integrity": "sha512-iOGRzUoONLOtmCvjUsZv3mZzgCT6ljHQY5fr1qG1QIiJQwtM7zbPWGGpa3QWETq+UqwWyJnoi5XZDZRwZDFciQ==", + "version": "7.0.0-beta.46", + "resolved": "https://registry.npmjs.org/@babel/runtime/-/runtime-7.0.0-beta.46.tgz", + "integrity": "sha512-/3a3USMKk54BEHhDgY8rtxtaQOs4bp4aQwo6SDtdwmrXmgSgEusWuXNX5oIs/nwzmTD9o8wz2EyAjA+uHDMmJA==", "requires": { - "core-js": "2.5.3", + "core-js": "2.5.5", "regenerator-runtime": "0.11.1" } }, "core-js": { - "version": "2.5.3", - "resolved": "https://registry.npmjs.org/core-js/-/core-js-2.5.3.tgz", - "integrity": "sha1-isw4NFgk8W2DZbfJtCWRaOjtYD4=" + "version": "2.5.5", + "resolved": "https://registry.npmjs.org/core-js/-/core-js-2.5.5.tgz", + "integrity": "sha1-sU3ek2xkDAV5prUMq8wTLdYSfjs=" }, "meteor-node-stubs": { "version": "0.3.3", diff --git a/tools/tests/apps/app-config/package.json b/tools/tests/apps/app-config/package.json index 2dea95566e..1c175061c8 100644 --- a/tools/tests/apps/app-config/package.json +++ b/tools/tests/apps/app-config/package.json @@ -5,7 +5,7 @@ "start": "meteor run" }, "dependencies": { - "@babel/runtime": "^7.0.0-beta.42", + "@babel/runtime": "^7.0.0-beta.46", "meteor-node-stubs": "^0.3.2" }, "meteor": { diff --git a/tools/tests/apps/dev-bundle-bin-commands/package.json b/tools/tests/apps/dev-bundle-bin-commands/package.json index f225e07b6f..7dcedabf8b 100644 --- a/tools/tests/apps/dev-bundle-bin-commands/package.json +++ b/tools/tests/apps/dev-bundle-bin-commands/package.json @@ -7,7 +7,7 @@ "exit-normally": "echo \"This script will exit normally\" && exit 0" }, "dependencies": { - "@babel/runtime": "^7.0.0-beta.36", + "@babel/runtime": "^7.0.0-beta.46", "meteor-node-stubs": "^0.3.2" } } diff --git a/tools/tests/apps/dynamic-import/package-lock.json b/tools/tests/apps/dynamic-import/package-lock.json index b6ed0e9ca0..e9cc95361d 100644 --- a/tools/tests/apps/dynamic-import/package-lock.json +++ b/tools/tests/apps/dynamic-import/package-lock.json @@ -4,11 +4,11 @@ "lockfileVersion": 1, "dependencies": { "@babel/runtime": { - "version": "7.0.0-beta.42", - "resolved": "https://registry.npmjs.org/@babel/runtime/-/runtime-7.0.0-beta.42.tgz", - "integrity": "sha512-iOGRzUoONLOtmCvjUsZv3mZzgCT6ljHQY5fr1qG1QIiJQwtM7zbPWGGpa3QWETq+UqwWyJnoi5XZDZRwZDFciQ==", + "version": "7.0.0-beta.46", + "resolved": "https://registry.npmjs.org/@babel/runtime/-/runtime-7.0.0-beta.46.tgz", + "integrity": "sha512-/3a3USMKk54BEHhDgY8rtxtaQOs4bp4aQwo6SDtdwmrXmgSgEusWuXNX5oIs/nwzmTD9o8wz2EyAjA+uHDMmJA==", "requires": { - "core-js": "2.5.3", + "core-js": "2.5.5", "regenerator-runtime": "0.11.1" } }, @@ -28,9 +28,9 @@ "integrity": "sha1-5QNHYR1+aQlDIIu9r+vLwvuGbUY=" }, "core-js": { - "version": "2.5.3", - "resolved": "https://registry.npmjs.org/core-js/-/core-js-2.5.3.tgz", - "integrity": "sha1-isw4NFgk8W2DZbfJtCWRaOjtYD4=" + "version": "2.5.5", + "resolved": "https://registry.npmjs.org/core-js/-/core-js-2.5.5.tgz", + "integrity": "sha1-sU3ek2xkDAV5prUMq8wTLdYSfjs=" }, "encoding": { "version": "0.1.12", diff --git a/tools/tests/apps/dynamic-import/package.json b/tools/tests/apps/dynamic-import/package.json index 262657e08b..040fcc5124 100644 --- a/tools/tests/apps/dynamic-import/package.json +++ b/tools/tests/apps/dynamic-import/package.json @@ -6,7 +6,7 @@ "test": "meteor test --full-app --driver-package dispatch:mocha-browser" }, "dependencies": { - "@babel/runtime": "^7.0.0-beta.42", + "@babel/runtime": "^7.0.0-beta.46", "acorn": "^4.0.11", "arson": "^0.2.3", "meteor-node-stubs": "^0.3.2", diff --git a/tools/tests/apps/meteor-ignore/package-lock.json b/tools/tests/apps/meteor-ignore/package-lock.json index b935869faf..6302e0fc5e 100644 --- a/tools/tests/apps/meteor-ignore/package-lock.json +++ b/tools/tests/apps/meteor-ignore/package-lock.json @@ -4,18 +4,18 @@ "lockfileVersion": 1, "dependencies": { "@babel/runtime": { - "version": "7.0.0-beta.42", - "resolved": "https://registry.npmjs.org/@babel/runtime/-/runtime-7.0.0-beta.42.tgz", - "integrity": "sha512-iOGRzUoONLOtmCvjUsZv3mZzgCT6ljHQY5fr1qG1QIiJQwtM7zbPWGGpa3QWETq+UqwWyJnoi5XZDZRwZDFciQ==", + "version": "7.0.0-beta.46", + "resolved": "https://registry.npmjs.org/@babel/runtime/-/runtime-7.0.0-beta.46.tgz", + "integrity": "sha512-/3a3USMKk54BEHhDgY8rtxtaQOs4bp4aQwo6SDtdwmrXmgSgEusWuXNX5oIs/nwzmTD9o8wz2EyAjA+uHDMmJA==", "requires": { - "core-js": "2.5.3", + "core-js": "2.5.5", "regenerator-runtime": "0.11.1" } }, "core-js": { - "version": "2.5.3", - "resolved": "https://registry.npmjs.org/core-js/-/core-js-2.5.3.tgz", - "integrity": "sha1-isw4NFgk8W2DZbfJtCWRaOjtYD4=" + "version": "2.5.5", + "resolved": "https://registry.npmjs.org/core-js/-/core-js-2.5.5.tgz", + "integrity": "sha1-sU3ek2xkDAV5prUMq8wTLdYSfjs=" }, "meteor-node-stubs": { "version": "0.3.3", diff --git a/tools/tests/apps/meteor-ignore/package.json b/tools/tests/apps/meteor-ignore/package.json index f3cd5a5edf..c0d547455e 100644 --- a/tools/tests/apps/meteor-ignore/package.json +++ b/tools/tests/apps/meteor-ignore/package.json @@ -5,7 +5,7 @@ "start": "meteor run" }, "dependencies": { - "@babel/runtime": "^7.0.0-beta.42", + "@babel/runtime": "^7.0.0-beta.46", "meteor-node-stubs": "^0.3.2" } } diff --git a/tools/tests/apps/modules/package-lock.json b/tools/tests/apps/modules/package-lock.json index 3c8c66582e..03dcd090a9 100644 --- a/tools/tests/apps/modules/package-lock.json +++ b/tools/tests/apps/modules/package-lock.json @@ -4,41 +4,41 @@ "lockfileVersion": 1, "dependencies": { "@babel/code-frame": { - "version": "7.0.0-beta.42", - "resolved": "https://registry.npmjs.org/@babel/code-frame/-/code-frame-7.0.0-beta.42.tgz", - "integrity": "sha512-L8i94FLSyaLQpRfDo/qqSm8Ndb44zMtXParXo0MebJICG1zoCCL4+GkzUOlB4BNTRSXXQdb3feam/qw7bKPipQ==", + "version": "7.0.0-beta.46", + "resolved": "https://registry.npmjs.org/@babel/code-frame/-/code-frame-7.0.0-beta.46.tgz", + "integrity": "sha512-7BKRkmYaPZm3Yff5HGZJKCz7RqZ5jUjknsXT6Gz5YKG23J3uq9hAj0epncCB0rlqmnZ8Q+UUpQB2tCR5mT37vw==", "requires": { - "@babel/highlight": "7.0.0-beta.42" + "@babel/highlight": "7.0.0-beta.46" } }, "@babel/core": { - "version": "7.0.0-beta.42", - "resolved": "https://registry.npmjs.org/@babel/core/-/core-7.0.0-beta.42.tgz", - "integrity": "sha512-jcjZRewF/xqROfbk8EGyWlykaIR3IwrcefjWHu8xh4QnULSv3nfkjPM35v1itDgAT4/Jj5b4mPf4eZSC2HoRQA==", + "version": "7.0.0-beta.46", + "resolved": "https://registry.npmjs.org/@babel/core/-/core-7.0.0-beta.46.tgz", + "integrity": "sha512-lCDbBSAhNAt+nL98xbgWmuhgrIxKvbvFHf73zlNCuXCHJkdlo7qzTofYK0ZWb+OVce8fQ17fC7DwTIhAwowzMw==", "requires": { - "@babel/code-frame": "7.0.0-beta.42", - "@babel/generator": "7.0.0-beta.42", - "@babel/helpers": "7.0.0-beta.42", - "@babel/template": "7.0.0-beta.42", - "@babel/traverse": "7.0.0-beta.42", - "@babel/types": "7.0.0-beta.42", - "babylon": "7.0.0-beta.42", + "@babel/code-frame": "7.0.0-beta.46", + "@babel/generator": "7.0.0-beta.46", + "@babel/helpers": "7.0.0-beta.46", + "@babel/template": "7.0.0-beta.46", + "@babel/traverse": "7.0.0-beta.46", + "@babel/types": "7.0.0-beta.46", + "babylon": "7.0.0-beta.46", "convert-source-map": "1.5.1", "debug": "3.1.0", "json5": "0.5.1", "lodash": "4.17.5", "micromatch": "2.3.11", - "resolve": "1.6.0", + "resolve": "1.7.1", "semver": "5.5.0", "source-map": "0.5.7" } }, "@babel/generator": { - "version": "7.0.0-beta.42", - "resolved": "https://registry.npmjs.org/@babel/generator/-/generator-7.0.0-beta.42.tgz", - "integrity": "sha512-9x3zS4nG/6GAvJWB8fAK+5g/Di36xdubB43dMNSucNJTwPvmyfCippir/0I8zyG+ID66hLCLi8V9bomlWRYaHA==", + "version": "7.0.0-beta.46", + "resolved": "https://registry.npmjs.org/@babel/generator/-/generator-7.0.0-beta.46.tgz", + "integrity": "sha512-5VfaEVkPG0gpNSTcf70jvV+MjbMoNn4g2iluwM7MhciedkolEtmG7PcdoUj5W1EmMfngz5cF65V7UMZXJO6y8Q==", "requires": { - "@babel/types": "7.0.0-beta.42", + "@babel/types": "7.0.0-beta.46", "jsesc": "2.5.1", "lodash": "4.17.5", "source-map": "0.5.7", @@ -46,145 +46,131 @@ } }, "@babel/helper-function-name": { - "version": "7.0.0-beta.42", - "resolved": "https://registry.npmjs.org/@babel/helper-function-name/-/helper-function-name-7.0.0-beta.42.tgz", - "integrity": "sha512-6IZ+kkPypwJrnmNzI3y31qAps2kXoPtCE241SvBva2YzB0n/YORWx2YM0jHPYOJBU9Xx5KkUhOKuWkeXZQgtTA==", + "version": "7.0.0-beta.46", + "resolved": "https://registry.npmjs.org/@babel/helper-function-name/-/helper-function-name-7.0.0-beta.46.tgz", + "integrity": "sha512-zm4Kc5XB2njGs8PkmjV1zE/g1hBuphbh+VcDyFLaQsxkxSFSUtCbKwFL8AQpL/qPIcGbvX1MBt50a/3ZZH2CQA==", "requires": { - "@babel/helper-get-function-arity": "7.0.0-beta.42", - "@babel/template": "7.0.0-beta.42", - "@babel/types": "7.0.0-beta.42" + "@babel/helper-get-function-arity": "7.0.0-beta.46", + "@babel/template": "7.0.0-beta.46", + "@babel/types": "7.0.0-beta.46" } }, "@babel/helper-get-function-arity": { - "version": "7.0.0-beta.42", - "resolved": "https://registry.npmjs.org/@babel/helper-get-function-arity/-/helper-get-function-arity-7.0.0-beta.42.tgz", - "integrity": "sha512-hF5KKcn+V/5PwU7KZ1aVwo535woLC9eV+djaoyNPZeMMJ2s+8bZlEa66Tarei0T68VRL5LXIs1Ao4hSabSkpBg==", + "version": "7.0.0-beta.46", + "resolved": "https://registry.npmjs.org/@babel/helper-get-function-arity/-/helper-get-function-arity-7.0.0-beta.46.tgz", + "integrity": "sha512-dPrTb7QHVx44xJLjUl3LGAc13iS7hdXdO0fiOxdRN1suIS91yGGgeuwiQBlrw5SxbFchYtwenhlKbqHdVfGyVA==", "requires": { - "@babel/types": "7.0.0-beta.42" + "@babel/types": "7.0.0-beta.46" } }, "@babel/helper-plugin-utils": { - "version": "7.0.0-beta.42", - "resolved": "https://registry.npmjs.org/@babel/helper-plugin-utils/-/helper-plugin-utils-7.0.0-beta.42.tgz", - "integrity": "sha512-hZLw8Iz9/YOxI9mgWyPOP1S84OcdQo1WFkZrS1sSf45g16sEb4dVslds2uvZgmx9BiG94PoWyABGf48Py6D6CA==" + "version": "7.0.0-beta.46", + "resolved": "https://registry.npmjs.org/@babel/helper-plugin-utils/-/helper-plugin-utils-7.0.0-beta.46.tgz", + "integrity": "sha512-eRTFH+/1rqDfzx+Z//CYk4TNwhfPQpM/TCs4CmHu2DwCPrqFnKUZLI1KgStfLf//c8FdOqx/U9EPec7s8CbUIA==" }, "@babel/helper-split-export-declaration": { - "version": "7.0.0-beta.42", - "resolved": "https://registry.npmjs.org/@babel/helper-split-export-declaration/-/helper-split-export-declaration-7.0.0-beta.42.tgz", - "integrity": "sha512-2r8pZG6SAJTTaI2OhxCmz5PKlMUPY5adOHrHtb1gM3ibJPDOzPAeOQNzItdxNnM33jjRakEGitXX6iYg7Sz73w==", + "version": "7.0.0-beta.46", + "resolved": "https://registry.npmjs.org/@babel/helper-split-export-declaration/-/helper-split-export-declaration-7.0.0-beta.46.tgz", + "integrity": "sha512-UT7acgV7wsnBPwnqslqcnUFvsPBP4TtVaYM82xPGA7+evAa8q8HXOmFk08qsMK/pX/yy4+51gJJwyw2zofnacA==", "requires": { - "@babel/types": "7.0.0-beta.42" + "@babel/types": "7.0.0-beta.46" } }, "@babel/helpers": { - "version": "7.0.0-beta.42", - "resolved": "https://registry.npmjs.org/@babel/helpers/-/helpers-7.0.0-beta.42.tgz", - "integrity": "sha512-att9SiG9GxOUdjai87LqjSstgNsdo1nXiGu+Eh078zwRiN8bM5Ww8vrbYkAm9PF4HaW6OzOKqyKxv595RT79bA==", + "version": "7.0.0-beta.46", + "resolved": "https://registry.npmjs.org/@babel/helpers/-/helpers-7.0.0-beta.46.tgz", + "integrity": "sha512-mbpH9pM3pJzo/tBr75U+zva3pqpyivogt1aofgEoD7bWFAYSuqOudRuz+m4XP6VPxxLoxcA4SFPGkuLRt9+7nQ==", "requires": { - "@babel/template": "7.0.0-beta.42", - "@babel/traverse": "7.0.0-beta.42", - "@babel/types": "7.0.0-beta.42" + "@babel/template": "7.0.0-beta.46", + "@babel/traverse": "7.0.0-beta.46", + "@babel/types": "7.0.0-beta.46" } }, "@babel/highlight": { - "version": "7.0.0-beta.42", - "resolved": "https://registry.npmjs.org/@babel/highlight/-/highlight-7.0.0-beta.42.tgz", - "integrity": "sha512-X3Ur/A/lIbbP8W0pmwgqtDXIxhQmxPaiwY9SKP7kF9wvZfjZRwMvbJE92ozUhF3UDK3DCKaV7oGqmI1rP/zqWA==", + "version": "7.0.0-beta.46", + "resolved": "https://registry.npmjs.org/@babel/highlight/-/highlight-7.0.0-beta.46.tgz", + "integrity": "sha512-r4snW6Q8ICL3Y8hGzYJRvyG/+sc+kvkewXNedG9tQjoHmUFMwMSv/o45GWQUQswevGnWghiGkpRPivFfOuMsOA==", "requires": { - "chalk": "2.3.2", + "chalk": "2.4.0", "esutils": "2.0.2", "js-tokens": "3.0.2" } }, "@babel/plugin-proposal-do-expressions": { - "version": "7.0.0-beta.43", - "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-do-expressions/-/plugin-proposal-do-expressions-7.0.0-beta.43.tgz", - "integrity": "sha512-I2s9VVTC3QCp9+nzjqToDh5UyJwUHSXUcsqf8Ar5TfN2Az/5Y//pWiqPAMuOkn6BjvZRgv0BjPTl0zX99wR5wg==", + "version": "7.0.0-beta.46", + "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-do-expressions/-/plugin-proposal-do-expressions-7.0.0-beta.46.tgz", + "integrity": "sha512-C0Sr5AXHLZz+vp3x+4j5hUdAmTX3m8rjScJC91wlme7xLZfmRGEfOgq09QTVaWqlutpaof1lsmp9zKAlEv1asw==", "requires": { - "@babel/helper-plugin-utils": "7.0.0-beta.43", - "@babel/plugin-syntax-do-expressions": "7.0.0-beta.43" - }, - "dependencies": { - "@babel/helper-plugin-utils": { - "version": "7.0.0-beta.43", - "resolved": "https://registry.npmjs.org/@babel/helper-plugin-utils/-/helper-plugin-utils-7.0.0-beta.43.tgz", - "integrity": "sha512-d55BCkmGlgQXNSGNh+GyRgTuAZxBVqMu2U/uZqBt6mbPmwiu1vuJD7jZnnjGpM1c3Cm3rN9Nt4U1i7S+V/dBtw==" - } + "@babel/helper-plugin-utils": "7.0.0-beta.46", + "@babel/plugin-syntax-do-expressions": "7.0.0-beta.46" } }, "@babel/plugin-proposal-optional-chaining": { - "version": "7.0.0-beta.42", - "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-optional-chaining/-/plugin-proposal-optional-chaining-7.0.0-beta.42.tgz", - "integrity": "sha512-mIrPJJz+RfcN00ZSuVl99LH22WyPmSx3BV1OgKowzo5qpWIclzN2YPcIDUa/LTSa/j6SKyini8DJ5rmYw9m0MQ==", + "version": "7.0.0-beta.46", + "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-optional-chaining/-/plugin-proposal-optional-chaining-7.0.0-beta.46.tgz", + "integrity": "sha512-aAHryJWDhkEN7/bIYdr5ueaL5rFfwfnuiGW+6xDpylg+KaJmS0CmzZAxJQNxw0lYNZhBQNzWvJTesli5VsSrWg==", "requires": { - "@babel/helper-plugin-utils": "7.0.0-beta.42", - "@babel/plugin-syntax-optional-chaining": "7.0.0-beta.42" + "@babel/helper-plugin-utils": "7.0.0-beta.46", + "@babel/plugin-syntax-optional-chaining": "7.0.0-beta.46" } }, "@babel/plugin-syntax-do-expressions": { - "version": "7.0.0-beta.43", - "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-do-expressions/-/plugin-syntax-do-expressions-7.0.0-beta.43.tgz", - "integrity": "sha512-9g6t8nj3WBGaiFKR2CbDl2sjiwG+PJ5nJ7Hn+5yyJuP5bJVIu4hGjdEBLw1E9L3QUTgUmItPd87e3nFwfLqmsA==", + "version": "7.0.0-beta.46", + "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-do-expressions/-/plugin-syntax-do-expressions-7.0.0-beta.46.tgz", + "integrity": "sha512-JqrbOrldoeFUoa+teISIt3tg+4vsUEdwb9LUQ8McC2RGZHfn/XT0xiHAof7P51zi2EHtQ+l/1bcv5+mxqGo5Sw==", "requires": { - "@babel/helper-plugin-utils": "7.0.0-beta.43" - }, - "dependencies": { - "@babel/helper-plugin-utils": { - "version": "7.0.0-beta.43", - "resolved": "https://registry.npmjs.org/@babel/helper-plugin-utils/-/helper-plugin-utils-7.0.0-beta.43.tgz", - "integrity": "sha512-d55BCkmGlgQXNSGNh+GyRgTuAZxBVqMu2U/uZqBt6mbPmwiu1vuJD7jZnnjGpM1c3Cm3rN9Nt4U1i7S+V/dBtw==" - } + "@babel/helper-plugin-utils": "7.0.0-beta.46" } }, "@babel/plugin-syntax-optional-chaining": { - "version": "7.0.0-beta.42", - "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-optional-chaining/-/plugin-syntax-optional-chaining-7.0.0-beta.42.tgz", - "integrity": "sha512-Bz0aix2BkgEIQ+9+Qb7Y6FoapXiGZ8w1Zn9mYaTTnxwODRrvYeH+cARzHWsXEf0hv3SI5ONaZXnDvwtsxQyxXQ==", + "version": "7.0.0-beta.46", + "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-optional-chaining/-/plugin-syntax-optional-chaining-7.0.0-beta.46.tgz", + "integrity": "sha512-/TTGzn3twKp7PhFi0ZKA0M+29pm+L3KeUygZZ9FupD4f5i3GNeW/HBBivYcIdZz+Wa1AoUffYtLJSVdpshFKkw==", "requires": { - "@babel/helper-plugin-utils": "7.0.0-beta.42" + "@babel/helper-plugin-utils": "7.0.0-beta.46" } }, "@babel/runtime": { - "version": "7.0.0-beta.42", - "resolved": "https://registry.npmjs.org/@babel/runtime/-/runtime-7.0.0-beta.42.tgz", - "integrity": "sha512-iOGRzUoONLOtmCvjUsZv3mZzgCT6ljHQY5fr1qG1QIiJQwtM7zbPWGGpa3QWETq+UqwWyJnoi5XZDZRwZDFciQ==", + "version": "7.0.0-beta.46", + "resolved": "https://registry.npmjs.org/@babel/runtime/-/runtime-7.0.0-beta.46.tgz", + "integrity": "sha512-/3a3USMKk54BEHhDgY8rtxtaQOs4bp4aQwo6SDtdwmrXmgSgEusWuXNX5oIs/nwzmTD9o8wz2EyAjA+uHDMmJA==", "requires": { - "core-js": "2.5.3", + "core-js": "2.5.5", "regenerator-runtime": "0.11.1" } }, "@babel/template": { - "version": "7.0.0-beta.42", - "resolved": "https://registry.npmjs.org/@babel/template/-/template-7.0.0-beta.42.tgz", - "integrity": "sha512-EK7YdTe47j4VxlwNvz5bnlk5Jx/wWublnqfgOY2IuSNdxCQgXrLD34PfTnabGxywNSkJkcSo6jwr2JGT+S48dA==", + "version": "7.0.0-beta.46", + "resolved": "https://registry.npmjs.org/@babel/template/-/template-7.0.0-beta.46.tgz", + "integrity": "sha512-3/qi4m0l6G/vZbEwtqfzJk73mYtuE7nvAO1zT3/ZrTAHy4sHf2vaF9Eh1w+Tau263Yrkh0bjVQPb9zw6G+GeMQ==", "requires": { - "@babel/code-frame": "7.0.0-beta.42", - "@babel/types": "7.0.0-beta.42", - "babylon": "7.0.0-beta.42", + "@babel/code-frame": "7.0.0-beta.46", + "@babel/types": "7.0.0-beta.46", + "babylon": "7.0.0-beta.46", "lodash": "4.17.5" } }, "@babel/traverse": { - "version": "7.0.0-beta.42", - "resolved": "https://registry.npmjs.org/@babel/traverse/-/traverse-7.0.0-beta.42.tgz", - "integrity": "sha512-DZwMuZBfYVIn/cxpXZzHDgKmarW/MWqplLv1k7QJYhK5r5l6GAac/DkKl75A0CjPYrD3VGco6H6ZQp12QaYKSw==", + "version": "7.0.0-beta.46", + "resolved": "https://registry.npmjs.org/@babel/traverse/-/traverse-7.0.0-beta.46.tgz", + "integrity": "sha512-IU7MTGbcjpfhf5tyCu3sDB7sWYainZQcT+CqOBdVZXZfq5MMr130R7aiZBI2g5dJYUaW1PS81DVNpd0/Sq/Gzg==", "requires": { - "@babel/code-frame": "7.0.0-beta.42", - "@babel/generator": "7.0.0-beta.42", - "@babel/helper-function-name": "7.0.0-beta.42", - "@babel/helper-split-export-declaration": "7.0.0-beta.42", - "@babel/types": "7.0.0-beta.42", - "babylon": "7.0.0-beta.42", + "@babel/code-frame": "7.0.0-beta.46", + "@babel/generator": "7.0.0-beta.46", + "@babel/helper-function-name": "7.0.0-beta.46", + "@babel/helper-split-export-declaration": "7.0.0-beta.46", + "@babel/types": "7.0.0-beta.46", + "babylon": "7.0.0-beta.46", "debug": "3.1.0", - "globals": "11.3.0", + "globals": "11.4.0", "invariant": "2.2.4", "lodash": "4.17.5" } }, "@babel/types": { - "version": "7.0.0-beta.42", - "resolved": "https://registry.npmjs.org/@babel/types/-/types-7.0.0-beta.42.tgz", - "integrity": "sha512-+pmpISmTHQqMMpHHtDLxcvtRhmn53bAxy8goJfHipS/uy/r3PLcuSdPizLW7DhtBWbtgIKZufLObfnIMoyMNsw==", + "version": "7.0.0-beta.46", + "resolved": "https://registry.npmjs.org/@babel/types/-/types-7.0.0-beta.46.tgz", + "integrity": "sha512-uA5aruF2KKsJxToWdDpftsrPOIQtoGrGno2hiaeO9JRvfT9xZdK11nPoC+/RF9emNzmNbWn4HCRdCY+McT5Nbw==", "requires": { "esutils": "2.0.2", "lodash": "4.17.5", @@ -255,9 +241,9 @@ } }, "babylon": { - "version": "7.0.0-beta.42", - "resolved": "https://registry.npmjs.org/babylon/-/babylon-7.0.0-beta.42.tgz", - "integrity": "sha512-h6E/OkkvcBw/JimbL0p8dIaxrcuQn3QmIYGC/GtJlRYif5LTKBYPHXYwqluJpfS/kOXoz0go+9mkmOVC0M+zWw==" + "version": "7.0.0-beta.46", + "resolved": "https://registry.npmjs.org/babylon/-/babylon-7.0.0-beta.46.tgz", + "integrity": "sha512-WFJlg2WatdkXRFMpk7BN/Uzzkjkcjk+WaqnrSCpay+RYl4ypW9ZetZyT9kNt22IH/BQNst3M6PaaBn9IXsUNrg==" }, "base64-js": { "version": "1.2.3", @@ -308,13 +294,13 @@ } }, "chalk": { - "version": "2.3.2", - "resolved": "https://registry.npmjs.org/chalk/-/chalk-2.3.2.tgz", - "integrity": "sha512-ZM4j2/ld/YZDc3Ma8PgN7gyAk+kHMMMyzLNryCPGhWrsfAuDVeuid5bpRFTDgMH9JBK2lA4dyyAkkZYF/WcqDQ==", + "version": "2.4.0", + "resolved": "https://registry.npmjs.org/chalk/-/chalk-2.4.0.tgz", + "integrity": "sha512-Wr/w0f4o9LuE7K53cD0qmbAMM+2XNLzR29vFn5hqko4sxGlUsyy363NvmyGIyk5tpe9cjTr9SJYbysEyPkRnFw==", "requires": { "ansi-styles": "3.2.1", "escape-string-regexp": "1.0.5", - "supports-color": "5.3.0" + "supports-color": "5.4.0" } }, "cli-color": { @@ -350,9 +336,9 @@ "integrity": "sha1-uCeAl7m8IpNl3lxiz1/K7YtVmeU=" }, "core-js": { - "version": "2.5.3", - "resolved": "https://registry.npmjs.org/core-js/-/core-js-2.5.3.tgz", - "integrity": "sha1-isw4NFgk8W2DZbfJtCWRaOjtYD4=" + "version": "2.5.5", + "resolved": "https://registry.npmjs.org/core-js/-/core-js-2.5.5.tgz", + "integrity": "sha1-sU3ek2xkDAV5prUMq8wTLdYSfjs=" }, "core-util-is": { "version": "1.0.2", @@ -490,9 +476,9 @@ } }, "globals": { - "version": "11.3.0", - "resolved": "https://registry.npmjs.org/globals/-/globals-11.3.0.tgz", - "integrity": "sha512-kkpcKNlmQan9Z5ZmgqKH/SMbSmjxQ7QjyNqfXVc8VJcoBV2UEg+sxQD15GQofGRh2hfpwUb70VC31DR7Rq5Hdw==" + "version": "11.4.0", + "resolved": "https://registry.npmjs.org/globals/-/globals-11.4.0.tgz", + "integrity": "sha512-Dyzmifil8n/TmSqYDEXbm+C8yitzJQqQIlJQLNRMwa+BOUJpRC19pyVeN12JAjt61xonvXjtff+hJruTRXn5HA==" }, "has-flag": { "version": "3.0.0", @@ -1578,9 +1564,9 @@ "integrity": "sha1-jcrkcOHIirwtYA//Sndihtp15jc=" }, "resolve": { - "version": "1.6.0", - "resolved": "https://registry.npmjs.org/resolve/-/resolve-1.6.0.tgz", - "integrity": "sha512-mw7JQNu5ExIkcw4LPih0owX/TZXjD/ZUF/ZQ/pDnkw3ZKhDcZZw5klmBlj6gVMwjQ3Pz5Jgu7F3d0jcDVuEWdw==", + "version": "1.7.1", + "resolved": "https://registry.npmjs.org/resolve/-/resolve-1.7.1.tgz", + "integrity": "sha512-c7rwLofp8g1U+h1KNyHL/jicrKg1Ek4q+Lr33AL65uZTinUZHe30D5HlyN5V9NW0JX1D5dXQ4jqW5l7Sy/kGfw==", "requires": { "path-parse": "1.0.5" } @@ -1640,9 +1626,9 @@ } }, "supports-color": { - "version": "5.3.0", - "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-5.3.0.tgz", - "integrity": "sha512-0aP01LLIskjKs3lq52EC0aGBAJhLq7B2Rd8HC/DR/PtNNpcLilNmHC12O+hu0usQpo7wtHNRqtrhBwtDb0+dNg==", + "version": "5.4.0", + "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-5.4.0.tgz", + "integrity": "sha512-zjaXglF5nnWpsq470jSv6P9DwPvgLkuapYmfDm3JWOm0vkNTVF2tI4UrN2r6jH1qM/uc/WtxYY1hYoA2dOKj5w==", "requires": { "has-flag": "3.0.0" } diff --git a/tools/tests/apps/modules/package.json b/tools/tests/apps/modules/package.json index 326287091d..9cc7137d3f 100644 --- a/tools/tests/apps/modules/package.json +++ b/tools/tests/apps/modules/package.json @@ -4,10 +4,10 @@ "description": "Test app exercising many aspects of the Meteor module system.", "private": true, "dependencies": { - "@babel/runtime": "^7.0.0-beta.42", - "@babel/core": "^7.0.0-beta.42", - "@babel/plugin-proposal-do-expressions": "^7.0.0-beta.42", - "@babel/plugin-proposal-optional-chaining": "^7.0.0-beta.42", + "@babel/runtime": "^7.0.0-beta.46", + "@babel/core": "^7.0.0-beta.46", + "@babel/plugin-proposal-do-expressions": "^7.0.0-beta.46", + "@babel/plugin-proposal-optional-chaining": "^7.0.0-beta.46", "acorn": "file:imports/links/acorn", "aws-sdk": "^2.2.41", "cli-color": "^0.2.3", diff --git a/tools/tests/apps/shell/package.json b/tools/tests/apps/shell/package.json index a6bfa9bbe0..b8779eebf9 100644 --- a/tools/tests/apps/shell/package.json +++ b/tools/tests/apps/shell/package.json @@ -5,7 +5,7 @@ "start": "meteor run" }, "dependencies": { - "@babel/runtime": "^7.0.0-beta.36", + "@babel/runtime": "^7.0.0-beta.46", "meteor-node-stubs": "^0.3.2" } } diff --git a/tools/tests/old/app-with-private/package.json b/tools/tests/old/app-with-private/package.json index daed6dc7d6..57fe35ac0c 100644 --- a/tools/tests/old/app-with-private/package.json +++ b/tools/tests/old/app-with-private/package.json @@ -5,7 +5,7 @@ "start": "meteor run" }, "dependencies": { - "@babel/runtime": "^7.0.0-beta.36", + "@babel/runtime": "^7.0.0-beta.46", "meteor-node-stubs": "^0.3.2" } } From 498f5d32dd72d0cd480bcfe3e7df98b6eb3441be Mon Sep 17 00:00:00 2001 From: Cyrille Colin Date: Thu, 26 Apr 2018 10:26:18 +0200 Subject: [PATCH 0798/1355] [cordova] add resource-file to mobile-config (#9748) * add resource-file to mobile-config * Fix typo in addResourceFile documentation header * get filename with path.parse instead of split * Code formatting adjustments --- tools/cordova/builder.js | 55 ++++++++++++++++++++++++++++++++++++++-- 1 file changed, 53 insertions(+), 2 deletions(-) diff --git a/tools/cordova/builder.js b/tools/cordova/builder.js index 74628ed8a1..a4d20c06c6 100644 --- a/tools/cordova/builder.js +++ b/tools/cordova/builder.js @@ -1,5 +1,6 @@ import _ from 'underscore'; import util from 'util'; +import path from 'path'; import { Console } from '../console/console.js'; import buildmessage from '../utils/buildmessage.js'; import files from '../fs/files.js'; @@ -52,7 +53,7 @@ const launchIosSizes = { 'iphone6p_portrait': '1242x2208', 'iphone6p_landscape': '2208x1242', 'iphoneX_portrait': '1125x2436', - 'iphoneX_landscape': '2436x1125', + 'iphoneX_landscape': '2436x1125', 'ipad_portrait_2x': '1536x2048', 'ipad_landscape_2x': '2048x1536', // Legacy @@ -125,6 +126,9 @@ export class CordovaBuilder { // Custom elements that will be appended into config.xml's widgets this.custom = []; + // Resource files that will be appended to platform bundle and config.xml + this.resourceFiles = []; + const packageMap = this.projectContext.packageMap; if (packageMap && packageMap.getInfo('launch-screen')) { @@ -320,6 +324,12 @@ export class CordovaBuilder { this.configureAndCopyImages(launchAndroidSizes, platformElement.android, 'splash'); } + this.configureAndCopyResourceFiles( + this.resourceFiles, + platformElement.ios, + platformElement.android + ); + Console.debug('Writing new config.xml'); const configXmlPath = files.pathJoin(this.projectRoot, 'config.xml'); @@ -375,6 +385,31 @@ export class CordovaBuilder { }); } + configureAndCopyResourceFiles(resourceFiles, iosElement, androidElement) { + _.each(resourceFiles, resourceFile => { + // Copy file in cordova project root directory + var filename = path.parse(resourceFile.src).base; + files.copyFile( + files.pathResolve(this.projectContext.projectDir, resourceFile.src), + files.pathJoin(this.projectRoot, filename)); + // And entry in config.xml + if (!resourceFile.platform || + (resourceFile.platform && resourceFile.platform === "android")) { + androidElement.element('resource-file', { + src: resourceFile.src, + target: resourceFile.target + }); + } + if (!resourceFile.platform || + (resourceFile.platform && resourceFile.platform === "ios")) { + iosElement.element('resource-file', { + src: resourceFile.src, + target: resourceFile.target + }); + } + }); + } + copyWWW(bundlePath) { const wwwPath = files.pathJoin(this.projectRoot, 'www'); @@ -680,11 +715,27 @@ configuration. The key may be deprecated.`); * * `App.appendToConfig('');` * - * @param {String} element The XML you want to include + * @param {String} element The XML you want to include * @memberOf App */ appendToConfig: function (xml) { builder.custom.push(xml); }, + + /** + * @summary Add a resource file for your build as described in the + * [Cordova documentation](http://cordova.apache.org/docs/en/7.x/config_ref/index.html#resource-file). + * @param {String} src The project resource path. + * @param {String} target Resource destination in build. + * @param {String} [platform] Optional. A platform name (either `ios` or `android`, both if ommited) to add a resource-file entry. + * @memberOf App + */ + addResourceFile: function (src, target, platform) { + builder.resourceFiles.push({ + src: src, + target: target, + platform: platform + }); + } }; } From b6a385dfb2bc1e565bb5c0f5ddf6cdc5796a95df Mon Sep 17 00:00:00 2001 From: Carl Littke Date: Fri, 27 Apr 2018 14:10:40 +0200 Subject: [PATCH 0799/1355] Stop logging value of METEOR_SETTINGS when it is not valid JSON. (#9843) In many production systems logs from the application will be forwarded to various logging systems, sometimes third party ones. All credentials in your settings will be leaked if you have any errors in your json. Feature request can be found here https://github.com/meteor/meteor-feature-requests/issues/293. --- packages/meteor/server_environment.js | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/packages/meteor/server_environment.js b/packages/meteor/server_environment.js index 362e3595a9..5832fce170 100644 --- a/packages/meteor/server_environment.js +++ b/packages/meteor/server_environment.js @@ -21,7 +21,7 @@ if (process.env.METEOR_SETTINGS) { try { Meteor.settings = JSON.parse(process.env.METEOR_SETTINGS); } catch (e) { - throw new Error("METEOR_SETTINGS are not valid JSON: " + process.env.METEOR_SETTINGS); + throw new Error("METEOR_SETTINGS are not valid JSON."); } } From 04a0a2a97f5016d3ff8e92831c2a393c5a1be608 Mon Sep 17 00:00:00 2001 From: Kevin Newman Date: Wed, 28 Mar 2018 15:54:57 -0400 Subject: [PATCH 0800/1355] Use isModern checks to decide which arch assets to put in the app.manifest, and add filter for web.browser.legacy in isDynamic check --- packages/appcache/appcache-server.js | 24 +++++++++++++++--------- 1 file changed, 15 insertions(+), 9 deletions(-) diff --git a/packages/appcache/appcache-server.js b/packages/appcache/appcache-server.js index 13596e39a4..68f00f39cc 100644 --- a/packages/appcache/appcache-server.js +++ b/packages/appcache/appcache-server.js @@ -1,4 +1,5 @@ import { Meteor } from 'meteor/meteor' +import { isModern } from "meteor/modern-browsers"; import crypto from 'crypto'; import fs from 'fs'; import path from 'path'; @@ -40,9 +41,9 @@ const browserDisabled = request => disabledBrowsers[request.browser.name]; const isDynamic = resource => resource.type === 'dynamic js' || (resource.type === 'json' && - // TODO Update this test with PR #9439. - resource.url.startsWith('/dynamic/') && - resource.url.endsWith('.map')); + resource.url.endsWith('.map') && + (resource.url.startsWith('/dynamic/') || + resource.url.startsWith('/__browser.legacy/dynamic/'))); WebApp.addHtmlAttributeHook(request => browserDisabled(request) ? @@ -55,6 +56,8 @@ WebApp.connectHandlers.use((req, res, next) => { return next(); } + const request = WebApp.categorizeRequest(req); + // Browsers will get confused if we unconditionally serve the // manifest and then disable the app cache for that browser. If // the app cache had previously been enabled for a browser, it @@ -65,7 +68,7 @@ WebApp.connectHandlers.use((req, res, next) => { // use"). Returning a 404 gets the browser to really turn off the // app cache. - if (browserDisabled(WebApp.categorizeRequest(req))) { + if (browserDisabled(request)) { res.writeHead(404); res.end(); return; @@ -99,7 +102,8 @@ WebApp.connectHandlers.use((req, res, next) => { manifest += "CACHE:\n"; manifest += "/\n"; - WebApp.clientPrograms[WebApp.defaultArch].manifest.forEach(resource => { + const reqArch = isModern(request.browser) ? 'web.browser' : 'web.browser.legacy'; + WebApp.clientPrograms[reqArch].manifest.forEach(resource => { if (resource.where === 'client' && ! RoutePolicy.classify(resource.url) && ! isDynamic(resource)) { @@ -129,7 +133,7 @@ WebApp.connectHandlers.use((req, res, next) => { // request to the server and have the asset served from cache by // specifying the full URL with hash in their code (manually, with // some sort of URL rewriting helper) - WebApp.clientPrograms[WebApp.defaultArch].manifest.forEach(resource => { + WebApp.clientPrograms[reqArch].manifest.forEach(resource => { if (resource.where === 'client' && ! RoutePolicy.classify(resource.url) && ! resource.cacheable && @@ -158,9 +162,11 @@ WebApp.connectHandlers.use((req, res, next) => { return res.end(body); }); -const sizeCheck = () => { +const sizeCheck = () => WebApp.connectHandlers.use((req, res, next) => { let totalSize = 0; - WebApp.clientPrograms[WebApp.defaultArch].manifest.forEach(resource => { + const request = WebApp.categorizeRequest(req); + const reqArch = isModern(request.browser) ? 'web.browser' : 'web.browser.legacy'; + WebApp.clientPrograms[reqArch].manifest.forEach(resource => { if (resource.where === 'client' && ! RoutePolicy.classify(resource.url) && ! isDynamic(resource)) { @@ -178,7 +184,7 @@ const sizeCheck = () => { "** for more information and fixes.\n" ); } -}; +}); // Run the size check after user code has had a chance to run. That way, // the size check can take into account files that the user does not From 7f2a683e2ca14c3998e8e22c58110aed9b30fdc1 Mon Sep 17 00:00:00 2001 From: Kevin Newman Date: Wed, 28 Mar 2018 16:34:46 -0400 Subject: [PATCH 0801/1355] Always omit .map files from app.manifest --- packages/appcache/appcache-server.js | 12 +++++------- 1 file changed, 5 insertions(+), 7 deletions(-) diff --git a/packages/appcache/appcache-server.js b/packages/appcache/appcache-server.js index 68f00f39cc..10ca1ce280 100644 --- a/packages/appcache/appcache-server.js +++ b/packages/appcache/appcache-server.js @@ -38,12 +38,10 @@ Meteor.AppCache = { const browserDisabled = request => disabledBrowsers[request.browser.name]; -const isDynamic = resource => +const isDynamicOrMap = resource => resource.type === 'dynamic js' || (resource.type === 'json' && - resource.url.endsWith('.map') && - (resource.url.startsWith('/dynamic/') || - resource.url.startsWith('/__browser.legacy/dynamic/'))); + resource.url.endsWith('.map')); WebApp.addHtmlAttributeHook(request => browserDisabled(request) ? @@ -106,7 +104,7 @@ WebApp.connectHandlers.use((req, res, next) => { WebApp.clientPrograms[reqArch].manifest.forEach(resource => { if (resource.where === 'client' && ! RoutePolicy.classify(resource.url) && - ! isDynamic(resource)) { + ! isDynamicOrMap(resource)) { manifest += resource.url; // If the resource is not already cacheable (has a query // parameter, presumably with a hash or version of some sort), @@ -137,7 +135,7 @@ WebApp.connectHandlers.use((req, res, next) => { if (resource.where === 'client' && ! RoutePolicy.classify(resource.url) && ! resource.cacheable && - ! isDynamic(resource)) { + ! isDynamicOrMap(resource)) { manifest += `${resource.url} ${resource.url}?${resource.hash}\n`; } }); @@ -169,7 +167,7 @@ const sizeCheck = () => WebApp.connectHandlers.use((req, res, next) => { WebApp.clientPrograms[reqArch].manifest.forEach(resource => { if (resource.where === 'client' && ! RoutePolicy.classify(resource.url) && - ! isDynamic(resource)) { + ! isDynamicOrMap(resource)) { totalSize += resource.size; } }); From 154533af26bfac05d6a86649398ebaa6b054900d Mon Sep 17 00:00:00 2001 From: Kevin Newman Date: Wed, 28 Mar 2018 18:35:28 -0400 Subject: [PATCH 0802/1355] Rewrite /public urls to remove /__browser.legacy/ prefix in app.manifest (also skip stats.json) --- packages/appcache/appcache-server.js | 40 +++++++++++++++++++++------- 1 file changed, 31 insertions(+), 9 deletions(-) diff --git a/packages/appcache/appcache-server.js b/packages/appcache/appcache-server.js index 10ca1ce280..12ea5d3d83 100644 --- a/packages/appcache/appcache-server.js +++ b/packages/appcache/appcache-server.js @@ -38,10 +38,27 @@ Meteor.AppCache = { const browserDisabled = request => disabledBrowsers[request.browser.name]; -const isDynamicOrMap = resource => +const shouldSkip = resource => resource.type === 'dynamic js' || (resource.type === 'json' && - resource.url.endsWith('.map')); + (resource.url.endsWith('.map') || + resource.url.endsWith('.stats.json?meteor_js_resource=true'))); + +const maybeRewriteUrl = resource => { + // If the asset comes from the public directory, and we are building + // a web.browser.legacy manifest, then we need to do a little url rewriting. + // This also fixes some other urls, such as /webapp-manifest.json + const legacyPrefix = '/__browser.legacy/'; + if (resource.where === 'client' && + resource.type === 'asset' && + resource.url.startsWith(legacyPrefix)) { + const url = resource.url.substr(legacyPrefix.length); + if ('app/' + url === resource.path) { + return '/' + url; + } + } + return resource.url; +}; WebApp.addHtmlAttributeHook(request => browserDisabled(request) ? @@ -102,10 +119,13 @@ WebApp.connectHandlers.use((req, res, next) => { manifest += "/\n"; const reqArch = isModern(request.browser) ? 'web.browser' : 'web.browser.legacy'; WebApp.clientPrograms[reqArch].manifest.forEach(resource => { + // some public URLs have to be rewritten before RoutePolicy.classify is called + const url = maybeRewriteUrl(resource); if (resource.where === 'client' && - ! RoutePolicy.classify(resource.url) && - ! isDynamicOrMap(resource)) { - manifest += resource.url; + ! RoutePolicy.classify(url) && + ! shouldSkip(resource)) { + manifest += url; + // If the resource is not already cacheable (has a query // parameter, presumably with a hash or version of some sort), // put a version with a hash in the cache. @@ -132,11 +152,13 @@ WebApp.connectHandlers.use((req, res, next) => { // specifying the full URL with hash in their code (manually, with // some sort of URL rewriting helper) WebApp.clientPrograms[reqArch].manifest.forEach(resource => { + // some public URLs have to be rewritten before RoutePolicy.classify is called + const url = maybeRewriteUrl(resource) if (resource.where === 'client' && - ! RoutePolicy.classify(resource.url) && + ! RoutePolicy.classify(url) && ! resource.cacheable && - ! isDynamicOrMap(resource)) { - manifest += `${resource.url} ${resource.url}?${resource.hash}\n`; + ! shouldSkip(resource)) { + manifest += `${url} ${url}?${resource.hash}\n`; } }); @@ -167,7 +189,7 @@ const sizeCheck = () => WebApp.connectHandlers.use((req, res, next) => { WebApp.clientPrograms[reqArch].manifest.forEach(resource => { if (resource.where === 'client' && ! RoutePolicy.classify(resource.url) && - ! isDynamicOrMap(resource)) { + ! shouldSkip(resource)) { totalSize += resource.size; } }); From 06f9f78277f8cf0ebe217eccd5e54e163fbc8fdf Mon Sep 17 00:00:00 2001 From: Kevin Newman Date: Tue, 3 Apr 2018 01:11:10 -0400 Subject: [PATCH 0803/1355] Avoid the need to rewrite URLs in appcache, by avoiding adding the prefix at build time for assets --- packages/appcache/appcache-server.js | 22 ++-------------------- tools/isobuild/bundler.js | 15 +++++++++++---- 2 files changed, 13 insertions(+), 24 deletions(-) diff --git a/packages/appcache/appcache-server.js b/packages/appcache/appcache-server.js index 12ea5d3d83..0de206577e 100644 --- a/packages/appcache/appcache-server.js +++ b/packages/appcache/appcache-server.js @@ -44,22 +44,6 @@ const shouldSkip = resource => (resource.url.endsWith('.map') || resource.url.endsWith('.stats.json?meteor_js_resource=true'))); -const maybeRewriteUrl = resource => { - // If the asset comes from the public directory, and we are building - // a web.browser.legacy manifest, then we need to do a little url rewriting. - // This also fixes some other urls, such as /webapp-manifest.json - const legacyPrefix = '/__browser.legacy/'; - if (resource.where === 'client' && - resource.type === 'asset' && - resource.url.startsWith(legacyPrefix)) { - const url = resource.url.substr(legacyPrefix.length); - if ('app/' + url === resource.path) { - return '/' + url; - } - } - return resource.url; -}; - WebApp.addHtmlAttributeHook(request => browserDisabled(request) ? null : @@ -119,8 +103,7 @@ WebApp.connectHandlers.use((req, res, next) => { manifest += "/\n"; const reqArch = isModern(request.browser) ? 'web.browser' : 'web.browser.legacy'; WebApp.clientPrograms[reqArch].manifest.forEach(resource => { - // some public URLs have to be rewritten before RoutePolicy.classify is called - const url = maybeRewriteUrl(resource); + const {url} = resource if (resource.where === 'client' && ! RoutePolicy.classify(url) && ! shouldSkip(resource)) { @@ -152,8 +135,7 @@ WebApp.connectHandlers.use((req, res, next) => { // specifying the full URL with hash in their code (manually, with // some sort of URL rewriting helper) WebApp.clientPrograms[reqArch].manifest.forEach(resource => { - // some public URLs have to be rewritten before RoutePolicy.classify is called - const url = maybeRewriteUrl(resource) + const {url} = resource if (resource.where === 'client' && ! RoutePolicy.classify(url) && ! resource.cacheable && diff --git a/tools/isobuild/bundler.js b/tools/isobuild/bundler.js index 73e48d9771..2757591e23 100644 --- a/tools/isobuild/bundler.js +++ b/tools/isobuild/bundler.js @@ -690,8 +690,11 @@ class File { // Given a relative path like 'a/b/c' (where '/' is this system's // path component separator), produce a URL that always starts with // a forward slash and that uses a literal forward slash as the - // component separator. - setUrlFromRelPath(relPath) { + // component separator. Also optionally add browser.legacy prefix. + // NOTE Files which come from /public must not contain legacy prefixes + // since users expect a fixed URL. These must match what the user + // uses for packages like Cordova and appcache to work properly. + setUrlFromRelPath(relPath, usePrefix = true) { var url = relPath; if (url.charAt(0) !== '/') { @@ -701,7 +704,11 @@ class File { // XXX replacing colons with underscores as colon is hard to escape later // on different targets and generally is not a good separator for web. url = colonConverter.convert(url); - this.url = this.urlPrefix + url; + if (usePrefix) { + this.url = this.urlPrefix + url; + } else { + this.url = url; + } } setTargetPathFromRelPath(relPath) { @@ -1115,7 +1122,7 @@ class Target { f.setTargetPathFromRelPath(relPath); if (isWeb) { - f.setUrlFromRelPath(resource.servePath); + f.setUrlFromRelPath(resource.servePath, false); } else { unibuildAssets[resource.path] = resource.data; } From b50a52ecf525ab861be648562c952a2f45b6a1e0 Mon Sep 17 00:00:00 2001 From: Ben Newman Date: Fri, 27 Apr 2018 12:07:05 -0400 Subject: [PATCH 0804/1355] Tolerate assets added with same path to both modern and legacy architectures. Since legacy assets are no longer disambiguated from modern assets with a /__browser.legacy/ URL prefix (#9776), we need a principled way to handle collisions in the staticFiles registry. --- packages/webapp/webapp_server.js | 28 +++++++++++++++++++++------- 1 file changed, 21 insertions(+), 7 deletions(-) diff --git a/packages/webapp/webapp_server.js b/packages/webapp/webapp_server.js index ae58b1d60f..b8a514ec68 100644 --- a/packages/webapp/webapp_server.js +++ b/packages/webapp/webapp_server.js @@ -27,6 +27,8 @@ var LONG_SOCKET_TIMEOUT = 120*1000; export const WebApp = {}; export const WebAppInternals = {}; +const hasOwn = Object.prototype.hasOwnProperty; + // backwards compat to 2.0 of connect connect.basicAuth = basicAuth; @@ -489,8 +491,20 @@ function runWebAppServer() { WebAppInternals.reloadClientPrograms = function () { syncQueue.runTask(function() { - staticFiles = {}; + staticFiles = Object.create(null); + var generateClientProgram = function (clientPath, arch) { + function addStaticFile(path, item) { + // If there are duplicate static file paths, always let the + // web.browser item win, and otherwise avoid overwriting the + // first instance of the item (which typically will be the + // web.browser item, but let's not take any risks). + if (arch === "web.browser" || + ! hasOwn.call(staticFiles, path)) { + staticFiles[path] = item; + } + } + // read the control for the client we'll be serving up var clientJsonPath = pathJoin(__meteor_bootstrap__.serverDir, clientPath); @@ -506,22 +520,22 @@ function runWebAppServer() { var manifest = clientJson.manifest; _.each(manifest, function (item) { if (item.url && item.where === "client") { - staticFiles[getItemPathname(item.url)] = { + addStaticFile(getItemPathname(item.url), { absolutePath: pathJoin(clientDir, item.path), cacheable: item.cacheable, hash: item.hash, // Link from source to its map sourceMapUrl: item.sourceMapUrl, type: item.type - }; + }); if (item.sourceMap) { // Serve the source map too, under the specified URL. We assume all // source maps are cacheable. - staticFiles[getItemPathname(item.sourceMapUrl)] = { + addStaticFile(getItemPathname(item.sourceMapUrl), { absolutePath: pathJoin(clientDir, item.sourceMap), cacheable: true - }; + }); } } }); @@ -547,12 +561,12 @@ function runWebAppServer() { const manifestUrl = manifestUrlPrefix + getItemPathname("/manifest.json"); - staticFiles[manifestUrl] = { + addStaticFile(manifestUrl, { content: JSON.stringify(program), cacheable: false, hash: program.version, type: "json" - }; + }); }; try { From 74a55ff107d643db59a2ce4a0bb0285c762cc2d2 Mon Sep 17 00:00:00 2001 From: Ben Newman Date: Fri, 27 Apr 2018 12:40:59 -0400 Subject: [PATCH 0805/1355] Fix addAsset tests now that /__browser.legacy/ prefix no longer used. --- tools/tests/compiler-plugins.js | 7 +++++-- 1 file changed, 5 insertions(+), 2 deletions(-) diff --git a/tools/tests/compiler-plugins.js b/tools/tests/compiler-plugins.js index d4a8928b24..d95dc2caf8 100644 --- a/tools/tests/compiler-plugins.js +++ b/tools/tests/compiler-plugins.js @@ -422,7 +422,10 @@ function checkModernAndLegacyUrls(path, test) { path = "/" + path; } test(getUrl("http://localhost:3000" + path)); - test(getUrl("http://localhost:3000/__browser.legacy" + path)); + // Asset URLs are no longer prefixed with /__browser.legacy because the + // developer has full control over the path where an asset is served, so + // there's not much value in serving a legacy version of every asset. + // test(getUrl("http://localhost:3000/__browser.legacy" + path)); } // Test that compiler plugins can add static assets. Also tests `filenames` @@ -449,7 +452,7 @@ selftest.define("compiler plugins - compiler addAsset", () => { // Test that a package can have a single file that is both source code and an // asset -selftest.skip.define("compiler plugins - addAssets", () => { +selftest.define("compiler plugins - addAssets", () => { const s = new Sandbox({ fakeMongo: true }); s.createApp('myapp', 'compiler-plugin-asset-and-source'); From cf33eeedbc8a3bcda4115f51032d3f6713336101 Mon Sep 17 00:00:00 2001 From: Ben Newman Date: Fri, 27 Apr 2018 13:07:37 -0400 Subject: [PATCH 0806/1355] Decompose eachResource helper function in appcache-server.js. --- packages/appcache/appcache-server.js | 29 ++++++++++++++++++++-------- 1 file changed, 21 insertions(+), 8 deletions(-) diff --git a/packages/appcache/appcache-server.js b/packages/appcache/appcache-server.js index 0de206577e..afdab9c3e5 100644 --- a/packages/appcache/appcache-server.js +++ b/packages/appcache/appcache-server.js @@ -1,5 +1,6 @@ import { Meteor } from 'meteor/meteor' import { isModern } from "meteor/modern-browsers"; +import { WebApp } from "meteor/webapp"; import crypto from 'crypto'; import fs from 'fs'; import path from 'path'; @@ -101,9 +102,10 @@ WebApp.connectHandlers.use((req, res, next) => { manifest += "CACHE:\n"; manifest += "/\n"; - const reqArch = isModern(request.browser) ? 'web.browser' : 'web.browser.legacy'; - WebApp.clientPrograms[reqArch].manifest.forEach(resource => { - const {url} = resource + + eachResource(request, resource => { + const { url } = resource; + if (resource.where === 'client' && ! RoutePolicy.classify(url) && ! shouldSkip(resource)) { @@ -134,8 +136,8 @@ WebApp.connectHandlers.use((req, res, next) => { // request to the server and have the asset served from cache by // specifying the full URL with hash in their code (manually, with // some sort of URL rewriting helper) - WebApp.clientPrograms[reqArch].manifest.forEach(resource => { - const {url} = resource + eachResource(request, resource => { + const { url } = resource; if (resource.where === 'client' && ! RoutePolicy.classify(url) && ! resource.cacheable && @@ -164,17 +166,28 @@ WebApp.connectHandlers.use((req, res, next) => { return res.end(body); }); +function eachResource(request, callback) { + const browser = request.browser || + WebApp.categorizeRequest(request).browser; + + const arch = isModern(browser) + ? "web.browser" + : "web.browser.legacy"; + + WebApp.clientPrograms[arch].manifest.forEach(callback); +} + const sizeCheck = () => WebApp.connectHandlers.use((req, res, next) => { let totalSize = 0; - const request = WebApp.categorizeRequest(req); - const reqArch = isModern(request.browser) ? 'web.browser' : 'web.browser.legacy'; - WebApp.clientPrograms[reqArch].manifest.forEach(resource => { + + eachResource(req, resource => { if (resource.where === 'client' && ! RoutePolicy.classify(resource.url) && ! shouldSkip(resource)) { totalSize += resource.size; } }); + if (totalSize > 5 * 1024 * 1024) { Meteor._debug( "** You are using the appcache package but the total size of the\n" + From a599aa738d78e22034a91ca93592cea2a722e393 Mon Sep 17 00:00:00 2001 From: Ben Newman Date: Fri, 27 Apr 2018 13:24:06 -0400 Subject: [PATCH 0807/1355] Avoid using WebApp.connectHandlers for appcache sizeCheck. The (req, res, next) handler was not calling next(), which caused some tests where appcache was used (e.g. hot code push) to time out. --- packages/appcache/appcache-server.js | 46 +++++++++++++++------------- 1 file changed, 25 insertions(+), 21 deletions(-) diff --git a/packages/appcache/appcache-server.js b/packages/appcache/appcache-server.js index afdab9c3e5..d5957b99d0 100644 --- a/packages/appcache/appcache-server.js +++ b/packages/appcache/appcache-server.js @@ -177,33 +177,37 @@ function eachResource(request, callback) { WebApp.clientPrograms[arch].manifest.forEach(callback); } -const sizeCheck = () => WebApp.connectHandlers.use((req, res, next) => { - let totalSize = 0; +function sizeCheck() { + [ // Check size of each known architecture independently. + "web.browser", + "web.browser.legacy", + ].forEach(arch => { + let totalSize = 0; - eachResource(req, resource => { - if (resource.where === 'client' && - ! RoutePolicy.classify(resource.url) && - ! shouldSkip(resource)) { - totalSize += resource.size; + WebApp.clientPrograms[arch].manifest.forEach(resource => { + if (resource.where === 'client' && + ! RoutePolicy.classify(resource.url) && + ! shouldSkip(resource)) { + totalSize += resource.size; + } + }); + + if (totalSize > 5 * 1024 * 1024) { + Meteor._debug([ + "** You are using the appcache package but the total size of the", + `** cached resources is ${(totalSize / 1024 / 1024).toFixed(1)}MB.`, + "**", + "** This is over the recommended maximum of 5MB and may break your", + "** app in some browsers! See http://docs.meteor.com/#appcache", + "** for more information and fixes." + ].join("\n")); } }); - - if (totalSize > 5 * 1024 * 1024) { - Meteor._debug( - "** You are using the appcache package but the total size of the\n" + - "** cached resources is " + - `${(totalSize / 1024 / 1024).toFixed(1)}MB.\n` + - "**\n" + - "** This is over the recommended maximum of 5 MB and may break your\n" + - "** app in some browsers! See http://docs.meteor.com/#appcache\n" + - "** for more information and fixes.\n" - ); - } -}); +} // Run the size check after user code has had a chance to run. That way, // the size check can take into account files that the user does not // want cached. Otherwise, the size check warning will still print even // if the user excludes their large files with // `Meteor.AppCache.config({onlineOnly: files})`. -Meteor.startup(() => ! _disableSizeCheck ? sizeCheck() : null); +Meteor.startup(() => _disableSizeCheck || sizeCheck()); From cd165c50e6d8989b071364b742c98dcdf2c6f181 Mon Sep 17 00:00:00 2001 From: Ben Newman Date: Fri, 27 Apr 2018 13:25:18 -0400 Subject: [PATCH 0808/1355] Bump appcache package version to 1.2.0. --- packages/appcache/package.js | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/packages/appcache/package.js b/packages/appcache/package.js index 8874cc2fe3..17aaa0cdd3 100644 --- a/packages/appcache/package.js +++ b/packages/appcache/package.js @@ -1,6 +1,6 @@ Package.describe({ summary: "Enable the application cache in the browser", - version: "1.1.2", + version: "1.2.0", }); Package.onUse(api => { From 11078e46b24cd5ad8814910b4e3d804507c2f0fd Mon Sep 17 00:00:00 2001 From: Ben Newman Date: Fri, 27 Apr 2018 13:41:35 -0400 Subject: [PATCH 0809/1355] Bump package versions for 1.7-beta.26 release. --- packages/appcache/package.js | 2 +- packages/babel-compiler/package.js | 2 +- packages/boilerplate-generator-tests/package.js | 2 +- packages/boilerplate-generator/package.js | 2 +- packages/dynamic-import/package.js | 2 +- packages/ecmascript-runtime-client/package.js | 2 +- packages/ecmascript-runtime-server/package.js | 2 +- packages/ecmascript-runtime/package.js | 2 +- packages/ecmascript/package.js | 2 +- packages/es5-shim/package.js | 2 +- packages/meteor-base/package.js | 2 +- packages/meteor-tool/package.js | 2 +- packages/meteor/package.js | 2 +- packages/modern-browsers/package.js | 2 +- packages/modules-runtime/package.js | 2 +- packages/mongo/package.js | 2 +- packages/npm-mongo/package.js | 2 +- packages/promise/package.js | 2 +- packages/socket-stream-client/package.js | 2 +- packages/tracker/package.js | 2 +- packages/webapp/package.js | 2 +- scripts/admin/meteor-release-experimental.json | 2 +- 22 files changed, 22 insertions(+), 22 deletions(-) diff --git a/packages/appcache/package.js b/packages/appcache/package.js index 17aaa0cdd3..a2407eb6f3 100644 --- a/packages/appcache/package.js +++ b/packages/appcache/package.js @@ -1,6 +1,6 @@ Package.describe({ summary: "Enable the application cache in the browser", - version: "1.2.0", + version: "1.2.0-beta17.26", }); Package.onUse(api => { diff --git a/packages/babel-compiler/package.js b/packages/babel-compiler/package.js index eabc9239ed..00a153c4e9 100644 --- a/packages/babel-compiler/package.js +++ b/packages/babel-compiler/package.js @@ -6,7 +6,7 @@ Package.describe({ // isn't possible because you can't publish a non-recommended // release with package versions that don't have a pre-release // identifier at the end (eg, -dev) - version: '7.1.0-beta17.25' + version: '7.1.0-beta17.26' }); Npm.depends({ diff --git a/packages/boilerplate-generator-tests/package.js b/packages/boilerplate-generator-tests/package.js index 35304e0d46..2cc7c32384 100644 --- a/packages/boilerplate-generator-tests/package.js +++ b/packages/boilerplate-generator-tests/package.js @@ -2,7 +2,7 @@ Package.describe({ // These tests are in a separate package so that we can Npm.depend on // parse5, a html parsing library. summary: "Tests for the boilerplate-generator package", - version: '1.5.0-beta17.25', + version: '1.5.0-beta17.26', documentation: null }); diff --git a/packages/boilerplate-generator/package.js b/packages/boilerplate-generator/package.js index da4393c5d0..77ab8ef93a 100644 --- a/packages/boilerplate-generator/package.js +++ b/packages/boilerplate-generator/package.js @@ -1,6 +1,6 @@ Package.describe({ summary: "Generates the boilerplate html from program's manifest", - version: '1.5.0-beta17.25' + version: '1.5.0-beta17.26' }); Npm.depends({ diff --git a/packages/dynamic-import/package.js b/packages/dynamic-import/package.js index 9dce6932b2..b9c9270d04 100644 --- a/packages/dynamic-import/package.js +++ b/packages/dynamic-import/package.js @@ -1,6 +1,6 @@ Package.describe({ name: "dynamic-import", - version: "0.4.0-beta17.25", + version: "0.4.0-beta17.26", summary: "Runtime support for Meteor 1.5 dynamic import(...) syntax", documentation: "README.md" }); diff --git a/packages/ecmascript-runtime-client/package.js b/packages/ecmascript-runtime-client/package.js index 82f2700e68..5a725642de 100644 --- a/packages/ecmascript-runtime-client/package.js +++ b/packages/ecmascript-runtime-client/package.js @@ -1,6 +1,6 @@ Package.describe({ name: "ecmascript-runtime-client", - version: "0.7.0-beta17.25", + version: "0.7.0-beta17.26", summary: "Polyfills for new ECMAScript 2015 APIs like Map and Set", git: "https://github.com/meteor/meteor/tree/devel/packages/ecmascript-runtime-client", documentation: "README.md" diff --git a/packages/ecmascript-runtime-server/package.js b/packages/ecmascript-runtime-server/package.js index a70858d5c4..0a708b51f9 100644 --- a/packages/ecmascript-runtime-server/package.js +++ b/packages/ecmascript-runtime-server/package.js @@ -1,6 +1,6 @@ Package.describe({ name: "ecmascript-runtime-server", - version: "0.7.0-beta17.25", + version: "0.7.0-beta17.26", summary: "Polyfills for new ECMAScript 2015 APIs like Map and Set", git: "https://github.com/meteor/meteor/tree/devel/packages/ecmascript-runtime-client", documentation: "README.md" diff --git a/packages/ecmascript-runtime/package.js b/packages/ecmascript-runtime/package.js index 9e4d66f251..3682e11c2d 100644 --- a/packages/ecmascript-runtime/package.js +++ b/packages/ecmascript-runtime/package.js @@ -1,6 +1,6 @@ Package.describe({ name: "ecmascript-runtime", - version: "0.7.0-beta17.25", + version: "0.7.0-beta17.26", summary: "Polyfills for new ECMAScript 2015 APIs like Map and Set", git: "https://github.com/meteor/ecmascript-runtime", documentation: "README.md" diff --git a/packages/ecmascript/package.js b/packages/ecmascript/package.js index 2ea7d6d870..1dbf779cb5 100644 --- a/packages/ecmascript/package.js +++ b/packages/ecmascript/package.js @@ -1,6 +1,6 @@ Package.describe({ name: 'ecmascript', - version: '0.11.0-beta17.25', + version: '0.11.0-beta17.26', summary: 'Compiler plugin that supports ES2015+ in all .js files', documentation: 'README.md' }); diff --git a/packages/es5-shim/package.js b/packages/es5-shim/package.js index 8677a4d082..132903238d 100644 --- a/packages/es5-shim/package.js +++ b/packages/es5-shim/package.js @@ -1,6 +1,6 @@ Package.describe({ name: "es5-shim", - version: "4.8.0-beta17.25", + version: "4.8.0-beta17.26", summary: "Shims and polyfills to improve ECMAScript 5 support", documentation: "README.md" }); diff --git a/packages/meteor-base/package.js b/packages/meteor-base/package.js index cd9c539f20..777371d1d0 100644 --- a/packages/meteor-base/package.js +++ b/packages/meteor-base/package.js @@ -1,6 +1,6 @@ Package.describe({ name: 'meteor-base', - version: '1.4.0-beta17.25', + version: '1.4.0-beta17.26', // Brief, one-line summary of the package. summary: 'Packages that every Meteor app needs', // By default, Meteor will default to using README.md for documentation. diff --git a/packages/meteor-tool/package.js b/packages/meteor-tool/package.js index 47412c86f4..efd8598dbe 100644 --- a/packages/meteor-tool/package.js +++ b/packages/meteor-tool/package.js @@ -1,6 +1,6 @@ Package.describe({ summary: "The Meteor command-line tool", - version: '1.7.0-beta.25' + version: '1.7.0-beta.26' }); Package.includeTool(); diff --git a/packages/meteor/package.js b/packages/meteor/package.js index b438a4a0c9..b2c113c216 100644 --- a/packages/meteor/package.js +++ b/packages/meteor/package.js @@ -2,7 +2,7 @@ Package.describe({ summary: "Core Meteor environment", - version: '1.9.0-beta17.25' + version: '1.9.0-beta17.26' }); Package.registerBuildPlugin({ diff --git a/packages/modern-browsers/package.js b/packages/modern-browsers/package.js index 57814d78ff..1e4ef310bc 100644 --- a/packages/modern-browsers/package.js +++ b/packages/modern-browsers/package.js @@ -1,6 +1,6 @@ Package.describe({ name: "modern-browsers", - version: "0.1.0-beta17.25", + version: "0.1.0-beta17.26", summary: "API for defining the boundary between modern and legacy " + "JavaScript clients", documentation: "README.md" diff --git a/packages/modules-runtime/package.js b/packages/modules-runtime/package.js index bbd9674c24..c6ecd3cdfb 100644 --- a/packages/modules-runtime/package.js +++ b/packages/modules-runtime/package.js @@ -1,6 +1,6 @@ Package.describe({ name: "modules-runtime", - version: "0.10.0-beta17.25", + version: "0.10.0-beta17.26", summary: "CommonJS module system", git: "https://github.com/benjamn/install", documentation: "README.md" diff --git a/packages/mongo/package.js b/packages/mongo/package.js index d8e69acf9f..936b209a65 100644 --- a/packages/mongo/package.js +++ b/packages/mongo/package.js @@ -9,7 +9,7 @@ Package.describe({ summary: "Adaptor for using MongoDB and Minimongo over DDP", - version: '1.5.0-beta17.25' + version: '1.5.0-beta17.26' }); Npm.depends({ diff --git a/packages/npm-mongo/package.js b/packages/npm-mongo/package.js index 70b9a29138..5e1312a91b 100644 --- a/packages/npm-mongo/package.js +++ b/packages/npm-mongo/package.js @@ -3,7 +3,7 @@ Package.describe({ summary: "Wrapper around the mongo npm package", - version: "3.0.7-beta17.25", + version: "3.0.7-beta17.26", documentation: null }); diff --git a/packages/promise/package.js b/packages/promise/package.js index 55ae050756..48162f7979 100644 --- a/packages/promise/package.js +++ b/packages/promise/package.js @@ -1,6 +1,6 @@ Package.describe({ name: "promise", - version: "0.11.0-beta17.25", + version: "0.11.0-beta17.26", summary: "ECMAScript 2015 Promise polyfill with Fiber support", git: "https://github.com/meteor/promise", documentation: "README.md" diff --git a/packages/socket-stream-client/package.js b/packages/socket-stream-client/package.js index 7d3319e8a9..ae2b0ad071 100644 --- a/packages/socket-stream-client/package.js +++ b/packages/socket-stream-client/package.js @@ -1,6 +1,6 @@ Package.describe({ name: "socket-stream-client", - version: "0.2.0-beta17.25", + version: "0.2.0-beta17.26", summary: "Provides the ClientStream abstraction used by ddp-client", documentation: "README.md" }); diff --git a/packages/tracker/package.js b/packages/tracker/package.js index 4c6e81c67d..48a14d9053 100644 --- a/packages/tracker/package.js +++ b/packages/tracker/package.js @@ -1,6 +1,6 @@ Package.describe({ summary: "Dependency tracker to allow reactive callbacks", - version: "1.2.0-beta17.25" + version: "1.2.0-beta17.26" }); Package.onUse(function (api) { diff --git a/packages/webapp/package.js b/packages/webapp/package.js index 6913b82446..df7c758503 100644 --- a/packages/webapp/package.js +++ b/packages/webapp/package.js @@ -1,6 +1,6 @@ Package.describe({ summary: "Serves a Meteor app over HTTP", - version: '1.6.0-beta17.25' + version: '1.6.0-beta17.26' }); Npm.depends({"basic-auth-connect": "1.0.0", diff --git a/scripts/admin/meteor-release-experimental.json b/scripts/admin/meteor-release-experimental.json index e4bd9c29f8..ca3159d583 100644 --- a/scripts/admin/meteor-release-experimental.json +++ b/scripts/admin/meteor-release-experimental.json @@ -1,6 +1,6 @@ { "track": "METEOR", - "version": "1.7-beta.25", + "version": "1.7-beta.26", "recommended": false, "official": false, "description": "Meteor" From 61506c64e29e7c70352f46f9c8a6e423620a5b89 Mon Sep 17 00:00:00 2001 From: Ben Newman Date: Sat, 28 Apr 2018 10:10:47 -0400 Subject: [PATCH 0810/1355] Reinstate Deps as an alias for Tracker to fix #9830. --- packages/tracker/package.js | 1 + packages/tracker/tracker.js | 6 ++++++ 2 files changed, 7 insertions(+) diff --git a/packages/tracker/package.js b/packages/tracker/package.js index 90f29feec3..9475828977 100644 --- a/packages/tracker/package.js +++ b/packages/tracker/package.js @@ -7,6 +7,7 @@ Package.onUse(function (api) { api.use("ecmascript"); api.addFiles("tracker.js"); api.export("Tracker"); + api.export("Deps"); }); Package.onTest(function (api) { diff --git a/packages/tracker/tracker.js b/packages/tracker/tracker.js index 0b6e8078ad..cb39f51741 100644 --- a/packages/tracker/tracker.js +++ b/packages/tracker/tracker.js @@ -8,6 +8,12 @@ */ Tracker = {}; +/** + * @namespace Deps + * @deprecated + */ +Deps = Tracker; + // http://docs.meteor.com/#tracker_active /** From 229fc24aadff7b6c8e350e81f017397869fe9ee9 Mon Sep 17 00:00:00 2001 From: Ben Newman Date: Sat, 28 Apr 2018 11:20:13 -0400 Subject: [PATCH 0811/1355] Go back to prefixing asset URLs with /__{browser.legacy,cordova,...}. https://github.com/meteor/meteor/pull/9776#issuecomment-385180806 --- tools/isobuild/bundler.js | 13 +++---------- 1 file changed, 3 insertions(+), 10 deletions(-) diff --git a/tools/isobuild/bundler.js b/tools/isobuild/bundler.js index 2757591e23..9e9fee3eea 100644 --- a/tools/isobuild/bundler.js +++ b/tools/isobuild/bundler.js @@ -691,10 +691,7 @@ class File { // path component separator), produce a URL that always starts with // a forward slash and that uses a literal forward slash as the // component separator. Also optionally add browser.legacy prefix. - // NOTE Files which come from /public must not contain legacy prefixes - // since users expect a fixed URL. These must match what the user - // uses for packages like Cordova and appcache to work properly. - setUrlFromRelPath(relPath, usePrefix = true) { + setUrlFromRelPath(relPath) { var url = relPath; if (url.charAt(0) !== '/') { @@ -704,11 +701,7 @@ class File { // XXX replacing colons with underscores as colon is hard to escape later // on different targets and generally is not a good separator for web. url = colonConverter.convert(url); - if (usePrefix) { - this.url = this.urlPrefix + url; - } else { - this.url = url; - } + this.url = this.urlPrefix + url; } setTargetPathFromRelPath(relPath) { @@ -1122,7 +1115,7 @@ class Target { f.setTargetPathFromRelPath(relPath); if (isWeb) { - f.setUrlFromRelPath(resource.servePath, false); + f.setUrlFromRelPath(resource.servePath); } else { unibuildAssets[resource.path] = resource.data; } From 21ffb90154b5f674f47789d8337d83623ea11ebd Mon Sep 17 00:00:00 2001 From: Ben Newman Date: Sat, 28 Apr 2018 11:21:34 -0400 Subject: [PATCH 0812/1355] Pass arch and prefix to eachResource callback in appcache-server.js. --- packages/appcache/appcache-server.js | 20 ++++++++++++++++++-- 1 file changed, 18 insertions(+), 2 deletions(-) diff --git a/packages/appcache/appcache-server.js b/packages/appcache/appcache-server.js index d5957b99d0..483628446c 100644 --- a/packages/appcache/appcache-server.js +++ b/packages/appcache/appcache-server.js @@ -170,11 +170,27 @@ function eachResource(request, callback) { const browser = request.browser || WebApp.categorizeRequest(request).browser; - const arch = isModern(browser) + const modern = isModern(browser); + + const arch = modern ? "web.browser" : "web.browser.legacy"; - WebApp.clientPrograms[arch].manifest.forEach(callback); + const manifest = WebApp.clientPrograms[arch].manifest; + + let prefix = ""; + if (! modern) { + manifest.some(({ url }) => { + if (url && url.startsWith("/__")) { + prefix = url.split("/", 2).join("/"); + return true; + } + }); + } + + manifest.forEach(resource => { + callback(resource, arch, prefix); + }); } function sizeCheck() { From 7e883b337ffbb6035a6fe8605aac2d96e8acd4bc Mon Sep 17 00:00:00 2001 From: Ben Newman Date: Sat, 28 Apr 2018 11:22:49 -0400 Subject: [PATCH 0813/1355] Register app.manifest FALLBACK for non-prefixed asset URLs. This is an alternate solution to the problems #9776 was intended to fix. --- packages/appcache/appcache-server.js | 44 ++++++++++++++++++++-------- 1 file changed, 31 insertions(+), 13 deletions(-) diff --git a/packages/appcache/appcache-server.js b/packages/appcache/appcache-server.js index 483628446c..8983dd4337 100644 --- a/packages/appcache/appcache-server.js +++ b/packages/appcache/appcache-server.js @@ -128,22 +128,40 @@ WebApp.connectHandlers.use((req, res, next) => { manifest += "FALLBACK:\n"; manifest += "/ /\n"; - // Add a fallback entry for each uncacheable asset we added above. - // - // This means requests for the bare url ("/image.png" instead of - // "/image.png?hash") will work offline. Online, however, the browser - // will send a request to the server. Users can remove this extra - // request to the server and have the asset served from cache by - // specifying the full URL with hash in their code (manually, with - // some sort of URL rewriting helper) - eachResource(request, resource => { + eachResource(request, (resource, arch, prefix) => { const { url } = resource; - if (resource.where === 'client' && - ! RoutePolicy.classify(url) && - ! resource.cacheable && - ! shouldSkip(resource)) { + + if (resource.where !== 'client' || + RoutePolicy.classify(url) || + shouldSkip(resource)) { + return; + } + + if (! resource.cacheable) { + // Add a fallback entry for each uncacheable asset we added above. + // + // This means requests for the bare url ("/image.png" instead of + // "/image.png?hash") will work offline. Online, however, the + // browser will send a request to the server. Users can remove this + // extra request to the server and have the asset served from cache + // by specifying the full URL with hash in their code (manually, + // with some sort of URL rewriting helper) manifest += `${url} ${url}?${resource.hash}\n`; } + + if (resource.type === 'asset' && + prefix.length > 0 && + url.startsWith(prefix)) { + // If the URL has a prefix like /__browser.legacy or /__cordova, add + // a fallback from the un-prefixed URL to the fully prefixed URL, so + // that legacy/cordova browsers can load assets offline without + // using an explicit prefix. When the client is online, these assets + // will simply come from the modern web.browser bundle, which does + // not prefix its asset URLs. Using a fallback rather than just + // duplicating the resources in the manifest is important because of + // appcache size limits. + manifest += `${url.slice(prefix.length)} ${url}?${resource.hash}\n`; + } }); manifest += "\n"; From 72edda6b37cca8e6f112f7d6b06d1ce320c9eb91 Mon Sep 17 00:00:00 2001 From: Ben Newman Date: Sat, 28 Apr 2018 11:45:34 -0400 Subject: [PATCH 0814/1355] Cache previously computed app.manifest files. This is an easy optimization that we should have done a long time ago. --- packages/appcache/appcache-server.js | 105 ++++++++++++++++----------- 1 file changed, 64 insertions(+), 41 deletions(-) diff --git a/packages/appcache/appcache-server.js b/packages/appcache/appcache-server.js index 8983dd4337..f0b6957e71 100644 --- a/packages/appcache/appcache-server.js +++ b/packages/appcache/appcache-server.js @@ -39,6 +39,9 @@ Meteor.AppCache = { const browserDisabled = request => disabledBrowsers[request.browser.name]; +// Cache of previously computed app.manifest files. +const manifestCache = new Map; + const shouldSkip = resource => resource.type === 'dynamic js' || (resource.type === 'json' && @@ -74,6 +77,38 @@ WebApp.connectHandlers.use((req, res, next) => { return; } + const cacheInfo = { + modern: isModern(request.browser), + }; + + cacheInfo.arch = cacheInfo.modern + ? "web.browser" + : "web.browser.legacy"; + + cacheInfo.clientHash = WebApp.clientHash(cacheInfo.arch); + + if (Package.autoupdate) { + const version = Package.autoupdate.Autoupdate.autoupdateVersion; + if (version !== cacheInfo.clientHash) { + cacheInfo.autoupdateVersion = version; + } + } + + const cacheKey = JSON.stringify(cacheInfo); + + if (! manifestCache.has(cacheKey)) { + manifestCache.set(cacheKey, computeManifest(cacheInfo)); + } + + const manifest = manifestCache.get(cacheKey); + + res.setHeader('Content-Type', 'text/cache-manifest'); + res.setHeader('Content-Length', manifest.length); + + return res.end(manifest); +}); + +function computeManifest(cacheInfo) { let manifest = "CACHE MANIFEST\n\n"; // After the browser has downloaded the app files from the server and @@ -83,19 +118,15 @@ WebApp.connectHandlers.use((req, res, next) => { // // So to ensure that the client updates if client resources change, // include a hash of client resources in the manifest. - - manifest += `# ${WebApp.clientHash()}\n`; + manifest += `# ${cacheInfo.clientHash}\n`; // When using the autoupdate package, also include // AUTOUPDATE_VERSION. Otherwise the client will get into an // infinite loop of reloads when the browser doesn't fetch the new // app HTML which contains the new version, and autoupdate will // reload again trying to get the new code. - - if (Package.autoupdate) { - const version = Package.autoupdate.Autoupdate.autoupdateVersion; - if (version !== WebApp.clientHash()) - manifest += `# ${version}\n`; + if (cacheInfo.autoupdateVersion) { + manifest += `# ${cacheInfo.autoupdateVersion}\n`; } manifest += "\n"; @@ -103,32 +134,34 @@ WebApp.connectHandlers.use((req, res, next) => { manifest += "CACHE:\n"; manifest += "/\n"; - eachResource(request, resource => { + eachResource(cacheInfo, resource => { const { url } = resource; - if (resource.where === 'client' && - ! RoutePolicy.classify(url) && - ! shouldSkip(resource)) { - manifest += url; - - // If the resource is not already cacheable (has a query - // parameter, presumably with a hash or version of some sort), - // put a version with a hash in the cache. - // - // Avoid putting a non-cacheable asset into the cache, otherwise - // the user can't modify the asset until the cache headers - // expire. - if (!resource.cacheable) - manifest += `?${resource.hash}`; - - manifest += "\n"; + if (resource.where !== 'client' || + RoutePolicy.classify(url) || + shouldSkip(resource)) { + return; } + + manifest += url; + + // If the resource is not already cacheable (has a query parameter, + // presumably with a hash or version of some sort), put a version with + // a hash in the cache. + // + // Avoid putting a non-cacheable asset into the cache, otherwise the + // user can't modify the asset until the cache headers expire. + if (! resource.cacheable) { + manifest += `?${resource.hash}`; + } + + manifest += "\n"; }); manifest += "\n"; manifest += "FALLBACK:\n"; manifest += "/ /\n"; - eachResource(request, (resource, arch, prefix) => { + eachResource(cacheInfo, (resource, arch, prefix) => { const { url } = resource; if (resource.where !== 'client' || @@ -177,23 +210,13 @@ WebApp.connectHandlers.use((req, res, next) => { manifest += "*\n"; // content length needs to be based on bytes - const body = Buffer.from(manifest); - - res.setHeader('Content-Type', 'text/cache-manifest'); - res.setHeader('Content-Length', body.length); - return res.end(body); -}); - -function eachResource(request, callback) { - const browser = request.browser || - WebApp.categorizeRequest(request).browser; - - const modern = isModern(browser); - - const arch = modern - ? "web.browser" - : "web.browser.legacy"; + return Buffer.from(manifest, "utf8"); +} +function eachResource({ + modern, + arch, +}, callback) { const manifest = WebApp.clientPrograms[arch].manifest; let prefix = ""; From 8e6f673fd066a69b2b4779526d200a7be0f1fc73 Mon Sep 17 00:00:00 2001 From: Ben Newman Date: Sat, 28 Apr 2018 12:09:02 -0400 Subject: [PATCH 0815/1355] Bump package versions for 1.7-beta.27 release. --- packages/appcache/package.js | 2 +- packages/babel-compiler/package.js | 2 +- packages/boilerplate-generator-tests/package.js | 2 +- packages/boilerplate-generator/package.js | 2 +- packages/dynamic-import/package.js | 2 +- packages/ecmascript-runtime-client/package.js | 2 +- packages/ecmascript-runtime-server/package.js | 2 +- packages/ecmascript-runtime/package.js | 2 +- packages/ecmascript/package.js | 2 +- packages/es5-shim/package.js | 2 +- packages/meteor-base/package.js | 2 +- packages/meteor-tool/package.js | 2 +- packages/meteor/package.js | 2 +- packages/modern-browsers/package.js | 2 +- packages/modules-runtime/package.js | 2 +- packages/mongo/package.js | 2 +- packages/npm-mongo/package.js | 2 +- packages/promise/package.js | 2 +- packages/socket-stream-client/package.js | 2 +- packages/tracker/package.js | 2 +- packages/webapp/package.js | 2 +- scripts/admin/meteor-release-experimental.json | 2 +- 22 files changed, 22 insertions(+), 22 deletions(-) diff --git a/packages/appcache/package.js b/packages/appcache/package.js index a2407eb6f3..c72a90dd8d 100644 --- a/packages/appcache/package.js +++ b/packages/appcache/package.js @@ -1,6 +1,6 @@ Package.describe({ summary: "Enable the application cache in the browser", - version: "1.2.0-beta17.26", + version: "1.2.0-beta17.27", }); Package.onUse(api => { diff --git a/packages/babel-compiler/package.js b/packages/babel-compiler/package.js index 00a153c4e9..03e5cc82ed 100644 --- a/packages/babel-compiler/package.js +++ b/packages/babel-compiler/package.js @@ -6,7 +6,7 @@ Package.describe({ // isn't possible because you can't publish a non-recommended // release with package versions that don't have a pre-release // identifier at the end (eg, -dev) - version: '7.1.0-beta17.26' + version: '7.1.0-beta17.27' }); Npm.depends({ diff --git a/packages/boilerplate-generator-tests/package.js b/packages/boilerplate-generator-tests/package.js index 2cc7c32384..fa9a3c19e7 100644 --- a/packages/boilerplate-generator-tests/package.js +++ b/packages/boilerplate-generator-tests/package.js @@ -2,7 +2,7 @@ Package.describe({ // These tests are in a separate package so that we can Npm.depend on // parse5, a html parsing library. summary: "Tests for the boilerplate-generator package", - version: '1.5.0-beta17.26', + version: '1.5.0-beta17.27', documentation: null }); diff --git a/packages/boilerplate-generator/package.js b/packages/boilerplate-generator/package.js index 77ab8ef93a..4d231eec3c 100644 --- a/packages/boilerplate-generator/package.js +++ b/packages/boilerplate-generator/package.js @@ -1,6 +1,6 @@ Package.describe({ summary: "Generates the boilerplate html from program's manifest", - version: '1.5.0-beta17.26' + version: '1.5.0-beta17.27' }); Npm.depends({ diff --git a/packages/dynamic-import/package.js b/packages/dynamic-import/package.js index b9c9270d04..ae05b14160 100644 --- a/packages/dynamic-import/package.js +++ b/packages/dynamic-import/package.js @@ -1,6 +1,6 @@ Package.describe({ name: "dynamic-import", - version: "0.4.0-beta17.26", + version: "0.4.0-beta17.27", summary: "Runtime support for Meteor 1.5 dynamic import(...) syntax", documentation: "README.md" }); diff --git a/packages/ecmascript-runtime-client/package.js b/packages/ecmascript-runtime-client/package.js index 5a725642de..d298764921 100644 --- a/packages/ecmascript-runtime-client/package.js +++ b/packages/ecmascript-runtime-client/package.js @@ -1,6 +1,6 @@ Package.describe({ name: "ecmascript-runtime-client", - version: "0.7.0-beta17.26", + version: "0.7.0-beta17.27", summary: "Polyfills for new ECMAScript 2015 APIs like Map and Set", git: "https://github.com/meteor/meteor/tree/devel/packages/ecmascript-runtime-client", documentation: "README.md" diff --git a/packages/ecmascript-runtime-server/package.js b/packages/ecmascript-runtime-server/package.js index 0a708b51f9..ecc58bfc8a 100644 --- a/packages/ecmascript-runtime-server/package.js +++ b/packages/ecmascript-runtime-server/package.js @@ -1,6 +1,6 @@ Package.describe({ name: "ecmascript-runtime-server", - version: "0.7.0-beta17.26", + version: "0.7.0-beta17.27", summary: "Polyfills for new ECMAScript 2015 APIs like Map and Set", git: "https://github.com/meteor/meteor/tree/devel/packages/ecmascript-runtime-client", documentation: "README.md" diff --git a/packages/ecmascript-runtime/package.js b/packages/ecmascript-runtime/package.js index 3682e11c2d..b9417d7fe5 100644 --- a/packages/ecmascript-runtime/package.js +++ b/packages/ecmascript-runtime/package.js @@ -1,6 +1,6 @@ Package.describe({ name: "ecmascript-runtime", - version: "0.7.0-beta17.26", + version: "0.7.0-beta17.27", summary: "Polyfills for new ECMAScript 2015 APIs like Map and Set", git: "https://github.com/meteor/ecmascript-runtime", documentation: "README.md" diff --git a/packages/ecmascript/package.js b/packages/ecmascript/package.js index 1dbf779cb5..f26eca6940 100644 --- a/packages/ecmascript/package.js +++ b/packages/ecmascript/package.js @@ -1,6 +1,6 @@ Package.describe({ name: 'ecmascript', - version: '0.11.0-beta17.26', + version: '0.11.0-beta17.27', summary: 'Compiler plugin that supports ES2015+ in all .js files', documentation: 'README.md' }); diff --git a/packages/es5-shim/package.js b/packages/es5-shim/package.js index 132903238d..c5e3b0b1c5 100644 --- a/packages/es5-shim/package.js +++ b/packages/es5-shim/package.js @@ -1,6 +1,6 @@ Package.describe({ name: "es5-shim", - version: "4.8.0-beta17.26", + version: "4.8.0-beta17.27", summary: "Shims and polyfills to improve ECMAScript 5 support", documentation: "README.md" }); diff --git a/packages/meteor-base/package.js b/packages/meteor-base/package.js index 777371d1d0..f5c7c460d4 100644 --- a/packages/meteor-base/package.js +++ b/packages/meteor-base/package.js @@ -1,6 +1,6 @@ Package.describe({ name: 'meteor-base', - version: '1.4.0-beta17.26', + version: '1.4.0-beta17.27', // Brief, one-line summary of the package. summary: 'Packages that every Meteor app needs', // By default, Meteor will default to using README.md for documentation. diff --git a/packages/meteor-tool/package.js b/packages/meteor-tool/package.js index efd8598dbe..4ed15673f8 100644 --- a/packages/meteor-tool/package.js +++ b/packages/meteor-tool/package.js @@ -1,6 +1,6 @@ Package.describe({ summary: "The Meteor command-line tool", - version: '1.7.0-beta.26' + version: '1.7.0-beta.27' }); Package.includeTool(); diff --git a/packages/meteor/package.js b/packages/meteor/package.js index b2c113c216..96664ce264 100644 --- a/packages/meteor/package.js +++ b/packages/meteor/package.js @@ -2,7 +2,7 @@ Package.describe({ summary: "Core Meteor environment", - version: '1.9.0-beta17.26' + version: '1.9.0-beta17.27' }); Package.registerBuildPlugin({ diff --git a/packages/modern-browsers/package.js b/packages/modern-browsers/package.js index 1e4ef310bc..f6dffa1488 100644 --- a/packages/modern-browsers/package.js +++ b/packages/modern-browsers/package.js @@ -1,6 +1,6 @@ Package.describe({ name: "modern-browsers", - version: "0.1.0-beta17.26", + version: "0.1.0-beta17.27", summary: "API for defining the boundary between modern and legacy " + "JavaScript clients", documentation: "README.md" diff --git a/packages/modules-runtime/package.js b/packages/modules-runtime/package.js index c6ecd3cdfb..86c683e49a 100644 --- a/packages/modules-runtime/package.js +++ b/packages/modules-runtime/package.js @@ -1,6 +1,6 @@ Package.describe({ name: "modules-runtime", - version: "0.10.0-beta17.26", + version: "0.10.0-beta17.27", summary: "CommonJS module system", git: "https://github.com/benjamn/install", documentation: "README.md" diff --git a/packages/mongo/package.js b/packages/mongo/package.js index 936b209a65..e604c7db3d 100644 --- a/packages/mongo/package.js +++ b/packages/mongo/package.js @@ -9,7 +9,7 @@ Package.describe({ summary: "Adaptor for using MongoDB and Minimongo over DDP", - version: '1.5.0-beta17.26' + version: '1.5.0-beta17.27' }); Npm.depends({ diff --git a/packages/npm-mongo/package.js b/packages/npm-mongo/package.js index 5e1312a91b..26e72d3d03 100644 --- a/packages/npm-mongo/package.js +++ b/packages/npm-mongo/package.js @@ -3,7 +3,7 @@ Package.describe({ summary: "Wrapper around the mongo npm package", - version: "3.0.7-beta17.26", + version: "3.0.7-beta17.27", documentation: null }); diff --git a/packages/promise/package.js b/packages/promise/package.js index 48162f7979..2c1ff03d96 100644 --- a/packages/promise/package.js +++ b/packages/promise/package.js @@ -1,6 +1,6 @@ Package.describe({ name: "promise", - version: "0.11.0-beta17.26", + version: "0.11.0-beta17.27", summary: "ECMAScript 2015 Promise polyfill with Fiber support", git: "https://github.com/meteor/promise", documentation: "README.md" diff --git a/packages/socket-stream-client/package.js b/packages/socket-stream-client/package.js index ae2b0ad071..372173787f 100644 --- a/packages/socket-stream-client/package.js +++ b/packages/socket-stream-client/package.js @@ -1,6 +1,6 @@ Package.describe({ name: "socket-stream-client", - version: "0.2.0-beta17.26", + version: "0.2.0-beta17.27", summary: "Provides the ClientStream abstraction used by ddp-client", documentation: "README.md" }); diff --git a/packages/tracker/package.js b/packages/tracker/package.js index 51047f1480..4678c1c251 100644 --- a/packages/tracker/package.js +++ b/packages/tracker/package.js @@ -1,6 +1,6 @@ Package.describe({ summary: "Dependency tracker to allow reactive callbacks", - version: "1.2.0-beta17.26" + version: "1.2.0-beta17.27" }); Package.onUse(function (api) { diff --git a/packages/webapp/package.js b/packages/webapp/package.js index df7c758503..82d3f0c356 100644 --- a/packages/webapp/package.js +++ b/packages/webapp/package.js @@ -1,6 +1,6 @@ Package.describe({ summary: "Serves a Meteor app over HTTP", - version: '1.6.0-beta17.26' + version: '1.6.0-beta17.27' }); Npm.depends({"basic-auth-connect": "1.0.0", diff --git a/scripts/admin/meteor-release-experimental.json b/scripts/admin/meteor-release-experimental.json index ca3159d583..84ba1b9db7 100644 --- a/scripts/admin/meteor-release-experimental.json +++ b/scripts/admin/meteor-release-experimental.json @@ -1,6 +1,6 @@ { "track": "METEOR", - "version": "1.7-beta.26", + "version": "1.7-beta.27", "recommended": false, "official": false, "description": "Meteor" From d3df76b2b56df1e2676b7e7f85a4e58d767dae98 Mon Sep 17 00:00:00 2001 From: Ben Newman Date: Sat, 28 Apr 2018 23:40:41 -0400 Subject: [PATCH 0816/1355] Allow testAsyncMulti functions to return promises. --- packages/test-helpers/async_multi.js | 18 ++++++++++-------- 1 file changed, 10 insertions(+), 8 deletions(-) diff --git a/packages/test-helpers/async_multi.js b/packages/test-helpers/async_multi.js index 1f5d001e25..ef7b155124 100644 --- a/packages/test-helpers/async_multi.js +++ b/packages/test-helpers/async_multi.js @@ -139,16 +139,18 @@ testAsyncMulti = function (name, funcs) { }, timeout); test.extraDetails.asyncBlock = i++; - try { - func.apply(context, [test, _.bind(em.expect, em)]); - } catch (exception) { - if (em.cancel()) + + new Promise(resolve => { + resolve(func.apply(context, [test, _.bind(em.expect, em)])); + }).then(result => { + em.done(); + }, exception => { + if (em.cancel()) { test.exception(exception); + // Because we called test.exception, we're not to call onComplete. + } Meteor.clearTimeout(timer); - // Because we called test.exception, we're not to call onComplete. - return; - } - em.done(); + }); } }; From bdc98281b1203b039240ea2017f2a6e61eba8019 Mon Sep 17 00:00:00 2001 From: Ben Newman Date: Sat, 28 Apr 2018 23:50:21 -0400 Subject: [PATCH 0817/1355] Bump test-helpers package version to 1.0.13. --- packages/test-helpers/package.js | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/packages/test-helpers/package.js b/packages/test-helpers/package.js index e8a6f9d03c..977f41ac58 100644 --- a/packages/test-helpers/package.js +++ b/packages/test-helpers/package.js @@ -1,11 +1,11 @@ Package.describe({ summary: "Utility functions for tests", - version: '1.0.12' + version: '1.0.13' }); Package.onUse(function (api) { api.use(['underscore', 'tracker', 'ejson', 'tinytest', 'random', 'blaze']); - api.use(['jquery@1.11.1'], 'client'); + api.use(['jquery@1.12.1'], 'client'); // XXX for connection.js. Not sure this really belongs in // test-helpers. It probably would be better off in livedata. But it's From 029611ec6d1618f26dddbfda6c4510918497c0af Mon Sep 17 00:00:00 2001 From: Ben Newman Date: Sat, 28 Apr 2018 23:51:01 -0400 Subject: [PATCH 0818/1355] Improve "oplog - entry skipping" test to prevent intermittent failures. --- packages/mongo/oplog_tests.js | 47 +++++++++++++++++++---------------- 1 file changed, 26 insertions(+), 21 deletions(-) diff --git a/packages/mongo/oplog_tests.js b/packages/mongo/oplog_tests.js index 4ea2958835..d4d5eec9c9 100644 --- a/packages/mongo/oplog_tests.js +++ b/packages/mongo/oplog_tests.js @@ -68,8 +68,8 @@ process.env.MONGO_OPLOG_URL && testAsyncMulti( // possible to make this test fail with TOO_FAR_BEHIND = 2000. // The documents waiting to be processed would hardly go beyond 1000 // using mongo 3.2 with WiredTiger - MongoInternals.defaultRemoteCollectionDriver().mongo - ._oplogHandle._defineTooFarBehind(800); + MongoInternals.defaultRemoteCollectionDriver() + .mongo._oplogHandle._defineTooFarBehind(500); self.IRRELEVANT_SIZE = 15000; self.RELEVANT_SIZE = 10; @@ -95,6 +95,7 @@ process.env.MONGO_OPLOG_URL && testAsyncMulti( test.isFalse(err); }))); }, + function (test, expect) { var self = this; @@ -105,25 +106,33 @@ process.env.MONGO_OPLOG_URL && testAsyncMulti( var gotSpot = false; // Watch for blue dogs. - self.subHandle = - self.collection.find({species: 'dog', color: 'blue'}).observeChanges({ - added: function (id, fields) { - if (fields.name === 'dog 5') + const gotSpotPromise = new Promise(resolve => { + self.subHandle = self.collection.find({ + species: 'dog', + color: 'blue', + }).observeChanges({ + added(id, fields) { + if (fields.name === 'dog 5') { blueDog5Id = id; + } }, - changed: function (id, fields) { - if (EJSON.equals(id, blueDog5Id) && fields.name === 'spot') + changed(id, fields) { + if (EJSON.equals(id, blueDog5Id) && + fields.name === 'spot') { gotSpot = true; - } + resolve(); + } + }, }); + }); + test.isTrue(self.subHandle._multiplexer._observeDriver._usesOplog); test.isTrue(blueDog5Id); test.isFalse(gotSpot); self.skipped = false; - self.skipHandle = - MongoInternals.defaultRemoteCollectionDriver().mongo - ._oplogHandle.onSkippedEntries(function () { + self.skipHandle = MongoInternals.defaultRemoteCollectionDriver() + .mongo._oplogHandle.onSkippedEntries(function () { self.skipped = true; }); @@ -136,21 +145,17 @@ process.env.MONGO_OPLOG_URL && testAsyncMulti( {multi: true}); self.collection.update(blueDog5Id, {$set: {name: 'spot'}}); - // We ought to see the spot change soon! It's important to keep this - // timeout relatively small (ie, small enough that if we set - // $METEOR_OPLOG_TOO_FAR_BEHIND to something enormous, say 200000, that - // the test fails). - pollUntil(expect, function () { - return gotSpot; - }, 2000); + // We ought to see the spot change soon! + return gotSpotPromise; }, + function (test, expect) { var self = this; test.isTrue(self.skipped); //This gets the TOO_FAR_BEHIND back to its initial value - MongoInternals.defaultRemoteCollectionDriver().mongo - ._oplogHandle._resetTooFarBehind(); + MongoInternals.defaultRemoteCollectionDriver() + .mongo._oplogHandle._resetTooFarBehind(); self.skipHandle.stop(); self.subHandle.stop(); From 9cc9214490333154297c9eb5474d9a5292b8702e Mon Sep 17 00:00:00 2001 From: Ben Newman Date: Sun, 29 Apr 2018 02:16:17 -0400 Subject: [PATCH 0819/1355] Bump test-helpers package version to 1.1.0. --- packages/test-helpers/package.js | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/packages/test-helpers/package.js b/packages/test-helpers/package.js index 977f41ac58..7dad74e640 100644 --- a/packages/test-helpers/package.js +++ b/packages/test-helpers/package.js @@ -1,6 +1,6 @@ Package.describe({ summary: "Utility functions for tests", - version: '1.0.13' + version: '1.1.0' }); Package.onUse(function (api) { From 715b96bed8593e1e48a8b4590957b22343a6c364 Mon Sep 17 00:00:00 2001 From: Ben Newman Date: Sun, 29 Apr 2018 09:06:12 -0400 Subject: [PATCH 0820/1355] Use ecmascript in test-helpers and downgrade to latest published jquery. Though this commit comes after the 1.1.0 version bump, these changes should be published when that version is published (with Meteor 1.7). --- packages/test-helpers/package.js | 13 +++++++++++-- 1 file changed, 11 insertions(+), 2 deletions(-) diff --git a/packages/test-helpers/package.js b/packages/test-helpers/package.js index 7dad74e640..eceb520f15 100644 --- a/packages/test-helpers/package.js +++ b/packages/test-helpers/package.js @@ -4,8 +4,17 @@ Package.describe({ }); Package.onUse(function (api) { - api.use(['underscore', 'tracker', 'ejson', 'tinytest', 'random', 'blaze']); - api.use(['jquery@1.12.1'], 'client'); + api.use([ + 'ecmascript', + 'underscore', + 'tracker', + 'ejson', + 'tinytest', + 'random', + 'blaze', + ]); + + api.use(['jquery@1.11.1'], 'client'); // XXX for connection.js. Not sure this really belongs in // test-helpers. It probably would be better off in livedata. But it's From 223ec46525c82e53e90f3515d103ea858809386d Mon Sep 17 00:00:00 2001 From: Ben Newman Date: Sun, 29 Apr 2018 01:25:29 -0400 Subject: [PATCH 0821/1355] Use isModern(request.browser) to determine architecture of static files. Note that WebAppInternals.staticFiles has been replaced by WebAppInternals.staticFilesByArch. --- packages/webapp/webapp_server.js | 115 +++++++++++++++++++++---------- packages/webapp/webapp_tests.js | 27 +++++--- 2 files changed, 97 insertions(+), 45 deletions(-) diff --git a/packages/webapp/webapp_server.js b/packages/webapp/webapp_server.js index b8a514ec68..ada5bc3b9f 100644 --- a/packages/webapp/webapp_server.js +++ b/packages/webapp/webapp_server.js @@ -357,7 +357,8 @@ WebAppInternals.generateBoilerplateInstance = function (arch, }, additionalOptions)); }; -// A mapping from url path to "info". Where "info" has the following fields: +// A mapping from url path to architecture (e.g. "web.browser") to static +// file information with the following fields: // - type: the type of file to be served // - cacheable: optionally, whether the file should be cached or not // - sourceMapUrl: optionally, the url of the source map @@ -366,11 +367,11 @@ WebAppInternals.generateBoilerplateInstance = function (arch, // - content: the stringified content that should be served at this path // - absolutePath: the absolute path on disk to the file -var staticFiles; +var staticFilesByArch; // Serve static files from the manifest or added with // `addStaticJs`. Exported for tests. -WebAppInternals.staticFilesMiddleware = function (staticFiles, req, res, next) { +WebAppInternals.staticFilesMiddleware = function (staticFilesByArch, req, res, next) { if ('GET' != req.method && 'HEAD' != req.method && 'OPTIONS' != req.method) { next(); return; @@ -402,7 +403,12 @@ WebAppInternals.staticFilesMiddleware = function (staticFiles, req, res, next) { return; } - if (!_.has(staticFiles, pathname)) { + const info = getStaticFileInfo( + pathname, + identifyBrowser(req.headers["user-agent"]), + ); + + if (! info) { next(); return; } @@ -411,8 +417,6 @@ WebAppInternals.staticFilesMiddleware = function (staticFiles, req, res, next) { // 'send' and yield to the event loop, we never call another handler with // 'next'. - var info = staticFiles[pathname]; - // Cacheable files are files that should never change. Typically // named by their hash (eg meteor bundled js and css files). // We cache them ~forever (1yr). @@ -467,6 +471,63 @@ WebAppInternals.staticFilesMiddleware = function (staticFiles, req, res, next) { } }; +function getStaticFileInfo(originalPath, browser) { + const { arch, path } = getArchAndPath(originalPath, browser); + + if (! hasOwn.call(WebApp.clientPrograms, arch)) { + return null; + } + + if (hasOwn.call(staticFilesByArch, arch)) { + const staticFiles = staticFilesByArch[arch]; + + // If staticFiles contains originalPath with the arch inferred above, + // use that information. + if (hasOwn.call(staticFiles, originalPath)) { + return staticFiles[originalPath]; + } + + // If getArchAndPath returned an alternate path, try that instead. + if (path !== originalPath && + hasOwn.call(staticFiles, path)) { + return staticFiles[path]; + } + } + + return null; +} + +function getArchAndPath(path, browser) { + const pathParts = path.split("/"); + const archKey = pathParts[1]; + + if (archKey.startsWith("__")) { + const archCleaned = "web." + archKey.slice(2); + if (hasOwn.call(WebApp.clientPrograms, archCleaned)) { + pathParts.splice(1, 1); // Remove the archKey part. + return { + arch: archCleaned, + path: pathParts.join("/"), + }; + } + } + + // TODO Perhaps one day we could infer Cordova clients here, so that we + // wouldn't have to use prefixed "/__cordova/..." URLs. + const arch = isModern(browser) + ? "web.browser" + : "web.browser.legacy"; + + if (hasOwn.call(WebApp.clientPrograms, arch)) { + return { arch, path }; + } + + return { + arch: WebApp.defaultArch, + path, + }; +} + // Parse the passed in port value. Return the port as-is if it's a String // (e.g. a Windows Server style named pipe), otherwise return the port as an // integer. @@ -491,18 +552,14 @@ function runWebAppServer() { WebAppInternals.reloadClientPrograms = function () { syncQueue.runTask(function() { - staticFiles = Object.create(null); + staticFilesByArch = Object.create(null); - var generateClientProgram = function (clientPath, arch) { + function generateClientProgram(clientPath, arch) { function addStaticFile(path, item) { - // If there are duplicate static file paths, always let the - // web.browser item win, and otherwise avoid overwriting the - // first instance of the item (which typically will be the - // web.browser item, but let's not take any risks). - if (arch === "web.browser" || - ! hasOwn.call(staticFiles, path)) { - staticFiles[path] = item; + if (! hasOwn.call(staticFilesByArch, arch)) { + staticFilesByArch[arch] = Object.create(null); } + staticFilesByArch[arch][path] = item; } // read the control for the client we'll be serving up @@ -567,7 +624,7 @@ function runWebAppServer() { hash: program.version, type: "json" }); - }; + } try { var clientPaths = __meteor_bootstrap__.configJson.clientPaths; @@ -577,7 +634,7 @@ function runWebAppServer() { }); // Exported for tests. - WebAppInternals.staticFiles = staticFiles; + WebAppInternals.staticFilesByArch = staticFilesByArch; } catch (e) { Log.error("Error reloading the client program: " + e.stack); process.exit(1); @@ -705,7 +762,7 @@ function runWebAppServer() { // Serve static files from the manifest. // This is inspired by the 'static' middleware. app.use(function (req, res, next) { - WebAppInternals.staticFilesMiddleware(staticFiles, req, res, next); + WebAppInternals.staticFilesMiddleware(staticFilesByArch, req, res, next); }); // Core Meteor packages like dynamic-import can add handlers before @@ -783,25 +840,13 @@ function runWebAppServer() { return; } - // /packages/asdfsad ... /__cordova/dafsdf.js - var pathname = parseRequest(req).pathname; - var archKey = pathname.split('/')[1]; - var archKeyCleaned = 'web.' + archKey.replace(/^__/, ''); - - if (/^__/.test(archKey) && - _.has(archPath, archKeyCleaned)) { - archKey = archKeyCleaned; - } else if (isModern(request.browser) && - _.has(WebApp.clientPrograms, "web.browser")) { - archKey = "web.browser"; - } else { - archKey = WebApp.defaultArch; - } - return getBoilerplateAsync( request, - archKey - ).then(({ stream, statusCode, headers: newHeaders }) => { + getArchAndPath( + parseRequest(req).pathname, + request.browser, + ).arch, + ).then(({ stream, statusCode, headers: newHeaders }) => { if (!statusCode) { statusCode = res.statusCode ? res.statusCode : 200; } diff --git a/packages/webapp/webapp_tests.js b/packages/webapp/webapp_tests.js index eade129a94..b8fe5201bd 100644 --- a/packages/webapp/webapp_tests.js +++ b/packages/webapp/webapp_tests.js @@ -44,16 +44,19 @@ MockResponse.prototype.getBody = function () { }; Tinytest.add("webapp - content-type header", function (test) { + const staticFiles = WebAppInternals.staticFilesByArch["web.browser"]; + const cssResource = _.find( - _.keys(WebAppInternals.staticFiles), + _.keys(staticFiles), function (url) { - return WebAppInternals.staticFiles[url].type === "css"; + return staticFiles[url].type === "css"; } ); + const jsResource = _.find( - _.keys(WebAppInternals.staticFiles), + _.keys(staticFiles), function (url) { - return WebAppInternals.staticFiles[url].type === "js"; + return staticFiles[url].type === "js"; } ); @@ -98,10 +101,12 @@ Tinytest.addAsync( req.method = "GET"; req.url = "/" + additionalScriptPathname; let nextCalled = false; - WebAppInternals.staticFilesMiddleware( - staticFilesOpts, req, res, function () { - nextCalled = true; - }); + WebAppInternals.staticFilesMiddleware({ + "web.browser": {}, + "web.browser.legacy": {}, + }, req, res, function () { + nextCalled = true; + }); test.isTrue(nextCalled); // When inline scripts are disallowed, the script body should not be @@ -130,8 +135,10 @@ Tinytest.addAsync( req.headers = {}; req.method = "GET"; req.url = "/" + additionalScriptPathname; - WebAppInternals.staticFilesMiddleware(staticFilesOpts, req, res, - function () { }); + WebAppInternals.staticFilesMiddleware({ + "web.browser": {}, + "web.browser.legacy": {}, + }, req, res, function () {}); const resBody = res.getBody(); test.isTrue(resBody.indexOf(additionalScript) !== -1); test.equal(res.statusCode, 200); From 7e5e5b9fa13d68a01a33e885351f4ff1010c6484 Mon Sep 17 00:00:00 2001 From: Ben Newman Date: Sun, 29 Apr 2018 02:07:26 -0400 Subject: [PATCH 0822/1355] Restrict URL prefixing to web.cordova URLs. Now that webapp can differentiate between modern and legacy browsers when serving static files, without relying on URL prefixes, in principle we shouldn't have to use prefixes for any URLs except Cordova ones. --- tools/isobuild/bundler.js | 16 ++-------------- 1 file changed, 2 insertions(+), 14 deletions(-) diff --git a/tools/isobuild/bundler.js b/tools/isobuild/bundler.js index 9e9fee3eea..08ca577c0b 100644 --- a/tools/isobuild/bundler.js +++ b/tools/isobuild/bundler.js @@ -567,20 +567,8 @@ class File { this.url = null; // A prefix that will be prepended to this.url. - if (options.arch.startsWith("web.") && - // Use /__browser.legacy/... as a prefix for web.browser.legacy - // URLs, but avoid adding a special prefix to resource URLs for - // modern browsers. Though boilerplate-generator will happily use - // whatever URLs we invent here, it's important that assets like - // images are available from predictable URLs (without any - // arch-specific prefixes), since humans might use those URLs in - // hand-written code. Moreover, non-JS assets are typically the - // same for both modern and legacy browsers, so the URL prefix - // doesn't actually make a difference. In the unlikely event that - // someone adds different assets with the same path to web.browser - // and web.browser.legacy, the legacy version can always be - // fetched from the /__browser.legacy/... URL. - options.arch !== "web.browser") { + // Prefixing is currently restricted to Cordova URLs. + if (options.arch === "web.cordova") { this.urlPrefix = "/__" + options.arch.split(".").slice(1).join("."); } else { From d6c8a96bdabf9212918e7f2233acfd6375e2cbb2 Mon Sep 17 00:00:00 2001 From: Ben Newman Date: Sun, 29 Apr 2018 10:06:02 -0400 Subject: [PATCH 0823/1355] Refine URL prefix logic to exclude just web.browser[.legacy]. This still leaves web.cordova as the only architecture whose URLs get prefixed (with /__cordova/), but the implementation better reflects the special status of web.browser and web.browser.legacy as architectures that the webapp and dynamic-import packages understand how to disambiguate using the isModern test from the modern-browsers package. --- tools/isobuild/bundler.js | 12 ++++++++++-- 1 file changed, 10 insertions(+), 2 deletions(-) diff --git a/tools/isobuild/bundler.js b/tools/isobuild/bundler.js index 08ca577c0b..6c2f72d1bd 100644 --- a/tools/isobuild/bundler.js +++ b/tools/isobuild/bundler.js @@ -567,8 +567,16 @@ class File { this.url = null; // A prefix that will be prepended to this.url. - // Prefixing is currently restricted to Cordova URLs. - if (options.arch === "web.cordova") { + // Prefixing is currently restricted to web.cordova URLs. + if (options.arch.startsWith("web.") && + // Using the isModern function from the modern-browsers package, + // the webapp and dynamic-import packages can automatically + // determine whether a client should receive resources from the + // web.browser or web.browser.legacy architecture, so those + // architectures do not need a URL prefix. Other architectures, + // such as web.cordova, still need a prefix like /__cordova/. + options.arch !== "web.browser" && + options.arch !== "web.browser.legacy") { this.urlPrefix = "/__" + options.arch.split(".").slice(1).join("."); } else { From 0765927393795d580056d73c85287ddfe4521df0 Mon Sep 17 00:00:00 2001 From: Ben Newman Date: Sun, 29 Apr 2018 10:16:52 -0400 Subject: [PATCH 0824/1355] Let bundle-visualizer tolerate WebAppInternals.staticFilesByArch. --- .../non-core/bundle-visualizer/package.js | 2 +- packages/non-core/bundle-visualizer/server.js | 35 ++++++++++++++----- 2 files changed, 27 insertions(+), 10 deletions(-) diff --git a/packages/non-core/bundle-visualizer/package.js b/packages/non-core/bundle-visualizer/package.js index 45f6fe2b0e..4e7f1aa764 100644 --- a/packages/non-core/bundle-visualizer/package.js +++ b/packages/non-core/bundle-visualizer/package.js @@ -1,5 +1,5 @@ Package.describe({ - version: '1.1.3', + version: '1.2.0', summary: 'Meteor bundle analysis and visualization.', documentation: 'README.md', }); diff --git a/packages/non-core/bundle-visualizer/server.js b/packages/non-core/bundle-visualizer/server.js index adcf1b4382..839ec893ea 100644 --- a/packages/non-core/bundle-visualizer/server.js +++ b/packages/non-core/bundle-visualizer/server.js @@ -33,21 +33,38 @@ function getStatBundles() { f.absolutePath.endsWith(".stats.json"); // Read the stat file, but if it's in any way unusable just return null. - const readOrNull = file => { + function readOrNull(file) { try { return JSON.parse(fsReadFileSync(file, "utf8")); } catch (err) { return null; } - }; + } - return Object.keys(WebAppInternals.staticFiles) - .map(staticFile => WebAppInternals.staticFiles[staticFile]) - .filter(statFileFilter) - .map(statFile => ({ - name: statFile.hash, - stats: readOrNull(statFile.absolutePath), - })); + const { + staticFiles, + staticFilesByArch, + } = WebAppInternals; + + const files = []; + + if (staticFilesByArch) { + Object.keys(staticFilesByArch).forEach(arch => { + const staticFiles = staticFilesByArch[arch]; + Object.keys(staticFiles).forEach(path => { + files.push(staticFiles[path]); + }); + }); + } else if (staticFiles) { + Object.keys(staticFiles).forEach(path => { + files.push(staticFiles[path]); + }); + } + + return files.filter(statFileFilter).map(file => ({ + name: file.hash, + stats: readOrNull(file.absolutePath), + })); } function _childModules(node) { From 182c426c6d9d1ce0fc725c8a6f93fae96ac81c4e Mon Sep 17 00:00:00 2001 From: Ben Newman Date: Mon, 30 Apr 2018 12:15:24 -0400 Subject: [PATCH 0825/1355] Set Vary:User-Agent response header for static files. The only new functionality is the res.setHeader("Vary", "User-Agent") call; the rest of the changes in this commit are just reformatting. @CaptainN I think this should be enough information for well-behaved browsers and CDNs to do the right thing, though I agree it's worth documenting. --- packages/webapp/webapp_server.js | 40 ++++++++++++++++++-------------- 1 file changed, 23 insertions(+), 17 deletions(-) diff --git a/packages/webapp/webapp_server.js b/packages/webapp/webapp_server.js index ada5bc3b9f..700b12c8fd 100644 --- a/packages/webapp/webapp_server.js +++ b/packages/webapp/webapp_server.js @@ -420,9 +420,17 @@ WebAppInternals.staticFilesMiddleware = function (staticFilesByArch, req, res, n // Cacheable files are files that should never change. Typically // named by their hash (eg meteor bundled js and css files). // We cache them ~forever (1yr). - var maxAge = info.cacheable - ? 1000 * 60 * 60 * 24 * 365 - : 0; + const maxAge = info.cacheable + ? 1000 * 60 * 60 * 24 * 365 + : 0; + + if (info.cacheable) { + // Since we use req.headers["user-agent"] to determine whether the + // client should receive modern or legacy resources, tell the client + // to invalidate cached resources when/if its user agent string + // changes in the future. + res.setHeader("Vary", "User-Agent"); + } // Set the X-SourceMap header, which current Chrome, FireFox, and Safari // understand. (The SourceMap header is slightly more spec-correct but FF @@ -454,20 +462,18 @@ WebAppInternals.staticFilesMiddleware = function (staticFilesByArch, req, res, n res.end(); } else { send(req, info.absolutePath, { - maxage: maxAge, - dotfiles: 'allow', // if we specified a dotfile in the manifest, serve it - lastModified: false // don't set last-modified based on the file date - }).on('error', function (err) { - Log.error("Error serving static file " + err); - res.writeHead(500); - res.end(); - }) - .on('directory', function () { - Log.error("Unexpected directory " + info.absolutePath); - res.writeHead(500); - res.end(); - }) - .pipe(res); + maxage: maxAge, + dotfiles: 'allow', // if we specified a dotfile in the manifest, serve it + lastModified: false // don't set last-modified based on the file date + }).on('error', function (err) { + Log.error("Error serving static file " + err); + res.writeHead(500); + res.end(); + }).on('directory', function () { + Log.error("Unexpected directory " + info.absolutePath); + res.writeHead(500); + res.end(); + }).pipe(res); } }; From d95a42df3c367323897957249d9ee430ce07a48c Mon Sep 17 00:00:00 2001 From: Toine van Kampen Date: Tue, 1 May 2018 21:45:29 +1000 Subject: [PATCH 0826/1355] Retain PhantomJS for Console Tests Add Phantom back in to retain the ability to run tests in legacy browser. By default its false. --- .travis.yml | 3 +- packages/test-in-console/package.js | 14 ++-- packages/test-in-console/phantomRunner.js | 69 +++++++++++++++++++ .../{runner.js => puppeteerRunner.js} | 0 packages/test-in-console/run.sh | 20 ++++-- 5 files changed, 92 insertions(+), 14 deletions(-) create mode 100644 packages/test-in-console/phantomRunner.js rename packages/test-in-console/{runner.js => puppeteerRunner.js} (100%) diff --git a/.travis.yml b/.travis.yml index 6aa87607ba..0cf166baac 100644 --- a/.travis.yml +++ b/.travis.yml @@ -5,13 +5,12 @@ cache: directories: - ".meteor" - ".babel-cache" -script: TEST_PACKAGES_EXCLUDE="less" ./packages/test-in-console/run.sh +script: TEST_PACKAGES_EXCLUDE="less" phantom=false ./packages/test-in-console/run.sh sudo: false env: - CXX=g++-4.8 addons: apt: - chrome: stable sources: - ubuntu-toolchain-r-test packages: diff --git a/packages/test-in-console/package.js b/packages/test-in-console/package.js index 2ae8a5448e..95068c6bc4 100644 --- a/packages/test-in-console/package.js +++ b/packages/test-in-console/package.js @@ -1,23 +1,21 @@ Package.describe({ - summary: "Run tests noninteractively, with results going to the console.", + summary: 'Run tests noninteractively, with results going to the console.', version: '1.2.2' }); -Package.onUse(function (api) { +Package.onUse(function(api) { api.use(['tinytest', 'underscore', 'random', 'ejson', 'check']); api.use('http', 'server'); api.export('TEST_STATUS', 'client'); - api.addFiles([ - 'driver.js', - 'test.css' - ], "client"); + api.addFiles(['driver.js', 'test.css'], 'client'); - api.addFiles(['reporter.js'], "server"); + api.addFiles(['reporter.js'], 'server'); // This is to be run by phantomjs, not as part of normal package code. - api.addAssets('runner.js', 'server'); + api.addAssets('phantomRunner.js', 'server'); + api.addAssets('puppeteerRunner.js', 'server'); api.export('runTests'); }); diff --git a/packages/test-in-console/phantomRunner.js b/packages/test-in-console/phantomRunner.js new file mode 100644 index 0000000000..43fc0b8c47 --- /dev/null +++ b/packages/test-in-console/phantomRunner.js @@ -0,0 +1,69 @@ +var createPage = require('webpage').create; +var system = require('system'); +var platform = system.args[1] || 'local'; +var platformUrl = system.env.URL + platform; +var testUrls = [ + // Additional application URLs can be added here to re-run tests in + // PhantomJS with different query parameter-based configurations. + platformUrl +]; + +function runNextUrl() { + var url = testUrls.shift(); + if (!url) { + phantom.exit(0); + return; + } + + console.log('Running Meteor tests in PhantomJS... ' + url); + + var page = createPage(); + + page.onConsoleMessage = function(message) { + console.log(message); + }; + + page.open(url); + + function poll() { + if (isDone(page)) { + var failCount = getFailCount(page); + if (failCount > 0) { + phantom.exit(1); + } else { + page.close(); + setTimeout(runNextUrl, 1000); + } + } else { + setTimeout(poll, 1000); + } + } + + poll(); +} + +function isDone(page) { + return page.evaluate(function() { + if (typeof TEST_STATUS !== 'undefined') { + return TEST_STATUS.DONE; + } + + return typeof DONE !== 'undefined' && DONE; + }); +} + +function getFailCount(page) { + return page.evaluate(function() { + if (typeof TEST_STATUS !== 'undefined') { + return TEST_STATUS.FAILURES; + } + + if (typeof FAILURES === 'undefined') { + return 1; + } + + return 0; + }); +} + +runNextUrl(); diff --git a/packages/test-in-console/runner.js b/packages/test-in-console/puppeteerRunner.js similarity index 100% rename from packages/test-in-console/runner.js rename to packages/test-in-console/puppeteerRunner.js diff --git a/packages/test-in-console/run.sh b/packages/test-in-console/run.sh index f80debd6fb..e1ed92a78c 100755 --- a/packages/test-in-console/run.sh +++ b/packages/test-in-console/run.sh @@ -4,12 +4,17 @@ cd "`dirname "$0"`" cd ../.. export METEOR_HOME=`pwd` +export phantom=$phantom + +# only install dependencies if required +if [ "$phantom" = true ] +then # Just in case these packages haven't been installed elsewhere. ./meteor npm install -g phantomjs-prebuilt browserstack-webdriver - +else # Install locally -./meteor npm install puppeteer@1.3.0 - +./meteor npm install puppeteer +fi export PATH=$METEOR_HOME:$PATH # synchronously get the dev bundle and NPM modules if they're not there. @@ -21,7 +26,14 @@ exec 3< <(meteor test-packages --driver-package test-in-console -p 4096 --exclud EXEC_PID=$! sed '/test-in-console listening$/q' <&3 -node "$METEOR_HOME/packages/test-in-console/runner.js" + +if [ "$phantom" = true ] +then +./dev_bundle/bin/phantomjs "$METEOR_HOME/packages/test-in-console/phantomRunner.js" +else +node "$METEOR_HOME/packages/test-in-console/puppeteerRunner.js" +fi + STATUS=$? pkill -TERM -P $EXEC_PID From 0d6fbba2033c234ad6213dffda184eda396c2e91 Mon Sep 17 00:00:00 2001 From: Ben Newman Date: Tue, 1 May 2018 15:14:54 -0400 Subject: [PATCH 0827/1355] Make sure minimal apps depend directly on meteor package. All Meteor packages implicitly depend on the meteor package, and the meteor-base package implies the meteor package for most Meteor apps, but the new minimal skeleton does not use meteor-base, so minimal Meteor apps were not directly depending on the meteor package. The only reason this mattered was that the meteor package registers a default compiler plugin for CSS files, and compiler plugins only apply if an app or package directly depends on them (or depends on a package that implies them, such as meteor-base). In other words, this change reenables support for raw CSS files for minimal apps. --- tools/static-assets/skel-minimal/.meteor/packages | 1 + 1 file changed, 1 insertion(+) diff --git a/tools/static-assets/skel-minimal/.meteor/packages b/tools/static-assets/skel-minimal/.meteor/packages index 35f1bde9e3..4af5a36ca0 100644 --- a/tools/static-assets/skel-minimal/.meteor/packages +++ b/tools/static-assets/skel-minimal/.meteor/packages @@ -4,6 +4,7 @@ # 'meteor add' and 'meteor remove' will edit this file for you, # but you can also edit it by hand. +meteor # Shared foundation for all Meteor packages static-html # Define static page content in .html files standard-minifier-css # CSS minifier run for production mode standard-minifier-js # JS minifier run for production mode From 0efe66e6a1fbbd3bfc870fb426084c9cd0e1610e Mon Sep 17 00:00:00 2001 From: Ben Newman Date: Tue, 1 May 2018 17:03:55 -0400 Subject: [PATCH 0828/1355] Bump package versions for 1.7-beta.28 release. --- packages/appcache/package.js | 2 +- packages/babel-compiler/package.js | 2 +- packages/boilerplate-generator-tests/package.js | 2 +- packages/boilerplate-generator/package.js | 2 +- packages/dynamic-import/package.js | 2 +- packages/ecmascript-runtime-client/package.js | 2 +- packages/ecmascript-runtime-server/package.js | 2 +- packages/ecmascript-runtime/package.js | 2 +- packages/ecmascript/package.js | 2 +- packages/es5-shim/package.js | 2 +- packages/meteor-base/package.js | 2 +- packages/meteor-tool/package.js | 2 +- packages/meteor/package.js | 2 +- packages/modern-browsers/package.js | 2 +- packages/modules-runtime/package.js | 2 +- packages/mongo/package.js | 2 +- packages/npm-mongo/package.js | 2 +- packages/promise/package.js | 2 +- packages/socket-stream-client/package.js | 2 +- packages/test-helpers/package.js | 2 +- packages/tracker/package.js | 2 +- packages/webapp/package.js | 2 +- scripts/admin/meteor-release-experimental.json | 2 +- 23 files changed, 23 insertions(+), 23 deletions(-) diff --git a/packages/appcache/package.js b/packages/appcache/package.js index c72a90dd8d..cab04249cc 100644 --- a/packages/appcache/package.js +++ b/packages/appcache/package.js @@ -1,6 +1,6 @@ Package.describe({ summary: "Enable the application cache in the browser", - version: "1.2.0-beta17.27", + version: "1.2.0-beta17.28", }); Package.onUse(api => { diff --git a/packages/babel-compiler/package.js b/packages/babel-compiler/package.js index 03e5cc82ed..a6762a8b00 100644 --- a/packages/babel-compiler/package.js +++ b/packages/babel-compiler/package.js @@ -6,7 +6,7 @@ Package.describe({ // isn't possible because you can't publish a non-recommended // release with package versions that don't have a pre-release // identifier at the end (eg, -dev) - version: '7.1.0-beta17.27' + version: '7.1.0-beta17.28' }); Npm.depends({ diff --git a/packages/boilerplate-generator-tests/package.js b/packages/boilerplate-generator-tests/package.js index fa9a3c19e7..1a9e099366 100644 --- a/packages/boilerplate-generator-tests/package.js +++ b/packages/boilerplate-generator-tests/package.js @@ -2,7 +2,7 @@ Package.describe({ // These tests are in a separate package so that we can Npm.depend on // parse5, a html parsing library. summary: "Tests for the boilerplate-generator package", - version: '1.5.0-beta17.27', + version: '1.5.0-beta17.28', documentation: null }); diff --git a/packages/boilerplate-generator/package.js b/packages/boilerplate-generator/package.js index 4d231eec3c..64a6913549 100644 --- a/packages/boilerplate-generator/package.js +++ b/packages/boilerplate-generator/package.js @@ -1,6 +1,6 @@ Package.describe({ summary: "Generates the boilerplate html from program's manifest", - version: '1.5.0-beta17.27' + version: '1.5.0-beta17.28' }); Npm.depends({ diff --git a/packages/dynamic-import/package.js b/packages/dynamic-import/package.js index ae05b14160..3f6239f045 100644 --- a/packages/dynamic-import/package.js +++ b/packages/dynamic-import/package.js @@ -1,6 +1,6 @@ Package.describe({ name: "dynamic-import", - version: "0.4.0-beta17.27", + version: "0.4.0-beta17.28", summary: "Runtime support for Meteor 1.5 dynamic import(...) syntax", documentation: "README.md" }); diff --git a/packages/ecmascript-runtime-client/package.js b/packages/ecmascript-runtime-client/package.js index d298764921..62c823d0f1 100644 --- a/packages/ecmascript-runtime-client/package.js +++ b/packages/ecmascript-runtime-client/package.js @@ -1,6 +1,6 @@ Package.describe({ name: "ecmascript-runtime-client", - version: "0.7.0-beta17.27", + version: "0.7.0-beta17.28", summary: "Polyfills for new ECMAScript 2015 APIs like Map and Set", git: "https://github.com/meteor/meteor/tree/devel/packages/ecmascript-runtime-client", documentation: "README.md" diff --git a/packages/ecmascript-runtime-server/package.js b/packages/ecmascript-runtime-server/package.js index ecc58bfc8a..1b740843b2 100644 --- a/packages/ecmascript-runtime-server/package.js +++ b/packages/ecmascript-runtime-server/package.js @@ -1,6 +1,6 @@ Package.describe({ name: "ecmascript-runtime-server", - version: "0.7.0-beta17.27", + version: "0.7.0-beta17.28", summary: "Polyfills for new ECMAScript 2015 APIs like Map and Set", git: "https://github.com/meteor/meteor/tree/devel/packages/ecmascript-runtime-client", documentation: "README.md" diff --git a/packages/ecmascript-runtime/package.js b/packages/ecmascript-runtime/package.js index b9417d7fe5..ce68d2530c 100644 --- a/packages/ecmascript-runtime/package.js +++ b/packages/ecmascript-runtime/package.js @@ -1,6 +1,6 @@ Package.describe({ name: "ecmascript-runtime", - version: "0.7.0-beta17.27", + version: "0.7.0-beta17.28", summary: "Polyfills for new ECMAScript 2015 APIs like Map and Set", git: "https://github.com/meteor/ecmascript-runtime", documentation: "README.md" diff --git a/packages/ecmascript/package.js b/packages/ecmascript/package.js index f26eca6940..57f8d9d43a 100644 --- a/packages/ecmascript/package.js +++ b/packages/ecmascript/package.js @@ -1,6 +1,6 @@ Package.describe({ name: 'ecmascript', - version: '0.11.0-beta17.27', + version: '0.11.0-beta17.28', summary: 'Compiler plugin that supports ES2015+ in all .js files', documentation: 'README.md' }); diff --git a/packages/es5-shim/package.js b/packages/es5-shim/package.js index c5e3b0b1c5..29edc5e496 100644 --- a/packages/es5-shim/package.js +++ b/packages/es5-shim/package.js @@ -1,6 +1,6 @@ Package.describe({ name: "es5-shim", - version: "4.8.0-beta17.27", + version: "4.8.0-beta17.28", summary: "Shims and polyfills to improve ECMAScript 5 support", documentation: "README.md" }); diff --git a/packages/meteor-base/package.js b/packages/meteor-base/package.js index f5c7c460d4..ed53ade97e 100644 --- a/packages/meteor-base/package.js +++ b/packages/meteor-base/package.js @@ -1,6 +1,6 @@ Package.describe({ name: 'meteor-base', - version: '1.4.0-beta17.27', + version: '1.4.0-beta17.28', // Brief, one-line summary of the package. summary: 'Packages that every Meteor app needs', // By default, Meteor will default to using README.md for documentation. diff --git a/packages/meteor-tool/package.js b/packages/meteor-tool/package.js index 4ed15673f8..04560cbf71 100644 --- a/packages/meteor-tool/package.js +++ b/packages/meteor-tool/package.js @@ -1,6 +1,6 @@ Package.describe({ summary: "The Meteor command-line tool", - version: '1.7.0-beta.27' + version: '1.7.0-beta.28' }); Package.includeTool(); diff --git a/packages/meteor/package.js b/packages/meteor/package.js index 96664ce264..f80e45250b 100644 --- a/packages/meteor/package.js +++ b/packages/meteor/package.js @@ -2,7 +2,7 @@ Package.describe({ summary: "Core Meteor environment", - version: '1.9.0-beta17.27' + version: '1.9.0-beta17.28' }); Package.registerBuildPlugin({ diff --git a/packages/modern-browsers/package.js b/packages/modern-browsers/package.js index f6dffa1488..3fb05da328 100644 --- a/packages/modern-browsers/package.js +++ b/packages/modern-browsers/package.js @@ -1,6 +1,6 @@ Package.describe({ name: "modern-browsers", - version: "0.1.0-beta17.27", + version: "0.1.0-beta17.28", summary: "API for defining the boundary between modern and legacy " + "JavaScript clients", documentation: "README.md" diff --git a/packages/modules-runtime/package.js b/packages/modules-runtime/package.js index 86c683e49a..d820d8f354 100644 --- a/packages/modules-runtime/package.js +++ b/packages/modules-runtime/package.js @@ -1,6 +1,6 @@ Package.describe({ name: "modules-runtime", - version: "0.10.0-beta17.27", + version: "0.10.0-beta17.28", summary: "CommonJS module system", git: "https://github.com/benjamn/install", documentation: "README.md" diff --git a/packages/mongo/package.js b/packages/mongo/package.js index e604c7db3d..88cfca148a 100644 --- a/packages/mongo/package.js +++ b/packages/mongo/package.js @@ -9,7 +9,7 @@ Package.describe({ summary: "Adaptor for using MongoDB and Minimongo over DDP", - version: '1.5.0-beta17.27' + version: '1.5.0-beta17.28' }); Npm.depends({ diff --git a/packages/npm-mongo/package.js b/packages/npm-mongo/package.js index 26e72d3d03..3de6d6bd1c 100644 --- a/packages/npm-mongo/package.js +++ b/packages/npm-mongo/package.js @@ -3,7 +3,7 @@ Package.describe({ summary: "Wrapper around the mongo npm package", - version: "3.0.7-beta17.27", + version: "3.0.7-beta17.28", documentation: null }); diff --git a/packages/promise/package.js b/packages/promise/package.js index 2c1ff03d96..0dc73b6f29 100644 --- a/packages/promise/package.js +++ b/packages/promise/package.js @@ -1,6 +1,6 @@ Package.describe({ name: "promise", - version: "0.11.0-beta17.27", + version: "0.11.0-beta17.28", summary: "ECMAScript 2015 Promise polyfill with Fiber support", git: "https://github.com/meteor/promise", documentation: "README.md" diff --git a/packages/socket-stream-client/package.js b/packages/socket-stream-client/package.js index 372173787f..b1de99e769 100644 --- a/packages/socket-stream-client/package.js +++ b/packages/socket-stream-client/package.js @@ -1,6 +1,6 @@ Package.describe({ name: "socket-stream-client", - version: "0.2.0-beta17.27", + version: "0.2.0-beta17.28", summary: "Provides the ClientStream abstraction used by ddp-client", documentation: "README.md" }); diff --git a/packages/test-helpers/package.js b/packages/test-helpers/package.js index eceb520f15..7ccffda753 100644 --- a/packages/test-helpers/package.js +++ b/packages/test-helpers/package.js @@ -1,6 +1,6 @@ Package.describe({ summary: "Utility functions for tests", - version: '1.1.0' + version: '1.1.0-beta17.28' }); Package.onUse(function (api) { diff --git a/packages/tracker/package.js b/packages/tracker/package.js index 4678c1c251..2256f4c28e 100644 --- a/packages/tracker/package.js +++ b/packages/tracker/package.js @@ -1,6 +1,6 @@ Package.describe({ summary: "Dependency tracker to allow reactive callbacks", - version: "1.2.0-beta17.27" + version: "1.2.0-beta17.28" }); Package.onUse(function (api) { diff --git a/packages/webapp/package.js b/packages/webapp/package.js index 82d3f0c356..20800c4508 100644 --- a/packages/webapp/package.js +++ b/packages/webapp/package.js @@ -1,6 +1,6 @@ Package.describe({ summary: "Serves a Meteor app over HTTP", - version: '1.6.0-beta17.27' + version: '1.6.0-beta17.28' }); Npm.depends({"basic-auth-connect": "1.0.0", diff --git a/scripts/admin/meteor-release-experimental.json b/scripts/admin/meteor-release-experimental.json index 84ba1b9db7..6cbe39251b 100644 --- a/scripts/admin/meteor-release-experimental.json +++ b/scripts/admin/meteor-release-experimental.json @@ -1,6 +1,6 @@ { "track": "METEOR", - "version": "1.7-beta.27", + "version": "1.7-beta.28", "recommended": false, "official": false, "description": "Meteor" From 454422f9f0752ac2f8216db2d16a75f5dad286be Mon Sep 17 00:00:00 2001 From: Ben Newman Date: Tue, 1 May 2018 17:44:56 -0400 Subject: [PATCH 0829/1355] Avoid const in promise package, since it is not ecmascript-compiled. --- packages/promise/extensions.js | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/packages/promise/extensions.js b/packages/promise/extensions.js index b285cb5d85..1deb9aac64 100644 --- a/packages/promise/extensions.js +++ b/packages/promise/extensions.js @@ -1,5 +1,5 @@ -const proto = Promise.prototype; -const hasOwn = Object.prototype.hasOwnProperty; +var proto = Promise.prototype; +var hasOwn = Object.prototype.hasOwnProperty; proto.done = function (onFulfilled, onRejected) { var self = this; From 8bfdea712a758fea369da7bed18eeeb9f74b567a Mon Sep 17 00:00:00 2001 From: Ben Newman Date: Tue, 1 May 2018 19:37:59 -0400 Subject: [PATCH 0830/1355] Use legacy workaround for @babel/runtime/helpers/inheritsLoose. IE10 does not support setting the __proto__ property of objects as an alternative to Object.setPrototypeOf. Because Babel generates code that uses the @babel/runtime/helpers/inheritsLoose helper, and that helper relies on setting __proto__, subclassing fails in Babel-generated code in IE10 (and earlier), which causes a white screen of death in newly created Meteor apps. This commit checks whether setting __proto__ works, and (if not) overrides the inheritsLoose helper with an implementation that does not rely on setting __proto__. This logic applies only in legacy browsers, thanks to api.addFiles("legacy.js", "legacy"). Although this shim isn't perfect (for example, there is no way to set up true inheritance of static properties), it will allow inheritance to work in browsers that would otherwise be completely broken. Since IE10 represents only 0.1% of the world market, we should not overinvest in keeping it working, but this seemed like a good opportunity to take advantage of legacy bundling, without adding any new code to the modern bundle. --- packages/babel-runtime/legacy.js | 53 +++++++++++++++++++++++++++++++ packages/babel-runtime/package.js | 3 +- 2 files changed, 55 insertions(+), 1 deletion(-) create mode 100644 packages/babel-runtime/legacy.js diff --git a/packages/babel-runtime/legacy.js b/packages/babel-runtime/legacy.js new file mode 100644 index 0000000000..e9973cb1b5 --- /dev/null +++ b/packages/babel-runtime/legacy.js @@ -0,0 +1,53 @@ +// This module contains various legacy workarounds for @babel/runtime issues +// in older browsers. Note that this module is loaded only in legacy +// environments, and no changes are made unless they are necessary. + +var hasOwn = Object.prototype.hasOwnProperty; +var helpers = {}; + +function assign(into, from) { + Object.keys(from).forEach(function (key) { + if (! hasOwn.call(into, key)) { + into[key] = from[key]; + } + }); + return into; +} + +var obj = {}; +obj.__proto__ = { test: obj }; +var canSetProto = obj.test === obj; + +if (! canSetProto) { + // Browsers that don't allow setting __proto__ (and also do not support + // Object.setPrototypeOf) cannot use the inheritsLoose @babel/runtime + // helper module, so we replace it with a similar module that works + // infinitely better in older browsers. + helpers.inheritsLoose = function (require, exports, module) { + module.exports = function (subclass, superclass) { + subclass.prototype = assign( + Object.create(superclass.prototype), + subclass.prototype + ); + // This isn't true static inheritance, since static properties added + // to or removed from the superclass later will not be reflected on + // the subclass, but this approximation is the best that we can do. + assign(subclass, superclass); + }; + }; +} + +// Install @babel/runtime/helpers/... modules that will take precedence +// over the actual modules, regardless of which gets installed first, +// because these replacement modules don't have a .js file extension. +if (Object.keys(helpers).length > 0) { + meteorInstall({ + node_modules: { + "@babel": { + runtime: { + helpers: helpers + } + } + } + }); +} diff --git a/packages/babel-runtime/package.js b/packages/babel-runtime/package.js index 1bb76b6b99..6b5e6b2d12 100644 --- a/packages/babel-runtime/package.js +++ b/packages/babel-runtime/package.js @@ -1,7 +1,7 @@ Package.describe({ name: "babel-runtime", summary: "Runtime support for output of Babel transpiler", - version: '1.2.2', + version: '1.3.0', documentation: 'README.md' }); @@ -12,5 +12,6 @@ Npm.depends({ Package.onUse(function (api) { api.use("modules"); api.mainModule("babel-runtime.js"); + api.addFiles("legacy.js", "legacy"); api.export("meteorBabelHelpers"); }); From fb9321870e973767a99160c50a44066c838fd4e3 Mon Sep 17 00:00:00 2001 From: Ben Newman Date: Thu, 3 May 2018 13:27:19 -0400 Subject: [PATCH 0831/1355] Set minimum modern versions for Electron. This effectively means Electron 1.6.0+ will be considered modern. Fixes #9852. --- History.md | 2 +- .../.npm/package/npm-shrinkwrap.json | 72 +++++++++---------- packages/babel-compiler/package.js | 2 +- .../ecmascript-runtime-client/versions.js | 3 + packages/modern-browsers/modern.js | 6 ++ packages/promise/server.js | 2 + packages/socket-stream-client/server.js | 1 + scripts/dev-bundle-tool-package.js | 2 +- 8 files changed, 51 insertions(+), 39 deletions(-) diff --git a/History.md b/History.md index 9f96fd0e7e..a84aae6629 100644 --- a/History.md +++ b/History.md @@ -109,7 +109,7 @@ want to run. [PR #9714](https://github.com/meteor/meteor/pull/9714) * The `meteor-babel` npm package has been updated to version - 7.0.0-beta.46. + 7.0.0-beta.46-1. * The `reify` npm package has been updated to version 0.15.1. diff --git a/packages/babel-compiler/.npm/package/npm-shrinkwrap.json b/packages/babel-compiler/.npm/package/npm-shrinkwrap.json index ac4aa8dfe1..dbb5ea80db 100644 --- a/packages/babel-compiler/.npm/package/npm-shrinkwrap.json +++ b/packages/babel-compiler/.npm/package/npm-shrinkwrap.json @@ -457,24 +457,24 @@ "integrity": "sha512-GlhOuLOQ28ua9prg0hT33HslCrEmz9xWXy9ZNZSACppCyRxxRW+haYtRgm7uYXCcd0q8ggCWD2pfWEJp5iiZfQ==" }, "babel-plugin-transform-member-expression-literals": { - "version": "6.9.1", - "resolved": "https://registry.npmjs.org/babel-plugin-transform-member-expression-literals/-/babel-plugin-transform-member-expression-literals-6.9.1.tgz", - "integrity": "sha1-lr4umWjn9UlzM64DKE7NU0BAVIk=" + "version": "6.9.2", + "resolved": "https://registry.npmjs.org/babel-plugin-transform-member-expression-literals/-/babel-plugin-transform-member-expression-literals-6.9.2.tgz", + "integrity": "sha1-Hzl6uWGlw6QB8qdHrwbnIASvy3Y=" }, "babel-plugin-transform-merge-sibling-variables": { - "version": "6.9.1", - "resolved": "https://registry.npmjs.org/babel-plugin-transform-merge-sibling-variables/-/babel-plugin-transform-merge-sibling-variables-6.9.1.tgz", - "integrity": "sha1-kHHkQ7IUWM5rCo04QbpaF09dwoI=" + "version": "6.9.2", + "resolved": "https://registry.npmjs.org/babel-plugin-transform-merge-sibling-variables/-/babel-plugin-transform-merge-sibling-variables-6.9.2.tgz", + "integrity": "sha1-mUqQBKecefDJHEluii28fptz97Q=" }, "babel-plugin-transform-minify-booleans": { - "version": "6.9.1", - "resolved": "https://registry.npmjs.org/babel-plugin-transform-minify-booleans/-/babel-plugin-transform-minify-booleans-6.9.1.tgz", - "integrity": "sha1-UsunnAD6UJc3BkBV76siFm4UDE0=" + "version": "6.9.2", + "resolved": "https://registry.npmjs.org/babel-plugin-transform-minify-booleans/-/babel-plugin-transform-minify-booleans-6.9.2.tgz", + "integrity": "sha1-z5lb4GegMDy1JlSfA9zZaCQZQw0=" }, "babel-plugin-transform-property-literals": { - "version": "6.9.1", - "resolved": "https://registry.npmjs.org/babel-plugin-transform-property-literals/-/babel-plugin-transform-property-literals-6.9.1.tgz", - "integrity": "sha1-aXD5Oxd5OrzenPJdLozRPgCI5ck=" + "version": "6.9.2", + "resolved": "https://registry.npmjs.org/babel-plugin-transform-property-literals/-/babel-plugin-transform-property-literals-6.9.2.tgz", + "integrity": "sha1-pY0Jls8q2vIk986EitHN5M2M8nU=" }, "babel-plugin-transform-regexp-constructors": { "version": "0.2.0", @@ -482,14 +482,14 @@ "integrity": "sha512-7IsQ6aQx6LAaOqy97/PthTf+5Nx9grZww3r6E62IdWe76Yr8KsuwVjxzqSPQvESJqTE3EMADQ9S0RtwWDGNG9Q==" }, "babel-plugin-transform-remove-console": { - "version": "6.9.1", - "resolved": "https://registry.npmjs.org/babel-plugin-transform-remove-console/-/babel-plugin-transform-remove-console-6.9.1.tgz", - "integrity": "sha1-QP6V2YyuWBHYoOGImBLXixKFllE=" + "version": "6.9.2", + "resolved": "https://registry.npmjs.org/babel-plugin-transform-remove-console/-/babel-plugin-transform-remove-console-6.9.2.tgz", + "integrity": "sha1-6KDCfVbJUDyhbihPa2Tb1LldIek=" }, "babel-plugin-transform-remove-debugger": { - "version": "6.9.1", - "resolved": "https://registry.npmjs.org/babel-plugin-transform-remove-debugger/-/babel-plugin-transform-remove-debugger-6.9.1.tgz", - "integrity": "sha1-dlUtLp1sQ9nGdrv8CPPCoswUvhQ=" + "version": "6.9.2", + "resolved": "https://registry.npmjs.org/babel-plugin-transform-remove-debugger/-/babel-plugin-transform-remove-debugger-6.9.2.tgz", + "integrity": "sha1-U2yHvbYgDRRgyZbdldF5zzjCTuE=" }, "babel-plugin-transform-remove-undefined": { "version": "0.2.0", @@ -497,19 +497,19 @@ "integrity": "sha512-O8v57tPMHkp89kA4ZfQEYds/pzgvz/QYerBJjIuL5/Jc7RnvMVRA5gJY9zFKP7WayW8WOSBV4vh8Y8FJRio+ow==" }, "babel-plugin-transform-simplify-comparison-operators": { - "version": "6.9.1", - "resolved": "https://registry.npmjs.org/babel-plugin-transform-simplify-comparison-operators/-/babel-plugin-transform-simplify-comparison-operators-6.9.1.tgz", - "integrity": "sha1-Ww0GmAoXp4D1MYsnTAC+L7HHxP4=" + "version": "6.9.2", + "resolved": "https://registry.npmjs.org/babel-plugin-transform-simplify-comparison-operators/-/babel-plugin-transform-simplify-comparison-operators-6.9.2.tgz", + "integrity": "sha1-DA6a+nMpJPA6qYL9Y8ktBAi9VlY=" }, "babel-plugin-transform-undefined-to-void": { - "version": "6.9.1", - "resolved": "https://registry.npmjs.org/babel-plugin-transform-undefined-to-void/-/babel-plugin-transform-undefined-to-void-6.9.1.tgz", - "integrity": "sha1-19+cHdDsEuD/6JXtFEX2Hxv14iE=" + "version": "6.9.2", + "resolved": "https://registry.npmjs.org/babel-plugin-transform-undefined-to-void/-/babel-plugin-transform-undefined-to-void-6.9.2.tgz", + "integrity": "sha1-Fl/eczkydr6gKnOWWIeNzO0Lnrs=" }, "babel-preset-meteor": { - "version": "7.0.0-beta.46", - "resolved": "https://registry.npmjs.org/babel-preset-meteor/-/babel-preset-meteor-7.0.0-beta.46.tgz", - "integrity": "sha512-XrxvtwFrvs046DIQXMkrb0QM5t8xj8YQ8jc9cTOmzL4VHvAEFttlzGkgBfCLa2cKB5nE7dbacxTgDQPKPtC5Lw==" + "version": "7.0.0-beta.46-1", + "resolved": "https://registry.npmjs.org/babel-preset-meteor/-/babel-preset-meteor-7.0.0-beta.46-1.tgz", + "integrity": "sha512-rM9nHO8HL08Rv9ZhEuRUbz926zDXs0st8QCklUtmOazIqteLim0EiqJYp25pQq4wiLvBJ30xv3ApnyBT5QC4ig==" }, "babel-preset-minify": { "version": "0.2.0", @@ -527,9 +527,9 @@ "integrity": "sha1-uneWLhLf+WnWt2cR6RS3N4V79qc=" }, "chalk": { - "version": "2.4.0", - "resolved": "https://registry.npmjs.org/chalk/-/chalk-2.4.0.tgz", - "integrity": "sha512-Wr/w0f4o9LuE7K53cD0qmbAMM+2XNLzR29vFn5hqko4sxGlUsyy363NvmyGIyk5tpe9cjTr9SJYbysEyPkRnFw==" + "version": "2.4.1", + "resolved": "https://registry.npmjs.org/chalk/-/chalk-2.4.1.tgz", + "integrity": "sha512-ObN6h1v2fTJSmUXoS3nMQ92LbDK9be4TV+6G+omQlGJFdcUX5heKi1LZ1YnRMIgwTLEj3E24bT6tYni50rlCfQ==" }, "color-convert": { "version": "1.9.1", @@ -612,9 +612,9 @@ "integrity": "sha1-gTg9ctsFT8zPUzbaqQLxgvbtuyg=" }, "globals": { - "version": "11.4.0", - "resolved": "https://registry.npmjs.org/globals/-/globals-11.4.0.tgz", - "integrity": "sha512-Dyzmifil8n/TmSqYDEXbm+C8yitzJQqQIlJQLNRMwa+BOUJpRC19pyVeN12JAjt61xonvXjtff+hJruTRXn5HA==" + "version": "11.5.0", + "resolved": "https://registry.npmjs.org/globals/-/globals-11.5.0.tgz", + "integrity": "sha512-hYyf+kI8dm3nORsiiXUQigOU62hDLfJ9G01uyGMxhc6BKsircrUhC4uJPQPUSuq2GrTmiiEt7ewxlMdBewfmKQ==" }, "has-flag": { "version": "3.0.0", @@ -722,9 +722,9 @@ "integrity": "sha1-0aitM/qc4OcT1l/dCsi3SNR4yEg=" }, "meteor-babel": { - "version": "7.0.0-beta.46", - "resolved": "https://registry.npmjs.org/meteor-babel/-/meteor-babel-7.0.0-beta.46.tgz", - "integrity": "sha512-WbL1SR2kFT8P++eeqdjPhkDKi7zhgtYdr3fT73UdqftYRl0d1FpegzUTW3Rh8HdjS/PlqCQdBIbFa7cjo/uIKg==" + "version": "7.0.0-beta.46-1", + "resolved": "https://registry.npmjs.org/meteor-babel/-/meteor-babel-7.0.0-beta.46-1.tgz", + "integrity": "sha512-8Ou2IFnXBioiHf5RS4zvfO7evn6+0mimejh+R+dkY9jlYI9rgspIfUR6Uw5VHazw6pD73dxtD/IuNXFMyUcFdQ==" }, "meteor-babel-helpers": { "version": "0.0.3", diff --git a/packages/babel-compiler/package.js b/packages/babel-compiler/package.js index a6762a8b00..97b0bc7afa 100644 --- a/packages/babel-compiler/package.js +++ b/packages/babel-compiler/package.js @@ -10,7 +10,7 @@ Package.describe({ }); Npm.depends({ - 'meteor-babel': '7.0.0-beta.46' + 'meteor-babel': '7.0.0-beta.46-1' }); Package.onUse(function (api) { diff --git a/packages/ecmascript-runtime-client/versions.js b/packages/ecmascript-runtime-client/versions.js index 77add0d6cc..22fd092ba6 100644 --- a/packages/ecmascript-runtime-client/versions.js +++ b/packages/ecmascript-runtime-client/versions.js @@ -12,4 +12,7 @@ setMinimumBrowserVersions({ mobile_safari: 10, opera: 38, safari: 10, + // Electron 1.6.0+ matches Chromium 55, per + // https://github.com/Kilian/electron-to-chromium/blob/master/full-versions.js + electron: [1, 6], }, module.id); diff --git a/packages/modern-browsers/modern.js b/packages/modern-browsers/modern.js index 8133f4db33..ed4cf86fa1 100644 --- a/packages/modern-browsers/modern.js +++ b/packages/modern-browsers/modern.js @@ -139,6 +139,9 @@ setMinimumBrowserVersions({ mobile_safari: [9, 2], opera: 36, safari: 9, + // Electron 1.0.0+ matches Chromium 49, per + // https://github.com/Kilian/electron-to-chromium/blob/master/full-versions.js + electron: 1, }, makeSource("classes")); setMinimumBrowserVersions({ @@ -150,6 +153,7 @@ setMinimumBrowserVersions({ safari: 10, // Disallow any version of PhantomJS. phantomjs: Infinity, + electron: [0, 20], }, makeSource("generator functions")); setMinimumBrowserVersions({ @@ -159,6 +163,7 @@ setMinimumBrowserVersions({ mobile_safari: [9, 2], opera: 29, safari: [9, 1], + electron: [0, 24], }, makeSource("template literals")); setMinimumBrowserVersions({ @@ -168,4 +173,5 @@ setMinimumBrowserVersions({ mobile_safari: 9, opera: 25, safari: 9, + electron: [0, 20], }, makeSource("symbols")); diff --git a/packages/promise/server.js b/packages/promise/server.js index 5ec1d3fe48..d92e6a76b3 100644 --- a/packages/promise/server.js +++ b/packages/promise/server.js @@ -18,4 +18,6 @@ require("meteor/modern-browsers").setMinimumBrowserVersions({ mobile_safari: 8, opera: 20, safari: [7, 1], + // https://github.com/Kilian/electron-to-chromium/blob/master/full-versions.js + electron: [0, 20], }, module.id); diff --git a/packages/socket-stream-client/server.js b/packages/socket-stream-client/server.js index 589b41c698..3b4869e4d0 100644 --- a/packages/socket-stream-client/server.js +++ b/packages/socket-stream-client/server.js @@ -10,4 +10,5 @@ setMinimumBrowserVersions({ mobile_safari: [6, 1], phantomjs: 2, safari: 7, + electron: [0, 20], }, module.id); diff --git a/scripts/dev-bundle-tool-package.js b/scripts/dev-bundle-tool-package.js index 91bf19460b..bb82403c6e 100644 --- a/scripts/dev-bundle-tool-package.js +++ b/scripts/dev-bundle-tool-package.js @@ -14,7 +14,7 @@ var packageJson = { pacote: "https://github.com/meteor/pacote/tarball/2c16c509074bbba8ca5dd410caf808412ce79e6c", "node-gyp": "3.6.2", "node-pre-gyp": "0.6.36", - "meteor-babel": "7.0.0-beta.46", + "meteor-babel": "7.0.0-beta.46-1", "meteor-promise": "0.8.6", promise: "8.0.1", reify: "0.15.1", From a0842f70f6dc871009554ae8f6db3d5f10b7b8b4 Mon Sep 17 00:00:00 2001 From: Ben Newman Date: Thu, 3 May 2018 14:53:15 -0400 Subject: [PATCH 0832/1355] Expose Cordova assets with and without /__cordova URL prefix. Related to #9776. Fixes #9782. --- tools/isobuild/bundler.js | 61 ++++++++++++++++++++++++++++++--------- 1 file changed, 47 insertions(+), 14 deletions(-) diff --git a/tools/isobuild/bundler.js b/tools/isobuild/bundler.js index 6c2f72d1bd..a14206cad7 100644 --- a/tools/isobuild/bundler.js +++ b/tools/isobuild/bundler.js @@ -1097,26 +1097,40 @@ class Target { return; } - const f = new File({ + const fileOptions = { info: 'unbuild ' + resource, arch: this.arch, data: resource.data, cacheable: false, hash: resource.hash, - }); + }; - const relPath = isOs - ? files.pathJoin('assets', resource.servePath) - : stripLeadingSlash(resource.servePath); - f.setTargetPathFromRelPath(relPath); + const file = new File(fileOptions); + const assetFiles = [file]; - if (isWeb) { - f.setUrlFromRelPath(resource.servePath); - } else { - unibuildAssets[resource.path] = resource.data; + if (file.urlPrefix.length > 0) { + const noPrefix = new File(fileOptions); + noPrefix.urlPrefix = ""; + // If the file has a URL prefix, add another resource for this + // asset without the prefix. + assetFiles.push(noPrefix); } - this.asset.push(f); + assetFiles.forEach(f => { + const relPath = isOs + ? files.pathJoin('assets', resource.servePath) + : stripLeadingSlash(resource.servePath); + + f.setTargetPathFromRelPath(relPath); + + if (isWeb) { + f.setUrlFromRelPath(resource.servePath); + } else { + unibuildAssets[resource.path] = resource.data; + } + + this.asset.push(f); + }); }); // Now look for the other kinds of resources. @@ -1566,9 +1580,28 @@ class ClientTarget extends Target { // Reserve all file names from the manifest, so that interleaved // generateFilename calls don't overlap with them. - eachResource((file, type) => - builder.reserve(file.targetPath) - ); + + const targetPathToHash = new Map; + eachResource((file, type) => { + const hash = targetPathToHash.get(file.targetPath); + if (hash) { + // When we add assets that have a URL prefix like /__cordova, we + // also add them without the prefix, which means there could be + // collisions between target paths, causing builder.reserve to + // throw an exception. However, we tolerate collisions (and call + // builder.reserve only once) if the hashes of the two assets are + // identical, which should always be the case when we register a + // single asset using multiple target paths. If the hashes do not + // match for some reason, we just call builder.reserve again and + // let it throw. + if (file.hash() === hash) { + return; + } + } else { + targetPathToHash.set(file.targetPath, file.hash()); + } + builder.reserve(file.targetPath); + }); // Build up a manifest of all resources served via HTTP. const manifest = []; From 6020b38dded3440c9032e25b2473e557fa963027 Mon Sep 17 00:00:00 2001 From: Ben Newman Date: Thu, 3 May 2018 19:01:29 -0400 Subject: [PATCH 0833/1355] Bump package versions for 1.7-rc.1 release. :tada: --- packages/appcache/package.js | 2 +- packages/babel-compiler/package.js | 2 +- packages/babel-runtime/package.js | 2 +- packages/boilerplate-generator-tests/package.js | 2 +- packages/boilerplate-generator/package.js | 2 +- packages/dynamic-import/package.js | 2 +- packages/ecmascript-runtime-client/package.js | 2 +- packages/ecmascript-runtime-server/package.js | 2 +- packages/ecmascript-runtime/package.js | 2 +- packages/ecmascript/package.js | 2 +- packages/es5-shim/package.js | 2 +- packages/meteor-base/package.js | 2 +- packages/meteor-tool/package.js | 2 +- packages/meteor/package.js | 2 +- packages/modern-browsers/package.js | 2 +- packages/modules-runtime/package.js | 2 +- packages/mongo/package.js | 2 +- packages/npm-mongo/package.js | 2 +- packages/promise/package.js | 2 +- packages/socket-stream-client/package.js | 2 +- packages/test-helpers/package.js | 2 +- packages/tracker/package.js | 2 +- packages/webapp/package.js | 2 +- scripts/admin/meteor-release-experimental.json | 2 +- 24 files changed, 24 insertions(+), 24 deletions(-) diff --git a/packages/appcache/package.js b/packages/appcache/package.js index cab04249cc..82d10f9710 100644 --- a/packages/appcache/package.js +++ b/packages/appcache/package.js @@ -1,6 +1,6 @@ Package.describe({ summary: "Enable the application cache in the browser", - version: "1.2.0-beta17.28", + version: "1.2.0-rc17.1", }); Package.onUse(api => { diff --git a/packages/babel-compiler/package.js b/packages/babel-compiler/package.js index 97b0bc7afa..293a1daa93 100644 --- a/packages/babel-compiler/package.js +++ b/packages/babel-compiler/package.js @@ -6,7 +6,7 @@ Package.describe({ // isn't possible because you can't publish a non-recommended // release with package versions that don't have a pre-release // identifier at the end (eg, -dev) - version: '7.1.0-beta17.28' + version: '7.1.0-rc17.1' }); Npm.depends({ diff --git a/packages/babel-runtime/package.js b/packages/babel-runtime/package.js index 6b5e6b2d12..f7c7855117 100644 --- a/packages/babel-runtime/package.js +++ b/packages/babel-runtime/package.js @@ -1,7 +1,7 @@ Package.describe({ name: "babel-runtime", summary: "Runtime support for output of Babel transpiler", - version: '1.3.0', + version: '1.3.0-rc17.1', documentation: 'README.md' }); diff --git a/packages/boilerplate-generator-tests/package.js b/packages/boilerplate-generator-tests/package.js index 1a9e099366..0f345544c3 100644 --- a/packages/boilerplate-generator-tests/package.js +++ b/packages/boilerplate-generator-tests/package.js @@ -2,7 +2,7 @@ Package.describe({ // These tests are in a separate package so that we can Npm.depend on // parse5, a html parsing library. summary: "Tests for the boilerplate-generator package", - version: '1.5.0-beta17.28', + version: '1.5.0-rc17.1', documentation: null }); diff --git a/packages/boilerplate-generator/package.js b/packages/boilerplate-generator/package.js index 64a6913549..d4c2d2c9e1 100644 --- a/packages/boilerplate-generator/package.js +++ b/packages/boilerplate-generator/package.js @@ -1,6 +1,6 @@ Package.describe({ summary: "Generates the boilerplate html from program's manifest", - version: '1.5.0-beta17.28' + version: '1.5.0-rc17.1' }); Npm.depends({ diff --git a/packages/dynamic-import/package.js b/packages/dynamic-import/package.js index 3f6239f045..f3e7e6dd64 100644 --- a/packages/dynamic-import/package.js +++ b/packages/dynamic-import/package.js @@ -1,6 +1,6 @@ Package.describe({ name: "dynamic-import", - version: "0.4.0-beta17.28", + version: "0.4.0-rc17.1", summary: "Runtime support for Meteor 1.5 dynamic import(...) syntax", documentation: "README.md" }); diff --git a/packages/ecmascript-runtime-client/package.js b/packages/ecmascript-runtime-client/package.js index 62c823d0f1..d1c5a914dd 100644 --- a/packages/ecmascript-runtime-client/package.js +++ b/packages/ecmascript-runtime-client/package.js @@ -1,6 +1,6 @@ Package.describe({ name: "ecmascript-runtime-client", - version: "0.7.0-beta17.28", + version: "0.7.0-rc17.1", summary: "Polyfills for new ECMAScript 2015 APIs like Map and Set", git: "https://github.com/meteor/meteor/tree/devel/packages/ecmascript-runtime-client", documentation: "README.md" diff --git a/packages/ecmascript-runtime-server/package.js b/packages/ecmascript-runtime-server/package.js index 1b740843b2..3d779c91ae 100644 --- a/packages/ecmascript-runtime-server/package.js +++ b/packages/ecmascript-runtime-server/package.js @@ -1,6 +1,6 @@ Package.describe({ name: "ecmascript-runtime-server", - version: "0.7.0-beta17.28", + version: "0.7.0-rc17.1", summary: "Polyfills for new ECMAScript 2015 APIs like Map and Set", git: "https://github.com/meteor/meteor/tree/devel/packages/ecmascript-runtime-client", documentation: "README.md" diff --git a/packages/ecmascript-runtime/package.js b/packages/ecmascript-runtime/package.js index ce68d2530c..07293542af 100644 --- a/packages/ecmascript-runtime/package.js +++ b/packages/ecmascript-runtime/package.js @@ -1,6 +1,6 @@ Package.describe({ name: "ecmascript-runtime", - version: "0.7.0-beta17.28", + version: "0.7.0-rc17.1", summary: "Polyfills for new ECMAScript 2015 APIs like Map and Set", git: "https://github.com/meteor/ecmascript-runtime", documentation: "README.md" diff --git a/packages/ecmascript/package.js b/packages/ecmascript/package.js index 57f8d9d43a..f9107d916a 100644 --- a/packages/ecmascript/package.js +++ b/packages/ecmascript/package.js @@ -1,6 +1,6 @@ Package.describe({ name: 'ecmascript', - version: '0.11.0-beta17.28', + version: '0.11.0-rc17.1', summary: 'Compiler plugin that supports ES2015+ in all .js files', documentation: 'README.md' }); diff --git a/packages/es5-shim/package.js b/packages/es5-shim/package.js index 29edc5e496..7b416a5dcf 100644 --- a/packages/es5-shim/package.js +++ b/packages/es5-shim/package.js @@ -1,6 +1,6 @@ Package.describe({ name: "es5-shim", - version: "4.8.0-beta17.28", + version: "4.8.0-rc17.1", summary: "Shims and polyfills to improve ECMAScript 5 support", documentation: "README.md" }); diff --git a/packages/meteor-base/package.js b/packages/meteor-base/package.js index ed53ade97e..f70f67be4b 100644 --- a/packages/meteor-base/package.js +++ b/packages/meteor-base/package.js @@ -1,6 +1,6 @@ Package.describe({ name: 'meteor-base', - version: '1.4.0-beta17.28', + version: '1.4.0-rc17.1', // Brief, one-line summary of the package. summary: 'Packages that every Meteor app needs', // By default, Meteor will default to using README.md for documentation. diff --git a/packages/meteor-tool/package.js b/packages/meteor-tool/package.js index 04560cbf71..279f3e0e3a 100644 --- a/packages/meteor-tool/package.js +++ b/packages/meteor-tool/package.js @@ -1,6 +1,6 @@ Package.describe({ summary: "The Meteor command-line tool", - version: '1.7.0-beta.28' + version: '1.7.0-rc.1' }); Package.includeTool(); diff --git a/packages/meteor/package.js b/packages/meteor/package.js index f80e45250b..9e88e2b920 100644 --- a/packages/meteor/package.js +++ b/packages/meteor/package.js @@ -2,7 +2,7 @@ Package.describe({ summary: "Core Meteor environment", - version: '1.9.0-beta17.28' + version: '1.9.0-rc17.1' }); Package.registerBuildPlugin({ diff --git a/packages/modern-browsers/package.js b/packages/modern-browsers/package.js index 3fb05da328..c785c64473 100644 --- a/packages/modern-browsers/package.js +++ b/packages/modern-browsers/package.js @@ -1,6 +1,6 @@ Package.describe({ name: "modern-browsers", - version: "0.1.0-beta17.28", + version: "0.1.0-rc17.1", summary: "API for defining the boundary between modern and legacy " + "JavaScript clients", documentation: "README.md" diff --git a/packages/modules-runtime/package.js b/packages/modules-runtime/package.js index d820d8f354..5c6086ee3d 100644 --- a/packages/modules-runtime/package.js +++ b/packages/modules-runtime/package.js @@ -1,6 +1,6 @@ Package.describe({ name: "modules-runtime", - version: "0.10.0-beta17.28", + version: "0.10.0-rc17.1", summary: "CommonJS module system", git: "https://github.com/benjamn/install", documentation: "README.md" diff --git a/packages/mongo/package.js b/packages/mongo/package.js index 88cfca148a..11092a4e1b 100644 --- a/packages/mongo/package.js +++ b/packages/mongo/package.js @@ -9,7 +9,7 @@ Package.describe({ summary: "Adaptor for using MongoDB and Minimongo over DDP", - version: '1.5.0-beta17.28' + version: '1.5.0-rc17.1' }); Npm.depends({ diff --git a/packages/npm-mongo/package.js b/packages/npm-mongo/package.js index 3de6d6bd1c..1307040611 100644 --- a/packages/npm-mongo/package.js +++ b/packages/npm-mongo/package.js @@ -3,7 +3,7 @@ Package.describe({ summary: "Wrapper around the mongo npm package", - version: "3.0.7-beta17.28", + version: "3.0.7-rc17.1", documentation: null }); diff --git a/packages/promise/package.js b/packages/promise/package.js index 0dc73b6f29..10df81f99f 100644 --- a/packages/promise/package.js +++ b/packages/promise/package.js @@ -1,6 +1,6 @@ Package.describe({ name: "promise", - version: "0.11.0-beta17.28", + version: "0.11.0-rc17.1", summary: "ECMAScript 2015 Promise polyfill with Fiber support", git: "https://github.com/meteor/promise", documentation: "README.md" diff --git a/packages/socket-stream-client/package.js b/packages/socket-stream-client/package.js index b1de99e769..5dc12b0fb5 100644 --- a/packages/socket-stream-client/package.js +++ b/packages/socket-stream-client/package.js @@ -1,6 +1,6 @@ Package.describe({ name: "socket-stream-client", - version: "0.2.0-beta17.28", + version: "0.2.0-rc17.1", summary: "Provides the ClientStream abstraction used by ddp-client", documentation: "README.md" }); diff --git a/packages/test-helpers/package.js b/packages/test-helpers/package.js index 7ccffda753..a5d2a27180 100644 --- a/packages/test-helpers/package.js +++ b/packages/test-helpers/package.js @@ -1,6 +1,6 @@ Package.describe({ summary: "Utility functions for tests", - version: '1.1.0-beta17.28' + version: '1.1.0-rc17.1' }); Package.onUse(function (api) { diff --git a/packages/tracker/package.js b/packages/tracker/package.js index 2256f4c28e..d5505c14c9 100644 --- a/packages/tracker/package.js +++ b/packages/tracker/package.js @@ -1,6 +1,6 @@ Package.describe({ summary: "Dependency tracker to allow reactive callbacks", - version: "1.2.0-beta17.28" + version: "1.2.0-rc17.1" }); Package.onUse(function (api) { diff --git a/packages/webapp/package.js b/packages/webapp/package.js index 20800c4508..182aa50bd1 100644 --- a/packages/webapp/package.js +++ b/packages/webapp/package.js @@ -1,6 +1,6 @@ Package.describe({ summary: "Serves a Meteor app over HTTP", - version: '1.6.0-beta17.28' + version: '1.6.0-rc17.1' }); Npm.depends({"basic-auth-connect": "1.0.0", diff --git a/scripts/admin/meteor-release-experimental.json b/scripts/admin/meteor-release-experimental.json index 6cbe39251b..b327bac8b5 100644 --- a/scripts/admin/meteor-release-experimental.json +++ b/scripts/admin/meteor-release-experimental.json @@ -1,6 +1,6 @@ { "track": "METEOR", - "version": "1.7-beta.28", + "version": "1.7-rc.1", "recommended": false, "official": false, "description": "Meteor" From e75f017302c70a83ea4fe8fa9275c26c71e81916 Mon Sep 17 00:00:00 2001 From: Ben Newman Date: Mon, 7 May 2018 10:53:29 -0400 Subject: [PATCH 0834/1355] Fix #9866 by passing safari10:true in uglify-es mangle options. --- packages/minifier-js/minifier.js | 5 +++++ packages/minifier-js/package.js | 2 +- packages/standard-minifier-js/package.js | 2 +- 3 files changed, 7 insertions(+), 2 deletions(-) diff --git a/packages/minifier-js/minifier.js b/packages/minifier-js/minifier.js index 17568025ff..06e75ca83d 100644 --- a/packages/minifier-js/minifier.js +++ b/packages/minifier-js/minifier.js @@ -15,6 +15,11 @@ meteorJsMinify = function (source) { global_defs: { "process.env.NODE_ENV": NODE_ENV } + }, + mangle: { + // Fix issue #9866, as explained in this comment: + // https://github.com/mishoo/UglifyJS2/issues/1753#issuecomment-324814782 + safari10: true } }); diff --git a/packages/minifier-js/package.js b/packages/minifier-js/package.js index db20e7eec3..dc5f3e2696 100644 --- a/packages/minifier-js/package.js +++ b/packages/minifier-js/package.js @@ -1,6 +1,6 @@ Package.describe({ summary: "JavaScript minifier", - version: "2.3.4" + version: "2.3.5" }); Npm.depends({ diff --git a/packages/standard-minifier-js/package.js b/packages/standard-minifier-js/package.js index 2b069eff3e..6087e1d1c4 100644 --- a/packages/standard-minifier-js/package.js +++ b/packages/standard-minifier-js/package.js @@ -1,6 +1,6 @@ Package.describe({ name: 'standard-minifier-js', - version: '2.3.3', + version: '2.3.4', summary: 'Standard javascript minifiers used with Meteor apps by default.', documentation: 'README.md', }); From 18360a0265f0918851db4e8d8284923fb4ba032e Mon Sep 17 00:00:00 2001 From: Jan Dvorak Date: Mon, 7 May 2018 17:00:48 +0200 Subject: [PATCH 0835/1355] facebook-oauth: upgrade api version to v3 :cop: & add new fields (#9853) --- packages/facebook-oauth/facebook_client.js | 2 +- packages/facebook-oauth/facebook_server.js | 13 +++++++------ packages/facebook-oauth/package.js | 2 +- 3 files changed, 9 insertions(+), 8 deletions(-) diff --git a/packages/facebook-oauth/facebook_client.js b/packages/facebook-oauth/facebook_client.js index 33604948f6..3a2ec99454 100644 --- a/packages/facebook-oauth/facebook_client.js +++ b/packages/facebook-oauth/facebook_client.js @@ -31,7 +31,7 @@ Facebook.requestCredential = function (options, credentialRequestCompleteCallbac var loginStyle = OAuth._loginStyle('facebook', config, options); var loginUrl = - 'https://www.facebook.com/v2.12/dialog/oauth?client_id=' + config.appId + + 'https://www.facebook.com/v3.0/dialog/oauth?client_id=' + config.appId + '&redirect_uri=' + OAuth._redirectUri('facebook', config) + '&display=' + display + '&scope=' + scope + '&state=' + OAuth._stateParam(loginStyle, credentialToken, options && options.redirectUrl); diff --git a/packages/facebook-oauth/facebook_server.js b/packages/facebook-oauth/facebook_server.js index 2ac71238b5..1385ca0688 100644 --- a/packages/facebook-oauth/facebook_server.js +++ b/packages/facebook-oauth/facebook_server.js @@ -2,10 +2,11 @@ Facebook = {}; var crypto = Npm.require('crypto'); Facebook.handleAuthFromAccessToken = function handleAuthFromAccessToken(accessToken, expiresAt) { - // include all fields from facebook - // http://developers.facebook.com/docs/reference/login/public-profile-and-friend-list/ - var whitelisted = ['id', 'email', 'name', 'first_name', - 'last_name', 'link', 'gender', 'locale', 'age_range']; + // include basic fields from facebook + // https://developers.facebook.com/docs/facebook-login/permissions/ + var whitelisted = ['id', 'email', 'name', 'first_name', 'last_name', + 'middle_name', 'name_format', 'picture', 'short_name', 'age_range', + 'birthday', 'friends', 'gender', 'hometown', 'link', 'location']; var identity = getIdentity(accessToken, whitelisted); @@ -53,7 +54,7 @@ var getTokenResponse = function (query) { try { // Request an access token responseContent = HTTP.get( - "https://graph.facebook.com/v2.12/oauth/access_token", { + "https://graph.facebook.com/v3.0/oauth/access_token", { params: { client_id: config.appId, redirect_uri: OAuth._redirectUri('facebook', config), @@ -90,7 +91,7 @@ var getIdentity = function (accessToken, fields) { hmac.update(accessToken); try { - return HTTP.get("https://graph.facebook.com/v2.12/me", { + return HTTP.get("https://graph.facebook.com/v3.0/me", { params: { access_token: accessToken, appsecret_proof: hmac.digest('hex'), diff --git a/packages/facebook-oauth/package.js b/packages/facebook-oauth/package.js index aea8b40bcf..9836b0f8cd 100644 --- a/packages/facebook-oauth/package.js +++ b/packages/facebook-oauth/package.js @@ -1,6 +1,6 @@ Package.describe({ summary: "Facebook OAuth flow", - version: "1.4.1" + version: "1.5.0" }); Package.onUse(function(api) { From 9fc0251eeeaea096113743e9ebd68fe50a714118 Mon Sep 17 00:00:00 2001 From: ochicf Date: Mon, 7 May 2018 17:02:25 +0200 Subject: [PATCH 0836/1355] Fix this.toHTMLAsync call in boilerplate-generator (#9838) --- packages/boilerplate-generator/generator.js | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/packages/boilerplate-generator/generator.js b/packages/boilerplate-generator/generator.js index ecfc99880c..e3c536bf0c 100644 --- a/packages/boilerplate-generator/generator.js +++ b/packages/boilerplate-generator/generator.js @@ -44,7 +44,7 @@ export class Boilerplate { } // Calling .await() requires a Fiber. - return toHTMLAsync(extraData).await(); + return this.toHTMLAsync(extraData).await(); } // Returns a Promise that resolves to a string of HTML. From f489ba9f951b8e8b3afc662d157ee967c9d8810c Mon Sep 17 00:00:00 2001 From: Ben Newman Date: Mon, 7 May 2018 11:13:06 -0400 Subject: [PATCH 0837/1355] Bump package versions for 1.7-rc.2 release. --- packages/appcache/package.js | 2 +- packages/babel-compiler/package.js | 2 +- packages/babel-runtime/package.js | 2 +- packages/boilerplate-generator-tests/package.js | 2 +- packages/boilerplate-generator/package.js | 2 +- packages/dynamic-import/package.js | 2 +- packages/ecmascript-runtime-client/package.js | 2 +- packages/ecmascript-runtime-server/package.js | 2 +- packages/ecmascript-runtime/package.js | 2 +- packages/ecmascript/package.js | 2 +- packages/es5-shim/package.js | 2 +- packages/facebook-oauth/package.js | 2 +- packages/meteor-base/package.js | 2 +- packages/meteor-tool/package.js | 2 +- packages/meteor/package.js | 2 +- packages/modern-browsers/package.js | 2 +- packages/modules-runtime/package.js | 2 +- packages/mongo/package.js | 2 +- packages/npm-mongo/package.js | 2 +- packages/promise/package.js | 2 +- packages/socket-stream-client/package.js | 2 +- packages/test-helpers/package.js | 2 +- packages/tracker/package.js | 2 +- packages/webapp/package.js | 2 +- scripts/admin/meteor-release-experimental.json | 2 +- 25 files changed, 25 insertions(+), 25 deletions(-) diff --git a/packages/appcache/package.js b/packages/appcache/package.js index 82d10f9710..3466079072 100644 --- a/packages/appcache/package.js +++ b/packages/appcache/package.js @@ -1,6 +1,6 @@ Package.describe({ summary: "Enable the application cache in the browser", - version: "1.2.0-rc17.1", + version: "1.2.0-rc17.2", }); Package.onUse(api => { diff --git a/packages/babel-compiler/package.js b/packages/babel-compiler/package.js index 293a1daa93..77642200ba 100644 --- a/packages/babel-compiler/package.js +++ b/packages/babel-compiler/package.js @@ -6,7 +6,7 @@ Package.describe({ // isn't possible because you can't publish a non-recommended // release with package versions that don't have a pre-release // identifier at the end (eg, -dev) - version: '7.1.0-rc17.1' + version: '7.1.0-rc17.2' }); Npm.depends({ diff --git a/packages/babel-runtime/package.js b/packages/babel-runtime/package.js index f7c7855117..e427c23b31 100644 --- a/packages/babel-runtime/package.js +++ b/packages/babel-runtime/package.js @@ -1,7 +1,7 @@ Package.describe({ name: "babel-runtime", summary: "Runtime support for output of Babel transpiler", - version: '1.3.0-rc17.1', + version: '1.3.0-rc17.2', documentation: 'README.md' }); diff --git a/packages/boilerplate-generator-tests/package.js b/packages/boilerplate-generator-tests/package.js index 0f345544c3..f9646ead52 100644 --- a/packages/boilerplate-generator-tests/package.js +++ b/packages/boilerplate-generator-tests/package.js @@ -2,7 +2,7 @@ Package.describe({ // These tests are in a separate package so that we can Npm.depend on // parse5, a html parsing library. summary: "Tests for the boilerplate-generator package", - version: '1.5.0-rc17.1', + version: '1.5.0-rc17.2', documentation: null }); diff --git a/packages/boilerplate-generator/package.js b/packages/boilerplate-generator/package.js index d4c2d2c9e1..252ed04d54 100644 --- a/packages/boilerplate-generator/package.js +++ b/packages/boilerplate-generator/package.js @@ -1,6 +1,6 @@ Package.describe({ summary: "Generates the boilerplate html from program's manifest", - version: '1.5.0-rc17.1' + version: '1.5.0-rc17.2' }); Npm.depends({ diff --git a/packages/dynamic-import/package.js b/packages/dynamic-import/package.js index f3e7e6dd64..3ba9a7b277 100644 --- a/packages/dynamic-import/package.js +++ b/packages/dynamic-import/package.js @@ -1,6 +1,6 @@ Package.describe({ name: "dynamic-import", - version: "0.4.0-rc17.1", + version: "0.4.0-rc17.2", summary: "Runtime support for Meteor 1.5 dynamic import(...) syntax", documentation: "README.md" }); diff --git a/packages/ecmascript-runtime-client/package.js b/packages/ecmascript-runtime-client/package.js index d1c5a914dd..9b909804ce 100644 --- a/packages/ecmascript-runtime-client/package.js +++ b/packages/ecmascript-runtime-client/package.js @@ -1,6 +1,6 @@ Package.describe({ name: "ecmascript-runtime-client", - version: "0.7.0-rc17.1", + version: "0.7.0-rc17.2", summary: "Polyfills for new ECMAScript 2015 APIs like Map and Set", git: "https://github.com/meteor/meteor/tree/devel/packages/ecmascript-runtime-client", documentation: "README.md" diff --git a/packages/ecmascript-runtime-server/package.js b/packages/ecmascript-runtime-server/package.js index 3d779c91ae..b1af37b4bb 100644 --- a/packages/ecmascript-runtime-server/package.js +++ b/packages/ecmascript-runtime-server/package.js @@ -1,6 +1,6 @@ Package.describe({ name: "ecmascript-runtime-server", - version: "0.7.0-rc17.1", + version: "0.7.0-rc17.2", summary: "Polyfills for new ECMAScript 2015 APIs like Map and Set", git: "https://github.com/meteor/meteor/tree/devel/packages/ecmascript-runtime-client", documentation: "README.md" diff --git a/packages/ecmascript-runtime/package.js b/packages/ecmascript-runtime/package.js index 07293542af..97a77c3abd 100644 --- a/packages/ecmascript-runtime/package.js +++ b/packages/ecmascript-runtime/package.js @@ -1,6 +1,6 @@ Package.describe({ name: "ecmascript-runtime", - version: "0.7.0-rc17.1", + version: "0.7.0-rc17.2", summary: "Polyfills for new ECMAScript 2015 APIs like Map and Set", git: "https://github.com/meteor/ecmascript-runtime", documentation: "README.md" diff --git a/packages/ecmascript/package.js b/packages/ecmascript/package.js index f9107d916a..906fe3b8d2 100644 --- a/packages/ecmascript/package.js +++ b/packages/ecmascript/package.js @@ -1,6 +1,6 @@ Package.describe({ name: 'ecmascript', - version: '0.11.0-rc17.1', + version: '0.11.0-rc17.2', summary: 'Compiler plugin that supports ES2015+ in all .js files', documentation: 'README.md' }); diff --git a/packages/es5-shim/package.js b/packages/es5-shim/package.js index 7b416a5dcf..7045ae16cb 100644 --- a/packages/es5-shim/package.js +++ b/packages/es5-shim/package.js @@ -1,6 +1,6 @@ Package.describe({ name: "es5-shim", - version: "4.8.0-rc17.1", + version: "4.8.0-rc17.2", summary: "Shims and polyfills to improve ECMAScript 5 support", documentation: "README.md" }); diff --git a/packages/facebook-oauth/package.js b/packages/facebook-oauth/package.js index 9836b0f8cd..70191918a0 100644 --- a/packages/facebook-oauth/package.js +++ b/packages/facebook-oauth/package.js @@ -1,6 +1,6 @@ Package.describe({ summary: "Facebook OAuth flow", - version: "1.5.0" + version: "1.5.0-rc17.2" }); Package.onUse(function(api) { diff --git a/packages/meteor-base/package.js b/packages/meteor-base/package.js index f70f67be4b..167ab5d3da 100644 --- a/packages/meteor-base/package.js +++ b/packages/meteor-base/package.js @@ -1,6 +1,6 @@ Package.describe({ name: 'meteor-base', - version: '1.4.0-rc17.1', + version: '1.4.0-rc17.2', // Brief, one-line summary of the package. summary: 'Packages that every Meteor app needs', // By default, Meteor will default to using README.md for documentation. diff --git a/packages/meteor-tool/package.js b/packages/meteor-tool/package.js index 279f3e0e3a..be4062ec9a 100644 --- a/packages/meteor-tool/package.js +++ b/packages/meteor-tool/package.js @@ -1,6 +1,6 @@ Package.describe({ summary: "The Meteor command-line tool", - version: '1.7.0-rc.1' + version: '1.7.0-rc.2' }); Package.includeTool(); diff --git a/packages/meteor/package.js b/packages/meteor/package.js index 9e88e2b920..bcda12ccdb 100644 --- a/packages/meteor/package.js +++ b/packages/meteor/package.js @@ -2,7 +2,7 @@ Package.describe({ summary: "Core Meteor environment", - version: '1.9.0-rc17.1' + version: '1.9.0-rc17.2' }); Package.registerBuildPlugin({ diff --git a/packages/modern-browsers/package.js b/packages/modern-browsers/package.js index c785c64473..a28a822cb6 100644 --- a/packages/modern-browsers/package.js +++ b/packages/modern-browsers/package.js @@ -1,6 +1,6 @@ Package.describe({ name: "modern-browsers", - version: "0.1.0-rc17.1", + version: "0.1.0-rc17.2", summary: "API for defining the boundary between modern and legacy " + "JavaScript clients", documentation: "README.md" diff --git a/packages/modules-runtime/package.js b/packages/modules-runtime/package.js index 5c6086ee3d..5f1c9ebf7a 100644 --- a/packages/modules-runtime/package.js +++ b/packages/modules-runtime/package.js @@ -1,6 +1,6 @@ Package.describe({ name: "modules-runtime", - version: "0.10.0-rc17.1", + version: "0.10.0-rc17.2", summary: "CommonJS module system", git: "https://github.com/benjamn/install", documentation: "README.md" diff --git a/packages/mongo/package.js b/packages/mongo/package.js index 11092a4e1b..024fd3d928 100644 --- a/packages/mongo/package.js +++ b/packages/mongo/package.js @@ -9,7 +9,7 @@ Package.describe({ summary: "Adaptor for using MongoDB and Minimongo over DDP", - version: '1.5.0-rc17.1' + version: '1.5.0-rc17.2' }); Npm.depends({ diff --git a/packages/npm-mongo/package.js b/packages/npm-mongo/package.js index 1307040611..f0266daf8f 100644 --- a/packages/npm-mongo/package.js +++ b/packages/npm-mongo/package.js @@ -3,7 +3,7 @@ Package.describe({ summary: "Wrapper around the mongo npm package", - version: "3.0.7-rc17.1", + version: "3.0.7-rc17.2", documentation: null }); diff --git a/packages/promise/package.js b/packages/promise/package.js index 10df81f99f..d1c168c88e 100644 --- a/packages/promise/package.js +++ b/packages/promise/package.js @@ -1,6 +1,6 @@ Package.describe({ name: "promise", - version: "0.11.0-rc17.1", + version: "0.11.0-rc17.2", summary: "ECMAScript 2015 Promise polyfill with Fiber support", git: "https://github.com/meteor/promise", documentation: "README.md" diff --git a/packages/socket-stream-client/package.js b/packages/socket-stream-client/package.js index 5dc12b0fb5..7075248495 100644 --- a/packages/socket-stream-client/package.js +++ b/packages/socket-stream-client/package.js @@ -1,6 +1,6 @@ Package.describe({ name: "socket-stream-client", - version: "0.2.0-rc17.1", + version: "0.2.0-rc17.2", summary: "Provides the ClientStream abstraction used by ddp-client", documentation: "README.md" }); diff --git a/packages/test-helpers/package.js b/packages/test-helpers/package.js index a5d2a27180..697fc96bdc 100644 --- a/packages/test-helpers/package.js +++ b/packages/test-helpers/package.js @@ -1,6 +1,6 @@ Package.describe({ summary: "Utility functions for tests", - version: '1.1.0-rc17.1' + version: '1.1.0-rc17.2' }); Package.onUse(function (api) { diff --git a/packages/tracker/package.js b/packages/tracker/package.js index d5505c14c9..afed4d2f32 100644 --- a/packages/tracker/package.js +++ b/packages/tracker/package.js @@ -1,6 +1,6 @@ Package.describe({ summary: "Dependency tracker to allow reactive callbacks", - version: "1.2.0-rc17.1" + version: "1.2.0-rc17.2" }); Package.onUse(function (api) { diff --git a/packages/webapp/package.js b/packages/webapp/package.js index 182aa50bd1..6efa272864 100644 --- a/packages/webapp/package.js +++ b/packages/webapp/package.js @@ -1,6 +1,6 @@ Package.describe({ summary: "Serves a Meteor app over HTTP", - version: '1.6.0-rc17.1' + version: '1.6.0-rc17.2' }); Npm.depends({"basic-auth-connect": "1.0.0", diff --git a/scripts/admin/meteor-release-experimental.json b/scripts/admin/meteor-release-experimental.json index b327bac8b5..3e710ab229 100644 --- a/scripts/admin/meteor-release-experimental.json +++ b/scripts/admin/meteor-release-experimental.json @@ -1,6 +1,6 @@ { "track": "METEOR", - "version": "1.7-rc.1", + "version": "1.7-rc.2", "recommended": false, "official": false, "description": "Meteor" From bc6ec63f522b0218e64d4129b54c6e79c48927b2 Mon Sep 17 00:00:00 2001 From: Ben Newman Date: Mon, 7 May 2018 15:20:29 -0400 Subject: [PATCH 0838/1355] Update Node to v8.11.2-rc.1. --- History.md | 7 +++++++ scripts/build-dev-bundle-common.sh | 4 ++-- scripts/generate-dev-bundle.ps1 | 6 +++++- scripts/generate-dev-bundle.sh | 9 ++++++++- 4 files changed, 22 insertions(+), 4 deletions(-) diff --git a/History.md b/History.md index a84aae6629..3b3051e5f8 100644 --- a/History.md +++ b/History.md @@ -51,6 +51,13 @@ compiled-to-JS modules from `node_modules`, you should start using the symlinking strategy instead. +* Node has been updated to version + [8.11.2](https://nodejs.org/en/blog/release/v8.11.2/), officially fixing + a [cause](https://github.com/nodejs/node/issues/19274) of frequent + segmentation faults in Meteor applications that was introduced in Node + 8.10.0. Meteor 1.6.1.1 shipped with a custom build of Node that patched + this problem, but that approach was never intended to be permanent. + * The `npm` package has been upgraded to version 5.8.0, and our [fork](https://github.com/meteor/pacote/tree/v7.6.1-meteor) of its `pacote` dependency has been rebased against version 7.6.1. diff --git a/scripts/build-dev-bundle-common.sh b/scripts/build-dev-bundle-common.sh index 75b56c175a..349d66a852 100644 --- a/scripts/build-dev-bundle-common.sh +++ b/scripts/build-dev-bundle-common.sh @@ -5,13 +5,13 @@ set -u UNAME=$(uname) ARCH=$(uname -m) -NODE_VERSION=8.11.1 +NODE_VERSION=8.11.2-rc.1 MONGO_VERSION_64BIT=3.6.4 MONGO_VERSION_32BIT=3.2.19 NPM_VERSION=5.8.0 # If we built Node from source on Jenkins, this is the build number. -NODE_BUILD_NUMBER=129 +NODE_BUILD_NUMBER= if [ "$UNAME" == "Linux" ] ; then if [ "$ARCH" != "i686" -a "$ARCH" != "x86_64" ] ; then diff --git a/scripts/generate-dev-bundle.ps1 b/scripts/generate-dev-bundle.ps1 index dd45eb3e82..2bdbf1c237 100644 --- a/scripts/generate-dev-bundle.ps1 +++ b/scripts/generate-dev-bundle.ps1 @@ -107,7 +107,11 @@ Function Add-Python { } Function Add-NodeAndNpm { - $nodeUrlBase = 'https://nodejs.org/dist' + if ("${NODE_VERSION}" -match "-rc\.\d+$") { + $nodeUrlBase = 'https://nodejs.org/download/rc' + } else { + $nodeUrlBase = 'https://nodejs.org/dist' + } if ($PLATFORM -eq "windows_x86") { $nodeArchitecture = 'win-x86' diff --git a/scripts/generate-dev-bundle.sh b/scripts/generate-dev-bundle.sh index 8023156fa0..495e236769 100755 --- a/scripts/generate-dev-bundle.sh +++ b/scripts/generate-dev-bundle.sh @@ -42,8 +42,15 @@ downloadOfficialNode() { curl "${NODE_URL}" | tar zx --strip-components 1 } +downloadReleaseCandidateNode() { + NODE_URL="https://nodejs.org/download/rc/v${NODE_VERSION}/${NODE_TGZ}" + echo "Downloading Node from ${NODE_URL}" >&2 + curl "${NODE_URL}" | tar zx --strip-components 1 +} + # Try each strategy in the following order: -extractNodeFromTarGz || downloadNodeFromS3 || downloadOfficialNode +extractNodeFromTarGz || downloadNodeFromS3 || \ + downloadOfficialNode || downloadReleaseCandidateNode # Download Mongo from mongodb.com. Will download a 64-bit version of Mongo # by default. Will download a 32-bit version of Mongo if using a 32-bit based From 9bb92ba0a91f76ab42f5447af6aa94a8d6a7ec5b Mon Sep 17 00:00:00 2001 From: Ben Newman Date: Mon, 7 May 2018 15:51:25 -0400 Subject: [PATCH 0839/1355] Force Node 8.11.1 on Windows for now. https://github.com/nodejs/node/pull/20478#issuecomment-387181249 --- scripts/generate-dev-bundle.ps1 | 7 ++++++- 1 file changed, 6 insertions(+), 1 deletion(-) diff --git a/scripts/generate-dev-bundle.ps1 b/scripts/generate-dev-bundle.ps1 index 2bdbf1c237..ec4db00d97 100644 --- a/scripts/generate-dev-bundle.ps1 +++ b/scripts/generate-dev-bundle.ps1 @@ -20,9 +20,14 @@ $BUNDLE_VERSION = Read-VariableFromShellScript "${dirCheckout}\meteor" 'BUNDLE_V # extract the major package versions from the build-dev-bundle-common script. $MONGO_VERSION_64BIT = Read-VariableFromShellScript $shCommon 'MONGO_VERSION_64BIT' $MONGO_VERSION_32BIT = Read-VariableFromShellScript $shCommon 'MONGO_VERSION_32BIT' -$NODE_VERSION = Read-VariableFromShellScript $shCommon 'NODE_VERSION' + $NPM_VERSION = Read-VariableFromShellScript $shCommon 'NPM_VERSION' +# TODO Revert this change once 8.11.2 is available for Windows: +# https://github.com/nodejs/node/pull/20478#issuecomment-387181249 +# $NODE_VERSION = Read-VariableFromShellScript $shCommon 'NODE_VERSION' +$NODE_VERSION = "8.11.1" + # 7-zip path. $system7zip = "C:\Program Files\7-zip\7z.exe" From b21659a66ca7d60de7be9d492327def07f54a98a Mon Sep 17 00:00:00 2001 From: Ben Newman Date: Mon, 7 May 2018 15:51:42 -0400 Subject: [PATCH 0840/1355] Bump $BUNDLE_VERSION to 8.11.2.1 before rebuilding dev bundle. --- meteor | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/meteor b/meteor index 9ba85d912c..fec5b6e68b 100755 --- a/meteor +++ b/meteor @@ -1,6 +1,6 @@ #!/usr/bin/env bash -BUNDLE_VERSION=8.11.1.4 +BUNDLE_VERSION=8.11.2.1 # OS Check. Put here because here is where we download the precompiled # bundles that are arch specific. From 7baaf19020f695ec27598fac3ad073a339b8e58f Mon Sep 17 00:00:00 2001 From: Ben Newman Date: Mon, 7 May 2018 17:11:24 -0400 Subject: [PATCH 0841/1355] Report an error when meteor.mainModule cannot be resolved. https://github.com/meteor/meteor/pull/9826#issuecomment-387172568 --- tools/project-context.js | 11 +++++++++++ tools/tests/app-config.js | 19 ++++++++++++------- 2 files changed, 23 insertions(+), 7 deletions(-) diff --git a/tools/project-context.js b/tools/project-context.js index 149cb5289d..e658de9901 100644 --- a/tools/project-context.js +++ b/tools/project-context.js @@ -1735,6 +1735,17 @@ export class MeteorConfig { if (res && typeof res === "object") { return files.pathRelative(this.appDirectory, res.path); } + + buildmessage.error( + `Could not resolve meteor.mainModule ${ + JSON.stringify(entryModule) + } in ${ + files.pathRelative( + this.appDirectory, + this.packageJsonPath + ) + } (${arch})` + ); } } } diff --git a/tools/tests/app-config.js b/tools/tests/app-config.js index 34913436d7..17dd260b8e 100644 --- a/tools/tests/app-config.js +++ b/tools/tests/app-config.js @@ -15,15 +15,15 @@ selftest.define("mainModule", function () { run.waitSecs(60); run.match("App running at"); - function check(mainModule) { - writeConfig(s, run, mainModule); + function check(mainModule, errorPattern) { + writeConfig(s, run, mainModule, errorPattern); } check(); check(null); - check("oyez"); + check("oyez", /Could not resolve meteor.mainModule/); check({}); @@ -112,7 +112,7 @@ selftest.define("mainModule", function () { run.stop(); }); -function writeConfig(s, run, mainModule) { +function writeConfig(s, run, mainModule, errorPattern) { const json = JSON.parse(s.read("package.json")); json.meteor = { @@ -129,9 +129,14 @@ function writeConfig(s, run, mainModule) { s.write("package.json", JSON.stringify(json, null, 2) + "\n"); run.waitSecs(10); - run.forbid(" 0 passing "); - run.match("SERVER FAILURES: 0"); - run.match("CLIENT FAILURES: 0"); + + if (errorPattern instanceof RegExp) { + run.match(errorPattern); + } else { + run.forbid(" 0 passing "); + run.match("SERVER FAILURES: 0"); + run.match("CLIENT FAILURES: 0"); + } } selftest.define("testModule", function () { From ce209b5c7b26f1b513477ab1017a23b2b0e4e897 Mon Sep 17 00:00:00 2001 From: Ben Newman Date: Mon, 7 May 2018 19:15:48 -0400 Subject: [PATCH 0842/1355] Add v1.7 heading to History.md. --- History.md | 2 ++ 1 file changed, 2 insertions(+) diff --git a/History.md b/History.md index 3b3051e5f8..79a42105b1 100644 --- a/History.md +++ b/History.md @@ -1,5 +1,7 @@ ## v.NEXT +## v1.7, TBD + * Although Meteor does not recompile packages installed in `node_modules` by default, compilation of specific npm packages (for example, to support older browsers that the package author neglected) can now be From 835c21ccb09b92f26543859877d29928514f1664 Mon Sep 17 00:00:00 2001 From: Ben Newman Date: Mon, 7 May 2018 21:33:44 -0400 Subject: [PATCH 0843/1355] Talk about the modern/legacy system in History.md. We may want to move some of this content into a blog post or Guide article, and then link to that from History.md. --- History.md | 90 ++++++++++++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 90 insertions(+) diff --git a/History.md b/History.md index 79a42105b1..f7912a71d8 100644 --- a/History.md +++ b/History.md @@ -2,6 +2,96 @@ ## v1.7, TBD +* More than 80% of internet users worldwide have access to a web browser + that natively supports the latest ECMAScript features and keeps itself + updated automatically, which means new features become available almost + as soon as they ship. In other words, the future we envisioned when we + first began [compiling code with + Babel](https://blog.meteor.com/how-much-does-ecmascript-2015-cost-2ded41d70914) + is finally here, and yet most web frameworks and applications still + compile a single client-side JavaScript bundle that must function + simultaneously in the oldest and the newest browsers the application + developer wishes to support. + + Frustrated by this growing chasm between evergreen modern browsers and + stuck-in-the-past legacy browsers, some developers decide simply to drop + support for older browsers. That choice is understandable, because the + alternative is pretty daunting: not only must you build multiple + JavaScript and CSS bundles for different browsers, with different + dependency graphs and compilation rules and webpack configurations, but + your server must also be able to detect which browser each visitor is + using, so that the appropriate assets can be delivered at + runtime. Testing a matrix of different browsers and application versions + gets cumbersome quickly, so it's equally understandable that a + responsible developer would rather ship a single, well-tested bundle, + and forget about taking advantage of modern features until legacy + browsers have disappeared completely. + + **With Meteor 1.7, the long wait is over**, because Meteor 1.7 will + automatically build two sets of client-side assets, one tailored to the + capabilities of modern browsers, and the other designed to keep legacy + browsers working exactly as they did before. Best of all, the entire + Meteor community relies on the same system, so any bugs or differences + in behavior can be identified and fixed quickly. + + As of today, a "modern" browser can be loosely defined as any browser + with full native support for `async` functions and `await` expressions, + which includes more than 80% of the world market, and 85% of the US + market ([source](https://caniuse.com/#feat=async-functions)). This is an + incredibly high standard, since `async`/`await` was [just finalized in + ECMAScript 2017](http://2ality.com/2016/10/async-function-tips.html), + but the statistics clearly justify it. + + As another example, any modern browser can use the native `WebSocket` + API for DDP traffic, whereas a legacy browser will continue to use the + SockJS polyfill. And of course you can assume any modern browser has a + native `Promise` implementation. The list goes on. + + The line between modern and legacy browsers is designed to be tuned over + time, not only by the Meteor framework itself but also by each + individual application. For example, here's how the minimum versions for + native ECMAScript `class` support might be expressed: + + ```js + import { setMinimumBrowserVersions } from "meteor/modern-browsers"; + + setMinimumBrowserVersions({ + chrome: 49, + firefox: 45, + edge: 12, + ie: Infinity, // Sorry, IE11. + mobile_safari: [9, 2], // 9.2.0+ + opera: 36, + safari: 9, + electron: 1, + }, "classes"); + ``` + + The minimum modern version for each browser is simply the maximum of all + versions passed to `setMinimumBrowserVersions` for that browser. The + Meteor development server decides which assets to deliver to each client + based on the `User-Agent` string of the HTTP request. In production, + different bundles are named with unique hashes, which prevents cache + collisions, though Meteor also sets the `Vary: User-Agent` HTTP response + header to let well-behaved clients know they should cache modern and + legacy resources separately. + + For the most part, the modern/legacy system will transparently determine + how your code is compiled, bundled, and delivered (it even [works with + the `appcache` package](https://github.com/meteor/meteor/pull/9776)!); + however, you can use the boolean `Meteor.isModern` flag to detect the + current browser's status dynamically. If you're writing a Meteor + package, you can call `api.addFiles(file, "legacy")` to add extra files + to the legacy bundle. Just make sure to call `setMinimumBrowserVersions` + to enforce your assumptions about ECMAScript feature support. + + We believe this modern/legacy system is one of the most powerful + features we've added to Meteor since we first introduced the + `ecmascript` package in Meteor 1.2, and we look forward to other + frameworks attempting to catch up. + + [PR #9439](https://github.com/meteor/meteor/pull/9439) + * Although Meteor does not recompile packages installed in `node_modules` by default, compilation of specific npm packages (for example, to support older browsers that the package author neglected) can now be From 5667956844e88e7096e976d87f4f9373066af137 Mon Sep 17 00:00:00 2001 From: Ben Newman Date: Tue, 8 May 2018 10:59:13 -0400 Subject: [PATCH 0844/1355] Simplify History.md description of modern/legacy system somewhat. --- History.md | 98 +++++++++++++++++++++++++++--------------------------- 1 file changed, 49 insertions(+), 49 deletions(-) diff --git a/History.md b/History.md index f7912a71d8..0e9a60af2d 100644 --- a/History.md +++ b/History.md @@ -8,49 +8,47 @@ as soon as they ship. In other words, the future we envisioned when we first began [compiling code with Babel](https://blog.meteor.com/how-much-does-ecmascript-2015-cost-2ded41d70914) - is finally here, and yet most web frameworks and applications still - compile a single client-side JavaScript bundle that must function - simultaneously in the oldest and the newest browsers the application - developer wishes to support. + is finally here, yet most web frameworks and applications still compile + a single client-side JavaScript bundle that must function simultaneously + in the oldest and the newest browsers the application developer wishes + to support. - Frustrated by this growing chasm between evergreen modern browsers and - stuck-in-the-past legacy browsers, some developers decide simply to drop - support for older browsers. That choice is understandable, because the - alternative is pretty daunting: not only must you build multiple - JavaScript and CSS bundles for different browsers, with different - dependency graphs and compilation rules and webpack configurations, but - your server must also be able to detect which browser each visitor is - using, so that the appropriate assets can be delivered at - runtime. Testing a matrix of different browsers and application versions - gets cumbersome quickly, so it's equally understandable that a - responsible developer would rather ship a single, well-tested bundle, - and forget about taking advantage of modern features until legacy - browsers have disappeared completely. + That choice is understandable, because the alternative is daunting: not + only must you build multiple JavaScript and CSS bundles for different + browsers, with different dependency graphs and compilation rules and + webpack configurations, but your server must also be able to detect the + capabilities of each visiting client, so that it can deliver the + appropriate assets at runtime. Testing a matrix of different browsers + and application versions gets cumbersome quickly, so it's no surprise + that responsible web developers would rather ship a single, well-tested + bundle, and forget about taking advantage of modern features until + legacy browsers have disappeared completely. - **With Meteor 1.7, the long wait is over**, because Meteor 1.7 will - automatically build two sets of client-side assets, one tailored to the - capabilities of modern browsers, and the other designed to keep legacy - browsers working exactly as they did before. Best of all, the entire - Meteor community relies on the same system, so any bugs or differences - in behavior can be identified and fixed quickly. + With Meteor 1.7, this awkward balancing act is no longer necessary, + because Meteor now automatically builds two sets of client-side assets, + one tailored to the capabilities of modern browsers, and the other + designed to keep legacy browsers working exactly as they did + before. Best of all, the entire Meteor community relies on the same + system, so any bugs or differences in behavior can be identified and + fixed quickly. - As of today, a "modern" browser can be loosely defined as any browser - with full native support for `async` functions and `await` expressions, - which includes more than 80% of the world market, and 85% of the US - market ([source](https://caniuse.com/#feat=async-functions)). This is an - incredibly high standard, since `async`/`await` was [just finalized in + In this system, a "modern" browser can be loosely defined as one with + full native support for `async` functions and `await` expressions, which + includes more than 80% of the world market, and 85% of the US market + ([source](https://caniuse.com/#feat=async-functions)). This standard may + seem extremely strict, since `async`/`await` was [just finalized in ECMAScript 2017](http://2ality.com/2016/10/async-function-tips.html), - but the statistics clearly justify it. + but the statistics clearly justify it. As another example, any modern + browser can use the native `WebSocket` API for DDP traffic, whereas a + legacy browser will continue to use the SockJS polyfill. And of course + you can safely assume that any modern browser has a native `Promise` + implementation, because `async` functions must return `Promise`s. The + list goes on and on. - As another example, any modern browser can use the native `WebSocket` - API for DDP traffic, whereas a legacy browser will continue to use the - SockJS polyfill. And of course you can assume any modern browser has a - native `Promise` implementation. The list goes on. - - The line between modern and legacy browsers is designed to be tuned over - time, not only by the Meteor framework itself but also by each - individual application. For example, here's how the minimum versions for - native ECMAScript `class` support might be expressed: + This boundary between modern and legacy browsers is designed to be tuned + over time, not only by the Meteor framework itself but also by each + individual Meteor application. For example, here's how the minimum + versions for native ECMAScript `class` support might be expressed: ```js import { setMinimumBrowserVersions } from "meteor/modern-browsers"; @@ -77,18 +75,20 @@ legacy resources separately. For the most part, the modern/legacy system will transparently determine - how your code is compiled, bundled, and delivered (it even [works with - the `appcache` package](https://github.com/meteor/meteor/pull/9776)!); - however, you can use the boolean `Meteor.isModern` flag to detect the - current browser's status dynamically. If you're writing a Meteor - package, you can call `api.addFiles(file, "legacy")` to add extra files - to the legacy bundle. Just make sure to call `setMinimumBrowserVersions` - to enforce your assumptions about ECMAScript feature support. + how your code is compiled, bundled, and delivered—and yes, it + works with every existing part of Meteor, including dynamic `import()` + and even [the old `appcache` + package](https://github.com/meteor/meteor/pull/9776)). However, when + writing dynamic code that depends on modern features, you can check the + boolean `Meteor.isModern` flag to detect the current browser's status + (Node 8 is modern, too, of course). If you're writing a Meteor package, + you can call `api.addFiles(files, "legacy")` to add extra files to the + legacy bundle. Just make sure to call `setMinimumBrowserVersions` to + enforce your assumptions about ECMAScript feature support. - We believe this modern/legacy system is one of the most powerful - features we've added to Meteor since we first introduced the - `ecmascript` package in Meteor 1.2, and we look forward to other - frameworks attempting to catch up. + We think this modern/legacy system is one of the most powerful features + we've added since we first introduced the `ecmascript` package in Meteor + 1.2, and we look forward to other frameworks attempting to catch up. [PR #9439](https://github.com/meteor/meteor/pull/9439) From 5ef428521e13c23dcc024c9f8942c12ebc303bb9 Mon Sep 17 00:00:00 2001 From: Ben Newman Date: Tue, 8 May 2018 11:20:20 -0400 Subject: [PATCH 0845/1355] More details about writing modern/legacy packages. --- History.md | 18 +++++++++++------- 1 file changed, 11 insertions(+), 7 deletions(-) diff --git a/History.md b/History.md index 0e9a60af2d..56c0e57e2c 100644 --- a/History.md +++ b/History.md @@ -78,13 +78,17 @@ how your code is compiled, bundled, and delivered—and yes, it works with every existing part of Meteor, including dynamic `import()` and even [the old `appcache` - package](https://github.com/meteor/meteor/pull/9776)). However, when - writing dynamic code that depends on modern features, you can check the - boolean `Meteor.isModern` flag to detect the current browser's status - (Node 8 is modern, too, of course). If you're writing a Meteor package, - you can call `api.addFiles(files, "legacy")` to add extra files to the - legacy bundle. Just make sure to call `setMinimumBrowserVersions` to - enforce your assumptions about ECMAScript feature support. + package](https://github.com/meteor/meteor/pull/9776). However, if you're + writing dynamic code that depends on modern features, you can use the + boolean `Meteor.isModern` flag to detect the status of the current + environment (Node 8 is modern, too, of course). If you're writing a + Meteor package, you can call `api.addFiles(files, "legacy")` in your + `package.js` configuration file to add extra files to the legacy bundle, + or `api.addFiles(files, "client")` to add files to all client bundles, + or `api.addFiles(files, "web.browser")` to add files only to the modern + bundle, and the same rules apply to `api.mainModule`. Just be sure to + call `setMinimumBrowserVersions` (in server startup code) to enforce + your assumptions about ECMAScript feature support. We think this modern/legacy system is one of the most powerful features we've added since we first introduced the `ecmascript` package in Meteor From 81248867aa22888ef0dcf313dad874a329f20c3e Mon Sep 17 00:00:00 2001 From: Ben Newman Date: Tue, 8 May 2018 12:23:27 -0400 Subject: [PATCH 0846/1355] Update meteor-node-stubs to version 0.4.1. This only affects newly created applications for now, but developers can update to the latest meteor-node-stubs by running meteor npm install meteor-node-stubs@latest https://github.com/meteor/node-stubs/issues/15 --- History.md | 8 + tools/static-assets/skel-bare/package.json | 2 +- tools/static-assets/skel-full/package.json | 2 +- tools/static-assets/skel-minimal/package.json | 2 +- tools/static-assets/skel/package.json | 2 +- tools/tests/apps/app-config/package-lock.json | 467 +++++-------- tools/tests/apps/app-config/package.json | 2 +- .../apps/dev-bundle-bin-commands/package.json | 2 +- .../apps/dynamic-import/package-lock.json | 511 +++++--------- tools/tests/apps/dynamic-import/package.json | 2 +- .../apps/meteor-ignore/package-lock.json | 459 +++++-------- tools/tests/apps/meteor-ignore/package.json | 2 +- tools/tests/apps/modules/package-lock.json | 623 +++++++----------- tools/tests/apps/modules/package.json | 4 +- tools/tests/apps/shell/package.json | 2 +- tools/tests/old/app-with-private/package.json | 2 +- 16 files changed, 759 insertions(+), 1333 deletions(-) diff --git a/History.md b/History.md index 56c0e57e2c..292f8354e0 100644 --- a/History.md +++ b/History.md @@ -216,6 +216,14 @@ * The `reify` npm package has been updated to version 0.15.1. +* The `meteor-node-stubs` package, which provides stub implementations for + any Node built-in modules used by the client (such as `path` and + `http`), has a new minor version (0.4.1) that may help with Windows + installation problems. To install the new version, run + ```sh + meteor npm install meteor-node-stubs@latest + ``` + * The `optimism` npm package has been updated to version 0.6.3. * The `minifier-js` package has been updated to use `uglify-es` 3.3.9. diff --git a/tools/static-assets/skel-bare/package.json b/tools/static-assets/skel-bare/package.json index e0a9ae0bb0..1add98bc6d 100644 --- a/tools/static-assets/skel-bare/package.json +++ b/tools/static-assets/skel-bare/package.json @@ -6,6 +6,6 @@ }, "dependencies": { "@babel/runtime": "^7.0.0-beta.46", - "meteor-node-stubs": "^0.3.2" + "meteor-node-stubs": "^0.4.1" } } diff --git a/tools/static-assets/skel-full/package.json b/tools/static-assets/skel-full/package.json index 9eda04311f..6564022f39 100644 --- a/tools/static-assets/skel-full/package.json +++ b/tools/static-assets/skel-full/package.json @@ -7,7 +7,7 @@ }, "dependencies": { "@babel/runtime": "^7.0.0-beta.46", - "meteor-node-stubs": "^0.3.2" + "meteor-node-stubs": "^0.4.1" }, "devDependencies": { "chai": "^4.1.2" diff --git a/tools/static-assets/skel-minimal/package.json b/tools/static-assets/skel-minimal/package.json index 7e491c1afb..3f07845b09 100644 --- a/tools/static-assets/skel-minimal/package.json +++ b/tools/static-assets/skel-minimal/package.json @@ -6,6 +6,6 @@ }, "dependencies": { "@babel/runtime": "^7.0.0-beta.40", - "meteor-node-stubs": "^0.3.2" + "meteor-node-stubs": "^0.4.1" } } diff --git a/tools/static-assets/skel/package.json b/tools/static-assets/skel/package.json index 1b057225ab..e1fbb88b24 100644 --- a/tools/static-assets/skel/package.json +++ b/tools/static-assets/skel/package.json @@ -9,7 +9,7 @@ }, "dependencies": { "@babel/runtime": "^7.0.0-beta.46", - "meteor-node-stubs": "^0.3.2" + "meteor-node-stubs": "^0.4.1" }, "meteor": { "mainModule": { diff --git a/tools/tests/apps/app-config/package-lock.json b/tools/tests/apps/app-config/package-lock.json index 454189368e..91548511ae 100644 --- a/tools/tests/apps/app-config/package-lock.json +++ b/tools/tests/apps/app-config/package-lock.json @@ -8,19 +8,19 @@ "resolved": "https://registry.npmjs.org/@babel/runtime/-/runtime-7.0.0-beta.46.tgz", "integrity": "sha512-/3a3USMKk54BEHhDgY8rtxtaQOs4bp4aQwo6SDtdwmrXmgSgEusWuXNX5oIs/nwzmTD9o8wz2EyAjA+uHDMmJA==", "requires": { - "core-js": "2.5.5", + "core-js": "2.5.6", "regenerator-runtime": "0.11.1" } }, "core-js": { - "version": "2.5.5", - "resolved": "https://registry.npmjs.org/core-js/-/core-js-2.5.5.tgz", - "integrity": "sha1-sU3ek2xkDAV5prUMq8wTLdYSfjs=" + "version": "2.5.6", + "resolved": "https://registry.npmjs.org/core-js/-/core-js-2.5.6.tgz", + "integrity": "sha512-lQUVfQi0aLix2xpyjrrJEvfuYCqPc/HwmTKsC/VNf8q0zsjX7SQZtp4+oRONN5Tsur9GDETPjj+Ub2iDiGZfSQ==" }, "meteor-node-stubs": { - "version": "0.3.3", - "resolved": "https://registry.npmjs.org/meteor-node-stubs/-/meteor-node-stubs-0.3.3.tgz", - "integrity": "sha512-TI1aQRK0vqs94OCkUMkmf5lXNWfIsjSaEDP1inUuwRGt9w8/S2V+HdRikz9r1k/gew+7NcJieaqHsHX7pSTEgA==", + "version": "0.4.1", + "resolved": "https://registry.npmjs.org/meteor-node-stubs/-/meteor-node-stubs-0.4.1.tgz", + "integrity": "sha512-UO2OStvLOKoApmOdIP5eCqoLaa/ritMXRg4ffJVdkNLEsczzPvTjgC0Mxk4cM4R8MZkwll90FYgjDf5qUTJdMA==", "requires": { "assert": "1.4.1", "browserify-zlib": "0.1.4", @@ -36,10 +36,10 @@ "process": "0.11.10", "punycode": "1.4.1", "querystring-es3": "0.2.1", - "readable-stream": "git+https://github.com/meteor/readable-stream.git#c688cdd193549919b840e8d72a86682d91961e12", + "readable-stream": "2.3.6", "stream-browserify": "2.0.1", - "stream-http": "2.8.0", - "string_decoder": "1.1.0", + "stream-http": "2.8.1", + "string_decoder": "1.1.1", "timers-browserify": "1.4.2", "tty-browserify": "0.0.0", "url": "0.11.0", @@ -49,78 +49,56 @@ "dependencies": { "asn1.js": { "version": "4.10.1", - "resolved": "https://registry.npmjs.org/asn1.js/-/asn1.js-4.10.1.tgz", - "integrity": "sha512-p32cOF5q0Zqs9uBiONKYLm6BClCoBCM5O9JfeUSlnQLBTxYdTK+pW+nXflm8UkKd2UYlEbYz5qEi0JuZR9ckSw==", + "bundled": true, "requires": { "bn.js": "4.11.8", "inherits": "2.0.1", - "minimalistic-assert": "1.0.0" + "minimalistic-assert": "1.0.1" } }, "assert": { "version": "1.4.1", - "resolved": "https://registry.npmjs.org/assert/-/assert-1.4.1.tgz", - "integrity": "sha1-mZEtWRg2tab1s0XA8H7vwI/GXZE=", + "bundled": true, "requires": { "util": "0.10.3" } }, - "balanced-match": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/balanced-match/-/balanced-match-1.0.0.tgz", - "integrity": "sha1-ibTRmasr7kneFk6gK4nORi1xt2c=" - }, "base64-js": { - "version": "1.2.3", - "resolved": "https://registry.npmjs.org/base64-js/-/base64-js-1.2.3.tgz", - "integrity": "sha512-MsAhsUW1GxCdgYSO6tAfZrNapmUKk7mWx/k5mFY/A1gBtkaCaNapTg+FExCw1r9yeaZhqx/xPg43xgTFH6KL5w==" + "version": "1.3.0", + "bundled": true }, "bn.js": { "version": "4.11.8", - "resolved": "https://registry.npmjs.org/bn.js/-/bn.js-4.11.8.tgz", - "integrity": "sha512-ItfYfPLkWHUjckQCk8xC+LwxgK8NYcXywGigJgSwOP8Y2iyWT4f2vsZnoOXTTbo+o5yXmIUJ4gn5538SO5S3gA==" - }, - "brace-expansion": { - "version": "1.1.11", - "resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-1.1.11.tgz", - "integrity": "sha512-iCuPHDFgrHX7H2vEI/5xpz07zSHB00TpugqhmYtVmMO6518mCuRMoOYFldEBl0g187ufozdaHgWKcYFb61qGiA==", - "requires": { - "balanced-match": "1.0.0", - "concat-map": "0.0.1" - } + "bundled": true }, "brorand": { "version": "1.1.0", - "resolved": "https://registry.npmjs.org/brorand/-/brorand-1.1.0.tgz", - "integrity": "sha1-EsJe/kCkXjwyPrhnWgoM5XsiNx8=" + "bundled": true }, "browserify-aes": { - "version": "1.1.1", - "resolved": "https://registry.npmjs.org/browserify-aes/-/browserify-aes-1.1.1.tgz", - "integrity": "sha512-UGnTYAnB2a3YuYKIRy1/4FB2HdM866E0qC46JXvVTYKlBlZlnvfpSfY6OKfXZAkv70eJ2a1SqzpAo5CRhZGDFg==", + "version": "1.2.0", + "bundled": true, "requires": { "buffer-xor": "1.0.3", "cipher-base": "1.0.4", - "create-hash": "1.1.3", + "create-hash": "1.2.0", "evp_bytestokey": "1.0.3", "inherits": "2.0.1", - "safe-buffer": "5.1.1" + "safe-buffer": "5.1.2" } }, "browserify-cipher": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/browserify-cipher/-/browserify-cipher-1.0.0.tgz", - "integrity": "sha1-mYgkSHS/XtTijalWZtzWasj8Njo=", + "version": "1.0.1", + "bundled": true, "requires": { - "browserify-aes": "1.1.1", - "browserify-des": "1.0.0", + "browserify-aes": "1.2.0", + "browserify-des": "1.0.1", "evp_bytestokey": "1.0.3" } }, "browserify-des": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/browserify-des/-/browserify-des-1.0.0.tgz", - "integrity": "sha1-2qJ3cXRwki7S/hhZQRihdUOXId0=", + "version": "1.0.1", + "bundled": true, "requires": { "cipher-base": "1.0.4", "des.js": "1.0.0", @@ -129,8 +107,7 @@ }, "browserify-rsa": { "version": "4.0.1", - "resolved": "https://registry.npmjs.org/browserify-rsa/-/browserify-rsa-4.0.1.tgz", - "integrity": "sha1-IeCr+vbyApzy+vsTNWenAdQTVSQ=", + "bundled": true, "requires": { "bn.js": "4.11.8", "randombytes": "2.0.6" @@ -138,142 +115,127 @@ }, "browserify-sign": { "version": "4.0.4", - "resolved": "https://registry.npmjs.org/browserify-sign/-/browserify-sign-4.0.4.tgz", - "integrity": "sha1-qk62jl17ZYuqa/alfmMMvXqT0pg=", + "bundled": true, "requires": { "bn.js": "4.11.8", "browserify-rsa": "4.0.1", - "create-hash": "1.1.3", - "create-hmac": "1.1.6", + "create-hash": "1.2.0", + "create-hmac": "1.1.7", "elliptic": "6.4.0", "inherits": "2.0.1", - "parse-asn1": "5.1.0" + "parse-asn1": "5.1.1" } }, "browserify-zlib": { "version": "0.1.4", - "resolved": "https://registry.npmjs.org/browserify-zlib/-/browserify-zlib-0.1.4.tgz", - "integrity": "sha1-uzX4pRn2AOD6a4SFJByXnQFB+y0=", + "bundled": true, "requires": { "pako": "0.2.9" } }, "buffer": { "version": "4.9.1", - "resolved": "https://registry.npmjs.org/buffer/-/buffer-4.9.1.tgz", - "integrity": "sha1-bRu2AbB6TvztlwlBMgkwJ8lbwpg=", + "bundled": true, "requires": { - "base64-js": "1.2.3", - "ieee754": "1.1.8", + "base64-js": "1.3.0", + "ieee754": "1.1.11", "isarray": "1.0.0" } }, "buffer-xor": { "version": "1.0.3", - "resolved": "https://registry.npmjs.org/buffer-xor/-/buffer-xor-1.0.3.tgz", - "integrity": "sha1-JuYe0UIvtw3ULm42cp7VHYVf6Nk=" + "bundled": true }, "builtin-status-codes": { "version": "3.0.0", - "resolved": "https://registry.npmjs.org/builtin-status-codes/-/builtin-status-codes-3.0.0.tgz", - "integrity": "sha1-hZgoeOIbmOHGZCXgPQF0eI9Wnug=" + "bundled": true }, "cipher-base": { "version": "1.0.4", - "resolved": "https://registry.npmjs.org/cipher-base/-/cipher-base-1.0.4.tgz", - "integrity": "sha512-Kkht5ye6ZGmwv40uUDZztayT2ThLQGfnj/T71N/XzeZeo3nf8foyW7zGTsPYkEya3m5f3cAypH+qe7YOrM1U2Q==", + "bundled": true, "requires": { "inherits": "2.0.1", - "safe-buffer": "5.1.1" + "safe-buffer": "5.1.2" } }, - "concat-map": { - "version": "0.0.1", - "resolved": "https://registry.npmjs.org/concat-map/-/concat-map-0.0.1.tgz", - "integrity": "sha1-2Klr13/Wjfd5OnMDajug1UBdR3s=" - }, "console-browserify": { "version": "1.1.0", - "resolved": "https://registry.npmjs.org/console-browserify/-/console-browserify-1.1.0.tgz", - "integrity": "sha1-8CQcRXMKn8YyOyBtvzjtx0HQuxA=", + "bundled": true, "requires": { "date-now": "0.1.4" } }, "constants-browserify": { "version": "1.0.0", - "resolved": "https://registry.npmjs.org/constants-browserify/-/constants-browserify-1.0.0.tgz", - "integrity": "sha1-wguW2MYXdIqvHBYCF2DNJ/y4y3U=" + "bundled": true + }, + "core-util-is": { + "version": "1.0.2", + "bundled": true }, "create-ecdh": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/create-ecdh/-/create-ecdh-4.0.0.tgz", - "integrity": "sha1-iIxyNZbN92EvZJgjPuvXo1MBc30=", + "version": "4.0.3", + "bundled": true, "requires": { "bn.js": "4.11.8", "elliptic": "6.4.0" } }, "create-hash": { - "version": "1.1.3", - "resolved": "https://registry.npmjs.org/create-hash/-/create-hash-1.1.3.tgz", - "integrity": "sha1-YGBCrIuSYnUPSDyt2rD1gZFy2P0=", + "version": "1.2.0", + "bundled": true, "requires": { "cipher-base": "1.0.4", "inherits": "2.0.1", - "ripemd160": "2.0.1", - "sha.js": "2.4.10" + "md5.js": "1.3.4", + "ripemd160": "2.0.2", + "sha.js": "2.4.11" } }, "create-hmac": { - "version": "1.1.6", - "resolved": "https://registry.npmjs.org/create-hmac/-/create-hmac-1.1.6.tgz", - "integrity": "sha1-rLniIaThe9sHbpBlfEK5PjcmzwY=", + "version": "1.1.7", + "bundled": true, "requires": { "cipher-base": "1.0.4", - "create-hash": "1.1.3", + "create-hash": "1.2.0", "inherits": "2.0.1", - "ripemd160": "2.0.1", - "safe-buffer": "5.1.1", - "sha.js": "2.4.10" + "ripemd160": "2.0.2", + "safe-buffer": "5.1.2", + "sha.js": "2.4.11" } }, "crypto-browserify": { "version": "3.12.0", - "resolved": "https://registry.npmjs.org/crypto-browserify/-/crypto-browserify-3.12.0.tgz", - "integrity": "sha512-fz4spIh+znjO2VjL+IdhEpRJ3YN6sMzITSBijk6FK2UvTqruSQW+/cCZTSNsMiZNvUeq0CqurF+dAbyiGOY6Wg==", + "bundled": true, "requires": { - "browserify-cipher": "1.0.0", + "browserify-cipher": "1.0.1", "browserify-sign": "4.0.4", - "create-ecdh": "4.0.0", - "create-hash": "1.1.3", - "create-hmac": "1.1.6", - "diffie-hellman": "5.0.2", + "create-ecdh": "4.0.3", + "create-hash": "1.2.0", + "create-hmac": "1.1.7", + "diffie-hellman": "5.0.3", "inherits": "2.0.1", - "pbkdf2": "3.0.14", - "public-encrypt": "4.0.0", + "pbkdf2": "3.0.16", + "public-encrypt": "4.0.2", "randombytes": "2.0.6", "randomfill": "1.0.4" } }, "date-now": { "version": "0.1.4", - "resolved": "https://registry.npmjs.org/date-now/-/date-now-0.1.4.tgz", - "integrity": "sha1-6vQ5/U1ISK105cx9vvIAZyueNFs=" + "bundled": true }, "des.js": { "version": "1.0.0", - "resolved": "https://registry.npmjs.org/des.js/-/des.js-1.0.0.tgz", - "integrity": "sha1-wHTS4qpqipoH29YfmhXCzYPsjsw=", + "bundled": true, "requires": { "inherits": "2.0.1", - "minimalistic-assert": "1.0.0" + "minimalistic-assert": "1.0.1" } }, "diffie-hellman": { - "version": "5.0.2", - "resolved": "https://registry.npmjs.org/diffie-hellman/-/diffie-hellman-5.0.2.tgz", - "integrity": "sha1-tYNXOScM/ias9jIJn97SoH8gnl4=", + "version": "5.0.3", + "bundled": true, "requires": { "bn.js": "4.11.8", "miller-rabin": "4.0.1", @@ -282,376 +244,271 @@ }, "domain-browser": { "version": "1.2.0", - "resolved": "https://registry.npmjs.org/domain-browser/-/domain-browser-1.2.0.tgz", - "integrity": "sha512-jnjyiM6eRyZl2H+W8Q/zLMA481hzi0eszAaBUzIVnmYVDBbnLxVNnfu1HgEBvCbL+71FrxMl3E6lpKH7Ge3OXA==" + "bundled": true }, "elliptic": { "version": "6.4.0", - "resolved": "https://registry.npmjs.org/elliptic/-/elliptic-6.4.0.tgz", - "integrity": "sha1-ysmvh2LIWDYYcAPI3+GT5eLq5d8=", + "bundled": true, "requires": { "bn.js": "4.11.8", "brorand": "1.1.0", "hash.js": "1.1.3", "hmac-drbg": "1.0.1", "inherits": "2.0.1", - "minimalistic-assert": "1.0.0", + "minimalistic-assert": "1.0.1", "minimalistic-crypto-utils": "1.0.1" } }, "events": { "version": "1.1.1", - "resolved": "https://registry.npmjs.org/events/-/events-1.1.1.tgz", - "integrity": "sha1-nr23Y1rQmccNzEwqH1AEKI6L2SQ=" + "bundled": true }, "evp_bytestokey": { "version": "1.0.3", - "resolved": "https://registry.npmjs.org/evp_bytestokey/-/evp_bytestokey-1.0.3.tgz", - "integrity": "sha512-/f2Go4TognH/KvCISP7OUsHn85hT9nUkxxA9BEWxFn+Oj9o8ZNLm/40hdlgSLyuOimsrTKLUMEorQexp/aPQeA==", + "bundled": true, "requires": { "md5.js": "1.3.4", - "safe-buffer": "5.1.1" - } - }, - "fs.realpath": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/fs.realpath/-/fs.realpath-1.0.0.tgz", - "integrity": "sha1-FQStJSMVjKpA20onh8sBQRmU6k8=" - }, - "glob": { - "version": "7.1.2", - "resolved": "https://registry.npmjs.org/glob/-/glob-7.1.2.tgz", - "integrity": "sha512-MJTUg1kjuLeQCJ+ccE4Vpa6kKVXkPYJ2mOCQyUuKLcLQsdrMCpBPUi8qVE6+YuaJkozeA9NusTAw3hLr8Xe5EQ==", - "requires": { - "fs.realpath": "1.0.0", - "inflight": "1.0.6", - "inherits": "2.0.1", - "minimatch": "3.0.4", - "once": "1.4.0", - "path-is-absolute": "1.0.1" + "safe-buffer": "5.1.2" } }, "hash-base": { - "version": "2.0.2", - "resolved": "https://registry.npmjs.org/hash-base/-/hash-base-2.0.2.tgz", - "integrity": "sha1-ZuodhW206KVHDK32/OI65SRO8uE=", + "version": "3.0.4", + "bundled": true, "requires": { - "inherits": "2.0.1" + "inherits": "2.0.1", + "safe-buffer": "5.1.2" } }, "hash.js": { "version": "1.1.3", - "resolved": "https://registry.npmjs.org/hash.js/-/hash.js-1.1.3.tgz", - "integrity": "sha512-/UETyP0W22QILqS+6HowevwhEFJ3MBJnwTf75Qob9Wz9t0DPuisL8kW8YZMK62dHAKE1c1p+gY1TtOLY+USEHA==", + "bundled": true, "requires": { "inherits": "2.0.3", - "minimalistic-assert": "1.0.0" + "minimalistic-assert": "1.0.1" }, "dependencies": { "inherits": { "version": "2.0.3", - "resolved": "https://registry.npmjs.org/inherits/-/inherits-2.0.3.tgz", - "integrity": "sha1-Yzwsg+PaQqUC9SRmAiSA9CCCYd4=" + "bundled": true } } }, "hmac-drbg": { "version": "1.0.1", - "resolved": "https://registry.npmjs.org/hmac-drbg/-/hmac-drbg-1.0.1.tgz", - "integrity": "sha1-0nRXAQJabHdabFRXk+1QL8DGSaE=", + "bundled": true, "requires": { "hash.js": "1.1.3", - "minimalistic-assert": "1.0.0", + "minimalistic-assert": "1.0.1", "minimalistic-crypto-utils": "1.0.1" } }, "https-browserify": { "version": "0.0.1", - "resolved": "https://registry.npmjs.org/https-browserify/-/https-browserify-0.0.1.tgz", - "integrity": "sha1-P5E2XKvmC3ftDruiS0VOPgnZWoI=" + "bundled": true }, "ieee754": { - "version": "1.1.8", - "resolved": "https://registry.npmjs.org/ieee754/-/ieee754-1.1.8.tgz", - "integrity": "sha1-vjPUCsEO8ZJnAfbwii2G+/0a0+Q=" + "version": "1.1.11", + "bundled": true }, "indexof": { "version": "0.0.1", - "resolved": "https://registry.npmjs.org/indexof/-/indexof-0.0.1.tgz", - "integrity": "sha1-gtwzbSMrkGIXnQWrMpOmYFn9Q10=" - }, - "inflight": { - "version": "1.0.6", - "resolved": "https://registry.npmjs.org/inflight/-/inflight-1.0.6.tgz", - "integrity": "sha1-Sb1jMdfQLQwJvJEKEHW6gWW1bfk=", - "requires": { - "once": "1.4.0", - "wrappy": "1.0.2" - } + "bundled": true }, "inherits": { "version": "2.0.1", - "resolved": "https://registry.npmjs.org/inherits/-/inherits-2.0.1.tgz", - "integrity": "sha1-sX0I0ya0Qj5Wjv9xn5GwscvfafE=" + "bundled": true }, "isarray": { "version": "1.0.0", - "resolved": "https://registry.npmjs.org/isarray/-/isarray-1.0.0.tgz", - "integrity": "sha1-u5NdSFgsuhaMBoNJV6VKPgcSTxE=" + "bundled": true }, "md5.js": { "version": "1.3.4", - "resolved": "https://registry.npmjs.org/md5.js/-/md5.js-1.3.4.tgz", - "integrity": "sha1-6b296UogpawYsENA/Fdk1bCdkB0=", + "bundled": true, "requires": { "hash-base": "3.0.4", "inherits": "2.0.1" - }, - "dependencies": { - "hash-base": { - "version": "3.0.4", - "resolved": "https://registry.npmjs.org/hash-base/-/hash-base-3.0.4.tgz", - "integrity": "sha1-X8hoaEfs1zSZQDMZprCj8/auSRg=", - "requires": { - "inherits": "2.0.1", - "safe-buffer": "5.1.1" - } - } } }, "miller-rabin": { "version": "4.0.1", - "resolved": "https://registry.npmjs.org/miller-rabin/-/miller-rabin-4.0.1.tgz", - "integrity": "sha512-115fLhvZVqWwHPbClyntxEVfVDfl9DLLTuJvq3g2O/Oxi8AiNouAHvDSzHS0viUJc+V5vm3eq91Xwqn9dp4jRA==", + "bundled": true, "requires": { "bn.js": "4.11.8", "brorand": "1.1.0" } }, "minimalistic-assert": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/minimalistic-assert/-/minimalistic-assert-1.0.0.tgz", - "integrity": "sha1-cCvi3aazf0g2vLP121ZkG2Sh09M=" + "version": "1.0.1", + "bundled": true }, "minimalistic-crypto-utils": { "version": "1.0.1", - "resolved": "https://registry.npmjs.org/minimalistic-crypto-utils/-/minimalistic-crypto-utils-1.0.1.tgz", - "integrity": "sha1-9sAMHAsIIkblxNmd+4x8CDsrWCo=" - }, - "minimatch": { - "version": "3.0.4", - "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-3.0.4.tgz", - "integrity": "sha512-yJHVQEhyqPLUTgt9B83PXu6W3rx4MvvHvSUvToogpwoGDOUQ+yDrR0HRot+yOCdCO7u4hX3pWft6kWBBcqh0UA==", - "requires": { - "brace-expansion": "1.1.11" - } - }, - "once": { - "version": "1.4.0", - "resolved": "https://registry.npmjs.org/once/-/once-1.4.0.tgz", - "integrity": "sha1-WDsap3WWHUsROsF9nFC6753Xa9E=", - "requires": { - "wrappy": "1.0.2" - } + "bundled": true }, "os-browserify": { "version": "0.2.1", - "resolved": "https://registry.npmjs.org/os-browserify/-/os-browserify-0.2.1.tgz", - "integrity": "sha1-Y/xMzuXS13Y9Jrv4YBB45sLgBE8=" + "bundled": true }, "pako": { "version": "0.2.9", - "resolved": "https://registry.npmjs.org/pako/-/pako-0.2.9.tgz", - "integrity": "sha1-8/dSL073gjSNqBYbrZ7P1Rv4OnU=" + "bundled": true }, "parse-asn1": { - "version": "5.1.0", - "resolved": "https://registry.npmjs.org/parse-asn1/-/parse-asn1-5.1.0.tgz", - "integrity": "sha1-N8T5t+06tlx0gXtfJICTf7+XxxI=", + "version": "5.1.1", + "bundled": true, "requires": { "asn1.js": "4.10.1", - "browserify-aes": "1.1.1", - "create-hash": "1.1.3", + "browserify-aes": "1.2.0", + "create-hash": "1.2.0", "evp_bytestokey": "1.0.3", - "pbkdf2": "3.0.14" + "pbkdf2": "3.0.16" } }, "path-browserify": { "version": "0.0.0", - "resolved": "https://registry.npmjs.org/path-browserify/-/path-browserify-0.0.0.tgz", - "integrity": "sha1-oLhwcpquIUAFt9UDLsLLuw+0RRo=" - }, - "path-is-absolute": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/path-is-absolute/-/path-is-absolute-1.0.1.tgz", - "integrity": "sha1-F0uSaHNVNP+8es5r9TpanhtcX18=" + "bundled": true }, "pbkdf2": { - "version": "3.0.14", - "resolved": "https://registry.npmjs.org/pbkdf2/-/pbkdf2-3.0.14.tgz", - "integrity": "sha512-gjsZW9O34fm0R7PaLHRJmLLVfSoesxztjPjE9o6R+qtVJij90ltg1joIovN9GKrRW3t1PzhDDG3UMEMFfZ+1wA==", + "version": "3.0.16", + "bundled": true, "requires": { - "create-hash": "1.1.3", - "create-hmac": "1.1.6", - "ripemd160": "2.0.1", - "safe-buffer": "5.1.1", - "sha.js": "2.4.10" + "create-hash": "1.2.0", + "create-hmac": "1.1.7", + "ripemd160": "2.0.2", + "safe-buffer": "5.1.2", + "sha.js": "2.4.11" } }, "process": { "version": "0.11.10", - "resolved": "https://registry.npmjs.org/process/-/process-0.11.10.tgz", - "integrity": "sha1-czIwDoQBYb2j5podHZGn1LwW8YI=" + "bundled": true }, "process-nextick-args": { "version": "2.0.0", - "resolved": "https://registry.npmjs.org/process-nextick-args/-/process-nextick-args-2.0.0.tgz", - "integrity": "sha512-MtEC1TqN0EU5nephaJ4rAtThHtC86dNN9qCuEhtshvpVBkAW5ZO7BASN9REnF9eoXGcRub+pFuKEpOHE+HbEMw==" + "bundled": true }, "public-encrypt": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/public-encrypt/-/public-encrypt-4.0.0.tgz", - "integrity": "sha1-OfaZ86RlYN1eusvKaTyvfGXBjMY=", + "version": "4.0.2", + "bundled": true, "requires": { "bn.js": "4.11.8", "browserify-rsa": "4.0.1", - "create-hash": "1.1.3", - "parse-asn1": "5.1.0", + "create-hash": "1.2.0", + "parse-asn1": "5.1.1", "randombytes": "2.0.6" } }, "punycode": { "version": "1.4.1", - "resolved": "https://registry.npmjs.org/punycode/-/punycode-1.4.1.tgz", - "integrity": "sha1-wNWmOycYgArY4esPpSachN1BhF4=" + "bundled": true }, "querystring": { "version": "0.2.0", - "resolved": "https://registry.npmjs.org/querystring/-/querystring-0.2.0.tgz", - "integrity": "sha1-sgmEkgO7Jd+CDadW50cAWHhSFiA=" + "bundled": true }, "querystring-es3": { "version": "0.2.1", - "resolved": "https://registry.npmjs.org/querystring-es3/-/querystring-es3-0.2.1.tgz", - "integrity": "sha1-nsYfeQSYdXB9aUFFlv2Qek1xHnM=" + "bundled": true }, "randombytes": { "version": "2.0.6", - "resolved": "https://registry.npmjs.org/randombytes/-/randombytes-2.0.6.tgz", - "integrity": "sha512-CIQ5OFxf4Jou6uOKe9t1AOgqpeU5fd70A8NPdHSGeYXqXsPe6peOwI0cUl88RWZ6sP1vPMV3avd/R6cZ5/sP1A==", + "bundled": true, "requires": { - "safe-buffer": "5.1.1" + "safe-buffer": "5.1.2" } }, "randomfill": { "version": "1.0.4", - "resolved": "https://registry.npmjs.org/randomfill/-/randomfill-1.0.4.tgz", - "integrity": "sha512-87lcbR8+MhcWcUiQ+9e+Rwx8MyR2P7qnt15ynUlbm3TU/fjbgz4GsvfSUDTemtCCtVCqb4ZcEFlyPNTh9bBTLw==", + "bundled": true, "requires": { "randombytes": "2.0.6", - "safe-buffer": "5.1.1" + "safe-buffer": "5.1.2" } }, "readable-stream": { - "version": "git+https://github.com/meteor/readable-stream.git#c688cdd193549919b840e8d72a86682d91961e12", + "version": "2.3.6", + "bundled": true, "requires": { + "core-util-is": "1.0.2", "inherits": "2.0.3", "isarray": "1.0.0", "process-nextick-args": "2.0.0", - "safe-buffer": "5.1.1", - "string_decoder": "1.1.0", + "safe-buffer": "5.1.2", + "string_decoder": "1.1.1", "util-deprecate": "1.0.2" }, "dependencies": { "inherits": { "version": "2.0.3", - "resolved": "https://registry.npmjs.org/inherits/-/inherits-2.0.3.tgz", - "integrity": "sha1-Yzwsg+PaQqUC9SRmAiSA9CCCYd4=" + "bundled": true } } }, - "rimraf": { - "version": "2.6.2", - "resolved": "https://registry.npmjs.org/rimraf/-/rimraf-2.6.2.tgz", - "integrity": "sha512-lreewLK/BlghmxtfH36YYVg1i8IAce4TI7oao75I1g245+6BctqTVQiBP3YUJ9C6DQOXJmkYR9X9fCLtCOJc5w==", - "requires": { - "glob": "7.1.2" - } - }, "ripemd160": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/ripemd160/-/ripemd160-2.0.1.tgz", - "integrity": "sha1-D0WEKVxTo2KK9+bXmsohzlfRxuc=", + "version": "2.0.2", + "bundled": true, "requires": { - "hash-base": "2.0.2", + "hash-base": "3.0.4", "inherits": "2.0.1" } }, "safe-buffer": { - "version": "5.1.1", - "resolved": "https://registry.npmjs.org/safe-buffer/-/safe-buffer-5.1.1.tgz", - "integrity": "sha512-kKvNJn6Mm93gAczWVJg7wH+wGYWNrDHdWvpUmHyEsgCtIwwo3bqPtV4tR5tuPaUhTOo/kvhVwd8XwwOllGYkbg==" + "version": "5.1.2", + "bundled": true }, "sha.js": { - "version": "2.4.10", - "resolved": "https://registry.npmjs.org/sha.js/-/sha.js-2.4.10.tgz", - "integrity": "sha512-vnwmrFDlOExK4Nm16J2KMWHLrp14lBrjxMxBJpu++EnsuBmpiYaM/MEs46Vxxm/4FvdP5yTwuCTO9it5FSjrqA==", + "version": "2.4.11", + "bundled": true, "requires": { "inherits": "2.0.1", - "safe-buffer": "5.1.1" + "safe-buffer": "5.1.2" } }, "stream-browserify": { "version": "2.0.1", - "resolved": "https://registry.npmjs.org/stream-browserify/-/stream-browserify-2.0.1.tgz", - "integrity": "sha1-ZiZu5fm9uZQKTkUUyvtDu3Hlyds=", + "bundled": true, "requires": { "inherits": "2.0.1", - "readable-stream": "git+https://github.com/meteor/readable-stream.git#c688cdd193549919b840e8d72a86682d91961e12" + "readable-stream": "2.3.6" } }, "stream-http": { - "version": "2.8.0", - "resolved": "https://registry.npmjs.org/stream-http/-/stream-http-2.8.0.tgz", - "integrity": "sha512-sZOFxI/5xw058XIRHl4dU3dZ+TTOIGJR78Dvo0oEAejIt4ou27k+3ne1zYmCV+v7UucbxIFQuOgnkTVHh8YPnw==", + "version": "2.8.1", + "bundled": true, "requires": { "builtin-status-codes": "3.0.0", "inherits": "2.0.1", - "readable-stream": "git+https://github.com/meteor/readable-stream.git#c688cdd193549919b840e8d72a86682d91961e12", + "readable-stream": "2.3.6", "to-arraybuffer": "1.0.1", "xtend": "4.0.1" } }, "string_decoder": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/string_decoder/-/string_decoder-1.1.0.tgz", - "integrity": "sha512-8zQpRF6juocE69ae7CSPmYEGJe4VCXwP6S6dxUWI7i53Gwv54/ec41fiUA+X7BPGGv7fRSQJjBQVa0gomGaOgg==", + "version": "1.1.1", + "bundled": true, "requires": { - "safe-buffer": "5.1.1" + "safe-buffer": "5.1.2" } }, "timers-browserify": { "version": "1.4.2", - "resolved": "https://registry.npmjs.org/timers-browserify/-/timers-browserify-1.4.2.tgz", - "integrity": "sha1-ycWLV1voQHN1y14kYtrO50NZ9B0=", + "bundled": true, "requires": { "process": "0.11.10" } }, "to-arraybuffer": { "version": "1.0.1", - "resolved": "https://registry.npmjs.org/to-arraybuffer/-/to-arraybuffer-1.0.1.tgz", - "integrity": "sha1-fSKbH8xjfkZsoIEYCDanqr/4P0M=" + "bundled": true }, "tty-browserify": { "version": "0.0.0", - "resolved": "https://registry.npmjs.org/tty-browserify/-/tty-browserify-0.0.0.tgz", - "integrity": "sha1-oVe6QC2iTpv5V/mqadUk7tQpAaY=" + "bundled": true }, "url": { "version": "0.11.0", - "resolved": "https://registry.npmjs.org/url/-/url-0.11.0.tgz", - "integrity": "sha1-ODjpfPxgUh63PFJajlW/3Z4uKPE=", + "bundled": true, "requires": { "punycode": "1.3.2", "querystring": "0.2.0" @@ -659,41 +516,31 @@ "dependencies": { "punycode": { "version": "1.3.2", - "resolved": "https://registry.npmjs.org/punycode/-/punycode-1.3.2.tgz", - "integrity": "sha1-llOgNvt8HuQjQvIyXM7v6jkmxI0=" + "bundled": true } } }, "util": { "version": "0.10.3", - "resolved": "https://registry.npmjs.org/util/-/util-0.10.3.tgz", - "integrity": "sha1-evsa/lCAUkZInj23/g7TeTNqwPk=", + "bundled": true, "requires": { "inherits": "2.0.1" } }, "util-deprecate": { "version": "1.0.2", - "resolved": "https://registry.npmjs.org/util-deprecate/-/util-deprecate-1.0.2.tgz", - "integrity": "sha1-RQ1Nyfpw3nMnYvvS1KKJgUGaDM8=" + "bundled": true }, "vm-browserify": { "version": "0.0.4", - "resolved": "https://registry.npmjs.org/vm-browserify/-/vm-browserify-0.0.4.tgz", - "integrity": "sha1-XX6kW7755Kb/ZflUOOCofDV9WnM=", + "bundled": true, "requires": { "indexof": "0.0.1" } }, - "wrappy": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/wrappy/-/wrappy-1.0.2.tgz", - "integrity": "sha1-tSQ9jz7BqjXxNkYFvA0QNuMKtp8=" - }, "xtend": { "version": "4.0.1", - "resolved": "https://registry.npmjs.org/xtend/-/xtend-4.0.1.tgz", - "integrity": "sha1-pcbVMr5lbiPbgg77lDofBJmNY68=" + "bundled": true } } }, diff --git a/tools/tests/apps/app-config/package.json b/tools/tests/apps/app-config/package.json index 1c175061c8..cfb1761b5a 100644 --- a/tools/tests/apps/app-config/package.json +++ b/tools/tests/apps/app-config/package.json @@ -6,7 +6,7 @@ }, "dependencies": { "@babel/runtime": "^7.0.0-beta.46", - "meteor-node-stubs": "^0.3.2" + "meteor-node-stubs": "^0.4.1" }, "meteor": { "testModule": "tests.js" diff --git a/tools/tests/apps/dev-bundle-bin-commands/package.json b/tools/tests/apps/dev-bundle-bin-commands/package.json index 7dcedabf8b..3725fff62f 100644 --- a/tools/tests/apps/dev-bundle-bin-commands/package.json +++ b/tools/tests/apps/dev-bundle-bin-commands/package.json @@ -8,6 +8,6 @@ }, "dependencies": { "@babel/runtime": "^7.0.0-beta.46", - "meteor-node-stubs": "^0.3.2" + "meteor-node-stubs": "^0.4.1" } } diff --git a/tools/tests/apps/dynamic-import/package-lock.json b/tools/tests/apps/dynamic-import/package-lock.json index e9cc95361d..704e1aac5a 100644 --- a/tools/tests/apps/dynamic-import/package-lock.json +++ b/tools/tests/apps/dynamic-import/package-lock.json @@ -8,7 +8,7 @@ "resolved": "https://registry.npmjs.org/@babel/runtime/-/runtime-7.0.0-beta.46.tgz", "integrity": "sha512-/3a3USMKk54BEHhDgY8rtxtaQOs4bp4aQwo6SDtdwmrXmgSgEusWuXNX5oIs/nwzmTD9o8wz2EyAjA+uHDMmJA==", "requires": { - "core-js": "2.5.5", + "core-js": "2.5.6", "regenerator-runtime": "0.11.1" } }, @@ -28,16 +28,16 @@ "integrity": "sha1-5QNHYR1+aQlDIIu9r+vLwvuGbUY=" }, "core-js": { - "version": "2.5.5", - "resolved": "https://registry.npmjs.org/core-js/-/core-js-2.5.5.tgz", - "integrity": "sha1-sU3ek2xkDAV5prUMq8wTLdYSfjs=" + "version": "2.5.6", + "resolved": "https://registry.npmjs.org/core-js/-/core-js-2.5.6.tgz", + "integrity": "sha512-lQUVfQi0aLix2xpyjrrJEvfuYCqPc/HwmTKsC/VNf8q0zsjX7SQZtp4+oRONN5Tsur9GDETPjj+Ub2iDiGZfSQ==" }, "encoding": { "version": "0.1.12", "resolved": "https://registry.npmjs.org/encoding/-/encoding-0.1.12.tgz", "integrity": "sha1-U4tm8+5izRq1HsMjgp0flIDHS+s=", "requires": { - "iconv-lite": "0.4.19" + "iconv-lite": "0.4.23" } }, "fbjs": { @@ -51,7 +51,7 @@ "object-assign": "4.1.1", "promise": "7.3.1", "setimmediate": "1.0.5", - "ua-parser-js": "0.7.17" + "ua-parser-js": "0.7.18" }, "dependencies": { "core-js": { @@ -62,9 +62,12 @@ } }, "iconv-lite": { - "version": "0.4.19", - "resolved": "https://registry.npmjs.org/iconv-lite/-/iconv-lite-0.4.19.tgz", - "integrity": "sha512-oTZqweIP51xaGPI4uPa56/Pri/480R+mo7SeU+YETByQNhDG55ycFyNLIgta9vXhILrxXDmF7ZGhqZIcuN0gJQ==" + "version": "0.4.23", + "resolved": "https://registry.npmjs.org/iconv-lite/-/iconv-lite-0.4.23.tgz", + "integrity": "sha512-neyTUVFtahjf0mB3dZT77u+8O0QB89jFdnBkd5P1JgYPbPaia3gXXOVL2fq8VyU2gMMD7SaN7QukTB/pmXYvDA==", + "requires": { + "safer-buffer": "2.1.2" + } }, "is-stream": { "version": "1.1.0", @@ -77,7 +80,7 @@ "integrity": "sha1-YRrhrPFPXoH3KVB0coGf6XM1WKk=", "requires": { "node-fetch": "1.7.3", - "whatwg-fetch": "2.0.3" + "whatwg-fetch": "2.0.4" } }, "js-tokens": { @@ -103,9 +106,9 @@ } }, "meteor-node-stubs": { - "version": "0.3.3", - "resolved": "https://registry.npmjs.org/meteor-node-stubs/-/meteor-node-stubs-0.3.3.tgz", - "integrity": "sha512-TI1aQRK0vqs94OCkUMkmf5lXNWfIsjSaEDP1inUuwRGt9w8/S2V+HdRikz9r1k/gew+7NcJieaqHsHX7pSTEgA==", + "version": "0.4.1", + "resolved": "https://registry.npmjs.org/meteor-node-stubs/-/meteor-node-stubs-0.4.1.tgz", + "integrity": "sha512-UO2OStvLOKoApmOdIP5eCqoLaa/ritMXRg4ffJVdkNLEsczzPvTjgC0Mxk4cM4R8MZkwll90FYgjDf5qUTJdMA==", "requires": { "assert": "1.4.1", "browserify-zlib": "0.1.4", @@ -121,10 +124,10 @@ "process": "0.11.10", "punycode": "1.4.1", "querystring-es3": "0.2.1", - "readable-stream": "git+https://github.com/meteor/readable-stream.git#c688cdd193549919b840e8d72a86682d91961e12", + "readable-stream": "2.3.6", "stream-browserify": "2.0.1", - "stream-http": "2.8.0", - "string_decoder": "1.1.0", + "stream-http": "2.8.1", + "string_decoder": "1.1.1", "timers-browserify": "1.4.2", "tty-browserify": "0.0.0", "url": "0.11.0", @@ -134,78 +137,56 @@ "dependencies": { "asn1.js": { "version": "4.10.1", - "resolved": "https://registry.npmjs.org/asn1.js/-/asn1.js-4.10.1.tgz", - "integrity": "sha512-p32cOF5q0Zqs9uBiONKYLm6BClCoBCM5O9JfeUSlnQLBTxYdTK+pW+nXflm8UkKd2UYlEbYz5qEi0JuZR9ckSw==", + "bundled": true, "requires": { "bn.js": "4.11.8", "inherits": "2.0.1", - "minimalistic-assert": "1.0.0" + "minimalistic-assert": "1.0.1" } }, "assert": { "version": "1.4.1", - "resolved": "https://registry.npmjs.org/assert/-/assert-1.4.1.tgz", - "integrity": "sha1-mZEtWRg2tab1s0XA8H7vwI/GXZE=", + "bundled": true, "requires": { "util": "0.10.3" } }, - "balanced-match": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/balanced-match/-/balanced-match-1.0.0.tgz", - "integrity": "sha1-ibTRmasr7kneFk6gK4nORi1xt2c=" - }, "base64-js": { - "version": "1.2.3", - "resolved": "https://registry.npmjs.org/base64-js/-/base64-js-1.2.3.tgz", - "integrity": "sha512-MsAhsUW1GxCdgYSO6tAfZrNapmUKk7mWx/k5mFY/A1gBtkaCaNapTg+FExCw1r9yeaZhqx/xPg43xgTFH6KL5w==" + "version": "1.3.0", + "bundled": true }, "bn.js": { "version": "4.11.8", - "resolved": "https://registry.npmjs.org/bn.js/-/bn.js-4.11.8.tgz", - "integrity": "sha512-ItfYfPLkWHUjckQCk8xC+LwxgK8NYcXywGigJgSwOP8Y2iyWT4f2vsZnoOXTTbo+o5yXmIUJ4gn5538SO5S3gA==" - }, - "brace-expansion": { - "version": "1.1.11", - "resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-1.1.11.tgz", - "integrity": "sha512-iCuPHDFgrHX7H2vEI/5xpz07zSHB00TpugqhmYtVmMO6518mCuRMoOYFldEBl0g187ufozdaHgWKcYFb61qGiA==", - "requires": { - "balanced-match": "1.0.0", - "concat-map": "0.0.1" - } + "bundled": true }, "brorand": { "version": "1.1.0", - "resolved": "https://registry.npmjs.org/brorand/-/brorand-1.1.0.tgz", - "integrity": "sha1-EsJe/kCkXjwyPrhnWgoM5XsiNx8=" + "bundled": true }, "browserify-aes": { - "version": "1.1.1", - "resolved": "https://registry.npmjs.org/browserify-aes/-/browserify-aes-1.1.1.tgz", - "integrity": "sha512-UGnTYAnB2a3YuYKIRy1/4FB2HdM866E0qC46JXvVTYKlBlZlnvfpSfY6OKfXZAkv70eJ2a1SqzpAo5CRhZGDFg==", + "version": "1.2.0", + "bundled": true, "requires": { "buffer-xor": "1.0.3", "cipher-base": "1.0.4", - "create-hash": "1.1.3", + "create-hash": "1.2.0", "evp_bytestokey": "1.0.3", "inherits": "2.0.1", - "safe-buffer": "5.1.1" + "safe-buffer": "5.1.2" } }, "browserify-cipher": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/browserify-cipher/-/browserify-cipher-1.0.0.tgz", - "integrity": "sha1-mYgkSHS/XtTijalWZtzWasj8Njo=", + "version": "1.0.1", + "bundled": true, "requires": { - "browserify-aes": "1.1.1", - "browserify-des": "1.0.0", + "browserify-aes": "1.2.0", + "browserify-des": "1.0.1", "evp_bytestokey": "1.0.3" } }, "browserify-des": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/browserify-des/-/browserify-des-1.0.0.tgz", - "integrity": "sha1-2qJ3cXRwki7S/hhZQRihdUOXId0=", + "version": "1.0.1", + "bundled": true, "requires": { "cipher-base": "1.0.4", "des.js": "1.0.0", @@ -214,8 +195,7 @@ }, "browserify-rsa": { "version": "4.0.1", - "resolved": "https://registry.npmjs.org/browserify-rsa/-/browserify-rsa-4.0.1.tgz", - "integrity": "sha1-IeCr+vbyApzy+vsTNWenAdQTVSQ=", + "bundled": true, "requires": { "bn.js": "4.11.8", "randombytes": "2.0.6" @@ -223,142 +203,127 @@ }, "browserify-sign": { "version": "4.0.4", - "resolved": "https://registry.npmjs.org/browserify-sign/-/browserify-sign-4.0.4.tgz", - "integrity": "sha1-qk62jl17ZYuqa/alfmMMvXqT0pg=", + "bundled": true, "requires": { "bn.js": "4.11.8", "browserify-rsa": "4.0.1", - "create-hash": "1.1.3", - "create-hmac": "1.1.6", + "create-hash": "1.2.0", + "create-hmac": "1.1.7", "elliptic": "6.4.0", "inherits": "2.0.1", - "parse-asn1": "5.1.0" + "parse-asn1": "5.1.1" } }, "browserify-zlib": { "version": "0.1.4", - "resolved": "https://registry.npmjs.org/browserify-zlib/-/browserify-zlib-0.1.4.tgz", - "integrity": "sha1-uzX4pRn2AOD6a4SFJByXnQFB+y0=", + "bundled": true, "requires": { "pako": "0.2.9" } }, "buffer": { "version": "4.9.1", - "resolved": "https://registry.npmjs.org/buffer/-/buffer-4.9.1.tgz", - "integrity": "sha1-bRu2AbB6TvztlwlBMgkwJ8lbwpg=", + "bundled": true, "requires": { - "base64-js": "1.2.3", - "ieee754": "1.1.8", + "base64-js": "1.3.0", + "ieee754": "1.1.11", "isarray": "1.0.0" } }, "buffer-xor": { "version": "1.0.3", - "resolved": "https://registry.npmjs.org/buffer-xor/-/buffer-xor-1.0.3.tgz", - "integrity": "sha1-JuYe0UIvtw3ULm42cp7VHYVf6Nk=" + "bundled": true }, "builtin-status-codes": { "version": "3.0.0", - "resolved": "https://registry.npmjs.org/builtin-status-codes/-/builtin-status-codes-3.0.0.tgz", - "integrity": "sha1-hZgoeOIbmOHGZCXgPQF0eI9Wnug=" + "bundled": true }, "cipher-base": { "version": "1.0.4", - "resolved": "https://registry.npmjs.org/cipher-base/-/cipher-base-1.0.4.tgz", - "integrity": "sha512-Kkht5ye6ZGmwv40uUDZztayT2ThLQGfnj/T71N/XzeZeo3nf8foyW7zGTsPYkEya3m5f3cAypH+qe7YOrM1U2Q==", + "bundled": true, "requires": { "inherits": "2.0.1", - "safe-buffer": "5.1.1" + "safe-buffer": "5.1.2" } }, - "concat-map": { - "version": "0.0.1", - "resolved": "https://registry.npmjs.org/concat-map/-/concat-map-0.0.1.tgz", - "integrity": "sha1-2Klr13/Wjfd5OnMDajug1UBdR3s=" - }, "console-browserify": { "version": "1.1.0", - "resolved": "https://registry.npmjs.org/console-browserify/-/console-browserify-1.1.0.tgz", - "integrity": "sha1-8CQcRXMKn8YyOyBtvzjtx0HQuxA=", + "bundled": true, "requires": { "date-now": "0.1.4" } }, "constants-browserify": { "version": "1.0.0", - "resolved": "https://registry.npmjs.org/constants-browserify/-/constants-browserify-1.0.0.tgz", - "integrity": "sha1-wguW2MYXdIqvHBYCF2DNJ/y4y3U=" + "bundled": true + }, + "core-util-is": { + "version": "1.0.2", + "bundled": true }, "create-ecdh": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/create-ecdh/-/create-ecdh-4.0.0.tgz", - "integrity": "sha1-iIxyNZbN92EvZJgjPuvXo1MBc30=", + "version": "4.0.3", + "bundled": true, "requires": { "bn.js": "4.11.8", "elliptic": "6.4.0" } }, "create-hash": { - "version": "1.1.3", - "resolved": "https://registry.npmjs.org/create-hash/-/create-hash-1.1.3.tgz", - "integrity": "sha1-YGBCrIuSYnUPSDyt2rD1gZFy2P0=", + "version": "1.2.0", + "bundled": true, "requires": { "cipher-base": "1.0.4", "inherits": "2.0.1", - "ripemd160": "2.0.1", - "sha.js": "2.4.10" + "md5.js": "1.3.4", + "ripemd160": "2.0.2", + "sha.js": "2.4.11" } }, "create-hmac": { - "version": "1.1.6", - "resolved": "https://registry.npmjs.org/create-hmac/-/create-hmac-1.1.6.tgz", - "integrity": "sha1-rLniIaThe9sHbpBlfEK5PjcmzwY=", + "version": "1.1.7", + "bundled": true, "requires": { "cipher-base": "1.0.4", - "create-hash": "1.1.3", + "create-hash": "1.2.0", "inherits": "2.0.1", - "ripemd160": "2.0.1", - "safe-buffer": "5.1.1", - "sha.js": "2.4.10" + "ripemd160": "2.0.2", + "safe-buffer": "5.1.2", + "sha.js": "2.4.11" } }, "crypto-browserify": { "version": "3.12.0", - "resolved": "https://registry.npmjs.org/crypto-browserify/-/crypto-browserify-3.12.0.tgz", - "integrity": "sha512-fz4spIh+znjO2VjL+IdhEpRJ3YN6sMzITSBijk6FK2UvTqruSQW+/cCZTSNsMiZNvUeq0CqurF+dAbyiGOY6Wg==", + "bundled": true, "requires": { - "browserify-cipher": "1.0.0", + "browserify-cipher": "1.0.1", "browserify-sign": "4.0.4", - "create-ecdh": "4.0.0", - "create-hash": "1.1.3", - "create-hmac": "1.1.6", - "diffie-hellman": "5.0.2", + "create-ecdh": "4.0.3", + "create-hash": "1.2.0", + "create-hmac": "1.1.7", + "diffie-hellman": "5.0.3", "inherits": "2.0.1", - "pbkdf2": "3.0.14", - "public-encrypt": "4.0.0", + "pbkdf2": "3.0.16", + "public-encrypt": "4.0.2", "randombytes": "2.0.6", "randomfill": "1.0.4" } }, "date-now": { "version": "0.1.4", - "resolved": "https://registry.npmjs.org/date-now/-/date-now-0.1.4.tgz", - "integrity": "sha1-6vQ5/U1ISK105cx9vvIAZyueNFs=" + "bundled": true }, "des.js": { "version": "1.0.0", - "resolved": "https://registry.npmjs.org/des.js/-/des.js-1.0.0.tgz", - "integrity": "sha1-wHTS4qpqipoH29YfmhXCzYPsjsw=", + "bundled": true, "requires": { "inherits": "2.0.1", - "minimalistic-assert": "1.0.0" + "minimalistic-assert": "1.0.1" } }, "diffie-hellman": { - "version": "5.0.2", - "resolved": "https://registry.npmjs.org/diffie-hellman/-/diffie-hellman-5.0.2.tgz", - "integrity": "sha1-tYNXOScM/ias9jIJn97SoH8gnl4=", + "version": "5.0.3", + "bundled": true, "requires": { "bn.js": "4.11.8", "miller-rabin": "4.0.1", @@ -367,376 +332,271 @@ }, "domain-browser": { "version": "1.2.0", - "resolved": "https://registry.npmjs.org/domain-browser/-/domain-browser-1.2.0.tgz", - "integrity": "sha512-jnjyiM6eRyZl2H+W8Q/zLMA481hzi0eszAaBUzIVnmYVDBbnLxVNnfu1HgEBvCbL+71FrxMl3E6lpKH7Ge3OXA==" + "bundled": true }, "elliptic": { "version": "6.4.0", - "resolved": "https://registry.npmjs.org/elliptic/-/elliptic-6.4.0.tgz", - "integrity": "sha1-ysmvh2LIWDYYcAPI3+GT5eLq5d8=", + "bundled": true, "requires": { "bn.js": "4.11.8", "brorand": "1.1.0", "hash.js": "1.1.3", "hmac-drbg": "1.0.1", "inherits": "2.0.1", - "minimalistic-assert": "1.0.0", + "minimalistic-assert": "1.0.1", "minimalistic-crypto-utils": "1.0.1" } }, "events": { "version": "1.1.1", - "resolved": "https://registry.npmjs.org/events/-/events-1.1.1.tgz", - "integrity": "sha1-nr23Y1rQmccNzEwqH1AEKI6L2SQ=" + "bundled": true }, "evp_bytestokey": { "version": "1.0.3", - "resolved": "https://registry.npmjs.org/evp_bytestokey/-/evp_bytestokey-1.0.3.tgz", - "integrity": "sha512-/f2Go4TognH/KvCISP7OUsHn85hT9nUkxxA9BEWxFn+Oj9o8ZNLm/40hdlgSLyuOimsrTKLUMEorQexp/aPQeA==", + "bundled": true, "requires": { "md5.js": "1.3.4", - "safe-buffer": "5.1.1" - } - }, - "fs.realpath": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/fs.realpath/-/fs.realpath-1.0.0.tgz", - "integrity": "sha1-FQStJSMVjKpA20onh8sBQRmU6k8=" - }, - "glob": { - "version": "7.1.2", - "resolved": "https://registry.npmjs.org/glob/-/glob-7.1.2.tgz", - "integrity": "sha512-MJTUg1kjuLeQCJ+ccE4Vpa6kKVXkPYJ2mOCQyUuKLcLQsdrMCpBPUi8qVE6+YuaJkozeA9NusTAw3hLr8Xe5EQ==", - "requires": { - "fs.realpath": "1.0.0", - "inflight": "1.0.6", - "inherits": "2.0.1", - "minimatch": "3.0.4", - "once": "1.4.0", - "path-is-absolute": "1.0.1" + "safe-buffer": "5.1.2" } }, "hash-base": { - "version": "2.0.2", - "resolved": "https://registry.npmjs.org/hash-base/-/hash-base-2.0.2.tgz", - "integrity": "sha1-ZuodhW206KVHDK32/OI65SRO8uE=", + "version": "3.0.4", + "bundled": true, "requires": { - "inherits": "2.0.1" + "inherits": "2.0.1", + "safe-buffer": "5.1.2" } }, "hash.js": { "version": "1.1.3", - "resolved": "https://registry.npmjs.org/hash.js/-/hash.js-1.1.3.tgz", - "integrity": "sha512-/UETyP0W22QILqS+6HowevwhEFJ3MBJnwTf75Qob9Wz9t0DPuisL8kW8YZMK62dHAKE1c1p+gY1TtOLY+USEHA==", + "bundled": true, "requires": { "inherits": "2.0.3", - "minimalistic-assert": "1.0.0" + "minimalistic-assert": "1.0.1" }, "dependencies": { "inherits": { "version": "2.0.3", - "resolved": "https://registry.npmjs.org/inherits/-/inherits-2.0.3.tgz", - "integrity": "sha1-Yzwsg+PaQqUC9SRmAiSA9CCCYd4=" + "bundled": true } } }, "hmac-drbg": { "version": "1.0.1", - "resolved": "https://registry.npmjs.org/hmac-drbg/-/hmac-drbg-1.0.1.tgz", - "integrity": "sha1-0nRXAQJabHdabFRXk+1QL8DGSaE=", + "bundled": true, "requires": { "hash.js": "1.1.3", - "minimalistic-assert": "1.0.0", + "minimalistic-assert": "1.0.1", "minimalistic-crypto-utils": "1.0.1" } }, "https-browserify": { "version": "0.0.1", - "resolved": "https://registry.npmjs.org/https-browserify/-/https-browserify-0.0.1.tgz", - "integrity": "sha1-P5E2XKvmC3ftDruiS0VOPgnZWoI=" + "bundled": true }, "ieee754": { - "version": "1.1.8", - "resolved": "https://registry.npmjs.org/ieee754/-/ieee754-1.1.8.tgz", - "integrity": "sha1-vjPUCsEO8ZJnAfbwii2G+/0a0+Q=" + "version": "1.1.11", + "bundled": true }, "indexof": { "version": "0.0.1", - "resolved": "https://registry.npmjs.org/indexof/-/indexof-0.0.1.tgz", - "integrity": "sha1-gtwzbSMrkGIXnQWrMpOmYFn9Q10=" - }, - "inflight": { - "version": "1.0.6", - "resolved": "https://registry.npmjs.org/inflight/-/inflight-1.0.6.tgz", - "integrity": "sha1-Sb1jMdfQLQwJvJEKEHW6gWW1bfk=", - "requires": { - "once": "1.4.0", - "wrappy": "1.0.2" - } + "bundled": true }, "inherits": { "version": "2.0.1", - "resolved": "https://registry.npmjs.org/inherits/-/inherits-2.0.1.tgz", - "integrity": "sha1-sX0I0ya0Qj5Wjv9xn5GwscvfafE=" + "bundled": true }, "isarray": { "version": "1.0.0", - "resolved": "https://registry.npmjs.org/isarray/-/isarray-1.0.0.tgz", - "integrity": "sha1-u5NdSFgsuhaMBoNJV6VKPgcSTxE=" + "bundled": true }, "md5.js": { "version": "1.3.4", - "resolved": "https://registry.npmjs.org/md5.js/-/md5.js-1.3.4.tgz", - "integrity": "sha1-6b296UogpawYsENA/Fdk1bCdkB0=", + "bundled": true, "requires": { "hash-base": "3.0.4", "inherits": "2.0.1" - }, - "dependencies": { - "hash-base": { - "version": "3.0.4", - "resolved": "https://registry.npmjs.org/hash-base/-/hash-base-3.0.4.tgz", - "integrity": "sha1-X8hoaEfs1zSZQDMZprCj8/auSRg=", - "requires": { - "inherits": "2.0.1", - "safe-buffer": "5.1.1" - } - } } }, "miller-rabin": { "version": "4.0.1", - "resolved": "https://registry.npmjs.org/miller-rabin/-/miller-rabin-4.0.1.tgz", - "integrity": "sha512-115fLhvZVqWwHPbClyntxEVfVDfl9DLLTuJvq3g2O/Oxi8AiNouAHvDSzHS0viUJc+V5vm3eq91Xwqn9dp4jRA==", + "bundled": true, "requires": { "bn.js": "4.11.8", "brorand": "1.1.0" } }, "minimalistic-assert": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/minimalistic-assert/-/minimalistic-assert-1.0.0.tgz", - "integrity": "sha1-cCvi3aazf0g2vLP121ZkG2Sh09M=" + "version": "1.0.1", + "bundled": true }, "minimalistic-crypto-utils": { "version": "1.0.1", - "resolved": "https://registry.npmjs.org/minimalistic-crypto-utils/-/minimalistic-crypto-utils-1.0.1.tgz", - "integrity": "sha1-9sAMHAsIIkblxNmd+4x8CDsrWCo=" - }, - "minimatch": { - "version": "3.0.4", - "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-3.0.4.tgz", - "integrity": "sha512-yJHVQEhyqPLUTgt9B83PXu6W3rx4MvvHvSUvToogpwoGDOUQ+yDrR0HRot+yOCdCO7u4hX3pWft6kWBBcqh0UA==", - "requires": { - "brace-expansion": "1.1.11" - } - }, - "once": { - "version": "1.4.0", - "resolved": "https://registry.npmjs.org/once/-/once-1.4.0.tgz", - "integrity": "sha1-WDsap3WWHUsROsF9nFC6753Xa9E=", - "requires": { - "wrappy": "1.0.2" - } + "bundled": true }, "os-browserify": { "version": "0.2.1", - "resolved": "https://registry.npmjs.org/os-browserify/-/os-browserify-0.2.1.tgz", - "integrity": "sha1-Y/xMzuXS13Y9Jrv4YBB45sLgBE8=" + "bundled": true }, "pako": { "version": "0.2.9", - "resolved": "https://registry.npmjs.org/pako/-/pako-0.2.9.tgz", - "integrity": "sha1-8/dSL073gjSNqBYbrZ7P1Rv4OnU=" + "bundled": true }, "parse-asn1": { - "version": "5.1.0", - "resolved": "https://registry.npmjs.org/parse-asn1/-/parse-asn1-5.1.0.tgz", - "integrity": "sha1-N8T5t+06tlx0gXtfJICTf7+XxxI=", + "version": "5.1.1", + "bundled": true, "requires": { "asn1.js": "4.10.1", - "browserify-aes": "1.1.1", - "create-hash": "1.1.3", + "browserify-aes": "1.2.0", + "create-hash": "1.2.0", "evp_bytestokey": "1.0.3", - "pbkdf2": "3.0.14" + "pbkdf2": "3.0.16" } }, "path-browserify": { "version": "0.0.0", - "resolved": "https://registry.npmjs.org/path-browserify/-/path-browserify-0.0.0.tgz", - "integrity": "sha1-oLhwcpquIUAFt9UDLsLLuw+0RRo=" - }, - "path-is-absolute": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/path-is-absolute/-/path-is-absolute-1.0.1.tgz", - "integrity": "sha1-F0uSaHNVNP+8es5r9TpanhtcX18=" + "bundled": true }, "pbkdf2": { - "version": "3.0.14", - "resolved": "https://registry.npmjs.org/pbkdf2/-/pbkdf2-3.0.14.tgz", - "integrity": "sha512-gjsZW9O34fm0R7PaLHRJmLLVfSoesxztjPjE9o6R+qtVJij90ltg1joIovN9GKrRW3t1PzhDDG3UMEMFfZ+1wA==", + "version": "3.0.16", + "bundled": true, "requires": { - "create-hash": "1.1.3", - "create-hmac": "1.1.6", - "ripemd160": "2.0.1", - "safe-buffer": "5.1.1", - "sha.js": "2.4.10" + "create-hash": "1.2.0", + "create-hmac": "1.1.7", + "ripemd160": "2.0.2", + "safe-buffer": "5.1.2", + "sha.js": "2.4.11" } }, "process": { "version": "0.11.10", - "resolved": "https://registry.npmjs.org/process/-/process-0.11.10.tgz", - "integrity": "sha1-czIwDoQBYb2j5podHZGn1LwW8YI=" + "bundled": true }, "process-nextick-args": { "version": "2.0.0", - "resolved": "https://registry.npmjs.org/process-nextick-args/-/process-nextick-args-2.0.0.tgz", - "integrity": "sha512-MtEC1TqN0EU5nephaJ4rAtThHtC86dNN9qCuEhtshvpVBkAW5ZO7BASN9REnF9eoXGcRub+pFuKEpOHE+HbEMw==" + "bundled": true }, "public-encrypt": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/public-encrypt/-/public-encrypt-4.0.0.tgz", - "integrity": "sha1-OfaZ86RlYN1eusvKaTyvfGXBjMY=", + "version": "4.0.2", + "bundled": true, "requires": { "bn.js": "4.11.8", "browserify-rsa": "4.0.1", - "create-hash": "1.1.3", - "parse-asn1": "5.1.0", + "create-hash": "1.2.0", + "parse-asn1": "5.1.1", "randombytes": "2.0.6" } }, "punycode": { "version": "1.4.1", - "resolved": "https://registry.npmjs.org/punycode/-/punycode-1.4.1.tgz", - "integrity": "sha1-wNWmOycYgArY4esPpSachN1BhF4=" + "bundled": true }, "querystring": { "version": "0.2.0", - "resolved": "https://registry.npmjs.org/querystring/-/querystring-0.2.0.tgz", - "integrity": "sha1-sgmEkgO7Jd+CDadW50cAWHhSFiA=" + "bundled": true }, "querystring-es3": { "version": "0.2.1", - "resolved": "https://registry.npmjs.org/querystring-es3/-/querystring-es3-0.2.1.tgz", - "integrity": "sha1-nsYfeQSYdXB9aUFFlv2Qek1xHnM=" + "bundled": true }, "randombytes": { "version": "2.0.6", - "resolved": "https://registry.npmjs.org/randombytes/-/randombytes-2.0.6.tgz", - "integrity": "sha512-CIQ5OFxf4Jou6uOKe9t1AOgqpeU5fd70A8NPdHSGeYXqXsPe6peOwI0cUl88RWZ6sP1vPMV3avd/R6cZ5/sP1A==", + "bundled": true, "requires": { - "safe-buffer": "5.1.1" + "safe-buffer": "5.1.2" } }, "randomfill": { "version": "1.0.4", - "resolved": "https://registry.npmjs.org/randomfill/-/randomfill-1.0.4.tgz", - "integrity": "sha512-87lcbR8+MhcWcUiQ+9e+Rwx8MyR2P7qnt15ynUlbm3TU/fjbgz4GsvfSUDTemtCCtVCqb4ZcEFlyPNTh9bBTLw==", + "bundled": true, "requires": { "randombytes": "2.0.6", - "safe-buffer": "5.1.1" + "safe-buffer": "5.1.2" } }, "readable-stream": { - "version": "git+https://github.com/meteor/readable-stream.git#c688cdd193549919b840e8d72a86682d91961e12", + "version": "2.3.6", + "bundled": true, "requires": { + "core-util-is": "1.0.2", "inherits": "2.0.3", "isarray": "1.0.0", "process-nextick-args": "2.0.0", - "safe-buffer": "5.1.1", - "string_decoder": "1.1.0", + "safe-buffer": "5.1.2", + "string_decoder": "1.1.1", "util-deprecate": "1.0.2" }, "dependencies": { "inherits": { "version": "2.0.3", - "resolved": "https://registry.npmjs.org/inherits/-/inherits-2.0.3.tgz", - "integrity": "sha1-Yzwsg+PaQqUC9SRmAiSA9CCCYd4=" + "bundled": true } } }, - "rimraf": { - "version": "2.6.2", - "resolved": "https://registry.npmjs.org/rimraf/-/rimraf-2.6.2.tgz", - "integrity": "sha512-lreewLK/BlghmxtfH36YYVg1i8IAce4TI7oao75I1g245+6BctqTVQiBP3YUJ9C6DQOXJmkYR9X9fCLtCOJc5w==", - "requires": { - "glob": "7.1.2" - } - }, "ripemd160": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/ripemd160/-/ripemd160-2.0.1.tgz", - "integrity": "sha1-D0WEKVxTo2KK9+bXmsohzlfRxuc=", + "version": "2.0.2", + "bundled": true, "requires": { - "hash-base": "2.0.2", + "hash-base": "3.0.4", "inherits": "2.0.1" } }, "safe-buffer": { - "version": "5.1.1", - "resolved": "https://registry.npmjs.org/safe-buffer/-/safe-buffer-5.1.1.tgz", - "integrity": "sha512-kKvNJn6Mm93gAczWVJg7wH+wGYWNrDHdWvpUmHyEsgCtIwwo3bqPtV4tR5tuPaUhTOo/kvhVwd8XwwOllGYkbg==" + "version": "5.1.2", + "bundled": true }, "sha.js": { - "version": "2.4.10", - "resolved": "https://registry.npmjs.org/sha.js/-/sha.js-2.4.10.tgz", - "integrity": "sha512-vnwmrFDlOExK4Nm16J2KMWHLrp14lBrjxMxBJpu++EnsuBmpiYaM/MEs46Vxxm/4FvdP5yTwuCTO9it5FSjrqA==", + "version": "2.4.11", + "bundled": true, "requires": { "inherits": "2.0.1", - "safe-buffer": "5.1.1" + "safe-buffer": "5.1.2" } }, "stream-browserify": { "version": "2.0.1", - "resolved": "https://registry.npmjs.org/stream-browserify/-/stream-browserify-2.0.1.tgz", - "integrity": "sha1-ZiZu5fm9uZQKTkUUyvtDu3Hlyds=", + "bundled": true, "requires": { "inherits": "2.0.1", - "readable-stream": "git+https://github.com/meteor/readable-stream.git#c688cdd193549919b840e8d72a86682d91961e12" + "readable-stream": "2.3.6" } }, "stream-http": { - "version": "2.8.0", - "resolved": "https://registry.npmjs.org/stream-http/-/stream-http-2.8.0.tgz", - "integrity": "sha512-sZOFxI/5xw058XIRHl4dU3dZ+TTOIGJR78Dvo0oEAejIt4ou27k+3ne1zYmCV+v7UucbxIFQuOgnkTVHh8YPnw==", + "version": "2.8.1", + "bundled": true, "requires": { "builtin-status-codes": "3.0.0", "inherits": "2.0.1", - "readable-stream": "git+https://github.com/meteor/readable-stream.git#c688cdd193549919b840e8d72a86682d91961e12", + "readable-stream": "2.3.6", "to-arraybuffer": "1.0.1", "xtend": "4.0.1" } }, "string_decoder": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/string_decoder/-/string_decoder-1.1.0.tgz", - "integrity": "sha512-8zQpRF6juocE69ae7CSPmYEGJe4VCXwP6S6dxUWI7i53Gwv54/ec41fiUA+X7BPGGv7fRSQJjBQVa0gomGaOgg==", + "version": "1.1.1", + "bundled": true, "requires": { - "safe-buffer": "5.1.1" + "safe-buffer": "5.1.2" } }, "timers-browserify": { "version": "1.4.2", - "resolved": "https://registry.npmjs.org/timers-browserify/-/timers-browserify-1.4.2.tgz", - "integrity": "sha1-ycWLV1voQHN1y14kYtrO50NZ9B0=", + "bundled": true, "requires": { "process": "0.11.10" } }, "to-arraybuffer": { "version": "1.0.1", - "resolved": "https://registry.npmjs.org/to-arraybuffer/-/to-arraybuffer-1.0.1.tgz", - "integrity": "sha1-fSKbH8xjfkZsoIEYCDanqr/4P0M=" + "bundled": true }, "tty-browserify": { "version": "0.0.0", - "resolved": "https://registry.npmjs.org/tty-browserify/-/tty-browserify-0.0.0.tgz", - "integrity": "sha1-oVe6QC2iTpv5V/mqadUk7tQpAaY=" + "bundled": true }, "url": { "version": "0.11.0", - "resolved": "https://registry.npmjs.org/url/-/url-0.11.0.tgz", - "integrity": "sha1-ODjpfPxgUh63PFJajlW/3Z4uKPE=", + "bundled": true, "requires": { "punycode": "1.3.2", "querystring": "0.2.0" @@ -744,48 +604,38 @@ "dependencies": { "punycode": { "version": "1.3.2", - "resolved": "https://registry.npmjs.org/punycode/-/punycode-1.3.2.tgz", - "integrity": "sha1-llOgNvt8HuQjQvIyXM7v6jkmxI0=" + "bundled": true } } }, "util": { "version": "0.10.3", - "resolved": "https://registry.npmjs.org/util/-/util-0.10.3.tgz", - "integrity": "sha1-evsa/lCAUkZInj23/g7TeTNqwPk=", + "bundled": true, "requires": { "inherits": "2.0.1" } }, "util-deprecate": { "version": "1.0.2", - "resolved": "https://registry.npmjs.org/util-deprecate/-/util-deprecate-1.0.2.tgz", - "integrity": "sha1-RQ1Nyfpw3nMnYvvS1KKJgUGaDM8=" + "bundled": true }, "vm-browserify": { "version": "0.0.4", - "resolved": "https://registry.npmjs.org/vm-browserify/-/vm-browserify-0.0.4.tgz", - "integrity": "sha1-XX6kW7755Kb/ZflUOOCofDV9WnM=", + "bundled": true, "requires": { "indexof": "0.0.1" } }, - "wrappy": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/wrappy/-/wrappy-1.0.2.tgz", - "integrity": "sha1-tSQ9jz7BqjXxNkYFvA0QNuMKtp8=" - }, "xtend": { "version": "4.0.1", - "resolved": "https://registry.npmjs.org/xtend/-/xtend-4.0.1.tgz", - "integrity": "sha1-pcbVMr5lbiPbgg77lDofBJmNY68=" + "bundled": true } } }, "moment": { - "version": "2.21.0", - "resolved": "https://registry.npmjs.org/moment/-/moment-2.21.0.tgz", - "integrity": "sha512-TCZ36BjURTeFTM/CwRcViQlfkMvL1/vFISuNLO5GkcVm1+QHfbSiNqZuWeMFjj1/3+uAjXswgRk30j1kkLYJBQ==" + "version": "2.22.1", + "resolved": "https://registry.npmjs.org/moment/-/moment-2.22.1.tgz", + "integrity": "sha512-shJkRTSebXvsVqk56I+lkb2latjBs8I+pc2TzWc545y2iFnSjm7Wg0QMh+ZWcdSLQyGEau5jI8ocnmkyTgr9YQ==" }, "node-fetch": { "version": "1.7.3", @@ -838,9 +688,9 @@ "integrity": "sha1-8FKijacOYYkX7wqKw0wa5aaChrM=" }, "react": { - "version": "16.2.0", - "resolved": "https://registry.npmjs.org/react/-/react-16.2.0.tgz", - "integrity": "sha512-ZmIomM7EE1DvPEnSFAHZn9Vs9zJl5A9H7el0EGTE6ZbW9FKe/14IYAlPbC8iH25YarEQxZL+E8VW7Mi7kfQrDQ==", + "version": "16.3.2", + "resolved": "https://registry.npmjs.org/react/-/react-16.3.2.tgz", + "integrity": "sha512-o5GPdkhciQ3cEph6qgvYB7LTOHw/GB0qRI6ZFNugj49qJCFfgHwVNjZ5u+b7nif4vOeMIOuYj3CeYe2IBD74lg==", "requires": { "fbjs": "0.8.16", "loose-envify": "1.3.1", @@ -853,15 +703,20 @@ "resolved": "https://registry.npmjs.org/regenerator-runtime/-/regenerator-runtime-0.11.1.tgz", "integrity": "sha512-MguG95oij0fC3QV3URf4V2SDYGJhJnJGqvIIgdECeODCT98wSWDAJ94SSuVpYQUoTcGUIL6L4yNB7j1DFFHSBg==" }, + "safer-buffer": { + "version": "2.1.2", + "resolved": "https://registry.npmjs.org/safer-buffer/-/safer-buffer-2.1.2.tgz", + "integrity": "sha512-YZo3K82SD7Riyi0E1EQPojLz7kpepnSQI9IyPbHHg1XXXevb5dJI7tpyN2ADxGcQbHG7vcyRHk0cbwqcQriUtg==" + }, "setimmediate": { "version": "1.0.5", "resolved": "https://registry.npmjs.org/setimmediate/-/setimmediate-1.0.5.tgz", "integrity": "sha1-KQy7Iy4waULX1+qbg3Mqt4VvgoU=" }, "ua-parser-js": { - "version": "0.7.17", - "resolved": "https://registry.npmjs.org/ua-parser-js/-/ua-parser-js-0.7.17.tgz", - "integrity": "sha512-uRdSdu1oA1rncCQL7sCj8vSyZkgtL7faaw9Tc9rZ3mGgraQ7+Pdx7w5mnOSF3gw9ZNG6oc+KXfkon3bKuROm0g==" + "version": "0.7.18", + "resolved": "https://registry.npmjs.org/ua-parser-js/-/ua-parser-js-0.7.18.tgz", + "integrity": "sha512-LtzwHlVHwFGTptfNSgezHp7WUlwiqb0gA9AALRbKaERfxwJoiX0A73QbTToxteIAuIaFshhgIZfqK8s7clqgnA==" }, "uuid": { "version": "3.2.1", @@ -869,9 +724,9 @@ "integrity": "sha512-jZnMwlb9Iku/O3smGWvZhauCf6cvvpKi4BKRiliS3cxnI+Gz9j5MEpTz2UFuXiKPJocb7gnsLHwiS05ige5BEA==" }, "whatwg-fetch": { - "version": "2.0.3", - "resolved": "https://registry.npmjs.org/whatwg-fetch/-/whatwg-fetch-2.0.3.tgz", - "integrity": "sha1-nITsLc9oGH/wC8ZOEnS0QhduHIQ=" + "version": "2.0.4", + "resolved": "https://registry.npmjs.org/whatwg-fetch/-/whatwg-fetch-2.0.4.tgz", + "integrity": "sha512-dcQ1GWpOD/eEQ97k66aiEVpNnapVj90/+R+SXTPYGHpYBBypfKJEQjLrvMZ7YXbKm21gXd4NcuxUTjiv1YtLng==" }, "yallist": { "version": "2.1.2", diff --git a/tools/tests/apps/dynamic-import/package.json b/tools/tests/apps/dynamic-import/package.json index 040fcc5124..8fc888807b 100644 --- a/tools/tests/apps/dynamic-import/package.json +++ b/tools/tests/apps/dynamic-import/package.json @@ -9,7 +9,7 @@ "@babel/runtime": "^7.0.0-beta.46", "acorn": "^4.0.11", "arson": "^0.2.3", - "meteor-node-stubs": "^0.3.2", + "meteor-node-stubs": "^0.4.1", "moment": "^2.17.1", "optimism": "^0.3.3", "private": "^0.1.7", diff --git a/tools/tests/apps/meteor-ignore/package-lock.json b/tools/tests/apps/meteor-ignore/package-lock.json index 6302e0fc5e..2420e5e56a 100644 --- a/tools/tests/apps/meteor-ignore/package-lock.json +++ b/tools/tests/apps/meteor-ignore/package-lock.json @@ -18,9 +18,9 @@ "integrity": "sha1-sU3ek2xkDAV5prUMq8wTLdYSfjs=" }, "meteor-node-stubs": { - "version": "0.3.3", - "resolved": "https://registry.npmjs.org/meteor-node-stubs/-/meteor-node-stubs-0.3.3.tgz", - "integrity": "sha512-TI1aQRK0vqs94OCkUMkmf5lXNWfIsjSaEDP1inUuwRGt9w8/S2V+HdRikz9r1k/gew+7NcJieaqHsHX7pSTEgA==", + "version": "0.4.1", + "resolved": "https://registry.npmjs.org/meteor-node-stubs/-/meteor-node-stubs-0.4.1.tgz", + "integrity": "sha512-UO2OStvLOKoApmOdIP5eCqoLaa/ritMXRg4ffJVdkNLEsczzPvTjgC0Mxk4cM4R8MZkwll90FYgjDf5qUTJdMA==", "requires": { "assert": "1.4.1", "browserify-zlib": "0.1.4", @@ -36,10 +36,10 @@ "process": "0.11.10", "punycode": "1.4.1", "querystring-es3": "0.2.1", - "readable-stream": "git+https://github.com/meteor/readable-stream.git#c688cdd193549919b840e8d72a86682d91961e12", + "readable-stream": "2.3.6", "stream-browserify": "2.0.1", - "stream-http": "2.8.0", - "string_decoder": "1.1.0", + "stream-http": "2.8.1", + "string_decoder": "1.1.1", "timers-browserify": "1.4.2", "tty-browserify": "0.0.0", "url": "0.11.0", @@ -49,78 +49,56 @@ "dependencies": { "asn1.js": { "version": "4.10.1", - "resolved": "https://registry.npmjs.org/asn1.js/-/asn1.js-4.10.1.tgz", - "integrity": "sha512-p32cOF5q0Zqs9uBiONKYLm6BClCoBCM5O9JfeUSlnQLBTxYdTK+pW+nXflm8UkKd2UYlEbYz5qEi0JuZR9ckSw==", + "bundled": true, "requires": { "bn.js": "4.11.8", "inherits": "2.0.1", - "minimalistic-assert": "1.0.0" + "minimalistic-assert": "1.0.1" } }, "assert": { "version": "1.4.1", - "resolved": "https://registry.npmjs.org/assert/-/assert-1.4.1.tgz", - "integrity": "sha1-mZEtWRg2tab1s0XA8H7vwI/GXZE=", + "bundled": true, "requires": { "util": "0.10.3" } }, - "balanced-match": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/balanced-match/-/balanced-match-1.0.0.tgz", - "integrity": "sha1-ibTRmasr7kneFk6gK4nORi1xt2c=" - }, "base64-js": { - "version": "1.2.3", - "resolved": "https://registry.npmjs.org/base64-js/-/base64-js-1.2.3.tgz", - "integrity": "sha512-MsAhsUW1GxCdgYSO6tAfZrNapmUKk7mWx/k5mFY/A1gBtkaCaNapTg+FExCw1r9yeaZhqx/xPg43xgTFH6KL5w==" + "version": "1.3.0", + "bundled": true }, "bn.js": { "version": "4.11.8", - "resolved": "https://registry.npmjs.org/bn.js/-/bn.js-4.11.8.tgz", - "integrity": "sha512-ItfYfPLkWHUjckQCk8xC+LwxgK8NYcXywGigJgSwOP8Y2iyWT4f2vsZnoOXTTbo+o5yXmIUJ4gn5538SO5S3gA==" - }, - "brace-expansion": { - "version": "1.1.11", - "resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-1.1.11.tgz", - "integrity": "sha512-iCuPHDFgrHX7H2vEI/5xpz07zSHB00TpugqhmYtVmMO6518mCuRMoOYFldEBl0g187ufozdaHgWKcYFb61qGiA==", - "requires": { - "balanced-match": "1.0.0", - "concat-map": "0.0.1" - } + "bundled": true }, "brorand": { "version": "1.1.0", - "resolved": "https://registry.npmjs.org/brorand/-/brorand-1.1.0.tgz", - "integrity": "sha1-EsJe/kCkXjwyPrhnWgoM5XsiNx8=" + "bundled": true }, "browserify-aes": { - "version": "1.1.1", - "resolved": "https://registry.npmjs.org/browserify-aes/-/browserify-aes-1.1.1.tgz", - "integrity": "sha512-UGnTYAnB2a3YuYKIRy1/4FB2HdM866E0qC46JXvVTYKlBlZlnvfpSfY6OKfXZAkv70eJ2a1SqzpAo5CRhZGDFg==", + "version": "1.2.0", + "bundled": true, "requires": { "buffer-xor": "1.0.3", "cipher-base": "1.0.4", - "create-hash": "1.1.3", + "create-hash": "1.2.0", "evp_bytestokey": "1.0.3", "inherits": "2.0.1", - "safe-buffer": "5.1.1" + "safe-buffer": "5.1.2" } }, "browserify-cipher": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/browserify-cipher/-/browserify-cipher-1.0.0.tgz", - "integrity": "sha1-mYgkSHS/XtTijalWZtzWasj8Njo=", + "version": "1.0.1", + "bundled": true, "requires": { - "browserify-aes": "1.1.1", - "browserify-des": "1.0.0", + "browserify-aes": "1.2.0", + "browserify-des": "1.0.1", "evp_bytestokey": "1.0.3" } }, "browserify-des": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/browserify-des/-/browserify-des-1.0.0.tgz", - "integrity": "sha1-2qJ3cXRwki7S/hhZQRihdUOXId0=", + "version": "1.0.1", + "bundled": true, "requires": { "cipher-base": "1.0.4", "des.js": "1.0.0", @@ -129,8 +107,7 @@ }, "browserify-rsa": { "version": "4.0.1", - "resolved": "https://registry.npmjs.org/browserify-rsa/-/browserify-rsa-4.0.1.tgz", - "integrity": "sha1-IeCr+vbyApzy+vsTNWenAdQTVSQ=", + "bundled": true, "requires": { "bn.js": "4.11.8", "randombytes": "2.0.6" @@ -138,142 +115,127 @@ }, "browserify-sign": { "version": "4.0.4", - "resolved": "https://registry.npmjs.org/browserify-sign/-/browserify-sign-4.0.4.tgz", - "integrity": "sha1-qk62jl17ZYuqa/alfmMMvXqT0pg=", + "bundled": true, "requires": { "bn.js": "4.11.8", "browserify-rsa": "4.0.1", - "create-hash": "1.1.3", - "create-hmac": "1.1.6", + "create-hash": "1.2.0", + "create-hmac": "1.1.7", "elliptic": "6.4.0", "inherits": "2.0.1", - "parse-asn1": "5.1.0" + "parse-asn1": "5.1.1" } }, "browserify-zlib": { "version": "0.1.4", - "resolved": "https://registry.npmjs.org/browserify-zlib/-/browserify-zlib-0.1.4.tgz", - "integrity": "sha1-uzX4pRn2AOD6a4SFJByXnQFB+y0=", + "bundled": true, "requires": { "pako": "0.2.9" } }, "buffer": { "version": "4.9.1", - "resolved": "https://registry.npmjs.org/buffer/-/buffer-4.9.1.tgz", - "integrity": "sha1-bRu2AbB6TvztlwlBMgkwJ8lbwpg=", + "bundled": true, "requires": { - "base64-js": "1.2.3", - "ieee754": "1.1.8", + "base64-js": "1.3.0", + "ieee754": "1.1.11", "isarray": "1.0.0" } }, "buffer-xor": { "version": "1.0.3", - "resolved": "https://registry.npmjs.org/buffer-xor/-/buffer-xor-1.0.3.tgz", - "integrity": "sha1-JuYe0UIvtw3ULm42cp7VHYVf6Nk=" + "bundled": true }, "builtin-status-codes": { "version": "3.0.0", - "resolved": "https://registry.npmjs.org/builtin-status-codes/-/builtin-status-codes-3.0.0.tgz", - "integrity": "sha1-hZgoeOIbmOHGZCXgPQF0eI9Wnug=" + "bundled": true }, "cipher-base": { "version": "1.0.4", - "resolved": "https://registry.npmjs.org/cipher-base/-/cipher-base-1.0.4.tgz", - "integrity": "sha512-Kkht5ye6ZGmwv40uUDZztayT2ThLQGfnj/T71N/XzeZeo3nf8foyW7zGTsPYkEya3m5f3cAypH+qe7YOrM1U2Q==", + "bundled": true, "requires": { "inherits": "2.0.1", - "safe-buffer": "5.1.1" + "safe-buffer": "5.1.2" } }, - "concat-map": { - "version": "0.0.1", - "resolved": "https://registry.npmjs.org/concat-map/-/concat-map-0.0.1.tgz", - "integrity": "sha1-2Klr13/Wjfd5OnMDajug1UBdR3s=" - }, "console-browserify": { "version": "1.1.0", - "resolved": "https://registry.npmjs.org/console-browserify/-/console-browserify-1.1.0.tgz", - "integrity": "sha1-8CQcRXMKn8YyOyBtvzjtx0HQuxA=", + "bundled": true, "requires": { "date-now": "0.1.4" } }, "constants-browserify": { "version": "1.0.0", - "resolved": "https://registry.npmjs.org/constants-browserify/-/constants-browserify-1.0.0.tgz", - "integrity": "sha1-wguW2MYXdIqvHBYCF2DNJ/y4y3U=" + "bundled": true + }, + "core-util-is": { + "version": "1.0.2", + "bundled": true }, "create-ecdh": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/create-ecdh/-/create-ecdh-4.0.0.tgz", - "integrity": "sha1-iIxyNZbN92EvZJgjPuvXo1MBc30=", + "version": "4.0.3", + "bundled": true, "requires": { "bn.js": "4.11.8", "elliptic": "6.4.0" } }, "create-hash": { - "version": "1.1.3", - "resolved": "https://registry.npmjs.org/create-hash/-/create-hash-1.1.3.tgz", - "integrity": "sha1-YGBCrIuSYnUPSDyt2rD1gZFy2P0=", + "version": "1.2.0", + "bundled": true, "requires": { "cipher-base": "1.0.4", "inherits": "2.0.1", - "ripemd160": "2.0.1", - "sha.js": "2.4.10" + "md5.js": "1.3.4", + "ripemd160": "2.0.2", + "sha.js": "2.4.11" } }, "create-hmac": { - "version": "1.1.6", - "resolved": "https://registry.npmjs.org/create-hmac/-/create-hmac-1.1.6.tgz", - "integrity": "sha1-rLniIaThe9sHbpBlfEK5PjcmzwY=", + "version": "1.1.7", + "bundled": true, "requires": { "cipher-base": "1.0.4", - "create-hash": "1.1.3", + "create-hash": "1.2.0", "inherits": "2.0.1", - "ripemd160": "2.0.1", - "safe-buffer": "5.1.1", - "sha.js": "2.4.10" + "ripemd160": "2.0.2", + "safe-buffer": "5.1.2", + "sha.js": "2.4.11" } }, "crypto-browserify": { "version": "3.12.0", - "resolved": "https://registry.npmjs.org/crypto-browserify/-/crypto-browserify-3.12.0.tgz", - "integrity": "sha512-fz4spIh+znjO2VjL+IdhEpRJ3YN6sMzITSBijk6FK2UvTqruSQW+/cCZTSNsMiZNvUeq0CqurF+dAbyiGOY6Wg==", + "bundled": true, "requires": { - "browserify-cipher": "1.0.0", + "browserify-cipher": "1.0.1", "browserify-sign": "4.0.4", - "create-ecdh": "4.0.0", - "create-hash": "1.1.3", - "create-hmac": "1.1.6", - "diffie-hellman": "5.0.2", + "create-ecdh": "4.0.3", + "create-hash": "1.2.0", + "create-hmac": "1.1.7", + "diffie-hellman": "5.0.3", "inherits": "2.0.1", - "pbkdf2": "3.0.14", - "public-encrypt": "4.0.0", + "pbkdf2": "3.0.16", + "public-encrypt": "4.0.2", "randombytes": "2.0.6", "randomfill": "1.0.4" } }, "date-now": { "version": "0.1.4", - "resolved": "https://registry.npmjs.org/date-now/-/date-now-0.1.4.tgz", - "integrity": "sha1-6vQ5/U1ISK105cx9vvIAZyueNFs=" + "bundled": true }, "des.js": { "version": "1.0.0", - "resolved": "https://registry.npmjs.org/des.js/-/des.js-1.0.0.tgz", - "integrity": "sha1-wHTS4qpqipoH29YfmhXCzYPsjsw=", + "bundled": true, "requires": { "inherits": "2.0.1", - "minimalistic-assert": "1.0.0" + "minimalistic-assert": "1.0.1" } }, "diffie-hellman": { - "version": "5.0.2", - "resolved": "https://registry.npmjs.org/diffie-hellman/-/diffie-hellman-5.0.2.tgz", - "integrity": "sha1-tYNXOScM/ias9jIJn97SoH8gnl4=", + "version": "5.0.3", + "bundled": true, "requires": { "bn.js": "4.11.8", "miller-rabin": "4.0.1", @@ -282,376 +244,271 @@ }, "domain-browser": { "version": "1.2.0", - "resolved": "https://registry.npmjs.org/domain-browser/-/domain-browser-1.2.0.tgz", - "integrity": "sha512-jnjyiM6eRyZl2H+W8Q/zLMA481hzi0eszAaBUzIVnmYVDBbnLxVNnfu1HgEBvCbL+71FrxMl3E6lpKH7Ge3OXA==" + "bundled": true }, "elliptic": { "version": "6.4.0", - "resolved": "https://registry.npmjs.org/elliptic/-/elliptic-6.4.0.tgz", - "integrity": "sha1-ysmvh2LIWDYYcAPI3+GT5eLq5d8=", + "bundled": true, "requires": { "bn.js": "4.11.8", "brorand": "1.1.0", "hash.js": "1.1.3", "hmac-drbg": "1.0.1", "inherits": "2.0.1", - "minimalistic-assert": "1.0.0", + "minimalistic-assert": "1.0.1", "minimalistic-crypto-utils": "1.0.1" } }, "events": { "version": "1.1.1", - "resolved": "https://registry.npmjs.org/events/-/events-1.1.1.tgz", - "integrity": "sha1-nr23Y1rQmccNzEwqH1AEKI6L2SQ=" + "bundled": true }, "evp_bytestokey": { "version": "1.0.3", - "resolved": "https://registry.npmjs.org/evp_bytestokey/-/evp_bytestokey-1.0.3.tgz", - "integrity": "sha512-/f2Go4TognH/KvCISP7OUsHn85hT9nUkxxA9BEWxFn+Oj9o8ZNLm/40hdlgSLyuOimsrTKLUMEorQexp/aPQeA==", + "bundled": true, "requires": { "md5.js": "1.3.4", - "safe-buffer": "5.1.1" - } - }, - "fs.realpath": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/fs.realpath/-/fs.realpath-1.0.0.tgz", - "integrity": "sha1-FQStJSMVjKpA20onh8sBQRmU6k8=" - }, - "glob": { - "version": "7.1.2", - "resolved": "https://registry.npmjs.org/glob/-/glob-7.1.2.tgz", - "integrity": "sha512-MJTUg1kjuLeQCJ+ccE4Vpa6kKVXkPYJ2mOCQyUuKLcLQsdrMCpBPUi8qVE6+YuaJkozeA9NusTAw3hLr8Xe5EQ==", - "requires": { - "fs.realpath": "1.0.0", - "inflight": "1.0.6", - "inherits": "2.0.1", - "minimatch": "3.0.4", - "once": "1.4.0", - "path-is-absolute": "1.0.1" + "safe-buffer": "5.1.2" } }, "hash-base": { - "version": "2.0.2", - "resolved": "https://registry.npmjs.org/hash-base/-/hash-base-2.0.2.tgz", - "integrity": "sha1-ZuodhW206KVHDK32/OI65SRO8uE=", + "version": "3.0.4", + "bundled": true, "requires": { - "inherits": "2.0.1" + "inherits": "2.0.1", + "safe-buffer": "5.1.2" } }, "hash.js": { "version": "1.1.3", - "resolved": "https://registry.npmjs.org/hash.js/-/hash.js-1.1.3.tgz", - "integrity": "sha512-/UETyP0W22QILqS+6HowevwhEFJ3MBJnwTf75Qob9Wz9t0DPuisL8kW8YZMK62dHAKE1c1p+gY1TtOLY+USEHA==", + "bundled": true, "requires": { "inherits": "2.0.3", - "minimalistic-assert": "1.0.0" + "minimalistic-assert": "1.0.1" }, "dependencies": { "inherits": { "version": "2.0.3", - "resolved": "https://registry.npmjs.org/inherits/-/inherits-2.0.3.tgz", - "integrity": "sha1-Yzwsg+PaQqUC9SRmAiSA9CCCYd4=" + "bundled": true } } }, "hmac-drbg": { "version": "1.0.1", - "resolved": "https://registry.npmjs.org/hmac-drbg/-/hmac-drbg-1.0.1.tgz", - "integrity": "sha1-0nRXAQJabHdabFRXk+1QL8DGSaE=", + "bundled": true, "requires": { "hash.js": "1.1.3", - "minimalistic-assert": "1.0.0", + "minimalistic-assert": "1.0.1", "minimalistic-crypto-utils": "1.0.1" } }, "https-browserify": { "version": "0.0.1", - "resolved": "https://registry.npmjs.org/https-browserify/-/https-browserify-0.0.1.tgz", - "integrity": "sha1-P5E2XKvmC3ftDruiS0VOPgnZWoI=" + "bundled": true }, "ieee754": { - "version": "1.1.8", - "resolved": "https://registry.npmjs.org/ieee754/-/ieee754-1.1.8.tgz", - "integrity": "sha1-vjPUCsEO8ZJnAfbwii2G+/0a0+Q=" + "version": "1.1.11", + "bundled": true }, "indexof": { "version": "0.0.1", - "resolved": "https://registry.npmjs.org/indexof/-/indexof-0.0.1.tgz", - "integrity": "sha1-gtwzbSMrkGIXnQWrMpOmYFn9Q10=" - }, - "inflight": { - "version": "1.0.6", - "resolved": "https://registry.npmjs.org/inflight/-/inflight-1.0.6.tgz", - "integrity": "sha1-Sb1jMdfQLQwJvJEKEHW6gWW1bfk=", - "requires": { - "once": "1.4.0", - "wrappy": "1.0.2" - } + "bundled": true }, "inherits": { "version": "2.0.1", - "resolved": "https://registry.npmjs.org/inherits/-/inherits-2.0.1.tgz", - "integrity": "sha1-sX0I0ya0Qj5Wjv9xn5GwscvfafE=" + "bundled": true }, "isarray": { "version": "1.0.0", - "resolved": "https://registry.npmjs.org/isarray/-/isarray-1.0.0.tgz", - "integrity": "sha1-u5NdSFgsuhaMBoNJV6VKPgcSTxE=" + "bundled": true }, "md5.js": { "version": "1.3.4", - "resolved": "https://registry.npmjs.org/md5.js/-/md5.js-1.3.4.tgz", - "integrity": "sha1-6b296UogpawYsENA/Fdk1bCdkB0=", + "bundled": true, "requires": { "hash-base": "3.0.4", "inherits": "2.0.1" - }, - "dependencies": { - "hash-base": { - "version": "3.0.4", - "resolved": "https://registry.npmjs.org/hash-base/-/hash-base-3.0.4.tgz", - "integrity": "sha1-X8hoaEfs1zSZQDMZprCj8/auSRg=", - "requires": { - "inherits": "2.0.1", - "safe-buffer": "5.1.1" - } - } } }, "miller-rabin": { "version": "4.0.1", - "resolved": "https://registry.npmjs.org/miller-rabin/-/miller-rabin-4.0.1.tgz", - "integrity": "sha512-115fLhvZVqWwHPbClyntxEVfVDfl9DLLTuJvq3g2O/Oxi8AiNouAHvDSzHS0viUJc+V5vm3eq91Xwqn9dp4jRA==", + "bundled": true, "requires": { "bn.js": "4.11.8", "brorand": "1.1.0" } }, "minimalistic-assert": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/minimalistic-assert/-/minimalistic-assert-1.0.0.tgz", - "integrity": "sha1-cCvi3aazf0g2vLP121ZkG2Sh09M=" + "version": "1.0.1", + "bundled": true }, "minimalistic-crypto-utils": { "version": "1.0.1", - "resolved": "https://registry.npmjs.org/minimalistic-crypto-utils/-/minimalistic-crypto-utils-1.0.1.tgz", - "integrity": "sha1-9sAMHAsIIkblxNmd+4x8CDsrWCo=" - }, - "minimatch": { - "version": "3.0.4", - "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-3.0.4.tgz", - "integrity": "sha512-yJHVQEhyqPLUTgt9B83PXu6W3rx4MvvHvSUvToogpwoGDOUQ+yDrR0HRot+yOCdCO7u4hX3pWft6kWBBcqh0UA==", - "requires": { - "brace-expansion": "1.1.11" - } - }, - "once": { - "version": "1.4.0", - "resolved": "https://registry.npmjs.org/once/-/once-1.4.0.tgz", - "integrity": "sha1-WDsap3WWHUsROsF9nFC6753Xa9E=", - "requires": { - "wrappy": "1.0.2" - } + "bundled": true }, "os-browserify": { "version": "0.2.1", - "resolved": "https://registry.npmjs.org/os-browserify/-/os-browserify-0.2.1.tgz", - "integrity": "sha1-Y/xMzuXS13Y9Jrv4YBB45sLgBE8=" + "bundled": true }, "pako": { "version": "0.2.9", - "resolved": "https://registry.npmjs.org/pako/-/pako-0.2.9.tgz", - "integrity": "sha1-8/dSL073gjSNqBYbrZ7P1Rv4OnU=" + "bundled": true }, "parse-asn1": { - "version": "5.1.0", - "resolved": "https://registry.npmjs.org/parse-asn1/-/parse-asn1-5.1.0.tgz", - "integrity": "sha1-N8T5t+06tlx0gXtfJICTf7+XxxI=", + "version": "5.1.1", + "bundled": true, "requires": { "asn1.js": "4.10.1", - "browserify-aes": "1.1.1", - "create-hash": "1.1.3", + "browserify-aes": "1.2.0", + "create-hash": "1.2.0", "evp_bytestokey": "1.0.3", - "pbkdf2": "3.0.14" + "pbkdf2": "3.0.16" } }, "path-browserify": { "version": "0.0.0", - "resolved": "https://registry.npmjs.org/path-browserify/-/path-browserify-0.0.0.tgz", - "integrity": "sha1-oLhwcpquIUAFt9UDLsLLuw+0RRo=" - }, - "path-is-absolute": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/path-is-absolute/-/path-is-absolute-1.0.1.tgz", - "integrity": "sha1-F0uSaHNVNP+8es5r9TpanhtcX18=" + "bundled": true }, "pbkdf2": { - "version": "3.0.14", - "resolved": "https://registry.npmjs.org/pbkdf2/-/pbkdf2-3.0.14.tgz", - "integrity": "sha512-gjsZW9O34fm0R7PaLHRJmLLVfSoesxztjPjE9o6R+qtVJij90ltg1joIovN9GKrRW3t1PzhDDG3UMEMFfZ+1wA==", + "version": "3.0.16", + "bundled": true, "requires": { - "create-hash": "1.1.3", - "create-hmac": "1.1.6", - "ripemd160": "2.0.1", - "safe-buffer": "5.1.1", - "sha.js": "2.4.10" + "create-hash": "1.2.0", + "create-hmac": "1.1.7", + "ripemd160": "2.0.2", + "safe-buffer": "5.1.2", + "sha.js": "2.4.11" } }, "process": { "version": "0.11.10", - "resolved": "https://registry.npmjs.org/process/-/process-0.11.10.tgz", - "integrity": "sha1-czIwDoQBYb2j5podHZGn1LwW8YI=" + "bundled": true }, "process-nextick-args": { "version": "2.0.0", - "resolved": "https://registry.npmjs.org/process-nextick-args/-/process-nextick-args-2.0.0.tgz", - "integrity": "sha512-MtEC1TqN0EU5nephaJ4rAtThHtC86dNN9qCuEhtshvpVBkAW5ZO7BASN9REnF9eoXGcRub+pFuKEpOHE+HbEMw==" + "bundled": true }, "public-encrypt": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/public-encrypt/-/public-encrypt-4.0.0.tgz", - "integrity": "sha1-OfaZ86RlYN1eusvKaTyvfGXBjMY=", + "version": "4.0.2", + "bundled": true, "requires": { "bn.js": "4.11.8", "browserify-rsa": "4.0.1", - "create-hash": "1.1.3", - "parse-asn1": "5.1.0", + "create-hash": "1.2.0", + "parse-asn1": "5.1.1", "randombytes": "2.0.6" } }, "punycode": { "version": "1.4.1", - "resolved": "https://registry.npmjs.org/punycode/-/punycode-1.4.1.tgz", - "integrity": "sha1-wNWmOycYgArY4esPpSachN1BhF4=" + "bundled": true }, "querystring": { "version": "0.2.0", - "resolved": "https://registry.npmjs.org/querystring/-/querystring-0.2.0.tgz", - "integrity": "sha1-sgmEkgO7Jd+CDadW50cAWHhSFiA=" + "bundled": true }, "querystring-es3": { "version": "0.2.1", - "resolved": "https://registry.npmjs.org/querystring-es3/-/querystring-es3-0.2.1.tgz", - "integrity": "sha1-nsYfeQSYdXB9aUFFlv2Qek1xHnM=" + "bundled": true }, "randombytes": { "version": "2.0.6", - "resolved": "https://registry.npmjs.org/randombytes/-/randombytes-2.0.6.tgz", - "integrity": "sha512-CIQ5OFxf4Jou6uOKe9t1AOgqpeU5fd70A8NPdHSGeYXqXsPe6peOwI0cUl88RWZ6sP1vPMV3avd/R6cZ5/sP1A==", + "bundled": true, "requires": { - "safe-buffer": "5.1.1" + "safe-buffer": "5.1.2" } }, "randomfill": { "version": "1.0.4", - "resolved": "https://registry.npmjs.org/randomfill/-/randomfill-1.0.4.tgz", - "integrity": "sha512-87lcbR8+MhcWcUiQ+9e+Rwx8MyR2P7qnt15ynUlbm3TU/fjbgz4GsvfSUDTemtCCtVCqb4ZcEFlyPNTh9bBTLw==", + "bundled": true, "requires": { "randombytes": "2.0.6", - "safe-buffer": "5.1.1" + "safe-buffer": "5.1.2" } }, "readable-stream": { - "version": "git+https://github.com/meteor/readable-stream.git#c688cdd193549919b840e8d72a86682d91961e12", + "version": "2.3.6", + "bundled": true, "requires": { + "core-util-is": "1.0.2", "inherits": "2.0.3", "isarray": "1.0.0", "process-nextick-args": "2.0.0", - "safe-buffer": "5.1.1", - "string_decoder": "1.1.0", + "safe-buffer": "5.1.2", + "string_decoder": "1.1.1", "util-deprecate": "1.0.2" }, "dependencies": { "inherits": { "version": "2.0.3", - "resolved": "https://registry.npmjs.org/inherits/-/inherits-2.0.3.tgz", - "integrity": "sha1-Yzwsg+PaQqUC9SRmAiSA9CCCYd4=" + "bundled": true } } }, - "rimraf": { - "version": "2.6.2", - "resolved": "https://registry.npmjs.org/rimraf/-/rimraf-2.6.2.tgz", - "integrity": "sha512-lreewLK/BlghmxtfH36YYVg1i8IAce4TI7oao75I1g245+6BctqTVQiBP3YUJ9C6DQOXJmkYR9X9fCLtCOJc5w==", - "requires": { - "glob": "7.1.2" - } - }, "ripemd160": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/ripemd160/-/ripemd160-2.0.1.tgz", - "integrity": "sha1-D0WEKVxTo2KK9+bXmsohzlfRxuc=", + "version": "2.0.2", + "bundled": true, "requires": { - "hash-base": "2.0.2", + "hash-base": "3.0.4", "inherits": "2.0.1" } }, "safe-buffer": { - "version": "5.1.1", - "resolved": "https://registry.npmjs.org/safe-buffer/-/safe-buffer-5.1.1.tgz", - "integrity": "sha512-kKvNJn6Mm93gAczWVJg7wH+wGYWNrDHdWvpUmHyEsgCtIwwo3bqPtV4tR5tuPaUhTOo/kvhVwd8XwwOllGYkbg==" + "version": "5.1.2", + "bundled": true }, "sha.js": { - "version": "2.4.10", - "resolved": "https://registry.npmjs.org/sha.js/-/sha.js-2.4.10.tgz", - "integrity": "sha512-vnwmrFDlOExK4Nm16J2KMWHLrp14lBrjxMxBJpu++EnsuBmpiYaM/MEs46Vxxm/4FvdP5yTwuCTO9it5FSjrqA==", + "version": "2.4.11", + "bundled": true, "requires": { "inherits": "2.0.1", - "safe-buffer": "5.1.1" + "safe-buffer": "5.1.2" } }, "stream-browserify": { "version": "2.0.1", - "resolved": "https://registry.npmjs.org/stream-browserify/-/stream-browserify-2.0.1.tgz", - "integrity": "sha1-ZiZu5fm9uZQKTkUUyvtDu3Hlyds=", + "bundled": true, "requires": { "inherits": "2.0.1", - "readable-stream": "git+https://github.com/meteor/readable-stream.git#c688cdd193549919b840e8d72a86682d91961e12" + "readable-stream": "2.3.6" } }, "stream-http": { - "version": "2.8.0", - "resolved": "https://registry.npmjs.org/stream-http/-/stream-http-2.8.0.tgz", - "integrity": "sha512-sZOFxI/5xw058XIRHl4dU3dZ+TTOIGJR78Dvo0oEAejIt4ou27k+3ne1zYmCV+v7UucbxIFQuOgnkTVHh8YPnw==", + "version": "2.8.1", + "bundled": true, "requires": { "builtin-status-codes": "3.0.0", "inherits": "2.0.1", - "readable-stream": "git+https://github.com/meteor/readable-stream.git#c688cdd193549919b840e8d72a86682d91961e12", + "readable-stream": "2.3.6", "to-arraybuffer": "1.0.1", "xtend": "4.0.1" } }, "string_decoder": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/string_decoder/-/string_decoder-1.1.0.tgz", - "integrity": "sha512-8zQpRF6juocE69ae7CSPmYEGJe4VCXwP6S6dxUWI7i53Gwv54/ec41fiUA+X7BPGGv7fRSQJjBQVa0gomGaOgg==", + "version": "1.1.1", + "bundled": true, "requires": { - "safe-buffer": "5.1.1" + "safe-buffer": "5.1.2" } }, "timers-browserify": { "version": "1.4.2", - "resolved": "https://registry.npmjs.org/timers-browserify/-/timers-browserify-1.4.2.tgz", - "integrity": "sha1-ycWLV1voQHN1y14kYtrO50NZ9B0=", + "bundled": true, "requires": { "process": "0.11.10" } }, "to-arraybuffer": { "version": "1.0.1", - "resolved": "https://registry.npmjs.org/to-arraybuffer/-/to-arraybuffer-1.0.1.tgz", - "integrity": "sha1-fSKbH8xjfkZsoIEYCDanqr/4P0M=" + "bundled": true }, "tty-browserify": { "version": "0.0.0", - "resolved": "https://registry.npmjs.org/tty-browserify/-/tty-browserify-0.0.0.tgz", - "integrity": "sha1-oVe6QC2iTpv5V/mqadUk7tQpAaY=" + "bundled": true }, "url": { "version": "0.11.0", - "resolved": "https://registry.npmjs.org/url/-/url-0.11.0.tgz", - "integrity": "sha1-ODjpfPxgUh63PFJajlW/3Z4uKPE=", + "bundled": true, "requires": { "punycode": "1.3.2", "querystring": "0.2.0" @@ -659,41 +516,31 @@ "dependencies": { "punycode": { "version": "1.3.2", - "resolved": "https://registry.npmjs.org/punycode/-/punycode-1.3.2.tgz", - "integrity": "sha1-llOgNvt8HuQjQvIyXM7v6jkmxI0=" + "bundled": true } } }, "util": { "version": "0.10.3", - "resolved": "https://registry.npmjs.org/util/-/util-0.10.3.tgz", - "integrity": "sha1-evsa/lCAUkZInj23/g7TeTNqwPk=", + "bundled": true, "requires": { "inherits": "2.0.1" } }, "util-deprecate": { "version": "1.0.2", - "resolved": "https://registry.npmjs.org/util-deprecate/-/util-deprecate-1.0.2.tgz", - "integrity": "sha1-RQ1Nyfpw3nMnYvvS1KKJgUGaDM8=" + "bundled": true }, "vm-browserify": { "version": "0.0.4", - "resolved": "https://registry.npmjs.org/vm-browserify/-/vm-browserify-0.0.4.tgz", - "integrity": "sha1-XX6kW7755Kb/ZflUOOCofDV9WnM=", + "bundled": true, "requires": { "indexof": "0.0.1" } }, - "wrappy": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/wrappy/-/wrappy-1.0.2.tgz", - "integrity": "sha1-tSQ9jz7BqjXxNkYFvA0QNuMKtp8=" - }, "xtend": { "version": "4.0.1", - "resolved": "https://registry.npmjs.org/xtend/-/xtend-4.0.1.tgz", - "integrity": "sha1-pcbVMr5lbiPbgg77lDofBJmNY68=" + "bundled": true } } }, diff --git a/tools/tests/apps/meteor-ignore/package.json b/tools/tests/apps/meteor-ignore/package.json index c0d547455e..4ebddd0ab2 100644 --- a/tools/tests/apps/meteor-ignore/package.json +++ b/tools/tests/apps/meteor-ignore/package.json @@ -6,6 +6,6 @@ }, "dependencies": { "@babel/runtime": "^7.0.0-beta.46", - "meteor-node-stubs": "^0.3.2" + "meteor-node-stubs": "^0.4.1" } } diff --git a/tools/tests/apps/modules/package-lock.json b/tools/tests/apps/modules/package-lock.json index 03dcd090a9..d7d695bc3f 100644 --- a/tools/tests/apps/modules/package-lock.json +++ b/tools/tests/apps/modules/package-lock.json @@ -26,7 +26,7 @@ "convert-source-map": "1.5.1", "debug": "3.1.0", "json5": "0.5.1", - "lodash": "4.17.5", + "lodash": "4.17.10", "micromatch": "2.3.11", "resolve": "1.7.1", "semver": "5.5.0", @@ -40,7 +40,7 @@ "requires": { "@babel/types": "7.0.0-beta.46", "jsesc": "2.5.1", - "lodash": "4.17.5", + "lodash": "4.17.10", "source-map": "0.5.7", "trim-right": "1.0.1" } @@ -91,7 +91,7 @@ "resolved": "https://registry.npmjs.org/@babel/highlight/-/highlight-7.0.0-beta.46.tgz", "integrity": "sha512-r4snW6Q8ICL3Y8hGzYJRvyG/+sc+kvkewXNedG9tQjoHmUFMwMSv/o45GWQUQswevGnWghiGkpRPivFfOuMsOA==", "requires": { - "chalk": "2.4.0", + "chalk": "2.4.1", "esutils": "2.0.2", "js-tokens": "3.0.2" } @@ -135,7 +135,7 @@ "resolved": "https://registry.npmjs.org/@babel/runtime/-/runtime-7.0.0-beta.46.tgz", "integrity": "sha512-/3a3USMKk54BEHhDgY8rtxtaQOs4bp4aQwo6SDtdwmrXmgSgEusWuXNX5oIs/nwzmTD9o8wz2EyAjA+uHDMmJA==", "requires": { - "core-js": "2.5.5", + "core-js": "2.5.6", "regenerator-runtime": "0.11.1" } }, @@ -147,7 +147,7 @@ "@babel/code-frame": "7.0.0-beta.46", "@babel/types": "7.0.0-beta.46", "babylon": "7.0.0-beta.46", - "lodash": "4.17.5" + "lodash": "4.17.10" } }, "@babel/traverse": { @@ -162,9 +162,9 @@ "@babel/types": "7.0.0-beta.46", "babylon": "7.0.0-beta.46", "debug": "3.1.0", - "globals": "11.4.0", + "globals": "11.5.0", "invariant": "2.2.4", - "lodash": "4.17.5" + "lodash": "4.17.10" } }, "@babel/types": { @@ -173,7 +173,7 @@ "integrity": "sha512-uA5aruF2KKsJxToWdDpftsrPOIQtoGrGno2hiaeO9JRvfT9xZdK11nPoC+/RF9emNzmNbWn4HCRdCY+McT5Nbw==", "requires": { "esutils": "2.0.2", - "lodash": "4.17.5", + "lodash": "4.17.10", "to-fast-properties": "2.0.0" } }, @@ -217,9 +217,9 @@ "integrity": "sha1-+PwEyjoTeErenhZBr5hXjPvWR6k=" }, "aws-sdk": { - "version": "2.212.1", - "resolved": "https://registry.npmjs.org/aws-sdk/-/aws-sdk-2.212.1.tgz", - "integrity": "sha1-gz2+jYN9RgWKN3Ksm7c7aRExNuQ=", + "version": "2.234.1", + "resolved": "https://registry.npmjs.org/aws-sdk/-/aws-sdk-2.234.1.tgz", + "integrity": "sha1-u408vkaF24Vue7BW848U594SFPI=", "requires": { "buffer": "4.9.1", "events": "1.1.1", @@ -240,15 +240,30 @@ } } }, + "babel-runtime": { + "version": "5.8.38", + "resolved": "https://registry.npmjs.org/babel-runtime/-/babel-runtime-5.8.38.tgz", + "integrity": "sha1-HAsC62MxL18If/IEUIJ7QlydTBk=", + "requires": { + "core-js": "1.2.7" + }, + "dependencies": { + "core-js": { + "version": "1.2.7", + "resolved": "https://registry.npmjs.org/core-js/-/core-js-1.2.7.tgz", + "integrity": "sha1-ZSKUwUZR2yj6k70tX/KYOk8IxjY=" + } + } + }, "babylon": { "version": "7.0.0-beta.46", "resolved": "https://registry.npmjs.org/babylon/-/babylon-7.0.0-beta.46.tgz", "integrity": "sha512-WFJlg2WatdkXRFMpk7BN/Uzzkjkcjk+WaqnrSCpay+RYl4ypW9ZetZyT9kNt22IH/BQNst3M6PaaBn9IXsUNrg==" }, "base64-js": { - "version": "1.2.3", - "resolved": "https://registry.npmjs.org/base64-js/-/base64-js-1.2.3.tgz", - "integrity": "sha512-MsAhsUW1GxCdgYSO6tAfZrNapmUKk7mWx/k5mFY/A1gBtkaCaNapTg+FExCw1r9yeaZhqx/xPg43xgTFH6KL5w==" + "version": "1.3.0", + "resolved": "https://registry.npmjs.org/base64-js/-/base64-js-1.3.0.tgz", + "integrity": "sha512-ccav/yGvoa80BQDljCxsmmQ3Xvx60/UpBIij5QN21W3wBi/hhIC9OoO+KLpu9IJTS9j4DRVJ3aDDF9cMSoa2lw==" }, "big-number": { "version": "0.3.1", @@ -261,11 +276,12 @@ "integrity": "sha512-LDXpJKVzEx2/OqNbG9mXBNvHuiRL4PzHCGfnANHMJ+fv68Ads3exDVJeGDJws+AoNEuca93bU3q+S0woeUaCdg==" }, "bl": { - "version": "1.2.1", - "resolved": "https://registry.npmjs.org/bl/-/bl-1.2.1.tgz", - "integrity": "sha1-ysMo977kVzDUBLaSID/LWQ4XLV4=", + "version": "1.2.2", + "resolved": "https://registry.npmjs.org/bl/-/bl-1.2.2.tgz", + "integrity": "sha512-e8tQYnZodmebYDWGH7KMRvtzKXaJHx3BbilrgZCfvyLUYdKpK1t5PSPmpkny/SgiTSCnjfLW7v5rlONXVFkQEA==", "requires": { - "readable-stream": "2.3.5" + "readable-stream": "2.3.6", + "safe-buffer": "5.1.2" } }, "bluebird": { @@ -288,15 +304,15 @@ "resolved": "https://registry.npmjs.org/buffer/-/buffer-4.9.1.tgz", "integrity": "sha1-bRu2AbB6TvztlwlBMgkwJ8lbwpg=", "requires": { - "base64-js": "1.2.3", + "base64-js": "1.3.0", "ieee754": "1.1.8", "isarray": "1.0.0" } }, "chalk": { - "version": "2.4.0", - "resolved": "https://registry.npmjs.org/chalk/-/chalk-2.4.0.tgz", - "integrity": "sha512-Wr/w0f4o9LuE7K53cD0qmbAMM+2XNLzR29vFn5hqko4sxGlUsyy363NvmyGIyk5tpe9cjTr9SJYbysEyPkRnFw==", + "version": "2.4.1", + "resolved": "https://registry.npmjs.org/chalk/-/chalk-2.4.1.tgz", + "integrity": "sha512-ObN6h1v2fTJSmUXoS3nMQ92LbDK9be4TV+6G+omQlGJFdcUX5heKi1LZ1YnRMIgwTLEj3E24bT6tYni50rlCfQ==", "requires": { "ansi-styles": "3.2.1", "escape-string-regexp": "1.0.5", @@ -336,9 +352,9 @@ "integrity": "sha1-uCeAl7m8IpNl3lxiz1/K7YtVmeU=" }, "core-js": { - "version": "2.5.5", - "resolved": "https://registry.npmjs.org/core-js/-/core-js-2.5.5.tgz", - "integrity": "sha1-sU3ek2xkDAV5prUMq8wTLdYSfjs=" + "version": "2.5.6", + "resolved": "https://registry.npmjs.org/core-js/-/core-js-2.5.6.tgz", + "integrity": "sha512-lQUVfQi0aLix2xpyjrrJEvfuYCqPc/HwmTKsC/VNf8q0zsjX7SQZtp4+oRONN5Tsur9GDETPjj+Ub2iDiGZfSQ==" }, "core-util-is": { "version": "1.0.2", @@ -476,9 +492,9 @@ } }, "globals": { - "version": "11.4.0", - "resolved": "https://registry.npmjs.org/globals/-/globals-11.4.0.tgz", - "integrity": "sha512-Dyzmifil8n/TmSqYDEXbm+C8yitzJQqQIlJQLNRMwa+BOUJpRC19pyVeN12JAjt61xonvXjtff+hJruTRXn5HA==" + "version": "11.5.0", + "resolved": "https://registry.npmjs.org/globals/-/globals-11.5.0.tgz", + "integrity": "sha512-hYyf+kI8dm3nORsiiXUQigOU62hDLfJ9G01uyGMxhc6BKsircrUhC4uJPQPUSuq2GrTmiiEt7ewxlMdBewfmKQ==" }, "has-flag": { "version": "3.0.0", @@ -486,9 +502,12 @@ "integrity": "sha1-tdRU3CGZriJWmfNGfloH87lVuv0=" }, "iconv-lite": { - "version": "0.4.19", - "resolved": "https://registry.npmjs.org/iconv-lite/-/iconv-lite-0.4.19.tgz", - "integrity": "sha512-oTZqweIP51xaGPI4uPa56/Pri/480R+mo7SeU+YETByQNhDG55ycFyNLIgta9vXhILrxXDmF7ZGhqZIcuN0gJQ==" + "version": "0.4.23", + "resolved": "https://registry.npmjs.org/iconv-lite/-/iconv-lite-0.4.23.tgz", + "integrity": "sha512-neyTUVFtahjf0mB3dZT77u+8O0QB89jFdnBkd5P1JgYPbPaia3gXXOVL2fq8VyU2gMMD7SaN7QukTB/pmXYvDA==", + "requires": { + "safer-buffer": "2.1.2" + } }, "idle-gc": { "version": "1.0.1", @@ -619,14 +638,14 @@ } }, "lodash": { - "version": "4.17.5", - "resolved": "https://registry.npmjs.org/lodash/-/lodash-4.17.5.tgz", - "integrity": "sha512-svL3uiZf1RwhH+cWrfZn3A4+U58wbP0tGVTLQPbjplZxZ8ROD9VLuNgsRniTlLe7OlSqR79RUehXgpBW/s0IQw==" + "version": "4.17.10", + "resolved": "https://registry.npmjs.org/lodash/-/lodash-4.17.10.tgz", + "integrity": "sha512-UejweD1pDoXu+AD825lWwp4ZGtSwgnpZxb3JDViD7StjQz+Nb/6l093lx4OQ0foGWNRoc19mWy7BzL+UAK2iVg==" }, "lodash-es": { - "version": "4.17.7", - "resolved": "https://registry.npmjs.org/lodash-es/-/lodash-es-4.17.7.tgz", - "integrity": "sha512-jzqTi3vk4J5Dxq43cNjB0ekfCjPLHixoY2Sc0WHTo+0r928taLqe/VCt02vY5uQBvg0rdXgL3xWkK4X0MCmZcw==" + "version": "4.17.10", + "resolved": "https://registry.npmjs.org/lodash-es/-/lodash-es-4.17.10.tgz", + "integrity": "sha512-iesFYPmxYYGTcmQK0sL8bX3TGHyM6b2qREaB4kamHfQyfPJP0xgoGxp19nsH16nsfquLdiyKyX3mQkfiSGV8Rg==" }, "lodash.isplainobject": { "version": "4.0.6", @@ -652,9 +671,9 @@ } }, "meteor-node-stubs": { - "version": "0.3.3", - "resolved": "https://registry.npmjs.org/meteor-node-stubs/-/meteor-node-stubs-0.3.3.tgz", - "integrity": "sha512-TI1aQRK0vqs94OCkUMkmf5lXNWfIsjSaEDP1inUuwRGt9w8/S2V+HdRikz9r1k/gew+7NcJieaqHsHX7pSTEgA==", + "version": "0.4.1", + "resolved": "https://registry.npmjs.org/meteor-node-stubs/-/meteor-node-stubs-0.4.1.tgz", + "integrity": "sha512-UO2OStvLOKoApmOdIP5eCqoLaa/ritMXRg4ffJVdkNLEsczzPvTjgC0Mxk4cM4R8MZkwll90FYgjDf5qUTJdMA==", "requires": { "assert": "1.4.1", "browserify-zlib": "0.1.4", @@ -670,10 +689,10 @@ "process": "0.11.10", "punycode": "1.4.1", "querystring-es3": "0.2.1", - "readable-stream": "git+https://github.com/meteor/readable-stream.git#c688cdd193549919b840e8d72a86682d91961e12", + "readable-stream": "2.3.6", "stream-browserify": "2.0.1", - "stream-http": "2.8.0", - "string_decoder": "1.1.0", + "stream-http": "2.8.1", + "string_decoder": "1.1.1", "timers-browserify": "1.4.2", "tty-browserify": "0.0.0", "url": "0.11.0", @@ -683,78 +702,56 @@ "dependencies": { "asn1.js": { "version": "4.10.1", - "resolved": "https://registry.npmjs.org/asn1.js/-/asn1.js-4.10.1.tgz", - "integrity": "sha512-p32cOF5q0Zqs9uBiONKYLm6BClCoBCM5O9JfeUSlnQLBTxYdTK+pW+nXflm8UkKd2UYlEbYz5qEi0JuZR9ckSw==", + "bundled": true, "requires": { "bn.js": "4.11.8", "inherits": "2.0.1", - "minimalistic-assert": "1.0.0" + "minimalistic-assert": "1.0.1" } }, "assert": { "version": "1.4.1", - "resolved": "https://registry.npmjs.org/assert/-/assert-1.4.1.tgz", - "integrity": "sha1-mZEtWRg2tab1s0XA8H7vwI/GXZE=", + "bundled": true, "requires": { "util": "0.10.3" } }, - "balanced-match": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/balanced-match/-/balanced-match-1.0.0.tgz", - "integrity": "sha1-ibTRmasr7kneFk6gK4nORi1xt2c=" - }, "base64-js": { - "version": "1.2.3", - "resolved": "https://registry.npmjs.org/base64-js/-/base64-js-1.2.3.tgz", - "integrity": "sha512-MsAhsUW1GxCdgYSO6tAfZrNapmUKk7mWx/k5mFY/A1gBtkaCaNapTg+FExCw1r9yeaZhqx/xPg43xgTFH6KL5w==" + "version": "1.3.0", + "bundled": true }, "bn.js": { "version": "4.11.8", - "resolved": "https://registry.npmjs.org/bn.js/-/bn.js-4.11.8.tgz", - "integrity": "sha512-ItfYfPLkWHUjckQCk8xC+LwxgK8NYcXywGigJgSwOP8Y2iyWT4f2vsZnoOXTTbo+o5yXmIUJ4gn5538SO5S3gA==" - }, - "brace-expansion": { - "version": "1.1.11", - "resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-1.1.11.tgz", - "integrity": "sha512-iCuPHDFgrHX7H2vEI/5xpz07zSHB00TpugqhmYtVmMO6518mCuRMoOYFldEBl0g187ufozdaHgWKcYFb61qGiA==", - "requires": { - "balanced-match": "1.0.0", - "concat-map": "0.0.1" - } + "bundled": true }, "brorand": { "version": "1.1.0", - "resolved": "https://registry.npmjs.org/brorand/-/brorand-1.1.0.tgz", - "integrity": "sha1-EsJe/kCkXjwyPrhnWgoM5XsiNx8=" + "bundled": true }, "browserify-aes": { - "version": "1.1.1", - "resolved": "https://registry.npmjs.org/browserify-aes/-/browserify-aes-1.1.1.tgz", - "integrity": "sha512-UGnTYAnB2a3YuYKIRy1/4FB2HdM866E0qC46JXvVTYKlBlZlnvfpSfY6OKfXZAkv70eJ2a1SqzpAo5CRhZGDFg==", + "version": "1.2.0", + "bundled": true, "requires": { "buffer-xor": "1.0.3", "cipher-base": "1.0.4", - "create-hash": "1.1.3", + "create-hash": "1.2.0", "evp_bytestokey": "1.0.3", "inherits": "2.0.1", - "safe-buffer": "5.1.1" + "safe-buffer": "5.1.2" } }, "browserify-cipher": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/browserify-cipher/-/browserify-cipher-1.0.0.tgz", - "integrity": "sha1-mYgkSHS/XtTijalWZtzWasj8Njo=", + "version": "1.0.1", + "bundled": true, "requires": { - "browserify-aes": "1.1.1", - "browserify-des": "1.0.0", + "browserify-aes": "1.2.0", + "browserify-des": "1.0.1", "evp_bytestokey": "1.0.3" } }, "browserify-des": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/browserify-des/-/browserify-des-1.0.0.tgz", - "integrity": "sha1-2qJ3cXRwki7S/hhZQRihdUOXId0=", + "version": "1.0.1", + "bundled": true, "requires": { "cipher-base": "1.0.4", "des.js": "1.0.0", @@ -763,8 +760,7 @@ }, "browserify-rsa": { "version": "4.0.1", - "resolved": "https://registry.npmjs.org/browserify-rsa/-/browserify-rsa-4.0.1.tgz", - "integrity": "sha1-IeCr+vbyApzy+vsTNWenAdQTVSQ=", + "bundled": true, "requires": { "bn.js": "4.11.8", "randombytes": "2.0.6" @@ -772,142 +768,127 @@ }, "browserify-sign": { "version": "4.0.4", - "resolved": "https://registry.npmjs.org/browserify-sign/-/browserify-sign-4.0.4.tgz", - "integrity": "sha1-qk62jl17ZYuqa/alfmMMvXqT0pg=", + "bundled": true, "requires": { "bn.js": "4.11.8", "browserify-rsa": "4.0.1", - "create-hash": "1.1.3", - "create-hmac": "1.1.6", + "create-hash": "1.2.0", + "create-hmac": "1.1.7", "elliptic": "6.4.0", "inherits": "2.0.1", - "parse-asn1": "5.1.0" + "parse-asn1": "5.1.1" } }, "browserify-zlib": { "version": "0.1.4", - "resolved": "https://registry.npmjs.org/browserify-zlib/-/browserify-zlib-0.1.4.tgz", - "integrity": "sha1-uzX4pRn2AOD6a4SFJByXnQFB+y0=", + "bundled": true, "requires": { "pako": "0.2.9" } }, "buffer": { "version": "4.9.1", - "resolved": "https://registry.npmjs.org/buffer/-/buffer-4.9.1.tgz", - "integrity": "sha1-bRu2AbB6TvztlwlBMgkwJ8lbwpg=", + "bundled": true, "requires": { - "base64-js": "1.2.3", - "ieee754": "1.1.8", + "base64-js": "1.3.0", + "ieee754": "1.1.11", "isarray": "1.0.0" } }, "buffer-xor": { "version": "1.0.3", - "resolved": "https://registry.npmjs.org/buffer-xor/-/buffer-xor-1.0.3.tgz", - "integrity": "sha1-JuYe0UIvtw3ULm42cp7VHYVf6Nk=" + "bundled": true }, "builtin-status-codes": { "version": "3.0.0", - "resolved": "https://registry.npmjs.org/builtin-status-codes/-/builtin-status-codes-3.0.0.tgz", - "integrity": "sha1-hZgoeOIbmOHGZCXgPQF0eI9Wnug=" + "bundled": true }, "cipher-base": { "version": "1.0.4", - "resolved": "https://registry.npmjs.org/cipher-base/-/cipher-base-1.0.4.tgz", - "integrity": "sha512-Kkht5ye6ZGmwv40uUDZztayT2ThLQGfnj/T71N/XzeZeo3nf8foyW7zGTsPYkEya3m5f3cAypH+qe7YOrM1U2Q==", + "bundled": true, "requires": { "inherits": "2.0.1", - "safe-buffer": "5.1.1" + "safe-buffer": "5.1.2" } }, - "concat-map": { - "version": "0.0.1", - "resolved": "https://registry.npmjs.org/concat-map/-/concat-map-0.0.1.tgz", - "integrity": "sha1-2Klr13/Wjfd5OnMDajug1UBdR3s=" - }, "console-browserify": { "version": "1.1.0", - "resolved": "https://registry.npmjs.org/console-browserify/-/console-browserify-1.1.0.tgz", - "integrity": "sha1-8CQcRXMKn8YyOyBtvzjtx0HQuxA=", + "bundled": true, "requires": { "date-now": "0.1.4" } }, "constants-browserify": { "version": "1.0.0", - "resolved": "https://registry.npmjs.org/constants-browserify/-/constants-browserify-1.0.0.tgz", - "integrity": "sha1-wguW2MYXdIqvHBYCF2DNJ/y4y3U=" + "bundled": true + }, + "core-util-is": { + "version": "1.0.2", + "bundled": true }, "create-ecdh": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/create-ecdh/-/create-ecdh-4.0.0.tgz", - "integrity": "sha1-iIxyNZbN92EvZJgjPuvXo1MBc30=", + "version": "4.0.3", + "bundled": true, "requires": { "bn.js": "4.11.8", "elliptic": "6.4.0" } }, "create-hash": { - "version": "1.1.3", - "resolved": "https://registry.npmjs.org/create-hash/-/create-hash-1.1.3.tgz", - "integrity": "sha1-YGBCrIuSYnUPSDyt2rD1gZFy2P0=", + "version": "1.2.0", + "bundled": true, "requires": { "cipher-base": "1.0.4", "inherits": "2.0.1", - "ripemd160": "2.0.1", - "sha.js": "2.4.10" + "md5.js": "1.3.4", + "ripemd160": "2.0.2", + "sha.js": "2.4.11" } }, "create-hmac": { - "version": "1.1.6", - "resolved": "https://registry.npmjs.org/create-hmac/-/create-hmac-1.1.6.tgz", - "integrity": "sha1-rLniIaThe9sHbpBlfEK5PjcmzwY=", + "version": "1.1.7", + "bundled": true, "requires": { "cipher-base": "1.0.4", - "create-hash": "1.1.3", + "create-hash": "1.2.0", "inherits": "2.0.1", - "ripemd160": "2.0.1", - "safe-buffer": "5.1.1", - "sha.js": "2.4.10" + "ripemd160": "2.0.2", + "safe-buffer": "5.1.2", + "sha.js": "2.4.11" } }, "crypto-browserify": { "version": "3.12.0", - "resolved": "https://registry.npmjs.org/crypto-browserify/-/crypto-browserify-3.12.0.tgz", - "integrity": "sha512-fz4spIh+znjO2VjL+IdhEpRJ3YN6sMzITSBijk6FK2UvTqruSQW+/cCZTSNsMiZNvUeq0CqurF+dAbyiGOY6Wg==", + "bundled": true, "requires": { - "browserify-cipher": "1.0.0", + "browserify-cipher": "1.0.1", "browserify-sign": "4.0.4", - "create-ecdh": "4.0.0", - "create-hash": "1.1.3", - "create-hmac": "1.1.6", - "diffie-hellman": "5.0.2", + "create-ecdh": "4.0.3", + "create-hash": "1.2.0", + "create-hmac": "1.1.7", + "diffie-hellman": "5.0.3", "inherits": "2.0.1", - "pbkdf2": "3.0.14", - "public-encrypt": "4.0.0", + "pbkdf2": "3.0.16", + "public-encrypt": "4.0.2", "randombytes": "2.0.6", "randomfill": "1.0.4" } }, "date-now": { "version": "0.1.4", - "resolved": "https://registry.npmjs.org/date-now/-/date-now-0.1.4.tgz", - "integrity": "sha1-6vQ5/U1ISK105cx9vvIAZyueNFs=" + "bundled": true }, "des.js": { "version": "1.0.0", - "resolved": "https://registry.npmjs.org/des.js/-/des.js-1.0.0.tgz", - "integrity": "sha1-wHTS4qpqipoH29YfmhXCzYPsjsw=", + "bundled": true, "requires": { "inherits": "2.0.1", - "minimalistic-assert": "1.0.0" + "minimalistic-assert": "1.0.1" } }, "diffie-hellman": { - "version": "5.0.2", - "resolved": "https://registry.npmjs.org/diffie-hellman/-/diffie-hellman-5.0.2.tgz", - "integrity": "sha1-tYNXOScM/ias9jIJn97SoH8gnl4=", + "version": "5.0.3", + "bundled": true, "requires": { "bn.js": "4.11.8", "miller-rabin": "4.0.1", @@ -916,376 +897,271 @@ }, "domain-browser": { "version": "1.2.0", - "resolved": "https://registry.npmjs.org/domain-browser/-/domain-browser-1.2.0.tgz", - "integrity": "sha512-jnjyiM6eRyZl2H+W8Q/zLMA481hzi0eszAaBUzIVnmYVDBbnLxVNnfu1HgEBvCbL+71FrxMl3E6lpKH7Ge3OXA==" + "bundled": true }, "elliptic": { "version": "6.4.0", - "resolved": "https://registry.npmjs.org/elliptic/-/elliptic-6.4.0.tgz", - "integrity": "sha1-ysmvh2LIWDYYcAPI3+GT5eLq5d8=", + "bundled": true, "requires": { "bn.js": "4.11.8", "brorand": "1.1.0", "hash.js": "1.1.3", "hmac-drbg": "1.0.1", "inherits": "2.0.1", - "minimalistic-assert": "1.0.0", + "minimalistic-assert": "1.0.1", "minimalistic-crypto-utils": "1.0.1" } }, "events": { "version": "1.1.1", - "resolved": "https://registry.npmjs.org/events/-/events-1.1.1.tgz", - "integrity": "sha1-nr23Y1rQmccNzEwqH1AEKI6L2SQ=" + "bundled": true }, "evp_bytestokey": { "version": "1.0.3", - "resolved": "https://registry.npmjs.org/evp_bytestokey/-/evp_bytestokey-1.0.3.tgz", - "integrity": "sha512-/f2Go4TognH/KvCISP7OUsHn85hT9nUkxxA9BEWxFn+Oj9o8ZNLm/40hdlgSLyuOimsrTKLUMEorQexp/aPQeA==", + "bundled": true, "requires": { "md5.js": "1.3.4", - "safe-buffer": "5.1.1" - } - }, - "fs.realpath": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/fs.realpath/-/fs.realpath-1.0.0.tgz", - "integrity": "sha1-FQStJSMVjKpA20onh8sBQRmU6k8=" - }, - "glob": { - "version": "7.1.2", - "resolved": "https://registry.npmjs.org/glob/-/glob-7.1.2.tgz", - "integrity": "sha512-MJTUg1kjuLeQCJ+ccE4Vpa6kKVXkPYJ2mOCQyUuKLcLQsdrMCpBPUi8qVE6+YuaJkozeA9NusTAw3hLr8Xe5EQ==", - "requires": { - "fs.realpath": "1.0.0", - "inflight": "1.0.6", - "inherits": "2.0.1", - "minimatch": "3.0.4", - "once": "1.4.0", - "path-is-absolute": "1.0.1" + "safe-buffer": "5.1.2" } }, "hash-base": { - "version": "2.0.2", - "resolved": "https://registry.npmjs.org/hash-base/-/hash-base-2.0.2.tgz", - "integrity": "sha1-ZuodhW206KVHDK32/OI65SRO8uE=", + "version": "3.0.4", + "bundled": true, "requires": { - "inherits": "2.0.1" + "inherits": "2.0.1", + "safe-buffer": "5.1.2" } }, "hash.js": { "version": "1.1.3", - "resolved": "https://registry.npmjs.org/hash.js/-/hash.js-1.1.3.tgz", - "integrity": "sha512-/UETyP0W22QILqS+6HowevwhEFJ3MBJnwTf75Qob9Wz9t0DPuisL8kW8YZMK62dHAKE1c1p+gY1TtOLY+USEHA==", + "bundled": true, "requires": { "inherits": "2.0.3", - "minimalistic-assert": "1.0.0" + "minimalistic-assert": "1.0.1" }, "dependencies": { "inherits": { "version": "2.0.3", - "resolved": "https://registry.npmjs.org/inherits/-/inherits-2.0.3.tgz", - "integrity": "sha1-Yzwsg+PaQqUC9SRmAiSA9CCCYd4=" + "bundled": true } } }, "hmac-drbg": { "version": "1.0.1", - "resolved": "https://registry.npmjs.org/hmac-drbg/-/hmac-drbg-1.0.1.tgz", - "integrity": "sha1-0nRXAQJabHdabFRXk+1QL8DGSaE=", + "bundled": true, "requires": { "hash.js": "1.1.3", - "minimalistic-assert": "1.0.0", + "minimalistic-assert": "1.0.1", "minimalistic-crypto-utils": "1.0.1" } }, "https-browserify": { "version": "0.0.1", - "resolved": "https://registry.npmjs.org/https-browserify/-/https-browserify-0.0.1.tgz", - "integrity": "sha1-P5E2XKvmC3ftDruiS0VOPgnZWoI=" + "bundled": true }, "ieee754": { - "version": "1.1.8", - "resolved": "https://registry.npmjs.org/ieee754/-/ieee754-1.1.8.tgz", - "integrity": "sha1-vjPUCsEO8ZJnAfbwii2G+/0a0+Q=" + "version": "1.1.11", + "bundled": true }, "indexof": { "version": "0.0.1", - "resolved": "https://registry.npmjs.org/indexof/-/indexof-0.0.1.tgz", - "integrity": "sha1-gtwzbSMrkGIXnQWrMpOmYFn9Q10=" - }, - "inflight": { - "version": "1.0.6", - "resolved": "https://registry.npmjs.org/inflight/-/inflight-1.0.6.tgz", - "integrity": "sha1-Sb1jMdfQLQwJvJEKEHW6gWW1bfk=", - "requires": { - "once": "1.4.0", - "wrappy": "1.0.2" - } + "bundled": true }, "inherits": { "version": "2.0.1", - "resolved": "https://registry.npmjs.org/inherits/-/inherits-2.0.1.tgz", - "integrity": "sha1-sX0I0ya0Qj5Wjv9xn5GwscvfafE=" + "bundled": true }, "isarray": { "version": "1.0.0", - "resolved": "https://registry.npmjs.org/isarray/-/isarray-1.0.0.tgz", - "integrity": "sha1-u5NdSFgsuhaMBoNJV6VKPgcSTxE=" + "bundled": true }, "md5.js": { "version": "1.3.4", - "resolved": "https://registry.npmjs.org/md5.js/-/md5.js-1.3.4.tgz", - "integrity": "sha1-6b296UogpawYsENA/Fdk1bCdkB0=", + "bundled": true, "requires": { "hash-base": "3.0.4", "inherits": "2.0.1" - }, - "dependencies": { - "hash-base": { - "version": "3.0.4", - "resolved": "https://registry.npmjs.org/hash-base/-/hash-base-3.0.4.tgz", - "integrity": "sha1-X8hoaEfs1zSZQDMZprCj8/auSRg=", - "requires": { - "inherits": "2.0.1", - "safe-buffer": "5.1.1" - } - } } }, "miller-rabin": { "version": "4.0.1", - "resolved": "https://registry.npmjs.org/miller-rabin/-/miller-rabin-4.0.1.tgz", - "integrity": "sha512-115fLhvZVqWwHPbClyntxEVfVDfl9DLLTuJvq3g2O/Oxi8AiNouAHvDSzHS0viUJc+V5vm3eq91Xwqn9dp4jRA==", + "bundled": true, "requires": { "bn.js": "4.11.8", "brorand": "1.1.0" } }, "minimalistic-assert": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/minimalistic-assert/-/minimalistic-assert-1.0.0.tgz", - "integrity": "sha1-cCvi3aazf0g2vLP121ZkG2Sh09M=" + "version": "1.0.1", + "bundled": true }, "minimalistic-crypto-utils": { "version": "1.0.1", - "resolved": "https://registry.npmjs.org/minimalistic-crypto-utils/-/minimalistic-crypto-utils-1.0.1.tgz", - "integrity": "sha1-9sAMHAsIIkblxNmd+4x8CDsrWCo=" - }, - "minimatch": { - "version": "3.0.4", - "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-3.0.4.tgz", - "integrity": "sha512-yJHVQEhyqPLUTgt9B83PXu6W3rx4MvvHvSUvToogpwoGDOUQ+yDrR0HRot+yOCdCO7u4hX3pWft6kWBBcqh0UA==", - "requires": { - "brace-expansion": "1.1.11" - } - }, - "once": { - "version": "1.4.0", - "resolved": "https://registry.npmjs.org/once/-/once-1.4.0.tgz", - "integrity": "sha1-WDsap3WWHUsROsF9nFC6753Xa9E=", - "requires": { - "wrappy": "1.0.2" - } + "bundled": true }, "os-browserify": { "version": "0.2.1", - "resolved": "https://registry.npmjs.org/os-browserify/-/os-browserify-0.2.1.tgz", - "integrity": "sha1-Y/xMzuXS13Y9Jrv4YBB45sLgBE8=" + "bundled": true }, "pako": { "version": "0.2.9", - "resolved": "https://registry.npmjs.org/pako/-/pako-0.2.9.tgz", - "integrity": "sha1-8/dSL073gjSNqBYbrZ7P1Rv4OnU=" + "bundled": true }, "parse-asn1": { - "version": "5.1.0", - "resolved": "https://registry.npmjs.org/parse-asn1/-/parse-asn1-5.1.0.tgz", - "integrity": "sha1-N8T5t+06tlx0gXtfJICTf7+XxxI=", + "version": "5.1.1", + "bundled": true, "requires": { "asn1.js": "4.10.1", - "browserify-aes": "1.1.1", - "create-hash": "1.1.3", + "browserify-aes": "1.2.0", + "create-hash": "1.2.0", "evp_bytestokey": "1.0.3", - "pbkdf2": "3.0.14" + "pbkdf2": "3.0.16" } }, "path-browserify": { "version": "0.0.0", - "resolved": "https://registry.npmjs.org/path-browserify/-/path-browserify-0.0.0.tgz", - "integrity": "sha1-oLhwcpquIUAFt9UDLsLLuw+0RRo=" - }, - "path-is-absolute": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/path-is-absolute/-/path-is-absolute-1.0.1.tgz", - "integrity": "sha1-F0uSaHNVNP+8es5r9TpanhtcX18=" + "bundled": true }, "pbkdf2": { - "version": "3.0.14", - "resolved": "https://registry.npmjs.org/pbkdf2/-/pbkdf2-3.0.14.tgz", - "integrity": "sha512-gjsZW9O34fm0R7PaLHRJmLLVfSoesxztjPjE9o6R+qtVJij90ltg1joIovN9GKrRW3t1PzhDDG3UMEMFfZ+1wA==", + "version": "3.0.16", + "bundled": true, "requires": { - "create-hash": "1.1.3", - "create-hmac": "1.1.6", - "ripemd160": "2.0.1", - "safe-buffer": "5.1.1", - "sha.js": "2.4.10" + "create-hash": "1.2.0", + "create-hmac": "1.1.7", + "ripemd160": "2.0.2", + "safe-buffer": "5.1.2", + "sha.js": "2.4.11" } }, "process": { "version": "0.11.10", - "resolved": "https://registry.npmjs.org/process/-/process-0.11.10.tgz", - "integrity": "sha1-czIwDoQBYb2j5podHZGn1LwW8YI=" + "bundled": true }, "process-nextick-args": { "version": "2.0.0", - "resolved": "https://registry.npmjs.org/process-nextick-args/-/process-nextick-args-2.0.0.tgz", - "integrity": "sha512-MtEC1TqN0EU5nephaJ4rAtThHtC86dNN9qCuEhtshvpVBkAW5ZO7BASN9REnF9eoXGcRub+pFuKEpOHE+HbEMw==" + "bundled": true }, "public-encrypt": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/public-encrypt/-/public-encrypt-4.0.0.tgz", - "integrity": "sha1-OfaZ86RlYN1eusvKaTyvfGXBjMY=", + "version": "4.0.2", + "bundled": true, "requires": { "bn.js": "4.11.8", "browserify-rsa": "4.0.1", - "create-hash": "1.1.3", - "parse-asn1": "5.1.0", + "create-hash": "1.2.0", + "parse-asn1": "5.1.1", "randombytes": "2.0.6" } }, "punycode": { "version": "1.4.1", - "resolved": "https://registry.npmjs.org/punycode/-/punycode-1.4.1.tgz", - "integrity": "sha1-wNWmOycYgArY4esPpSachN1BhF4=" + "bundled": true }, "querystring": { "version": "0.2.0", - "resolved": "https://registry.npmjs.org/querystring/-/querystring-0.2.0.tgz", - "integrity": "sha1-sgmEkgO7Jd+CDadW50cAWHhSFiA=" + "bundled": true }, "querystring-es3": { "version": "0.2.1", - "resolved": "https://registry.npmjs.org/querystring-es3/-/querystring-es3-0.2.1.tgz", - "integrity": "sha1-nsYfeQSYdXB9aUFFlv2Qek1xHnM=" + "bundled": true }, "randombytes": { "version": "2.0.6", - "resolved": "https://registry.npmjs.org/randombytes/-/randombytes-2.0.6.tgz", - "integrity": "sha512-CIQ5OFxf4Jou6uOKe9t1AOgqpeU5fd70A8NPdHSGeYXqXsPe6peOwI0cUl88RWZ6sP1vPMV3avd/R6cZ5/sP1A==", + "bundled": true, "requires": { - "safe-buffer": "5.1.1" + "safe-buffer": "5.1.2" } }, "randomfill": { "version": "1.0.4", - "resolved": "https://registry.npmjs.org/randomfill/-/randomfill-1.0.4.tgz", - "integrity": "sha512-87lcbR8+MhcWcUiQ+9e+Rwx8MyR2P7qnt15ynUlbm3TU/fjbgz4GsvfSUDTemtCCtVCqb4ZcEFlyPNTh9bBTLw==", + "bundled": true, "requires": { "randombytes": "2.0.6", - "safe-buffer": "5.1.1" + "safe-buffer": "5.1.2" } }, "readable-stream": { - "version": "git+https://github.com/meteor/readable-stream.git#c688cdd193549919b840e8d72a86682d91961e12", + "version": "2.3.6", + "bundled": true, "requires": { + "core-util-is": "1.0.2", "inherits": "2.0.3", "isarray": "1.0.0", "process-nextick-args": "2.0.0", - "safe-buffer": "5.1.1", - "string_decoder": "1.1.0", + "safe-buffer": "5.1.2", + "string_decoder": "1.1.1", "util-deprecate": "1.0.2" }, "dependencies": { "inherits": { "version": "2.0.3", - "resolved": "https://registry.npmjs.org/inherits/-/inherits-2.0.3.tgz", - "integrity": "sha1-Yzwsg+PaQqUC9SRmAiSA9CCCYd4=" + "bundled": true } } }, - "rimraf": { - "version": "2.6.2", - "resolved": "https://registry.npmjs.org/rimraf/-/rimraf-2.6.2.tgz", - "integrity": "sha512-lreewLK/BlghmxtfH36YYVg1i8IAce4TI7oao75I1g245+6BctqTVQiBP3YUJ9C6DQOXJmkYR9X9fCLtCOJc5w==", - "requires": { - "glob": "7.1.2" - } - }, "ripemd160": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/ripemd160/-/ripemd160-2.0.1.tgz", - "integrity": "sha1-D0WEKVxTo2KK9+bXmsohzlfRxuc=", + "version": "2.0.2", + "bundled": true, "requires": { - "hash-base": "2.0.2", + "hash-base": "3.0.4", "inherits": "2.0.1" } }, "safe-buffer": { - "version": "5.1.1", - "resolved": "https://registry.npmjs.org/safe-buffer/-/safe-buffer-5.1.1.tgz", - "integrity": "sha512-kKvNJn6Mm93gAczWVJg7wH+wGYWNrDHdWvpUmHyEsgCtIwwo3bqPtV4tR5tuPaUhTOo/kvhVwd8XwwOllGYkbg==" + "version": "5.1.2", + "bundled": true }, "sha.js": { - "version": "2.4.10", - "resolved": "https://registry.npmjs.org/sha.js/-/sha.js-2.4.10.tgz", - "integrity": "sha512-vnwmrFDlOExK4Nm16J2KMWHLrp14lBrjxMxBJpu++EnsuBmpiYaM/MEs46Vxxm/4FvdP5yTwuCTO9it5FSjrqA==", + "version": "2.4.11", + "bundled": true, "requires": { "inherits": "2.0.1", - "safe-buffer": "5.1.1" + "safe-buffer": "5.1.2" } }, "stream-browserify": { "version": "2.0.1", - "resolved": "https://registry.npmjs.org/stream-browserify/-/stream-browserify-2.0.1.tgz", - "integrity": "sha1-ZiZu5fm9uZQKTkUUyvtDu3Hlyds=", + "bundled": true, "requires": { "inherits": "2.0.1", - "readable-stream": "git+https://github.com/meteor/readable-stream.git#c688cdd193549919b840e8d72a86682d91961e12" + "readable-stream": "2.3.6" } }, "stream-http": { - "version": "2.8.0", - "resolved": "https://registry.npmjs.org/stream-http/-/stream-http-2.8.0.tgz", - "integrity": "sha512-sZOFxI/5xw058XIRHl4dU3dZ+TTOIGJR78Dvo0oEAejIt4ou27k+3ne1zYmCV+v7UucbxIFQuOgnkTVHh8YPnw==", + "version": "2.8.1", + "bundled": true, "requires": { "builtin-status-codes": "3.0.0", "inherits": "2.0.1", - "readable-stream": "git+https://github.com/meteor/readable-stream.git#c688cdd193549919b840e8d72a86682d91961e12", + "readable-stream": "2.3.6", "to-arraybuffer": "1.0.1", "xtend": "4.0.1" } }, "string_decoder": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/string_decoder/-/string_decoder-1.1.0.tgz", - "integrity": "sha512-8zQpRF6juocE69ae7CSPmYEGJe4VCXwP6S6dxUWI7i53Gwv54/ec41fiUA+X7BPGGv7fRSQJjBQVa0gomGaOgg==", + "version": "1.1.1", + "bundled": true, "requires": { - "safe-buffer": "5.1.1" + "safe-buffer": "5.1.2" } }, "timers-browserify": { "version": "1.4.2", - "resolved": "https://registry.npmjs.org/timers-browserify/-/timers-browserify-1.4.2.tgz", - "integrity": "sha1-ycWLV1voQHN1y14kYtrO50NZ9B0=", + "bundled": true, "requires": { "process": "0.11.10" } }, "to-arraybuffer": { "version": "1.0.1", - "resolved": "https://registry.npmjs.org/to-arraybuffer/-/to-arraybuffer-1.0.1.tgz", - "integrity": "sha1-fSKbH8xjfkZsoIEYCDanqr/4P0M=" + "bundled": true }, "tty-browserify": { "version": "0.0.0", - "resolved": "https://registry.npmjs.org/tty-browserify/-/tty-browserify-0.0.0.tgz", - "integrity": "sha1-oVe6QC2iTpv5V/mqadUk7tQpAaY=" + "bundled": true }, "url": { "version": "0.11.0", - "resolved": "https://registry.npmjs.org/url/-/url-0.11.0.tgz", - "integrity": "sha1-ODjpfPxgUh63PFJajlW/3Z4uKPE=", + "bundled": true, "requires": { "punycode": "1.3.2", "querystring": "0.2.0" @@ -1293,41 +1169,31 @@ "dependencies": { "punycode": { "version": "1.3.2", - "resolved": "https://registry.npmjs.org/punycode/-/punycode-1.3.2.tgz", - "integrity": "sha1-llOgNvt8HuQjQvIyXM7v6jkmxI0=" + "bundled": true } } }, "util": { "version": "0.10.3", - "resolved": "https://registry.npmjs.org/util/-/util-0.10.3.tgz", - "integrity": "sha1-evsa/lCAUkZInj23/g7TeTNqwPk=", + "bundled": true, "requires": { "inherits": "2.0.1" } }, "util-deprecate": { "version": "1.0.2", - "resolved": "https://registry.npmjs.org/util-deprecate/-/util-deprecate-1.0.2.tgz", - "integrity": "sha1-RQ1Nyfpw3nMnYvvS1KKJgUGaDM8=" + "bundled": true }, "vm-browserify": { "version": "0.0.4", - "resolved": "https://registry.npmjs.org/vm-browserify/-/vm-browserify-0.0.4.tgz", - "integrity": "sha1-XX6kW7755Kb/ZflUOOCofDV9WnM=", + "bundled": true, "requires": { "indexof": "0.0.1" } }, - "wrappy": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/wrappy/-/wrappy-1.0.2.tgz", - "integrity": "sha1-tSQ9jz7BqjXxNkYFvA0QNuMKtp8=" - }, "xtend": { "version": "4.0.1", - "resolved": "https://registry.npmjs.org/xtend/-/xtend-4.0.1.tgz", - "integrity": "sha1-pcbVMr5lbiPbgg77lDofBJmNY68=" + "bundled": true } } }, @@ -1405,6 +1271,19 @@ "string_decoder": "1.0.3", "util-deprecate": "1.0.2" } + }, + "safe-buffer": { + "version": "5.1.1", + "resolved": "https://registry.npmjs.org/safe-buffer/-/safe-buffer-5.1.1.tgz", + "integrity": "sha512-kKvNJn6Mm93gAczWVJg7wH+wGYWNrDHdWvpUmHyEsgCtIwwo3bqPtV4tR5tuPaUhTOo/kvhVwd8XwwOllGYkbg==" + }, + "string_decoder": { + "version": "1.0.3", + "resolved": "https://registry.npmjs.org/string_decoder/-/string_decoder-1.0.3.tgz", + "integrity": "sha512-4AH6Z5fzNNBcH+6XDMfA/BTt87skxqJlO0lAh3Dker5zThcAxG6mKz+iGu308UKoPPQ8Dcqx/4JhujzltRa+hQ==", + "requires": { + "safe-buffer": "5.1.1" + } } } }, @@ -1522,16 +1401,16 @@ } }, "readable-stream": { - "version": "2.3.5", - "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-2.3.5.tgz", - "integrity": "sha512-tK0yDhrkygt/knjowCUiWP9YdV7c5R+8cR0r/kt9ZhBU906Fs6RpQJCEilamRJj1Nx2rWI6LkW9gKqjTkshhEw==", + "version": "2.3.6", + "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-2.3.6.tgz", + "integrity": "sha512-tQtKA9WIAhBF3+VLAseyMqZeBjW0AHJoxOtYqSUZNJxauErmLbVm2FW1y+J/YA9dUrAC39ITejlZWhVIwawkKw==", "requires": { "core-util-is": "1.0.2", "inherits": "2.0.3", "isarray": "1.0.0", "process-nextick-args": "2.0.0", - "safe-buffer": "5.1.1", - "string_decoder": "1.0.3", + "safe-buffer": "5.1.2", + "string_decoder": "1.1.1", "util-deprecate": "1.0.2" } }, @@ -1572,9 +1451,14 @@ } }, "safe-buffer": { - "version": "5.1.1", - "resolved": "https://registry.npmjs.org/safe-buffer/-/safe-buffer-5.1.1.tgz", - "integrity": "sha512-kKvNJn6Mm93gAczWVJg7wH+wGYWNrDHdWvpUmHyEsgCtIwwo3bqPtV4tR5tuPaUhTOo/kvhVwd8XwwOllGYkbg==" + "version": "5.1.2", + "resolved": "https://registry.npmjs.org/safe-buffer/-/safe-buffer-5.1.2.tgz", + "integrity": "sha512-Gd2UZBJDkXlY7GbJxfsE8/nvKkUEU1G38c1siN6QP6a9PT9MmHB8GnpscSmMJSoF8LOIrt8ud/wPtojys4G6+g==" + }, + "safer-buffer": { + "version": "2.1.2", + "resolved": "https://registry.npmjs.org/safer-buffer/-/safer-buffer-2.1.2.tgz", + "integrity": "sha512-YZo3K82SD7Riyi0E1EQPojLz7kpepnSQI9IyPbHHg1XXXevb5dJI7tpyN2ADxGcQbHG7vcyRHk0cbwqcQriUtg==" }, "sax": { "version": "1.2.1", @@ -1607,11 +1491,11 @@ "integrity": "sha1-VHxws0fo0ytOEI6hoqFZ5f3eGcA=" }, "string_decoder": { - "version": "1.0.3", - "resolved": "https://registry.npmjs.org/string_decoder/-/string_decoder-1.0.3.tgz", - "integrity": "sha512-4AH6Z5fzNNBcH+6XDMfA/BTt87skxqJlO0lAh3Dker5zThcAxG6mKz+iGu308UKoPPQ8Dcqx/4JhujzltRa+hQ==", + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/string_decoder/-/string_decoder-1.1.1.tgz", + "integrity": "sha512-n/ShnvDi6FHbbVfviro+WojiFzv+s8MPMHBczVePfUpDJLwoLT0ht1l4YwBCbi8pJAveEEdnkHyPyTP/mzRfwg==", "requires": { - "safe-buffer": "5.1.1" + "safe-buffer": "5.1.2" } }, "stripe": { @@ -1640,26 +1524,11 @@ "requires": { "babel-runtime": "5.8.38", "big-number": "0.3.1", - "bl": "1.2.1", - "iconv-lite": "0.4.19", - "readable-stream": "2.3.5", + "bl": "1.2.2", + "iconv-lite": "0.4.23", + "readable-stream": "2.3.6", "semver": "5.5.0", "sprintf": "0.1.5" - }, - "dependencies": { - "babel-runtime": { - "version": "5.8.38", - "resolved": "https://registry.npmjs.org/babel-runtime/-/babel-runtime-5.8.38.tgz", - "integrity": "sha1-HAsC62MxL18If/IEUIJ7QlydTBk=", - "requires": { - "core-js": "1.2.7" - } - }, - "core-js": { - "version": "1.2.7", - "resolved": "https://registry.npmjs.org/core-js/-/core-js-1.2.7.tgz", - "integrity": "sha1-ZSKUwUZR2yj6k70tX/KYOk8IxjY=" - } } }, "to-fast-properties": { @@ -1692,9 +1561,9 @@ "integrity": "sha512-jZnMwlb9Iku/O3smGWvZhauCf6cvvpKi4BKRiliS3cxnI+Gz9j5MEpTz2UFuXiKPJocb7gnsLHwiS05ige5BEA==" }, "winston": { - "version": "2.4.1", - "resolved": "https://registry.npmjs.org/winston/-/winston-2.4.1.tgz", - "integrity": "sha512-k/+Dkzd39ZdyJHYkuaYmf4ff+7j+sCIy73UCOWHYA67/WXU+FF/Y6PF28j+Vy7qNRPHWO+dR+/+zkoQWPimPqg==", + "version": "2.4.2", + "resolved": "https://registry.npmjs.org/winston/-/winston-2.4.2.tgz", + "integrity": "sha512-4S/Ad4ZfSNl8OccCLxnJmNISWcm2joa6Q0YGDxlxMzH0fgSwWsjMt+SmlNwCqdpaPg3ev1HKkMBsIiXeSUwpbA==", "requires": { "async": "1.0.0", "colors": "1.0.3", @@ -1718,7 +1587,7 @@ "resolved": "https://registry.npmjs.org/xmlbuilder/-/xmlbuilder-4.2.1.tgz", "integrity": "sha1-qlijBBoGb5DqoWwvU4n/GfP0YaU=", "requires": { - "lodash": "4.17.5" + "lodash": "4.17.10" } } } diff --git a/tools/tests/apps/modules/package.json b/tools/tests/apps/modules/package.json index 9cc7137d3f..685d74c15d 100644 --- a/tools/tests/apps/modules/package.json +++ b/tools/tests/apps/modules/package.json @@ -4,10 +4,10 @@ "description": "Test app exercising many aspects of the Meteor module system.", "private": true, "dependencies": { - "@babel/runtime": "^7.0.0-beta.46", "@babel/core": "^7.0.0-beta.46", "@babel/plugin-proposal-do-expressions": "^7.0.0-beta.46", "@babel/plugin-proposal-optional-chaining": "^7.0.0-beta.46", + "@babel/runtime": "^7.0.0-beta.46", "acorn": "file:imports/links/acorn", "aws-sdk": "^2.2.41", "cli-color": "^0.2.3", @@ -15,7 +15,7 @@ "idle-gc": "^1.0.1", "immutable-tuple": "^0.4.4", "lodash-es": "^4.17.7", - "meteor-node-stubs": "^0.3.2", + "meteor-node-stubs": "^0.4.1", "moment": "2.11.1", "mssql": "^3.1.1", "mysql": "^2.15.0", diff --git a/tools/tests/apps/shell/package.json b/tools/tests/apps/shell/package.json index b8779eebf9..aae54fb39c 100644 --- a/tools/tests/apps/shell/package.json +++ b/tools/tests/apps/shell/package.json @@ -6,6 +6,6 @@ }, "dependencies": { "@babel/runtime": "^7.0.0-beta.46", - "meteor-node-stubs": "^0.3.2" + "meteor-node-stubs": "^0.4.1" } } diff --git a/tools/tests/old/app-with-private/package.json b/tools/tests/old/app-with-private/package.json index 57fe35ac0c..44f909db6c 100644 --- a/tools/tests/old/app-with-private/package.json +++ b/tools/tests/old/app-with-private/package.json @@ -6,6 +6,6 @@ }, "dependencies": { "@babel/runtime": "^7.0.0-beta.46", - "meteor-node-stubs": "^0.3.2" + "meteor-node-stubs": "^0.4.1" } } From f601ec96936d83db5928dc8b5c937174c88ce9be Mon Sep 17 00:00:00 2001 From: Ben Newman Date: Tue, 8 May 2018 13:14:03 -0400 Subject: [PATCH 0847/1355] Bump package versions for 1.7-rc.3 release. --- packages/appcache/package.js | 2 +- packages/babel-compiler/package.js | 2 +- packages/babel-runtime/package.js | 2 +- packages/boilerplate-generator-tests/package.js | 2 +- packages/boilerplate-generator/package.js | 2 +- packages/dynamic-import/package.js | 2 +- packages/ecmascript-runtime-client/package.js | 2 +- packages/ecmascript-runtime-server/package.js | 2 +- packages/ecmascript-runtime/package.js | 2 +- packages/ecmascript/package.js | 2 +- packages/es5-shim/package.js | 2 +- packages/facebook-oauth/package.js | 2 +- packages/meteor-base/package.js | 2 +- packages/meteor-tool/package.js | 2 +- packages/meteor/package.js | 2 +- packages/modern-browsers/package.js | 2 +- packages/modules-runtime/package.js | 2 +- packages/mongo/package.js | 2 +- packages/npm-mongo/package.js | 2 +- packages/promise/package.js | 2 +- packages/socket-stream-client/package.js | 2 +- packages/test-helpers/package.js | 2 +- packages/tracker/package.js | 2 +- packages/webapp/package.js | 2 +- scripts/admin/meteor-release-experimental.json | 2 +- 25 files changed, 25 insertions(+), 25 deletions(-) diff --git a/packages/appcache/package.js b/packages/appcache/package.js index 3466079072..d5db458b1a 100644 --- a/packages/appcache/package.js +++ b/packages/appcache/package.js @@ -1,6 +1,6 @@ Package.describe({ summary: "Enable the application cache in the browser", - version: "1.2.0-rc17.2", + version: "1.2.0-rc17.3", }); Package.onUse(api => { diff --git a/packages/babel-compiler/package.js b/packages/babel-compiler/package.js index 77642200ba..421818fcb1 100644 --- a/packages/babel-compiler/package.js +++ b/packages/babel-compiler/package.js @@ -6,7 +6,7 @@ Package.describe({ // isn't possible because you can't publish a non-recommended // release with package versions that don't have a pre-release // identifier at the end (eg, -dev) - version: '7.1.0-rc17.2' + version: '7.1.0-rc17.3' }); Npm.depends({ diff --git a/packages/babel-runtime/package.js b/packages/babel-runtime/package.js index e427c23b31..a153f5482e 100644 --- a/packages/babel-runtime/package.js +++ b/packages/babel-runtime/package.js @@ -1,7 +1,7 @@ Package.describe({ name: "babel-runtime", summary: "Runtime support for output of Babel transpiler", - version: '1.3.0-rc17.2', + version: '1.3.0-rc17.3', documentation: 'README.md' }); diff --git a/packages/boilerplate-generator-tests/package.js b/packages/boilerplate-generator-tests/package.js index f9646ead52..4337f1102e 100644 --- a/packages/boilerplate-generator-tests/package.js +++ b/packages/boilerplate-generator-tests/package.js @@ -2,7 +2,7 @@ Package.describe({ // These tests are in a separate package so that we can Npm.depend on // parse5, a html parsing library. summary: "Tests for the boilerplate-generator package", - version: '1.5.0-rc17.2', + version: '1.5.0-rc17.3', documentation: null }); diff --git a/packages/boilerplate-generator/package.js b/packages/boilerplate-generator/package.js index 252ed04d54..7b4fde306e 100644 --- a/packages/boilerplate-generator/package.js +++ b/packages/boilerplate-generator/package.js @@ -1,6 +1,6 @@ Package.describe({ summary: "Generates the boilerplate html from program's manifest", - version: '1.5.0-rc17.2' + version: '1.5.0-rc17.3' }); Npm.depends({ diff --git a/packages/dynamic-import/package.js b/packages/dynamic-import/package.js index 3ba9a7b277..46ea76c719 100644 --- a/packages/dynamic-import/package.js +++ b/packages/dynamic-import/package.js @@ -1,6 +1,6 @@ Package.describe({ name: "dynamic-import", - version: "0.4.0-rc17.2", + version: "0.4.0-rc17.3", summary: "Runtime support for Meteor 1.5 dynamic import(...) syntax", documentation: "README.md" }); diff --git a/packages/ecmascript-runtime-client/package.js b/packages/ecmascript-runtime-client/package.js index 9b909804ce..49f7b4f12e 100644 --- a/packages/ecmascript-runtime-client/package.js +++ b/packages/ecmascript-runtime-client/package.js @@ -1,6 +1,6 @@ Package.describe({ name: "ecmascript-runtime-client", - version: "0.7.0-rc17.2", + version: "0.7.0-rc17.3", summary: "Polyfills for new ECMAScript 2015 APIs like Map and Set", git: "https://github.com/meteor/meteor/tree/devel/packages/ecmascript-runtime-client", documentation: "README.md" diff --git a/packages/ecmascript-runtime-server/package.js b/packages/ecmascript-runtime-server/package.js index b1af37b4bb..aabb624161 100644 --- a/packages/ecmascript-runtime-server/package.js +++ b/packages/ecmascript-runtime-server/package.js @@ -1,6 +1,6 @@ Package.describe({ name: "ecmascript-runtime-server", - version: "0.7.0-rc17.2", + version: "0.7.0-rc17.3", summary: "Polyfills for new ECMAScript 2015 APIs like Map and Set", git: "https://github.com/meteor/meteor/tree/devel/packages/ecmascript-runtime-client", documentation: "README.md" diff --git a/packages/ecmascript-runtime/package.js b/packages/ecmascript-runtime/package.js index 97a77c3abd..64433d01d0 100644 --- a/packages/ecmascript-runtime/package.js +++ b/packages/ecmascript-runtime/package.js @@ -1,6 +1,6 @@ Package.describe({ name: "ecmascript-runtime", - version: "0.7.0-rc17.2", + version: "0.7.0-rc17.3", summary: "Polyfills for new ECMAScript 2015 APIs like Map and Set", git: "https://github.com/meteor/ecmascript-runtime", documentation: "README.md" diff --git a/packages/ecmascript/package.js b/packages/ecmascript/package.js index 906fe3b8d2..732910e64e 100644 --- a/packages/ecmascript/package.js +++ b/packages/ecmascript/package.js @@ -1,6 +1,6 @@ Package.describe({ name: 'ecmascript', - version: '0.11.0-rc17.2', + version: '0.11.0-rc17.3', summary: 'Compiler plugin that supports ES2015+ in all .js files', documentation: 'README.md' }); diff --git a/packages/es5-shim/package.js b/packages/es5-shim/package.js index 7045ae16cb..0878c552ed 100644 --- a/packages/es5-shim/package.js +++ b/packages/es5-shim/package.js @@ -1,6 +1,6 @@ Package.describe({ name: "es5-shim", - version: "4.8.0-rc17.2", + version: "4.8.0-rc17.3", summary: "Shims and polyfills to improve ECMAScript 5 support", documentation: "README.md" }); diff --git a/packages/facebook-oauth/package.js b/packages/facebook-oauth/package.js index 70191918a0..52297a8488 100644 --- a/packages/facebook-oauth/package.js +++ b/packages/facebook-oauth/package.js @@ -1,6 +1,6 @@ Package.describe({ summary: "Facebook OAuth flow", - version: "1.5.0-rc17.2" + version: "1.5.0-rc17.3" }); Package.onUse(function(api) { diff --git a/packages/meteor-base/package.js b/packages/meteor-base/package.js index 167ab5d3da..66b1364d65 100644 --- a/packages/meteor-base/package.js +++ b/packages/meteor-base/package.js @@ -1,6 +1,6 @@ Package.describe({ name: 'meteor-base', - version: '1.4.0-rc17.2', + version: '1.4.0-rc17.3', // Brief, one-line summary of the package. summary: 'Packages that every Meteor app needs', // By default, Meteor will default to using README.md for documentation. diff --git a/packages/meteor-tool/package.js b/packages/meteor-tool/package.js index be4062ec9a..d880b55bc2 100644 --- a/packages/meteor-tool/package.js +++ b/packages/meteor-tool/package.js @@ -1,6 +1,6 @@ Package.describe({ summary: "The Meteor command-line tool", - version: '1.7.0-rc.2' + version: '1.7.0-rc.3' }); Package.includeTool(); diff --git a/packages/meteor/package.js b/packages/meteor/package.js index bcda12ccdb..52a9d1e7ad 100644 --- a/packages/meteor/package.js +++ b/packages/meteor/package.js @@ -2,7 +2,7 @@ Package.describe({ summary: "Core Meteor environment", - version: '1.9.0-rc17.2' + version: '1.9.0-rc17.3' }); Package.registerBuildPlugin({ diff --git a/packages/modern-browsers/package.js b/packages/modern-browsers/package.js index a28a822cb6..2cda792ca3 100644 --- a/packages/modern-browsers/package.js +++ b/packages/modern-browsers/package.js @@ -1,6 +1,6 @@ Package.describe({ name: "modern-browsers", - version: "0.1.0-rc17.2", + version: "0.1.0-rc17.3", summary: "API for defining the boundary between modern and legacy " + "JavaScript clients", documentation: "README.md" diff --git a/packages/modules-runtime/package.js b/packages/modules-runtime/package.js index 5f1c9ebf7a..0688c60aa1 100644 --- a/packages/modules-runtime/package.js +++ b/packages/modules-runtime/package.js @@ -1,6 +1,6 @@ Package.describe({ name: "modules-runtime", - version: "0.10.0-rc17.2", + version: "0.10.0-rc17.3", summary: "CommonJS module system", git: "https://github.com/benjamn/install", documentation: "README.md" diff --git a/packages/mongo/package.js b/packages/mongo/package.js index 024fd3d928..d3c2ad662d 100644 --- a/packages/mongo/package.js +++ b/packages/mongo/package.js @@ -9,7 +9,7 @@ Package.describe({ summary: "Adaptor for using MongoDB and Minimongo over DDP", - version: '1.5.0-rc17.2' + version: '1.5.0-rc17.3' }); Npm.depends({ diff --git a/packages/npm-mongo/package.js b/packages/npm-mongo/package.js index f0266daf8f..665125128d 100644 --- a/packages/npm-mongo/package.js +++ b/packages/npm-mongo/package.js @@ -3,7 +3,7 @@ Package.describe({ summary: "Wrapper around the mongo npm package", - version: "3.0.7-rc17.2", + version: "3.0.7-rc17.3", documentation: null }); diff --git a/packages/promise/package.js b/packages/promise/package.js index d1c168c88e..e153164d89 100644 --- a/packages/promise/package.js +++ b/packages/promise/package.js @@ -1,6 +1,6 @@ Package.describe({ name: "promise", - version: "0.11.0-rc17.2", + version: "0.11.0-rc17.3", summary: "ECMAScript 2015 Promise polyfill with Fiber support", git: "https://github.com/meteor/promise", documentation: "README.md" diff --git a/packages/socket-stream-client/package.js b/packages/socket-stream-client/package.js index 7075248495..47c4a55296 100644 --- a/packages/socket-stream-client/package.js +++ b/packages/socket-stream-client/package.js @@ -1,6 +1,6 @@ Package.describe({ name: "socket-stream-client", - version: "0.2.0-rc17.2", + version: "0.2.0-rc17.3", summary: "Provides the ClientStream abstraction used by ddp-client", documentation: "README.md" }); diff --git a/packages/test-helpers/package.js b/packages/test-helpers/package.js index 697fc96bdc..c3b2157531 100644 --- a/packages/test-helpers/package.js +++ b/packages/test-helpers/package.js @@ -1,6 +1,6 @@ Package.describe({ summary: "Utility functions for tests", - version: '1.1.0-rc17.2' + version: '1.1.0-rc17.3' }); Package.onUse(function (api) { diff --git a/packages/tracker/package.js b/packages/tracker/package.js index afed4d2f32..4b07d0b183 100644 --- a/packages/tracker/package.js +++ b/packages/tracker/package.js @@ -1,6 +1,6 @@ Package.describe({ summary: "Dependency tracker to allow reactive callbacks", - version: "1.2.0-rc17.2" + version: "1.2.0-rc17.3" }); Package.onUse(function (api) { diff --git a/packages/webapp/package.js b/packages/webapp/package.js index 6efa272864..afc32c0852 100644 --- a/packages/webapp/package.js +++ b/packages/webapp/package.js @@ -1,6 +1,6 @@ Package.describe({ summary: "Serves a Meteor app over HTTP", - version: '1.6.0-rc17.2' + version: '1.6.0-rc17.3' }); Npm.depends({"basic-auth-connect": "1.0.0", diff --git a/scripts/admin/meteor-release-experimental.json b/scripts/admin/meteor-release-experimental.json index 3e710ab229..1820472700 100644 --- a/scripts/admin/meteor-release-experimental.json +++ b/scripts/admin/meteor-release-experimental.json @@ -1,6 +1,6 @@ { "track": "METEOR", - "version": "1.7-rc.2", + "version": "1.7-rc.3", "recommended": false, "official": false, "description": "Meteor" From faa08fd5a629a6a05d96e7edc30b9240459a4a59 Mon Sep 17 00:00:00 2001 From: Ben Newman Date: Tue, 8 May 2018 18:50:11 -0400 Subject: [PATCH 0848/1355] Cache previous inferExtraBabelOptions work. TODO This should be optimistically cached across invocations of BabelCompiler#processFilesForTarget. --- packages/babel-compiler/babel-compiler.js | 111 +++++++++++++--------- 1 file changed, 65 insertions(+), 46 deletions(-) diff --git a/packages/babel-compiler/babel-compiler.js b/packages/babel-compiler/babel-compiler.js index 2e4bedd55a..a885a58579 100644 --- a/packages/babel-compiler/babel-compiler.js +++ b/packages/babel-compiler/babel-compiler.js @@ -173,57 +173,64 @@ BCp._inferFromBabelRc = function (inputFile, babelOptions, cacheDeps) { if (babelrcPath) { if (! hasOwn.call(this._babelrcCache, babelrcPath)) { try { - this._babelrcCache[babelrcPath] = - JSON.parse(inputFile.readAndWatchFile(babelrcPath)); + this._babelrcCache[babelrcPath] = { + controlFilePath: babelrcPath, + controlFileData: JSON.parse( + inputFile.readAndWatchFile(babelrcPath)), + deps: Object.create(null), + }; } catch (e) { if (e instanceof SyntaxError) { e.message = ".babelrc is not a valid JSON file: " + e.message; } - throw e; } } - return this._inferHelper( - inputFile, - babelOptions, - babelrcPath, - this._babelrcCache[babelrcPath], - cacheDeps - ); + const cacheEntry = this._babelrcCache[babelrcPath]; + + if (this._inferHelper(inputFile, cacheEntry)) { + merge(babelOptions, cacheEntry, "presets"); + merge(babelOptions, cacheEntry, "plugins"); + Object.assign(cacheDeps, cacheEntry.deps); + return true; + } } }; BCp._inferFromPackageJson = function (inputFile, babelOptions, cacheDeps) { var pkgJsonPath = inputFile.findControlFile("package.json"); if (pkgJsonPath) { - if (! hasOwn.call(this._babelrcCache, pkgJsonPath)) { - this._babelrcCache[pkgJsonPath] = JSON.parse( - inputFile.readAndWatchFile(pkgJsonPath) - ).babel || null; - } + const cacheEntry = hasOwn.call(this._babelrcCache, pkgJsonPath) + ? this._babelrcCache[pkgJsonPath] + : this._babelrcCache[pkgJsonPath] = { + controlFilePath: pkgJsonPath, + controlFileData: JSON.parse( + inputFile.readAndWatchFile(pkgJsonPath) + ).babel || null, + deps: Object.create(null), + }; - return this._inferHelper( - inputFile, - babelOptions, - pkgJsonPath, - this._babelrcCache[pkgJsonPath], - cacheDeps - ); + if (this._inferHelper(inputFile, cacheEntry)) { + merge(babelOptions, cacheEntry, "presets"); + merge(babelOptions, cacheEntry, "plugins"); + Object.assign(cacheDeps, cacheEntry.deps); + return true; + } } }; -BCp._inferHelper = function ( - inputFile, - babelOptions, - controlFilePath, - babelrc, - cacheDeps -) { - if (! babelrc) { +BCp._inferHelper = function (inputFile, cacheEntry) { + if (! cacheEntry.controlFileData) { return false; } + if (hasOwn.call(cacheEntry, "finalInferHelperResult")) { + // We've already run _inferHelper and populated + // cacheEntry.{presets,plugins}, so we can return early here. + return cacheEntry.finalInferHelperResult; + } + var compiler = this; function walkBabelRC(obj, path) { @@ -284,7 +291,7 @@ BCp._inferHelper = function ( // The value is a string that we need to require. const result = requireWithPath(value, path); if (result && result.module) { - cacheDeps[result.name] = result.version; + cacheEntry.deps[result.name] = result.version; return walkBabelRC(result.module, path); } @@ -310,20 +317,23 @@ BCp._inferHelper = function ( prefixes.push(""); try { - return requireWithPrefixes(inputFile, id, prefixes, controlFilePath); + return requireWithPrefixes( + inputFile, id, prefixes, + cacheEntry.controlFilePath + ); } catch (e) { if (e.code !== "MODULE_NOT_FOUND") { throw e; } if (! hasOwn.call(compiler._babelrcWarnings, id)) { - compiler._babelrcWarnings[id] = controlFilePath; + compiler._babelrcWarnings[id] = cacheEntry.controlFilePath; console.error( "Warning: unable to resolve " + JSON.stringify(id) + " in " + path.join(".") + - " of " + controlFilePath + ", due to:" + " of " + cacheEntry.controlFilePath + ", due to:" ); console.error(e.stack || e); @@ -333,26 +343,29 @@ BCp._inferHelper = function ( } } - const clean = walkBabelRC(babelrc); - merge(babelOptions, clean, "presets"); - merge(babelOptions, clean, "plugins"); + const { controlFileData } = cacheEntry; + const clean = walkBabelRC(controlFileData); + merge(cacheEntry, clean, "presets"); + merge(cacheEntry, clean, "plugins"); - if (babelrc && babelrc.env) { + if (controlFileData && + controlFileData.env) { const envKey = process.env.BABEL_ENV || process.env.NODE_ENV || "development"; - const clean = walkBabelRC(babelrc.env[envKey]); + const clean = walkBabelRC(controlFileData.env[envKey]); if (clean) { - merge(babelOptions, clean, "presets"); - merge(babelOptions, clean, "plugins"); + merge(cacheEntry, clean, "presets"); + merge(cacheEntry, clean, "plugins"); } } - return !! (babelOptions.presets || - babelOptions.plugins); + return cacheEntry.finalInferHelperResult = + !! (cacheEntry.presets || + cacheEntry.plugins); }; function merge(babelOptions, babelrc, name) { @@ -376,12 +389,14 @@ function requireWithPrefixes(inputFile, id, prefixes, controlFilePath) { // Call inputFile.resolve here rather than inputFile.require so // that the import doesn't fail due to missing transitive // dependencies imported by the preset or plugin. - if (inputFile.resolve(prefix + id)) { + if (inputFile.resolve(prefix + id, controlFilePath)) { presetOrPluginId = prefix + id; } presetOrPluginMeta = inputFile.require( - packageNameFromTopLevelModuleId(prefix + id) + "/package.json"); + packageNameFromTopLevelModuleId(prefix + id) + "/package.json", + controlFilePath + ); return true; @@ -406,7 +421,11 @@ function requireWithPrefixes(inputFile, id, prefixes, controlFilePath) { // to compile application code the same way Meteor does. return null; } - presetOrPlugin = inputFile.require(presetOrPluginId); + + presetOrPlugin = inputFile.require( + presetOrPluginId, + controlFilePath + ); } } else { From b8ee3d01abdfb945085cff3cf7669e1a7e5deb14 Mon Sep 17 00:00:00 2001 From: Ben Newman Date: Wed, 9 May 2018 12:56:07 -0400 Subject: [PATCH 0849/1355] Stop setting a global Babel cache directory. Instead, the cache directory is provided as part of the third argument to Babel.compile, which means we can set the cache directory per instance of BabelCompiler in BabelCompiler#setCacheDir. This became a problem because coffeescript was calling the setCacheDir method of its own instance of BabelCompiler, which was racing with the setCacheDir call for the ecmascript package: https://github.com/meteor/meteor/blob/f601ec96936d83db5928dc8b5c937174c88ce9be/packages/non-core/coffeescript/compile-coffeescript.js#L27 --- History.md | 2 +- .../.npm/package/npm-shrinkwrap.json | 48 +++++++++---------- packages/babel-compiler/babel-compiler.js | 6 ++- packages/babel-compiler/babel.js | 6 ++- packages/babel-compiler/package.js | 2 +- scripts/dev-bundle-tool-package.js | 2 +- 6 files changed, 34 insertions(+), 32 deletions(-) diff --git a/History.md b/History.md index 292f8354e0..226a8092cf 100644 --- a/History.md +++ b/History.md @@ -212,7 +212,7 @@ want to run. [PR #9714](https://github.com/meteor/meteor/pull/9714) * The `meteor-babel` npm package has been updated to version - 7.0.0-beta.46-1. + 7.0.0-beta.46-3. * The `reify` npm package has been updated to version 0.15.1. diff --git a/packages/babel-compiler/.npm/package/npm-shrinkwrap.json b/packages/babel-compiler/.npm/package/npm-shrinkwrap.json index dbb5ea80db..feed085e84 100644 --- a/packages/babel-compiler/.npm/package/npm-shrinkwrap.json +++ b/packages/babel-compiler/.npm/package/npm-shrinkwrap.json @@ -547,9 +547,9 @@ "integrity": "sha1-ms1whRxtXf3ZPZKC5e35SgP/RrU=" }, "core-js": { - "version": "2.5.5", - "resolved": "https://registry.npmjs.org/core-js/-/core-js-2.5.5.tgz", - "integrity": "sha1-sU3ek2xkDAV5prUMq8wTLdYSfjs=" + "version": "2.5.6", + "resolved": "https://registry.npmjs.org/core-js/-/core-js-2.5.6.tgz", + "integrity": "sha512-lQUVfQi0aLix2xpyjrrJEvfuYCqPc/HwmTKsC/VNf8q0zsjX7SQZtp4+oRONN5Tsur9GDETPjj+Ub2iDiGZfSQ==" }, "debug": { "version": "3.1.0", @@ -587,9 +587,9 @@ "integrity": "sha1-wcS5vuPglyXdsQa3XB4wH+LxiyY=" }, "fill-range": { - "version": "2.2.3", - "resolved": "https://registry.npmjs.org/fill-range/-/fill-range-2.2.3.tgz", - "integrity": "sha1-ULd9/X5Gm8dJJHCWNpn+eoSFpyM=" + "version": "2.2.4", + "resolved": "https://registry.npmjs.org/fill-range/-/fill-range-2.2.4.tgz", + "integrity": "sha512-cnrcCbj01+j2gTG921VZPnHbjmdAf8oQV/iGeV2kZxGSyfYjjTyY79ErsK1WJWMpw6DaApEX72binqJE+/d+5Q==" }, "for-in": { "version": "1.0.2", @@ -721,10 +721,15 @@ "resolved": "https://registry.npmjs.org/loose-envify/-/loose-envify-1.3.1.tgz", "integrity": "sha1-0aitM/qc4OcT1l/dCsi3SNR4yEg=" }, + "math-random": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/math-random/-/math-random-1.0.1.tgz", + "integrity": "sha1-izqsWIuKZuSXXjzepn97sylgH6w=" + }, "meteor-babel": { - "version": "7.0.0-beta.46-1", - "resolved": "https://registry.npmjs.org/meteor-babel/-/meteor-babel-7.0.0-beta.46-1.tgz", - "integrity": "sha512-8Ou2IFnXBioiHf5RS4zvfO7evn6+0mimejh+R+dkY9jlYI9rgspIfUR6Uw5VHazw6pD73dxtD/IuNXFMyUcFdQ==" + "version": "7.0.0-beta.46-3", + "resolved": "https://registry.npmjs.org/meteor-babel/-/meteor-babel-7.0.0-beta.46-3.tgz", + "integrity": "sha512-SMFF1PGMXDV8UvqdU90dO1FiSbPPaVYVZ5vPb4krKBTSjq2m0/tvSUwN/g+LaZYRbu7QIj6baUCXkW76xYTExw==" }, "meteor-babel-helpers": { "version": "0.0.3", @@ -772,26 +777,19 @@ "integrity": "sha512-VvivMrbvd2nKkiG38qjULzlc+4Vx4wm/whI9pQD35YrARNnhxeiRktSOhSukRLFNlzg6Br/cJPet5J/u19r/mg==" }, "randomatic": { - "version": "1.1.7", - "resolved": "https://registry.npmjs.org/randomatic/-/randomatic-1.1.7.tgz", - "integrity": "sha512-D5JUjPyJbaJDkuAazpVnSfVkLlpeO3wDlPROTMLGKG1zMFNFRgrciKo1ltz/AzNTkqE0HzDx655QOL51N06how==", + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/randomatic/-/randomatic-3.0.0.tgz", + "integrity": "sha512-VdxFOIEY3mNO5PtSRkkle/hPJDHvQhK21oa73K4yAc9qmp6N429gAyF1gZMOTMeS0/AYzaV/2Trcef+NaIonSA==", "dependencies": { "is-number": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/is-number/-/is-number-3.0.0.tgz", - "integrity": "sha1-JP1iAaR4LPUFYcgQJ2r8fRLXEZU=", - "dependencies": { - "kind-of": { - "version": "3.2.2", - "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-3.2.2.tgz", - "integrity": "sha1-MeohpzS6ubuw8yRm2JOupR5KPGQ=" - } - } + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/is-number/-/is-number-4.0.0.tgz", + "integrity": "sha512-rSklcAIlf1OmFdyAqbnWTLVelsQ58uvZ66S/ZyawjWqIviTWCjg2PzVGw8WUA+nNuPTqb4wgA+NszrJ+08LlgQ==" }, "kind-of": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-4.0.0.tgz", - "integrity": "sha1-IIE989cSkosgc3hpGkUGb65y3Vc=" + "version": "6.0.2", + "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-6.0.2.tgz", + "integrity": "sha512-s5kLOcnH0XqDO+FvuaLX8DDjZ18CGFk7VygH40QoKPUQhW4e2rvM0rwUq0t8IQDOwYSeLK01U90OjzBTme2QqA==" } } }, diff --git a/packages/babel-compiler/babel-compiler.js b/packages/babel-compiler/babel-compiler.js index a885a58579..3e0b194a69 100644 --- a/packages/babel-compiler/babel-compiler.js +++ b/packages/babel-compiler/babel-compiler.js @@ -9,6 +9,7 @@ BabelCompiler = function BabelCompiler(extraFeatures) { this.extraFeatures = extraFeatures; this._babelrcCache = null; this._babelrcWarnings = Object.create(null); + this.cacheDirectory = null; }; var BCp = BabelCompiler.prototype; @@ -56,7 +57,8 @@ BCp.processOneFileForTarget = function (inputFile, source) { bare: !! fileOptions.bare }; var cacheDeps = { - sourceHash: toBeAdded.hash + sourceHash: toBeAdded.hash, + cacheDirectory: this.cacheDirectory }; // If you need to exclude a specific file within a package from Babel @@ -143,7 +145,7 @@ BCp.processOneFileForTarget = function (inputFile, source) { }; BCp.setDiskCacheDirectory = function (cacheDir) { - Babel.setCacheDir(cacheDir); + this.cacheDirectory = cacheDir; }; function profile(name, func) { diff --git a/packages/babel-compiler/babel.js b/packages/babel-compiler/babel.js index f95a52c9c0..f3e71df5c7 100644 --- a/packages/babel-compiler/babel.js +++ b/packages/babel-compiler/babel.js @@ -28,11 +28,13 @@ Babel = { return getMeteorBabel().parse(source); }, - compile: function (source, options) { + compile: function (source, options, cacheDeps) { options = options || getDefaultOptions(); - return getMeteorBabel().compile(source, options); + return getMeteorBabel().compile(source, options, cacheDeps); }, + // This method is deprecated in favor of passing + // cacheDeps.cacheDirectory to Babel.compile (see above). setCacheDir: function (cacheDir) { getMeteorBabel().setCacheDir(cacheDir); }, diff --git a/packages/babel-compiler/package.js b/packages/babel-compiler/package.js index 421818fcb1..1b294eb204 100644 --- a/packages/babel-compiler/package.js +++ b/packages/babel-compiler/package.js @@ -10,7 +10,7 @@ Package.describe({ }); Npm.depends({ - 'meteor-babel': '7.0.0-beta.46-1' + 'meteor-babel': '7.0.0-beta.46-3' }); Package.onUse(function (api) { diff --git a/scripts/dev-bundle-tool-package.js b/scripts/dev-bundle-tool-package.js index bb82403c6e..ff1bf4b56c 100644 --- a/scripts/dev-bundle-tool-package.js +++ b/scripts/dev-bundle-tool-package.js @@ -14,7 +14,7 @@ var packageJson = { pacote: "https://github.com/meteor/pacote/tarball/2c16c509074bbba8ca5dd410caf808412ce79e6c", "node-gyp": "3.6.2", "node-pre-gyp": "0.6.36", - "meteor-babel": "7.0.0-beta.46-1", + "meteor-babel": "7.0.0-beta.46-3", "meteor-promise": "0.8.6", promise: "8.0.1", reify: "0.15.1", From 7a2e492b6c7857b7d705cc9024266dbb6f16456e Mon Sep 17 00:00:00 2001 From: Ben Newman Date: Wed, 9 May 2018 13:04:50 -0400 Subject: [PATCH 0850/1355] Use a custom build of Node 8.11.2 for Mac and Linux. --- scripts/build-dev-bundle-common.sh | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/scripts/build-dev-bundle-common.sh b/scripts/build-dev-bundle-common.sh index 349d66a852..d679569e3b 100644 --- a/scripts/build-dev-bundle-common.sh +++ b/scripts/build-dev-bundle-common.sh @@ -5,13 +5,13 @@ set -u UNAME=$(uname) ARCH=$(uname -m) -NODE_VERSION=8.11.2-rc.1 +NODE_VERSION=8.11.2 MONGO_VERSION_64BIT=3.6.4 MONGO_VERSION_32BIT=3.2.19 NPM_VERSION=5.8.0 # If we built Node from source on Jenkins, this is the build number. -NODE_BUILD_NUMBER= +NODE_BUILD_NUMBER=133 if [ "$UNAME" == "Linux" ] ; then if [ "$ARCH" != "i686" -a "$ARCH" != "x86_64" ] ; then From c54c2660bd641e80d5162ee31a0d28140af4a3be Mon Sep 17 00:00:00 2001 From: Ben Newman Date: Wed, 9 May 2018 13:05:29 -0400 Subject: [PATCH 0851/1355] Bump $BUNDLE_VERSION to 8.11.2.2 before rebuilding dev bundle. That is, instead of using the official 8.11.2-rc.1 release candidate. Note that we're still using 8.11.1 on Windows, since the official RC has a bad process.release.headersUrl. --- meteor | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/meteor b/meteor index fec5b6e68b..930c607ee3 100755 --- a/meteor +++ b/meteor @@ -1,6 +1,6 @@ #!/usr/bin/env bash -BUNDLE_VERSION=8.11.2.1 +BUNDLE_VERSION=8.11.2.2 # OS Check. Put here because here is where we download the precompiled # bundles that are arch specific. From 40d408e4fb3dc05abf0b14da5b9f41cc5e89d58e Mon Sep 17 00:00:00 2001 From: Ben Newman Date: Wed, 9 May 2018 13:30:18 -0400 Subject: [PATCH 0852/1355] Revert "Use a custom build of Node 8.11.2 for Mac and Linux." This reverts commit 7a2e492b6c7857b7d705cc9024266dbb6f16456e. The custom build had a Node version of 8.11.2-nightly1525879461436bd3e42eb10ddd15a9fc1ed225d49c87ad7214 instead of 8.11.2, which is not something that I want Galaxy (or any other hosting service) to have to understand. --- scripts/build-dev-bundle-common.sh | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/scripts/build-dev-bundle-common.sh b/scripts/build-dev-bundle-common.sh index d679569e3b..349d66a852 100644 --- a/scripts/build-dev-bundle-common.sh +++ b/scripts/build-dev-bundle-common.sh @@ -5,13 +5,13 @@ set -u UNAME=$(uname) ARCH=$(uname -m) -NODE_VERSION=8.11.2 +NODE_VERSION=8.11.2-rc.1 MONGO_VERSION_64BIT=3.6.4 MONGO_VERSION_32BIT=3.2.19 NPM_VERSION=5.8.0 # If we built Node from source on Jenkins, this is the build number. -NODE_BUILD_NUMBER=133 +NODE_BUILD_NUMBER= if [ "$UNAME" == "Linux" ] ; then if [ "$ARCH" != "i686" -a "$ARCH" != "x86_64" ] ; then From 210a09f5e4f3168cc15c9d6d1e143c8f0949db20 Mon Sep 17 00:00:00 2001 From: Ben Newman Date: Wed, 9 May 2018 16:02:46 -0400 Subject: [PATCH 0853/1355] Bump $BUNDLE_VERSION to 8.11.2.3 before rebuilding dev bundle. --- meteor | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/meteor b/meteor index 930c607ee3..83c7334533 100755 --- a/meteor +++ b/meteor @@ -1,6 +1,6 @@ #!/usr/bin/env bash -BUNDLE_VERSION=8.11.2.2 +BUNDLE_VERSION=8.11.2.3 # OS Check. Put here because here is where we download the precompiled # bundles that are arch specific. From a8b6accb118e4fa3b99e8e1fec07e2fdc0fc3b6e Mon Sep 17 00:00:00 2001 From: Ben Newman Date: Wed, 9 May 2018 16:03:48 -0400 Subject: [PATCH 0854/1355] Set .babel-cache directory correctly for command-line tool. This depends on new functionality in meteor-babel@7.0.0-beta.46-3: https://github.com/meteor/babel/commit/d5d2bbf81ed92db17822bf77e65ec2d6cba921f7 https://github.com/meteor/babel/commit/dea6465dafa5ba74a54334291d94d8b0d1022eda --- tools/isobuild/isopack.js | 13 ++++++++----- tools/tool-env/install-babel.js | 3 +-- 2 files changed, 9 insertions(+), 7 deletions(-) diff --git a/tools/isobuild/isopack.js b/tools/isobuild/isopack.js index 1fce62d140..e8526ee72e 100644 --- a/tools/isobuild/isopack.js +++ b/tools/isobuild/isopack.js @@ -1447,10 +1447,11 @@ _.extend(Isopack.prototype, { // Transpile the files we selected var babel = require("meteor-babel"); pathsToTranspile.forEach((path) => { - var fullPath = files.convertToOSPath( - files.pathJoin(files.getCurrentToolsDir(), path)); - - var inputFileContents = files.readFile(fullPath, "utf-8"); + const toolsDir = files.getCurrentToolsDir(); + const fullPath = files.convertToOSPath(files.pathJoin(toolsDir, path)); + let inputFileContents = files.readFile(fullPath, "utf-8"); + const babelCacheDirectory = + files.pathJoin(files.pathDirname(toolsDir), ".babel-cache"); // #RemoveInProd // We don't actually want to load the babel auto-transpiler when we are @@ -1471,7 +1472,9 @@ _.extend(Isopack.prototype, { sourceMap: true }); - var transpiled = babel.compile(inputFileContents, babelOptions); + var transpiled = babel.compile(inputFileContents, babelOptions, { + cacheDirectory: babelCacheDirectory, + }); var sourceMapUrlComment = "//# sourceMappingURL=" + files.pathBasename(path + ".map"); diff --git a/tools/tool-env/install-babel.js b/tools/tool-env/install-babel.js index fdd0a2452a..e91012dd1e 100644 --- a/tools/tool-env/install-babel.js +++ b/tools/tool-env/install-babel.js @@ -17,9 +17,8 @@ function babelRegister() { // meteor/tools modules. babelOptions.sourceMap = "inline"; - meteorBabel.setCacheDir(cacheDir); - require('meteor-babel/register') + .setCacheDirectory(cacheDir) .allowDirectory(toolsPath) .setSourceMapRootPath(meteorPath) .setBabelOptions(babelOptions); From 84c5667f7f0ee3219232850de4a9fd9f10f20f5e Mon Sep 17 00:00:00 2001 From: Ben Newman Date: Wed, 9 May 2018 16:39:37 -0400 Subject: [PATCH 0855/1355] Bump package versions for 1.7-rc.4 release. --- packages/appcache/package.js | 2 +- packages/babel-compiler/package.js | 2 +- packages/babel-runtime/package.js | 2 +- packages/boilerplate-generator-tests/package.js | 2 +- packages/boilerplate-generator/package.js | 2 +- packages/dynamic-import/package.js | 2 +- packages/ecmascript-runtime-client/package.js | 2 +- packages/ecmascript-runtime-server/package.js | 2 +- packages/ecmascript-runtime/package.js | 2 +- packages/ecmascript/package.js | 2 +- packages/es5-shim/package.js | 2 +- packages/facebook-oauth/package.js | 2 +- packages/meteor-base/package.js | 2 +- packages/meteor-tool/package.js | 2 +- packages/meteor/package.js | 2 +- packages/modern-browsers/package.js | 2 +- packages/modules-runtime/package.js | 2 +- packages/mongo/package.js | 2 +- packages/npm-mongo/package.js | 2 +- packages/promise/package.js | 2 +- packages/socket-stream-client/package.js | 2 +- packages/test-helpers/package.js | 2 +- packages/tracker/package.js | 2 +- packages/webapp/package.js | 2 +- scripts/admin/meteor-release-experimental.json | 2 +- 25 files changed, 25 insertions(+), 25 deletions(-) diff --git a/packages/appcache/package.js b/packages/appcache/package.js index d5db458b1a..cfa1941eab 100644 --- a/packages/appcache/package.js +++ b/packages/appcache/package.js @@ -1,6 +1,6 @@ Package.describe({ summary: "Enable the application cache in the browser", - version: "1.2.0-rc17.3", + version: "1.2.0-rc17.4", }); Package.onUse(api => { diff --git a/packages/babel-compiler/package.js b/packages/babel-compiler/package.js index 1b294eb204..293f59384a 100644 --- a/packages/babel-compiler/package.js +++ b/packages/babel-compiler/package.js @@ -6,7 +6,7 @@ Package.describe({ // isn't possible because you can't publish a non-recommended // release with package versions that don't have a pre-release // identifier at the end (eg, -dev) - version: '7.1.0-rc17.3' + version: '7.1.0-rc17.4' }); Npm.depends({ diff --git a/packages/babel-runtime/package.js b/packages/babel-runtime/package.js index a153f5482e..d0ab1ef9f6 100644 --- a/packages/babel-runtime/package.js +++ b/packages/babel-runtime/package.js @@ -1,7 +1,7 @@ Package.describe({ name: "babel-runtime", summary: "Runtime support for output of Babel transpiler", - version: '1.3.0-rc17.3', + version: '1.3.0-rc17.4', documentation: 'README.md' }); diff --git a/packages/boilerplate-generator-tests/package.js b/packages/boilerplate-generator-tests/package.js index 4337f1102e..5d5bbad17b 100644 --- a/packages/boilerplate-generator-tests/package.js +++ b/packages/boilerplate-generator-tests/package.js @@ -2,7 +2,7 @@ Package.describe({ // These tests are in a separate package so that we can Npm.depend on // parse5, a html parsing library. summary: "Tests for the boilerplate-generator package", - version: '1.5.0-rc17.3', + version: '1.5.0-rc17.4', documentation: null }); diff --git a/packages/boilerplate-generator/package.js b/packages/boilerplate-generator/package.js index 7b4fde306e..a6a052f790 100644 --- a/packages/boilerplate-generator/package.js +++ b/packages/boilerplate-generator/package.js @@ -1,6 +1,6 @@ Package.describe({ summary: "Generates the boilerplate html from program's manifest", - version: '1.5.0-rc17.3' + version: '1.5.0-rc17.4' }); Npm.depends({ diff --git a/packages/dynamic-import/package.js b/packages/dynamic-import/package.js index 46ea76c719..c6608cc7a0 100644 --- a/packages/dynamic-import/package.js +++ b/packages/dynamic-import/package.js @@ -1,6 +1,6 @@ Package.describe({ name: "dynamic-import", - version: "0.4.0-rc17.3", + version: "0.4.0-rc17.4", summary: "Runtime support for Meteor 1.5 dynamic import(...) syntax", documentation: "README.md" }); diff --git a/packages/ecmascript-runtime-client/package.js b/packages/ecmascript-runtime-client/package.js index 49f7b4f12e..1aa89b367f 100644 --- a/packages/ecmascript-runtime-client/package.js +++ b/packages/ecmascript-runtime-client/package.js @@ -1,6 +1,6 @@ Package.describe({ name: "ecmascript-runtime-client", - version: "0.7.0-rc17.3", + version: "0.7.0-rc17.4", summary: "Polyfills for new ECMAScript 2015 APIs like Map and Set", git: "https://github.com/meteor/meteor/tree/devel/packages/ecmascript-runtime-client", documentation: "README.md" diff --git a/packages/ecmascript-runtime-server/package.js b/packages/ecmascript-runtime-server/package.js index aabb624161..949f415e5f 100644 --- a/packages/ecmascript-runtime-server/package.js +++ b/packages/ecmascript-runtime-server/package.js @@ -1,6 +1,6 @@ Package.describe({ name: "ecmascript-runtime-server", - version: "0.7.0-rc17.3", + version: "0.7.0-rc17.4", summary: "Polyfills for new ECMAScript 2015 APIs like Map and Set", git: "https://github.com/meteor/meteor/tree/devel/packages/ecmascript-runtime-client", documentation: "README.md" diff --git a/packages/ecmascript-runtime/package.js b/packages/ecmascript-runtime/package.js index 64433d01d0..860e989ca6 100644 --- a/packages/ecmascript-runtime/package.js +++ b/packages/ecmascript-runtime/package.js @@ -1,6 +1,6 @@ Package.describe({ name: "ecmascript-runtime", - version: "0.7.0-rc17.3", + version: "0.7.0-rc17.4", summary: "Polyfills for new ECMAScript 2015 APIs like Map and Set", git: "https://github.com/meteor/ecmascript-runtime", documentation: "README.md" diff --git a/packages/ecmascript/package.js b/packages/ecmascript/package.js index 732910e64e..8e52958866 100644 --- a/packages/ecmascript/package.js +++ b/packages/ecmascript/package.js @@ -1,6 +1,6 @@ Package.describe({ name: 'ecmascript', - version: '0.11.0-rc17.3', + version: '0.11.0-rc17.4', summary: 'Compiler plugin that supports ES2015+ in all .js files', documentation: 'README.md' }); diff --git a/packages/es5-shim/package.js b/packages/es5-shim/package.js index 0878c552ed..3dfbab0d45 100644 --- a/packages/es5-shim/package.js +++ b/packages/es5-shim/package.js @@ -1,6 +1,6 @@ Package.describe({ name: "es5-shim", - version: "4.8.0-rc17.3", + version: "4.8.0-rc17.4", summary: "Shims and polyfills to improve ECMAScript 5 support", documentation: "README.md" }); diff --git a/packages/facebook-oauth/package.js b/packages/facebook-oauth/package.js index 52297a8488..f4b5ed54dc 100644 --- a/packages/facebook-oauth/package.js +++ b/packages/facebook-oauth/package.js @@ -1,6 +1,6 @@ Package.describe({ summary: "Facebook OAuth flow", - version: "1.5.0-rc17.3" + version: "1.5.0-rc17.4" }); Package.onUse(function(api) { diff --git a/packages/meteor-base/package.js b/packages/meteor-base/package.js index 66b1364d65..4495acaa74 100644 --- a/packages/meteor-base/package.js +++ b/packages/meteor-base/package.js @@ -1,6 +1,6 @@ Package.describe({ name: 'meteor-base', - version: '1.4.0-rc17.3', + version: '1.4.0-rc17.4', // Brief, one-line summary of the package. summary: 'Packages that every Meteor app needs', // By default, Meteor will default to using README.md for documentation. diff --git a/packages/meteor-tool/package.js b/packages/meteor-tool/package.js index d880b55bc2..55db619aba 100644 --- a/packages/meteor-tool/package.js +++ b/packages/meteor-tool/package.js @@ -1,6 +1,6 @@ Package.describe({ summary: "The Meteor command-line tool", - version: '1.7.0-rc.3' + version: '1.7.0-rc.4' }); Package.includeTool(); diff --git a/packages/meteor/package.js b/packages/meteor/package.js index 52a9d1e7ad..3e0c75ccb5 100644 --- a/packages/meteor/package.js +++ b/packages/meteor/package.js @@ -2,7 +2,7 @@ Package.describe({ summary: "Core Meteor environment", - version: '1.9.0-rc17.3' + version: '1.9.0-rc17.4' }); Package.registerBuildPlugin({ diff --git a/packages/modern-browsers/package.js b/packages/modern-browsers/package.js index 2cda792ca3..b60ec3c969 100644 --- a/packages/modern-browsers/package.js +++ b/packages/modern-browsers/package.js @@ -1,6 +1,6 @@ Package.describe({ name: "modern-browsers", - version: "0.1.0-rc17.3", + version: "0.1.0-rc17.4", summary: "API for defining the boundary between modern and legacy " + "JavaScript clients", documentation: "README.md" diff --git a/packages/modules-runtime/package.js b/packages/modules-runtime/package.js index 0688c60aa1..291e8ce74d 100644 --- a/packages/modules-runtime/package.js +++ b/packages/modules-runtime/package.js @@ -1,6 +1,6 @@ Package.describe({ name: "modules-runtime", - version: "0.10.0-rc17.3", + version: "0.10.0-rc17.4", summary: "CommonJS module system", git: "https://github.com/benjamn/install", documentation: "README.md" diff --git a/packages/mongo/package.js b/packages/mongo/package.js index d3c2ad662d..4e53606aec 100644 --- a/packages/mongo/package.js +++ b/packages/mongo/package.js @@ -9,7 +9,7 @@ Package.describe({ summary: "Adaptor for using MongoDB and Minimongo over DDP", - version: '1.5.0-rc17.3' + version: '1.5.0-rc17.4' }); Npm.depends({ diff --git a/packages/npm-mongo/package.js b/packages/npm-mongo/package.js index 665125128d..ebab0464f2 100644 --- a/packages/npm-mongo/package.js +++ b/packages/npm-mongo/package.js @@ -3,7 +3,7 @@ Package.describe({ summary: "Wrapper around the mongo npm package", - version: "3.0.7-rc17.3", + version: "3.0.7-rc17.4", documentation: null }); diff --git a/packages/promise/package.js b/packages/promise/package.js index e153164d89..c1d7e8688f 100644 --- a/packages/promise/package.js +++ b/packages/promise/package.js @@ -1,6 +1,6 @@ Package.describe({ name: "promise", - version: "0.11.0-rc17.3", + version: "0.11.0-rc17.4", summary: "ECMAScript 2015 Promise polyfill with Fiber support", git: "https://github.com/meteor/promise", documentation: "README.md" diff --git a/packages/socket-stream-client/package.js b/packages/socket-stream-client/package.js index 47c4a55296..427720a769 100644 --- a/packages/socket-stream-client/package.js +++ b/packages/socket-stream-client/package.js @@ -1,6 +1,6 @@ Package.describe({ name: "socket-stream-client", - version: "0.2.0-rc17.3", + version: "0.2.0-rc17.4", summary: "Provides the ClientStream abstraction used by ddp-client", documentation: "README.md" }); diff --git a/packages/test-helpers/package.js b/packages/test-helpers/package.js index c3b2157531..bdcd40d05b 100644 --- a/packages/test-helpers/package.js +++ b/packages/test-helpers/package.js @@ -1,6 +1,6 @@ Package.describe({ summary: "Utility functions for tests", - version: '1.1.0-rc17.3' + version: '1.1.0-rc17.4' }); Package.onUse(function (api) { diff --git a/packages/tracker/package.js b/packages/tracker/package.js index 4b07d0b183..b9a79a7796 100644 --- a/packages/tracker/package.js +++ b/packages/tracker/package.js @@ -1,6 +1,6 @@ Package.describe({ summary: "Dependency tracker to allow reactive callbacks", - version: "1.2.0-rc17.3" + version: "1.2.0-rc17.4" }); Package.onUse(function (api) { diff --git a/packages/webapp/package.js b/packages/webapp/package.js index afc32c0852..06b69be1c8 100644 --- a/packages/webapp/package.js +++ b/packages/webapp/package.js @@ -1,6 +1,6 @@ Package.describe({ summary: "Serves a Meteor app over HTTP", - version: '1.6.0-rc17.3' + version: '1.6.0-rc17.4' }); Npm.depends({"basic-auth-connect": "1.0.0", diff --git a/scripts/admin/meteor-release-experimental.json b/scripts/admin/meteor-release-experimental.json index 1820472700..4baa39f247 100644 --- a/scripts/admin/meteor-release-experimental.json +++ b/scripts/admin/meteor-release-experimental.json @@ -1,6 +1,6 @@ { "track": "METEOR", - "version": "1.7-rc.3", + "version": "1.7-rc.4", "recommended": false, "official": false, "description": "Meteor" From 538bd0374be05945339aaf54a90e0d4112c65359 Mon Sep 17 00:00:00 2001 From: Ben Newman Date: Wed, 9 May 2018 18:36:32 -0400 Subject: [PATCH 0856/1355] Update meteor-babel to version 7.0.0-beta.46-4. This version no longer includes the cache directory in the computation of the cache key, which allows repeated test runs to reuse compilation results from previous runs. --- History.md | 2 +- packages/babel-compiler/.npm/package/npm-shrinkwrap.json | 6 +++--- packages/babel-compiler/package.js | 2 +- scripts/dev-bundle-tool-package.js | 2 +- 4 files changed, 6 insertions(+), 6 deletions(-) diff --git a/History.md b/History.md index 226a8092cf..b8efd3f6f5 100644 --- a/History.md +++ b/History.md @@ -212,7 +212,7 @@ want to run. [PR #9714](https://github.com/meteor/meteor/pull/9714) * The `meteor-babel` npm package has been updated to version - 7.0.0-beta.46-3. + 7.0.0-beta.46-4. * The `reify` npm package has been updated to version 0.15.1. diff --git a/packages/babel-compiler/.npm/package/npm-shrinkwrap.json b/packages/babel-compiler/.npm/package/npm-shrinkwrap.json index feed085e84..4796ba25dd 100644 --- a/packages/babel-compiler/.npm/package/npm-shrinkwrap.json +++ b/packages/babel-compiler/.npm/package/npm-shrinkwrap.json @@ -727,9 +727,9 @@ "integrity": "sha1-izqsWIuKZuSXXjzepn97sylgH6w=" }, "meteor-babel": { - "version": "7.0.0-beta.46-3", - "resolved": "https://registry.npmjs.org/meteor-babel/-/meteor-babel-7.0.0-beta.46-3.tgz", - "integrity": "sha512-SMFF1PGMXDV8UvqdU90dO1FiSbPPaVYVZ5vPb4krKBTSjq2m0/tvSUwN/g+LaZYRbu7QIj6baUCXkW76xYTExw==" + "version": "7.0.0-beta.46-4", + "resolved": "https://registry.npmjs.org/meteor-babel/-/meteor-babel-7.0.0-beta.46-4.tgz", + "integrity": "sha512-4DKljQezwcLt1mz8JLRJiKzh/N8j+tTZOAk0jot4iilXCMZ1QdYOPzhAmYjTw1IKmPG03c9u8pHcpE0CbHpI6Q==" }, "meteor-babel-helpers": { "version": "0.0.3", diff --git a/packages/babel-compiler/package.js b/packages/babel-compiler/package.js index 293f59384a..58a4fd7409 100644 --- a/packages/babel-compiler/package.js +++ b/packages/babel-compiler/package.js @@ -10,7 +10,7 @@ Package.describe({ }); Npm.depends({ - 'meteor-babel': '7.0.0-beta.46-3' + 'meteor-babel': '7.0.0-beta.46-4' }); Package.onUse(function (api) { diff --git a/scripts/dev-bundle-tool-package.js b/scripts/dev-bundle-tool-package.js index ff1bf4b56c..ea410724df 100644 --- a/scripts/dev-bundle-tool-package.js +++ b/scripts/dev-bundle-tool-package.js @@ -14,7 +14,7 @@ var packageJson = { pacote: "https://github.com/meteor/pacote/tarball/2c16c509074bbba8ca5dd410caf808412ce79e6c", "node-gyp": "3.6.2", "node-pre-gyp": "0.6.36", - "meteor-babel": "7.0.0-beta.46-3", + "meteor-babel": "7.0.0-beta.46-4", "meteor-promise": "0.8.6", promise: "8.0.1", reify: "0.15.1", From 60caaeb774185a9bfd9e377e475aef92deb2c4f4 Mon Sep 17 00:00:00 2001 From: Ben Newman Date: Wed, 9 May 2018 18:48:35 -0400 Subject: [PATCH 0857/1355] Bump package versions for 1.7-rc.5 release. --- packages/appcache/package.js | 2 +- packages/babel-compiler/package.js | 2 +- packages/babel-runtime/package.js | 2 +- packages/boilerplate-generator-tests/package.js | 2 +- packages/boilerplate-generator/package.js | 2 +- packages/dynamic-import/package.js | 2 +- packages/ecmascript-runtime-client/package.js | 2 +- packages/ecmascript-runtime-server/package.js | 2 +- packages/ecmascript-runtime/package.js | 2 +- packages/ecmascript/package.js | 2 +- packages/es5-shim/package.js | 2 +- packages/facebook-oauth/package.js | 2 +- packages/meteor-base/package.js | 2 +- packages/meteor-tool/package.js | 2 +- packages/meteor/package.js | 2 +- packages/modern-browsers/package.js | 2 +- packages/modules-runtime/package.js | 2 +- packages/mongo/package.js | 2 +- packages/npm-mongo/package.js | 2 +- packages/promise/package.js | 2 +- packages/socket-stream-client/package.js | 2 +- packages/test-helpers/package.js | 2 +- packages/tracker/package.js | 2 +- packages/webapp/package.js | 2 +- scripts/admin/meteor-release-experimental.json | 2 +- 25 files changed, 25 insertions(+), 25 deletions(-) diff --git a/packages/appcache/package.js b/packages/appcache/package.js index cfa1941eab..1292fdcac3 100644 --- a/packages/appcache/package.js +++ b/packages/appcache/package.js @@ -1,6 +1,6 @@ Package.describe({ summary: "Enable the application cache in the browser", - version: "1.2.0-rc17.4", + version: "1.2.0-rc17.5", }); Package.onUse(api => { diff --git a/packages/babel-compiler/package.js b/packages/babel-compiler/package.js index 58a4fd7409..7c174637a7 100644 --- a/packages/babel-compiler/package.js +++ b/packages/babel-compiler/package.js @@ -6,7 +6,7 @@ Package.describe({ // isn't possible because you can't publish a non-recommended // release with package versions that don't have a pre-release // identifier at the end (eg, -dev) - version: '7.1.0-rc17.4' + version: '7.1.0-rc17.5' }); Npm.depends({ diff --git a/packages/babel-runtime/package.js b/packages/babel-runtime/package.js index d0ab1ef9f6..f98f21fccd 100644 --- a/packages/babel-runtime/package.js +++ b/packages/babel-runtime/package.js @@ -1,7 +1,7 @@ Package.describe({ name: "babel-runtime", summary: "Runtime support for output of Babel transpiler", - version: '1.3.0-rc17.4', + version: '1.3.0-rc17.5', documentation: 'README.md' }); diff --git a/packages/boilerplate-generator-tests/package.js b/packages/boilerplate-generator-tests/package.js index 5d5bbad17b..928129facc 100644 --- a/packages/boilerplate-generator-tests/package.js +++ b/packages/boilerplate-generator-tests/package.js @@ -2,7 +2,7 @@ Package.describe({ // These tests are in a separate package so that we can Npm.depend on // parse5, a html parsing library. summary: "Tests for the boilerplate-generator package", - version: '1.5.0-rc17.4', + version: '1.5.0-rc17.5', documentation: null }); diff --git a/packages/boilerplate-generator/package.js b/packages/boilerplate-generator/package.js index a6a052f790..528383a051 100644 --- a/packages/boilerplate-generator/package.js +++ b/packages/boilerplate-generator/package.js @@ -1,6 +1,6 @@ Package.describe({ summary: "Generates the boilerplate html from program's manifest", - version: '1.5.0-rc17.4' + version: '1.5.0-rc17.5' }); Npm.depends({ diff --git a/packages/dynamic-import/package.js b/packages/dynamic-import/package.js index c6608cc7a0..976e443d92 100644 --- a/packages/dynamic-import/package.js +++ b/packages/dynamic-import/package.js @@ -1,6 +1,6 @@ Package.describe({ name: "dynamic-import", - version: "0.4.0-rc17.4", + version: "0.4.0-rc17.5", summary: "Runtime support for Meteor 1.5 dynamic import(...) syntax", documentation: "README.md" }); diff --git a/packages/ecmascript-runtime-client/package.js b/packages/ecmascript-runtime-client/package.js index 1aa89b367f..6aea360f0b 100644 --- a/packages/ecmascript-runtime-client/package.js +++ b/packages/ecmascript-runtime-client/package.js @@ -1,6 +1,6 @@ Package.describe({ name: "ecmascript-runtime-client", - version: "0.7.0-rc17.4", + version: "0.7.0-rc17.5", summary: "Polyfills for new ECMAScript 2015 APIs like Map and Set", git: "https://github.com/meteor/meteor/tree/devel/packages/ecmascript-runtime-client", documentation: "README.md" diff --git a/packages/ecmascript-runtime-server/package.js b/packages/ecmascript-runtime-server/package.js index 949f415e5f..f071c14177 100644 --- a/packages/ecmascript-runtime-server/package.js +++ b/packages/ecmascript-runtime-server/package.js @@ -1,6 +1,6 @@ Package.describe({ name: "ecmascript-runtime-server", - version: "0.7.0-rc17.4", + version: "0.7.0-rc17.5", summary: "Polyfills for new ECMAScript 2015 APIs like Map and Set", git: "https://github.com/meteor/meteor/tree/devel/packages/ecmascript-runtime-client", documentation: "README.md" diff --git a/packages/ecmascript-runtime/package.js b/packages/ecmascript-runtime/package.js index 860e989ca6..4c4e93270d 100644 --- a/packages/ecmascript-runtime/package.js +++ b/packages/ecmascript-runtime/package.js @@ -1,6 +1,6 @@ Package.describe({ name: "ecmascript-runtime", - version: "0.7.0-rc17.4", + version: "0.7.0-rc17.5", summary: "Polyfills for new ECMAScript 2015 APIs like Map and Set", git: "https://github.com/meteor/ecmascript-runtime", documentation: "README.md" diff --git a/packages/ecmascript/package.js b/packages/ecmascript/package.js index 8e52958866..2c2f2394a9 100644 --- a/packages/ecmascript/package.js +++ b/packages/ecmascript/package.js @@ -1,6 +1,6 @@ Package.describe({ name: 'ecmascript', - version: '0.11.0-rc17.4', + version: '0.11.0-rc17.5', summary: 'Compiler plugin that supports ES2015+ in all .js files', documentation: 'README.md' }); diff --git a/packages/es5-shim/package.js b/packages/es5-shim/package.js index 3dfbab0d45..2e0c01bc01 100644 --- a/packages/es5-shim/package.js +++ b/packages/es5-shim/package.js @@ -1,6 +1,6 @@ Package.describe({ name: "es5-shim", - version: "4.8.0-rc17.4", + version: "4.8.0-rc17.5", summary: "Shims and polyfills to improve ECMAScript 5 support", documentation: "README.md" }); diff --git a/packages/facebook-oauth/package.js b/packages/facebook-oauth/package.js index f4b5ed54dc..e00a80bb09 100644 --- a/packages/facebook-oauth/package.js +++ b/packages/facebook-oauth/package.js @@ -1,6 +1,6 @@ Package.describe({ summary: "Facebook OAuth flow", - version: "1.5.0-rc17.4" + version: "1.5.0-rc17.5" }); Package.onUse(function(api) { diff --git a/packages/meteor-base/package.js b/packages/meteor-base/package.js index 4495acaa74..f9f36181b6 100644 --- a/packages/meteor-base/package.js +++ b/packages/meteor-base/package.js @@ -1,6 +1,6 @@ Package.describe({ name: 'meteor-base', - version: '1.4.0-rc17.4', + version: '1.4.0-rc17.5', // Brief, one-line summary of the package. summary: 'Packages that every Meteor app needs', // By default, Meteor will default to using README.md for documentation. diff --git a/packages/meteor-tool/package.js b/packages/meteor-tool/package.js index 55db619aba..c02f88056b 100644 --- a/packages/meteor-tool/package.js +++ b/packages/meteor-tool/package.js @@ -1,6 +1,6 @@ Package.describe({ summary: "The Meteor command-line tool", - version: '1.7.0-rc.4' + version: '1.7.0-rc.5' }); Package.includeTool(); diff --git a/packages/meteor/package.js b/packages/meteor/package.js index 3e0c75ccb5..c90f8278da 100644 --- a/packages/meteor/package.js +++ b/packages/meteor/package.js @@ -2,7 +2,7 @@ Package.describe({ summary: "Core Meteor environment", - version: '1.9.0-rc17.4' + version: '1.9.0-rc17.5' }); Package.registerBuildPlugin({ diff --git a/packages/modern-browsers/package.js b/packages/modern-browsers/package.js index b60ec3c969..1b06f91a1e 100644 --- a/packages/modern-browsers/package.js +++ b/packages/modern-browsers/package.js @@ -1,6 +1,6 @@ Package.describe({ name: "modern-browsers", - version: "0.1.0-rc17.4", + version: "0.1.0-rc17.5", summary: "API for defining the boundary between modern and legacy " + "JavaScript clients", documentation: "README.md" diff --git a/packages/modules-runtime/package.js b/packages/modules-runtime/package.js index 291e8ce74d..57d3ff7723 100644 --- a/packages/modules-runtime/package.js +++ b/packages/modules-runtime/package.js @@ -1,6 +1,6 @@ Package.describe({ name: "modules-runtime", - version: "0.10.0-rc17.4", + version: "0.10.0-rc17.5", summary: "CommonJS module system", git: "https://github.com/benjamn/install", documentation: "README.md" diff --git a/packages/mongo/package.js b/packages/mongo/package.js index 4e53606aec..ea9d793c9a 100644 --- a/packages/mongo/package.js +++ b/packages/mongo/package.js @@ -9,7 +9,7 @@ Package.describe({ summary: "Adaptor for using MongoDB and Minimongo over DDP", - version: '1.5.0-rc17.4' + version: '1.5.0-rc17.5' }); Npm.depends({ diff --git a/packages/npm-mongo/package.js b/packages/npm-mongo/package.js index ebab0464f2..433ed6a8b8 100644 --- a/packages/npm-mongo/package.js +++ b/packages/npm-mongo/package.js @@ -3,7 +3,7 @@ Package.describe({ summary: "Wrapper around the mongo npm package", - version: "3.0.7-rc17.4", + version: "3.0.7-rc17.5", documentation: null }); diff --git a/packages/promise/package.js b/packages/promise/package.js index c1d7e8688f..c12a896c1e 100644 --- a/packages/promise/package.js +++ b/packages/promise/package.js @@ -1,6 +1,6 @@ Package.describe({ name: "promise", - version: "0.11.0-rc17.4", + version: "0.11.0-rc17.5", summary: "ECMAScript 2015 Promise polyfill with Fiber support", git: "https://github.com/meteor/promise", documentation: "README.md" diff --git a/packages/socket-stream-client/package.js b/packages/socket-stream-client/package.js index 427720a769..cb100213d6 100644 --- a/packages/socket-stream-client/package.js +++ b/packages/socket-stream-client/package.js @@ -1,6 +1,6 @@ Package.describe({ name: "socket-stream-client", - version: "0.2.0-rc17.4", + version: "0.2.0-rc17.5", summary: "Provides the ClientStream abstraction used by ddp-client", documentation: "README.md" }); diff --git a/packages/test-helpers/package.js b/packages/test-helpers/package.js index bdcd40d05b..817ea332d5 100644 --- a/packages/test-helpers/package.js +++ b/packages/test-helpers/package.js @@ -1,6 +1,6 @@ Package.describe({ summary: "Utility functions for tests", - version: '1.1.0-rc17.4' + version: '1.1.0-rc17.5' }); Package.onUse(function (api) { diff --git a/packages/tracker/package.js b/packages/tracker/package.js index b9a79a7796..bebd7222ad 100644 --- a/packages/tracker/package.js +++ b/packages/tracker/package.js @@ -1,6 +1,6 @@ Package.describe({ summary: "Dependency tracker to allow reactive callbacks", - version: "1.2.0-rc17.4" + version: "1.2.0-rc17.5" }); Package.onUse(function (api) { diff --git a/packages/webapp/package.js b/packages/webapp/package.js index 06b69be1c8..ef5c95cf1e 100644 --- a/packages/webapp/package.js +++ b/packages/webapp/package.js @@ -1,6 +1,6 @@ Package.describe({ summary: "Serves a Meteor app over HTTP", - version: '1.6.0-rc17.4' + version: '1.6.0-rc17.5' }); Npm.depends({"basic-auth-connect": "1.0.0", diff --git a/scripts/admin/meteor-release-experimental.json b/scripts/admin/meteor-release-experimental.json index 4baa39f247..2ac5778455 100644 --- a/scripts/admin/meteor-release-experimental.json +++ b/scripts/admin/meteor-release-experimental.json @@ -1,6 +1,6 @@ { "track": "METEOR", - "version": "1.7-rc.4", + "version": "1.7-rc.5", "recommended": false, "official": false, "description": "Meteor" From b7579ad1001f6dff523594dfbda518413d8baac0 Mon Sep 17 00:00:00 2001 From: Ben Newman Date: Wed, 9 May 2018 19:12:13 -0400 Subject: [PATCH 0858/1355] Update modules test app to Meteor 1.7-rc.5. --- .../apps/modules/.meteor/.finished-upgraders | 1 + tools/tests/apps/modules/.meteor/packages | 18 +++--- tools/tests/apps/modules/.meteor/release | 2 +- tools/tests/apps/modules/package-lock.json | 60 ++++++++----------- 4 files changed, 36 insertions(+), 45 deletions(-) diff --git a/tools/tests/apps/modules/.meteor/.finished-upgraders b/tools/tests/apps/modules/.meteor/.finished-upgraders index 2a56593d3f..8f397c7dad 100644 --- a/tools/tests/apps/modules/.meteor/.finished-upgraders +++ b/tools/tests/apps/modules/.meteor/.finished-upgraders @@ -16,3 +16,4 @@ notices-for-facebook-graph-api-2 1.4.1-add-shell-server-package 1.4.3-split-account-service-packages 1.5-add-dynamic-import-package +1.7-split-underscore-from-meteor-base diff --git a/tools/tests/apps/modules/.meteor/packages b/tools/tests/apps/modules/.meteor/packages index e74f6294a3..1ab5365c0f 100644 --- a/tools/tests/apps/modules/.meteor/packages +++ b/tools/tests/apps/modules/.meteor/packages @@ -4,23 +4,23 @@ # 'meteor add' and 'meteor remove' will edit this file for you, # but you can also edit it by hand. -meteor-base@1.3.0 # Packages every Meteor app needs to have +meteor-base@1.4.0-rc17.5 # Packages every Meteor app needs to have mobile-experience@1.0.5 # Packages for a great mobile UX -mongo@1.4.2 # The database Meteor supports right now +mongo@1.5.0-rc17.5 # The database Meteor supports right now blaze-html-templates # Compile .html files into Meteor Blaze views session@1.1.7 # Client-side reactive dictionary for your app jquery@1.11.10 # Helpful client-side library -tracker@1.1.3 # Meteor's client-side reactive programming library +tracker@1.2.0-rc17.5 # Meteor's client-side reactive programming library -es5-shim@4.7.0 # ECMAScript 5 compatibility for older browsers. -ecmascript@0.10.0 # Enable ECMAScript2015+ syntax in app code +es5-shim@4.8.0-rc17.5 # ECMAScript 5 compatibility for older browsers. +ecmascript@0.11.0-rc17.5 # Enable ECMAScript2015+ syntax in app code coffeescript modules-test-package -standard-minifier-css@1.4.0 -standard-minifier-js@2.3.1 +standard-minifier-css@1.4.1 +standard-minifier-js@2.3.4 client-only-ecmascript modules-test-plugin shell-server@0.3.1 -dynamic-import@0.3.0 -underscore +dynamic-import@0.4.0-rc17.5 +underscore@1.0.10 diff --git a/tools/tests/apps/modules/.meteor/release b/tools/tests/apps/modules/.meteor/release index d502dc0d92..b93a1e63c9 100644 --- a/tools/tests/apps/modules/.meteor/release +++ b/tools/tests/apps/modules/.meteor/release @@ -1 +1 @@ -METEOR@1.6.1 +METEOR@1.7-rc.5 diff --git a/tools/tests/apps/modules/package-lock.json b/tools/tests/apps/modules/package-lock.json index d7d695bc3f..c1ff0a756e 100644 --- a/tools/tests/apps/modules/package-lock.json +++ b/tools/tests/apps/modules/package-lock.json @@ -217,9 +217,9 @@ "integrity": "sha1-+PwEyjoTeErenhZBr5hXjPvWR6k=" }, "aws-sdk": { - "version": "2.234.1", - "resolved": "https://registry.npmjs.org/aws-sdk/-/aws-sdk-2.234.1.tgz", - "integrity": "sha1-u408vkaF24Vue7BW848U594SFPI=", + "version": "2.235.1", + "resolved": "https://registry.npmjs.org/aws-sdk/-/aws-sdk-2.235.1.tgz", + "integrity": "sha1-uJXalIK7XZCy9UxFIDt6PBwrfOo=", "requires": { "buffer": "4.9.1", "events": "1.1.1", @@ -415,7 +415,7 @@ "resolved": "https://registry.npmjs.org/expand-range/-/expand-range-1.8.2.tgz", "integrity": "sha1-opnv/TNf4nIeuujiV+x5ZE/IUzc=", "requires": { - "fill-range": "2.2.3" + "fill-range": "2.2.4" } }, "extglob": { @@ -437,13 +437,13 @@ "integrity": "sha1-wcS5vuPglyXdsQa3XB4wH+LxiyY=" }, "fill-range": { - "version": "2.2.3", - "resolved": "https://registry.npmjs.org/fill-range/-/fill-range-2.2.3.tgz", - "integrity": "sha1-ULd9/X5Gm8dJJHCWNpn+eoSFpyM=", + "version": "2.2.4", + "resolved": "https://registry.npmjs.org/fill-range/-/fill-range-2.2.4.tgz", + "integrity": "sha512-cnrcCbj01+j2gTG921VZPnHbjmdAf8oQV/iGeV2kZxGSyfYjjTyY79ErsK1WJWMpw6DaApEX72binqJE+/d+5Q==", "requires": { "is-number": "2.1.0", "isobject": "2.1.0", - "randomatic": "1.1.7", + "randomatic": "3.0.0", "repeat-element": "1.1.2", "repeat-string": "1.6.1" } @@ -660,6 +660,11 @@ "js-tokens": "3.0.2" } }, + "math-random": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/math-random/-/math-random-1.0.1.tgz", + "integrity": "sha1-izqsWIuKZuSXXjzepn97sylgH6w=" + }, "memoizee": { "version": "0.2.6", "resolved": "https://registry.npmjs.org/memoizee/-/memoizee-0.2.6.tgz", @@ -1364,39 +1369,24 @@ "integrity": "sha1-sgmEkgO7Jd+CDadW50cAWHhSFiA=" }, "randomatic": { - "version": "1.1.7", - "resolved": "https://registry.npmjs.org/randomatic/-/randomatic-1.1.7.tgz", - "integrity": "sha512-D5JUjPyJbaJDkuAazpVnSfVkLlpeO3wDlPROTMLGKG1zMFNFRgrciKo1ltz/AzNTkqE0HzDx655QOL51N06how==", + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/randomatic/-/randomatic-3.0.0.tgz", + "integrity": "sha512-VdxFOIEY3mNO5PtSRkkle/hPJDHvQhK21oa73K4yAc9qmp6N429gAyF1gZMOTMeS0/AYzaV/2Trcef+NaIonSA==", "requires": { - "is-number": "3.0.0", - "kind-of": "4.0.0" + "is-number": "4.0.0", + "kind-of": "6.0.2", + "math-random": "1.0.1" }, "dependencies": { "is-number": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/is-number/-/is-number-3.0.0.tgz", - "integrity": "sha1-JP1iAaR4LPUFYcgQJ2r8fRLXEZU=", - "requires": { - "kind-of": "3.2.2" - }, - "dependencies": { - "kind-of": { - "version": "3.2.2", - "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-3.2.2.tgz", - "integrity": "sha1-MeohpzS6ubuw8yRm2JOupR5KPGQ=", - "requires": { - "is-buffer": "1.1.6" - } - } - } + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/is-number/-/is-number-4.0.0.tgz", + "integrity": "sha512-rSklcAIlf1OmFdyAqbnWTLVelsQ58uvZ66S/ZyawjWqIviTWCjg2PzVGw8WUA+nNuPTqb4wgA+NszrJ+08LlgQ==" }, "kind-of": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-4.0.0.tgz", - "integrity": "sha1-IIE989cSkosgc3hpGkUGb65y3Vc=", - "requires": { - "is-buffer": "1.1.6" - } + "version": "6.0.2", + "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-6.0.2.tgz", + "integrity": "sha512-s5kLOcnH0XqDO+FvuaLX8DDjZ18CGFk7VygH40QoKPUQhW4e2rvM0rwUq0t8IQDOwYSeLK01U90OjzBTme2QqA==" } } }, From 3205a8ec0a2025d4b697f8f1916689ee6fa03a77 Mon Sep 17 00:00:00 2001 From: Ben Newman Date: Wed, 9 May 2018 19:20:56 -0400 Subject: [PATCH 0859/1355] Pass cacheOptions (not just cacheDeps) to Babel.compile. It's important not to involve cacheDirectory in the computation of cache keys, since that introduces too much diversity, especially when running tests, since tests use temporary directories with randomized names. --- packages/babel-compiler/babel-compiler.js | 16 +++++++++++----- packages/babel-compiler/babel.js | 9 ++++++--- 2 files changed, 17 insertions(+), 8 deletions(-) diff --git a/packages/babel-compiler/babel-compiler.js b/packages/babel-compiler/babel-compiler.js index 3e0b194a69..d9593722ef 100644 --- a/packages/babel-compiler/babel-compiler.js +++ b/packages/babel-compiler/babel-compiler.js @@ -56,9 +56,11 @@ BCp.processOneFileForTarget = function (inputFile, source) { sourceMap: null, bare: !! fileOptions.bare }; - var cacheDeps = { - sourceHash: toBeAdded.hash, - cacheDirectory: this.cacheDirectory + var cacheOptions = { + cacheDirectory: this.cacheDirectory, + cacheDeps: { + sourceHash: toBeAdded.hash, + }, }; // If you need to exclude a specific file within a package from Babel @@ -92,7 +94,11 @@ BCp.processOneFileForTarget = function (inputFile, source) { var babelOptions = Babel.getDefaultOptions(extraFeatures); - this.inferExtraBabelOptions(inputFile, babelOptions, cacheDeps); + this.inferExtraBabelOptions( + inputFile, + babelOptions, + cacheOptions.cacheDeps, + ); babelOptions.sourceMap = true; babelOptions.filename = @@ -102,7 +108,7 @@ BCp.processOneFileForTarget = function (inputFile, source) { try { var result = profile('Babel.compile', function () { - return Babel.compile(source, babelOptions, cacheDeps); + return Babel.compile(source, babelOptions, cacheOptions); }); } catch (e) { if (e.loc) { diff --git a/packages/babel-compiler/babel.js b/packages/babel-compiler/babel.js index f3e71df5c7..39516e30e2 100644 --- a/packages/babel-compiler/babel.js +++ b/packages/babel-compiler/babel.js @@ -28,9 +28,12 @@ Babel = { return getMeteorBabel().parse(source); }, - compile: function (source, options, cacheDeps) { - options = options || getDefaultOptions(); - return getMeteorBabel().compile(source, options, cacheDeps); + compile: function (source, babelOptions, cacheOptions) { + return getMeteorBabel().compile( + source, + babelOptions || getDefaultOptions(), + cacheOptions, + ); }, // This method is deprecated in favor of passing From 782d774b43801ecab8c784954879c9e7e125c9da Mon Sep 17 00:00:00 2001 From: Ben Newman Date: Wed, 9 May 2018 20:25:29 -0400 Subject: [PATCH 0860/1355] Rename cache files synchronously in caching-compiler. I've noticed that sometimes it takes a while for cache files to be fully written and renamed, so I think we can speed things up while still preserving the asynchronicity by doing the rename synchronously in the async fs.writeFile callback. --- packages/caching-compiler/caching-compiler.js | 10 ++++++---- packages/caching-compiler/package.js | 2 +- 2 files changed, 7 insertions(+), 5 deletions(-) diff --git a/packages/caching-compiler/caching-compiler.js b/packages/caching-compiler/caching-compiler.js index 9b4acf4d37..6c4abd335f 100644 --- a/packages/caching-compiler/caching-compiler.js +++ b/packages/caching-compiler/caching-compiler.js @@ -172,10 +172,12 @@ CachingCompilerBase = class CachingCompilerBase { // ignore errors, it's just a cache } } else { - fs.writeFile(tempFilename, contents, err => { - // ignore errors, it's just a cache - if (! err) { - fs.rename(tempFilename, filename, err => {}); + fs.writeFile(tempFilename, contents, writeError => { + if (writeError) return; + try { + fs.renameSync(tempFilename, filename); + } catch (renameError) { + // ignore errors, it's just a cache } }); } diff --git a/packages/caching-compiler/package.js b/packages/caching-compiler/package.js index 8976153d8c..37b38bfde1 100644 --- a/packages/caching-compiler/package.js +++ b/packages/caching-compiler/package.js @@ -1,6 +1,6 @@ Package.describe({ name: 'caching-compiler', - version: '1.1.11', + version: '1.1.12', summary: 'An easy way to make compiler plugins cache', documentation: 'README.md' }); From 8e1287054a123336c62eb23d658d9e4d544e4e15 Mon Sep 17 00:00:00 2001 From: Ben Newman Date: Thu, 10 May 2018 12:16:22 -0400 Subject: [PATCH 0861/1355] Bump package versions for 1.7-rc.6 release. --- packages/appcache/package.js | 2 +- packages/babel-compiler/package.js | 2 +- packages/babel-runtime/package.js | 2 +- packages/boilerplate-generator-tests/package.js | 2 +- packages/boilerplate-generator/package.js | 2 +- packages/dynamic-import/package.js | 2 +- packages/ecmascript-runtime-client/package.js | 2 +- packages/ecmascript-runtime-server/package.js | 2 +- packages/ecmascript-runtime/package.js | 2 +- packages/ecmascript/package.js | 2 +- packages/es5-shim/package.js | 2 +- packages/facebook-oauth/package.js | 2 +- packages/meteor-base/package.js | 2 +- packages/meteor-tool/package.js | 2 +- packages/meteor/package.js | 2 +- packages/modern-browsers/package.js | 2 +- packages/modules-runtime/package.js | 2 +- packages/mongo/package.js | 2 +- packages/npm-mongo/package.js | 2 +- packages/promise/package.js | 2 +- packages/socket-stream-client/package.js | 2 +- packages/test-helpers/package.js | 2 +- packages/tracker/package.js | 2 +- packages/webapp/package.js | 2 +- scripts/admin/meteor-release-experimental.json | 2 +- 25 files changed, 25 insertions(+), 25 deletions(-) diff --git a/packages/appcache/package.js b/packages/appcache/package.js index 1292fdcac3..536cdbb75a 100644 --- a/packages/appcache/package.js +++ b/packages/appcache/package.js @@ -1,6 +1,6 @@ Package.describe({ summary: "Enable the application cache in the browser", - version: "1.2.0-rc17.5", + version: "1.2.0-rc17.6", }); Package.onUse(api => { diff --git a/packages/babel-compiler/package.js b/packages/babel-compiler/package.js index 7c174637a7..5744b4733d 100644 --- a/packages/babel-compiler/package.js +++ b/packages/babel-compiler/package.js @@ -6,7 +6,7 @@ Package.describe({ // isn't possible because you can't publish a non-recommended // release with package versions that don't have a pre-release // identifier at the end (eg, -dev) - version: '7.1.0-rc17.5' + version: '7.1.0-rc17.6' }); Npm.depends({ diff --git a/packages/babel-runtime/package.js b/packages/babel-runtime/package.js index f98f21fccd..95caf02567 100644 --- a/packages/babel-runtime/package.js +++ b/packages/babel-runtime/package.js @@ -1,7 +1,7 @@ Package.describe({ name: "babel-runtime", summary: "Runtime support for output of Babel transpiler", - version: '1.3.0-rc17.5', + version: '1.3.0-rc17.6', documentation: 'README.md' }); diff --git a/packages/boilerplate-generator-tests/package.js b/packages/boilerplate-generator-tests/package.js index 928129facc..0382ca095d 100644 --- a/packages/boilerplate-generator-tests/package.js +++ b/packages/boilerplate-generator-tests/package.js @@ -2,7 +2,7 @@ Package.describe({ // These tests are in a separate package so that we can Npm.depend on // parse5, a html parsing library. summary: "Tests for the boilerplate-generator package", - version: '1.5.0-rc17.5', + version: '1.5.0-rc17.6', documentation: null }); diff --git a/packages/boilerplate-generator/package.js b/packages/boilerplate-generator/package.js index 528383a051..8688f748a1 100644 --- a/packages/boilerplate-generator/package.js +++ b/packages/boilerplate-generator/package.js @@ -1,6 +1,6 @@ Package.describe({ summary: "Generates the boilerplate html from program's manifest", - version: '1.5.0-rc17.5' + version: '1.5.0-rc17.6' }); Npm.depends({ diff --git a/packages/dynamic-import/package.js b/packages/dynamic-import/package.js index 976e443d92..9b300684ca 100644 --- a/packages/dynamic-import/package.js +++ b/packages/dynamic-import/package.js @@ -1,6 +1,6 @@ Package.describe({ name: "dynamic-import", - version: "0.4.0-rc17.5", + version: "0.4.0-rc17.6", summary: "Runtime support for Meteor 1.5 dynamic import(...) syntax", documentation: "README.md" }); diff --git a/packages/ecmascript-runtime-client/package.js b/packages/ecmascript-runtime-client/package.js index 6aea360f0b..9a8f7a9fcf 100644 --- a/packages/ecmascript-runtime-client/package.js +++ b/packages/ecmascript-runtime-client/package.js @@ -1,6 +1,6 @@ Package.describe({ name: "ecmascript-runtime-client", - version: "0.7.0-rc17.5", + version: "0.7.0-rc17.6", summary: "Polyfills for new ECMAScript 2015 APIs like Map and Set", git: "https://github.com/meteor/meteor/tree/devel/packages/ecmascript-runtime-client", documentation: "README.md" diff --git a/packages/ecmascript-runtime-server/package.js b/packages/ecmascript-runtime-server/package.js index f071c14177..b0c5246e87 100644 --- a/packages/ecmascript-runtime-server/package.js +++ b/packages/ecmascript-runtime-server/package.js @@ -1,6 +1,6 @@ Package.describe({ name: "ecmascript-runtime-server", - version: "0.7.0-rc17.5", + version: "0.7.0-rc17.6", summary: "Polyfills for new ECMAScript 2015 APIs like Map and Set", git: "https://github.com/meteor/meteor/tree/devel/packages/ecmascript-runtime-client", documentation: "README.md" diff --git a/packages/ecmascript-runtime/package.js b/packages/ecmascript-runtime/package.js index 4c4e93270d..1fc1ff1d63 100644 --- a/packages/ecmascript-runtime/package.js +++ b/packages/ecmascript-runtime/package.js @@ -1,6 +1,6 @@ Package.describe({ name: "ecmascript-runtime", - version: "0.7.0-rc17.5", + version: "0.7.0-rc17.6", summary: "Polyfills for new ECMAScript 2015 APIs like Map and Set", git: "https://github.com/meteor/ecmascript-runtime", documentation: "README.md" diff --git a/packages/ecmascript/package.js b/packages/ecmascript/package.js index 2c2f2394a9..6cc79d15dc 100644 --- a/packages/ecmascript/package.js +++ b/packages/ecmascript/package.js @@ -1,6 +1,6 @@ Package.describe({ name: 'ecmascript', - version: '0.11.0-rc17.5', + version: '0.11.0-rc17.6', summary: 'Compiler plugin that supports ES2015+ in all .js files', documentation: 'README.md' }); diff --git a/packages/es5-shim/package.js b/packages/es5-shim/package.js index 2e0c01bc01..bf60b68c21 100644 --- a/packages/es5-shim/package.js +++ b/packages/es5-shim/package.js @@ -1,6 +1,6 @@ Package.describe({ name: "es5-shim", - version: "4.8.0-rc17.5", + version: "4.8.0-rc17.6", summary: "Shims and polyfills to improve ECMAScript 5 support", documentation: "README.md" }); diff --git a/packages/facebook-oauth/package.js b/packages/facebook-oauth/package.js index e00a80bb09..d47996b7cf 100644 --- a/packages/facebook-oauth/package.js +++ b/packages/facebook-oauth/package.js @@ -1,6 +1,6 @@ Package.describe({ summary: "Facebook OAuth flow", - version: "1.5.0-rc17.5" + version: "1.5.0-rc17.6" }); Package.onUse(function(api) { diff --git a/packages/meteor-base/package.js b/packages/meteor-base/package.js index f9f36181b6..ddefb018d5 100644 --- a/packages/meteor-base/package.js +++ b/packages/meteor-base/package.js @@ -1,6 +1,6 @@ Package.describe({ name: 'meteor-base', - version: '1.4.0-rc17.5', + version: '1.4.0-rc17.6', // Brief, one-line summary of the package. summary: 'Packages that every Meteor app needs', // By default, Meteor will default to using README.md for documentation. diff --git a/packages/meteor-tool/package.js b/packages/meteor-tool/package.js index c02f88056b..2cc7e43b89 100644 --- a/packages/meteor-tool/package.js +++ b/packages/meteor-tool/package.js @@ -1,6 +1,6 @@ Package.describe({ summary: "The Meteor command-line tool", - version: '1.7.0-rc.5' + version: '1.7.0-rc.6' }); Package.includeTool(); diff --git a/packages/meteor/package.js b/packages/meteor/package.js index c90f8278da..da85b1d3b7 100644 --- a/packages/meteor/package.js +++ b/packages/meteor/package.js @@ -2,7 +2,7 @@ Package.describe({ summary: "Core Meteor environment", - version: '1.9.0-rc17.5' + version: '1.9.0-rc17.6' }); Package.registerBuildPlugin({ diff --git a/packages/modern-browsers/package.js b/packages/modern-browsers/package.js index 1b06f91a1e..e453bb1f01 100644 --- a/packages/modern-browsers/package.js +++ b/packages/modern-browsers/package.js @@ -1,6 +1,6 @@ Package.describe({ name: "modern-browsers", - version: "0.1.0-rc17.5", + version: "0.1.0-rc17.6", summary: "API for defining the boundary between modern and legacy " + "JavaScript clients", documentation: "README.md" diff --git a/packages/modules-runtime/package.js b/packages/modules-runtime/package.js index 57d3ff7723..d45c97c7dc 100644 --- a/packages/modules-runtime/package.js +++ b/packages/modules-runtime/package.js @@ -1,6 +1,6 @@ Package.describe({ name: "modules-runtime", - version: "0.10.0-rc17.5", + version: "0.10.0-rc17.6", summary: "CommonJS module system", git: "https://github.com/benjamn/install", documentation: "README.md" diff --git a/packages/mongo/package.js b/packages/mongo/package.js index ea9d793c9a..59eca8b220 100644 --- a/packages/mongo/package.js +++ b/packages/mongo/package.js @@ -9,7 +9,7 @@ Package.describe({ summary: "Adaptor for using MongoDB and Minimongo over DDP", - version: '1.5.0-rc17.5' + version: '1.5.0-rc17.6' }); Npm.depends({ diff --git a/packages/npm-mongo/package.js b/packages/npm-mongo/package.js index 433ed6a8b8..f262ae5c47 100644 --- a/packages/npm-mongo/package.js +++ b/packages/npm-mongo/package.js @@ -3,7 +3,7 @@ Package.describe({ summary: "Wrapper around the mongo npm package", - version: "3.0.7-rc17.5", + version: "3.0.7-rc17.6", documentation: null }); diff --git a/packages/promise/package.js b/packages/promise/package.js index c12a896c1e..436b70a932 100644 --- a/packages/promise/package.js +++ b/packages/promise/package.js @@ -1,6 +1,6 @@ Package.describe({ name: "promise", - version: "0.11.0-rc17.5", + version: "0.11.0-rc17.6", summary: "ECMAScript 2015 Promise polyfill with Fiber support", git: "https://github.com/meteor/promise", documentation: "README.md" diff --git a/packages/socket-stream-client/package.js b/packages/socket-stream-client/package.js index cb100213d6..9e6f2805d8 100644 --- a/packages/socket-stream-client/package.js +++ b/packages/socket-stream-client/package.js @@ -1,6 +1,6 @@ Package.describe({ name: "socket-stream-client", - version: "0.2.0-rc17.5", + version: "0.2.0-rc17.6", summary: "Provides the ClientStream abstraction used by ddp-client", documentation: "README.md" }); diff --git a/packages/test-helpers/package.js b/packages/test-helpers/package.js index 817ea332d5..7c5bfa9ec6 100644 --- a/packages/test-helpers/package.js +++ b/packages/test-helpers/package.js @@ -1,6 +1,6 @@ Package.describe({ summary: "Utility functions for tests", - version: '1.1.0-rc17.5' + version: '1.1.0-rc17.6' }); Package.onUse(function (api) { diff --git a/packages/tracker/package.js b/packages/tracker/package.js index bebd7222ad..f0c1d45400 100644 --- a/packages/tracker/package.js +++ b/packages/tracker/package.js @@ -1,6 +1,6 @@ Package.describe({ summary: "Dependency tracker to allow reactive callbacks", - version: "1.2.0-rc17.5" + version: "1.2.0-rc17.6" }); Package.onUse(function (api) { diff --git a/packages/webapp/package.js b/packages/webapp/package.js index ef5c95cf1e..b6d0173aac 100644 --- a/packages/webapp/package.js +++ b/packages/webapp/package.js @@ -1,6 +1,6 @@ Package.describe({ summary: "Serves a Meteor app over HTTP", - version: '1.6.0-rc17.5' + version: '1.6.0-rc17.6' }); Npm.depends({"basic-auth-connect": "1.0.0", diff --git a/scripts/admin/meteor-release-experimental.json b/scripts/admin/meteor-release-experimental.json index 2ac5778455..3ec57f9d39 100644 --- a/scripts/admin/meteor-release-experimental.json +++ b/scripts/admin/meteor-release-experimental.json @@ -1,6 +1,6 @@ { "track": "METEOR", - "version": "1.7-rc.5", + "version": "1.7-rc.6", "recommended": false, "official": false, "description": "Meteor" From 1892633dbae0fe173eede33d79b42817e28878a2 Mon Sep 17 00:00:00 2001 From: Ben Newman Date: Thu, 10 May 2018 14:24:39 -0400 Subject: [PATCH 0862/1355] Avoid unnecessary files.{rm_recursive,symlink} in symlinkWithOverwrite. When we copy node_modules directories during rebuilds, we try to create symlinks instead of doing a full recursive copy. Very often, however, the symlinks already exist, and they point to the right location already, so we can avoid recreating them for even better performance. Another optimization identified by using the qualia:profile package created by @veered: https://atmospherejs.com/qualia/profile --- tools/fs/files.js | 5 +++++ 1 file changed, 5 insertions(+) diff --git a/tools/fs/files.js b/tools/fs/files.js index e425061130..7c5a41e216 100644 --- a/tools/fs/files.js +++ b/tools/fs/files.js @@ -533,6 +533,11 @@ export function symlinkWithOverwrite(source, target) { files.symlink(source, target); } catch (e) { if (e.code === "EEXIST") { + if (files.readlink(target) === source) { + // If the target already points to the desired source, we don't + // need to do anything. + return; + } // overwrite existing link, file, or directory files.rm_recursive(target); files.symlink(source, target); From 65115ddab7836f9210be8eeb8329b433a6b2ee7c Mon Sep 17 00:00:00 2001 From: Ben Newman Date: Fri, 11 May 2018 18:04:43 -0400 Subject: [PATCH 0863/1355] Use wss:// WebSocket URL when location.protocol is https: Attempt to fix #9879. --- packages/socket-stream-client/urls.js | 6 ++++++ 1 file changed, 6 insertions(+) diff --git a/packages/socket-stream-client/urls.js b/packages/socket-stream-client/urls.js index 5f4c04f282..740b7e70bf 100644 --- a/packages/socket-stream-client/urls.js +++ b/packages/socket-stream-client/urls.js @@ -10,6 +10,12 @@ function translateUrl(url, newSchemeBase, subPath) { newSchemeBase = 'http'; } + if (typeof URL === "function") { + url = new URL(url, location.href).href; + } else if (url.startsWith("/")) { + url = location.protocol + "//" + location.host + url; + } + if (subPath !== "sockjs" && url.startsWith("/")) { url = Meteor.absoluteUrl(url.substr(1)); } From 9bf35f60d2d9a1956c82780b44fa2cdc0d7ebf13 Mon Sep 17 00:00:00 2001 From: Ben Newman Date: Sat, 12 May 2018 10:36:27 -0400 Subject: [PATCH 0864/1355] Revert "Use wss:// WebSocket URL when location.protocol is https:" This reverts commit 65115ddab7836f9210be8eeb8329b433a6b2ee7c. The root of the problem lies in the default value of options.secure used by Meteor.absoluteUrl. --- packages/socket-stream-client/urls.js | 6 ------ 1 file changed, 6 deletions(-) diff --git a/packages/socket-stream-client/urls.js b/packages/socket-stream-client/urls.js index 740b7e70bf..5f4c04f282 100644 --- a/packages/socket-stream-client/urls.js +++ b/packages/socket-stream-client/urls.js @@ -10,12 +10,6 @@ function translateUrl(url, newSchemeBase, subPath) { newSchemeBase = 'http'; } - if (typeof URL === "function") { - url = new URL(url, location.href).href; - } else if (url.startsWith("/")) { - url = location.protocol + "//" + location.host + url; - } - if (subPath !== "sockjs" && url.startsWith("/")) { url = Meteor.absoluteUrl(url.substr(1)); } From dacedda571e49593f747bb6944945c0b663bd5d8 Mon Sep 17 00:00:00 2001 From: Ben Newman Date: Sat, 12 May 2018 10:50:16 -0400 Subject: [PATCH 0865/1355] Use HTTPS in Meteor.absoluteUrl by default if window.location uses HTTPS. Another attempt to fix #9879. --- packages/meteor/url_common.js | 13 ++++++++++++- 1 file changed, 12 insertions(+), 1 deletion(-) diff --git a/packages/meteor/url_common.js b/packages/meteor/url_common.js index f90453dfc0..89afa1cd7c 100644 --- a/packages/meteor/url_common.js +++ b/packages/meteor/url_common.js @@ -44,11 +44,22 @@ Meteor.absoluteUrl = function (path, options) { }; // allow later packages to override default options -Meteor.absoluteUrl.defaultOptions = { }; +var defaultOptions = Meteor.absoluteUrl.defaultOptions = {}; + +// available only in a browser environment +var location = typeof window === "object" && window.location; + if (typeof __meteor_runtime_config__ === "object" && __meteor_runtime_config__.ROOT_URL) Meteor.absoluteUrl.defaultOptions.rootUrl = __meteor_runtime_config__.ROOT_URL; +// Make absolute URLs use HTTPS by default if the current window.location +// uses HTTPS. Since this is just a default, it can be overridden by +// passing { secure: false } if necessary. +if (location && + location.protocol === "https:") { + defaultOptions.secure = true; +} Meteor._relativeToSiteRootUrl = function (link) { if (typeof __meteor_runtime_config__ === "object" && From 5f131ffe3bfeecff33bb3ab91145d6d1abcab563 Mon Sep 17 00:00:00 2001 From: Ben Newman Date: Sat, 12 May 2018 11:21:49 -0400 Subject: [PATCH 0866/1355] Set default Meteor.absoluteUrl ROOT_URL from window.location. --- packages/meteor/url_common.js | 9 +++++++-- 1 file changed, 7 insertions(+), 2 deletions(-) diff --git a/packages/meteor/url_common.js b/packages/meteor/url_common.js index 89afa1cd7c..4d3c5d454b 100644 --- a/packages/meteor/url_common.js +++ b/packages/meteor/url_common.js @@ -50,8 +50,13 @@ var defaultOptions = Meteor.absoluteUrl.defaultOptions = {}; var location = typeof window === "object" && window.location; if (typeof __meteor_runtime_config__ === "object" && - __meteor_runtime_config__.ROOT_URL) - Meteor.absoluteUrl.defaultOptions.rootUrl = __meteor_runtime_config__.ROOT_URL; + __meteor_runtime_config__.ROOT_URL) { + defaultOptions.rootUrl = __meteor_runtime_config__.ROOT_URL; +} else if (location && + location.protocol && + location.host) { + defaultOptions.rootUrl = location.protocol + "//" + location.host; +} // Make absolute URLs use HTTPS by default if the current window.location // uses HTTPS. Since this is just a default, it can be overridden by From a8a97016b7c387a4944f9fdff30152f40d0dfd82 Mon Sep 17 00:00:00 2001 From: Ben Newman Date: Sat, 12 May 2018 11:22:20 -0400 Subject: [PATCH 0867/1355] Properly join url and path with / separator in Meteor.absoluteUrl. --- packages/meteor/url_common.js | 12 +++++++++--- packages/meteor/url_tests.js | 2 +- 2 files changed, 10 insertions(+), 4 deletions(-) diff --git a/packages/meteor/url_common.js b/packages/meteor/url_common.js index 4d3c5d454b..3259499e14 100644 --- a/packages/meteor/url_common.js +++ b/packages/meteor/url_common.js @@ -23,11 +23,17 @@ Meteor.absoluteUrl = function (path, options) { if (!/^http[s]?:\/\//i.test(url)) // url starts with 'http://' or 'https://' url = 'http://' + url; // we will later fix to https if options.secure is set - if (!/\/$/.test(url)) // url ends with '/' - url += '/'; + if (! url.endsWith("/")) { + url += "/"; + } - if (path) + if (path) { + // join url and path with a / separator + while (path.startsWith("/")) { + path = path.slice(1); + } url += path; + } // turn http to https if secure option is set, and we're not talking // to localhost. diff --git a/packages/meteor/url_tests.js b/packages/meteor/url_tests.js index ad686ceb16..365928e1e1 100644 --- a/packages/meteor/url_tests.js +++ b/packages/meteor/url_tests.js @@ -11,7 +11,7 @@ Tinytest.add("absolute-url - basics", function(test) { test.equal(Meteor.absoluteUrl('foo', {rootUrl: prefix + 'asdf.com/'}), 'http://asdf.com/foo'); test.equal(Meteor.absoluteUrl('/foo', {rootUrl: prefix + 'asdf.com'}), - 'http://asdf.com//foo'); + 'http://asdf.com/foo'); test.equal(Meteor.absoluteUrl('#foo', {rootUrl: prefix + 'asdf.com'}), 'http://asdf.com/#foo'); From 3b77bb51973cfbd98488a7203fc6d87c5c871a01 Mon Sep 17 00:00:00 2001 From: Ben Newman Date: Sat, 12 May 2018 11:23:08 -0400 Subject: [PATCH 0868/1355] Use Meteor.absoluteUrl again in dynamic-import fetchMissing function. Previously: https://github.com/meteor/meteor/commit/4aeb453c7b0a0a9556a11ea1928e63ab11302ef4 https://github.com/meteor/meteor/pull/9274#issuecomment-348080546 --- packages/dynamic-import/client.js | 6 +----- 1 file changed, 1 insertion(+), 5 deletions(-) diff --git a/packages/dynamic-import/client.js b/packages/dynamic-import/client.js index d34aef856f..298f61e69f 100644 --- a/packages/dynamic-import/client.js +++ b/packages/dynamic-import/client.js @@ -121,11 +121,7 @@ var fetchURL = require("./common.js").fetchURL; function fetchMissing(missingTree) { return new Promise(function (resolve, reject) { - // Always match the protocol (http or https) and the domain:port of - // the current page. - var url = "//" + location.host + fetchURL; - - HTTP.call("POST", url, { + HTTP.call("POST", Meteor.absoluteUrl(fetchURL), { query: secretKey ? "key=" + secretKey : void 0, data: missingTree }, function (error, result) { From 1b17025cd47caa8449401a621d67a026561d101f Mon Sep 17 00:00:00 2001 From: Ben Newman Date: Sat, 12 May 2018 11:39:23 -0400 Subject: [PATCH 0869/1355] Tolerate missing files in Builder#_ensureDirectory. Fixes #9882. --- tools/isobuild/builder.js | 10 +++++++++- 1 file changed, 9 insertions(+), 1 deletion(-) diff --git a/tools/isobuild/builder.js b/tools/isobuild/builder.js index b9566acf2b..6637d6428e 100644 --- a/tools/isobuild/builder.js +++ b/tools/isobuild/builder.js @@ -135,7 +135,15 @@ Previous builder: ${previousBuilder.outputPath}, this builder: ${outputPath}` if (partial in this.previousUsedAsFile) { if (this.previousUsedAsFile[partial]) { // was previously used as file, delete it, create a directory - files.unlink(partial); + try { + files.unlink(partial); + } catch (e) { + // If files.unlink(partial) failed because the file does not + // exist, then we can just pretend the unlink succeeded. + if (e.code !== "ENOENT") { + throw e; + } + } } else { // is already a directory needToMkdir = false; From 9b7231bdd40d6123f19548d966f02a6878ca5f82 Mon Sep 17 00:00:00 2001 From: Ben Newman Date: Sat, 12 May 2018 11:56:08 -0400 Subject: [PATCH 0870/1355] Update npm to version 5.10.0. Release notes: https://github.com/npm/npm/releases/tag/v5.10.0 No need to update our pacote fork this time, since pacote@7.6.1 is still what's used by npm@5.10.0: https://github.com/npm/npm/blob/v5.10.0/package.json#L105 --- History.md | 2 +- scripts/build-dev-bundle-common.sh | 2 +- scripts/dev-bundle-tool-package.js | 2 +- 3 files changed, 3 insertions(+), 3 deletions(-) diff --git a/History.md b/History.md index b8efd3f6f5..4fe28d4958 100644 --- a/History.md +++ b/History.md @@ -154,7 +154,7 @@ 8.10.0. Meteor 1.6.1.1 shipped with a custom build of Node that patched this problem, but that approach was never intended to be permanent. -* The `npm` package has been upgraded to version 5.8.0, and our +* The `npm` package has been upgraded to version 5.10.0, and our [fork](https://github.com/meteor/pacote/tree/v7.6.1-meteor) of its `pacote` dependency has been rebased against version 7.6.1. diff --git a/scripts/build-dev-bundle-common.sh b/scripts/build-dev-bundle-common.sh index 349d66a852..e30b3f2be6 100644 --- a/scripts/build-dev-bundle-common.sh +++ b/scripts/build-dev-bundle-common.sh @@ -8,7 +8,7 @@ ARCH=$(uname -m) NODE_VERSION=8.11.2-rc.1 MONGO_VERSION_64BIT=3.6.4 MONGO_VERSION_32BIT=3.2.19 -NPM_VERSION=5.8.0 +NPM_VERSION=5.10.0 # If we built Node from source on Jenkins, this is the build number. NODE_BUILD_NUMBER= diff --git a/scripts/dev-bundle-tool-package.js b/scripts/dev-bundle-tool-package.js index ea410724df..86b9f6f857 100644 --- a/scripts/dev-bundle-tool-package.js +++ b/scripts/dev-bundle-tool-package.js @@ -10,7 +10,7 @@ var packageJson = { dependencies: { // Explicit dependency because we are replacing it with a bundled version // and we want to make sure there are no dependencies on a higher version - npm: "5.8.0", + npm: "5.10.0", pacote: "https://github.com/meteor/pacote/tarball/2c16c509074bbba8ca5dd410caf808412ce79e6c", "node-gyp": "3.6.2", "node-pre-gyp": "0.6.36", From e25c2fbf454083cd1f7cbcc8cde385248b0d34b4 Mon Sep 17 00:00:00 2001 From: Ben Newman Date: Sat, 12 May 2018 12:05:40 -0400 Subject: [PATCH 0871/1355] Bump $BUNDLE_VERSION to 8.11.2.4 before rebuilding dev bundle. --- meteor | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/meteor b/meteor index 83c7334533..f961ed693d 100755 --- a/meteor +++ b/meteor @@ -1,6 +1,6 @@ #!/usr/bin/env bash -BUNDLE_VERSION=8.11.2.3 +BUNDLE_VERSION=8.11.2.4 # OS Check. Put here because here is where we download the precompiled # bundles that are arch specific. From dbdadc1b1178807eed6a933505488dfbad1cb996 Mon Sep 17 00:00:00 2001 From: Ben Newman Date: Sat, 12 May 2018 12:43:28 -0400 Subject: [PATCH 0872/1355] Avoid using "browser" field of package.json for inputFile.resolve. Fixes #9870. --- tools/isobuild/compiler-plugin.js | 10 ++++- .../.npm/package/npm-shrinkwrap.json | 45 ++++++++++++------- .../packages/modules-test-plugin/package.js | 3 +- .../packages/modules-test-plugin/plugin.js | 16 +++++++ 4 files changed, 56 insertions(+), 18 deletions(-) diff --git a/tools/isobuild/compiler-plugin.js b/tools/isobuild/compiler-plugin.js index a352c9d063..02c889bed0 100644 --- a/tools/isobuild/compiler-plugin.js +++ b/tools/isobuild/compiler-plugin.js @@ -367,7 +367,12 @@ class InputFile extends buildPluginModule.InputFile { } const batch = this._resourceSlot.packageSourceBatch; - const resolver = batch.getResolver(); + const resolver = batch.getResolver({ + // Make sure we use a server architecture when resolving, so that we + // don't accidentally use package.json "browser" fields. + // https://github.com/meteor/meteor/issues/9870 + targetArch: archinfo.host(), + }); const resolved = resolver.resolve(id, parentPath); if (resolved === "missing") { @@ -944,7 +949,7 @@ export class PackageSourceBatch { } } - getResolver() { + getResolver(options = {}) { if (this._resolver) { return this._resolver; } @@ -964,6 +969,7 @@ export class PackageSourceBatch { sourceRoot: this.sourceRoot, targetArch: this.processor.arch, extensions: this.importExtensions, + ...options, nodeModulesPaths, }); } diff --git a/tools/tests/apps/modules/packages/modules-test-plugin/.npm/package/npm-shrinkwrap.json b/tools/tests/apps/modules/packages/modules-test-plugin/.npm/package/npm-shrinkwrap.json index 205acd5d77..e3c638b6c3 100644 --- a/tools/tests/apps/modules/packages/modules-test-plugin/.npm/package/npm-shrinkwrap.json +++ b/tools/tests/apps/modules/packages/modules-test-plugin/.npm/package/npm-shrinkwrap.json @@ -22,39 +22,54 @@ "integrity": "sha1-wM5mIMtfLB+xArIPZXQRVcq8REo=" }, "babel-runtime": { - "version": "6.23.0", - "resolved": "https://registry.npmjs.org/babel-runtime/-/babel-runtime-6.23.0.tgz", - "integrity": "sha1-CpSJ8UTecO+zzkMArM2zKeL8VDs=" + "version": "6.26.0", + "resolved": "https://registry.npmjs.org/babel-runtime/-/babel-runtime-6.26.0.tgz", + "integrity": "sha1-llxwWGaOgrVde/4E/yM3vItWR/4=" }, "babel-types": { - "version": "6.25.0", - "resolved": "https://registry.npmjs.org/babel-types/-/babel-types-6.25.0.tgz", - "integrity": "sha1-cK+ySNVmDl0Y+BHZHIMDtUE0oY4=" + "version": "6.26.0", + "resolved": "https://registry.npmjs.org/babel-types/-/babel-types-6.26.0.tgz", + "integrity": "sha1-o7Bz+Uq0nrb6Vc1lInozQ4BjJJc=" }, "core-js": { - "version": "2.4.1", - "resolved": "https://registry.npmjs.org/core-js/-/core-js-2.4.1.tgz", - "integrity": "sha1-TekR5mew6ukSTjQlS1OupvxhjT4=" + "version": "2.5.6", + "resolved": "https://registry.npmjs.org/core-js/-/core-js-2.5.6.tgz", + "integrity": "sha512-lQUVfQi0aLix2xpyjrrJEvfuYCqPc/HwmTKsC/VNf8q0zsjX7SQZtp4+oRONN5Tsur9GDETPjj+Ub2iDiGZfSQ==" + }, + "de-indent": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/de-indent/-/de-indent-1.0.2.tgz", + "integrity": "sha1-sgOOhG3DO6pXlhKNCAS0VbjB4h0=" }, "esutils": { "version": "2.0.2", "resolved": "https://registry.npmjs.org/esutils/-/esutils-2.0.2.tgz", "integrity": "sha1-Cr9PHKpbyx96nYrMbepPqqBLrJs=" }, + "he": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/he/-/he-1.1.1.tgz", + "integrity": "sha1-k0EP0hsAlzUVH4howvJx80J+I/0=" + }, "lodash": { - "version": "4.17.4", - "resolved": "https://registry.npmjs.org/lodash/-/lodash-4.17.4.tgz", - "integrity": "sha1-eCA6TRwyiuHYbcpkYONptX9AVa4=" + "version": "4.17.10", + "resolved": "https://registry.npmjs.org/lodash/-/lodash-4.17.10.tgz", + "integrity": "sha512-UejweD1pDoXu+AD825lWwp4ZGtSwgnpZxb3JDViD7StjQz+Nb/6l093lx4OQ0foGWNRoc19mWy7BzL+UAK2iVg==" }, "regenerator-runtime": { - "version": "0.10.5", - "resolved": "https://registry.npmjs.org/regenerator-runtime/-/regenerator-runtime-0.10.5.tgz", - "integrity": "sha1-M2w+/BIgrc7dosn6tntaeVWjNlg=" + "version": "0.11.1", + "resolved": "https://registry.npmjs.org/regenerator-runtime/-/regenerator-runtime-0.11.1.tgz", + "integrity": "sha512-MguG95oij0fC3QV3URf4V2SDYGJhJnJGqvIIgdECeODCT98wSWDAJ94SSuVpYQUoTcGUIL6L4yNB7j1DFFHSBg==" }, "to-fast-properties": { "version": "1.0.3", "resolved": "https://registry.npmjs.org/to-fast-properties/-/to-fast-properties-1.0.3.tgz", "integrity": "sha1-uDVx+k2MJbguIxsG46MFXeTKGkc=" + }, + "vue-template-compiler": { + "version": "2.5.16", + "resolved": "https://registry.npmjs.org/vue-template-compiler/-/vue-template-compiler-2.5.16.tgz", + "integrity": "sha512-ZbuhCcF/hTYmldoUOVcu2fcbeSAZnfzwDskGduOrnjBiIWHgELAd+R8nAtX80aZkceWDKGQ6N9/0/EUpt+l22A==" } } } diff --git a/tools/tests/apps/modules/packages/modules-test-plugin/package.js b/tools/tests/apps/modules/packages/modules-test-plugin/package.js index 1d9945130f..3810cecf88 100644 --- a/tools/tests/apps/modules/packages/modules-test-plugin/package.js +++ b/tools/tests/apps/modules/packages/modules-test-plugin/package.js @@ -22,7 +22,8 @@ Package.registerBuildPlugin({ Npm.depends({ arson: "0.2.3", "babel-plugin-transform-class-properties": "6.9.0", - "babel-plugin-transform-strict-mode": "6.8.0" + "babel-plugin-transform-strict-mode": "6.8.0", + "vue-template-compiler": "2.5.16" }); Package.onUse(function(api) { diff --git a/tools/tests/apps/modules/packages/modules-test-plugin/plugin.js b/tools/tests/apps/modules/packages/modules-test-plugin/plugin.js index 3e889fb270..e9f0d5313a 100644 --- a/tools/tests/apps/modules/packages/modules-test-plugin/plugin.js +++ b/tools/tests/apps/modules/packages/modules-test-plugin/plugin.js @@ -21,6 +21,9 @@ class ArsonCompiler { processFilesForTarget(inputFiles) { assert.strictEqual(this.expectedName, "compile-arson"); + assert.ok(inputFiles.length > 0); + + let vueCheckCount = 0; inputFiles.forEach(file => { const arson = file.require("arson"); @@ -39,6 +42,19 @@ class ArsonCompiler { ].join("\n"), hash: file.getSourceHash() }); + + if (file.getPackageName() === "modules-test-plugin") { + const vueCompilerId = file.resolve("vue-template-compiler"); + // Make sure resolution does not use the "browser" field of + // vue-template-compiler/package.json. + assert.strictEqual( + vueCompilerId.split("/").pop(), + "index.js" + ); + ++vueCheckCount; + } }); + + assert.ok(vueCheckCount > 0); } } From 82ef207557ef50bd7a0a3018c27489ac1378bd1e Mon Sep 17 00:00:00 2001 From: Ben Newman Date: Sat, 12 May 2018 12:49:52 -0400 Subject: [PATCH 0873/1355] Bump package versions for 1.7-rc.7 release. --- packages/appcache/package.js | 2 +- packages/babel-compiler/package.js | 2 +- packages/babel-runtime/package.js | 2 +- packages/boilerplate-generator-tests/package.js | 2 +- packages/boilerplate-generator/package.js | 2 +- packages/dynamic-import/package.js | 2 +- packages/ecmascript-runtime-client/package.js | 2 +- packages/ecmascript-runtime-server/package.js | 2 +- packages/ecmascript-runtime/package.js | 2 +- packages/ecmascript/package.js | 2 +- packages/es5-shim/package.js | 2 +- packages/facebook-oauth/package.js | 2 +- packages/meteor-base/package.js | 2 +- packages/meteor-tool/package.js | 2 +- packages/meteor/package.js | 2 +- packages/modern-browsers/package.js | 2 +- packages/modules-runtime/package.js | 2 +- packages/mongo/package.js | 2 +- packages/npm-mongo/package.js | 2 +- packages/promise/package.js | 2 +- packages/socket-stream-client/package.js | 2 +- packages/test-helpers/package.js | 2 +- packages/tracker/package.js | 2 +- packages/webapp/package.js | 2 +- scripts/admin/meteor-release-experimental.json | 2 +- 25 files changed, 25 insertions(+), 25 deletions(-) diff --git a/packages/appcache/package.js b/packages/appcache/package.js index 536cdbb75a..0df024f081 100644 --- a/packages/appcache/package.js +++ b/packages/appcache/package.js @@ -1,6 +1,6 @@ Package.describe({ summary: "Enable the application cache in the browser", - version: "1.2.0-rc17.6", + version: "1.2.0-rc17.7", }); Package.onUse(api => { diff --git a/packages/babel-compiler/package.js b/packages/babel-compiler/package.js index 5744b4733d..66696581a2 100644 --- a/packages/babel-compiler/package.js +++ b/packages/babel-compiler/package.js @@ -6,7 +6,7 @@ Package.describe({ // isn't possible because you can't publish a non-recommended // release with package versions that don't have a pre-release // identifier at the end (eg, -dev) - version: '7.1.0-rc17.6' + version: '7.1.0-rc17.7' }); Npm.depends({ diff --git a/packages/babel-runtime/package.js b/packages/babel-runtime/package.js index 95caf02567..1dc01a7a8b 100644 --- a/packages/babel-runtime/package.js +++ b/packages/babel-runtime/package.js @@ -1,7 +1,7 @@ Package.describe({ name: "babel-runtime", summary: "Runtime support for output of Babel transpiler", - version: '1.3.0-rc17.6', + version: '1.3.0-rc17.7', documentation: 'README.md' }); diff --git a/packages/boilerplate-generator-tests/package.js b/packages/boilerplate-generator-tests/package.js index 0382ca095d..3f07ad4f56 100644 --- a/packages/boilerplate-generator-tests/package.js +++ b/packages/boilerplate-generator-tests/package.js @@ -2,7 +2,7 @@ Package.describe({ // These tests are in a separate package so that we can Npm.depend on // parse5, a html parsing library. summary: "Tests for the boilerplate-generator package", - version: '1.5.0-rc17.6', + version: '1.5.0-rc17.7', documentation: null }); diff --git a/packages/boilerplate-generator/package.js b/packages/boilerplate-generator/package.js index 8688f748a1..a6032e89a6 100644 --- a/packages/boilerplate-generator/package.js +++ b/packages/boilerplate-generator/package.js @@ -1,6 +1,6 @@ Package.describe({ summary: "Generates the boilerplate html from program's manifest", - version: '1.5.0-rc17.6' + version: '1.5.0-rc17.7' }); Npm.depends({ diff --git a/packages/dynamic-import/package.js b/packages/dynamic-import/package.js index 9b300684ca..340de2307c 100644 --- a/packages/dynamic-import/package.js +++ b/packages/dynamic-import/package.js @@ -1,6 +1,6 @@ Package.describe({ name: "dynamic-import", - version: "0.4.0-rc17.6", + version: "0.4.0-rc17.7", summary: "Runtime support for Meteor 1.5 dynamic import(...) syntax", documentation: "README.md" }); diff --git a/packages/ecmascript-runtime-client/package.js b/packages/ecmascript-runtime-client/package.js index 9a8f7a9fcf..9144a4d284 100644 --- a/packages/ecmascript-runtime-client/package.js +++ b/packages/ecmascript-runtime-client/package.js @@ -1,6 +1,6 @@ Package.describe({ name: "ecmascript-runtime-client", - version: "0.7.0-rc17.6", + version: "0.7.0-rc17.7", summary: "Polyfills for new ECMAScript 2015 APIs like Map and Set", git: "https://github.com/meteor/meteor/tree/devel/packages/ecmascript-runtime-client", documentation: "README.md" diff --git a/packages/ecmascript-runtime-server/package.js b/packages/ecmascript-runtime-server/package.js index b0c5246e87..fc49dc7786 100644 --- a/packages/ecmascript-runtime-server/package.js +++ b/packages/ecmascript-runtime-server/package.js @@ -1,6 +1,6 @@ Package.describe({ name: "ecmascript-runtime-server", - version: "0.7.0-rc17.6", + version: "0.7.0-rc17.7", summary: "Polyfills for new ECMAScript 2015 APIs like Map and Set", git: "https://github.com/meteor/meteor/tree/devel/packages/ecmascript-runtime-client", documentation: "README.md" diff --git a/packages/ecmascript-runtime/package.js b/packages/ecmascript-runtime/package.js index 1fc1ff1d63..9e4513177b 100644 --- a/packages/ecmascript-runtime/package.js +++ b/packages/ecmascript-runtime/package.js @@ -1,6 +1,6 @@ Package.describe({ name: "ecmascript-runtime", - version: "0.7.0-rc17.6", + version: "0.7.0-rc17.7", summary: "Polyfills for new ECMAScript 2015 APIs like Map and Set", git: "https://github.com/meteor/ecmascript-runtime", documentation: "README.md" diff --git a/packages/ecmascript/package.js b/packages/ecmascript/package.js index 6cc79d15dc..71f030b0ad 100644 --- a/packages/ecmascript/package.js +++ b/packages/ecmascript/package.js @@ -1,6 +1,6 @@ Package.describe({ name: 'ecmascript', - version: '0.11.0-rc17.6', + version: '0.11.0-rc17.7', summary: 'Compiler plugin that supports ES2015+ in all .js files', documentation: 'README.md' }); diff --git a/packages/es5-shim/package.js b/packages/es5-shim/package.js index bf60b68c21..6e6b9b9980 100644 --- a/packages/es5-shim/package.js +++ b/packages/es5-shim/package.js @@ -1,6 +1,6 @@ Package.describe({ name: "es5-shim", - version: "4.8.0-rc17.6", + version: "4.8.0-rc17.7", summary: "Shims and polyfills to improve ECMAScript 5 support", documentation: "README.md" }); diff --git a/packages/facebook-oauth/package.js b/packages/facebook-oauth/package.js index d47996b7cf..7113e79145 100644 --- a/packages/facebook-oauth/package.js +++ b/packages/facebook-oauth/package.js @@ -1,6 +1,6 @@ Package.describe({ summary: "Facebook OAuth flow", - version: "1.5.0-rc17.6" + version: "1.5.0-rc17.7" }); Package.onUse(function(api) { diff --git a/packages/meteor-base/package.js b/packages/meteor-base/package.js index ddefb018d5..8e568e53c1 100644 --- a/packages/meteor-base/package.js +++ b/packages/meteor-base/package.js @@ -1,6 +1,6 @@ Package.describe({ name: 'meteor-base', - version: '1.4.0-rc17.6', + version: '1.4.0-rc17.7', // Brief, one-line summary of the package. summary: 'Packages that every Meteor app needs', // By default, Meteor will default to using README.md for documentation. diff --git a/packages/meteor-tool/package.js b/packages/meteor-tool/package.js index 2cc7e43b89..10e6c9df5e 100644 --- a/packages/meteor-tool/package.js +++ b/packages/meteor-tool/package.js @@ -1,6 +1,6 @@ Package.describe({ summary: "The Meteor command-line tool", - version: '1.7.0-rc.6' + version: '1.7.0-rc.7' }); Package.includeTool(); diff --git a/packages/meteor/package.js b/packages/meteor/package.js index da85b1d3b7..f6dba02297 100644 --- a/packages/meteor/package.js +++ b/packages/meteor/package.js @@ -2,7 +2,7 @@ Package.describe({ summary: "Core Meteor environment", - version: '1.9.0-rc17.6' + version: '1.9.0-rc17.7' }); Package.registerBuildPlugin({ diff --git a/packages/modern-browsers/package.js b/packages/modern-browsers/package.js index e453bb1f01..51b92ead94 100644 --- a/packages/modern-browsers/package.js +++ b/packages/modern-browsers/package.js @@ -1,6 +1,6 @@ Package.describe({ name: "modern-browsers", - version: "0.1.0-rc17.6", + version: "0.1.0-rc17.7", summary: "API for defining the boundary between modern and legacy " + "JavaScript clients", documentation: "README.md" diff --git a/packages/modules-runtime/package.js b/packages/modules-runtime/package.js index d45c97c7dc..f3658cba70 100644 --- a/packages/modules-runtime/package.js +++ b/packages/modules-runtime/package.js @@ -1,6 +1,6 @@ Package.describe({ name: "modules-runtime", - version: "0.10.0-rc17.6", + version: "0.10.0-rc17.7", summary: "CommonJS module system", git: "https://github.com/benjamn/install", documentation: "README.md" diff --git a/packages/mongo/package.js b/packages/mongo/package.js index 59eca8b220..1ded41d297 100644 --- a/packages/mongo/package.js +++ b/packages/mongo/package.js @@ -9,7 +9,7 @@ Package.describe({ summary: "Adaptor for using MongoDB and Minimongo over DDP", - version: '1.5.0-rc17.6' + version: '1.5.0-rc17.7' }); Npm.depends({ diff --git a/packages/npm-mongo/package.js b/packages/npm-mongo/package.js index f262ae5c47..a881aa0490 100644 --- a/packages/npm-mongo/package.js +++ b/packages/npm-mongo/package.js @@ -3,7 +3,7 @@ Package.describe({ summary: "Wrapper around the mongo npm package", - version: "3.0.7-rc17.6", + version: "3.0.7-rc17.7", documentation: null }); diff --git a/packages/promise/package.js b/packages/promise/package.js index 436b70a932..843ef2c89f 100644 --- a/packages/promise/package.js +++ b/packages/promise/package.js @@ -1,6 +1,6 @@ Package.describe({ name: "promise", - version: "0.11.0-rc17.6", + version: "0.11.0-rc17.7", summary: "ECMAScript 2015 Promise polyfill with Fiber support", git: "https://github.com/meteor/promise", documentation: "README.md" diff --git a/packages/socket-stream-client/package.js b/packages/socket-stream-client/package.js index 9e6f2805d8..e6af35d8cf 100644 --- a/packages/socket-stream-client/package.js +++ b/packages/socket-stream-client/package.js @@ -1,6 +1,6 @@ Package.describe({ name: "socket-stream-client", - version: "0.2.0-rc17.6", + version: "0.2.0-rc17.7", summary: "Provides the ClientStream abstraction used by ddp-client", documentation: "README.md" }); diff --git a/packages/test-helpers/package.js b/packages/test-helpers/package.js index 7c5bfa9ec6..9449d0cf89 100644 --- a/packages/test-helpers/package.js +++ b/packages/test-helpers/package.js @@ -1,6 +1,6 @@ Package.describe({ summary: "Utility functions for tests", - version: '1.1.0-rc17.6' + version: '1.1.0-rc17.7' }); Package.onUse(function (api) { diff --git a/packages/tracker/package.js b/packages/tracker/package.js index f0c1d45400..f515369c22 100644 --- a/packages/tracker/package.js +++ b/packages/tracker/package.js @@ -1,6 +1,6 @@ Package.describe({ summary: "Dependency tracker to allow reactive callbacks", - version: "1.2.0-rc17.6" + version: "1.2.0-rc17.7" }); Package.onUse(function (api) { diff --git a/packages/webapp/package.js b/packages/webapp/package.js index b6d0173aac..d0965bff3d 100644 --- a/packages/webapp/package.js +++ b/packages/webapp/package.js @@ -1,6 +1,6 @@ Package.describe({ summary: "Serves a Meteor app over HTTP", - version: '1.6.0-rc17.6' + version: '1.6.0-rc17.7' }); Npm.depends({"basic-auth-connect": "1.0.0", diff --git a/scripts/admin/meteor-release-experimental.json b/scripts/admin/meteor-release-experimental.json index 3ec57f9d39..6e3fe14d95 100644 --- a/scripts/admin/meteor-release-experimental.json +++ b/scripts/admin/meteor-release-experimental.json @@ -1,6 +1,6 @@ { "track": "METEOR", - "version": "1.7-rc.6", + "version": "1.7-rc.7", "recommended": false, "official": false, "description": "Meteor" From 5aab6d2a129a8214ff2d6c22ee7b0b848482a222 Mon Sep 17 00:00:00 2001 From: Ben Newman Date: Sat, 12 May 2018 13:29:01 -0400 Subject: [PATCH 0874/1355] Avoid caching Resolver on PackageSourceBatch, but cache node_modules paths. Now that getResolver takes options, it seems inappropriate to cache only the first resolver created, since multiple resolvers might be created with different options. Fortunately, caching Resolver objects is not strictly necessary (even for performance), since Resolver.getOrCreate already caches based on the options it receives. The only other meaningful work PackageSourceBatch#getResolver was doing was computing the nodeModulesPaths option, so I've cached that. --- tools/isobuild/compiler-plugin.js | 36 ++++++++++++++++--------------- 1 file changed, 19 insertions(+), 17 deletions(-) diff --git a/tools/isobuild/compiler-plugin.js b/tools/isobuild/compiler-plugin.js index 02c889bed0..4f54e52022 100644 --- a/tools/isobuild/compiler-plugin.js +++ b/tools/isobuild/compiler-plugin.js @@ -856,7 +856,7 @@ export class PackageSourceBatch { self.sourceRoot = sourceRoot; self.linkerCacheDir = linkerCacheDir; self.importExtensions = [".js", ".json"]; - self._resolver = null; + self._nodeModulesPaths = null; var sourceProcessorSet = self._getSourceProcessorSet(); @@ -950,30 +950,32 @@ export class PackageSourceBatch { } getResolver(options = {}) { - if (this._resolver) { - return this._resolver; - } - - const nmds = this.unibuild.nodeModulesDirectories; - const nodeModulesPaths = []; - - _.each(nmds, (nmd, path) => { - if (! nmd.local) { - nodeModulesPaths.push( - files.convertToOSPath(path.replace(/\/$/g, ""))); - } - }); - - return this._resolver = Resolver.getOrCreate({ + return Resolver.getOrCreate({ caller: "PackageSourceBatch#getResolver", sourceRoot: this.sourceRoot, targetArch: this.processor.arch, extensions: this.importExtensions, + nodeModulesPaths: this._getNodeModulesPaths(), ...options, - nodeModulesPaths, }); } + _getNodeModulesPaths() { + if (! this._nodeModulesPaths) { + const nmds = this.unibuild.nodeModulesDirectories; + this._nodeModulesPaths = []; + + _.each(nmds, (nmd, path) => { + if (! nmd.local) { + this._nodeModulesPaths.push( + files.convertToOSPath(path.replace(/\/$/g, ""))); + } + }); + } + + return this._nodeModulesPaths; + } + _getSourceProcessorSet() { const self = this; From 612ff48c8f04e2b99262dab8bf59ab2737fb0a29 Mon Sep 17 00:00:00 2001 From: Lukas Strassel Date: Sat, 12 May 2018 20:45:46 +0200 Subject: [PATCH 0875/1355] Polyfill Array.prototype.{flatten,flatMap} in modern bundle (#9883) With the split of modern/legacy bundles, we no longer polyfill native features. While Array.prototype.includes is available in modern browsers, flatten and flatMap are not. This PR re-adds those polyfills to the modern bundle, for consistency with the legacy bundle. --- packages/ecmascript-runtime-client/modern.js | 2 ++ 1 file changed, 2 insertions(+) diff --git a/packages/ecmascript-runtime-client/modern.js b/packages/ecmascript-runtime-client/modern.js index 7d8307deb5..0453acf40e 100644 --- a/packages/ecmascript-runtime-client/modern.js +++ b/packages/ecmascript-runtime-client/modern.js @@ -2,6 +2,8 @@ require("core-js/modules/es6.object.is"); require("core-js/modules/es6.function.name"); require("core-js/modules/es6.number.is-finite"); require("core-js/modules/es6.number.is-nan"); +require("core-js/modules/es7.array.flatten"); +require("core-js/modules/es7.array.flat-map"); require("core-js/modules/es7.object.values"); require("core-js/modules/es7.object.entries"); require("core-js/modules/es7.object.get-own-property-descriptors"); From 1f46a2afc3374a3bb28fa91e4430c621ed818b25 Mon Sep 17 00:00:00 2001 From: Ben Newman Date: Sat, 12 May 2018 14:47:54 -0400 Subject: [PATCH 0876/1355] Bump package versions for 1.7-rc.8 release. --- packages/appcache/package.js | 2 +- packages/babel-compiler/package.js | 2 +- packages/babel-runtime/package.js | 2 +- packages/boilerplate-generator-tests/package.js | 2 +- packages/boilerplate-generator/package.js | 2 +- packages/dynamic-import/package.js | 2 +- packages/ecmascript-runtime-client/package.js | 2 +- packages/ecmascript-runtime-server/package.js | 2 +- packages/ecmascript-runtime/package.js | 2 +- packages/ecmascript/package.js | 2 +- packages/es5-shim/package.js | 2 +- packages/facebook-oauth/package.js | 2 +- packages/meteor-base/package.js | 2 +- packages/meteor-tool/package.js | 2 +- packages/meteor/package.js | 2 +- packages/modern-browsers/package.js | 2 +- packages/modules-runtime/package.js | 2 +- packages/mongo/package.js | 2 +- packages/npm-mongo/package.js | 2 +- packages/promise/package.js | 2 +- packages/socket-stream-client/package.js | 2 +- packages/test-helpers/package.js | 2 +- packages/tracker/package.js | 2 +- packages/webapp/package.js | 2 +- scripts/admin/meteor-release-experimental.json | 2 +- 25 files changed, 25 insertions(+), 25 deletions(-) diff --git a/packages/appcache/package.js b/packages/appcache/package.js index 0df024f081..7121aeeeca 100644 --- a/packages/appcache/package.js +++ b/packages/appcache/package.js @@ -1,6 +1,6 @@ Package.describe({ summary: "Enable the application cache in the browser", - version: "1.2.0-rc17.7", + version: "1.2.0-rc17.8", }); Package.onUse(api => { diff --git a/packages/babel-compiler/package.js b/packages/babel-compiler/package.js index 66696581a2..cfd8b1fb71 100644 --- a/packages/babel-compiler/package.js +++ b/packages/babel-compiler/package.js @@ -6,7 +6,7 @@ Package.describe({ // isn't possible because you can't publish a non-recommended // release with package versions that don't have a pre-release // identifier at the end (eg, -dev) - version: '7.1.0-rc17.7' + version: '7.1.0-rc17.8' }); Npm.depends({ diff --git a/packages/babel-runtime/package.js b/packages/babel-runtime/package.js index 1dc01a7a8b..0e7737614e 100644 --- a/packages/babel-runtime/package.js +++ b/packages/babel-runtime/package.js @@ -1,7 +1,7 @@ Package.describe({ name: "babel-runtime", summary: "Runtime support for output of Babel transpiler", - version: '1.3.0-rc17.7', + version: '1.3.0-rc17.8', documentation: 'README.md' }); diff --git a/packages/boilerplate-generator-tests/package.js b/packages/boilerplate-generator-tests/package.js index 3f07ad4f56..6ce68ee88d 100644 --- a/packages/boilerplate-generator-tests/package.js +++ b/packages/boilerplate-generator-tests/package.js @@ -2,7 +2,7 @@ Package.describe({ // These tests are in a separate package so that we can Npm.depend on // parse5, a html parsing library. summary: "Tests for the boilerplate-generator package", - version: '1.5.0-rc17.7', + version: '1.5.0-rc17.8', documentation: null }); diff --git a/packages/boilerplate-generator/package.js b/packages/boilerplate-generator/package.js index a6032e89a6..64faaf3a02 100644 --- a/packages/boilerplate-generator/package.js +++ b/packages/boilerplate-generator/package.js @@ -1,6 +1,6 @@ Package.describe({ summary: "Generates the boilerplate html from program's manifest", - version: '1.5.0-rc17.7' + version: '1.5.0-rc17.8' }); Npm.depends({ diff --git a/packages/dynamic-import/package.js b/packages/dynamic-import/package.js index 340de2307c..cfb8f422a1 100644 --- a/packages/dynamic-import/package.js +++ b/packages/dynamic-import/package.js @@ -1,6 +1,6 @@ Package.describe({ name: "dynamic-import", - version: "0.4.0-rc17.7", + version: "0.4.0-rc17.8", summary: "Runtime support for Meteor 1.5 dynamic import(...) syntax", documentation: "README.md" }); diff --git a/packages/ecmascript-runtime-client/package.js b/packages/ecmascript-runtime-client/package.js index 9144a4d284..7f52e80b40 100644 --- a/packages/ecmascript-runtime-client/package.js +++ b/packages/ecmascript-runtime-client/package.js @@ -1,6 +1,6 @@ Package.describe({ name: "ecmascript-runtime-client", - version: "0.7.0-rc17.7", + version: "0.7.0-rc17.8", summary: "Polyfills for new ECMAScript 2015 APIs like Map and Set", git: "https://github.com/meteor/meteor/tree/devel/packages/ecmascript-runtime-client", documentation: "README.md" diff --git a/packages/ecmascript-runtime-server/package.js b/packages/ecmascript-runtime-server/package.js index fc49dc7786..8ffecb1975 100644 --- a/packages/ecmascript-runtime-server/package.js +++ b/packages/ecmascript-runtime-server/package.js @@ -1,6 +1,6 @@ Package.describe({ name: "ecmascript-runtime-server", - version: "0.7.0-rc17.7", + version: "0.7.0-rc17.8", summary: "Polyfills for new ECMAScript 2015 APIs like Map and Set", git: "https://github.com/meteor/meteor/tree/devel/packages/ecmascript-runtime-client", documentation: "README.md" diff --git a/packages/ecmascript-runtime/package.js b/packages/ecmascript-runtime/package.js index 9e4513177b..a77712887a 100644 --- a/packages/ecmascript-runtime/package.js +++ b/packages/ecmascript-runtime/package.js @@ -1,6 +1,6 @@ Package.describe({ name: "ecmascript-runtime", - version: "0.7.0-rc17.7", + version: "0.7.0-rc17.8", summary: "Polyfills for new ECMAScript 2015 APIs like Map and Set", git: "https://github.com/meteor/ecmascript-runtime", documentation: "README.md" diff --git a/packages/ecmascript/package.js b/packages/ecmascript/package.js index 71f030b0ad..a6acd4aa16 100644 --- a/packages/ecmascript/package.js +++ b/packages/ecmascript/package.js @@ -1,6 +1,6 @@ Package.describe({ name: 'ecmascript', - version: '0.11.0-rc17.7', + version: '0.11.0-rc17.8', summary: 'Compiler plugin that supports ES2015+ in all .js files', documentation: 'README.md' }); diff --git a/packages/es5-shim/package.js b/packages/es5-shim/package.js index 6e6b9b9980..7c3c8b39bf 100644 --- a/packages/es5-shim/package.js +++ b/packages/es5-shim/package.js @@ -1,6 +1,6 @@ Package.describe({ name: "es5-shim", - version: "4.8.0-rc17.7", + version: "4.8.0-rc17.8", summary: "Shims and polyfills to improve ECMAScript 5 support", documentation: "README.md" }); diff --git a/packages/facebook-oauth/package.js b/packages/facebook-oauth/package.js index 7113e79145..1d45d6d829 100644 --- a/packages/facebook-oauth/package.js +++ b/packages/facebook-oauth/package.js @@ -1,6 +1,6 @@ Package.describe({ summary: "Facebook OAuth flow", - version: "1.5.0-rc17.7" + version: "1.5.0-rc17.8" }); Package.onUse(function(api) { diff --git a/packages/meteor-base/package.js b/packages/meteor-base/package.js index 8e568e53c1..354b2b8639 100644 --- a/packages/meteor-base/package.js +++ b/packages/meteor-base/package.js @@ -1,6 +1,6 @@ Package.describe({ name: 'meteor-base', - version: '1.4.0-rc17.7', + version: '1.4.0-rc17.8', // Brief, one-line summary of the package. summary: 'Packages that every Meteor app needs', // By default, Meteor will default to using README.md for documentation. diff --git a/packages/meteor-tool/package.js b/packages/meteor-tool/package.js index 10e6c9df5e..7429f0f2c0 100644 --- a/packages/meteor-tool/package.js +++ b/packages/meteor-tool/package.js @@ -1,6 +1,6 @@ Package.describe({ summary: "The Meteor command-line tool", - version: '1.7.0-rc.7' + version: '1.7.0-rc.8' }); Package.includeTool(); diff --git a/packages/meteor/package.js b/packages/meteor/package.js index f6dba02297..7b7742d6d2 100644 --- a/packages/meteor/package.js +++ b/packages/meteor/package.js @@ -2,7 +2,7 @@ Package.describe({ summary: "Core Meteor environment", - version: '1.9.0-rc17.7' + version: '1.9.0-rc17.8' }); Package.registerBuildPlugin({ diff --git a/packages/modern-browsers/package.js b/packages/modern-browsers/package.js index 51b92ead94..b1af05d965 100644 --- a/packages/modern-browsers/package.js +++ b/packages/modern-browsers/package.js @@ -1,6 +1,6 @@ Package.describe({ name: "modern-browsers", - version: "0.1.0-rc17.7", + version: "0.1.0-rc17.8", summary: "API for defining the boundary between modern and legacy " + "JavaScript clients", documentation: "README.md" diff --git a/packages/modules-runtime/package.js b/packages/modules-runtime/package.js index f3658cba70..ad6e683cb2 100644 --- a/packages/modules-runtime/package.js +++ b/packages/modules-runtime/package.js @@ -1,6 +1,6 @@ Package.describe({ name: "modules-runtime", - version: "0.10.0-rc17.7", + version: "0.10.0-rc17.8", summary: "CommonJS module system", git: "https://github.com/benjamn/install", documentation: "README.md" diff --git a/packages/mongo/package.js b/packages/mongo/package.js index 1ded41d297..a5b339576e 100644 --- a/packages/mongo/package.js +++ b/packages/mongo/package.js @@ -9,7 +9,7 @@ Package.describe({ summary: "Adaptor for using MongoDB and Minimongo over DDP", - version: '1.5.0-rc17.7' + version: '1.5.0-rc17.8' }); Npm.depends({ diff --git a/packages/npm-mongo/package.js b/packages/npm-mongo/package.js index a881aa0490..0dda0a1c2b 100644 --- a/packages/npm-mongo/package.js +++ b/packages/npm-mongo/package.js @@ -3,7 +3,7 @@ Package.describe({ summary: "Wrapper around the mongo npm package", - version: "3.0.7-rc17.7", + version: "3.0.7-rc17.8", documentation: null }); diff --git a/packages/promise/package.js b/packages/promise/package.js index 843ef2c89f..96f42588d1 100644 --- a/packages/promise/package.js +++ b/packages/promise/package.js @@ -1,6 +1,6 @@ Package.describe({ name: "promise", - version: "0.11.0-rc17.7", + version: "0.11.0-rc17.8", summary: "ECMAScript 2015 Promise polyfill with Fiber support", git: "https://github.com/meteor/promise", documentation: "README.md" diff --git a/packages/socket-stream-client/package.js b/packages/socket-stream-client/package.js index e6af35d8cf..18fd516b63 100644 --- a/packages/socket-stream-client/package.js +++ b/packages/socket-stream-client/package.js @@ -1,6 +1,6 @@ Package.describe({ name: "socket-stream-client", - version: "0.2.0-rc17.7", + version: "0.2.0-rc17.8", summary: "Provides the ClientStream abstraction used by ddp-client", documentation: "README.md" }); diff --git a/packages/test-helpers/package.js b/packages/test-helpers/package.js index 9449d0cf89..e38403a9eb 100644 --- a/packages/test-helpers/package.js +++ b/packages/test-helpers/package.js @@ -1,6 +1,6 @@ Package.describe({ summary: "Utility functions for tests", - version: '1.1.0-rc17.7' + version: '1.1.0-rc17.8' }); Package.onUse(function (api) { diff --git a/packages/tracker/package.js b/packages/tracker/package.js index f515369c22..966f89c1a2 100644 --- a/packages/tracker/package.js +++ b/packages/tracker/package.js @@ -1,6 +1,6 @@ Package.describe({ summary: "Dependency tracker to allow reactive callbacks", - version: "1.2.0-rc17.7" + version: "1.2.0-rc17.8" }); Package.onUse(function (api) { diff --git a/packages/webapp/package.js b/packages/webapp/package.js index d0965bff3d..a4ea71311c 100644 --- a/packages/webapp/package.js +++ b/packages/webapp/package.js @@ -1,6 +1,6 @@ Package.describe({ summary: "Serves a Meteor app over HTTP", - version: '1.6.0-rc17.7' + version: '1.6.0-rc17.8' }); Npm.depends({"basic-auth-connect": "1.0.0", diff --git a/scripts/admin/meteor-release-experimental.json b/scripts/admin/meteor-release-experimental.json index 6e3fe14d95..b3ecd3c1c9 100644 --- a/scripts/admin/meteor-release-experimental.json +++ b/scripts/admin/meteor-release-experimental.json @@ -1,6 +1,6 @@ { "track": "METEOR", - "version": "1.7-rc.7", + "version": "1.7-rc.8", "recommended": false, "official": false, "description": "Meteor" From 415e21f445d18adfd236166d257ed0366b50407b Mon Sep 17 00:00:00 2001 From: StorytellerCZ Date: Mon, 14 May 2018 10:39:06 +0200 Subject: [PATCH 0877/1355] Remove jQuery from accounts-ui-unstyled & fix typos --- .../login_buttons_dialogs.js | 11 ++++----- .../login_buttons_dropdown.js | 24 +++++++++---------- .../login_buttons_session.js | 14 +++++------ packages/accounts-ui-unstyled/package.js | 1 - packages/oauth/oauth_server.js | 2 +- 5 files changed, 25 insertions(+), 27 deletions(-) diff --git a/packages/accounts-ui-unstyled/login_buttons_dialogs.js b/packages/accounts-ui-unstyled/login_buttons_dialogs.js index 569bdcc2bb..370d9b0d27 100644 --- a/packages/accounts-ui-unstyled/login_buttons_dialogs.js +++ b/packages/accounts-ui-unstyled/login_buttons_dialogs.js @@ -75,7 +75,7 @@ Template._resetPasswordDialog.helpers({ // Template._justResetPasswordDialog.events({ - 'click #just-verified-dismiss-button': () => + 'click #just-verified-dismiss-button': () => loginButtonsSession.set('justResetPassword', false), }); @@ -133,7 +133,7 @@ Template._enrollAccountDialog.helpers({ // Template._justVerifiedEmailDialog.events({ - 'click #just-verified-dismiss-button': () => + 'click #just-verified-dismiss-button': () => loginButtonsSession.set('justVerifiedEmail', false), }); @@ -148,7 +148,7 @@ Template._justVerifiedEmailDialog.helpers({ // Template._loginButtonsMessagesDialog.events({ - 'click #messages-dialog-dismiss-button': () => + 'click #messages-dialog-dismiss-button': () => loginButtonsSession.resetMessages(), }); @@ -192,8 +192,7 @@ Template._configureLoginServiceDialog.events({ ); configuration.loginStyle = - $('#configure-login-service-dialog input[name="loginStyle"]:checked') - .val(); + document.querySelector('#configure-login-service-dialog input[name="loginStyle"]:checked').value; // Configure this login service Accounts.connection.call( @@ -253,7 +252,7 @@ Template._configureLoginServiceDialog.helpers({ configurationFields, visible: () => loginButtonsSession.get('configureLoginServiceDialogVisible'), // renders the appropriate template - configurationSteps: () => + configurationSteps: () => Template._configureLoginServiceDialog.templateForService(), saveDisabled: () => loginButtonsSession.get('configureLoginServiceDialogSaveDisabled'), diff --git a/packages/accounts-ui-unstyled/login_buttons_dropdown.js b/packages/accounts-ui-unstyled/login_buttons_dropdown.js index 13b52a25fc..3ec72f0dd8 100644 --- a/packages/accounts-ui-unstyled/login_buttons_dropdown.js +++ b/packages/accounts-ui-unstyled/login_buttons_dropdown.js @@ -147,7 +147,7 @@ const changePassword = () => { if (!matchPasswordAgainIfPresent()) return; - + Accounts.changePassword(oldPassword, password, error => { if (error) { loginButtonsSession.errorMessage(error.reason || "Unknown error"); @@ -185,12 +185,12 @@ const isInPasswordSignupFields = (fieldOrFields) => { } return signupFields.includes(fieldOrFields); -} +}; // events shared between loginButtonsLoggedOutDropdown and // loginButtonsLoggedInDropdown Template.loginButtons.events({ - 'click #login-name-link, click #login-sign-in-link': () => + 'click #login-name-link, click #login-sign-in-link': () => loginButtonsSession.set('dropdownVisible', true), 'click .login-close-text': loginButtonsSession.closeDropdown, }); @@ -377,7 +377,7 @@ Template._loginButtonsLoggedOutPasswordService.helpers({ const loginFields = [ {fieldName: 'username-or-email', fieldLabel: 'Username or Email', autocomplete: 'username email', - visible: () => isInPasswordSignupFields( + visible: () => isInPasswordSignupFields( ["USERNAME_AND_EMAIL", "USERNAME_AND_OPTIONAL_EMAIL"] ), }, @@ -402,7 +402,7 @@ Template._loginButtonsLoggedOutPasswordService.helpers({ "USERNAME_ONLY", ]), }, - {fieldName: 'email', fieldLabel: 'Email', inputType: 'email', + {fieldName: 'email', fieldLabel: 'Email', inputType: 'email', autocomplete: 'email', visible: () => isInPasswordSignupFields( ["USERNAME_AND_EMAIL", "EMAIL_ONLY"] @@ -432,8 +432,8 @@ Template._loginButtonsLoggedOutPasswordService.helpers({ inForgotPasswordFlow: () => loginButtonsSession.get('inForgotPasswordFlow'), - inLoginFlow: () => - !loginButtonsSession.get('inSignupFlow') && + inLoginFlow: () => + !loginButtonsSession.get('inSignupFlow') && !loginButtonsSession.get('inForgotPasswordFlow'), inSignupFlow: () => loginButtonsSession.get('inSignupFlow'), @@ -473,10 +473,10 @@ Template._loginButtonsChangePassword.helpers({ } return [ // The username and email fields are included here to address an - // accessibility warning in Chrome, but the fields don't actually display. - // The warning states that there should be an optionally hidden - // username/email field on password forms. - // XXX I think we should not use a CSS class here because this is the + // accessibility warning in Chrome, but the fields don't actually display. + // The warning states that there should be an optionally hidden + // username/email field on password forms. + // XXX I think we should not use a CSS class here because this is the // `unstyled` package. So instead we apply an inline style. {fieldName: 'username', fieldLabel: 'Username', autocomplete: 'username', fieldStyle: 'display: none;', fieldValue: username, @@ -486,7 +486,7 @@ Template._loginButtonsChangePassword.helpers({ "USERNAME_ONLY", ]), }, - {fieldName: 'email', fieldLabel: 'Email', inputType: 'email', + {fieldName: 'email', fieldLabel: 'Email', inputType: 'email', autocomplete: 'email', fieldStyle: 'display: none;', fieldValue: email, visible: () => isInPasswordSignupFields( ["USERNAME_AND_EMAIL", "EMAIL_ONLY"] diff --git a/packages/accounts-ui-unstyled/login_buttons_session.js b/packages/accounts-ui-unstyled/login_buttons_session.js index 817954ee99..a604ac51ab 100644 --- a/packages/accounts-ui-unstyled/login_buttons_session.js +++ b/packages/accounts-ui-unstyled/login_buttons_session.js @@ -55,26 +55,26 @@ const closeDropdown = () => { set('inMessageOnlyFlow', false); set('dropdownVisible', false); resetMessages(); -} +}; const infoMessage = message => { _set("errorMessage", null); _set("infoMessage", message); ensureMessageVisible(); -} +}; const errorMessage = message => { _set("errorMessage", message); _set("infoMessage", null); ensureMessageVisible(); -} +}; // is there a visible dialog that shows messages (info and error) const isMessageDialogVisible = () => { return get('resetPasswordToken') || get('enrollAccountToken') || get('justVerifiedEmail'); -} +}; // ensure that somethings displaying a message (info or error) is // visible. If a dialog with messages is open, do nothing; @@ -87,12 +87,12 @@ const isMessageDialogVisible = () => { const ensureMessageVisible = () => { if (!isMessageDialogVisible()) set("dropdownVisible", true); -} +}; const resetMessages = () => { _set("errorMessage", null); _set("infoMessage", null); -} +}; const configureService = name => { if (Meteor.isCordova) { @@ -102,7 +102,7 @@ const configureService = name => { set('configureLoginServiceDialogServiceName', name); set('configureLoginServiceDialogSaveDisabled', true); } -} +}; Accounts._loginButtonsSession = { set, diff --git a/packages/accounts-ui-unstyled/package.js b/packages/accounts-ui-unstyled/package.js index 2bab41c602..fb434d3b54 100644 --- a/packages/accounts-ui-unstyled/package.js +++ b/packages/accounts-ui-unstyled/package.js @@ -11,7 +11,6 @@ Package.onUse(function (api) { 'ecmascript', 'templating@1.2.13', 'session', - 'jquery', ], 'client'); // Export Accounts (etc) to packages using this one. diff --git a/packages/oauth/oauth_server.js b/packages/oauth/oauth_server.js index 9cfd44718d..c84f109c72 100644 --- a/packages/oauth/oauth_server.js +++ b/packages/oauth/oauth_server.js @@ -79,7 +79,7 @@ OAuth._stateFromQuery = query => { } }; -OAuth._loginStyleFromQuery = quer => { +OAuth._loginStyleFromQuery = query => { let style; // For backwards-compatibility for older clients, catch any errors // that result from parsing the state parameter. If we can't parse it, From 5f9fdda632a49c812bb435b9ce04c4f7ebb04f81 Mon Sep 17 00:00:00 2001 From: zodern Date: Mon, 14 May 2018 08:34:28 -0500 Subject: [PATCH 0878/1355] Fix creating symlinks on Windows April 2018 Update (#9887) --- tools/fs/files.js | 20 ++++++++++++-------- 1 file changed, 12 insertions(+), 8 deletions(-) diff --git a/tools/fs/files.js b/tools/fs/files.js index f5286fc165..0bbed58873 100644 --- a/tools/fs/files.js +++ b/tools/fs/files.js @@ -529,19 +529,23 @@ files.cp_r = function(from, to, options = {}) { // create a symlink, overwriting the target link, file, or directory // if it exists export function symlinkWithOverwrite(source, target) { + const args = [source, target]; + + if (process.platform === "win32") { + const absoluteSource = files.pathResolve(target, source); + + if (files.stat(absoluteSource).isDirectory()) { + args[2] = "junction"; + } + } + try { - files.symlink(source, target); + files.symlink(...args); } catch (e) { if (e.code === "EEXIST") { // overwrite existing link, file, or directory files.rm_recursive(target); - files.symlink(source, target); - } else if (e.code === "EPERM" && - process.platform === "win32") { - files.rm_recursive(target); - // This will work only if source refers to a directory, but that's a - // chance worth taking. - files.symlink(source, target, "junction"); + files.symlink(...args); } else { throw e; } From 36abc1a0b6904b3fe450bcd155271cbaaffdd794 Mon Sep 17 00:00:00 2001 From: Lucas Hansen Date: Mon, 14 May 2018 06:36:18 -0700 Subject: [PATCH 0879/1355] Remove EJSON.clone from the onOplogEntry handler (#9886) --- packages/mongo/oplog_tailing.js | 3 +-- 1 file changed, 1 insertion(+), 2 deletions(-) diff --git a/packages/mongo/oplog_tailing.js b/packages/mongo/oplog_tailing.js index 2a5abb69e4..5114ed890e 100644 --- a/packages/mongo/oplog_tailing.js +++ b/packages/mongo/oplog_tailing.js @@ -97,8 +97,7 @@ _.extend(OplogHandle.prototype, { var originalCallback = callback; callback = Meteor.bindEnvironment(function (notification) { - // XXX can we avoid this clone by making oplog.js careful? - originalCallback(EJSON.clone(notification)); + originalCallback(notification); }, function (err) { Meteor._debug("Error in oplog callback", err); }); From 903cd3c8b9b555a8a8012aab0fad8ca1dfe39d02 Mon Sep 17 00:00:00 2001 From: zodern Date: Mon, 14 May 2018 08:34:28 -0500 Subject: [PATCH 0880/1355] Fix creating symlinks on Windows April 2018 Update (#9887) --- tools/fs/files.js | 20 ++++++++++++-------- 1 file changed, 12 insertions(+), 8 deletions(-) diff --git a/tools/fs/files.js b/tools/fs/files.js index 7c5a41e216..e3cde6fafd 100644 --- a/tools/fs/files.js +++ b/tools/fs/files.js @@ -529,8 +529,18 @@ files.cp_r = function(from, to, options = {}) { // create a symlink, overwriting the target link, file, or directory // if it exists export function symlinkWithOverwrite(source, target) { + const args = [source, target]; + + if (process.platform === "win32") { + const absoluteSource = files.pathResolve(target, source); + + if (files.stat(absoluteSource).isDirectory()) { + args[2] = "junction"; + } + } + try { - files.symlink(source, target); + files.symlink(...args); } catch (e) { if (e.code === "EEXIST") { if (files.readlink(target) === source) { @@ -540,13 +550,7 @@ export function symlinkWithOverwrite(source, target) { } // overwrite existing link, file, or directory files.rm_recursive(target); - files.symlink(source, target); - } else if (e.code === "EPERM" && - process.platform === "win32") { - files.rm_recursive(target); - // This will work only if source refers to a directory, but that's a - // chance worth taking. - files.symlink(source, target, "junction"); + files.symlink(...args); } else { throw e; } From 6c91a4f0c3be2c770ce40ca663e92afe77ab9dcd Mon Sep 17 00:00:00 2001 From: Ben Newman Date: Mon, 14 May 2018 10:52:12 -0400 Subject: [PATCH 0881/1355] Revert "Use Meteor.absoluteUrl again in dynamic-import fetchMissing function." This reverts commit 3b77bb51973cfbd98488a7203fc6d87c5c871a01. Should fix #9888. Sending dynamic import() requests to any origin other than location.host causes some browsers to send a preflight CORS request ( method:OPTIONS) to verify that the server allows the request, which was causing problems because the dynamic import() server expects method:POST. --- packages/dynamic-import/client.js | 6 +++++- 1 file changed, 5 insertions(+), 1 deletion(-) diff --git a/packages/dynamic-import/client.js b/packages/dynamic-import/client.js index 298f61e69f..d34aef856f 100644 --- a/packages/dynamic-import/client.js +++ b/packages/dynamic-import/client.js @@ -121,7 +121,11 @@ var fetchURL = require("./common.js").fetchURL; function fetchMissing(missingTree) { return new Promise(function (resolve, reject) { - HTTP.call("POST", Meteor.absoluteUrl(fetchURL), { + // Always match the protocol (http or https) and the domain:port of + // the current page. + var url = "//" + location.host + fetchURL; + + HTTP.call("POST", url, { query: secretKey ? "key=" + secretKey : void 0, data: missingTree }, function (error, result) { From c4b5707747ce3c5bf339b62940da84628680a1d3 Mon Sep 17 00:00:00 2001 From: Ben Newman Date: Mon, 14 May 2018 10:59:59 -0400 Subject: [PATCH 0882/1355] Allow dynamic import() requests from any origin. Another way to fix #9888: properly handle OPTIONS requests by returning permissive CORS headers, so that the dynamic import() server can respond to requests from any origin. --- packages/dynamic-import/server.js | 33 +++++++++++++++++++++---------- 1 file changed, 23 insertions(+), 10 deletions(-) diff --git a/packages/dynamic-import/server.js b/packages/dynamic-import/server.js index 761aa39898..0bdbeb8e69 100644 --- a/packages/dynamic-import/server.js +++ b/packages/dynamic-import/server.js @@ -62,16 +62,29 @@ function randomId(n) { } function middleware(request, response) { - assert.strictEqual(request.method, "POST"); - const chunks = []; - request.on("data", chunk => chunks.push(chunk)); - request.on("end", () => { - response.setHeader("Content-Type", "application/json"); - response.end(JSON.stringify(readTree( - JSON.parse(Buffer.concat(chunks)), - getPlatform(request) - ), null, 2)); - }); + // Allow dynamic import() requests from any origin. + response.setHeader("Access-Control-Allow-Origin", "*"); + + if (request.method === "OPTIONS") { + response.setHeader("Access-Control-Allow-Headers", "*"); + response.setHeader("Access-Control-Allow-Methods", "POST"); + response.end(); + } else if (request.method === "POST") { + const chunks = []; + request.on("data", chunk => chunks.push(chunk)); + request.on("end", () => { + response.setHeader("Content-Type", "application/json"); + response.end(JSON.stringify(readTree( + JSON.parse(Buffer.concat(chunks)), + getPlatform(request) + ), null, 2)); + }); + } else { + response.writeHead(405, { + "Cache-Control": "no-cache" + }); + response.end(`method ${request.method} not allowed`); + } } function getPlatform(request) { From 8566c2ce24026a46ea1ad56cd1d3f9156332e05c Mon Sep 17 00:00:00 2001 From: Ben Newman Date: Mon, 14 May 2018 11:35:20 -0400 Subject: [PATCH 0883/1355] Do not assume location.host can be used for dynamic import(). --- packages/dynamic-import/client.js | 12 +++++++++--- 1 file changed, 9 insertions(+), 3 deletions(-) diff --git a/packages/dynamic-import/client.js b/packages/dynamic-import/client.js index d34aef856f..c44b117dfb 100644 --- a/packages/dynamic-import/client.js +++ b/packages/dynamic-import/client.js @@ -118,12 +118,18 @@ exports.setSecretKey = function (key) { }; var fetchURL = require("./common.js").fetchURL; +var location = typeof window === "object" && window.location; function fetchMissing(missingTree) { return new Promise(function (resolve, reject) { - // Always match the protocol (http or https) and the domain:port of - // the current page. - var url = "//" + location.host + fetchURL; + // In browsers, use "//" + location.host to match the protocol and + // origin of the current page. On the server (where window.location is + // not defined), use Meteor.absoluteUrl. In practice, dynamic modules + // used on the server are typically just included in the initial JS + // bundle, so the Meteor.absoluteUrl branch of this code is uncommon. + var url = location + ? "//" + location.host + fetchURL + : Meteor.absoluteUrl(fetchURL); HTTP.call("POST", url, { query: secretKey ? "key=" + secretKey : void 0, From 8273eb84e3d4970ba21baa51f11f2e267f3a9c77 Mon Sep 17 00:00:00 2001 From: Ben Newman Date: Mon, 14 May 2018 14:17:46 -0400 Subject: [PATCH 0884/1355] Avoid calling files.readlink if target not a symbolic link. --- tools/fs/files.js | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/tools/fs/files.js b/tools/fs/files.js index e3cde6fafd..31cd75f2f4 100644 --- a/tools/fs/files.js +++ b/tools/fs/files.js @@ -543,7 +543,8 @@ export function symlinkWithOverwrite(source, target) { files.symlink(...args); } catch (e) { if (e.code === "EEXIST") { - if (files.readlink(target) === source) { + if (files.lstat(target).isSymbolicLink() && + files.readlink(target) === source) { // If the target already points to the desired source, we don't // need to do anything. return; From 76ece148ba3bcc7b1618e76719b37f5e4df945d5 Mon Sep 17 00:00:00 2001 From: Ben Newman Date: Mon, 14 May 2018 14:18:07 -0400 Subject: [PATCH 0885/1355] Update meteor-babel to version 7.0.0-beta.46-5. --- History.md | 8 +- .../.npm/package/npm-shrinkwrap.json | 84 +++++++++---------- packages/babel-compiler/package.js | 2 +- scripts/dev-bundle-tool-package.js | 2 +- 4 files changed, 51 insertions(+), 45 deletions(-) diff --git a/History.md b/History.md index 4fe28d4958..2088ca22f6 100644 --- a/History.md +++ b/History.md @@ -212,7 +212,13 @@ want to run. [PR #9714](https://github.com/meteor/meteor/pull/9714) * The `meteor-babel` npm package has been updated to version - 7.0.0-beta.46-4. + 7.0.0-beta.46-5. Note: while Babel has recently implemented support for + a new kind of `babel.config.js` configuration file (see [this + PR](https://github.com/babel/babel/pull/7358)), and future versions of + Meteor will no doubt embrace this functionality, Meteor 1.7 supports + only `.babelrc` files as a means of customizing the default Babel + configuration provided by Meteor. In other words, if your project + contains a `babel.config.js` file, it will be ignored by Meteor 1.7. * The `reify` npm package has been updated to version 0.15.1. diff --git a/packages/babel-compiler/.npm/package/npm-shrinkwrap.json b/packages/babel-compiler/.npm/package/npm-shrinkwrap.json index 4796ba25dd..bb2dc5b6f3 100644 --- a/packages/babel-compiler/.npm/package/npm-shrinkwrap.json +++ b/packages/babel-compiler/.npm/package/npm-shrinkwrap.json @@ -457,24 +457,24 @@ "integrity": "sha512-GlhOuLOQ28ua9prg0hT33HslCrEmz9xWXy9ZNZSACppCyRxxRW+haYtRgm7uYXCcd0q8ggCWD2pfWEJp5iiZfQ==" }, "babel-plugin-transform-member-expression-literals": { - "version": "6.9.2", - "resolved": "https://registry.npmjs.org/babel-plugin-transform-member-expression-literals/-/babel-plugin-transform-member-expression-literals-6.9.2.tgz", - "integrity": "sha1-Hzl6uWGlw6QB8qdHrwbnIASvy3Y=" + "version": "6.9.3", + "resolved": "https://registry.npmjs.org/babel-plugin-transform-member-expression-literals/-/babel-plugin-transform-member-expression-literals-6.9.3.tgz", + "integrity": "sha1-qkmFzQ8XmAuo+/18yKZi07+3g30=" }, "babel-plugin-transform-merge-sibling-variables": { - "version": "6.9.2", - "resolved": "https://registry.npmjs.org/babel-plugin-transform-merge-sibling-variables/-/babel-plugin-transform-merge-sibling-variables-6.9.2.tgz", - "integrity": "sha1-mUqQBKecefDJHEluii28fptz97Q=" + "version": "6.9.3", + "resolved": "https://registry.npmjs.org/babel-plugin-transform-merge-sibling-variables/-/babel-plugin-transform-merge-sibling-variables-6.9.3.tgz", + "integrity": "sha1-L1rmzzJrg5jPia+yohrRj+YFQv0=" }, "babel-plugin-transform-minify-booleans": { - "version": "6.9.2", - "resolved": "https://registry.npmjs.org/babel-plugin-transform-minify-booleans/-/babel-plugin-transform-minify-booleans-6.9.2.tgz", - "integrity": "sha1-z5lb4GegMDy1JlSfA9zZaCQZQw0=" + "version": "6.9.3", + "resolved": "https://registry.npmjs.org/babel-plugin-transform-minify-booleans/-/babel-plugin-transform-minify-booleans-6.9.3.tgz", + "integrity": "sha1-nywDm5KL+YfgObUNllRcS+edT7E=" }, "babel-plugin-transform-property-literals": { - "version": "6.9.2", - "resolved": "https://registry.npmjs.org/babel-plugin-transform-property-literals/-/babel-plugin-transform-property-literals-6.9.2.tgz", - "integrity": "sha1-pY0Jls8q2vIk986EitHN5M2M8nU=" + "version": "6.9.3", + "resolved": "https://registry.npmjs.org/babel-plugin-transform-property-literals/-/babel-plugin-transform-property-literals-6.9.3.tgz", + "integrity": "sha1-moyBPahi3Rj2gvQJ79CGEXC71hE=" }, "babel-plugin-transform-regexp-constructors": { "version": "0.2.0", @@ -482,14 +482,14 @@ "integrity": "sha512-7IsQ6aQx6LAaOqy97/PthTf+5Nx9grZww3r6E62IdWe76Yr8KsuwVjxzqSPQvESJqTE3EMADQ9S0RtwWDGNG9Q==" }, "babel-plugin-transform-remove-console": { - "version": "6.9.2", - "resolved": "https://registry.npmjs.org/babel-plugin-transform-remove-console/-/babel-plugin-transform-remove-console-6.9.2.tgz", - "integrity": "sha1-6KDCfVbJUDyhbihPa2Tb1LldIek=" + "version": "6.9.3", + "resolved": "https://registry.npmjs.org/babel-plugin-transform-remove-console/-/babel-plugin-transform-remove-console-6.9.3.tgz", + "integrity": "sha1-sU2fc5Ai3Fy02tGx/wnMZg5tx8M=" }, "babel-plugin-transform-remove-debugger": { - "version": "6.9.2", - "resolved": "https://registry.npmjs.org/babel-plugin-transform-remove-debugger/-/babel-plugin-transform-remove-debugger-6.9.2.tgz", - "integrity": "sha1-U2yHvbYgDRRgyZbdldF5zzjCTuE=" + "version": "6.9.3", + "resolved": "https://registry.npmjs.org/babel-plugin-transform-remove-debugger/-/babel-plugin-transform-remove-debugger-6.9.3.tgz", + "integrity": "sha1-Rk+L6rOHXnAW+vjUVv53Y8ODd/0=" }, "babel-plugin-transform-remove-undefined": { "version": "0.2.0", @@ -497,14 +497,14 @@ "integrity": "sha512-O8v57tPMHkp89kA4ZfQEYds/pzgvz/QYerBJjIuL5/Jc7RnvMVRA5gJY9zFKP7WayW8WOSBV4vh8Y8FJRio+ow==" }, "babel-plugin-transform-simplify-comparison-operators": { - "version": "6.9.2", - "resolved": "https://registry.npmjs.org/babel-plugin-transform-simplify-comparison-operators/-/babel-plugin-transform-simplify-comparison-operators-6.9.2.tgz", - "integrity": "sha1-DA6a+nMpJPA6qYL9Y8ktBAi9VlY=" + "version": "6.9.3", + "resolved": "https://registry.npmjs.org/babel-plugin-transform-simplify-comparison-operators/-/babel-plugin-transform-simplify-comparison-operators-6.9.3.tgz", + "integrity": "sha1-omTrTvtqRWW1Zoa6Gq8N6uj1Di8=" }, "babel-plugin-transform-undefined-to-void": { - "version": "6.9.2", - "resolved": "https://registry.npmjs.org/babel-plugin-transform-undefined-to-void/-/babel-plugin-transform-undefined-to-void-6.9.2.tgz", - "integrity": "sha1-Fl/eczkydr6gKnOWWIeNzO0Lnrs=" + "version": "6.9.3", + "resolved": "https://registry.npmjs.org/babel-plugin-transform-undefined-to-void/-/babel-plugin-transform-undefined-to-void-6.9.3.tgz", + "integrity": "sha1-osTW2NmHxc4Y4ZWrWCZc7Pm5/70=" }, "babel-preset-meteor": { "version": "7.0.0-beta.46-1", @@ -727,9 +727,9 @@ "integrity": "sha1-izqsWIuKZuSXXjzepn97sylgH6w=" }, "meteor-babel": { - "version": "7.0.0-beta.46-4", - "resolved": "https://registry.npmjs.org/meteor-babel/-/meteor-babel-7.0.0-beta.46-4.tgz", - "integrity": "sha512-4DKljQezwcLt1mz8JLRJiKzh/N8j+tTZOAk0jot4iilXCMZ1QdYOPzhAmYjTw1IKmPG03c9u8pHcpE0CbHpI6Q==" + "version": "7.0.0-beta.46-5", + "resolved": "https://registry.npmjs.org/meteor-babel/-/meteor-babel-7.0.0-beta.46-5.tgz", + "integrity": "sha512-zEO10t2UqdUea2tYw5pLpLcMKGr9QuE7SBW95fqmnMu3XaSmgawzusJd1r6/4MIBCWluEFne7wu1WV5IwAOwaw==" }, "meteor-babel-helpers": { "version": "0.0.3", @@ -794,14 +794,14 @@ } }, "regenerate": { - "version": "1.3.3", - "resolved": "https://registry.npmjs.org/regenerate/-/regenerate-1.3.3.tgz", - "integrity": "sha512-jVpo1GadrDAK59t/0jRx5VxYWQEDkkEKi6+HjE3joFVLfDOh9Xrdh0dF1eSq+BI/SwvTQ44gSscJ8N5zYL61sg==" + "version": "1.4.0", + "resolved": "https://registry.npmjs.org/regenerate/-/regenerate-1.4.0.tgz", + "integrity": "sha512-1G6jJVDWrt0rK99kBjvEtziZNCICAuvIPkSiUFIQxVP06RCVpq3dmDo2oi6ABpYaDYaTRr67BEhL8r1wgEZZKg==" }, "regenerate-unicode-properties": { - "version": "5.1.3", - "resolved": "https://registry.npmjs.org/regenerate-unicode-properties/-/regenerate-unicode-properties-5.1.3.tgz", - "integrity": "sha512-Yjy6t7jFQczDhYE+WVm7pg6gWYE258q4sUkk9qDErwXJIqx7jU9jGrMFHutJK/SRfcg7MEkXjGaYiVlOZyev/A==" + "version": "6.0.0", + "resolved": "https://registry.npmjs.org/regenerate-unicode-properties/-/regenerate-unicode-properties-6.0.0.tgz", + "integrity": "sha512-BvXxRS7RfVWxtm7vrq+0I0j7sqZ1zeSC+yzf5HS0qLnKcZPX541gFEGB39LvGuKHrkyKXrzXug+oC7xkM1Zovw==" }, "regenerator-runtime": { "version": "0.11.1", @@ -819,19 +819,19 @@ "integrity": "sha512-nVIZwtCjkC9YgvWkpM55B5rBhBYRZhAaJbgcFYXXsHnbZ9UZI9nnVWYZpBlCqv9ho2eZryPnWrZGsOdPwVWXWQ==" }, "regexpu-core": { - "version": "4.1.3", - "resolved": "https://registry.npmjs.org/regexpu-core/-/regexpu-core-4.1.3.tgz", - "integrity": "sha512-mB+njEzO7oezA57IbQxxd6fVPOeWKDmnGvJ485CwmfNchjHe5jWwqKepapmzUEj41yxIAqOg+C4LbXuJlkiO8A==" + "version": "4.1.4", + "resolved": "https://registry.npmjs.org/regexpu-core/-/regexpu-core-4.1.4.tgz", + "integrity": "sha512-EDIJYxIE02+p38c5pD/AaHXrEpOjagp/a53/R/nB1cZxjbMAMxH1ywHuKJ/DDHAvYHS40GrIgeGPh67XrTI67w==" }, "regjsgen": { - "version": "0.3.0", - "resolved": "https://registry.npmjs.org/regjsgen/-/regjsgen-0.3.0.tgz", - "integrity": "sha1-DuSj6SdkMM2iXx54nqbBW4ewy0M=" + "version": "0.4.0", + "resolved": "https://registry.npmjs.org/regjsgen/-/regjsgen-0.4.0.tgz", + "integrity": "sha512-X51Lte1gCYUdlwhF28+2YMO0U6WeN0GLpgpA7LK7mbdDnkQYiwvEpmpe0F/cv5L14EbxgrdayAG3JETBv0dbXA==" }, "regjsparser": { - "version": "0.2.1", - "resolved": "https://registry.npmjs.org/regjsparser/-/regjsparser-0.2.1.tgz", - "integrity": "sha1-w3h1U/rwTndcMCEC7zRtmVAA7Bw=", + "version": "0.3.0", + "resolved": "https://registry.npmjs.org/regjsparser/-/regjsparser-0.3.0.tgz", + "integrity": "sha512-zza72oZBBHzt64G7DxdqrOo/30bhHkwMUoT0WqfGu98XLd7N+1tsy5MJ96Bk4MD0y74n629RhmrGW6XlnLLwCA==", "dependencies": { "jsesc": { "version": "0.5.0", diff --git a/packages/babel-compiler/package.js b/packages/babel-compiler/package.js index cfd8b1fb71..4dd2038b96 100644 --- a/packages/babel-compiler/package.js +++ b/packages/babel-compiler/package.js @@ -10,7 +10,7 @@ Package.describe({ }); Npm.depends({ - 'meteor-babel': '7.0.0-beta.46-4' + 'meteor-babel': '7.0.0-beta.46-5' }); Package.onUse(function (api) { diff --git a/scripts/dev-bundle-tool-package.js b/scripts/dev-bundle-tool-package.js index 86b9f6f857..344fb30dd5 100644 --- a/scripts/dev-bundle-tool-package.js +++ b/scripts/dev-bundle-tool-package.js @@ -14,7 +14,7 @@ var packageJson = { pacote: "https://github.com/meteor/pacote/tarball/2c16c509074bbba8ca5dd410caf808412ce79e6c", "node-gyp": "3.6.2", "node-pre-gyp": "0.6.36", - "meteor-babel": "7.0.0-beta.46-4", + "meteor-babel": "7.0.0-beta.46-5", "meteor-promise": "0.8.6", promise: "8.0.1", reify: "0.15.1", From b0db9f338758738c5dec29e22f207a5f357d5bec Mon Sep 17 00:00:00 2001 From: Ben Newman Date: Mon, 14 May 2018 14:31:46 -0400 Subject: [PATCH 0886/1355] Bump package versions for 1.7-rc.9 release. --- packages/appcache/package.js | 2 +- packages/babel-compiler/package.js | 2 +- packages/babel-runtime/package.js | 2 +- packages/boilerplate-generator-tests/package.js | 2 +- packages/boilerplate-generator/package.js | 2 +- packages/dynamic-import/package.js | 2 +- packages/ecmascript-runtime-client/package.js | 2 +- packages/ecmascript-runtime-server/package.js | 2 +- packages/ecmascript-runtime/package.js | 2 +- packages/ecmascript/package.js | 2 +- packages/es5-shim/package.js | 2 +- packages/facebook-oauth/package.js | 2 +- packages/meteor-base/package.js | 2 +- packages/meteor-tool/package.js | 2 +- packages/meteor/package.js | 2 +- packages/modern-browsers/package.js | 2 +- packages/modules-runtime/package.js | 2 +- packages/mongo/package.js | 2 +- packages/npm-mongo/package.js | 2 +- packages/promise/package.js | 2 +- packages/socket-stream-client/package.js | 2 +- packages/test-helpers/package.js | 2 +- packages/tracker/package.js | 2 +- packages/webapp/package.js | 2 +- scripts/admin/meteor-release-experimental.json | 2 +- 25 files changed, 25 insertions(+), 25 deletions(-) diff --git a/packages/appcache/package.js b/packages/appcache/package.js index 7121aeeeca..b13a319ad9 100644 --- a/packages/appcache/package.js +++ b/packages/appcache/package.js @@ -1,6 +1,6 @@ Package.describe({ summary: "Enable the application cache in the browser", - version: "1.2.0-rc17.8", + version: "1.2.0-rc17.9", }); Package.onUse(api => { diff --git a/packages/babel-compiler/package.js b/packages/babel-compiler/package.js index 4dd2038b96..42dc6f079c 100644 --- a/packages/babel-compiler/package.js +++ b/packages/babel-compiler/package.js @@ -6,7 +6,7 @@ Package.describe({ // isn't possible because you can't publish a non-recommended // release with package versions that don't have a pre-release // identifier at the end (eg, -dev) - version: '7.1.0-rc17.8' + version: '7.1.0-rc17.9' }); Npm.depends({ diff --git a/packages/babel-runtime/package.js b/packages/babel-runtime/package.js index 0e7737614e..dcc47f3b69 100644 --- a/packages/babel-runtime/package.js +++ b/packages/babel-runtime/package.js @@ -1,7 +1,7 @@ Package.describe({ name: "babel-runtime", summary: "Runtime support for output of Babel transpiler", - version: '1.3.0-rc17.8', + version: '1.3.0-rc17.9', documentation: 'README.md' }); diff --git a/packages/boilerplate-generator-tests/package.js b/packages/boilerplate-generator-tests/package.js index 6ce68ee88d..d929563cf0 100644 --- a/packages/boilerplate-generator-tests/package.js +++ b/packages/boilerplate-generator-tests/package.js @@ -2,7 +2,7 @@ Package.describe({ // These tests are in a separate package so that we can Npm.depend on // parse5, a html parsing library. summary: "Tests for the boilerplate-generator package", - version: '1.5.0-rc17.8', + version: '1.5.0-rc17.9', documentation: null }); diff --git a/packages/boilerplate-generator/package.js b/packages/boilerplate-generator/package.js index 64faaf3a02..ba272ec494 100644 --- a/packages/boilerplate-generator/package.js +++ b/packages/boilerplate-generator/package.js @@ -1,6 +1,6 @@ Package.describe({ summary: "Generates the boilerplate html from program's manifest", - version: '1.5.0-rc17.8' + version: '1.5.0-rc17.9' }); Npm.depends({ diff --git a/packages/dynamic-import/package.js b/packages/dynamic-import/package.js index cfb8f422a1..8b945fd5a2 100644 --- a/packages/dynamic-import/package.js +++ b/packages/dynamic-import/package.js @@ -1,6 +1,6 @@ Package.describe({ name: "dynamic-import", - version: "0.4.0-rc17.8", + version: "0.4.0-rc17.9", summary: "Runtime support for Meteor 1.5 dynamic import(...) syntax", documentation: "README.md" }); diff --git a/packages/ecmascript-runtime-client/package.js b/packages/ecmascript-runtime-client/package.js index 7f52e80b40..757661cd68 100644 --- a/packages/ecmascript-runtime-client/package.js +++ b/packages/ecmascript-runtime-client/package.js @@ -1,6 +1,6 @@ Package.describe({ name: "ecmascript-runtime-client", - version: "0.7.0-rc17.8", + version: "0.7.0-rc17.9", summary: "Polyfills for new ECMAScript 2015 APIs like Map and Set", git: "https://github.com/meteor/meteor/tree/devel/packages/ecmascript-runtime-client", documentation: "README.md" diff --git a/packages/ecmascript-runtime-server/package.js b/packages/ecmascript-runtime-server/package.js index 8ffecb1975..c5ebebc049 100644 --- a/packages/ecmascript-runtime-server/package.js +++ b/packages/ecmascript-runtime-server/package.js @@ -1,6 +1,6 @@ Package.describe({ name: "ecmascript-runtime-server", - version: "0.7.0-rc17.8", + version: "0.7.0-rc17.9", summary: "Polyfills for new ECMAScript 2015 APIs like Map and Set", git: "https://github.com/meteor/meteor/tree/devel/packages/ecmascript-runtime-client", documentation: "README.md" diff --git a/packages/ecmascript-runtime/package.js b/packages/ecmascript-runtime/package.js index a77712887a..7a86dc9bdd 100644 --- a/packages/ecmascript-runtime/package.js +++ b/packages/ecmascript-runtime/package.js @@ -1,6 +1,6 @@ Package.describe({ name: "ecmascript-runtime", - version: "0.7.0-rc17.8", + version: "0.7.0-rc17.9", summary: "Polyfills for new ECMAScript 2015 APIs like Map and Set", git: "https://github.com/meteor/ecmascript-runtime", documentation: "README.md" diff --git a/packages/ecmascript/package.js b/packages/ecmascript/package.js index a6acd4aa16..676de68576 100644 --- a/packages/ecmascript/package.js +++ b/packages/ecmascript/package.js @@ -1,6 +1,6 @@ Package.describe({ name: 'ecmascript', - version: '0.11.0-rc17.8', + version: '0.11.0-rc17.9', summary: 'Compiler plugin that supports ES2015+ in all .js files', documentation: 'README.md' }); diff --git a/packages/es5-shim/package.js b/packages/es5-shim/package.js index 7c3c8b39bf..f2a030f413 100644 --- a/packages/es5-shim/package.js +++ b/packages/es5-shim/package.js @@ -1,6 +1,6 @@ Package.describe({ name: "es5-shim", - version: "4.8.0-rc17.8", + version: "4.8.0-rc17.9", summary: "Shims and polyfills to improve ECMAScript 5 support", documentation: "README.md" }); diff --git a/packages/facebook-oauth/package.js b/packages/facebook-oauth/package.js index 1d45d6d829..b874db8cde 100644 --- a/packages/facebook-oauth/package.js +++ b/packages/facebook-oauth/package.js @@ -1,6 +1,6 @@ Package.describe({ summary: "Facebook OAuth flow", - version: "1.5.0-rc17.8" + version: "1.5.0-rc17.9" }); Package.onUse(function(api) { diff --git a/packages/meteor-base/package.js b/packages/meteor-base/package.js index 354b2b8639..b5d8396b92 100644 --- a/packages/meteor-base/package.js +++ b/packages/meteor-base/package.js @@ -1,6 +1,6 @@ Package.describe({ name: 'meteor-base', - version: '1.4.0-rc17.8', + version: '1.4.0-rc17.9', // Brief, one-line summary of the package. summary: 'Packages that every Meteor app needs', // By default, Meteor will default to using README.md for documentation. diff --git a/packages/meteor-tool/package.js b/packages/meteor-tool/package.js index 7429f0f2c0..d5c62a5643 100644 --- a/packages/meteor-tool/package.js +++ b/packages/meteor-tool/package.js @@ -1,6 +1,6 @@ Package.describe({ summary: "The Meteor command-line tool", - version: '1.7.0-rc.8' + version: '1.7.0-rc.9' }); Package.includeTool(); diff --git a/packages/meteor/package.js b/packages/meteor/package.js index 7b7742d6d2..216c8bbaf3 100644 --- a/packages/meteor/package.js +++ b/packages/meteor/package.js @@ -2,7 +2,7 @@ Package.describe({ summary: "Core Meteor environment", - version: '1.9.0-rc17.8' + version: '1.9.0-rc17.9' }); Package.registerBuildPlugin({ diff --git a/packages/modern-browsers/package.js b/packages/modern-browsers/package.js index b1af05d965..04c710e117 100644 --- a/packages/modern-browsers/package.js +++ b/packages/modern-browsers/package.js @@ -1,6 +1,6 @@ Package.describe({ name: "modern-browsers", - version: "0.1.0-rc17.8", + version: "0.1.0-rc17.9", summary: "API for defining the boundary between modern and legacy " + "JavaScript clients", documentation: "README.md" diff --git a/packages/modules-runtime/package.js b/packages/modules-runtime/package.js index ad6e683cb2..a45d88986d 100644 --- a/packages/modules-runtime/package.js +++ b/packages/modules-runtime/package.js @@ -1,6 +1,6 @@ Package.describe({ name: "modules-runtime", - version: "0.10.0-rc17.8", + version: "0.10.0-rc17.9", summary: "CommonJS module system", git: "https://github.com/benjamn/install", documentation: "README.md" diff --git a/packages/mongo/package.js b/packages/mongo/package.js index a5b339576e..e4866fffb4 100644 --- a/packages/mongo/package.js +++ b/packages/mongo/package.js @@ -9,7 +9,7 @@ Package.describe({ summary: "Adaptor for using MongoDB and Minimongo over DDP", - version: '1.5.0-rc17.8' + version: '1.5.0-rc17.9' }); Npm.depends({ diff --git a/packages/npm-mongo/package.js b/packages/npm-mongo/package.js index 0dda0a1c2b..066a972ec0 100644 --- a/packages/npm-mongo/package.js +++ b/packages/npm-mongo/package.js @@ -3,7 +3,7 @@ Package.describe({ summary: "Wrapper around the mongo npm package", - version: "3.0.7-rc17.8", + version: "3.0.7-rc17.9", documentation: null }); diff --git a/packages/promise/package.js b/packages/promise/package.js index 96f42588d1..d1c209ced0 100644 --- a/packages/promise/package.js +++ b/packages/promise/package.js @@ -1,6 +1,6 @@ Package.describe({ name: "promise", - version: "0.11.0-rc17.8", + version: "0.11.0-rc17.9", summary: "ECMAScript 2015 Promise polyfill with Fiber support", git: "https://github.com/meteor/promise", documentation: "README.md" diff --git a/packages/socket-stream-client/package.js b/packages/socket-stream-client/package.js index 18fd516b63..aa7f4dc047 100644 --- a/packages/socket-stream-client/package.js +++ b/packages/socket-stream-client/package.js @@ -1,6 +1,6 @@ Package.describe({ name: "socket-stream-client", - version: "0.2.0-rc17.8", + version: "0.2.0-rc17.9", summary: "Provides the ClientStream abstraction used by ddp-client", documentation: "README.md" }); diff --git a/packages/test-helpers/package.js b/packages/test-helpers/package.js index e38403a9eb..fe01a32291 100644 --- a/packages/test-helpers/package.js +++ b/packages/test-helpers/package.js @@ -1,6 +1,6 @@ Package.describe({ summary: "Utility functions for tests", - version: '1.1.0-rc17.8' + version: '1.1.0-rc17.9' }); Package.onUse(function (api) { diff --git a/packages/tracker/package.js b/packages/tracker/package.js index 966f89c1a2..dc0088f18e 100644 --- a/packages/tracker/package.js +++ b/packages/tracker/package.js @@ -1,6 +1,6 @@ Package.describe({ summary: "Dependency tracker to allow reactive callbacks", - version: "1.2.0-rc17.8" + version: "1.2.0-rc17.9" }); Package.onUse(function (api) { diff --git a/packages/webapp/package.js b/packages/webapp/package.js index a4ea71311c..8d35e94f2a 100644 --- a/packages/webapp/package.js +++ b/packages/webapp/package.js @@ -1,6 +1,6 @@ Package.describe({ summary: "Serves a Meteor app over HTTP", - version: '1.6.0-rc17.8' + version: '1.6.0-rc17.9' }); Npm.depends({"basic-auth-connect": "1.0.0", diff --git a/scripts/admin/meteor-release-experimental.json b/scripts/admin/meteor-release-experimental.json index b3ecd3c1c9..f48ee87bb8 100644 --- a/scripts/admin/meteor-release-experimental.json +++ b/scripts/admin/meteor-release-experimental.json @@ -1,6 +1,6 @@ { "track": "METEOR", - "version": "1.7-rc.8", + "version": "1.7-rc.9", "recommended": false, "official": false, "description": "Meteor" From a646bdbbd4b988f1f25c86159972fb1b70c13ce9 Mon Sep 17 00:00:00 2001 From: Ben Newman Date: Tue, 15 May 2018 10:34:01 -0400 Subject: [PATCH 0887/1355] Use only Meteor.absoluteUrl for dynamic import() requests, again. https://github.com/meteor/meteor/issues/9747#issuecomment-388931828 https://github.com/meteor/meteor/issues/9888#issuecomment-388953091 cc @sebakerckhof @joaomframos --- packages/dynamic-import/client.js | 20 +++++++++----------- 1 file changed, 9 insertions(+), 11 deletions(-) diff --git a/packages/dynamic-import/client.js b/packages/dynamic-import/client.js index c44b117dfb..7b71af3f18 100644 --- a/packages/dynamic-import/client.js +++ b/packages/dynamic-import/client.js @@ -118,20 +118,18 @@ exports.setSecretKey = function (key) { }; var fetchURL = require("./common.js").fetchURL; -var location = typeof window === "object" && window.location; function fetchMissing(missingTree) { return new Promise(function (resolve, reject) { - // In browsers, use "//" + location.host to match the protocol and - // origin of the current page. On the server (where window.location is - // not defined), use Meteor.absoluteUrl. In practice, dynamic modules - // used on the server are typically just included in the initial JS - // bundle, so the Meteor.absoluteUrl branch of this code is uncommon. - var url = location - ? "//" + location.host + fetchURL - : Meteor.absoluteUrl(fetchURL); - - HTTP.call("POST", url, { + // If the hostname of the URL returned by Meteor.absoluteUrl differs + // from location.host, then we'll be making a cross-origin request + // here, but that's fine because the dynamic-import server sets + // appropriate CORS headers to enable fetching dynamic modules from + // any origin. Browsers that check CORS do so by sending an additional + // preflight OPTIONS request, which may add latency to the first + // dynamic import() request, so it's a good idea for ROOT_URL to match + // location.host if possible, though not strictly necessary. + HTTP.call("POST", Meteor.absoluteUrl(fetchURL), { query: secretKey ? "key=" + secretKey : void 0, data: missingTree }, function (error, result) { From b93ffce4dc6be8db3a984632b1f2b68f0479d4fd Mon Sep 17 00:00:00 2001 From: Lucas Hansen Date: Tue, 15 May 2018 07:40:04 -0700 Subject: [PATCH 0888/1355] Manually track number of crossbar listeners by collection (#9889) --- packages/ddp-server/crossbar.js | 7 ++++++- 1 file changed, 6 insertions(+), 1 deletion(-) diff --git a/packages/ddp-server/crossbar.js b/packages/ddp-server/crossbar.js index a95060c488..6672059f99 100644 --- a/packages/ddp-server/crossbar.js +++ b/packages/ddp-server/crossbar.js @@ -11,6 +11,7 @@ DDPServer._Crossbar = function (options) { // keys 'trigger', 'callback'. As a hack, the empty string means "no // collection". self.listenersByCollection = {}; + self.listenersByCollectionCount = {}; self.factPackage = options.factPackage || "livedata"; self.factName = options.factName || null; }; @@ -48,8 +49,10 @@ _.extend(DDPServer._Crossbar.prototype, { var record = {trigger: EJSON.clone(trigger), callback: callback}; if (! _.has(self.listenersByCollection, collection)) { self.listenersByCollection[collection] = {}; + self.listenersByCollectionCount[collection] = 0; } self.listenersByCollection[collection][id] = record; + self.listenersByCollectionCount[collection]++; if (self.factName && Package['facts-base']) { Package['facts-base'].Facts.incrementServerFact( @@ -63,8 +66,10 @@ _.extend(DDPServer._Crossbar.prototype, { self.factPackage, self.factName, -1); } delete self.listenersByCollection[collection][id]; - if (_.isEmpty(self.listenersByCollection[collection])) { + self.listenersByCollectionCount[collection]--; + if (self.listenersByCollectionCount[collection] === 0) { delete self.listenersByCollection[collection]; + delete self.listenersByCollectionCount[collection]; } } }; From 927aa93bc416eca11f6d761c0a6330bcaaadd341 Mon Sep 17 00:00:00 2001 From: Ben Newman Date: Tue, 15 May 2018 16:48:39 -0400 Subject: [PATCH 0889/1355] Bump ddp-server package version to 2.2.0. --- packages/ddp-server/package.js | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/packages/ddp-server/package.js b/packages/ddp-server/package.js index adf1a4be58..c738ca316b 100644 --- a/packages/ddp-server/package.js +++ b/packages/ddp-server/package.js @@ -1,6 +1,6 @@ Package.describe({ summary: "Meteor's latency-compensated distributed data server", - version: '2.1.2', + version: '2.2.0', documentation: null }); From e35e9e0ef93692ac99a9aa1775dae57e7f78602a Mon Sep 17 00:00:00 2001 From: Ben Newman Date: Tue, 15 May 2018 18:00:35 -0400 Subject: [PATCH 0890/1355] Update Node to version 8.11.2. :tada: https://nodejs.org/en/blog/release/v8.11.2/ --- scripts/build-dev-bundle-common.sh | 2 +- scripts/generate-dev-bundle.ps1 | 5 +---- 2 files changed, 2 insertions(+), 5 deletions(-) diff --git a/scripts/build-dev-bundle-common.sh b/scripts/build-dev-bundle-common.sh index e30b3f2be6..d067c52c7f 100644 --- a/scripts/build-dev-bundle-common.sh +++ b/scripts/build-dev-bundle-common.sh @@ -5,7 +5,7 @@ set -u UNAME=$(uname) ARCH=$(uname -m) -NODE_VERSION=8.11.2-rc.1 +NODE_VERSION=8.11.2 MONGO_VERSION_64BIT=3.6.4 MONGO_VERSION_32BIT=3.2.19 NPM_VERSION=5.10.0 diff --git a/scripts/generate-dev-bundle.ps1 b/scripts/generate-dev-bundle.ps1 index ec4db00d97..39b19c0c83 100644 --- a/scripts/generate-dev-bundle.ps1 +++ b/scripts/generate-dev-bundle.ps1 @@ -23,10 +23,7 @@ $MONGO_VERSION_32BIT = Read-VariableFromShellScript $shCommon 'MONGO_VERSION_32B $NPM_VERSION = Read-VariableFromShellScript $shCommon 'NPM_VERSION' -# TODO Revert this change once 8.11.2 is available for Windows: -# https://github.com/nodejs/node/pull/20478#issuecomment-387181249 -# $NODE_VERSION = Read-VariableFromShellScript $shCommon 'NODE_VERSION' -$NODE_VERSION = "8.11.1" +$NODE_VERSION = Read-VariableFromShellScript $shCommon 'NODE_VERSION' # 7-zip path. $system7zip = "C:\Program Files\7-zip\7z.exe" From 157e028bf747b262d5fdb234b8917b9788ca76f3 Mon Sep 17 00:00:00 2001 From: Ben Newman Date: Tue, 15 May 2018 18:01:26 -0400 Subject: [PATCH 0891/1355] Bump $BUNDLE_VERSION to 8.11.2.5 before rebuilding dev bundle. --- meteor | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/meteor b/meteor index f961ed693d..82221bfde7 100755 --- a/meteor +++ b/meteor @@ -1,6 +1,6 @@ #!/usr/bin/env bash -BUNDLE_VERSION=8.11.2.4 +BUNDLE_VERSION=8.11.2.5 # OS Check. Put here because here is where we download the precompiled # bundles that are arch specific. From 938d92d25ea25a8649db3e305aa263727c7620c7 Mon Sep 17 00:00:00 2001 From: Ben Newman Date: Tue, 15 May 2018 18:03:10 -0400 Subject: [PATCH 0892/1355] Bump package versions for 1.7-rc.10 release. --- packages/appcache/package.js | 2 +- packages/babel-compiler/package.js | 2 +- packages/babel-runtime/package.js | 2 +- packages/boilerplate-generator-tests/package.js | 2 +- packages/boilerplate-generator/package.js | 2 +- packages/ddp-server/package.js | 2 +- packages/dynamic-import/package.js | 2 +- packages/ecmascript-runtime-client/package.js | 2 +- packages/ecmascript-runtime-server/package.js | 2 +- packages/ecmascript-runtime/package.js | 2 +- packages/ecmascript/package.js | 2 +- packages/es5-shim/package.js | 2 +- packages/facebook-oauth/package.js | 2 +- packages/meteor-base/package.js | 2 +- packages/meteor-tool/package.js | 2 +- packages/meteor/package.js | 2 +- packages/modern-browsers/package.js | 2 +- packages/modules-runtime/package.js | 2 +- packages/mongo/package.js | 2 +- packages/npm-mongo/package.js | 2 +- packages/promise/package.js | 2 +- packages/socket-stream-client/package.js | 2 +- packages/test-helpers/package.js | 2 +- packages/tracker/package.js | 2 +- packages/webapp/package.js | 2 +- scripts/admin/meteor-release-experimental.json | 2 +- 26 files changed, 26 insertions(+), 26 deletions(-) diff --git a/packages/appcache/package.js b/packages/appcache/package.js index b13a319ad9..9d0fe92300 100644 --- a/packages/appcache/package.js +++ b/packages/appcache/package.js @@ -1,6 +1,6 @@ Package.describe({ summary: "Enable the application cache in the browser", - version: "1.2.0-rc17.9", + version: "1.2.0-rc17.10", }); Package.onUse(api => { diff --git a/packages/babel-compiler/package.js b/packages/babel-compiler/package.js index 42dc6f079c..e21cfc5442 100644 --- a/packages/babel-compiler/package.js +++ b/packages/babel-compiler/package.js @@ -6,7 +6,7 @@ Package.describe({ // isn't possible because you can't publish a non-recommended // release with package versions that don't have a pre-release // identifier at the end (eg, -dev) - version: '7.1.0-rc17.9' + version: '7.1.0-rc17.10' }); Npm.depends({ diff --git a/packages/babel-runtime/package.js b/packages/babel-runtime/package.js index dcc47f3b69..03df7e044e 100644 --- a/packages/babel-runtime/package.js +++ b/packages/babel-runtime/package.js @@ -1,7 +1,7 @@ Package.describe({ name: "babel-runtime", summary: "Runtime support for output of Babel transpiler", - version: '1.3.0-rc17.9', + version: '1.3.0-rc17.10', documentation: 'README.md' }); diff --git a/packages/boilerplate-generator-tests/package.js b/packages/boilerplate-generator-tests/package.js index d929563cf0..e88c23c55a 100644 --- a/packages/boilerplate-generator-tests/package.js +++ b/packages/boilerplate-generator-tests/package.js @@ -2,7 +2,7 @@ Package.describe({ // These tests are in a separate package so that we can Npm.depend on // parse5, a html parsing library. summary: "Tests for the boilerplate-generator package", - version: '1.5.0-rc17.9', + version: '1.5.0-rc17.10', documentation: null }); diff --git a/packages/boilerplate-generator/package.js b/packages/boilerplate-generator/package.js index ba272ec494..9492e303da 100644 --- a/packages/boilerplate-generator/package.js +++ b/packages/boilerplate-generator/package.js @@ -1,6 +1,6 @@ Package.describe({ summary: "Generates the boilerplate html from program's manifest", - version: '1.5.0-rc17.9' + version: '1.5.0-rc17.10' }); Npm.depends({ diff --git a/packages/ddp-server/package.js b/packages/ddp-server/package.js index c738ca316b..cbdd666e07 100644 --- a/packages/ddp-server/package.js +++ b/packages/ddp-server/package.js @@ -1,6 +1,6 @@ Package.describe({ summary: "Meteor's latency-compensated distributed data server", - version: '2.2.0', + version: '2.2.0-rc17.10', documentation: null }); diff --git a/packages/dynamic-import/package.js b/packages/dynamic-import/package.js index 8b945fd5a2..72a4f66aee 100644 --- a/packages/dynamic-import/package.js +++ b/packages/dynamic-import/package.js @@ -1,6 +1,6 @@ Package.describe({ name: "dynamic-import", - version: "0.4.0-rc17.9", + version: "0.4.0-rc17.10", summary: "Runtime support for Meteor 1.5 dynamic import(...) syntax", documentation: "README.md" }); diff --git a/packages/ecmascript-runtime-client/package.js b/packages/ecmascript-runtime-client/package.js index 757661cd68..ec26ee5c32 100644 --- a/packages/ecmascript-runtime-client/package.js +++ b/packages/ecmascript-runtime-client/package.js @@ -1,6 +1,6 @@ Package.describe({ name: "ecmascript-runtime-client", - version: "0.7.0-rc17.9", + version: "0.7.0-rc17.10", summary: "Polyfills for new ECMAScript 2015 APIs like Map and Set", git: "https://github.com/meteor/meteor/tree/devel/packages/ecmascript-runtime-client", documentation: "README.md" diff --git a/packages/ecmascript-runtime-server/package.js b/packages/ecmascript-runtime-server/package.js index c5ebebc049..da85e94c59 100644 --- a/packages/ecmascript-runtime-server/package.js +++ b/packages/ecmascript-runtime-server/package.js @@ -1,6 +1,6 @@ Package.describe({ name: "ecmascript-runtime-server", - version: "0.7.0-rc17.9", + version: "0.7.0-rc17.10", summary: "Polyfills for new ECMAScript 2015 APIs like Map and Set", git: "https://github.com/meteor/meteor/tree/devel/packages/ecmascript-runtime-client", documentation: "README.md" diff --git a/packages/ecmascript-runtime/package.js b/packages/ecmascript-runtime/package.js index 7a86dc9bdd..ac232c880f 100644 --- a/packages/ecmascript-runtime/package.js +++ b/packages/ecmascript-runtime/package.js @@ -1,6 +1,6 @@ Package.describe({ name: "ecmascript-runtime", - version: "0.7.0-rc17.9", + version: "0.7.0-rc17.10", summary: "Polyfills for new ECMAScript 2015 APIs like Map and Set", git: "https://github.com/meteor/ecmascript-runtime", documentation: "README.md" diff --git a/packages/ecmascript/package.js b/packages/ecmascript/package.js index 676de68576..2f50a1aea7 100644 --- a/packages/ecmascript/package.js +++ b/packages/ecmascript/package.js @@ -1,6 +1,6 @@ Package.describe({ name: 'ecmascript', - version: '0.11.0-rc17.9', + version: '0.11.0-rc17.10', summary: 'Compiler plugin that supports ES2015+ in all .js files', documentation: 'README.md' }); diff --git a/packages/es5-shim/package.js b/packages/es5-shim/package.js index f2a030f413..d6a184282c 100644 --- a/packages/es5-shim/package.js +++ b/packages/es5-shim/package.js @@ -1,6 +1,6 @@ Package.describe({ name: "es5-shim", - version: "4.8.0-rc17.9", + version: "4.8.0-rc17.10", summary: "Shims and polyfills to improve ECMAScript 5 support", documentation: "README.md" }); diff --git a/packages/facebook-oauth/package.js b/packages/facebook-oauth/package.js index b874db8cde..562bbdbec2 100644 --- a/packages/facebook-oauth/package.js +++ b/packages/facebook-oauth/package.js @@ -1,6 +1,6 @@ Package.describe({ summary: "Facebook OAuth flow", - version: "1.5.0-rc17.9" + version: "1.5.0-rc17.10" }); Package.onUse(function(api) { diff --git a/packages/meteor-base/package.js b/packages/meteor-base/package.js index b5d8396b92..290753a7e3 100644 --- a/packages/meteor-base/package.js +++ b/packages/meteor-base/package.js @@ -1,6 +1,6 @@ Package.describe({ name: 'meteor-base', - version: '1.4.0-rc17.9', + version: '1.4.0-rc17.10', // Brief, one-line summary of the package. summary: 'Packages that every Meteor app needs', // By default, Meteor will default to using README.md for documentation. diff --git a/packages/meteor-tool/package.js b/packages/meteor-tool/package.js index d5c62a5643..e90447d6e2 100644 --- a/packages/meteor-tool/package.js +++ b/packages/meteor-tool/package.js @@ -1,6 +1,6 @@ Package.describe({ summary: "The Meteor command-line tool", - version: '1.7.0-rc.9' + version: '1.7.0-rc.10' }); Package.includeTool(); diff --git a/packages/meteor/package.js b/packages/meteor/package.js index 216c8bbaf3..5f4876cd2e 100644 --- a/packages/meteor/package.js +++ b/packages/meteor/package.js @@ -2,7 +2,7 @@ Package.describe({ summary: "Core Meteor environment", - version: '1.9.0-rc17.9' + version: '1.9.0-rc17.10' }); Package.registerBuildPlugin({ diff --git a/packages/modern-browsers/package.js b/packages/modern-browsers/package.js index 04c710e117..a10ea85ead 100644 --- a/packages/modern-browsers/package.js +++ b/packages/modern-browsers/package.js @@ -1,6 +1,6 @@ Package.describe({ name: "modern-browsers", - version: "0.1.0-rc17.9", + version: "0.1.0-rc17.10", summary: "API for defining the boundary between modern and legacy " + "JavaScript clients", documentation: "README.md" diff --git a/packages/modules-runtime/package.js b/packages/modules-runtime/package.js index a45d88986d..925432d84f 100644 --- a/packages/modules-runtime/package.js +++ b/packages/modules-runtime/package.js @@ -1,6 +1,6 @@ Package.describe({ name: "modules-runtime", - version: "0.10.0-rc17.9", + version: "0.10.0-rc17.10", summary: "CommonJS module system", git: "https://github.com/benjamn/install", documentation: "README.md" diff --git a/packages/mongo/package.js b/packages/mongo/package.js index e4866fffb4..a3b9b2cd00 100644 --- a/packages/mongo/package.js +++ b/packages/mongo/package.js @@ -9,7 +9,7 @@ Package.describe({ summary: "Adaptor for using MongoDB and Minimongo over DDP", - version: '1.5.0-rc17.9' + version: '1.5.0-rc17.10' }); Npm.depends({ diff --git a/packages/npm-mongo/package.js b/packages/npm-mongo/package.js index 066a972ec0..59b436e0ad 100644 --- a/packages/npm-mongo/package.js +++ b/packages/npm-mongo/package.js @@ -3,7 +3,7 @@ Package.describe({ summary: "Wrapper around the mongo npm package", - version: "3.0.7-rc17.9", + version: "3.0.7-rc17.10", documentation: null }); diff --git a/packages/promise/package.js b/packages/promise/package.js index d1c209ced0..0572e71570 100644 --- a/packages/promise/package.js +++ b/packages/promise/package.js @@ -1,6 +1,6 @@ Package.describe({ name: "promise", - version: "0.11.0-rc17.9", + version: "0.11.0-rc17.10", summary: "ECMAScript 2015 Promise polyfill with Fiber support", git: "https://github.com/meteor/promise", documentation: "README.md" diff --git a/packages/socket-stream-client/package.js b/packages/socket-stream-client/package.js index aa7f4dc047..8ba3e0327a 100644 --- a/packages/socket-stream-client/package.js +++ b/packages/socket-stream-client/package.js @@ -1,6 +1,6 @@ Package.describe({ name: "socket-stream-client", - version: "0.2.0-rc17.9", + version: "0.2.0-rc17.10", summary: "Provides the ClientStream abstraction used by ddp-client", documentation: "README.md" }); diff --git a/packages/test-helpers/package.js b/packages/test-helpers/package.js index fe01a32291..a11da09cd4 100644 --- a/packages/test-helpers/package.js +++ b/packages/test-helpers/package.js @@ -1,6 +1,6 @@ Package.describe({ summary: "Utility functions for tests", - version: '1.1.0-rc17.9' + version: '1.1.0-rc17.10' }); Package.onUse(function (api) { diff --git a/packages/tracker/package.js b/packages/tracker/package.js index dc0088f18e..4bb42e7e8b 100644 --- a/packages/tracker/package.js +++ b/packages/tracker/package.js @@ -1,6 +1,6 @@ Package.describe({ summary: "Dependency tracker to allow reactive callbacks", - version: "1.2.0-rc17.9" + version: "1.2.0-rc17.10" }); Package.onUse(function (api) { diff --git a/packages/webapp/package.js b/packages/webapp/package.js index 8d35e94f2a..9fcedb2b46 100644 --- a/packages/webapp/package.js +++ b/packages/webapp/package.js @@ -1,6 +1,6 @@ Package.describe({ summary: "Serves a Meteor app over HTTP", - version: '1.6.0-rc17.9' + version: '1.6.0-rc17.10' }); Npm.depends({"basic-auth-connect": "1.0.0", diff --git a/scripts/admin/meteor-release-experimental.json b/scripts/admin/meteor-release-experimental.json index f48ee87bb8..33e7eccedb 100644 --- a/scripts/admin/meteor-release-experimental.json +++ b/scripts/admin/meteor-release-experimental.json @@ -1,6 +1,6 @@ { "track": "METEOR", - "version": "1.7-rc.9", + "version": "1.7-rc.10", "recommended": false, "official": false, "description": "Meteor" From 124e334a95d895ed13a9cbe63cd8727e030bbcf2 Mon Sep 17 00:00:00 2001 From: Ben Newman Date: Wed, 16 May 2018 12:16:28 -0400 Subject: [PATCH 0893/1355] Update meteor-babel and @babel/runtime to version 7.0.0-beta.47. --- History.md | 4 +- .../.npm/package/npm-shrinkwrap.json | 474 +++++++++--------- packages/babel-compiler/package.js | 2 +- scripts/dev-bundle-tool-package.js | 4 +- tools/static-assets/skel-bare/package.json | 2 +- tools/static-assets/skel-full/package.json | 2 +- tools/static-assets/skel-minimal/package.json | 2 +- tools/static-assets/skel/package.json | 2 +- 8 files changed, 246 insertions(+), 246 deletions(-) diff --git a/History.md b/History.md index 2088ca22f6..7ddd0cd27d 100644 --- a/History.md +++ b/History.md @@ -212,8 +212,8 @@ want to run. [PR #9714](https://github.com/meteor/meteor/pull/9714) * The `meteor-babel` npm package has been updated to version - 7.0.0-beta.46-5. Note: while Babel has recently implemented support for - a new kind of `babel.config.js` configuration file (see [this + 7.0.0-beta.47. Note: while Babel has recently implemented support for a + new kind of `babel.config.js` configuration file (see [this PR](https://github.com/babel/babel/pull/7358)), and future versions of Meteor will no doubt embrace this functionality, Meteor 1.7 supports only `.babelrc` files as a means of customizing the default Babel diff --git a/packages/babel-compiler/.npm/package/npm-shrinkwrap.json b/packages/babel-compiler/.npm/package/npm-shrinkwrap.json index bb2dc5b6f3..1aa65de99c 100644 --- a/packages/babel-compiler/.npm/package/npm-shrinkwrap.json +++ b/packages/babel-compiler/.npm/package/npm-shrinkwrap.json @@ -2,334 +2,334 @@ "lockfileVersion": 1, "dependencies": { "@babel/code-frame": { - "version": "7.0.0-beta.46", - "resolved": "https://registry.npmjs.org/@babel/code-frame/-/code-frame-7.0.0-beta.46.tgz", - "integrity": "sha512-7BKRkmYaPZm3Yff5HGZJKCz7RqZ5jUjknsXT6Gz5YKG23J3uq9hAj0epncCB0rlqmnZ8Q+UUpQB2tCR5mT37vw==" + "version": "7.0.0-beta.47", + "resolved": "https://registry.npmjs.org/@babel/code-frame/-/code-frame-7.0.0-beta.47.tgz", + "integrity": "sha512-W7IeG4MoVf4oUvWfHUx9VG9if3E0xSUDf1urrnNYtC2ow1dz2ptvQ6YsJfyVXDuPTFXz66jkHhzMW7a5Eld7TA==" }, "@babel/core": { - "version": "7.0.0-beta.46", - "resolved": "https://registry.npmjs.org/@babel/core/-/core-7.0.0-beta.46.tgz", - "integrity": "sha512-lCDbBSAhNAt+nL98xbgWmuhgrIxKvbvFHf73zlNCuXCHJkdlo7qzTofYK0ZWb+OVce8fQ17fC7DwTIhAwowzMw==" + "version": "7.0.0-beta.47", + "resolved": "https://registry.npmjs.org/@babel/core/-/core-7.0.0-beta.47.tgz", + "integrity": "sha512-7EIuAX0UVnCgZ0E9tz9rFK0gd+aovwMA9bul+dnkmBQYLrJdas2EHMUSmaK67i1cyZpvgVvXhHtXJxC7wo3rlQ==" }, "@babel/generator": { - "version": "7.0.0-beta.46", - "resolved": "https://registry.npmjs.org/@babel/generator/-/generator-7.0.0-beta.46.tgz", - "integrity": "sha512-5VfaEVkPG0gpNSTcf70jvV+MjbMoNn4g2iluwM7MhciedkolEtmG7PcdoUj5W1EmMfngz5cF65V7UMZXJO6y8Q==" + "version": "7.0.0-beta.47", + "resolved": "https://registry.npmjs.org/@babel/generator/-/generator-7.0.0-beta.47.tgz", + "integrity": "sha512-fJP+9X+gqgTTZzTqrKJHwebPwt6S/e/4YuyRyKyWHAIirGgUwjRoZgbFci24wwGYMJW7nlkCSwWG7QvCVsG0eg==" }, "@babel/helper-annotate-as-pure": { - "version": "7.0.0-beta.46", - "resolved": "https://registry.npmjs.org/@babel/helper-annotate-as-pure/-/helper-annotate-as-pure-7.0.0-beta.46.tgz", - "integrity": "sha512-ej5W347ghJF1p2TM3VcEyds1+o1uy1apaQcHrYFJPus2xCgn5KkHPkBGf+6euLfFaQDtB+eWPVKjiZx/hpYXvA==" + "version": "7.0.0-beta.47", + "resolved": "https://registry.npmjs.org/@babel/helper-annotate-as-pure/-/helper-annotate-as-pure-7.0.0-beta.47.tgz", + "integrity": "sha512-Pjxb/PrxyKWc7jcAXlawvNAQMxxY+tSSNC5wxJstJjpO10mocmGzBOqNYjxdvVhMb3d0BEPQ8mR+D65fFpZ+TA==" }, "@babel/helper-builder-binary-assignment-operator-visitor": { - "version": "7.0.0-beta.46", - "resolved": "https://registry.npmjs.org/@babel/helper-builder-binary-assignment-operator-visitor/-/helper-builder-binary-assignment-operator-visitor-7.0.0-beta.46.tgz", - "integrity": "sha512-ZCQ62KqFC5R3NPe5ug9pVqIHYJNup8UdEbE4IXw+s7zr4D/7AsKSt3pXA+FbML5AnQXeCSOuUWioggGmKuDV5g==" + "version": "7.0.0-beta.47", + "resolved": "https://registry.npmjs.org/@babel/helper-builder-binary-assignment-operator-visitor/-/helper-builder-binary-assignment-operator-visitor-7.0.0-beta.47.tgz", + "integrity": "sha512-nv8d6TcDBb1CJMQzwab/e0rqyqoP9d2AQBjr4GdSiVRpJX4aiLEiLBm2XprdEb/sVIRmmBnVxPXJaHDsS/K2fw==" }, "@babel/helper-builder-react-jsx": { - "version": "7.0.0-beta.46", - "resolved": "https://registry.npmjs.org/@babel/helper-builder-react-jsx/-/helper-builder-react-jsx-7.0.0-beta.46.tgz", - "integrity": "sha512-4xakEEfimusXNgpSY6rP7robwRcnv1E8OxjkYSfsZCYsomFwN7RXU5S29vGWzxE37Yua4yTFqBwId9lwF84Hzw==" + "version": "7.0.0-beta.47", + "resolved": "https://registry.npmjs.org/@babel/helper-builder-react-jsx/-/helper-builder-react-jsx-7.0.0-beta.47.tgz", + "integrity": "sha512-oBGX/MyT4kNGuINK2k/KLHD77Ih1oTROtoxnV3uAPS9rLYhmZn3W8qy2L4bbyMwQ89nVSM427b0bTTXUEEReXA==" }, "@babel/helper-call-delegate": { - "version": "7.0.0-beta.46", - "resolved": "https://registry.npmjs.org/@babel/helper-call-delegate/-/helper-call-delegate-7.0.0-beta.46.tgz", - "integrity": "sha512-7nhBu/MBlpvZLQsmw/C7VxN14wph+yp+1yxzPEd2oTsHg3oA73tHyguQ6wbtkw+9f1AZtP7ZJCLQ+nGLprF4Fw==" + "version": "7.0.0-beta.47", + "resolved": "https://registry.npmjs.org/@babel/helper-call-delegate/-/helper-call-delegate-7.0.0-beta.47.tgz", + "integrity": "sha512-Rx9TRmCCEP0pWau9gfR6ubcbbX3nVc4ImNY143ftC70jrKdSv5rS20yz2cmCilDzhexwGZQ3PFwOLKe3C/5aEg==" }, "@babel/helper-define-map": { - "version": "7.0.0-beta.46", - "resolved": "https://registry.npmjs.org/@babel/helper-define-map/-/helper-define-map-7.0.0-beta.46.tgz", - "integrity": "sha512-rhi59ZVj+bhrgxqLi9VQmQOadcK9rLCArY8zqyjPNjDIsCurCwtQztRWhlz6CwBEhE9FO/KbSa9OFQm7Kobk+w==" + "version": "7.0.0-beta.47", + "resolved": "https://registry.npmjs.org/@babel/helper-define-map/-/helper-define-map-7.0.0-beta.47.tgz", + "integrity": "sha512-pLB9RY7GZKcc/frzgfDY/HwdqxWPe60qMAvNUef1V1bDZ8i4AUgxAANgltFzj61t100WGhqaS0xGkALD+9VA+g==" }, "@babel/helper-explode-assignable-expression": { - "version": "7.0.0-beta.46", - "resolved": "https://registry.npmjs.org/@babel/helper-explode-assignable-expression/-/helper-explode-assignable-expression-7.0.0-beta.46.tgz", - "integrity": "sha512-SW1OUmx2fC2SqL7+vF1N72FITbPuEWGdr/Gm7I3Vqs8p8T1dfGwB9YFsD+tTpfagKXVMiCCuQ06+G0FB8uxg6Q==" + "version": "7.0.0-beta.47", + "resolved": "https://registry.npmjs.org/@babel/helper-explode-assignable-expression/-/helper-explode-assignable-expression-7.0.0-beta.47.tgz", + "integrity": "sha512-1mwk27zmhSuMUcVWxw5ZKiPYfuWXviZNqgA4OvFBloPf9R+dKDhNgP2uUrkHh68ltVVc3Bup1nsbd/2KM5AxEw==" }, "@babel/helper-function-name": { - "version": "7.0.0-beta.46", - "resolved": "https://registry.npmjs.org/@babel/helper-function-name/-/helper-function-name-7.0.0-beta.46.tgz", - "integrity": "sha512-zm4Kc5XB2njGs8PkmjV1zE/g1hBuphbh+VcDyFLaQsxkxSFSUtCbKwFL8AQpL/qPIcGbvX1MBt50a/3ZZH2CQA==" + "version": "7.0.0-beta.47", + "resolved": "https://registry.npmjs.org/@babel/helper-function-name/-/helper-function-name-7.0.0-beta.47.tgz", + "integrity": "sha512-0LSvt95XCYaOrDA5K68KkTyldKXizDwBnKACdYzQszp1GdbtzmSeGwFU5Ecw86fU6bkYXtDvkFTOQwk/WQSJPw==" }, "@babel/helper-get-function-arity": { - "version": "7.0.0-beta.46", - "resolved": "https://registry.npmjs.org/@babel/helper-get-function-arity/-/helper-get-function-arity-7.0.0-beta.46.tgz", - "integrity": "sha512-dPrTb7QHVx44xJLjUl3LGAc13iS7hdXdO0fiOxdRN1suIS91yGGgeuwiQBlrw5SxbFchYtwenhlKbqHdVfGyVA==" + "version": "7.0.0-beta.47", + "resolved": "https://registry.npmjs.org/@babel/helper-get-function-arity/-/helper-get-function-arity-7.0.0-beta.47.tgz", + "integrity": "sha512-63j0i3YUW8CO//uQc3ACffJdIlYcIlysuHjMF0yzQhqKoQ/CUPv0hf3nBwdRGjiWrr3JcL6++NF4XmXdwSU+fA==" }, "@babel/helper-hoist-variables": { - "version": "7.0.0-beta.46", - "resolved": "https://registry.npmjs.org/@babel/helper-hoist-variables/-/helper-hoist-variables-7.0.0-beta.46.tgz", - "integrity": "sha512-9xDHLfaVA445mcHU2OEPwEddiyS0Zxao2WObFR2L/SK5MNOPj2VqVCvivYrO2OpzhnLLCTbOfXRmrwrc9WYN6Q==" + "version": "7.0.0-beta.47", + "resolved": "https://registry.npmjs.org/@babel/helper-hoist-variables/-/helper-hoist-variables-7.0.0-beta.47.tgz", + "integrity": "sha512-5BcKFhyzrsInlrfO/tGoe6khUuJzGfROD7oozF/5MWsKo/c3gVJfQ5y83lZ4XoTKJt/x4PQlLU0aHd/SJpYONA==" }, "@babel/helper-member-expression-to-functions": { - "version": "7.0.0-beta.46", - "resolved": "https://registry.npmjs.org/@babel/helper-member-expression-to-functions/-/helper-member-expression-to-functions-7.0.0-beta.46.tgz", - "integrity": "sha512-Xb5iVUHXY8yz4pgGBvtuS1kxZH1oUYcxTcbIW8NFRvgpeH3Zcv4me02bbixsk7nhn8ttE79Lr1g4vrem4k5Z3Q==" + "version": "7.0.0-beta.47", + "resolved": "https://registry.npmjs.org/@babel/helper-member-expression-to-functions/-/helper-member-expression-to-functions-7.0.0-beta.47.tgz", + "integrity": "sha512-gpipslnZw2hcVGADUtqQII9KF8FPpRZsVUXwKP/0EnWwtujRFSVL+u2Fh+VXODRAxFmTLo6eGcOr/Vfan0MqYw==" }, "@babel/helper-module-imports": { - "version": "7.0.0-beta.46", - "resolved": "https://registry.npmjs.org/@babel/helper-module-imports/-/helper-module-imports-7.0.0-beta.46.tgz", - "integrity": "sha512-xjgpwrqHiKCZgAcqsNIpZ9kOCC5Ty/VYN1H07v21HbAf/dl0/HeUA0taz3EFv6/7lRgS3qThawTSG0POJQX9vQ==" + "version": "7.0.0-beta.47", + "resolved": "https://registry.npmjs.org/@babel/helper-module-imports/-/helper-module-imports-7.0.0-beta.47.tgz", + "integrity": "sha512-Rk43Ty+a6npu9znK22IqFlseStRGWxEHi2cjmLbbi63VGiseofdUtIJI65F9MTCuMTXAX7VbY/ghef1Jp5qpvw==" }, "@babel/helper-module-transforms": { - "version": "7.0.0-beta.46", - "resolved": "https://registry.npmjs.org/@babel/helper-module-transforms/-/helper-module-transforms-7.0.0-beta.46.tgz", - "integrity": "sha512-IckoWSub3PHNvkWcUEWfKBe8pFUdMhsZMFDcaovcLb+gfxL/zZhQYwedKKKwbzVGIk9k44yjeMQ/OJd4yt4FGQ==" + "version": "7.0.0-beta.47", + "resolved": "https://registry.npmjs.org/@babel/helper-module-transforms/-/helper-module-transforms-7.0.0-beta.47.tgz", + "integrity": "sha512-CziMe30ZunAhe6j05oNOFOg7im1lcv3dYuMxrwBYVe9YdP4NHPU7a1wrDBUhaPmyqTIZDwGnFne7k1KP79SeGQ==" }, "@babel/helper-optimise-call-expression": { - "version": "7.0.0-beta.46", - "resolved": "https://registry.npmjs.org/@babel/helper-optimise-call-expression/-/helper-optimise-call-expression-7.0.0-beta.46.tgz", - "integrity": "sha512-PVd7/PGxi82pEKyuDcEpMmlenMLhJCII3lIK4MhXGWrT/6cNMpY6ob5rWOarpXgZjy+JNI5uLPOce28bqq0Wtw==" + "version": "7.0.0-beta.47", + "resolved": "https://registry.npmjs.org/@babel/helper-optimise-call-expression/-/helper-optimise-call-expression-7.0.0-beta.47.tgz", + "integrity": "sha512-NhnGhjwrhzGas4A/PoBDEtEPCGJHrzhaT6qGmo1hmkA2orG4UNi7KENC38DhJII0n2oUrKUuzTwgCvxKOTiHbw==" }, "@babel/helper-plugin-utils": { - "version": "7.0.0-beta.46", - "resolved": "https://registry.npmjs.org/@babel/helper-plugin-utils/-/helper-plugin-utils-7.0.0-beta.46.tgz", - "integrity": "sha512-eRTFH+/1rqDfzx+Z//CYk4TNwhfPQpM/TCs4CmHu2DwCPrqFnKUZLI1KgStfLf//c8FdOqx/U9EPec7s8CbUIA==" + "version": "7.0.0-beta.47", + "resolved": "https://registry.npmjs.org/@babel/helper-plugin-utils/-/helper-plugin-utils-7.0.0-beta.47.tgz", + "integrity": "sha512-GR67o8boOKVJRKM5Nhk7oVEHpxYy8R00lwu0F82WxxBH+iiT26DqW1e/4w/mo7Bdn1A6l0pNaOlNk1PdM2Hgag==" }, "@babel/helper-regex": { - "version": "7.0.0-beta.46", - "resolved": "https://registry.npmjs.org/@babel/helper-regex/-/helper-regex-7.0.0-beta.46.tgz", - "integrity": "sha512-sPDHBt8Y4i6y9rwtxWMvcprlVHAZOOQK5xpS2Nw2q9QEDHRHwVbEpE6EejoUStSclnfJpPK/7ijFgypwc6rXlA==" + "version": "7.0.0-beta.47", + "resolved": "https://registry.npmjs.org/@babel/helper-regex/-/helper-regex-7.0.0-beta.47.tgz", + "integrity": "sha512-dafidvVkjJP5AIWkJspV+7RGj1jeNts0qYvlmVzqAGb6BmQzEldJr6ZPzrmlpW/AW1YJGdw7br2yiwvlCRqDvQ==" }, "@babel/helper-remap-async-to-generator": { - "version": "7.0.0-beta.46", - "resolved": "https://registry.npmjs.org/@babel/helper-remap-async-to-generator/-/helper-remap-async-to-generator-7.0.0-beta.46.tgz", - "integrity": "sha512-YrqQ98z8AMZx8f2PGJ4YV1MkXtj+qbwbFV7MOLTiavGSFY7UrN4uQfhKEJ/4GUf4QZdTr5NEmRt0AJrWno8y8w==" + "version": "7.0.0-beta.47", + "resolved": "https://registry.npmjs.org/@babel/helper-remap-async-to-generator/-/helper-remap-async-to-generator-7.0.0-beta.47.tgz", + "integrity": "sha512-Nmj3lUHQscD160asav2bZ3sMIjGwGY9r6Vrriy9TqH7bmaClKUKUs5Twv0htFWfOKNFLEeY/MaqiAXylr1GS2w==" }, "@babel/helper-replace-supers": { - "version": "7.0.0-beta.46", - "resolved": "https://registry.npmjs.org/@babel/helper-replace-supers/-/helper-replace-supers-7.0.0-beta.46.tgz", - "integrity": "sha512-FSpK3QKzb58oMEccanHzg1djsYHhGARl08i8BQGBoOyHS6Df+4/8bsQiTnc59Dz5sJoZdb67nKKFjgMsMYi6Kg==" + "version": "7.0.0-beta.47", + "resolved": "https://registry.npmjs.org/@babel/helper-replace-supers/-/helper-replace-supers-7.0.0-beta.47.tgz", + "integrity": "sha512-yf2JAD1+xNTjavqazqknRgPfd6MbGfvfIcAkxWsPURynAwOMSs4zThED8ImT2d5a97rGPysRJcq1jNh2L0WYxg==" }, "@babel/helper-simple-access": { - "version": "7.0.0-beta.46", - "resolved": "https://registry.npmjs.org/@babel/helper-simple-access/-/helper-simple-access-7.0.0-beta.46.tgz", - "integrity": "sha512-1OEjV/Qnl4u8Dg+jQIYf1TgnfdrYIrdrF7yZwp9mSgsVX2PCyLe7JNTqZ/5v/5RzlF6S+GTe9agkj+EFFTcZUw==" + "version": "7.0.0-beta.47", + "resolved": "https://registry.npmjs.org/@babel/helper-simple-access/-/helper-simple-access-7.0.0-beta.47.tgz", + "integrity": "sha512-sd2t3QDKjd+hHkJKaC2AX39l6oIil1N548oMZAtV5YHlVGoWWkAVGnPMxRg7ICEjIftCU3ZI6UeaogyEhF8t7Q==" }, "@babel/helper-split-export-declaration": { - "version": "7.0.0-beta.46", - "resolved": "https://registry.npmjs.org/@babel/helper-split-export-declaration/-/helper-split-export-declaration-7.0.0-beta.46.tgz", - "integrity": "sha512-UT7acgV7wsnBPwnqslqcnUFvsPBP4TtVaYM82xPGA7+evAa8q8HXOmFk08qsMK/pX/yy4+51gJJwyw2zofnacA==" + "version": "7.0.0-beta.47", + "resolved": "https://registry.npmjs.org/@babel/helper-split-export-declaration/-/helper-split-export-declaration-7.0.0-beta.47.tgz", + "integrity": "sha512-jx8GmxryT6Qy4+24W6M6TnVL9T8bxqdyg5UKHjxBdw0Y2Sano1n0WphUS2seuOugn04W2ZQLqGc0ut8nGe/taA==" }, "@babel/helper-wrap-function": { - "version": "7.0.0-beta.46", - "resolved": "https://registry.npmjs.org/@babel/helper-wrap-function/-/helper-wrap-function-7.0.0-beta.46.tgz", - "integrity": "sha512-W87M4bP6veTKK66OjzV/rU47tjsWmKj9J0J5BDmxq5BIJB1M13ouQ2FAURa4jGHwjPFWN3D5njBrsrifSOHzbQ==" + "version": "7.0.0-beta.47", + "resolved": "https://registry.npmjs.org/@babel/helper-wrap-function/-/helper-wrap-function-7.0.0-beta.47.tgz", + "integrity": "sha512-SAasvh80Mz5q9x15dqH6z8jpM0WTBmxQSNZATSwJwhmWdme6r2gxpufIMr8LwQIJHmXmgNLmvh0zdWSbE/PR4Q==" }, "@babel/helpers": { - "version": "7.0.0-beta.46", - "resolved": "https://registry.npmjs.org/@babel/helpers/-/helpers-7.0.0-beta.46.tgz", - "integrity": "sha512-mbpH9pM3pJzo/tBr75U+zva3pqpyivogt1aofgEoD7bWFAYSuqOudRuz+m4XP6VPxxLoxcA4SFPGkuLRt9+7nQ==" + "version": "7.0.0-beta.47", + "resolved": "https://registry.npmjs.org/@babel/helpers/-/helpers-7.0.0-beta.47.tgz", + "integrity": "sha512-uWk7gIua2COEWLwZGxfF5Wq1bgXOt1V6xzWxqeFznrA6F1TUPiAhkK5zORiZEa5RAILp6Mswsn3xFjDyCpp3rQ==" }, "@babel/highlight": { - "version": "7.0.0-beta.46", - "resolved": "https://registry.npmjs.org/@babel/highlight/-/highlight-7.0.0-beta.46.tgz", - "integrity": "sha512-r4snW6Q8ICL3Y8hGzYJRvyG/+sc+kvkewXNedG9tQjoHmUFMwMSv/o45GWQUQswevGnWghiGkpRPivFfOuMsOA==" + "version": "7.0.0-beta.47", + "resolved": "https://registry.npmjs.org/@babel/highlight/-/highlight-7.0.0-beta.47.tgz", + "integrity": "sha512-d505K3Hth1eg0b2swfEF7oFMw3J9M8ceFg0s6dhCSxOOF+07WDvJ0HKT/YbK/Jk9wn8Wyr6HIRAUPKJ9Wfv8Rg==" }, "@babel/plugin-proposal-async-generator-functions": { - "version": "7.0.0-beta.46", - "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-async-generator-functions/-/plugin-proposal-async-generator-functions-7.0.0-beta.46.tgz", - "integrity": "sha512-htHMsLBYkM89CplqHTbbemVvzTXXyXkpihetJZUTPpSayfxEd6oIH5uSM91efcf5Rog+1SC0Oq32q9yF/4W3ig==" + "version": "7.0.0-beta.47", + "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-async-generator-functions/-/plugin-proposal-async-generator-functions-7.0.0-beta.47.tgz", + "integrity": "sha512-TQMLYVIqQ0MqVS1Z7jsuv3HlEetLo/7EnDY9mGBZ4c4/WLD/mu+tFuLiK2/2QH5wgi5viRfJGs/+L5TaDzxWng==" }, "@babel/plugin-proposal-class-properties": { - "version": "7.0.0-beta.46", - "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-class-properties/-/plugin-proposal-class-properties-7.0.0-beta.46.tgz", - "integrity": "sha512-kWp3bKibdSeSEvEQWcEcs345KPQYT39uM2edFS78NH3Gu6O9mBcnXh5E2BJ1sbE+jJ6jYPOZz4BK/LR7BiF0jA==" + "version": "7.0.0-beta.47", + "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-class-properties/-/plugin-proposal-class-properties-7.0.0-beta.47.tgz", + "integrity": "sha512-6yuCiF+ZZHPLgAa+0a6/teNeAMsWqY6AVtZA4NhCWnwP4OH0JrRaY7rwvFCJSqNGurf8rF65W9IucM/l0+HOCg==" }, "@babel/plugin-proposal-object-rest-spread": { - "version": "7.0.0-beta.46", - "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-object-rest-spread/-/plugin-proposal-object-rest-spread-7.0.0-beta.46.tgz", - "integrity": "sha512-viGuWOgFT/Tbnn3sYi3g9iJcC3ql7bSjxDs+d+GFgyf3eV2qNIKO/6I+PJAD35fGqDGGBrQhlA6HvW0FzQVtoA==" + "version": "7.0.0-beta.47", + "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-object-rest-spread/-/plugin-proposal-object-rest-spread-7.0.0-beta.47.tgz", + "integrity": "sha512-ujUjQUyTxUWHfixRD7Y5Nm8VCgHSf6YgbM37LEnojKp5lPahZO42qJfDty+Kh0tEanpI5H8BLPkJbFSzx6TNEw==" }, "@babel/plugin-syntax-async-generators": { - "version": "7.0.0-beta.46", - "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-async-generators/-/plugin-syntax-async-generators-7.0.0-beta.46.tgz", - "integrity": "sha512-igLQzZYcSrY/W3eACq6Nrf9u9mfw7m5G6+JeTZlyI7w0z+upGvWvrpTaAP1Gni6MckQkx5q+pspgpV+/5ioPXg==" + "version": "7.0.0-beta.47", + "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-async-generators/-/plugin-syntax-async-generators-7.0.0-beta.47.tgz", + "integrity": "sha512-LCNGYTLpQAsvTmVmT/I2pz7dIh3Bu+9BLxqL7b3QfplsMQxNsoBBMend33Arb4EtPt5dX7KeeVof8tL0trDRRA==" }, "@babel/plugin-syntax-class-properties": { - "version": "7.0.0-beta.46", - "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-class-properties/-/plugin-syntax-class-properties-7.0.0-beta.46.tgz", - "integrity": "sha512-NwtgTQ+I8B2eo5h1mZF64nloLaGQuPM4M/c/swvyvqHoWLissHhm94rOE2Ghte8WMgQ/Nw3bqJd59kpbckqmdQ==" + "version": "7.0.0-beta.47", + "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-class-properties/-/plugin-syntax-class-properties-7.0.0-beta.47.tgz", + "integrity": "sha512-vLoAuLSjHSenX3TQmri6ttQWZp3rEtGcRp4LgYEBQ012fN5h+KmcssvkCAqm6V6ozS5KzUWpBlZ6t7YhZG6oBw==" }, "@babel/plugin-syntax-dynamic-import": { - "version": "7.0.0-beta.46", - "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-dynamic-import/-/plugin-syntax-dynamic-import-7.0.0-beta.46.tgz", - "integrity": "sha512-D4ek6tZa80NgaTSprPOVxj8vxjChh6UCWgCT/ZvCwAa6CBe3iqUCuOwZQLjU41aDdeuR7C02wxl3rcb25wCRLA==" + "version": "7.0.0-beta.47", + "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-dynamic-import/-/plugin-syntax-dynamic-import-7.0.0-beta.47.tgz", + "integrity": "sha512-J2y7RAH2NwQ+ahJahj2eS1PqS2NWNWTDaEibqrE55VTJU7nPL8AhthRwIQfQkCH+8UIeL/T3Jh1iHIRkvJ6dXA==" }, "@babel/plugin-syntax-flow": { - "version": "7.0.0-beta.46", - "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-flow/-/plugin-syntax-flow-7.0.0-beta.46.tgz", - "integrity": "sha512-HFChD9R2w+8+Jt5539SVaKKSYuMvbCgYG7LmuISycaJW16aS6fNS6V8jr8U/HKJk3bhIG5SkATBYedy5zGR+sg==" + "version": "7.0.0-beta.47", + "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-flow/-/plugin-syntax-flow-7.0.0-beta.47.tgz", + "integrity": "sha512-+3ZLKNV8tSDnTWL4QRNx5uZB/hUzY71WcgCwoXWy+8ma7EjZ3e3vbR69VR8dJwG1DqGsug6ZzM+afR0G4gKgPA==" }, "@babel/plugin-syntax-jsx": { - "version": "7.0.0-beta.46", - "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-jsx/-/plugin-syntax-jsx-7.0.0-beta.46.tgz", - "integrity": "sha512-aYN4vmO4nMux1W36F6/YP2ugNQ0cilrs1eU4jClLrlIouxqd9hqBloWtlGmGlyDxIRV5kzr+UWwridLDb+cN5g==" + "version": "7.0.0-beta.47", + "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-jsx/-/plugin-syntax-jsx-7.0.0-beta.47.tgz", + "integrity": "sha512-5scuJzIYZY8M+A1ra8mcKANIwB5TtsRD6Aw94xZxfvnjhhVMFR5RYE9HshVlBrZVY+r3cJDNIQLJMC/fGJHImA==" }, "@babel/plugin-syntax-object-rest-spread": { - "version": "7.0.0-beta.46", - "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-object-rest-spread/-/plugin-syntax-object-rest-spread-7.0.0-beta.46.tgz", - "integrity": "sha512-MMv6WG69jmcSLXdUeHvoev5RkuP/QuJZwCB4jXp2gtss//avs4Sns+t0VpGKTf9umhvRq44HFO6PVjVG85F+/Q==" + "version": "7.0.0-beta.47", + "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-object-rest-spread/-/plugin-syntax-object-rest-spread-7.0.0-beta.47.tgz", + "integrity": "sha512-UOGQCmzvNlZMQOuys7xPiTa2EjTT3xHuhUghcdJnYikqGV43obpIIaP+VDCWPvIT8g0QDIvmRWx5UefvkWXN+w==" }, "@babel/plugin-transform-arrow-functions": { - "version": "7.0.0-beta.46", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-arrow-functions/-/plugin-transform-arrow-functions-7.0.0-beta.46.tgz", - "integrity": "sha512-GgeFCCMHXWRkPDXWKin76qiZh+DAYdQShmk8SmzDj6IAgPHyNqkxHN/8gsmNe5/7IWFFOKUuM9TNU7fgY7z7Gg==" + "version": "7.0.0-beta.47", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-arrow-functions/-/plugin-transform-arrow-functions-7.0.0-beta.47.tgz", + "integrity": "sha512-xiU+7RJAsqx+iZqWSQQWBu9ZDTruWimkg4puDSdRVfEwgZQdOtiU2LuO0+xGFyitJPHkKuje0WvK1tFu1dmxCw==" }, "@babel/plugin-transform-async-to-generator": { - "version": "7.0.0-beta.46", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-async-to-generator/-/plugin-transform-async-to-generator-7.0.0-beta.46.tgz", - "integrity": "sha512-obykYLqAd3tujTjHYE+dln5+nDhm+R5FmUcxXFr/Mx6LK1NgrTQ9TdPPOcMCD08r8SDljFpMopuz9upN/xJlbw==" + "version": "7.0.0-beta.47", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-async-to-generator/-/plugin-transform-async-to-generator-7.0.0-beta.47.tgz", + "integrity": "sha512-/TXK3v6ipvmhMO81Y2Vjc7RYROkS2PcmRc+kvmU3CWA7r5I73KWg10UEW/fpWqCuoTCHHHXu1ZcZ5u+nduJeFw==" }, "@babel/plugin-transform-block-scoped-functions": { - "version": "7.0.0-beta.46", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-block-scoped-functions/-/plugin-transform-block-scoped-functions-7.0.0-beta.46.tgz", - "integrity": "sha512-0paq0AtTp3TXbXdzWwsL8ddacmo/g/14IgIZgs5BzUTrfROKQThYVccEBPqRnprTgvM0JXyDVfNSgLB4akCTjg==" + "version": "7.0.0-beta.47", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-block-scoped-functions/-/plugin-transform-block-scoped-functions-7.0.0-beta.47.tgz", + "integrity": "sha512-8KPxKyE6kb9VRbHwQ8XKsg/IPlxHaOMRyg2WfyV5C4dCmXbRdHDJy4hZKB3o4rGxjggmC/Bx8Fh51/P7UNtTcA==" }, "@babel/plugin-transform-block-scoping": { - "version": "7.0.0-beta.46", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-block-scoping/-/plugin-transform-block-scoping-7.0.0-beta.46.tgz", - "integrity": "sha512-7OwS0ObI6nLacEKP1HCdnoIQnHBqOV6IgtKGiPO+Nj03OnZ1Yo2aeK9sfOtwL43aNztnKqFVt2L5PfZg4VGidA==" + "version": "7.0.0-beta.47", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-block-scoping/-/plugin-transform-block-scoping-7.0.0-beta.47.tgz", + "integrity": "sha512-V/u3Zdy40KjVQeyYUaQnCGiHQbRNJoc6IEtNDERltuW9vYPHS1n6YGc+EHKi8JVYT4kE6UHOjD+BrbCCV4kjRw==" }, "@babel/plugin-transform-classes": { - "version": "7.0.0-beta.46", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-classes/-/plugin-transform-classes-7.0.0-beta.46.tgz", - "integrity": "sha512-EDp/qQAURfrX6hNM+VrLSSA+cGiwDeZL0ZTTt6a7PNSFABCw4qwKJHx3Q7me1oV7q3U/GJwPS4Aym2QTDmNGvg==" + "version": "7.0.0-beta.47", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-classes/-/plugin-transform-classes-7.0.0-beta.47.tgz", + "integrity": "sha512-hzW/jL6TPBMHJXeXwzuxMN0PFAfjVD0UzATHrFSejY5A7SvhWWrv1cZ3K0/SzCXJ9LpMdxCNiREvVjeD/Tyx2g==" }, "@babel/plugin-transform-computed-properties": { - "version": "7.0.0-beta.46", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-computed-properties/-/plugin-transform-computed-properties-7.0.0-beta.46.tgz", - "integrity": "sha512-0ne9TL53fXH+cBI591R1JSpPhu0d2Wd9dbD8jLCJFV4tlMfqQ+Rcm65RhWWqjEBZfGv2+FuOnwB4HJRHakdW+Q==" + "version": "7.0.0-beta.47", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-computed-properties/-/plugin-transform-computed-properties-7.0.0-beta.47.tgz", + "integrity": "sha512-V78qyzmjj4aq/tjpkMFbV5gPtrx7xdclW1Rn6vV9hIwMSMbtstYEXF4msy614MofvYj6gYbPbNfyhXFIUvz/xw==" }, "@babel/plugin-transform-destructuring": { - "version": "7.0.0-beta.46", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-destructuring/-/plugin-transform-destructuring-7.0.0-beta.46.tgz", - "integrity": "sha512-l9x0+T29Njwp6smLbTIU2HG2s4ROd9DAIQcfciEfpjAqscXEst0M4X9+UvjQsuaOgPFmQTdAn9xOwNFXnRP7Tg==" + "version": "7.0.0-beta.47", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-destructuring/-/plugin-transform-destructuring-7.0.0-beta.47.tgz", + "integrity": "sha512-3AaXC9H7qPybJbSs/QMhhj9EZF9MYrb/HRytwki1tckaYifqCJquENIZxDAYmwsWIGIHiq34WqwPRMIsz/b5uQ==" }, "@babel/plugin-transform-exponentiation-operator": { - "version": "7.0.0-beta.46", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-exponentiation-operator/-/plugin-transform-exponentiation-operator-7.0.0-beta.46.tgz", - "integrity": "sha512-acomgoNW/fwWSmBlhH22C9Eyl1Y/vADBSqzyIRWJGpm4frLhd49QQgKXbRGRHUDxyifXuZDF9+3pRhEmi7/HXA==" + "version": "7.0.0-beta.47", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-exponentiation-operator/-/plugin-transform-exponentiation-operator-7.0.0-beta.47.tgz", + "integrity": "sha512-vyGG3kLIXpMuaPL485aqowdWFrxCxXtbzMXy9p1QTK5Q/+9UHpK9XoAVJZGknnsm091m0Ss7spo8uHaxbzYVog==" }, "@babel/plugin-transform-flow-strip-types": { - "version": "7.0.0-beta.46", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-flow-strip-types/-/plugin-transform-flow-strip-types-7.0.0-beta.46.tgz", - "integrity": "sha512-ZyMayIXoDPsYYa8FVypQpcxeHX65l6lQ/nA4DRTSJUVvoQDytfNlH3Y3yQhGwyrr2APsCpq4MGmUAp+Id8KWeA==" + "version": "7.0.0-beta.47", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-flow-strip-types/-/plugin-transform-flow-strip-types-7.0.0-beta.47.tgz", + "integrity": "sha512-X/8Gd4CxdBx7LOtW2wPSzr83bYyndqYbnJoUEosPJXOG2aRmgVo4hn+wk97vtDH+hMP7HsTApVBffrZNXS3erA==" }, "@babel/plugin-transform-for-of": { - "version": "7.0.0-beta.46", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-for-of/-/plugin-transform-for-of-7.0.0-beta.46.tgz", - "integrity": "sha512-a1gpwuO26szyz5K2FrRrI5nUDgvkaJfZ7GeDtFAH8XyrK/pNdtpW/7DFCf1PdQc6SbEMM/1QXsH7Y2YRkWoTeA==" + "version": "7.0.0-beta.47", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-for-of/-/plugin-transform-for-of-7.0.0-beta.47.tgz", + "integrity": "sha512-tfH5OMzV9fWLYJTzWDhoRJKr8kvBZWH26jiCgM0ayNq75ES/X947MqMNAgBjJdTAVEV2kOyks2ItgNAJT4rOUw==" }, "@babel/plugin-transform-literals": { - "version": "7.0.0-beta.46", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-literals/-/plugin-transform-literals-7.0.0-beta.46.tgz", - "integrity": "sha512-Uuo7pRsBkrLrDg6XpOAMfwhKw56SB5qVBniUVM04uf8wf92S2Z5tSPNNfn1iTgphuckAO9vg86l2XJ0Y/QD4YQ==" + "version": "7.0.0-beta.47", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-literals/-/plugin-transform-literals-7.0.0-beta.47.tgz", + "integrity": "sha512-PxBw+52qWypwR76YfS2FlW4wZfp61SjIyt3OSPZeWnf0zVQWNVrlRRunJ7lBYudDYvyMwStAE/VynZ0fHtPgng==" }, "@babel/plugin-transform-modules-commonjs": { - "version": "7.0.0-beta.46", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-modules-commonjs/-/plugin-transform-modules-commonjs-7.0.0-beta.46.tgz", - "integrity": "sha512-3wLCWVkEhhQiVqqml4y9G6GJT6WA/mkxQ6TRy+4I46z00WWbEDENJcRTS14oNKzeRIo4yJylbVB1wUCW7HuJ9A==" + "version": "7.0.0-beta.47", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-modules-commonjs/-/plugin-transform-modules-commonjs-7.0.0-beta.47.tgz", + "integrity": "sha512-MYoLyexybBJ9ODWWMsMFzxAQey68RzhQNPjfNAYPhPPB3X160EZ5qOjWxRS2rYNvuYAxs6guy5OdrDpESqFSrQ==" }, "@babel/plugin-transform-object-super": { - "version": "7.0.0-beta.46", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-object-super/-/plugin-transform-object-super-7.0.0-beta.46.tgz", - "integrity": "sha512-T+TV4rRuTubvjqEwBF5xib3vnfJgjQ62qJqHprTaJDBtF0ofpbv/A6x86EEr51iPymHc84eM+F1zyFEtJvKYwQ==" + "version": "7.0.0-beta.47", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-object-super/-/plugin-transform-object-super-7.0.0-beta.47.tgz", + "integrity": "sha512-JN6ox2rH1xe6hlsd6/7d2kPjZSA97wH4oOdNOSaNqaFGEFuaP/Je4+ojHMgyHKU2nx9QHNBCTxHEj+ko+Ij6HQ==" }, "@babel/plugin-transform-parameters": { - "version": "7.0.0-beta.46", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-parameters/-/plugin-transform-parameters-7.0.0-beta.46.tgz", - "integrity": "sha512-RnkdYrayTlQ0VFoyIjvY/cCp/1lJJkYE2lFcRNg6+Skd3g41PnocsHhQ5NUQjMNogL+RnNan3S/2S/i7S4zm+Q==" + "version": "7.0.0-beta.47", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-parameters/-/plugin-transform-parameters-7.0.0-beta.47.tgz", + "integrity": "sha512-UzQG8draO+30Y8eNEREuGBfmEHLL7WFxOjmTBbaTrbdOrm/znCUThqcuNz8cyn2nrZbln7M/loQ3stjf9Pt9fQ==" }, "@babel/plugin-transform-property-literals": { - "version": "7.0.0-beta.46", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-property-literals/-/plugin-transform-property-literals-7.0.0-beta.46.tgz", - "integrity": "sha512-q1jSyGXA4zPWLpJZ7rPLpbQTv27VHSHWeU16xAM5PnmI1ZrL5XmhmhAfZ4D2+W3NfXbvaEUyxPBnwBYyGPKrNA==" + "version": "7.0.0-beta.47", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-property-literals/-/plugin-transform-property-literals-7.0.0-beta.47.tgz", + "integrity": "sha512-BprUjFZGZ8+f8yHco0qIWFoEez/3mGScE+kzDmWIvMOLO9dBmzvM/vxTAUv/armxOl+wg4fUDLqSF99ZxjSt8g==" }, "@babel/plugin-transform-react-display-name": { - "version": "7.0.0-beta.46", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-react-display-name/-/plugin-transform-react-display-name-7.0.0-beta.46.tgz", - "integrity": "sha512-/a7wwzNrYqReyuOM8rBB9iAOLaubvGHM9w3eUeput/DnEq/V+dJuBgktpF6mw/MQjwjna1B/3BbWsn1PaBw8bw==" + "version": "7.0.0-beta.47", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-react-display-name/-/plugin-transform-react-display-name-7.0.0-beta.47.tgz", + "integrity": "sha512-Rw1KWihSkGHbqHiQuiFu/beMakDtobW3eLSABw1w3BvRIc/UhBXxwyIxa/q/R9hWFBholAjmx9cKey8FnZPykw==" }, "@babel/plugin-transform-react-jsx": { - "version": "7.0.0-beta.46", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-react-jsx/-/plugin-transform-react-jsx-7.0.0-beta.46.tgz", - "integrity": "sha512-b8VtHVQub3h7lXG1ShaCKgGJdra7fRlUK6hx1eCcIWAPYnJMz4soLMSPiXmyjDA5L0CbYmyTkceU1GjbeJmaaw==" + "version": "7.0.0-beta.47", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-react-jsx/-/plugin-transform-react-jsx-7.0.0-beta.47.tgz", + "integrity": "sha512-HGian2BbCsyAqs6LntVVRpjXG9TkzhHfTynjUoMxOFL29doKEy/0s96SMvmbBSR/wMRKMd1OPvCiEYYxqZtr3g==" }, "@babel/plugin-transform-react-jsx-self": { - "version": "7.0.0-beta.46", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-react-jsx-self/-/plugin-transform-react-jsx-self-7.0.0-beta.46.tgz", - "integrity": "sha512-keXGiKQNzqHXpplpz/Eu+F+OC/k6M3kbEBOqoDbbYeJVmWARVADWwRnCCsW6yevSyON4CTU5mouVadTIY9YSpA==" + "version": "7.0.0-beta.47", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-react-jsx-self/-/plugin-transform-react-jsx-self-7.0.0-beta.47.tgz", + "integrity": "sha512-hlk+iHdlGtUWo1Y//2snSODh4swBaAcnSLC2qHTbWDE5myEO6ZFGV0nVS3eLOictgKFjrzzPZm6P0X/0w5tVBQ==" }, "@babel/plugin-transform-react-jsx-source": { - "version": "7.0.0-beta.46", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-react-jsx-source/-/plugin-transform-react-jsx-source-7.0.0-beta.46.tgz", - "integrity": "sha512-vSSghGn+ER6d5gBtNnTZAxPxBSs1ngyyVlHse/geHSv7YnzmrCOUrtVl+t4M2/EO3CW2m8nkMfpnMW5FCmg+Zw==" + "version": "7.0.0-beta.47", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-react-jsx-source/-/plugin-transform-react-jsx-source-7.0.0-beta.47.tgz", + "integrity": "sha512-oZ6D9z+qql+tz7PjGp1CaxepxqDQQTusyjeKsWr7NdEa0v2j3sWLkfK4Aa7kU9BT0+j+r/LN4u33UBkBNVoVvw==" }, "@babel/plugin-transform-regenerator": { - "version": "7.0.0-beta.46", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-regenerator/-/plugin-transform-regenerator-7.0.0-beta.46.tgz", - "integrity": "sha512-P6d8ckSjKlbr/1SL1NBO6ieFxSebTiRWd2R8/styUIizJWQlEB0ITQ7l8vv3jXGjJ0mh7lxBTegXejRkTGKKgw==" + "version": "7.0.0-beta.47", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-regenerator/-/plugin-transform-regenerator-7.0.0-beta.47.tgz", + "integrity": "sha512-JEPIiJyqYRfjOYUTZguLkb2HTwudReqLyOljpOXnJ/1ymwsiof4D6ul611DGlMxJMZJGQ6TBi59iY9GoJ6j4Iw==" }, "@babel/plugin-transform-runtime": { - "version": "7.0.0-beta.46", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-runtime/-/plugin-transform-runtime-7.0.0-beta.46.tgz", - "integrity": "sha512-mdgrBPXF+7cl+Y8dBynUxK90U17fQdH4zBsNxV6GYyI35WiUUZYFiXG2wKZN+1LClhavD9cOnOLpCxaNQy7g2A==" + "version": "7.0.0-beta.47", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-runtime/-/plugin-transform-runtime-7.0.0-beta.47.tgz", + "integrity": "sha512-RhnhjYsOxmKDGa1ePM5RQWFBYe1PnEZAhXTNEeIwtw1jluEoLL+PCTZDbt/aAcAkZvqwIWccjkNM/FwKTd5Sxw==" }, "@babel/plugin-transform-shorthand-properties": { - "version": "7.0.0-beta.46", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-shorthand-properties/-/plugin-transform-shorthand-properties-7.0.0-beta.46.tgz", - "integrity": "sha512-1QkKFWPsjrvMppycLwjPBXF+usSnGvbTxGe0Q+eIzcZyhabwGCsCgkmDIKMisPSAi6F7bM5H1S8VbE85IW3oRg==" + "version": "7.0.0-beta.47", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-shorthand-properties/-/plugin-transform-shorthand-properties-7.0.0-beta.47.tgz", + "integrity": "sha512-+o7/yb0Nrk4Gg/tnBgfBf+G1uGZbtkSluUnj8RyD37ajpDlWmysDjFEHSfktKcuD8YHeGz2M9AYNGcClk1fr/g==" }, "@babel/plugin-transform-spread": { - "version": "7.0.0-beta.46", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-spread/-/plugin-transform-spread-7.0.0-beta.46.tgz", - "integrity": "sha512-R0GvFdJnFrgTlmZfFtCXk81uvq5S3FuY38FnRsxDt6Yx/sE8jCmmrRe7XHZOnXXGP3ZWY9icILUmzWHOf91jbA==" + "version": "7.0.0-beta.47", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-spread/-/plugin-transform-spread-7.0.0-beta.47.tgz", + "integrity": "sha512-LFAozFdfT4bE2AQw2BnjzLufTX4GBsTUHUGRhT8XNoDYuGnV+7k9Yj6JU3/7csJc9u6W91PArYgoO+D56CMw6Q==" }, "@babel/plugin-transform-sticky-regex": { - "version": "7.0.0-beta.46", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-sticky-regex/-/plugin-transform-sticky-regex-7.0.0-beta.46.tgz", - "integrity": "sha512-goMgOLODjG1cgFHlKACh/NT/wrnmuRi2CpXsjOan10eZce0fk9kahYz/04cqhppmwtV/vQWwH2ikAHODSD8r5w==" + "version": "7.0.0-beta.47", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-sticky-regex/-/plugin-transform-sticky-regex-7.0.0-beta.47.tgz", + "integrity": "sha512-+Rc6NihGoXcwAqAxbiumvzOYxRR0aUg1ZExfyHnI5QnQf0sf4xAfgT/YpGvEgLd5Ci0rka+IWSj54PhzZkhuTg==" }, "@babel/plugin-transform-template-literals": { - "version": "7.0.0-beta.46", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-template-literals/-/plugin-transform-template-literals-7.0.0-beta.46.tgz", - "integrity": "sha512-2iGMsHWVAQq9X6p3VNjktJCH6ZXHQHi3NTPLKh5d4bEW8+M3H7LXLNqk1yUm/Uwt0tzh1FUfb/EU2sEPbrBrVA==" + "version": "7.0.0-beta.47", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-template-literals/-/plugin-transform-template-literals-7.0.0-beta.47.tgz", + "integrity": "sha512-ORfrfN/gQoRuI+xf+kOa2i/yvXfedFRgH+KtgoIrpUQom7OhexxzD280x80LMCIkdaVGzYhvlC3kdJkFMWAfUg==" }, "@babel/plugin-transform-typeof-symbol": { - "version": "7.0.0-beta.46", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-typeof-symbol/-/plugin-transform-typeof-symbol-7.0.0-beta.46.tgz", - "integrity": "sha512-l+CfLR2c5KzZ/uZlkflNe7nK2hiEahc/FeiUCTd5Krj4aCKDdLLSdb4Lowf5hdZbqIPQc9TdL9SZt80YhUlmFw==" + "version": "7.0.0-beta.47", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-typeof-symbol/-/plugin-transform-typeof-symbol-7.0.0-beta.47.tgz", + "integrity": "sha512-PhPy5NUY5MT++fEr7/sxN1/ERSM2siHSbGgdkbqgDlyvf1NlU1HeqyfomHJEFE1Y4PX0hj+XmtjSAali/6XqYA==" }, "@babel/plugin-transform-unicode-regex": { - "version": "7.0.0-beta.46", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-unicode-regex/-/plugin-transform-unicode-regex-7.0.0-beta.46.tgz", - "integrity": "sha512-XWQ7uJ0HL/xdMesKzt1uq5CmZPBqDiEno+FBeYuOJu1IWjpr3yXfEzH/nW17KESXGRv68mLTr+fIeSwcC+qVFg==" + "version": "7.0.0-beta.47", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-unicode-regex/-/plugin-transform-unicode-regex-7.0.0-beta.47.tgz", + "integrity": "sha512-44nWn421tMVZ/A4+1uppzoAO7nrlwWzefMr9JUi5G+tXl0DLEtWy+F7L6zCVw19C4OAOA6WlolVro5CEs6g6AQ==" }, "@babel/preset-react": { - "version": "7.0.0-beta.46", - "resolved": "https://registry.npmjs.org/@babel/preset-react/-/preset-react-7.0.0-beta.46.tgz", - "integrity": "sha512-+Xl9AH/rhI7FTX0OxNXM4oGljpeCs1nwPm2IjD9+mXO/+dWdGpa+yTcjYYpIWAK4KQrSQ+27T6DtJ6fZPTqYQA==" + "version": "7.0.0-beta.47", + "resolved": "https://registry.npmjs.org/@babel/preset-react/-/preset-react-7.0.0-beta.47.tgz", + "integrity": "sha512-fK4B101W19JsOc8E/wqmQ8R7gE1+DQJqIWvpaQIXPHgW+27ezq2JP5j5IBCk+9OTz007l7se00kMvvtUcKQZwg==" }, "@babel/runtime": { - "version": "7.0.0-beta.46", - "resolved": "https://registry.npmjs.org/@babel/runtime/-/runtime-7.0.0-beta.46.tgz", - "integrity": "sha512-/3a3USMKk54BEHhDgY8rtxtaQOs4bp4aQwo6SDtdwmrXmgSgEusWuXNX5oIs/nwzmTD9o8wz2EyAjA+uHDMmJA==" + "version": "7.0.0-beta.47", + "resolved": "https://registry.npmjs.org/@babel/runtime/-/runtime-7.0.0-beta.47.tgz", + "integrity": "sha512-3IaakAC5B4bHJ0aCUKVw0pt+GruavdgWDFbf7TfKh7ZJ8yQuUp7af7MNwf3e+jH8776cjqYmMO1JNDDAE9WfrA==" }, "@babel/template": { - "version": "7.0.0-beta.46", - "resolved": "https://registry.npmjs.org/@babel/template/-/template-7.0.0-beta.46.tgz", - "integrity": "sha512-3/qi4m0l6G/vZbEwtqfzJk73mYtuE7nvAO1zT3/ZrTAHy4sHf2vaF9Eh1w+Tau263Yrkh0bjVQPb9zw6G+GeMQ==" + "version": "7.0.0-beta.47", + "resolved": "https://registry.npmjs.org/@babel/template/-/template-7.0.0-beta.47.tgz", + "integrity": "sha512-mAzrOCLwOb4jAobHi0kTwIkoamP1Do28c6zxvrDXjYSJFZHz6KGuzMaT0AV7ZCq7M3si7QypVVMVX2bE6IsuOg==" }, "@babel/traverse": { - "version": "7.0.0-beta.46", - "resolved": "https://registry.npmjs.org/@babel/traverse/-/traverse-7.0.0-beta.46.tgz", - "integrity": "sha512-IU7MTGbcjpfhf5tyCu3sDB7sWYainZQcT+CqOBdVZXZfq5MMr130R7aiZBI2g5dJYUaW1PS81DVNpd0/Sq/Gzg==" + "version": "7.0.0-beta.47", + "resolved": "https://registry.npmjs.org/@babel/traverse/-/traverse-7.0.0-beta.47.tgz", + "integrity": "sha512-kYGGs//OnUnei+9TTldxlgf7llprj7VUeDKtG50+g+0k1g0yZyrkEgbyFheYFdnudR8IDEHOEXVsUuY82r5Aiw==" }, "@babel/types": { - "version": "7.0.0-beta.46", - "resolved": "https://registry.npmjs.org/@babel/types/-/types-7.0.0-beta.46.tgz", - "integrity": "sha512-uA5aruF2KKsJxToWdDpftsrPOIQtoGrGno2hiaeO9JRvfT9xZdK11nPoC+/RF9emNzmNbWn4HCRdCY+McT5Nbw==" + "version": "7.0.0-beta.47", + "resolved": "https://registry.npmjs.org/@babel/types/-/types-7.0.0-beta.47.tgz", + "integrity": "sha512-MOP5pOosg7JETrVGg8OQyzmUmbyoSopT5j2HlblHsto89mPz3cmxzn1IA4UNUmnWKgeticSwfhS+Gdy25IIlBQ==" }, "acorn": { "version": "5.5.3", @@ -457,24 +457,24 @@ "integrity": "sha512-GlhOuLOQ28ua9prg0hT33HslCrEmz9xWXy9ZNZSACppCyRxxRW+haYtRgm7uYXCcd0q8ggCWD2pfWEJp5iiZfQ==" }, "babel-plugin-transform-member-expression-literals": { - "version": "6.9.3", - "resolved": "https://registry.npmjs.org/babel-plugin-transform-member-expression-literals/-/babel-plugin-transform-member-expression-literals-6.9.3.tgz", - "integrity": "sha1-qkmFzQ8XmAuo+/18yKZi07+3g30=" + "version": "6.9.4", + "resolved": "https://registry.npmjs.org/babel-plugin-transform-member-expression-literals/-/babel-plugin-transform-member-expression-literals-6.9.4.tgz", + "integrity": "sha1-NwOcmgwzE6OUlfqsL/OmtbnQOL8=" }, "babel-plugin-transform-merge-sibling-variables": { - "version": "6.9.3", - "resolved": "https://registry.npmjs.org/babel-plugin-transform-merge-sibling-variables/-/babel-plugin-transform-merge-sibling-variables-6.9.3.tgz", - "integrity": "sha1-L1rmzzJrg5jPia+yohrRj+YFQv0=" + "version": "6.9.4", + "resolved": "https://registry.npmjs.org/babel-plugin-transform-merge-sibling-variables/-/babel-plugin-transform-merge-sibling-variables-6.9.4.tgz", + "integrity": "sha1-hbQi/DN3tEnJ0c3kQIcgNTJAHa4=" }, "babel-plugin-transform-minify-booleans": { - "version": "6.9.3", - "resolved": "https://registry.npmjs.org/babel-plugin-transform-minify-booleans/-/babel-plugin-transform-minify-booleans-6.9.3.tgz", - "integrity": "sha1-nywDm5KL+YfgObUNllRcS+edT7E=" + "version": "6.9.4", + "resolved": "https://registry.npmjs.org/babel-plugin-transform-minify-booleans/-/babel-plugin-transform-minify-booleans-6.9.4.tgz", + "integrity": "sha1-rLs+VqNVXdI5KOS1gtKFFi3SsZg=" }, "babel-plugin-transform-property-literals": { - "version": "6.9.3", - "resolved": "https://registry.npmjs.org/babel-plugin-transform-property-literals/-/babel-plugin-transform-property-literals-6.9.3.tgz", - "integrity": "sha1-moyBPahi3Rj2gvQJ79CGEXC71hE=" + "version": "6.9.4", + "resolved": "https://registry.npmjs.org/babel-plugin-transform-property-literals/-/babel-plugin-transform-property-literals-6.9.4.tgz", + "integrity": "sha1-mMHSHiVXNlc/k+zlRFn2ziSYXTk=" }, "babel-plugin-transform-regexp-constructors": { "version": "0.2.0", @@ -482,14 +482,14 @@ "integrity": "sha512-7IsQ6aQx6LAaOqy97/PthTf+5Nx9grZww3r6E62IdWe76Yr8KsuwVjxzqSPQvESJqTE3EMADQ9S0RtwWDGNG9Q==" }, "babel-plugin-transform-remove-console": { - "version": "6.9.3", - "resolved": "https://registry.npmjs.org/babel-plugin-transform-remove-console/-/babel-plugin-transform-remove-console-6.9.3.tgz", - "integrity": "sha1-sU2fc5Ai3Fy02tGx/wnMZg5tx8M=" + "version": "6.9.4", + "resolved": "https://registry.npmjs.org/babel-plugin-transform-remove-console/-/babel-plugin-transform-remove-console-6.9.4.tgz", + "integrity": "sha1-uYA2DAZzhOJLNXpYjYB9PINSd4A=" }, "babel-plugin-transform-remove-debugger": { - "version": "6.9.3", - "resolved": "https://registry.npmjs.org/babel-plugin-transform-remove-debugger/-/babel-plugin-transform-remove-debugger-6.9.3.tgz", - "integrity": "sha1-Rk+L6rOHXnAW+vjUVv53Y8ODd/0=" + "version": "6.9.4", + "resolved": "https://registry.npmjs.org/babel-plugin-transform-remove-debugger/-/babel-plugin-transform-remove-debugger-6.9.4.tgz", + "integrity": "sha1-QrcnYxyXl44estGZp67IShgznvI=" }, "babel-plugin-transform-remove-undefined": { "version": "0.2.0", @@ -497,19 +497,19 @@ "integrity": "sha512-O8v57tPMHkp89kA4ZfQEYds/pzgvz/QYerBJjIuL5/Jc7RnvMVRA5gJY9zFKP7WayW8WOSBV4vh8Y8FJRio+ow==" }, "babel-plugin-transform-simplify-comparison-operators": { - "version": "6.9.3", - "resolved": "https://registry.npmjs.org/babel-plugin-transform-simplify-comparison-operators/-/babel-plugin-transform-simplify-comparison-operators-6.9.3.tgz", - "integrity": "sha1-omTrTvtqRWW1Zoa6Gq8N6uj1Di8=" + "version": "6.9.4", + "resolved": "https://registry.npmjs.org/babel-plugin-transform-simplify-comparison-operators/-/babel-plugin-transform-simplify-comparison-operators-6.9.4.tgz", + "integrity": "sha1-9ir+CWyrDh9ootdT/fKDiIRxzrk=" }, "babel-plugin-transform-undefined-to-void": { - "version": "6.9.3", - "resolved": "https://registry.npmjs.org/babel-plugin-transform-undefined-to-void/-/babel-plugin-transform-undefined-to-void-6.9.3.tgz", - "integrity": "sha1-osTW2NmHxc4Y4ZWrWCZc7Pm5/70=" + "version": "6.9.4", + "resolved": "https://registry.npmjs.org/babel-plugin-transform-undefined-to-void/-/babel-plugin-transform-undefined-to-void-6.9.4.tgz", + "integrity": "sha1-viQcqBQEAwZ4t0hxcyK4nQyP4oA=" }, "babel-preset-meteor": { - "version": "7.0.0-beta.46-1", - "resolved": "https://registry.npmjs.org/babel-preset-meteor/-/babel-preset-meteor-7.0.0-beta.46-1.tgz", - "integrity": "sha512-rM9nHO8HL08Rv9ZhEuRUbz926zDXs0st8QCklUtmOazIqteLim0EiqJYp25pQq4wiLvBJ30xv3ApnyBT5QC4ig==" + "version": "7.0.0-beta.47", + "resolved": "https://registry.npmjs.org/babel-preset-meteor/-/babel-preset-meteor-7.0.0-beta.47.tgz", + "integrity": "sha512-zetJHoXeXt8UwWnmO9vC+pKBqMaBHXzxSXTSh/KJ6qEFxDOmFv/mxtFenb1XAUuvYeLo07natxuYJR+Tw0mLVQ==" }, "babel-preset-minify": { "version": "0.2.0", @@ -517,9 +517,9 @@ "integrity": "sha512-mR8Q44RmMzm18bM2Lqd9uiPopzk5GDCtVuquNbLFmX6lOKnqWoenaNBxnWW0UhBFC75lEHTIgNGCbnsRI0pJVw==" }, "babylon": { - "version": "7.0.0-beta.46", - "resolved": "https://registry.npmjs.org/babylon/-/babylon-7.0.0-beta.46.tgz", - "integrity": "sha512-WFJlg2WatdkXRFMpk7BN/Uzzkjkcjk+WaqnrSCpay+RYl4ypW9ZetZyT9kNt22IH/BQNst3M6PaaBn9IXsUNrg==" + "version": "7.0.0-beta.47", + "resolved": "https://registry.npmjs.org/babylon/-/babylon-7.0.0-beta.47.tgz", + "integrity": "sha512-+rq2cr4GDhtToEzKFD6KZZMDBXhjFAr9JjPw9pAppZACeEWqNM294j+NdBzkSHYXwzzBmVjZ3nEVJlOhbR2gOQ==" }, "braces": { "version": "1.8.5", @@ -702,9 +702,9 @@ "integrity": "sha1-MeohpzS6ubuw8yRm2JOupR5KPGQ=" }, "lodash": { - "version": "4.17.4", - "resolved": "https://registry.npmjs.org/lodash/-/lodash-4.17.4.tgz", - "integrity": "sha1-eCA6TRwyiuHYbcpkYONptX9AVa4=" + "version": "4.17.10", + "resolved": "https://registry.npmjs.org/lodash/-/lodash-4.17.10.tgz", + "integrity": "sha512-UejweD1pDoXu+AD825lWwp4ZGtSwgnpZxb3JDViD7StjQz+Nb/6l093lx4OQ0foGWNRoc19mWy7BzL+UAK2iVg==" }, "lodash.isplainobject": { "version": "4.0.6", @@ -727,9 +727,9 @@ "integrity": "sha1-izqsWIuKZuSXXjzepn97sylgH6w=" }, "meteor-babel": { - "version": "7.0.0-beta.46-5", - "resolved": "https://registry.npmjs.org/meteor-babel/-/meteor-babel-7.0.0-beta.46-5.tgz", - "integrity": "sha512-zEO10t2UqdUea2tYw5pLpLcMKGr9QuE7SBW95fqmnMu3XaSmgawzusJd1r6/4MIBCWluEFne7wu1WV5IwAOwaw==" + "version": "7.0.0-beta.47", + "resolved": "https://registry.npmjs.org/meteor-babel/-/meteor-babel-7.0.0-beta.47.tgz", + "integrity": "sha512-XB/hPb20nkHGAWQKKOwZu1g1+nj6awn8IayYp3yl/ClKiZl7H1dyJn6w954MuN1qVK22EoLwIphAcIRrXyOnFg==" }, "meteor-babel-helpers": { "version": "0.0.3", @@ -819,9 +819,9 @@ "integrity": "sha512-nVIZwtCjkC9YgvWkpM55B5rBhBYRZhAaJbgcFYXXsHnbZ9UZI9nnVWYZpBlCqv9ho2eZryPnWrZGsOdPwVWXWQ==" }, "regexpu-core": { - "version": "4.1.4", - "resolved": "https://registry.npmjs.org/regexpu-core/-/regexpu-core-4.1.4.tgz", - "integrity": "sha512-EDIJYxIE02+p38c5pD/AaHXrEpOjagp/a53/R/nB1cZxjbMAMxH1ywHuKJ/DDHAvYHS40GrIgeGPh67XrTI67w==" + "version": "4.1.5", + "resolved": "https://registry.npmjs.org/regexpu-core/-/regexpu-core-4.1.5.tgz", + "integrity": "sha512-3xo5pFze1F8oR4F9x3aFbdtdxAxQ9WBX6gXfLgeBt7KpDI0+oDF7WVntnhsPKqobU/GAYc2pmx+y3z0JI1+z3w==" }, "regjsgen": { "version": "0.4.0", diff --git a/packages/babel-compiler/package.js b/packages/babel-compiler/package.js index e21cfc5442..976bcb87d5 100644 --- a/packages/babel-compiler/package.js +++ b/packages/babel-compiler/package.js @@ -10,7 +10,7 @@ Package.describe({ }); Npm.depends({ - 'meteor-babel': '7.0.0-beta.46-5' + 'meteor-babel': '7.0.0-beta.47' }); Package.onUse(function (api) { diff --git a/scripts/dev-bundle-tool-package.js b/scripts/dev-bundle-tool-package.js index 344fb30dd5..799ddd1541 100644 --- a/scripts/dev-bundle-tool-package.js +++ b/scripts/dev-bundle-tool-package.js @@ -14,13 +14,13 @@ var packageJson = { pacote: "https://github.com/meteor/pacote/tarball/2c16c509074bbba8ca5dd410caf808412ce79e6c", "node-gyp": "3.6.2", "node-pre-gyp": "0.6.36", - "meteor-babel": "7.0.0-beta.46-5", + "meteor-babel": "7.0.0-beta.47", "meteor-promise": "0.8.6", promise: "8.0.1", reify: "0.15.1", fibers: "2.0.0", // So that Babel can emit require("@babel/runtime/helpers/...") calls. - "@babel/runtime": "7.0.0-beta.46", + "@babel/runtime": "7.0.0-beta.47", // For backwards compatibility with isopackets that still depend on // babel-runtime rather than @babel/runtime. "babel-runtime": "7.0.0-beta.3", diff --git a/tools/static-assets/skel-bare/package.json b/tools/static-assets/skel-bare/package.json index 1add98bc6d..39925a4efc 100644 --- a/tools/static-assets/skel-bare/package.json +++ b/tools/static-assets/skel-bare/package.json @@ -5,7 +5,7 @@ "start": "meteor run" }, "dependencies": { - "@babel/runtime": "^7.0.0-beta.46", + "@babel/runtime": "^7.0.0-beta.47", "meteor-node-stubs": "^0.4.1" } } diff --git a/tools/static-assets/skel-full/package.json b/tools/static-assets/skel-full/package.json index 6564022f39..d5d7aa76ad 100644 --- a/tools/static-assets/skel-full/package.json +++ b/tools/static-assets/skel-full/package.json @@ -6,7 +6,7 @@ "test": "meteor test --once --driver-package meteortesting:mocha" }, "dependencies": { - "@babel/runtime": "^7.0.0-beta.46", + "@babel/runtime": "^7.0.0-beta.47", "meteor-node-stubs": "^0.4.1" }, "devDependencies": { diff --git a/tools/static-assets/skel-minimal/package.json b/tools/static-assets/skel-minimal/package.json index 3f07845b09..39925a4efc 100644 --- a/tools/static-assets/skel-minimal/package.json +++ b/tools/static-assets/skel-minimal/package.json @@ -5,7 +5,7 @@ "start": "meteor run" }, "dependencies": { - "@babel/runtime": "^7.0.0-beta.40", + "@babel/runtime": "^7.0.0-beta.47", "meteor-node-stubs": "^0.4.1" } } diff --git a/tools/static-assets/skel/package.json b/tools/static-assets/skel/package.json index e1fbb88b24..64c3c34f90 100644 --- a/tools/static-assets/skel/package.json +++ b/tools/static-assets/skel/package.json @@ -8,7 +8,7 @@ "visualize": "meteor --production --extra-packages bundle-visualizer" }, "dependencies": { - "@babel/runtime": "^7.0.0-beta.46", + "@babel/runtime": "^7.0.0-beta.47", "meteor-node-stubs": "^0.4.1" }, "meteor": { From b35aab6c554c9bdc76a145fbec96e8b8057f1565 Mon Sep 17 00:00:00 2001 From: Jan Owsiany Date: Wed, 16 May 2018 18:22:38 +0200 Subject: [PATCH 0894/1355] Expose Meteor settings inside mobile-config.js (#9873) --- tools/cordova/builder.js | 17 ++++++++++++++++- 1 file changed, 16 insertions(+), 1 deletion(-) diff --git a/tools/cordova/builder.js b/tools/cordova/builder.js index a4d20c06c6..26380c0674 100644 --- a/tools/cordova/builder.js +++ b/tools/cordova/builder.js @@ -9,6 +9,7 @@ import archinfo from '../utils/archinfo.js'; import release from '../packaging/release.js'; import { loadIsopackage } from '../tool-env/isopackets.js'; import utils from '../utils/utils.js'; +import {optimisticReadJsonOrNull} from "../fs/optimistic.js"; import { CORDOVA_ARCH } from './index.js'; @@ -231,7 +232,7 @@ export class CordovaBuilder { try { files.runJavaScript(code, { filename: 'mobile-config.js', - symbols: { App: createAppConfiguration(this) } + symbols: { App: createAppConfiguration(this), Settings: createSettings(this.options) } }); } catch (error) { buildmessage.exception(error); @@ -739,3 +740,17 @@ configuration. The key may be deprecated.`); } }; } + +function createSettings(options) { + let settings = {}; + + if (options.settingsFile) { + try { + settings = optimisticReadJsonOrNull(options.settingsFile) || {}; + } catch (e) { + throw new Error("METEOR_SETTINGS are not valid JSON."); + } + } + + return settings; +} From b830665a1fdbe51d1afa33d9cba056d0390f8201 Mon Sep 17 00:00:00 2001 From: Ben Newman Date: Wed, 16 May 2018 12:33:59 -0400 Subject: [PATCH 0895/1355] Expose App.settings in mobile-config.js rather than Settings. Follow-up to #9873. --- History.md | 5 +++++ tools/cordova/builder.js | 36 ++++++++++++++++++++---------------- 2 files changed, 25 insertions(+), 16 deletions(-) diff --git a/History.md b/History.md index 7ddd0cd27d..2a5b43b3b8 100644 --- a/History.md +++ b/History.md @@ -265,6 +265,11 @@ `webapp` package has been updated to version 1.6.0. [PR #9761](https://github.com/meteor/meteor/pull/9761) +* Any settings read from a JSON file passed with the `--settings` option + during Cordova run/build/deploy will be exposed in `mobile-config.js` + via the `App.settings` property, similar to `Meteor.settings`. + [PR #9873](https://github.com/meteor/meteor/pull/9873) + * The `@babel/plugin-proposal-class-properties` plugin provided by `meteor-babel` now runs with the `loose:true` option, as required by other (optional) plugins like `@babel/plugin-proposal-decorators`. diff --git a/tools/cordova/builder.js b/tools/cordova/builder.js index 26380c0674..a81b37fbac 100644 --- a/tools/cordova/builder.js +++ b/tools/cordova/builder.js @@ -4,12 +4,12 @@ import path from 'path'; import { Console } from '../console/console.js'; import buildmessage from '../utils/buildmessage.js'; import files from '../fs/files.js'; +import { optimisticReadJsonOrNull } from "../fs/optimistic.js"; import bundler from '../isobuild/bundler.js'; import archinfo from '../utils/archinfo.js'; import release from '../packaging/release.js'; import { loadIsopackage } from '../tool-env/isopackets.js'; import utils from '../utils/utils.js'; -import {optimisticReadJsonOrNull} from "../fs/optimistic.js"; import { CORDOVA_ARCH } from './index.js'; @@ -232,7 +232,7 @@ export class CordovaBuilder { try { files.runJavaScript(code, { filename: 'mobile-config.js', - symbols: { App: createAppConfiguration(this), Settings: createSettings(this.options) } + symbols: { App: createAppConfiguration(this) } }); } catch (error) { buildmessage.exception(error); @@ -515,6 +515,15 @@ export class CordovaBuilder { } function createAppConfiguration(builder) { + const { settingsFile } = builder.options; + let settings = null; + if (settingsFile) { + settings = optimisticReadJsonOrNull(settingsFile); + if (! settings) { + throw new Error("Unreadable --settings file: " + settingsFile); + } + } + /** * @namespace App * @global @@ -561,6 +570,15 @@ Valid platforms are: ios, android.`); } }, + /** + * @summary Like `Meteor.settings`, contains data read from a JSON + * file provided via the `--settings` command-line option at + * build time, or null if no settings were provided. + * @memberOf App + * @type {Object} + */ + settings, + /** * @summary Set the build-time configuration for a Cordova plugin. * @param {String} id The identifier of the plugin you want to @@ -740,17 +758,3 @@ configuration. The key may be deprecated.`); } }; } - -function createSettings(options) { - let settings = {}; - - if (options.settingsFile) { - try { - settings = optimisticReadJsonOrNull(options.settingsFile) || {}; - } catch (e) { - throw new Error("METEOR_SETTINGS are not valid JSON."); - } - } - - return settings; -} From c29b191a422f14c29f0fcfa0b5cda5018a11cc7e Mon Sep 17 00:00:00 2001 From: Ben Newman Date: Wed, 16 May 2018 15:04:37 -0400 Subject: [PATCH 0896/1355] Make the minimal starter application follow best practices. --- .../skel-minimal/client/main.css | 4 ++++ .../skel-minimal/client/main.html | 11 ++++++++++ .../static-assets/skel-minimal/client/main.js | 1 + tools/static-assets/skel-minimal/package.json | 12 ++++++++++- .../static-assets/skel-minimal/server/main.js | 1 + tools/static-assets/skel-minimal/test/main.js | 20 +++++++++++++++++++ 6 files changed, 48 insertions(+), 1 deletion(-) create mode 100644 tools/static-assets/skel-minimal/client/main.css create mode 100644 tools/static-assets/skel-minimal/client/main.html create mode 100644 tools/static-assets/skel-minimal/client/main.js create mode 100644 tools/static-assets/skel-minimal/server/main.js create mode 100644 tools/static-assets/skel-minimal/test/main.js diff --git a/tools/static-assets/skel-minimal/client/main.css b/tools/static-assets/skel-minimal/client/main.css new file mode 100644 index 0000000000..7f354f0fa7 --- /dev/null +++ b/tools/static-assets/skel-minimal/client/main.css @@ -0,0 +1,4 @@ +body { + padding: 10px; + font-family: sans-serif; +} diff --git a/tools/static-assets/skel-minimal/client/main.html b/tools/static-assets/skel-minimal/client/main.html new file mode 100644 index 0000000000..2984bf679c --- /dev/null +++ b/tools/static-assets/skel-minimal/client/main.html @@ -0,0 +1,11 @@ + + Minimal Meteor app + + + +

    Minimal Meteor app

    +

    + This Meteor app uses as few Meteor packages as possible, to keep the + client JavaScript bundle as small as possible. +

    + diff --git a/tools/static-assets/skel-minimal/client/main.js b/tools/static-assets/skel-minimal/client/main.js new file mode 100644 index 0000000000..ef66448599 --- /dev/null +++ b/tools/static-assets/skel-minimal/client/main.js @@ -0,0 +1 @@ +console.log(`Greetings from ${module.id}!`); diff --git a/tools/static-assets/skel-minimal/package.json b/tools/static-assets/skel-minimal/package.json index 39925a4efc..64c3c34f90 100644 --- a/tools/static-assets/skel-minimal/package.json +++ b/tools/static-assets/skel-minimal/package.json @@ -2,10 +2,20 @@ "name": "~name~", "private": true, "scripts": { - "start": "meteor run" + "start": "meteor run", + "test": "meteor test --once --driver-package meteortesting:mocha", + "test-app": "TEST_WATCH=1 meteor test --full-app --driver-package meteortesting:mocha", + "visualize": "meteor --production --extra-packages bundle-visualizer" }, "dependencies": { "@babel/runtime": "^7.0.0-beta.47", "meteor-node-stubs": "^0.4.1" + }, + "meteor": { + "mainModule": { + "client": "client/main.js", + "server": "server/main.js" + }, + "testModule": "test/main.js" } } diff --git a/tools/static-assets/skel-minimal/server/main.js b/tools/static-assets/skel-minimal/server/main.js new file mode 100644 index 0000000000..ef66448599 --- /dev/null +++ b/tools/static-assets/skel-minimal/server/main.js @@ -0,0 +1 @@ +console.log(`Greetings from ${module.id}!`); diff --git a/tools/static-assets/skel-minimal/test/main.js b/tools/static-assets/skel-minimal/test/main.js new file mode 100644 index 0000000000..ea7a8da1e1 --- /dev/null +++ b/tools/static-assets/skel-minimal/test/main.js @@ -0,0 +1,20 @@ +import assert from "assert"; + +describe("~name~", function () { + it("package.json has correct name", async function () { + const { name } = await import("../package.json"); + assert.strictEqual(name, "~name~"); + }); + + if (Meteor.isClient) { + it("client is not server", function () { + assert.strictEqual(Meteor.isServer, false); + }); + } + + if (Meteor.isServer) { + it("server is not client", function () { + assert.strictEqual(Meteor.isClient, false); + }); + } +}); From 538175116b7c552c6fd42ef003f6e1cbeb576507 Mon Sep 17 00:00:00 2001 From: Ben Newman Date: Wed, 16 May 2018 15:18:24 -0400 Subject: [PATCH 0897/1355] Make meteor/server-render lazy on the client. --- packages/server-render/package.js | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/packages/server-render/package.js b/packages/server-render/package.js index b19a25ac15..432afae1b2 100644 --- a/packages/server-render/package.js +++ b/packages/server-render/package.js @@ -1,6 +1,6 @@ Package.describe({ name: "server-render", - version: "0.3.0", + version: "0.3.1", summary: "Generic support for server-side rendering in Meteor apps", documentation: "README.md" }); @@ -15,7 +15,7 @@ Npm.depends({ Package.onUse(function(api) { api.use("ecmascript"); api.use("webapp"); - api.mainModule("client.js", "client"); + api.mainModule("client.js", "client", { lazy: true }); api.mainModule("server.js", "server"); }); From b6ac0acbf6cd0397a67e2e9ae902faabd5dbe437 Mon Sep 17 00:00:00 2001 From: Ben Newman Date: Wed, 16 May 2018 15:19:51 -0400 Subject: [PATCH 0898/1355] Remove outdated Reify runtime workarounds from modules/reify.js. --- packages/modules/package.js | 2 +- packages/modules/reify.js | 8 +++----- 2 files changed, 4 insertions(+), 6 deletions(-) diff --git a/packages/modules/package.js b/packages/modules/package.js index 34c42aac4c..d8bb3d5c95 100644 --- a/packages/modules/package.js +++ b/packages/modules/package.js @@ -1,6 +1,6 @@ Package.describe({ name: "modules", - version: "0.11.6", + version: "0.11.7", summary: "CommonJS module system", documentation: "README.md" }); diff --git a/packages/modules/reify.js b/packages/modules/reify.js index 6bbb48af8a..c635becdcb 100644 --- a/packages/modules/reify.js +++ b/packages/modules/reify.js @@ -1,5 +1,3 @@ -var Module = module.constructor; -var Mp = Module.prototype; -require("reify/lib/runtime").enable(Mp); -Mp.importSync = Mp.importSync || Mp.import; -Mp.import = Mp.import || Mp.importSync; +require("reify/lib/runtime").enable( + module.constructor.prototype +); From c88b8882755d25775e5d40dc8a4a7216efc20707 Mon Sep 17 00:00:00 2001 From: Ben Newman Date: Wed, 16 May 2018 17:22:04 -0400 Subject: [PATCH 0899/1355] Demonstrate basic server-side rendering in minimal starter app. Now that the meteor/server-render package is lazy on the client, it adds no weight to the client JavaScript bundle unless imported. --- .../static-assets/skel-minimal/.meteor/packages | 1 + .../static-assets/skel-minimal/client/main.html | 1 + tools/static-assets/skel-minimal/server/main.js | 16 +++++++++++++++- 3 files changed, 17 insertions(+), 1 deletion(-) diff --git a/tools/static-assets/skel-minimal/.meteor/packages b/tools/static-assets/skel-minimal/.meteor/packages index 4af5a36ca0..341bbfc93a 100644 --- a/tools/static-assets/skel-minimal/.meteor/packages +++ b/tools/static-assets/skel-minimal/.meteor/packages @@ -12,3 +12,4 @@ es5-shim # ECMAScript 5 compatibility for older browsers ecmascript # Enable ECMAScript2015+ syntax in app code shell-server # Server-side component of the `meteor shell` command webapp # Serves a Meteor app over HTTP +server-render # Support for server-side rendering diff --git a/tools/static-assets/skel-minimal/client/main.html b/tools/static-assets/skel-minimal/client/main.html index 2984bf679c..7f176a2875 100644 --- a/tools/static-assets/skel-minimal/client/main.html +++ b/tools/static-assets/skel-minimal/client/main.html @@ -8,4 +8,5 @@ This Meteor app uses as few Meteor packages as possible, to keep the client JavaScript bundle as small as possible.

    + diff --git a/tools/static-assets/skel-minimal/server/main.js b/tools/static-assets/skel-minimal/server/main.js index ef66448599..f633921e0e 100644 --- a/tools/static-assets/skel-minimal/server/main.js +++ b/tools/static-assets/skel-minimal/server/main.js @@ -1 +1,15 @@ -console.log(`Greetings from ${module.id}!`); +import { Meteor } from "meteor/meteor"; +import { onPageLoad } from "meteor/server-render"; + +Meteor.startup(() => { + // Code to run on server startup. + console.log(`Greetings from ${module.id}!`); +}); + +onPageLoad(sink => { + // Code to run on every request. + sink.renderIntoElementById( + "server-render-target", + `Server time: ${new Date}` + ); +}); From 10e69ee84d146e3315625b5d100288533196f796 Mon Sep 17 00:00:00 2001 From: Ben Newman Date: Wed, 16 May 2018 17:31:37 -0400 Subject: [PATCH 0900/1355] Include actual CSS in default starter app. --- tools/static-assets/skel/client/main.css | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/tools/static-assets/skel/client/main.css b/tools/static-assets/skel/client/main.css index b6b4052b43..7f354f0fa7 100644 --- a/tools/static-assets/skel/client/main.css +++ b/tools/static-assets/skel/client/main.css @@ -1 +1,4 @@ -/* CSS declarations go here */ +body { + padding: 10px; + font-family: sans-serif; +} From af9a0e183f0169e2836438355ad7e1bef0e11ff8 Mon Sep 17 00:00:00 2001 From: Ben Newman Date: Wed, 16 May 2018 17:31:59 -0400 Subject: [PATCH 0901/1355] Include "Learn Meteor!" links in minimial starter app HTML. --- tools/static-assets/skel-minimal/client/main.html | 9 +++++++++ 1 file changed, 9 insertions(+) diff --git a/tools/static-assets/skel-minimal/client/main.html b/tools/static-assets/skel-minimal/client/main.html index 7f176a2875..19789db4de 100644 --- a/tools/static-assets/skel-minimal/client/main.html +++ b/tools/static-assets/skel-minimal/client/main.html @@ -8,5 +8,14 @@ This Meteor app uses as few Meteor packages as possible, to keep the client JavaScript bundle as small as possible.

    + + +

    Learn Meteor!

    + From 3d1078b5b3ff4cb586dd6f06c8ffec3bfba8d45d Mon Sep 17 00:00:00 2001 From: Ben Newman Date: Wed, 16 May 2018 17:36:59 -0400 Subject: [PATCH 0902/1355] Expand History.md entry about `meteor create --minimal`. --- History.md | 10 ++++++---- 1 file changed, 6 insertions(+), 4 deletions(-) diff --git a/History.md b/History.md index 2a5b43b3b8..3bdc4b74ae 100644 --- a/History.md +++ b/History.md @@ -211,6 +211,12 @@ test files across your codebase; just make sure you import the ones you want to run. [PR #9714](https://github.com/meteor/meteor/pull/9714) +* The `meteor create` command now supports a `--minimal` option, which + creates an app with as few Meteor packages as possible, in order to + minimize client bundle size while still demonstrating advanced features + such as server-side rendering. This starter application is a solid + foundation for any application that doesn't need Mongo or DDP. + * The `meteor-babel` npm package has been updated to version 7.0.0-beta.47. Note: while Babel has recently implemented support for a new kind of `babel.config.js` configuration file (see [this @@ -309,10 +315,6 @@ [Feature #24](https://github.com/meteor/meteor-feature-requests/issues/24) [PR #9657](https://github.com/meteor/meteor/pull/9657) -* The `meteor create` command now supports a `--minimal` option, which - creates an empty app (like `--bare`) with as few Meteor packages as - possible, to minimize client-side application size. - ## v1.6.1.1, 2018-04-02 * Node has been updated to version From a76e6da68682ef196fb43c83b0c3648f1e8ea7c0 Mon Sep 17 00:00:00 2001 From: Ben Newman Date: Wed, 16 May 2018 17:38:43 -0400 Subject: [PATCH 0903/1355] Update help text about minimal starter app to deemphasize emptiness. --- tools/cli/commands.js | 4 ++-- tools/cli/help.txt | 2 +- 2 files changed, 3 insertions(+), 3 deletions(-) diff --git a/tools/cli/commands.js b/tools/cli/commands.js index 6c6dc9229e..e121c1a744 100644 --- a/tools/cli/commands.js +++ b/tools/cli/commands.js @@ -857,8 +857,8 @@ main.registerCommand({ ].join("\n")); cmd("meteor create --bare # to create an empty app"); - cmd("meteor create --minimal # to create an empty app with as " + - "few Meteor packages as possible"); + cmd("meteor create --minimal # to create an app with as few " + + "Meteor packages as possible"); cmd("meteor create --full # to create a more complete " + "scaffolded app"); } diff --git a/tools/cli/help.txt b/tools/cli/help.txt index 06b7d6abc6..5ab4b3ebc4 100644 --- a/tools/cli/help.txt +++ b/tools/cli/help.txt @@ -171,7 +171,7 @@ Options: --example Example template to use. --list Show list of available examples. --bare Create an empty app. - --minimal Create an empty app with as few Meteor packages as possible. + --minimal Create an app with as few Meteor packages as possible. --full Create a fully scaffolded app. From edc05ee06b658a49698e8704ee847b8130cfef5d Mon Sep 17 00:00:00 2001 From: Ben Newman Date: Wed, 16 May 2018 17:52:00 -0400 Subject: [PATCH 0904/1355] Bump $BUNDLE_VERSION to 8.11.2.6 before rebuilding dev bundle. --- meteor | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/meteor b/meteor index 82221bfde7..f40785882f 100755 --- a/meteor +++ b/meteor @@ -1,6 +1,6 @@ #!/usr/bin/env bash -BUNDLE_VERSION=8.11.2.5 +BUNDLE_VERSION=8.11.2.6 # OS Check. Put here because here is where we download the precompiled # bundles that are arch specific. From 9313e683d53e719d8729a2afe3ee69366d34b835 Mon Sep 17 00:00:00 2001 From: Ben Newman Date: Wed, 16 May 2018 17:53:20 -0400 Subject: [PATCH 0905/1355] Bump package versions for 1.7-rc.11 release. --- packages/appcache/package.js | 2 +- packages/babel-compiler/package.js | 2 +- packages/babel-runtime/package.js | 2 +- packages/boilerplate-generator-tests/package.js | 2 +- packages/boilerplate-generator/package.js | 2 +- packages/ddp-server/package.js | 2 +- packages/dynamic-import/package.js | 2 +- packages/ecmascript-runtime-client/package.js | 2 +- packages/ecmascript-runtime-server/package.js | 2 +- packages/ecmascript-runtime/package.js | 2 +- packages/ecmascript/package.js | 2 +- packages/es5-shim/package.js | 2 +- packages/facebook-oauth/package.js | 2 +- packages/meteor-base/package.js | 2 +- packages/meteor-tool/package.js | 2 +- packages/meteor/package.js | 2 +- packages/modern-browsers/package.js | 2 +- packages/modules-runtime/package.js | 2 +- packages/mongo/package.js | 2 +- packages/npm-mongo/package.js | 2 +- packages/promise/package.js | 2 +- packages/socket-stream-client/package.js | 2 +- packages/test-helpers/package.js | 2 +- packages/tracker/package.js | 2 +- packages/webapp/package.js | 2 +- scripts/admin/meteor-release-experimental.json | 2 +- 26 files changed, 26 insertions(+), 26 deletions(-) diff --git a/packages/appcache/package.js b/packages/appcache/package.js index 9d0fe92300..e0f34d774d 100644 --- a/packages/appcache/package.js +++ b/packages/appcache/package.js @@ -1,6 +1,6 @@ Package.describe({ summary: "Enable the application cache in the browser", - version: "1.2.0-rc17.10", + version: "1.2.0-rc17.11", }); Package.onUse(api => { diff --git a/packages/babel-compiler/package.js b/packages/babel-compiler/package.js index 976bcb87d5..685fc42a6c 100644 --- a/packages/babel-compiler/package.js +++ b/packages/babel-compiler/package.js @@ -6,7 +6,7 @@ Package.describe({ // isn't possible because you can't publish a non-recommended // release with package versions that don't have a pre-release // identifier at the end (eg, -dev) - version: '7.1.0-rc17.10' + version: '7.1.0-rc17.11' }); Npm.depends({ diff --git a/packages/babel-runtime/package.js b/packages/babel-runtime/package.js index 03df7e044e..b65f2f8a0c 100644 --- a/packages/babel-runtime/package.js +++ b/packages/babel-runtime/package.js @@ -1,7 +1,7 @@ Package.describe({ name: "babel-runtime", summary: "Runtime support for output of Babel transpiler", - version: '1.3.0-rc17.10', + version: '1.3.0-rc17.11', documentation: 'README.md' }); diff --git a/packages/boilerplate-generator-tests/package.js b/packages/boilerplate-generator-tests/package.js index e88c23c55a..b0aa19b245 100644 --- a/packages/boilerplate-generator-tests/package.js +++ b/packages/boilerplate-generator-tests/package.js @@ -2,7 +2,7 @@ Package.describe({ // These tests are in a separate package so that we can Npm.depend on // parse5, a html parsing library. summary: "Tests for the boilerplate-generator package", - version: '1.5.0-rc17.10', + version: '1.5.0-rc17.11', documentation: null }); diff --git a/packages/boilerplate-generator/package.js b/packages/boilerplate-generator/package.js index 9492e303da..edc57de3be 100644 --- a/packages/boilerplate-generator/package.js +++ b/packages/boilerplate-generator/package.js @@ -1,6 +1,6 @@ Package.describe({ summary: "Generates the boilerplate html from program's manifest", - version: '1.5.0-rc17.10' + version: '1.5.0-rc17.11' }); Npm.depends({ diff --git a/packages/ddp-server/package.js b/packages/ddp-server/package.js index cbdd666e07..9ad10e6a73 100644 --- a/packages/ddp-server/package.js +++ b/packages/ddp-server/package.js @@ -1,6 +1,6 @@ Package.describe({ summary: "Meteor's latency-compensated distributed data server", - version: '2.2.0-rc17.10', + version: '2.2.0-rc17.11', documentation: null }); diff --git a/packages/dynamic-import/package.js b/packages/dynamic-import/package.js index 72a4f66aee..669374a9ee 100644 --- a/packages/dynamic-import/package.js +++ b/packages/dynamic-import/package.js @@ -1,6 +1,6 @@ Package.describe({ name: "dynamic-import", - version: "0.4.0-rc17.10", + version: "0.4.0-rc17.11", summary: "Runtime support for Meteor 1.5 dynamic import(...) syntax", documentation: "README.md" }); diff --git a/packages/ecmascript-runtime-client/package.js b/packages/ecmascript-runtime-client/package.js index ec26ee5c32..1229769f58 100644 --- a/packages/ecmascript-runtime-client/package.js +++ b/packages/ecmascript-runtime-client/package.js @@ -1,6 +1,6 @@ Package.describe({ name: "ecmascript-runtime-client", - version: "0.7.0-rc17.10", + version: "0.7.0-rc17.11", summary: "Polyfills for new ECMAScript 2015 APIs like Map and Set", git: "https://github.com/meteor/meteor/tree/devel/packages/ecmascript-runtime-client", documentation: "README.md" diff --git a/packages/ecmascript-runtime-server/package.js b/packages/ecmascript-runtime-server/package.js index da85e94c59..35c9bae58b 100644 --- a/packages/ecmascript-runtime-server/package.js +++ b/packages/ecmascript-runtime-server/package.js @@ -1,6 +1,6 @@ Package.describe({ name: "ecmascript-runtime-server", - version: "0.7.0-rc17.10", + version: "0.7.0-rc17.11", summary: "Polyfills for new ECMAScript 2015 APIs like Map and Set", git: "https://github.com/meteor/meteor/tree/devel/packages/ecmascript-runtime-client", documentation: "README.md" diff --git a/packages/ecmascript-runtime/package.js b/packages/ecmascript-runtime/package.js index ac232c880f..4f572a9c51 100644 --- a/packages/ecmascript-runtime/package.js +++ b/packages/ecmascript-runtime/package.js @@ -1,6 +1,6 @@ Package.describe({ name: "ecmascript-runtime", - version: "0.7.0-rc17.10", + version: "0.7.0-rc17.11", summary: "Polyfills for new ECMAScript 2015 APIs like Map and Set", git: "https://github.com/meteor/ecmascript-runtime", documentation: "README.md" diff --git a/packages/ecmascript/package.js b/packages/ecmascript/package.js index 2f50a1aea7..8ea0182198 100644 --- a/packages/ecmascript/package.js +++ b/packages/ecmascript/package.js @@ -1,6 +1,6 @@ Package.describe({ name: 'ecmascript', - version: '0.11.0-rc17.10', + version: '0.11.0-rc17.11', summary: 'Compiler plugin that supports ES2015+ in all .js files', documentation: 'README.md' }); diff --git a/packages/es5-shim/package.js b/packages/es5-shim/package.js index d6a184282c..785cbac300 100644 --- a/packages/es5-shim/package.js +++ b/packages/es5-shim/package.js @@ -1,6 +1,6 @@ Package.describe({ name: "es5-shim", - version: "4.8.0-rc17.10", + version: "4.8.0-rc17.11", summary: "Shims and polyfills to improve ECMAScript 5 support", documentation: "README.md" }); diff --git a/packages/facebook-oauth/package.js b/packages/facebook-oauth/package.js index 562bbdbec2..41d2a51571 100644 --- a/packages/facebook-oauth/package.js +++ b/packages/facebook-oauth/package.js @@ -1,6 +1,6 @@ Package.describe({ summary: "Facebook OAuth flow", - version: "1.5.0-rc17.10" + version: "1.5.0-rc17.11" }); Package.onUse(function(api) { diff --git a/packages/meteor-base/package.js b/packages/meteor-base/package.js index 290753a7e3..a9f9c37c58 100644 --- a/packages/meteor-base/package.js +++ b/packages/meteor-base/package.js @@ -1,6 +1,6 @@ Package.describe({ name: 'meteor-base', - version: '1.4.0-rc17.10', + version: '1.4.0-rc17.11', // Brief, one-line summary of the package. summary: 'Packages that every Meteor app needs', // By default, Meteor will default to using README.md for documentation. diff --git a/packages/meteor-tool/package.js b/packages/meteor-tool/package.js index e90447d6e2..89e6aee521 100644 --- a/packages/meteor-tool/package.js +++ b/packages/meteor-tool/package.js @@ -1,6 +1,6 @@ Package.describe({ summary: "The Meteor command-line tool", - version: '1.7.0-rc.10' + version: '1.7.0-rc.11' }); Package.includeTool(); diff --git a/packages/meteor/package.js b/packages/meteor/package.js index 5f4876cd2e..23412d2ada 100644 --- a/packages/meteor/package.js +++ b/packages/meteor/package.js @@ -2,7 +2,7 @@ Package.describe({ summary: "Core Meteor environment", - version: '1.9.0-rc17.10' + version: '1.9.0-rc17.11' }); Package.registerBuildPlugin({ diff --git a/packages/modern-browsers/package.js b/packages/modern-browsers/package.js index a10ea85ead..6a5bc04194 100644 --- a/packages/modern-browsers/package.js +++ b/packages/modern-browsers/package.js @@ -1,6 +1,6 @@ Package.describe({ name: "modern-browsers", - version: "0.1.0-rc17.10", + version: "0.1.0-rc17.11", summary: "API for defining the boundary between modern and legacy " + "JavaScript clients", documentation: "README.md" diff --git a/packages/modules-runtime/package.js b/packages/modules-runtime/package.js index 925432d84f..6d0901a0f1 100644 --- a/packages/modules-runtime/package.js +++ b/packages/modules-runtime/package.js @@ -1,6 +1,6 @@ Package.describe({ name: "modules-runtime", - version: "0.10.0-rc17.10", + version: "0.10.0-rc17.11", summary: "CommonJS module system", git: "https://github.com/benjamn/install", documentation: "README.md" diff --git a/packages/mongo/package.js b/packages/mongo/package.js index a3b9b2cd00..c9ba38aa4b 100644 --- a/packages/mongo/package.js +++ b/packages/mongo/package.js @@ -9,7 +9,7 @@ Package.describe({ summary: "Adaptor for using MongoDB and Minimongo over DDP", - version: '1.5.0-rc17.10' + version: '1.5.0-rc17.11' }); Npm.depends({ diff --git a/packages/npm-mongo/package.js b/packages/npm-mongo/package.js index 59b436e0ad..607d25381a 100644 --- a/packages/npm-mongo/package.js +++ b/packages/npm-mongo/package.js @@ -3,7 +3,7 @@ Package.describe({ summary: "Wrapper around the mongo npm package", - version: "3.0.7-rc17.10", + version: "3.0.7-rc17.11", documentation: null }); diff --git a/packages/promise/package.js b/packages/promise/package.js index 0572e71570..5bd81e7f1c 100644 --- a/packages/promise/package.js +++ b/packages/promise/package.js @@ -1,6 +1,6 @@ Package.describe({ name: "promise", - version: "0.11.0-rc17.10", + version: "0.11.0-rc17.11", summary: "ECMAScript 2015 Promise polyfill with Fiber support", git: "https://github.com/meteor/promise", documentation: "README.md" diff --git a/packages/socket-stream-client/package.js b/packages/socket-stream-client/package.js index 8ba3e0327a..d3f12ed279 100644 --- a/packages/socket-stream-client/package.js +++ b/packages/socket-stream-client/package.js @@ -1,6 +1,6 @@ Package.describe({ name: "socket-stream-client", - version: "0.2.0-rc17.10", + version: "0.2.0-rc17.11", summary: "Provides the ClientStream abstraction used by ddp-client", documentation: "README.md" }); diff --git a/packages/test-helpers/package.js b/packages/test-helpers/package.js index a11da09cd4..c0f90a2402 100644 --- a/packages/test-helpers/package.js +++ b/packages/test-helpers/package.js @@ -1,6 +1,6 @@ Package.describe({ summary: "Utility functions for tests", - version: '1.1.0-rc17.10' + version: '1.1.0-rc17.11' }); Package.onUse(function (api) { diff --git a/packages/tracker/package.js b/packages/tracker/package.js index 4bb42e7e8b..b9c43e9bf8 100644 --- a/packages/tracker/package.js +++ b/packages/tracker/package.js @@ -1,6 +1,6 @@ Package.describe({ summary: "Dependency tracker to allow reactive callbacks", - version: "1.2.0-rc17.10" + version: "1.2.0-rc17.11" }); Package.onUse(function (api) { diff --git a/packages/webapp/package.js b/packages/webapp/package.js index 9fcedb2b46..a05f496a75 100644 --- a/packages/webapp/package.js +++ b/packages/webapp/package.js @@ -1,6 +1,6 @@ Package.describe({ summary: "Serves a Meteor app over HTTP", - version: '1.6.0-rc17.10' + version: '1.6.0-rc17.11' }); Npm.depends({"basic-auth-connect": "1.0.0", diff --git a/scripts/admin/meteor-release-experimental.json b/scripts/admin/meteor-release-experimental.json index 33e7eccedb..475e1b9053 100644 --- a/scripts/admin/meteor-release-experimental.json +++ b/scripts/admin/meteor-release-experimental.json @@ -1,6 +1,6 @@ { "track": "METEOR", - "version": "1.7-rc.10", + "version": "1.7-rc.11", "recommended": false, "official": false, "description": "Meteor" From d64e87b85273c090c56e5e31fde09ed54f57966f Mon Sep 17 00:00:00 2001 From: Ben Newman Date: Wed, 16 May 2018 20:43:26 -0400 Subject: [PATCH 0906/1355] Bump LINKER_CACHE_SALT and compiler.BUILT_BY for good measure. --- tools/isobuild/compiler-plugin.js | 2 +- tools/isobuild/compiler.js | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/tools/isobuild/compiler-plugin.js b/tools/isobuild/compiler-plugin.js index 4f54e52022..023a7c03e4 100644 --- a/tools/isobuild/compiler-plugin.js +++ b/tools/isobuild/compiler-plugin.js @@ -63,7 +63,7 @@ import { isTestFilePath } from './test-files.js'; // Cache the (slightly post-processed) results of linker.fullLink. const CACHE_SIZE = process.env.METEOR_LINKER_CACHE_SIZE || 1024*1024*100; const CACHE_DEBUG = !! process.env.METEOR_TEST_PRINT_LINKER_CACHE_DEBUG; -const LINKER_CACHE_SALT = 19; // Increment this number to force relinking. +const LINKER_CACHE_SALT = 20; // Increment this number to force relinking. const LINKER_CACHE = new LRU({ max: CACHE_SIZE, // Cache is measured in bytes. We don't care about servePath. diff --git a/tools/isobuild/compiler.js b/tools/isobuild/compiler.js index 27b02d909f..c40383e18d 100644 --- a/tools/isobuild/compiler.js +++ b/tools/isobuild/compiler.js @@ -34,7 +34,7 @@ var compiler = exports; // dependencies. (At least for now, packages only used in target creation (eg // minifiers) don't require you to update BUILT_BY, though you will need to quit // and rerun "meteor run".) -compiler.BUILT_BY = 'meteor/30'; +compiler.BUILT_BY = 'meteor/31'; // This is a list of all possible architectures that a build can target. (Client // is expanded into 'web.browser' and 'web.cordova') From 1aabda8fcf6dfbd31a1d11e6ff7d8b74e1defcf9 Mon Sep 17 00:00:00 2001 From: Ben Newman Date: Wed, 16 May 2018 20:44:33 -0400 Subject: [PATCH 0907/1355] Set release date for Meteor 1.7. :tada: cc @abernix @hwillson --- History.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/History.md b/History.md index 3bdc4b74ae..892634255b 100644 --- a/History.md +++ b/History.md @@ -1,6 +1,6 @@ ## v.NEXT -## v1.7, TBD +## v1.7, 2018-05-18 * More than 80% of internet users worldwide have access to a web browser that natively supports the latest ECMAScript features and keeps itself From e3bac92c82c56acb65c42f8e4bfa7b244666f107 Mon Sep 17 00:00:00 2001 From: Ben Newman Date: Wed, 23 May 2018 19:19:05 -0400 Subject: [PATCH 0908/1355] Strip //# sourceMappingURL comments for files without source maps. https://github.com/meteor/meteor/issues/9894#issuecomment-391101074 Fixes #9894. --- tools/isobuild/bundler.js | 81 +++++++++++++++++++++++++++++---------- 1 file changed, 60 insertions(+), 21 deletions(-) diff --git a/tools/isobuild/bundler.js b/tools/isobuild/bundler.js index a14206cad7..e3c9b62d93 100644 --- a/tools/isobuild/bundler.js +++ b/tools/isobuild/bundler.js @@ -2194,6 +2194,10 @@ class JsImage { delete loadItem.node_modules; } + // Will be initialized with a Buffer version of item.source, with + // //# sourceMappingURL comments appropriately removed/appended. + let sourceBuffer; + if (item.sourceMap) { const sourceMapBuffer = Buffer.from(JSON.stringify(item.sourceMap), "utf8"); @@ -2209,7 +2213,7 @@ class JsImage { // Remove any existing sourceMappingURL line. (eg, if roundtripping // through JsImage.readFromDisk, don't end up with two!) - item.source = addSourceMappingURL( + sourceBuffer = addSourceMappingURL( item.source, sourceMappingURL, item.targetPath, @@ -2218,11 +2222,17 @@ class JsImage { if (item.sourceMapRoot) { loadItem.sourceMapRoot = item.sourceMapRoot; } + } else { + // If we do not have an item.sourceMap, then we still want to + // remove any existing //# sourceMappingURL comments. + // https://github.com/meteor/meteor/issues/9894 + sourceBuffer = removeSourceMappingURLs(item.source); } loadItem.path = builder.writeToGeneratedFilename( item.targetPath, - { data: Buffer.from(item.source, 'utf8') }); + { data: sourceBuffer } + ); if (!_.isEmpty(item.assets)) { // For package code, static assets go inside a directory inside @@ -2599,10 +2609,7 @@ var writeFile = Profile("bundler writeFile", function (file, builder, options) { if (! file.targetPath) { throw new Error("No targetPath?"); } - var contents = file.contents(); - if (! (contents instanceof Buffer)) { - throw new Error("contents not a Buffer?"); - } + // XXX should probably use sanitize: true, but that will have // to wait until the server is actually driven by the manifest // (rather than just serving all of the files in a certain @@ -2613,35 +2620,67 @@ var writeFile = Profile("bundler writeFile", function (file, builder, options) { if (options && options.sourceMapUrl) { data = addSourceMappingURL(data, options.sourceMapUrl); - } - - if (! Buffer.isBuffer(data)) { - data = Buffer.from(data, "utf8"); + } else { + // If we do not have an options.sourceMapUrl to append, then we still + // want to remove any existing //# sourceMappingURL comments. + // https://github.com/meteor/meteor/issues/9894 + data = removeSourceMappingURLs(data); } builder.write(file.targetPath, { data, hash }); }); +// Takes a Buffer or string and returns a Buffer. If it looks like there +// are no //# sourceMappingURL comments to remove, an attempt is made to +// return the provided buffer without modification. +function removeSourceMappingURLs(data) { + if (Buffer.isBuffer(data)) { + // Unfortuantely there is no way to search a Buffer using a RegExp, so + // there's a chance of false positives here, which could lead to + // unnecessarily stringifying and re-Buffer.from-ing the data, though + // that should not cause any logical problems. + if (! data.includes("//# source", 0, "utf8")) { + return data; + } + data = data.toString("utf8"); + } + + // Remove any/all existing //# sourceMappingURL comments using + // String#replace (since unfortunately there is no Buffer#replace). + data = data.replace(/\n\/\/# source(?:Mapping)?URL=[^\n]+/g, "\n"); + + // Always return a Buffer. + return Buffer.from(data, "utf8"); +} + +const newLineBuffer = Buffer.from("\n", "utf8"); + // The data argument may be either a Buffer or a string, but this function -// always returns a string. +// always returns a Buffer. function addSourceMappingURL(data, url, targetPath) { - const parts = [ - // If data is a Buffer, convert it to a string. - data.toString("utf8") - // Remove any existing sourceURL or sourceMappingURL comments. - .replace(/\n\/\/# source(?:Mapping)?URL=[^\n]+/g, '\n') - ]; + // An array of Buffer objects, even when data is a string. + const parts = [removeSourceMappingURLs(data)]; if (targetPath) { // If a targetPath was provided, use it to add a sourceURL comment to // help associate output files with mapped source files. - parts.push(`//# sourceURL=${SOURCE_URL_PREFIX}/${targetPath}`); + parts.push( + newLineBuffer, + Buffer.from( + `//# sourceURL=${SOURCE_URL_PREFIX}/${targetPath}`, + "utf8" + ) + ); } - parts.push(`//# sourceMappingURL=${url}`); - parts.push(""); // Trailing newline. + parts.push( + newLineBuffer, + Buffer.from("//# sourceMappingURL=" + url, "utf8"), + newLineBuffer // trailing newline + ); - return parts.join("\n"); + // Always return a Buffer. + return Buffer.concat(parts); } // Writes a target a path in 'programs' From b28c8a6249cd373da526697ea950e28662f8eadf Mon Sep 17 00:00:00 2001 From: Ben Newman Date: Thu, 24 May 2018 22:33:37 -0400 Subject: [PATCH 0909/1355] Update meteor-babel to 7.0.0-beta.48 and reify to 0.16.1. --- History.md | 4 +- .../.npm/package/npm-shrinkwrap.json | 430 +++++++++--------- packages/babel-compiler/package.js | 2 +- .../modules/.npm/package/npm-shrinkwrap.json | 6 +- packages/modules/package.js | 4 +- scripts/dev-bundle-tool-package.js | 6 +- 6 files changed, 226 insertions(+), 226 deletions(-) diff --git a/History.md b/History.md index 892634255b..3b9c919f67 100644 --- a/History.md +++ b/History.md @@ -218,7 +218,7 @@ foundation for any application that doesn't need Mongo or DDP. * The `meteor-babel` npm package has been updated to version - 7.0.0-beta.47. Note: while Babel has recently implemented support for a + 7.0.0-beta.48. Note: while Babel has recently implemented support for a new kind of `babel.config.js` configuration file (see [this PR](https://github.com/babel/babel/pull/7358)), and future versions of Meteor will no doubt embrace this functionality, Meteor 1.7 supports @@ -226,7 +226,7 @@ configuration provided by Meteor. In other words, if your project contains a `babel.config.js` file, it will be ignored by Meteor 1.7. -* The `reify` npm package has been updated to version 0.15.1. +* The `reify` npm package has been updated to version 0.16.1. * The `meteor-node-stubs` package, which provides stub implementations for any Node built-in modules used by the client (such as `path` and diff --git a/packages/babel-compiler/.npm/package/npm-shrinkwrap.json b/packages/babel-compiler/.npm/package/npm-shrinkwrap.json index 1aa65de99c..0611ef7f80 100644 --- a/packages/babel-compiler/.npm/package/npm-shrinkwrap.json +++ b/packages/babel-compiler/.npm/package/npm-shrinkwrap.json @@ -2,334 +2,339 @@ "lockfileVersion": 1, "dependencies": { "@babel/code-frame": { - "version": "7.0.0-beta.47", - "resolved": "https://registry.npmjs.org/@babel/code-frame/-/code-frame-7.0.0-beta.47.tgz", - "integrity": "sha512-W7IeG4MoVf4oUvWfHUx9VG9if3E0xSUDf1urrnNYtC2ow1dz2ptvQ6YsJfyVXDuPTFXz66jkHhzMW7a5Eld7TA==" + "version": "7.0.0-beta.48", + "resolved": "https://registry.npmjs.org/@babel/code-frame/-/code-frame-7.0.0-beta.48.tgz", + "integrity": "sha512-zwyam2DrinaJfhmCaajZT2yRCoN3cE8dwW7uVWaHay9z2Dwn9Pidnekkz9g7kXbg2qfVqmgDKeUTVZ4+bMlfZA==" }, "@babel/core": { - "version": "7.0.0-beta.47", - "resolved": "https://registry.npmjs.org/@babel/core/-/core-7.0.0-beta.47.tgz", - "integrity": "sha512-7EIuAX0UVnCgZ0E9tz9rFK0gd+aovwMA9bul+dnkmBQYLrJdas2EHMUSmaK67i1cyZpvgVvXhHtXJxC7wo3rlQ==" + "version": "7.0.0-beta.48", + "resolved": "https://registry.npmjs.org/@babel/core/-/core-7.0.0-beta.48.tgz", + "integrity": "sha512-IDgOf/eKZjsW2Hz+/tXph1AczBe4MPWo53Eno5XKM68u7t3N86BMqdRQB8RctfDEhAww7EqB80CBFr7iWMDkqA==" }, "@babel/generator": { - "version": "7.0.0-beta.47", - "resolved": "https://registry.npmjs.org/@babel/generator/-/generator-7.0.0-beta.47.tgz", - "integrity": "sha512-fJP+9X+gqgTTZzTqrKJHwebPwt6S/e/4YuyRyKyWHAIirGgUwjRoZgbFci24wwGYMJW7nlkCSwWG7QvCVsG0eg==" + "version": "7.0.0-beta.48", + "resolved": "https://registry.npmjs.org/@babel/generator/-/generator-7.0.0-beta.48.tgz", + "integrity": "sha512-RPS4dHg3wVmivvMIHW9N/ZHPZ5vc7runskURDqz3xamcFlUXSVxoziaS9VOJeivKXGzFPqr/wY03u9wDc+4A1g==" }, "@babel/helper-annotate-as-pure": { - "version": "7.0.0-beta.47", - "resolved": "https://registry.npmjs.org/@babel/helper-annotate-as-pure/-/helper-annotate-as-pure-7.0.0-beta.47.tgz", - "integrity": "sha512-Pjxb/PrxyKWc7jcAXlawvNAQMxxY+tSSNC5wxJstJjpO10mocmGzBOqNYjxdvVhMb3d0BEPQ8mR+D65fFpZ+TA==" + "version": "7.0.0-beta.48", + "resolved": "https://registry.npmjs.org/@babel/helper-annotate-as-pure/-/helper-annotate-as-pure-7.0.0-beta.48.tgz", + "integrity": "sha512-LBldrgCApkHFwwtMJC2P2MeH+09+vPVj3Gs+mltqSpY+LyowjjUmqLUcmrF+Kj/gmRY/DqGAbvZWwNlNDs6dGQ==" }, "@babel/helper-builder-binary-assignment-operator-visitor": { - "version": "7.0.0-beta.47", - "resolved": "https://registry.npmjs.org/@babel/helper-builder-binary-assignment-operator-visitor/-/helper-builder-binary-assignment-operator-visitor-7.0.0-beta.47.tgz", - "integrity": "sha512-nv8d6TcDBb1CJMQzwab/e0rqyqoP9d2AQBjr4GdSiVRpJX4aiLEiLBm2XprdEb/sVIRmmBnVxPXJaHDsS/K2fw==" + "version": "7.0.0-beta.48", + "resolved": "https://registry.npmjs.org/@babel/helper-builder-binary-assignment-operator-visitor/-/helper-builder-binary-assignment-operator-visitor-7.0.0-beta.48.tgz", + "integrity": "sha512-VBAT5LjhWATA/s+R0yjqthw27fzkAALoqIMf5zcyWq2GaBrAt8+Fwtj4KaWwS/linJDMEekC/ehb++wJOtVgiQ==" }, "@babel/helper-builder-react-jsx": { - "version": "7.0.0-beta.47", - "resolved": "https://registry.npmjs.org/@babel/helper-builder-react-jsx/-/helper-builder-react-jsx-7.0.0-beta.47.tgz", - "integrity": "sha512-oBGX/MyT4kNGuINK2k/KLHD77Ih1oTROtoxnV3uAPS9rLYhmZn3W8qy2L4bbyMwQ89nVSM427b0bTTXUEEReXA==" + "version": "7.0.0-beta.48", + "resolved": "https://registry.npmjs.org/@babel/helper-builder-react-jsx/-/helper-builder-react-jsx-7.0.0-beta.48.tgz", + "integrity": "sha512-8xE7DEoa7EKvGYlad2tE2hvf8eD/FsqsymFWwxV00P/c0EAWFcRK/Ky5H5fnwwurgNVEDo169DpYlbfiSskQEQ==" }, "@babel/helper-call-delegate": { - "version": "7.0.0-beta.47", - "resolved": "https://registry.npmjs.org/@babel/helper-call-delegate/-/helper-call-delegate-7.0.0-beta.47.tgz", - "integrity": "sha512-Rx9TRmCCEP0pWau9gfR6ubcbbX3nVc4ImNY143ftC70jrKdSv5rS20yz2cmCilDzhexwGZQ3PFwOLKe3C/5aEg==" + "version": "7.0.0-beta.48", + "resolved": "https://registry.npmjs.org/@babel/helper-call-delegate/-/helper-call-delegate-7.0.0-beta.48.tgz", + "integrity": "sha512-5uL0AOimonrxooSH3d8G7doJCppYU6xYEP8/ii1PllpAkdepWu0RuCI6P+xFGARCUeLm8Bpgzz00g+w4Xxb8cQ==" }, "@babel/helper-define-map": { - "version": "7.0.0-beta.47", - "resolved": "https://registry.npmjs.org/@babel/helper-define-map/-/helper-define-map-7.0.0-beta.47.tgz", - "integrity": "sha512-pLB9RY7GZKcc/frzgfDY/HwdqxWPe60qMAvNUef1V1bDZ8i4AUgxAANgltFzj61t100WGhqaS0xGkALD+9VA+g==" + "version": "7.0.0-beta.48", + "resolved": "https://registry.npmjs.org/@babel/helper-define-map/-/helper-define-map-7.0.0-beta.48.tgz", + "integrity": "sha512-xYUOjKHrD7/B6OW3wNHgVQVrE7PdV3gFUQjHhPILC6DyIN1w7WehRe/ZKObB9upbaIkVq4VTdz/Do+3VQOicxA==" }, "@babel/helper-explode-assignable-expression": { - "version": "7.0.0-beta.47", - "resolved": "https://registry.npmjs.org/@babel/helper-explode-assignable-expression/-/helper-explode-assignable-expression-7.0.0-beta.47.tgz", - "integrity": "sha512-1mwk27zmhSuMUcVWxw5ZKiPYfuWXviZNqgA4OvFBloPf9R+dKDhNgP2uUrkHh68ltVVc3Bup1nsbd/2KM5AxEw==" + "version": "7.0.0-beta.48", + "resolved": "https://registry.npmjs.org/@babel/helper-explode-assignable-expression/-/helper-explode-assignable-expression-7.0.0-beta.48.tgz", + "integrity": "sha512-HdKAuJM3KNwnzINIpLfvvJGu/k2EyTzvPiHXn+sEd3jfRByQU1yK2IKEEN1oJn4XPoC1OOLSYnyJbPkQnIjhXA==" }, "@babel/helper-function-name": { - "version": "7.0.0-beta.47", - "resolved": "https://registry.npmjs.org/@babel/helper-function-name/-/helper-function-name-7.0.0-beta.47.tgz", - "integrity": "sha512-0LSvt95XCYaOrDA5K68KkTyldKXizDwBnKACdYzQszp1GdbtzmSeGwFU5Ecw86fU6bkYXtDvkFTOQwk/WQSJPw==" + "version": "7.0.0-beta.48", + "resolved": "https://registry.npmjs.org/@babel/helper-function-name/-/helper-function-name-7.0.0-beta.48.tgz", + "integrity": "sha512-7QUvVTskXuu8q8ZB6/OMM/hjoNaAjZOU1u9zMuJFvSHA7xzep0QOmPMmF8y2tadNGwuRT6KpY8DiB6GNQly6Nw==" }, "@babel/helper-get-function-arity": { - "version": "7.0.0-beta.47", - "resolved": "https://registry.npmjs.org/@babel/helper-get-function-arity/-/helper-get-function-arity-7.0.0-beta.47.tgz", - "integrity": "sha512-63j0i3YUW8CO//uQc3ACffJdIlYcIlysuHjMF0yzQhqKoQ/CUPv0hf3nBwdRGjiWrr3JcL6++NF4XmXdwSU+fA==" + "version": "7.0.0-beta.48", + "resolved": "https://registry.npmjs.org/@babel/helper-get-function-arity/-/helper-get-function-arity-7.0.0-beta.48.tgz", + "integrity": "sha512-crZpcjFTMxoKHgS2V75YrmCam+BULh/qesfqjaf9ioT2SfHxxXQoQeanh/xf7TTLAcIlZZkUMVgab3x4XyWSGA==" }, "@babel/helper-hoist-variables": { - "version": "7.0.0-beta.47", - "resolved": "https://registry.npmjs.org/@babel/helper-hoist-variables/-/helper-hoist-variables-7.0.0-beta.47.tgz", - "integrity": "sha512-5BcKFhyzrsInlrfO/tGoe6khUuJzGfROD7oozF/5MWsKo/c3gVJfQ5y83lZ4XoTKJt/x4PQlLU0aHd/SJpYONA==" + "version": "7.0.0-beta.48", + "resolved": "https://registry.npmjs.org/@babel/helper-hoist-variables/-/helper-hoist-variables-7.0.0-beta.48.tgz", + "integrity": "sha512-DDG/6n26UQGd1cWwWEINorp2JLshNsvhOpkCdvPpdf84jXTKv17JPSD2m62fvyGWyoMjalAjEpAk+Ogux8COag==" }, "@babel/helper-member-expression-to-functions": { - "version": "7.0.0-beta.47", - "resolved": "https://registry.npmjs.org/@babel/helper-member-expression-to-functions/-/helper-member-expression-to-functions-7.0.0-beta.47.tgz", - "integrity": "sha512-gpipslnZw2hcVGADUtqQII9KF8FPpRZsVUXwKP/0EnWwtujRFSVL+u2Fh+VXODRAxFmTLo6eGcOr/Vfan0MqYw==" + "version": "7.0.0-beta.48", + "resolved": "https://registry.npmjs.org/@babel/helper-member-expression-to-functions/-/helper-member-expression-to-functions-7.0.0-beta.48.tgz", + "integrity": "sha512-tMjX+tE5sLafN1B3rSVsm1oKC3OJXZDbq4JSpGBufYlIITYxDpe9kw8DqonzQJ0e7O7foIuUxgT3/q/JmC3xeA==" }, "@babel/helper-module-imports": { - "version": "7.0.0-beta.47", - "resolved": "https://registry.npmjs.org/@babel/helper-module-imports/-/helper-module-imports-7.0.0-beta.47.tgz", - "integrity": "sha512-Rk43Ty+a6npu9znK22IqFlseStRGWxEHi2cjmLbbi63VGiseofdUtIJI65F9MTCuMTXAX7VbY/ghef1Jp5qpvw==" + "version": "7.0.0-beta.48", + "resolved": "https://registry.npmjs.org/@babel/helper-module-imports/-/helper-module-imports-7.0.0-beta.48.tgz", + "integrity": "sha512-uuxpRHHTP7+xVAtKro9z09P4bSkBcA4B+JoMc6FsT61GGnE3iRIbqb2QxQm6dFDMshlZc51/EfOainbimZRqCw==" }, "@babel/helper-module-transforms": { - "version": "7.0.0-beta.47", - "resolved": "https://registry.npmjs.org/@babel/helper-module-transforms/-/helper-module-transforms-7.0.0-beta.47.tgz", - "integrity": "sha512-CziMe30ZunAhe6j05oNOFOg7im1lcv3dYuMxrwBYVe9YdP4NHPU7a1wrDBUhaPmyqTIZDwGnFne7k1KP79SeGQ==" + "version": "7.0.0-beta.48", + "resolved": "https://registry.npmjs.org/@babel/helper-module-transforms/-/helper-module-transforms-7.0.0-beta.48.tgz", + "integrity": "sha512-PTAHN19m51RBc713bQdU7yd+McGkiOVV56gMtoC9x8iYZ7mfoxvyN723t7ZUkFdMlppTW2xCzWGZ0Ok9Aw1UNA==" }, "@babel/helper-optimise-call-expression": { - "version": "7.0.0-beta.47", - "resolved": "https://registry.npmjs.org/@babel/helper-optimise-call-expression/-/helper-optimise-call-expression-7.0.0-beta.47.tgz", - "integrity": "sha512-NhnGhjwrhzGas4A/PoBDEtEPCGJHrzhaT6qGmo1hmkA2orG4UNi7KENC38DhJII0n2oUrKUuzTwgCvxKOTiHbw==" + "version": "7.0.0-beta.48", + "resolved": "https://registry.npmjs.org/@babel/helper-optimise-call-expression/-/helper-optimise-call-expression-7.0.0-beta.48.tgz", + "integrity": "sha512-JymM1V2kkDkizXAGmmhOFMqshOxR/gsG2xOYhM6dd5dpNEFSbEU0PTL/O6QEHJsgedq4pg6LKNwdo1EXIij0Uw==" }, "@babel/helper-plugin-utils": { - "version": "7.0.0-beta.47", - "resolved": "https://registry.npmjs.org/@babel/helper-plugin-utils/-/helper-plugin-utils-7.0.0-beta.47.tgz", - "integrity": "sha512-GR67o8boOKVJRKM5Nhk7oVEHpxYy8R00lwu0F82WxxBH+iiT26DqW1e/4w/mo7Bdn1A6l0pNaOlNk1PdM2Hgag==" + "version": "7.0.0-beta.48", + "resolved": "https://registry.npmjs.org/@babel/helper-plugin-utils/-/helper-plugin-utils-7.0.0-beta.48.tgz", + "integrity": "sha512-2ocT0LL1uVUJVnAurHl9pcHfW8VaucCfM2YTQOVJC5yrL9CYx2HqrBsXIS6ZhOJUcbSot6945fsZhUiDWegtsw==" }, "@babel/helper-regex": { - "version": "7.0.0-beta.47", - "resolved": "https://registry.npmjs.org/@babel/helper-regex/-/helper-regex-7.0.0-beta.47.tgz", - "integrity": "sha512-dafidvVkjJP5AIWkJspV+7RGj1jeNts0qYvlmVzqAGb6BmQzEldJr6ZPzrmlpW/AW1YJGdw7br2yiwvlCRqDvQ==" + "version": "7.0.0-beta.48", + "resolved": "https://registry.npmjs.org/@babel/helper-regex/-/helper-regex-7.0.0-beta.48.tgz", + "integrity": "sha512-ibH3eKfwlVZmh0UIDS/EbK6LvCe5IS4ZyIPI7nWWkQUWrJFa5unHastqiEVKfRPN06UqVdJkH6lXQxKBEpXBvQ==" }, "@babel/helper-remap-async-to-generator": { - "version": "7.0.0-beta.47", - "resolved": "https://registry.npmjs.org/@babel/helper-remap-async-to-generator/-/helper-remap-async-to-generator-7.0.0-beta.47.tgz", - "integrity": "sha512-Nmj3lUHQscD160asav2bZ3sMIjGwGY9r6Vrriy9TqH7bmaClKUKUs5Twv0htFWfOKNFLEeY/MaqiAXylr1GS2w==" + "version": "7.0.0-beta.48", + "resolved": "https://registry.npmjs.org/@babel/helper-remap-async-to-generator/-/helper-remap-async-to-generator-7.0.0-beta.48.tgz", + "integrity": "sha512-+DpwvwnTyH8A+WmD9X4Ubh3AyOp0TQYU6oy+1l5Qw2wlZIqsVb2VMoppET96siPv39R01E7vii/gsgne/Oqevg==" }, "@babel/helper-replace-supers": { - "version": "7.0.0-beta.47", - "resolved": "https://registry.npmjs.org/@babel/helper-replace-supers/-/helper-replace-supers-7.0.0-beta.47.tgz", - "integrity": "sha512-yf2JAD1+xNTjavqazqknRgPfd6MbGfvfIcAkxWsPURynAwOMSs4zThED8ImT2d5a97rGPysRJcq1jNh2L0WYxg==" + "version": "7.0.0-beta.48", + "resolved": "https://registry.npmjs.org/@babel/helper-replace-supers/-/helper-replace-supers-7.0.0-beta.48.tgz", + "integrity": "sha512-QKksfM+sHfE/qk7DN1U+n8nqCO5IcLgBciJxT2ZGtq9aogHMK+rEFxIq57AU0T7hn9QE6iOjGSmnmT1JLWkr4g==" }, "@babel/helper-simple-access": { - "version": "7.0.0-beta.47", - "resolved": "https://registry.npmjs.org/@babel/helper-simple-access/-/helper-simple-access-7.0.0-beta.47.tgz", - "integrity": "sha512-sd2t3QDKjd+hHkJKaC2AX39l6oIil1N548oMZAtV5YHlVGoWWkAVGnPMxRg7ICEjIftCU3ZI6UeaogyEhF8t7Q==" + "version": "7.0.0-beta.48", + "resolved": "https://registry.npmjs.org/@babel/helper-simple-access/-/helper-simple-access-7.0.0-beta.48.tgz", + "integrity": "sha512-55d2jEz4avJ+9hUIAS8stHRADIi7CeL/JcYGrUI+Ik/sDboCY3cdWRlFECC3PW3VksfI+F2BheDiupNj3rm5sw==" }, "@babel/helper-split-export-declaration": { - "version": "7.0.0-beta.47", - "resolved": "https://registry.npmjs.org/@babel/helper-split-export-declaration/-/helper-split-export-declaration-7.0.0-beta.47.tgz", - "integrity": "sha512-jx8GmxryT6Qy4+24W6M6TnVL9T8bxqdyg5UKHjxBdw0Y2Sano1n0WphUS2seuOugn04W2ZQLqGc0ut8nGe/taA==" + "version": "7.0.0-beta.48", + "resolved": "https://registry.npmjs.org/@babel/helper-split-export-declaration/-/helper-split-export-declaration-7.0.0-beta.48.tgz", + "integrity": "sha512-ghYl4j1y3GMYjCxT+V3caUTXwt4kaKbpMYHDbMvTX6/yyVQ8kCxSHEU9ZX0uSTeZDvgFjPLA53s7HOP1zdFwZw==" }, "@babel/helper-wrap-function": { - "version": "7.0.0-beta.47", - "resolved": "https://registry.npmjs.org/@babel/helper-wrap-function/-/helper-wrap-function-7.0.0-beta.47.tgz", - "integrity": "sha512-SAasvh80Mz5q9x15dqH6z8jpM0WTBmxQSNZATSwJwhmWdme6r2gxpufIMr8LwQIJHmXmgNLmvh0zdWSbE/PR4Q==" + "version": "7.0.0-beta.48", + "resolved": "https://registry.npmjs.org/@babel/helper-wrap-function/-/helper-wrap-function-7.0.0-beta.48.tgz", + "integrity": "sha512-eQhuwPxmQNUyThNIrc+c/NRRZP9UFT9JQ4jqAZYp+WtGuz3AsMqLxfaxYaeXLWGGDYELr4UTsResuXmPORWj1Q==" }, "@babel/helpers": { - "version": "7.0.0-beta.47", - "resolved": "https://registry.npmjs.org/@babel/helpers/-/helpers-7.0.0-beta.47.tgz", - "integrity": "sha512-uWk7gIua2COEWLwZGxfF5Wq1bgXOt1V6xzWxqeFznrA6F1TUPiAhkK5zORiZEa5RAILp6Mswsn3xFjDyCpp3rQ==" + "version": "7.0.0-beta.48", + "resolved": "https://registry.npmjs.org/@babel/helpers/-/helpers-7.0.0-beta.48.tgz", + "integrity": "sha512-5qvSiDO+3tOyzZAoT+PvMMlbau+P+yI2LSDo7m38x9i1nbAMooFLQTdYqOAhFpRo8cXg2Lg1msYqpYK8CeqHYQ==" }, "@babel/highlight": { - "version": "7.0.0-beta.47", - "resolved": "https://registry.npmjs.org/@babel/highlight/-/highlight-7.0.0-beta.47.tgz", - "integrity": "sha512-d505K3Hth1eg0b2swfEF7oFMw3J9M8ceFg0s6dhCSxOOF+07WDvJ0HKT/YbK/Jk9wn8Wyr6HIRAUPKJ9Wfv8Rg==" + "version": "7.0.0-beta.48", + "resolved": "https://registry.npmjs.org/@babel/highlight/-/highlight-7.0.0-beta.48.tgz", + "integrity": "sha512-nvyRS7pcfayjRjMg9KXCUdVcLq8/njx2ktvckovIx7cMJ9+aY58735xTIC0adkPZ13KJHbik6fJMfxO8PPZaLg==" + }, + "@babel/parser": { + "version": "7.0.0-beta.48", + "resolved": "https://registry.npmjs.org/@babel/parser/-/parser-7.0.0-beta.48.tgz", + "integrity": "sha512-X3pKxvy7vL79zc/6XS6cCObyuRMnsRGRu7d3zVSPZGCdxkK0/wTeFRwseRjcvhReV/6LW2D8H8qHVFFL0c+5+w==" }, "@babel/plugin-proposal-async-generator-functions": { - "version": "7.0.0-beta.47", - "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-async-generator-functions/-/plugin-proposal-async-generator-functions-7.0.0-beta.47.tgz", - "integrity": "sha512-TQMLYVIqQ0MqVS1Z7jsuv3HlEetLo/7EnDY9mGBZ4c4/WLD/mu+tFuLiK2/2QH5wgi5viRfJGs/+L5TaDzxWng==" + "version": "7.0.0-beta.48", + "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-async-generator-functions/-/plugin-proposal-async-generator-functions-7.0.0-beta.48.tgz", + "integrity": "sha512-gBVjr30royW56cgLuuVuk73s/7vFQb9R407WAg1iDkJOeplMo+C0esblPR/5qAHCkpktoA1PizGl3vwfVSvo9w==" }, "@babel/plugin-proposal-class-properties": { - "version": "7.0.0-beta.47", - "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-class-properties/-/plugin-proposal-class-properties-7.0.0-beta.47.tgz", - "integrity": "sha512-6yuCiF+ZZHPLgAa+0a6/teNeAMsWqY6AVtZA4NhCWnwP4OH0JrRaY7rwvFCJSqNGurf8rF65W9IucM/l0+HOCg==" + "version": "7.0.0-beta.48", + "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-class-properties/-/plugin-proposal-class-properties-7.0.0-beta.48.tgz", + "integrity": "sha512-vtZ2QeYKDW8VvX42aPw+sP9AyoZRk2V2DFOdbucxjuy6Gi9o2q66ioeOnIdrUnVxmHes4IFIuGqDS+XUT7h2Mw==" }, "@babel/plugin-proposal-object-rest-spread": { - "version": "7.0.0-beta.47", - "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-object-rest-spread/-/plugin-proposal-object-rest-spread-7.0.0-beta.47.tgz", - "integrity": "sha512-ujUjQUyTxUWHfixRD7Y5Nm8VCgHSf6YgbM37LEnojKp5lPahZO42qJfDty+Kh0tEanpI5H8BLPkJbFSzx6TNEw==" + "version": "7.0.0-beta.48", + "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-object-rest-spread/-/plugin-proposal-object-rest-spread-7.0.0-beta.48.tgz", + "integrity": "sha512-lBgqbSVX7HwsBN3//GZ+LIAtHcJm2mk0YxSigqc8JYbY6Kw27pNtvLtfGFPW7KJd4h1hFmfDkkxFk0uKhVIHSA==" }, "@babel/plugin-syntax-async-generators": { - "version": "7.0.0-beta.47", - "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-async-generators/-/plugin-syntax-async-generators-7.0.0-beta.47.tgz", - "integrity": "sha512-LCNGYTLpQAsvTmVmT/I2pz7dIh3Bu+9BLxqL7b3QfplsMQxNsoBBMend33Arb4EtPt5dX7KeeVof8tL0trDRRA==" + "version": "7.0.0-beta.48", + "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-async-generators/-/plugin-syntax-async-generators-7.0.0-beta.48.tgz", + "integrity": "sha512-cDLSZqUeTFhu11zwyFQw6tFsgH2SrPSXVUisaON1OnMG7A05E4M6rhfDGvv0aLHpX2njSD4nUwVoFsIitJE5Kg==" }, "@babel/plugin-syntax-class-properties": { - "version": "7.0.0-beta.47", - "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-class-properties/-/plugin-syntax-class-properties-7.0.0-beta.47.tgz", - "integrity": "sha512-vLoAuLSjHSenX3TQmri6ttQWZp3rEtGcRp4LgYEBQ012fN5h+KmcssvkCAqm6V6ozS5KzUWpBlZ6t7YhZG6oBw==" + "version": "7.0.0-beta.48", + "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-class-properties/-/plugin-syntax-class-properties-7.0.0-beta.48.tgz", + "integrity": "sha512-pKieyemp6fw0LAMro/jJZe78UnypA+5xNAv4cmHZ1cNjGblcnC3WS2H18ruXOpHL1qQ4ITkcQZh18wFG78KEng==" }, "@babel/plugin-syntax-dynamic-import": { - "version": "7.0.0-beta.47", - "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-dynamic-import/-/plugin-syntax-dynamic-import-7.0.0-beta.47.tgz", - "integrity": "sha512-J2y7RAH2NwQ+ahJahj2eS1PqS2NWNWTDaEibqrE55VTJU7nPL8AhthRwIQfQkCH+8UIeL/T3Jh1iHIRkvJ6dXA==" + "version": "7.0.0-beta.48", + "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-dynamic-import/-/plugin-syntax-dynamic-import-7.0.0-beta.48.tgz", + "integrity": "sha512-ZCuET4SH9JWdd21E13E5xzKwxit35HyqRVyMtI1Ylqfsj3spYFZ7Pv6grvsqGf04ak5pBSRMHUmA6zjlWiV4uQ==" }, "@babel/plugin-syntax-flow": { - "version": "7.0.0-beta.47", - "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-flow/-/plugin-syntax-flow-7.0.0-beta.47.tgz", - "integrity": "sha512-+3ZLKNV8tSDnTWL4QRNx5uZB/hUzY71WcgCwoXWy+8ma7EjZ3e3vbR69VR8dJwG1DqGsug6ZzM+afR0G4gKgPA==" + "version": "7.0.0-beta.48", + "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-flow/-/plugin-syntax-flow-7.0.0-beta.48.tgz", + "integrity": "sha512-HWkFY2JajEDdMkbZc2oVEa0ZULNwqFf2JvseDy+joGRYYeKp/6a9slQDBUCtN1YNx5JmTbG190tIfbENRKvFew==" }, "@babel/plugin-syntax-jsx": { - "version": "7.0.0-beta.47", - "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-jsx/-/plugin-syntax-jsx-7.0.0-beta.47.tgz", - "integrity": "sha512-5scuJzIYZY8M+A1ra8mcKANIwB5TtsRD6Aw94xZxfvnjhhVMFR5RYE9HshVlBrZVY+r3cJDNIQLJMC/fGJHImA==" + "version": "7.0.0-beta.48", + "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-jsx/-/plugin-syntax-jsx-7.0.0-beta.48.tgz", + "integrity": "sha512-cXdKK+zz6VrRUZJhq0oo7bfLjgME7y4N3igl15VcOS3XORbyOaWwHK2Nwsa8AalOcGEjvkmAmqb40Ht18/XiXA==" }, "@babel/plugin-syntax-object-rest-spread": { - "version": "7.0.0-beta.47", - "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-object-rest-spread/-/plugin-syntax-object-rest-spread-7.0.0-beta.47.tgz", - "integrity": "sha512-UOGQCmzvNlZMQOuys7xPiTa2EjTT3xHuhUghcdJnYikqGV43obpIIaP+VDCWPvIT8g0QDIvmRWx5UefvkWXN+w==" + "version": "7.0.0-beta.48", + "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-object-rest-spread/-/plugin-syntax-object-rest-spread-7.0.0-beta.48.tgz", + "integrity": "sha512-xsezu/icfJxRpNxWG3AvvCyueKdpEZRVaPEISoSYPSiGqsFAaCozUu6XBTwDG2htcFcNfxHAdyar+TllJvQdxA==" }, "@babel/plugin-transform-arrow-functions": { - "version": "7.0.0-beta.47", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-arrow-functions/-/plugin-transform-arrow-functions-7.0.0-beta.47.tgz", - "integrity": "sha512-xiU+7RJAsqx+iZqWSQQWBu9ZDTruWimkg4puDSdRVfEwgZQdOtiU2LuO0+xGFyitJPHkKuje0WvK1tFu1dmxCw==" + "version": "7.0.0-beta.48", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-arrow-functions/-/plugin-transform-arrow-functions-7.0.0-beta.48.tgz", + "integrity": "sha512-K4HCBSY369QE30JVMhDRubPD6uK2aRtkWWQ3IXpZgs2qmfKz7U0SM/NZCnOVYRUFqwmkgiCMEg0ONMCfuhHzdg==" }, "@babel/plugin-transform-async-to-generator": { - "version": "7.0.0-beta.47", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-async-to-generator/-/plugin-transform-async-to-generator-7.0.0-beta.47.tgz", - "integrity": "sha512-/TXK3v6ipvmhMO81Y2Vjc7RYROkS2PcmRc+kvmU3CWA7r5I73KWg10UEW/fpWqCuoTCHHHXu1ZcZ5u+nduJeFw==" + "version": "7.0.0-beta.48", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-async-to-generator/-/plugin-transform-async-to-generator-7.0.0-beta.48.tgz", + "integrity": "sha512-XMwqQtmAYT1luf1WeOgRIIMNmvdqpPoWf3bdcqT8hGRJHTFxWdfkgIW/Zq6KqExnSOHFKmWF9cN7jqf/flQhGQ==" }, "@babel/plugin-transform-block-scoped-functions": { - "version": "7.0.0-beta.47", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-block-scoped-functions/-/plugin-transform-block-scoped-functions-7.0.0-beta.47.tgz", - "integrity": "sha512-8KPxKyE6kb9VRbHwQ8XKsg/IPlxHaOMRyg2WfyV5C4dCmXbRdHDJy4hZKB3o4rGxjggmC/Bx8Fh51/P7UNtTcA==" + "version": "7.0.0-beta.48", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-block-scoped-functions/-/plugin-transform-block-scoped-functions-7.0.0-beta.48.tgz", + "integrity": "sha512-jlah/Zp6N5yckYpQDSrzkve/OS+blkRJ65GDNMMIi+7mJPPYczvHXIn6a0gn9IfSj6Btt1v752bHgRQhWwl/6A==" }, "@babel/plugin-transform-block-scoping": { - "version": "7.0.0-beta.47", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-block-scoping/-/plugin-transform-block-scoping-7.0.0-beta.47.tgz", - "integrity": "sha512-V/u3Zdy40KjVQeyYUaQnCGiHQbRNJoc6IEtNDERltuW9vYPHS1n6YGc+EHKi8JVYT4kE6UHOjD+BrbCCV4kjRw==" + "version": "7.0.0-beta.48", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-block-scoping/-/plugin-transform-block-scoping-7.0.0-beta.48.tgz", + "integrity": "sha512-KMWeGBAn1FmyNZAW4HHfGzSjswW4YWxFhUEOif/RYfJt7h8Ny7ELdqh+A97q5JNru9ZjPyQMBvGgXTOi4fANxg==" }, "@babel/plugin-transform-classes": { - "version": "7.0.0-beta.47", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-classes/-/plugin-transform-classes-7.0.0-beta.47.tgz", - "integrity": "sha512-hzW/jL6TPBMHJXeXwzuxMN0PFAfjVD0UzATHrFSejY5A7SvhWWrv1cZ3K0/SzCXJ9LpMdxCNiREvVjeD/Tyx2g==" + "version": "7.0.0-beta.48", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-classes/-/plugin-transform-classes-7.0.0-beta.48.tgz", + "integrity": "sha512-1m6OeD+zNheuTtcQcGW8/nk78GVzVo3xho/Gwc0U+/QbfsDRXoVEAWEvR3cuUqM+LrteWwR2hdpMuCahuY7vNA==" }, "@babel/plugin-transform-computed-properties": { - "version": "7.0.0-beta.47", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-computed-properties/-/plugin-transform-computed-properties-7.0.0-beta.47.tgz", - "integrity": "sha512-V78qyzmjj4aq/tjpkMFbV5gPtrx7xdclW1Rn6vV9hIwMSMbtstYEXF4msy614MofvYj6gYbPbNfyhXFIUvz/xw==" + "version": "7.0.0-beta.48", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-computed-properties/-/plugin-transform-computed-properties-7.0.0-beta.48.tgz", + "integrity": "sha512-eRH545kOx+rFVLt//w9NvAUUUoDuniO235RH6/lb3kgdtQUGfxaP2vHpB2zwJSAhMnnb3diShwor6ONaNxmLCA==" }, "@babel/plugin-transform-destructuring": { - "version": "7.0.0-beta.47", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-destructuring/-/plugin-transform-destructuring-7.0.0-beta.47.tgz", - "integrity": "sha512-3AaXC9H7qPybJbSs/QMhhj9EZF9MYrb/HRytwki1tckaYifqCJquENIZxDAYmwsWIGIHiq34WqwPRMIsz/b5uQ==" + "version": "7.0.0-beta.48", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-destructuring/-/plugin-transform-destructuring-7.0.0-beta.48.tgz", + "integrity": "sha512-oxHIpqJMuDSBQEY9ezR4pgcJ2K5LS3YCHMFmHroA+loeCDKTKwiJ72Bwx4ElLYM64CwfogMmra/Ee5U0YvzMPw==" }, "@babel/plugin-transform-exponentiation-operator": { - "version": "7.0.0-beta.47", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-exponentiation-operator/-/plugin-transform-exponentiation-operator-7.0.0-beta.47.tgz", - "integrity": "sha512-vyGG3kLIXpMuaPL485aqowdWFrxCxXtbzMXy9p1QTK5Q/+9UHpK9XoAVJZGknnsm091m0Ss7spo8uHaxbzYVog==" + "version": "7.0.0-beta.48", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-exponentiation-operator/-/plugin-transform-exponentiation-operator-7.0.0-beta.48.tgz", + "integrity": "sha512-oyUXYa3WMzVTtJIp2cjDBoFME8DRlxW1yBZVOdtI0MDLIkOrZjHMGVwCUblQgT10qfpiMfRYKJTN1t8zx98axw==" }, "@babel/plugin-transform-flow-strip-types": { - "version": "7.0.0-beta.47", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-flow-strip-types/-/plugin-transform-flow-strip-types-7.0.0-beta.47.tgz", - "integrity": "sha512-X/8Gd4CxdBx7LOtW2wPSzr83bYyndqYbnJoUEosPJXOG2aRmgVo4hn+wk97vtDH+hMP7HsTApVBffrZNXS3erA==" + "version": "7.0.0-beta.48", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-flow-strip-types/-/plugin-transform-flow-strip-types-7.0.0-beta.48.tgz", + "integrity": "sha512-hNNsSiefKICkvdoJTpxCU6iZYlr41ztuucW9NU5xwlp0rEBsIrzq9Wa9K/7/KzpqoWw1kfseZRy/TfxdHcjykw==" }, "@babel/plugin-transform-for-of": { - "version": "7.0.0-beta.47", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-for-of/-/plugin-transform-for-of-7.0.0-beta.47.tgz", - "integrity": "sha512-tfH5OMzV9fWLYJTzWDhoRJKr8kvBZWH26jiCgM0ayNq75ES/X947MqMNAgBjJdTAVEV2kOyks2ItgNAJT4rOUw==" + "version": "7.0.0-beta.48", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-for-of/-/plugin-transform-for-of-7.0.0-beta.48.tgz", + "integrity": "sha512-Pm1iNyT1bZEB0aQs+VvMuubOTPEuDCbonljBKp4/VxP89S8nmyyrw1jAsxUOUnZq1RlOzcrhKFmd+gI/C3DOoQ==" }, "@babel/plugin-transform-literals": { - "version": "7.0.0-beta.47", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-literals/-/plugin-transform-literals-7.0.0-beta.47.tgz", - "integrity": "sha512-PxBw+52qWypwR76YfS2FlW4wZfp61SjIyt3OSPZeWnf0zVQWNVrlRRunJ7lBYudDYvyMwStAE/VynZ0fHtPgng==" + "version": "7.0.0-beta.48", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-literals/-/plugin-transform-literals-7.0.0-beta.48.tgz", + "integrity": "sha512-5SOXkuWm2DmLSFxygIkEqZlbnRF5CxWecS0izPhVShi3Nac8/1iQHZg6tk5oY4ZULOW4RmqPabkaaGg3zHjYFg==" }, "@babel/plugin-transform-modules-commonjs": { - "version": "7.0.0-beta.47", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-modules-commonjs/-/plugin-transform-modules-commonjs-7.0.0-beta.47.tgz", - "integrity": "sha512-MYoLyexybBJ9ODWWMsMFzxAQey68RzhQNPjfNAYPhPPB3X160EZ5qOjWxRS2rYNvuYAxs6guy5OdrDpESqFSrQ==" + "version": "7.0.0-beta.48", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-modules-commonjs/-/plugin-transform-modules-commonjs-7.0.0-beta.48.tgz", + "integrity": "sha512-tSBaAoYYE/mD7ZuFVH8TNj7uKe/SMSzLS18DQm+PxStI1bohcc/3nJpIYNK4JVVw11IWp9C/trCb4aLNK20lfA==" }, "@babel/plugin-transform-object-super": { - "version": "7.0.0-beta.47", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-object-super/-/plugin-transform-object-super-7.0.0-beta.47.tgz", - "integrity": "sha512-JN6ox2rH1xe6hlsd6/7d2kPjZSA97wH4oOdNOSaNqaFGEFuaP/Je4+ojHMgyHKU2nx9QHNBCTxHEj+ko+Ij6HQ==" + "version": "7.0.0-beta.48", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-object-super/-/plugin-transform-object-super-7.0.0-beta.48.tgz", + "integrity": "sha512-4lykgbUgoGWvLPivTl3E5desyh5mIOjA0op8fOgdXjDiTKIwR0v+1mFfgfIWdv7LGMSam+inNVMLp+MvnEmNIw==" }, "@babel/plugin-transform-parameters": { - "version": "7.0.0-beta.47", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-parameters/-/plugin-transform-parameters-7.0.0-beta.47.tgz", - "integrity": "sha512-UzQG8draO+30Y8eNEREuGBfmEHLL7WFxOjmTBbaTrbdOrm/znCUThqcuNz8cyn2nrZbln7M/loQ3stjf9Pt9fQ==" + "version": "7.0.0-beta.48", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-parameters/-/plugin-transform-parameters-7.0.0-beta.48.tgz", + "integrity": "sha512-sNCDddJmmdXKxweyxm2CcQ1QRLjTeoUyrI5Vmn1X2pepwqKMMEujai0cyruEKAmQqKepAJ0PIHsW16mLcRf5FQ==" }, "@babel/plugin-transform-property-literals": { - "version": "7.0.0-beta.47", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-property-literals/-/plugin-transform-property-literals-7.0.0-beta.47.tgz", - "integrity": "sha512-BprUjFZGZ8+f8yHco0qIWFoEez/3mGScE+kzDmWIvMOLO9dBmzvM/vxTAUv/armxOl+wg4fUDLqSF99ZxjSt8g==" + "version": "7.0.0-beta.48", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-property-literals/-/plugin-transform-property-literals-7.0.0-beta.48.tgz", + "integrity": "sha512-6QsNN5tbbHz4YIJQNiKUKLIG1U7xc69SEEUnhOTE92nQCBupFH14Kc33Q56jYx6pbCKuwMlZvxcI9JfYdRA9cw==" }, "@babel/plugin-transform-react-display-name": { - "version": "7.0.0-beta.47", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-react-display-name/-/plugin-transform-react-display-name-7.0.0-beta.47.tgz", - "integrity": "sha512-Rw1KWihSkGHbqHiQuiFu/beMakDtobW3eLSABw1w3BvRIc/UhBXxwyIxa/q/R9hWFBholAjmx9cKey8FnZPykw==" + "version": "7.0.0-beta.48", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-react-display-name/-/plugin-transform-react-display-name-7.0.0-beta.48.tgz", + "integrity": "sha512-LubTt4wOxUSJMFRlM0ZN/esoijkpICFmSa1tBTqrI3JGyJLe0XD113BNvQ+owP1Xi/lfmyJOYq2F73LfDYz+Cw==" }, "@babel/plugin-transform-react-jsx": { - "version": "7.0.0-beta.47", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-react-jsx/-/plugin-transform-react-jsx-7.0.0-beta.47.tgz", - "integrity": "sha512-HGian2BbCsyAqs6LntVVRpjXG9TkzhHfTynjUoMxOFL29doKEy/0s96SMvmbBSR/wMRKMd1OPvCiEYYxqZtr3g==" + "version": "7.0.0-beta.48", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-react-jsx/-/plugin-transform-react-jsx-7.0.0-beta.48.tgz", + "integrity": "sha512-0lGYrdINNhP9dpgVwG6JvBD2bu49FjkMgTtGzfeJvpWJb1naUWTWkdupYSZ+izkY1fxCqY7Zki+gDWpU+Dih3Q==" }, "@babel/plugin-transform-react-jsx-self": { - "version": "7.0.0-beta.47", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-react-jsx-self/-/plugin-transform-react-jsx-self-7.0.0-beta.47.tgz", - "integrity": "sha512-hlk+iHdlGtUWo1Y//2snSODh4swBaAcnSLC2qHTbWDE5myEO6ZFGV0nVS3eLOictgKFjrzzPZm6P0X/0w5tVBQ==" + "version": "7.0.0-beta.48", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-react-jsx-self/-/plugin-transform-react-jsx-self-7.0.0-beta.48.tgz", + "integrity": "sha512-Z28mE15q+yf/havcN9LRjBOLCUw02QllRTQH9T+nbVDVDUSqAgeYSZmmxWzoe0zVt+sdoZ2NUgrSrPTzwdcOYQ==" }, "@babel/plugin-transform-react-jsx-source": { - "version": "7.0.0-beta.47", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-react-jsx-source/-/plugin-transform-react-jsx-source-7.0.0-beta.47.tgz", - "integrity": "sha512-oZ6D9z+qql+tz7PjGp1CaxepxqDQQTusyjeKsWr7NdEa0v2j3sWLkfK4Aa7kU9BT0+j+r/LN4u33UBkBNVoVvw==" + "version": "7.0.0-beta.48", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-react-jsx-source/-/plugin-transform-react-jsx-source-7.0.0-beta.48.tgz", + "integrity": "sha512-wYH3U6fkaHaMFtI8rNIopv4h5MSTth3QKnZRwHw6nCaxnjbX6MkOfKWoxE24AH/7BfVlfNvKtidWKlPXr+0FgQ==" }, "@babel/plugin-transform-regenerator": { - "version": "7.0.0-beta.47", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-regenerator/-/plugin-transform-regenerator-7.0.0-beta.47.tgz", - "integrity": "sha512-JEPIiJyqYRfjOYUTZguLkb2HTwudReqLyOljpOXnJ/1ymwsiof4D6ul611DGlMxJMZJGQ6TBi59iY9GoJ6j4Iw==" + "version": "7.0.0-beta.48", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-regenerator/-/plugin-transform-regenerator-7.0.0-beta.48.tgz", + "integrity": "sha512-+XG3RFR8RZS0SUgQ+Zc7Xns4TRcvIoLRnkGNEXk00kG5I6i3OxJRROChQHXSL90JOpcXIVcSj54z6gxOS+d85Q==" }, "@babel/plugin-transform-runtime": { - "version": "7.0.0-beta.47", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-runtime/-/plugin-transform-runtime-7.0.0-beta.47.tgz", - "integrity": "sha512-RhnhjYsOxmKDGa1ePM5RQWFBYe1PnEZAhXTNEeIwtw1jluEoLL+PCTZDbt/aAcAkZvqwIWccjkNM/FwKTd5Sxw==" + "version": "7.0.0-beta.48", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-runtime/-/plugin-transform-runtime-7.0.0-beta.48.tgz", + "integrity": "sha512-/osX+76qOfcdF97VvpkHTfAUTjG9jUETvflNip70mb1J9Ok6Muieny1OwB+BMKFpUXEfNQfHZw3CoxpHgxhiyA==" }, "@babel/plugin-transform-shorthand-properties": { - "version": "7.0.0-beta.47", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-shorthand-properties/-/plugin-transform-shorthand-properties-7.0.0-beta.47.tgz", - "integrity": "sha512-+o7/yb0Nrk4Gg/tnBgfBf+G1uGZbtkSluUnj8RyD37ajpDlWmysDjFEHSfktKcuD8YHeGz2M9AYNGcClk1fr/g==" + "version": "7.0.0-beta.48", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-shorthand-properties/-/plugin-transform-shorthand-properties-7.0.0-beta.48.tgz", + "integrity": "sha512-9/ay/owcYN6auRT+yAMIwyyA/k5pVByecZ7QpcOu8z2bMaDvlCBzP00iAtgZjBsEgBlqxcCdy5VexVkWyDUkew==" }, "@babel/plugin-transform-spread": { - "version": "7.0.0-beta.47", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-spread/-/plugin-transform-spread-7.0.0-beta.47.tgz", - "integrity": "sha512-LFAozFdfT4bE2AQw2BnjzLufTX4GBsTUHUGRhT8XNoDYuGnV+7k9Yj6JU3/7csJc9u6W91PArYgoO+D56CMw6Q==" + "version": "7.0.0-beta.48", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-spread/-/plugin-transform-spread-7.0.0-beta.48.tgz", + "integrity": "sha512-RFCSLFlxKCo40Yu69gGZqj4Ky6Tea6hPeqwCeGFu9XEdODGvA+u1tk8u7XQXbnWfaZ09e9BBSeJUUGPC69J35A==" }, "@babel/plugin-transform-sticky-regex": { - "version": "7.0.0-beta.47", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-sticky-regex/-/plugin-transform-sticky-regex-7.0.0-beta.47.tgz", - "integrity": "sha512-+Rc6NihGoXcwAqAxbiumvzOYxRR0aUg1ZExfyHnI5QnQf0sf4xAfgT/YpGvEgLd5Ci0rka+IWSj54PhzZkhuTg==" + "version": "7.0.0-beta.48", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-sticky-regex/-/plugin-transform-sticky-regex-7.0.0-beta.48.tgz", + "integrity": "sha512-HNXgYUxMMDFGgfT9Rzi7BzpM27qdQl5akXq9X1RHRejroORwdVk3FCv4+QdxPxuLIWFkiPR55ZqMGF3W/r+hyA==" }, "@babel/plugin-transform-template-literals": { - "version": "7.0.0-beta.47", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-template-literals/-/plugin-transform-template-literals-7.0.0-beta.47.tgz", - "integrity": "sha512-ORfrfN/gQoRuI+xf+kOa2i/yvXfedFRgH+KtgoIrpUQom7OhexxzD280x80LMCIkdaVGzYhvlC3kdJkFMWAfUg==" + "version": "7.0.0-beta.48", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-template-literals/-/plugin-transform-template-literals-7.0.0-beta.48.tgz", + "integrity": "sha512-9QoVXXjIuhn7m0dlmFuxOTGmlrpyrTHAa6KGnnQO6PannxtDJLR29lrZt4V9OcY44ob4yPIw/W72dBFjkZcJWg==" }, "@babel/plugin-transform-typeof-symbol": { - "version": "7.0.0-beta.47", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-typeof-symbol/-/plugin-transform-typeof-symbol-7.0.0-beta.47.tgz", - "integrity": "sha512-PhPy5NUY5MT++fEr7/sxN1/ERSM2siHSbGgdkbqgDlyvf1NlU1HeqyfomHJEFE1Y4PX0hj+XmtjSAali/6XqYA==" + "version": "7.0.0-beta.48", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-typeof-symbol/-/plugin-transform-typeof-symbol-7.0.0-beta.48.tgz", + "integrity": "sha512-oQZYsVherJCr6GGjHWd6hl0CLQB+H9C8QilqiTO98Uw5ng2TRw+UQi1JrjB2fZrGy819Uf11yu/K9OQ2CeF9nA==" }, "@babel/plugin-transform-unicode-regex": { - "version": "7.0.0-beta.47", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-unicode-regex/-/plugin-transform-unicode-regex-7.0.0-beta.47.tgz", - "integrity": "sha512-44nWn421tMVZ/A4+1uppzoAO7nrlwWzefMr9JUi5G+tXl0DLEtWy+F7L6zCVw19C4OAOA6WlolVro5CEs6g6AQ==" + "version": "7.0.0-beta.48", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-unicode-regex/-/plugin-transform-unicode-regex-7.0.0-beta.48.tgz", + "integrity": "sha512-dSNSPWnQIn4eMiu3rh2+sEShc7PjbNs+Da2dCoFg6q5cDqKG2D/9EDNMNSKhqXXCp91Y+Ju0G77xgslw3DU7zQ==" }, "@babel/preset-react": { - "version": "7.0.0-beta.47", - "resolved": "https://registry.npmjs.org/@babel/preset-react/-/preset-react-7.0.0-beta.47.tgz", - "integrity": "sha512-fK4B101W19JsOc8E/wqmQ8R7gE1+DQJqIWvpaQIXPHgW+27ezq2JP5j5IBCk+9OTz007l7se00kMvvtUcKQZwg==" + "version": "7.0.0-beta.48", + "resolved": "https://registry.npmjs.org/@babel/preset-react/-/preset-react-7.0.0-beta.48.tgz", + "integrity": "sha512-y96O9njnFUzEo31cQ0ZQ52veoOKSOmL71al/XfE/42IvTRdIIxIRtQr1YqcYbFOzFrL7MZtEkMqh5dDu+J6bXA==" }, "@babel/runtime": { - "version": "7.0.0-beta.47", - "resolved": "https://registry.npmjs.org/@babel/runtime/-/runtime-7.0.0-beta.47.tgz", - "integrity": "sha512-3IaakAC5B4bHJ0aCUKVw0pt+GruavdgWDFbf7TfKh7ZJ8yQuUp7af7MNwf3e+jH8776cjqYmMO1JNDDAE9WfrA==" + "version": "7.0.0-beta.48", + "resolved": "https://registry.npmjs.org/@babel/runtime/-/runtime-7.0.0-beta.48.tgz", + "integrity": "sha512-yzvAaV6DgvFtuhvTWCHKOxTJlrKK/G+Nkd6C84NCpXwGcUfVwRZFjqA+j/fCi1IWxkmDBFeCH+AtD33T+jE/JQ==" }, "@babel/template": { - "version": "7.0.0-beta.47", - "resolved": "https://registry.npmjs.org/@babel/template/-/template-7.0.0-beta.47.tgz", - "integrity": "sha512-mAzrOCLwOb4jAobHi0kTwIkoamP1Do28c6zxvrDXjYSJFZHz6KGuzMaT0AV7ZCq7M3si7QypVVMVX2bE6IsuOg==" + "version": "7.0.0-beta.48", + "resolved": "https://registry.npmjs.org/@babel/template/-/template-7.0.0-beta.48.tgz", + "integrity": "sha512-mFrSP6UZR02YGsqlnH/8IUENCnqs749RfujSGQ/CqeJYpeZ73PAJqk1Wg2khl+Huv4L4LW8dJh7qOQ/CBkRqEg==" }, "@babel/traverse": { - "version": "7.0.0-beta.47", - "resolved": "https://registry.npmjs.org/@babel/traverse/-/traverse-7.0.0-beta.47.tgz", - "integrity": "sha512-kYGGs//OnUnei+9TTldxlgf7llprj7VUeDKtG50+g+0k1g0yZyrkEgbyFheYFdnudR8IDEHOEXVsUuY82r5Aiw==" + "version": "7.0.0-beta.48", + "resolved": "https://registry.npmjs.org/@babel/traverse/-/traverse-7.0.0-beta.48.tgz", + "integrity": "sha512-lXNTgDIFj6xyzapkpvSvqFC8x7g+sw4SzxGVLKjSbX5rK1GK7YH2XXMHii1e6yhfscfC+ski36yH23z8m9r2fQ==" }, "@babel/types": { - "version": "7.0.0-beta.47", - "resolved": "https://registry.npmjs.org/@babel/types/-/types-7.0.0-beta.47.tgz", - "integrity": "sha512-MOP5pOosg7JETrVGg8OQyzmUmbyoSopT5j2HlblHsto89mPz3cmxzn1IA4UNUmnWKgeticSwfhS+Gdy25IIlBQ==" + "version": "7.0.0-beta.48", + "resolved": "https://registry.npmjs.org/@babel/types/-/types-7.0.0-beta.48.tgz", + "integrity": "sha512-h37aY8aUmTMEDEaPrNwmYmwSTjf7SvJ4h8jCljaHOSq3785TZSZnxdCsNDVs+fKK21lOPh9X29rvOLTOwxgVmw==" }, "acorn": { "version": "5.5.3", @@ -447,9 +452,9 @@ "integrity": "sha512-NiOvvA9Pq6bki6nP4BayXwT5GZadw7DJFDDzHmkpnOQpENWe8RtHtKZM44MG1R6EQ5XxgbLdsdhswIzTkFlO5g==" }, "babel-plugin-transform-es2015-modules-reify": { - "version": "0.15.1", - "resolved": "https://registry.npmjs.org/babel-plugin-transform-es2015-modules-reify/-/babel-plugin-transform-es2015-modules-reify-0.15.1.tgz", - "integrity": "sha512-QO76PVHIApDp3afwjk+VMpymKZhUeo3tZg/b2ND8g8C859h4xaNPdx6QguxrGaf2ch3IsbbcbcgVseIbIHh+MA==" + "version": "0.16.0", + "resolved": "https://registry.npmjs.org/babel-plugin-transform-es2015-modules-reify/-/babel-plugin-transform-es2015-modules-reify-0.16.0.tgz", + "integrity": "sha512-c0DTHJdkXGE/PcJbPzG9vQ3QEP4kMjoLzs77ulMA7y9iagvsPmmH27PtZGEryubGG/Kiywh9H/JXGovgF+9hig==" }, "babel-plugin-transform-inline-consecutive-adds": { "version": "0.2.0", @@ -507,20 +512,15 @@ "integrity": "sha1-viQcqBQEAwZ4t0hxcyK4nQyP4oA=" }, "babel-preset-meteor": { - "version": "7.0.0-beta.47", - "resolved": "https://registry.npmjs.org/babel-preset-meteor/-/babel-preset-meteor-7.0.0-beta.47.tgz", - "integrity": "sha512-zetJHoXeXt8UwWnmO9vC+pKBqMaBHXzxSXTSh/KJ6qEFxDOmFv/mxtFenb1XAUuvYeLo07natxuYJR+Tw0mLVQ==" + "version": "7.0.0-beta.48", + "resolved": "https://registry.npmjs.org/babel-preset-meteor/-/babel-preset-meteor-7.0.0-beta.48.tgz", + "integrity": "sha512-0ezZUD6b+/3pz5kbqu9GbrTT5u/2dFIscV7QseyilSVH/i/+5VqBWbTX+zf6YqWnit4kLUw7lSNwQY/UIYOqLA==" }, "babel-preset-minify": { "version": "0.2.0", "resolved": "https://registry.npmjs.org/babel-preset-minify/-/babel-preset-minify-0.2.0.tgz", "integrity": "sha512-mR8Q44RmMzm18bM2Lqd9uiPopzk5GDCtVuquNbLFmX6lOKnqWoenaNBxnWW0UhBFC75lEHTIgNGCbnsRI0pJVw==" }, - "babylon": { - "version": "7.0.0-beta.47", - "resolved": "https://registry.npmjs.org/babylon/-/babylon-7.0.0-beta.47.tgz", - "integrity": "sha512-+rq2cr4GDhtToEzKFD6KZZMDBXhjFAr9JjPw9pAppZACeEWqNM294j+NdBzkSHYXwzzBmVjZ3nEVJlOhbR2gOQ==" - }, "braces": { "version": "1.8.5", "resolved": "https://registry.npmjs.org/braces/-/braces-1.8.5.tgz", @@ -727,9 +727,9 @@ "integrity": "sha1-izqsWIuKZuSXXjzepn97sylgH6w=" }, "meteor-babel": { - "version": "7.0.0-beta.47", - "resolved": "https://registry.npmjs.org/meteor-babel/-/meteor-babel-7.0.0-beta.47.tgz", - "integrity": "sha512-XB/hPb20nkHGAWQKKOwZu1g1+nj6awn8IayYp3yl/ClKiZl7H1dyJn6w954MuN1qVK22EoLwIphAcIRrXyOnFg==" + "version": "7.0.0-beta.48", + "resolved": "https://registry.npmjs.org/meteor-babel/-/meteor-babel-7.0.0-beta.48.tgz", + "integrity": "sha512-iMXSp/jdZa3PT48SUCZpdzS/rFRWLDifj99ffAzTZTFdGlLEIQh/7iXH/nQ9J/+bsUl+frOyHm2XT++G13EwHQ==" }, "meteor-babel-helpers": { "version": "0.0.3", @@ -841,9 +841,9 @@ } }, "reify": { - "version": "0.15.1", - "resolved": "https://registry.npmjs.org/reify/-/reify-0.15.1.tgz", - "integrity": "sha512-XUIO34oFNXyb8cYRw3eVN0oqD3LwxaBFml5cHZf3Uiw6v+pfPB0D7kxKCdBjvaa1cneDtUqqQ94MPQkJt2kEWg==" + "version": "0.16.1", + "resolved": "https://registry.npmjs.org/reify/-/reify-0.16.1.tgz", + "integrity": "sha512-5YhFQFLT3DvDxIxtc//2cxMyWsqWKm9SeqMYrccXMcpL5VOaj697xfc9bK5w3x9xo/01P7KlHVNF+vwgL5zq3A==" }, "remove-trailing-separator": { "version": "1.1.0", diff --git a/packages/babel-compiler/package.js b/packages/babel-compiler/package.js index 685fc42a6c..1258634309 100644 --- a/packages/babel-compiler/package.js +++ b/packages/babel-compiler/package.js @@ -10,7 +10,7 @@ Package.describe({ }); Npm.depends({ - 'meteor-babel': '7.0.0-beta.47' + 'meteor-babel': '7.0.0-beta.48' }); Package.onUse(function (api) { diff --git a/packages/modules/.npm/package/npm-shrinkwrap.json b/packages/modules/.npm/package/npm-shrinkwrap.json index 0453702e22..2b489b7f19 100644 --- a/packages/modules/.npm/package/npm-shrinkwrap.json +++ b/packages/modules/.npm/package/npm-shrinkwrap.json @@ -7,9 +7,9 @@ "integrity": "sha512-jd5MkIUlbbmb07nXH0DT3y7rDVtkzDi4XZOUVWAer8ajmF/DTSSbl5oNFyDOl/OXA33Bl79+ypHhl2pN20VeOQ==" }, "reify": { - "version": "0.15.1", - "resolved": "https://registry.npmjs.org/reify/-/reify-0.15.1.tgz", - "integrity": "sha512-XUIO34oFNXyb8cYRw3eVN0oqD3LwxaBFml5cHZf3Uiw6v+pfPB0D7kxKCdBjvaa1cneDtUqqQ94MPQkJt2kEWg==" + "version": "0.16.1", + "resolved": "https://registry.npmjs.org/reify/-/reify-0.16.1.tgz", + "integrity": "sha512-5YhFQFLT3DvDxIxtc//2cxMyWsqWKm9SeqMYrccXMcpL5VOaj697xfc9bK5w3x9xo/01P7KlHVNF+vwgL5zq3A==" }, "semver": { "version": "5.5.0", diff --git a/packages/modules/package.js b/packages/modules/package.js index d8bb3d5c95..460323c564 100644 --- a/packages/modules/package.js +++ b/packages/modules/package.js @@ -1,12 +1,12 @@ Package.describe({ name: "modules", - version: "0.11.7", + version: "0.12.0", summary: "CommonJS module system", documentation: "README.md" }); Npm.depends({ - reify: "0.15.1" + reify: "0.16.1" }); Package.onUse(function(api) { diff --git a/scripts/dev-bundle-tool-package.js b/scripts/dev-bundle-tool-package.js index 799ddd1541..3c9649d505 100644 --- a/scripts/dev-bundle-tool-package.js +++ b/scripts/dev-bundle-tool-package.js @@ -14,13 +14,13 @@ var packageJson = { pacote: "https://github.com/meteor/pacote/tarball/2c16c509074bbba8ca5dd410caf808412ce79e6c", "node-gyp": "3.6.2", "node-pre-gyp": "0.6.36", - "meteor-babel": "7.0.0-beta.47", + "meteor-babel": "7.0.0-beta.48", "meteor-promise": "0.8.6", promise: "8.0.1", - reify: "0.15.1", + reify: "0.16.1", fibers: "2.0.0", // So that Babel can emit require("@babel/runtime/helpers/...") calls. - "@babel/runtime": "7.0.0-beta.47", + "@babel/runtime": "7.0.0-beta.48", // For backwards compatibility with isopackets that still depend on // babel-runtime rather than @babel/runtime. "babel-runtime": "7.0.0-beta.3", From f5d5c85aa3776484d1e85f6dd7201f4b34434f2e Mon Sep 17 00:00:00 2001 From: Ben Newman Date: Thu, 24 May 2018 22:39:25 -0400 Subject: [PATCH 0910/1355] Bump $BUNDLE_VERSION to 8.11.2.7 before rebuilding dev bundle. --- meteor | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/meteor b/meteor index f40785882f..9f4455180f 100755 --- a/meteor +++ b/meteor @@ -1,6 +1,6 @@ #!/usr/bin/env bash -BUNDLE_VERSION=8.11.2.6 +BUNDLE_VERSION=8.11.2.7 # OS Check. Put here because here is where we download the precompiled # bundles that are arch specific. From 71b9241611dda3e00b4b1e3684a35a837d87731f Mon Sep 17 00:00:00 2001 From: Ben Newman Date: Thu, 24 May 2018 23:01:08 -0400 Subject: [PATCH 0911/1355] Revert "Use legacy workaround for @babel/runtime/helpers/inheritsLoose." This reverts commit 8bfdea712a758fea369da7bed18eeeb9f74b567a. As clever as this IE10 hack may have been, it should no longer be necessary, thanks to https://github.com/babel/babel/pull/7969. cc @abernix @hwillson --- packages/babel-runtime/legacy.js | 53 ------------------------------- packages/babel-runtime/package.js | 3 +- 2 files changed, 1 insertion(+), 55 deletions(-) delete mode 100644 packages/babel-runtime/legacy.js diff --git a/packages/babel-runtime/legacy.js b/packages/babel-runtime/legacy.js deleted file mode 100644 index e9973cb1b5..0000000000 --- a/packages/babel-runtime/legacy.js +++ /dev/null @@ -1,53 +0,0 @@ -// This module contains various legacy workarounds for @babel/runtime issues -// in older browsers. Note that this module is loaded only in legacy -// environments, and no changes are made unless they are necessary. - -var hasOwn = Object.prototype.hasOwnProperty; -var helpers = {}; - -function assign(into, from) { - Object.keys(from).forEach(function (key) { - if (! hasOwn.call(into, key)) { - into[key] = from[key]; - } - }); - return into; -} - -var obj = {}; -obj.__proto__ = { test: obj }; -var canSetProto = obj.test === obj; - -if (! canSetProto) { - // Browsers that don't allow setting __proto__ (and also do not support - // Object.setPrototypeOf) cannot use the inheritsLoose @babel/runtime - // helper module, so we replace it with a similar module that works - // infinitely better in older browsers. - helpers.inheritsLoose = function (require, exports, module) { - module.exports = function (subclass, superclass) { - subclass.prototype = assign( - Object.create(superclass.prototype), - subclass.prototype - ); - // This isn't true static inheritance, since static properties added - // to or removed from the superclass later will not be reflected on - // the subclass, but this approximation is the best that we can do. - assign(subclass, superclass); - }; - }; -} - -// Install @babel/runtime/helpers/... modules that will take precedence -// over the actual modules, regardless of which gets installed first, -// because these replacement modules don't have a .js file extension. -if (Object.keys(helpers).length > 0) { - meteorInstall({ - node_modules: { - "@babel": { - runtime: { - helpers: helpers - } - } - } - }); -} diff --git a/packages/babel-runtime/package.js b/packages/babel-runtime/package.js index b65f2f8a0c..1bb76b6b99 100644 --- a/packages/babel-runtime/package.js +++ b/packages/babel-runtime/package.js @@ -1,7 +1,7 @@ Package.describe({ name: "babel-runtime", summary: "Runtime support for output of Babel transpiler", - version: '1.3.0-rc17.11', + version: '1.2.2', documentation: 'README.md' }); @@ -12,6 +12,5 @@ Npm.depends({ Package.onUse(function (api) { api.use("modules"); api.mainModule("babel-runtime.js"); - api.addFiles("legacy.js", "legacy"); api.export("meteorBabelHelpers"); }); From 5ac27341f7edacc63c5e33a9426091288e3413b8 Mon Sep 17 00:00:00 2001 From: Ben Newman Date: Thu, 24 May 2018 23:04:42 -0400 Subject: [PATCH 0912/1355] Update @babel/runtime for new app skeletons to 7.0.0-beta.48. --- tools/static-assets/skel-bare/package.json | 2 +- tools/static-assets/skel-full/package.json | 2 +- tools/static-assets/skel-minimal/package.json | 2 +- tools/static-assets/skel/package.json | 2 +- 4 files changed, 4 insertions(+), 4 deletions(-) diff --git a/tools/static-assets/skel-bare/package.json b/tools/static-assets/skel-bare/package.json index 39925a4efc..2e37aabef5 100644 --- a/tools/static-assets/skel-bare/package.json +++ b/tools/static-assets/skel-bare/package.json @@ -5,7 +5,7 @@ "start": "meteor run" }, "dependencies": { - "@babel/runtime": "^7.0.0-beta.47", + "@babel/runtime": "^7.0.0-beta.48", "meteor-node-stubs": "^0.4.1" } } diff --git a/tools/static-assets/skel-full/package.json b/tools/static-assets/skel-full/package.json index d5d7aa76ad..fd879eaf31 100644 --- a/tools/static-assets/skel-full/package.json +++ b/tools/static-assets/skel-full/package.json @@ -6,7 +6,7 @@ "test": "meteor test --once --driver-package meteortesting:mocha" }, "dependencies": { - "@babel/runtime": "^7.0.0-beta.47", + "@babel/runtime": "^7.0.0-beta.48", "meteor-node-stubs": "^0.4.1" }, "devDependencies": { diff --git a/tools/static-assets/skel-minimal/package.json b/tools/static-assets/skel-minimal/package.json index 64c3c34f90..bd24b879b6 100644 --- a/tools/static-assets/skel-minimal/package.json +++ b/tools/static-assets/skel-minimal/package.json @@ -8,7 +8,7 @@ "visualize": "meteor --production --extra-packages bundle-visualizer" }, "dependencies": { - "@babel/runtime": "^7.0.0-beta.47", + "@babel/runtime": "^7.0.0-beta.48", "meteor-node-stubs": "^0.4.1" }, "meteor": { diff --git a/tools/static-assets/skel/package.json b/tools/static-assets/skel/package.json index 64c3c34f90..bd24b879b6 100644 --- a/tools/static-assets/skel/package.json +++ b/tools/static-assets/skel/package.json @@ -8,7 +8,7 @@ "visualize": "meteor --production --extra-packages bundle-visualizer" }, "dependencies": { - "@babel/runtime": "^7.0.0-beta.47", + "@babel/runtime": "^7.0.0-beta.48", "meteor-node-stubs": "^0.4.1" }, "meteor": { From 35da297e02668c8a22790991d9ed7afafbfaf95e Mon Sep 17 00:00:00 2001 From: Ben Newman Date: Thu, 24 May 2018 23:15:26 -0400 Subject: [PATCH 0913/1355] Bump package versions for 1.7-rc.12 release. --- packages/appcache/package.js | 2 +- packages/babel-compiler/package.js | 2 +- packages/boilerplate-generator-tests/package.js | 2 +- packages/boilerplate-generator/package.js | 2 +- packages/ddp-server/package.js | 2 +- packages/dynamic-import/package.js | 2 +- packages/ecmascript-runtime-client/package.js | 2 +- packages/ecmascript-runtime-server/package.js | 2 +- packages/ecmascript-runtime/package.js | 2 +- packages/ecmascript/package.js | 2 +- packages/es5-shim/package.js | 2 +- packages/facebook-oauth/package.js | 2 +- packages/meteor-base/package.js | 2 +- packages/meteor-tool/package.js | 2 +- packages/meteor/package.js | 2 +- packages/modern-browsers/package.js | 2 +- packages/modules-runtime/package.js | 2 +- packages/modules/package.js | 2 +- packages/mongo/package.js | 2 +- packages/npm-mongo/package.js | 2 +- packages/promise/package.js | 2 +- packages/socket-stream-client/package.js | 2 +- packages/test-helpers/package.js | 2 +- packages/tracker/package.js | 2 +- packages/webapp/package.js | 2 +- scripts/admin/meteor-release-experimental.json | 2 +- 26 files changed, 26 insertions(+), 26 deletions(-) diff --git a/packages/appcache/package.js b/packages/appcache/package.js index e0f34d774d..0e320b43e0 100644 --- a/packages/appcache/package.js +++ b/packages/appcache/package.js @@ -1,6 +1,6 @@ Package.describe({ summary: "Enable the application cache in the browser", - version: "1.2.0-rc17.11", + version: "1.2.0-rc17.12", }); Package.onUse(api => { diff --git a/packages/babel-compiler/package.js b/packages/babel-compiler/package.js index 1258634309..c2834f3b31 100644 --- a/packages/babel-compiler/package.js +++ b/packages/babel-compiler/package.js @@ -6,7 +6,7 @@ Package.describe({ // isn't possible because you can't publish a non-recommended // release with package versions that don't have a pre-release // identifier at the end (eg, -dev) - version: '7.1.0-rc17.11' + version: '7.1.0-rc17.12' }); Npm.depends({ diff --git a/packages/boilerplate-generator-tests/package.js b/packages/boilerplate-generator-tests/package.js index b0aa19b245..9b57759731 100644 --- a/packages/boilerplate-generator-tests/package.js +++ b/packages/boilerplate-generator-tests/package.js @@ -2,7 +2,7 @@ Package.describe({ // These tests are in a separate package so that we can Npm.depend on // parse5, a html parsing library. summary: "Tests for the boilerplate-generator package", - version: '1.5.0-rc17.11', + version: '1.5.0-rc17.12', documentation: null }); diff --git a/packages/boilerplate-generator/package.js b/packages/boilerplate-generator/package.js index edc57de3be..894dfa6e33 100644 --- a/packages/boilerplate-generator/package.js +++ b/packages/boilerplate-generator/package.js @@ -1,6 +1,6 @@ Package.describe({ summary: "Generates the boilerplate html from program's manifest", - version: '1.5.0-rc17.11' + version: '1.5.0-rc17.12' }); Npm.depends({ diff --git a/packages/ddp-server/package.js b/packages/ddp-server/package.js index 9ad10e6a73..c47c30a72c 100644 --- a/packages/ddp-server/package.js +++ b/packages/ddp-server/package.js @@ -1,6 +1,6 @@ Package.describe({ summary: "Meteor's latency-compensated distributed data server", - version: '2.2.0-rc17.11', + version: '2.2.0-rc17.12', documentation: null }); diff --git a/packages/dynamic-import/package.js b/packages/dynamic-import/package.js index 669374a9ee..d941fb95af 100644 --- a/packages/dynamic-import/package.js +++ b/packages/dynamic-import/package.js @@ -1,6 +1,6 @@ Package.describe({ name: "dynamic-import", - version: "0.4.0-rc17.11", + version: "0.4.0-rc17.12", summary: "Runtime support for Meteor 1.5 dynamic import(...) syntax", documentation: "README.md" }); diff --git a/packages/ecmascript-runtime-client/package.js b/packages/ecmascript-runtime-client/package.js index 1229769f58..0af3223f73 100644 --- a/packages/ecmascript-runtime-client/package.js +++ b/packages/ecmascript-runtime-client/package.js @@ -1,6 +1,6 @@ Package.describe({ name: "ecmascript-runtime-client", - version: "0.7.0-rc17.11", + version: "0.7.0-rc17.12", summary: "Polyfills for new ECMAScript 2015 APIs like Map and Set", git: "https://github.com/meteor/meteor/tree/devel/packages/ecmascript-runtime-client", documentation: "README.md" diff --git a/packages/ecmascript-runtime-server/package.js b/packages/ecmascript-runtime-server/package.js index 35c9bae58b..96581b4445 100644 --- a/packages/ecmascript-runtime-server/package.js +++ b/packages/ecmascript-runtime-server/package.js @@ -1,6 +1,6 @@ Package.describe({ name: "ecmascript-runtime-server", - version: "0.7.0-rc17.11", + version: "0.7.0-rc17.12", summary: "Polyfills for new ECMAScript 2015 APIs like Map and Set", git: "https://github.com/meteor/meteor/tree/devel/packages/ecmascript-runtime-client", documentation: "README.md" diff --git a/packages/ecmascript-runtime/package.js b/packages/ecmascript-runtime/package.js index 4f572a9c51..9579f27ca3 100644 --- a/packages/ecmascript-runtime/package.js +++ b/packages/ecmascript-runtime/package.js @@ -1,6 +1,6 @@ Package.describe({ name: "ecmascript-runtime", - version: "0.7.0-rc17.11", + version: "0.7.0-rc17.12", summary: "Polyfills for new ECMAScript 2015 APIs like Map and Set", git: "https://github.com/meteor/ecmascript-runtime", documentation: "README.md" diff --git a/packages/ecmascript/package.js b/packages/ecmascript/package.js index 8ea0182198..3786712170 100644 --- a/packages/ecmascript/package.js +++ b/packages/ecmascript/package.js @@ -1,6 +1,6 @@ Package.describe({ name: 'ecmascript', - version: '0.11.0-rc17.11', + version: '0.11.0-rc17.12', summary: 'Compiler plugin that supports ES2015+ in all .js files', documentation: 'README.md' }); diff --git a/packages/es5-shim/package.js b/packages/es5-shim/package.js index 785cbac300..3d00be89c0 100644 --- a/packages/es5-shim/package.js +++ b/packages/es5-shim/package.js @@ -1,6 +1,6 @@ Package.describe({ name: "es5-shim", - version: "4.8.0-rc17.11", + version: "4.8.0-rc17.12", summary: "Shims and polyfills to improve ECMAScript 5 support", documentation: "README.md" }); diff --git a/packages/facebook-oauth/package.js b/packages/facebook-oauth/package.js index 41d2a51571..97c389e3ae 100644 --- a/packages/facebook-oauth/package.js +++ b/packages/facebook-oauth/package.js @@ -1,6 +1,6 @@ Package.describe({ summary: "Facebook OAuth flow", - version: "1.5.0-rc17.11" + version: "1.5.0-rc17.12" }); Package.onUse(function(api) { diff --git a/packages/meteor-base/package.js b/packages/meteor-base/package.js index a9f9c37c58..222424d853 100644 --- a/packages/meteor-base/package.js +++ b/packages/meteor-base/package.js @@ -1,6 +1,6 @@ Package.describe({ name: 'meteor-base', - version: '1.4.0-rc17.11', + version: '1.4.0-rc17.12', // Brief, one-line summary of the package. summary: 'Packages that every Meteor app needs', // By default, Meteor will default to using README.md for documentation. diff --git a/packages/meteor-tool/package.js b/packages/meteor-tool/package.js index 89e6aee521..5a7b2bdbe9 100644 --- a/packages/meteor-tool/package.js +++ b/packages/meteor-tool/package.js @@ -1,6 +1,6 @@ Package.describe({ summary: "The Meteor command-line tool", - version: '1.7.0-rc.11' + version: '1.7.0-rc.12' }); Package.includeTool(); diff --git a/packages/meteor/package.js b/packages/meteor/package.js index 23412d2ada..11fedf7ce2 100644 --- a/packages/meteor/package.js +++ b/packages/meteor/package.js @@ -2,7 +2,7 @@ Package.describe({ summary: "Core Meteor environment", - version: '1.9.0-rc17.11' + version: '1.9.0-rc17.12' }); Package.registerBuildPlugin({ diff --git a/packages/modern-browsers/package.js b/packages/modern-browsers/package.js index 6a5bc04194..834b6e1b63 100644 --- a/packages/modern-browsers/package.js +++ b/packages/modern-browsers/package.js @@ -1,6 +1,6 @@ Package.describe({ name: "modern-browsers", - version: "0.1.0-rc17.11", + version: "0.1.0-rc17.12", summary: "API for defining the boundary between modern and legacy " + "JavaScript clients", documentation: "README.md" diff --git a/packages/modules-runtime/package.js b/packages/modules-runtime/package.js index 6d0901a0f1..f4a03ca7f5 100644 --- a/packages/modules-runtime/package.js +++ b/packages/modules-runtime/package.js @@ -1,6 +1,6 @@ Package.describe({ name: "modules-runtime", - version: "0.10.0-rc17.11", + version: "0.10.0-rc17.12", summary: "CommonJS module system", git: "https://github.com/benjamn/install", documentation: "README.md" diff --git a/packages/modules/package.js b/packages/modules/package.js index 460323c564..40a775e808 100644 --- a/packages/modules/package.js +++ b/packages/modules/package.js @@ -1,6 +1,6 @@ Package.describe({ name: "modules", - version: "0.12.0", + version: "0.12.0-rc17.12", summary: "CommonJS module system", documentation: "README.md" }); diff --git a/packages/mongo/package.js b/packages/mongo/package.js index c9ba38aa4b..44c590f9cc 100644 --- a/packages/mongo/package.js +++ b/packages/mongo/package.js @@ -9,7 +9,7 @@ Package.describe({ summary: "Adaptor for using MongoDB and Minimongo over DDP", - version: '1.5.0-rc17.11' + version: '1.5.0-rc17.12' }); Npm.depends({ diff --git a/packages/npm-mongo/package.js b/packages/npm-mongo/package.js index 607d25381a..cd57130937 100644 --- a/packages/npm-mongo/package.js +++ b/packages/npm-mongo/package.js @@ -3,7 +3,7 @@ Package.describe({ summary: "Wrapper around the mongo npm package", - version: "3.0.7-rc17.11", + version: "3.0.7-rc17.12", documentation: null }); diff --git a/packages/promise/package.js b/packages/promise/package.js index 5bd81e7f1c..c22f6a04f0 100644 --- a/packages/promise/package.js +++ b/packages/promise/package.js @@ -1,6 +1,6 @@ Package.describe({ name: "promise", - version: "0.11.0-rc17.11", + version: "0.11.0-rc17.12", summary: "ECMAScript 2015 Promise polyfill with Fiber support", git: "https://github.com/meteor/promise", documentation: "README.md" diff --git a/packages/socket-stream-client/package.js b/packages/socket-stream-client/package.js index d3f12ed279..a24a1d6876 100644 --- a/packages/socket-stream-client/package.js +++ b/packages/socket-stream-client/package.js @@ -1,6 +1,6 @@ Package.describe({ name: "socket-stream-client", - version: "0.2.0-rc17.11", + version: "0.2.0-rc17.12", summary: "Provides the ClientStream abstraction used by ddp-client", documentation: "README.md" }); diff --git a/packages/test-helpers/package.js b/packages/test-helpers/package.js index c0f90a2402..2c8f49652d 100644 --- a/packages/test-helpers/package.js +++ b/packages/test-helpers/package.js @@ -1,6 +1,6 @@ Package.describe({ summary: "Utility functions for tests", - version: '1.1.0-rc17.11' + version: '1.1.0-rc17.12' }); Package.onUse(function (api) { diff --git a/packages/tracker/package.js b/packages/tracker/package.js index b9c43e9bf8..4c462d599f 100644 --- a/packages/tracker/package.js +++ b/packages/tracker/package.js @@ -1,6 +1,6 @@ Package.describe({ summary: "Dependency tracker to allow reactive callbacks", - version: "1.2.0-rc17.11" + version: "1.2.0-rc17.12" }); Package.onUse(function (api) { diff --git a/packages/webapp/package.js b/packages/webapp/package.js index a05f496a75..5f1449e6c8 100644 --- a/packages/webapp/package.js +++ b/packages/webapp/package.js @@ -1,6 +1,6 @@ Package.describe({ summary: "Serves a Meteor app over HTTP", - version: '1.6.0-rc17.11' + version: '1.6.0-rc17.12' }); Npm.depends({"basic-auth-connect": "1.0.0", diff --git a/scripts/admin/meteor-release-experimental.json b/scripts/admin/meteor-release-experimental.json index 475e1b9053..2fa29b964f 100644 --- a/scripts/admin/meteor-release-experimental.json +++ b/scripts/admin/meteor-release-experimental.json @@ -1,6 +1,6 @@ { "track": "METEOR", - "version": "1.7-rc.11", + "version": "1.7-rc.12", "recommended": false, "official": false, "description": "Meteor" From 7da131b3a61f6f6f9f64db38a3d02ef665bf017c Mon Sep 17 00:00:00 2001 From: Ben Newman Date: Thu, 24 May 2018 23:49:49 -0400 Subject: [PATCH 0914/1355] Update meteor-babel to 7.0.0-beta.48 and reify to 0.16.1. https://github.com/meteor/meteor/issues/9905#issuecomment-391932408 Should fix #9905. --- .../.npm/package/npm-shrinkwrap.json | 568 +++++++++--------- packages/babel-compiler/package.js | 4 +- packages/ecmascript/package.js | 2 +- .../modules/.npm/package/npm-shrinkwrap.json | 6 +- packages/modules/package.js | 4 +- 5 files changed, 291 insertions(+), 293 deletions(-) diff --git a/packages/babel-compiler/.npm/package/npm-shrinkwrap.json b/packages/babel-compiler/.npm/package/npm-shrinkwrap.json index ac4aa8dfe1..0611ef7f80 100644 --- a/packages/babel-compiler/.npm/package/npm-shrinkwrap.json +++ b/packages/babel-compiler/.npm/package/npm-shrinkwrap.json @@ -2,334 +2,339 @@ "lockfileVersion": 1, "dependencies": { "@babel/code-frame": { - "version": "7.0.0-beta.46", - "resolved": "https://registry.npmjs.org/@babel/code-frame/-/code-frame-7.0.0-beta.46.tgz", - "integrity": "sha512-7BKRkmYaPZm3Yff5HGZJKCz7RqZ5jUjknsXT6Gz5YKG23J3uq9hAj0epncCB0rlqmnZ8Q+UUpQB2tCR5mT37vw==" + "version": "7.0.0-beta.48", + "resolved": "https://registry.npmjs.org/@babel/code-frame/-/code-frame-7.0.0-beta.48.tgz", + "integrity": "sha512-zwyam2DrinaJfhmCaajZT2yRCoN3cE8dwW7uVWaHay9z2Dwn9Pidnekkz9g7kXbg2qfVqmgDKeUTVZ4+bMlfZA==" }, "@babel/core": { - "version": "7.0.0-beta.46", - "resolved": "https://registry.npmjs.org/@babel/core/-/core-7.0.0-beta.46.tgz", - "integrity": "sha512-lCDbBSAhNAt+nL98xbgWmuhgrIxKvbvFHf73zlNCuXCHJkdlo7qzTofYK0ZWb+OVce8fQ17fC7DwTIhAwowzMw==" + "version": "7.0.0-beta.48", + "resolved": "https://registry.npmjs.org/@babel/core/-/core-7.0.0-beta.48.tgz", + "integrity": "sha512-IDgOf/eKZjsW2Hz+/tXph1AczBe4MPWo53Eno5XKM68u7t3N86BMqdRQB8RctfDEhAww7EqB80CBFr7iWMDkqA==" }, "@babel/generator": { - "version": "7.0.0-beta.46", - "resolved": "https://registry.npmjs.org/@babel/generator/-/generator-7.0.0-beta.46.tgz", - "integrity": "sha512-5VfaEVkPG0gpNSTcf70jvV+MjbMoNn4g2iluwM7MhciedkolEtmG7PcdoUj5W1EmMfngz5cF65V7UMZXJO6y8Q==" + "version": "7.0.0-beta.48", + "resolved": "https://registry.npmjs.org/@babel/generator/-/generator-7.0.0-beta.48.tgz", + "integrity": "sha512-RPS4dHg3wVmivvMIHW9N/ZHPZ5vc7runskURDqz3xamcFlUXSVxoziaS9VOJeivKXGzFPqr/wY03u9wDc+4A1g==" }, "@babel/helper-annotate-as-pure": { - "version": "7.0.0-beta.46", - "resolved": "https://registry.npmjs.org/@babel/helper-annotate-as-pure/-/helper-annotate-as-pure-7.0.0-beta.46.tgz", - "integrity": "sha512-ej5W347ghJF1p2TM3VcEyds1+o1uy1apaQcHrYFJPus2xCgn5KkHPkBGf+6euLfFaQDtB+eWPVKjiZx/hpYXvA==" + "version": "7.0.0-beta.48", + "resolved": "https://registry.npmjs.org/@babel/helper-annotate-as-pure/-/helper-annotate-as-pure-7.0.0-beta.48.tgz", + "integrity": "sha512-LBldrgCApkHFwwtMJC2P2MeH+09+vPVj3Gs+mltqSpY+LyowjjUmqLUcmrF+Kj/gmRY/DqGAbvZWwNlNDs6dGQ==" }, "@babel/helper-builder-binary-assignment-operator-visitor": { - "version": "7.0.0-beta.46", - "resolved": "https://registry.npmjs.org/@babel/helper-builder-binary-assignment-operator-visitor/-/helper-builder-binary-assignment-operator-visitor-7.0.0-beta.46.tgz", - "integrity": "sha512-ZCQ62KqFC5R3NPe5ug9pVqIHYJNup8UdEbE4IXw+s7zr4D/7AsKSt3pXA+FbML5AnQXeCSOuUWioggGmKuDV5g==" + "version": "7.0.0-beta.48", + "resolved": "https://registry.npmjs.org/@babel/helper-builder-binary-assignment-operator-visitor/-/helper-builder-binary-assignment-operator-visitor-7.0.0-beta.48.tgz", + "integrity": "sha512-VBAT5LjhWATA/s+R0yjqthw27fzkAALoqIMf5zcyWq2GaBrAt8+Fwtj4KaWwS/linJDMEekC/ehb++wJOtVgiQ==" }, "@babel/helper-builder-react-jsx": { - "version": "7.0.0-beta.46", - "resolved": "https://registry.npmjs.org/@babel/helper-builder-react-jsx/-/helper-builder-react-jsx-7.0.0-beta.46.tgz", - "integrity": "sha512-4xakEEfimusXNgpSY6rP7robwRcnv1E8OxjkYSfsZCYsomFwN7RXU5S29vGWzxE37Yua4yTFqBwId9lwF84Hzw==" + "version": "7.0.0-beta.48", + "resolved": "https://registry.npmjs.org/@babel/helper-builder-react-jsx/-/helper-builder-react-jsx-7.0.0-beta.48.tgz", + "integrity": "sha512-8xE7DEoa7EKvGYlad2tE2hvf8eD/FsqsymFWwxV00P/c0EAWFcRK/Ky5H5fnwwurgNVEDo169DpYlbfiSskQEQ==" }, "@babel/helper-call-delegate": { - "version": "7.0.0-beta.46", - "resolved": "https://registry.npmjs.org/@babel/helper-call-delegate/-/helper-call-delegate-7.0.0-beta.46.tgz", - "integrity": "sha512-7nhBu/MBlpvZLQsmw/C7VxN14wph+yp+1yxzPEd2oTsHg3oA73tHyguQ6wbtkw+9f1AZtP7ZJCLQ+nGLprF4Fw==" + "version": "7.0.0-beta.48", + "resolved": "https://registry.npmjs.org/@babel/helper-call-delegate/-/helper-call-delegate-7.0.0-beta.48.tgz", + "integrity": "sha512-5uL0AOimonrxooSH3d8G7doJCppYU6xYEP8/ii1PllpAkdepWu0RuCI6P+xFGARCUeLm8Bpgzz00g+w4Xxb8cQ==" }, "@babel/helper-define-map": { - "version": "7.0.0-beta.46", - "resolved": "https://registry.npmjs.org/@babel/helper-define-map/-/helper-define-map-7.0.0-beta.46.tgz", - "integrity": "sha512-rhi59ZVj+bhrgxqLi9VQmQOadcK9rLCArY8zqyjPNjDIsCurCwtQztRWhlz6CwBEhE9FO/KbSa9OFQm7Kobk+w==" + "version": "7.0.0-beta.48", + "resolved": "https://registry.npmjs.org/@babel/helper-define-map/-/helper-define-map-7.0.0-beta.48.tgz", + "integrity": "sha512-xYUOjKHrD7/B6OW3wNHgVQVrE7PdV3gFUQjHhPILC6DyIN1w7WehRe/ZKObB9upbaIkVq4VTdz/Do+3VQOicxA==" }, "@babel/helper-explode-assignable-expression": { - "version": "7.0.0-beta.46", - "resolved": "https://registry.npmjs.org/@babel/helper-explode-assignable-expression/-/helper-explode-assignable-expression-7.0.0-beta.46.tgz", - "integrity": "sha512-SW1OUmx2fC2SqL7+vF1N72FITbPuEWGdr/Gm7I3Vqs8p8T1dfGwB9YFsD+tTpfagKXVMiCCuQ06+G0FB8uxg6Q==" + "version": "7.0.0-beta.48", + "resolved": "https://registry.npmjs.org/@babel/helper-explode-assignable-expression/-/helper-explode-assignable-expression-7.0.0-beta.48.tgz", + "integrity": "sha512-HdKAuJM3KNwnzINIpLfvvJGu/k2EyTzvPiHXn+sEd3jfRByQU1yK2IKEEN1oJn4XPoC1OOLSYnyJbPkQnIjhXA==" }, "@babel/helper-function-name": { - "version": "7.0.0-beta.46", - "resolved": "https://registry.npmjs.org/@babel/helper-function-name/-/helper-function-name-7.0.0-beta.46.tgz", - "integrity": "sha512-zm4Kc5XB2njGs8PkmjV1zE/g1hBuphbh+VcDyFLaQsxkxSFSUtCbKwFL8AQpL/qPIcGbvX1MBt50a/3ZZH2CQA==" + "version": "7.0.0-beta.48", + "resolved": "https://registry.npmjs.org/@babel/helper-function-name/-/helper-function-name-7.0.0-beta.48.tgz", + "integrity": "sha512-7QUvVTskXuu8q8ZB6/OMM/hjoNaAjZOU1u9zMuJFvSHA7xzep0QOmPMmF8y2tadNGwuRT6KpY8DiB6GNQly6Nw==" }, "@babel/helper-get-function-arity": { - "version": "7.0.0-beta.46", - "resolved": "https://registry.npmjs.org/@babel/helper-get-function-arity/-/helper-get-function-arity-7.0.0-beta.46.tgz", - "integrity": "sha512-dPrTb7QHVx44xJLjUl3LGAc13iS7hdXdO0fiOxdRN1suIS91yGGgeuwiQBlrw5SxbFchYtwenhlKbqHdVfGyVA==" + "version": "7.0.0-beta.48", + "resolved": "https://registry.npmjs.org/@babel/helper-get-function-arity/-/helper-get-function-arity-7.0.0-beta.48.tgz", + "integrity": "sha512-crZpcjFTMxoKHgS2V75YrmCam+BULh/qesfqjaf9ioT2SfHxxXQoQeanh/xf7TTLAcIlZZkUMVgab3x4XyWSGA==" }, "@babel/helper-hoist-variables": { - "version": "7.0.0-beta.46", - "resolved": "https://registry.npmjs.org/@babel/helper-hoist-variables/-/helper-hoist-variables-7.0.0-beta.46.tgz", - "integrity": "sha512-9xDHLfaVA445mcHU2OEPwEddiyS0Zxao2WObFR2L/SK5MNOPj2VqVCvivYrO2OpzhnLLCTbOfXRmrwrc9WYN6Q==" + "version": "7.0.0-beta.48", + "resolved": "https://registry.npmjs.org/@babel/helper-hoist-variables/-/helper-hoist-variables-7.0.0-beta.48.tgz", + "integrity": "sha512-DDG/6n26UQGd1cWwWEINorp2JLshNsvhOpkCdvPpdf84jXTKv17JPSD2m62fvyGWyoMjalAjEpAk+Ogux8COag==" }, "@babel/helper-member-expression-to-functions": { - "version": "7.0.0-beta.46", - "resolved": "https://registry.npmjs.org/@babel/helper-member-expression-to-functions/-/helper-member-expression-to-functions-7.0.0-beta.46.tgz", - "integrity": "sha512-Xb5iVUHXY8yz4pgGBvtuS1kxZH1oUYcxTcbIW8NFRvgpeH3Zcv4me02bbixsk7nhn8ttE79Lr1g4vrem4k5Z3Q==" + "version": "7.0.0-beta.48", + "resolved": "https://registry.npmjs.org/@babel/helper-member-expression-to-functions/-/helper-member-expression-to-functions-7.0.0-beta.48.tgz", + "integrity": "sha512-tMjX+tE5sLafN1B3rSVsm1oKC3OJXZDbq4JSpGBufYlIITYxDpe9kw8DqonzQJ0e7O7foIuUxgT3/q/JmC3xeA==" }, "@babel/helper-module-imports": { - "version": "7.0.0-beta.46", - "resolved": "https://registry.npmjs.org/@babel/helper-module-imports/-/helper-module-imports-7.0.0-beta.46.tgz", - "integrity": "sha512-xjgpwrqHiKCZgAcqsNIpZ9kOCC5Ty/VYN1H07v21HbAf/dl0/HeUA0taz3EFv6/7lRgS3qThawTSG0POJQX9vQ==" + "version": "7.0.0-beta.48", + "resolved": "https://registry.npmjs.org/@babel/helper-module-imports/-/helper-module-imports-7.0.0-beta.48.tgz", + "integrity": "sha512-uuxpRHHTP7+xVAtKro9z09P4bSkBcA4B+JoMc6FsT61GGnE3iRIbqb2QxQm6dFDMshlZc51/EfOainbimZRqCw==" }, "@babel/helper-module-transforms": { - "version": "7.0.0-beta.46", - "resolved": "https://registry.npmjs.org/@babel/helper-module-transforms/-/helper-module-transforms-7.0.0-beta.46.tgz", - "integrity": "sha512-IckoWSub3PHNvkWcUEWfKBe8pFUdMhsZMFDcaovcLb+gfxL/zZhQYwedKKKwbzVGIk9k44yjeMQ/OJd4yt4FGQ==" + "version": "7.0.0-beta.48", + "resolved": "https://registry.npmjs.org/@babel/helper-module-transforms/-/helper-module-transforms-7.0.0-beta.48.tgz", + "integrity": "sha512-PTAHN19m51RBc713bQdU7yd+McGkiOVV56gMtoC9x8iYZ7mfoxvyN723t7ZUkFdMlppTW2xCzWGZ0Ok9Aw1UNA==" }, "@babel/helper-optimise-call-expression": { - "version": "7.0.0-beta.46", - "resolved": "https://registry.npmjs.org/@babel/helper-optimise-call-expression/-/helper-optimise-call-expression-7.0.0-beta.46.tgz", - "integrity": "sha512-PVd7/PGxi82pEKyuDcEpMmlenMLhJCII3lIK4MhXGWrT/6cNMpY6ob5rWOarpXgZjy+JNI5uLPOce28bqq0Wtw==" + "version": "7.0.0-beta.48", + "resolved": "https://registry.npmjs.org/@babel/helper-optimise-call-expression/-/helper-optimise-call-expression-7.0.0-beta.48.tgz", + "integrity": "sha512-JymM1V2kkDkizXAGmmhOFMqshOxR/gsG2xOYhM6dd5dpNEFSbEU0PTL/O6QEHJsgedq4pg6LKNwdo1EXIij0Uw==" }, "@babel/helper-plugin-utils": { - "version": "7.0.0-beta.46", - "resolved": "https://registry.npmjs.org/@babel/helper-plugin-utils/-/helper-plugin-utils-7.0.0-beta.46.tgz", - "integrity": "sha512-eRTFH+/1rqDfzx+Z//CYk4TNwhfPQpM/TCs4CmHu2DwCPrqFnKUZLI1KgStfLf//c8FdOqx/U9EPec7s8CbUIA==" + "version": "7.0.0-beta.48", + "resolved": "https://registry.npmjs.org/@babel/helper-plugin-utils/-/helper-plugin-utils-7.0.0-beta.48.tgz", + "integrity": "sha512-2ocT0LL1uVUJVnAurHl9pcHfW8VaucCfM2YTQOVJC5yrL9CYx2HqrBsXIS6ZhOJUcbSot6945fsZhUiDWegtsw==" }, "@babel/helper-regex": { - "version": "7.0.0-beta.46", - "resolved": "https://registry.npmjs.org/@babel/helper-regex/-/helper-regex-7.0.0-beta.46.tgz", - "integrity": "sha512-sPDHBt8Y4i6y9rwtxWMvcprlVHAZOOQK5xpS2Nw2q9QEDHRHwVbEpE6EejoUStSclnfJpPK/7ijFgypwc6rXlA==" + "version": "7.0.0-beta.48", + "resolved": "https://registry.npmjs.org/@babel/helper-regex/-/helper-regex-7.0.0-beta.48.tgz", + "integrity": "sha512-ibH3eKfwlVZmh0UIDS/EbK6LvCe5IS4ZyIPI7nWWkQUWrJFa5unHastqiEVKfRPN06UqVdJkH6lXQxKBEpXBvQ==" }, "@babel/helper-remap-async-to-generator": { - "version": "7.0.0-beta.46", - "resolved": "https://registry.npmjs.org/@babel/helper-remap-async-to-generator/-/helper-remap-async-to-generator-7.0.0-beta.46.tgz", - "integrity": "sha512-YrqQ98z8AMZx8f2PGJ4YV1MkXtj+qbwbFV7MOLTiavGSFY7UrN4uQfhKEJ/4GUf4QZdTr5NEmRt0AJrWno8y8w==" + "version": "7.0.0-beta.48", + "resolved": "https://registry.npmjs.org/@babel/helper-remap-async-to-generator/-/helper-remap-async-to-generator-7.0.0-beta.48.tgz", + "integrity": "sha512-+DpwvwnTyH8A+WmD9X4Ubh3AyOp0TQYU6oy+1l5Qw2wlZIqsVb2VMoppET96siPv39R01E7vii/gsgne/Oqevg==" }, "@babel/helper-replace-supers": { - "version": "7.0.0-beta.46", - "resolved": "https://registry.npmjs.org/@babel/helper-replace-supers/-/helper-replace-supers-7.0.0-beta.46.tgz", - "integrity": "sha512-FSpK3QKzb58oMEccanHzg1djsYHhGARl08i8BQGBoOyHS6Df+4/8bsQiTnc59Dz5sJoZdb67nKKFjgMsMYi6Kg==" + "version": "7.0.0-beta.48", + "resolved": "https://registry.npmjs.org/@babel/helper-replace-supers/-/helper-replace-supers-7.0.0-beta.48.tgz", + "integrity": "sha512-QKksfM+sHfE/qk7DN1U+n8nqCO5IcLgBciJxT2ZGtq9aogHMK+rEFxIq57AU0T7hn9QE6iOjGSmnmT1JLWkr4g==" }, "@babel/helper-simple-access": { - "version": "7.0.0-beta.46", - "resolved": "https://registry.npmjs.org/@babel/helper-simple-access/-/helper-simple-access-7.0.0-beta.46.tgz", - "integrity": "sha512-1OEjV/Qnl4u8Dg+jQIYf1TgnfdrYIrdrF7yZwp9mSgsVX2PCyLe7JNTqZ/5v/5RzlF6S+GTe9agkj+EFFTcZUw==" + "version": "7.0.0-beta.48", + "resolved": "https://registry.npmjs.org/@babel/helper-simple-access/-/helper-simple-access-7.0.0-beta.48.tgz", + "integrity": "sha512-55d2jEz4avJ+9hUIAS8stHRADIi7CeL/JcYGrUI+Ik/sDboCY3cdWRlFECC3PW3VksfI+F2BheDiupNj3rm5sw==" }, "@babel/helper-split-export-declaration": { - "version": "7.0.0-beta.46", - "resolved": "https://registry.npmjs.org/@babel/helper-split-export-declaration/-/helper-split-export-declaration-7.0.0-beta.46.tgz", - "integrity": "sha512-UT7acgV7wsnBPwnqslqcnUFvsPBP4TtVaYM82xPGA7+evAa8q8HXOmFk08qsMK/pX/yy4+51gJJwyw2zofnacA==" + "version": "7.0.0-beta.48", + "resolved": "https://registry.npmjs.org/@babel/helper-split-export-declaration/-/helper-split-export-declaration-7.0.0-beta.48.tgz", + "integrity": "sha512-ghYl4j1y3GMYjCxT+V3caUTXwt4kaKbpMYHDbMvTX6/yyVQ8kCxSHEU9ZX0uSTeZDvgFjPLA53s7HOP1zdFwZw==" }, "@babel/helper-wrap-function": { - "version": "7.0.0-beta.46", - "resolved": "https://registry.npmjs.org/@babel/helper-wrap-function/-/helper-wrap-function-7.0.0-beta.46.tgz", - "integrity": "sha512-W87M4bP6veTKK66OjzV/rU47tjsWmKj9J0J5BDmxq5BIJB1M13ouQ2FAURa4jGHwjPFWN3D5njBrsrifSOHzbQ==" + "version": "7.0.0-beta.48", + "resolved": "https://registry.npmjs.org/@babel/helper-wrap-function/-/helper-wrap-function-7.0.0-beta.48.tgz", + "integrity": "sha512-eQhuwPxmQNUyThNIrc+c/NRRZP9UFT9JQ4jqAZYp+WtGuz3AsMqLxfaxYaeXLWGGDYELr4UTsResuXmPORWj1Q==" }, "@babel/helpers": { - "version": "7.0.0-beta.46", - "resolved": "https://registry.npmjs.org/@babel/helpers/-/helpers-7.0.0-beta.46.tgz", - "integrity": "sha512-mbpH9pM3pJzo/tBr75U+zva3pqpyivogt1aofgEoD7bWFAYSuqOudRuz+m4XP6VPxxLoxcA4SFPGkuLRt9+7nQ==" + "version": "7.0.0-beta.48", + "resolved": "https://registry.npmjs.org/@babel/helpers/-/helpers-7.0.0-beta.48.tgz", + "integrity": "sha512-5qvSiDO+3tOyzZAoT+PvMMlbau+P+yI2LSDo7m38x9i1nbAMooFLQTdYqOAhFpRo8cXg2Lg1msYqpYK8CeqHYQ==" }, "@babel/highlight": { - "version": "7.0.0-beta.46", - "resolved": "https://registry.npmjs.org/@babel/highlight/-/highlight-7.0.0-beta.46.tgz", - "integrity": "sha512-r4snW6Q8ICL3Y8hGzYJRvyG/+sc+kvkewXNedG9tQjoHmUFMwMSv/o45GWQUQswevGnWghiGkpRPivFfOuMsOA==" + "version": "7.0.0-beta.48", + "resolved": "https://registry.npmjs.org/@babel/highlight/-/highlight-7.0.0-beta.48.tgz", + "integrity": "sha512-nvyRS7pcfayjRjMg9KXCUdVcLq8/njx2ktvckovIx7cMJ9+aY58735xTIC0adkPZ13KJHbik6fJMfxO8PPZaLg==" + }, + "@babel/parser": { + "version": "7.0.0-beta.48", + "resolved": "https://registry.npmjs.org/@babel/parser/-/parser-7.0.0-beta.48.tgz", + "integrity": "sha512-X3pKxvy7vL79zc/6XS6cCObyuRMnsRGRu7d3zVSPZGCdxkK0/wTeFRwseRjcvhReV/6LW2D8H8qHVFFL0c+5+w==" }, "@babel/plugin-proposal-async-generator-functions": { - "version": "7.0.0-beta.46", - "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-async-generator-functions/-/plugin-proposal-async-generator-functions-7.0.0-beta.46.tgz", - "integrity": "sha512-htHMsLBYkM89CplqHTbbemVvzTXXyXkpihetJZUTPpSayfxEd6oIH5uSM91efcf5Rog+1SC0Oq32q9yF/4W3ig==" + "version": "7.0.0-beta.48", + "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-async-generator-functions/-/plugin-proposal-async-generator-functions-7.0.0-beta.48.tgz", + "integrity": "sha512-gBVjr30royW56cgLuuVuk73s/7vFQb9R407WAg1iDkJOeplMo+C0esblPR/5qAHCkpktoA1PizGl3vwfVSvo9w==" }, "@babel/plugin-proposal-class-properties": { - "version": "7.0.0-beta.46", - "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-class-properties/-/plugin-proposal-class-properties-7.0.0-beta.46.tgz", - "integrity": "sha512-kWp3bKibdSeSEvEQWcEcs345KPQYT39uM2edFS78NH3Gu6O9mBcnXh5E2BJ1sbE+jJ6jYPOZz4BK/LR7BiF0jA==" + "version": "7.0.0-beta.48", + "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-class-properties/-/plugin-proposal-class-properties-7.0.0-beta.48.tgz", + "integrity": "sha512-vtZ2QeYKDW8VvX42aPw+sP9AyoZRk2V2DFOdbucxjuy6Gi9o2q66ioeOnIdrUnVxmHes4IFIuGqDS+XUT7h2Mw==" }, "@babel/plugin-proposal-object-rest-spread": { - "version": "7.0.0-beta.46", - "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-object-rest-spread/-/plugin-proposal-object-rest-spread-7.0.0-beta.46.tgz", - "integrity": "sha512-viGuWOgFT/Tbnn3sYi3g9iJcC3ql7bSjxDs+d+GFgyf3eV2qNIKO/6I+PJAD35fGqDGGBrQhlA6HvW0FzQVtoA==" + "version": "7.0.0-beta.48", + "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-object-rest-spread/-/plugin-proposal-object-rest-spread-7.0.0-beta.48.tgz", + "integrity": "sha512-lBgqbSVX7HwsBN3//GZ+LIAtHcJm2mk0YxSigqc8JYbY6Kw27pNtvLtfGFPW7KJd4h1hFmfDkkxFk0uKhVIHSA==" }, "@babel/plugin-syntax-async-generators": { - "version": "7.0.0-beta.46", - "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-async-generators/-/plugin-syntax-async-generators-7.0.0-beta.46.tgz", - "integrity": "sha512-igLQzZYcSrY/W3eACq6Nrf9u9mfw7m5G6+JeTZlyI7w0z+upGvWvrpTaAP1Gni6MckQkx5q+pspgpV+/5ioPXg==" + "version": "7.0.0-beta.48", + "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-async-generators/-/plugin-syntax-async-generators-7.0.0-beta.48.tgz", + "integrity": "sha512-cDLSZqUeTFhu11zwyFQw6tFsgH2SrPSXVUisaON1OnMG7A05E4M6rhfDGvv0aLHpX2njSD4nUwVoFsIitJE5Kg==" }, "@babel/plugin-syntax-class-properties": { - "version": "7.0.0-beta.46", - "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-class-properties/-/plugin-syntax-class-properties-7.0.0-beta.46.tgz", - "integrity": "sha512-NwtgTQ+I8B2eo5h1mZF64nloLaGQuPM4M/c/swvyvqHoWLissHhm94rOE2Ghte8WMgQ/Nw3bqJd59kpbckqmdQ==" + "version": "7.0.0-beta.48", + "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-class-properties/-/plugin-syntax-class-properties-7.0.0-beta.48.tgz", + "integrity": "sha512-pKieyemp6fw0LAMro/jJZe78UnypA+5xNAv4cmHZ1cNjGblcnC3WS2H18ruXOpHL1qQ4ITkcQZh18wFG78KEng==" }, "@babel/plugin-syntax-dynamic-import": { - "version": "7.0.0-beta.46", - "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-dynamic-import/-/plugin-syntax-dynamic-import-7.0.0-beta.46.tgz", - "integrity": "sha512-D4ek6tZa80NgaTSprPOVxj8vxjChh6UCWgCT/ZvCwAa6CBe3iqUCuOwZQLjU41aDdeuR7C02wxl3rcb25wCRLA==" + "version": "7.0.0-beta.48", + "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-dynamic-import/-/plugin-syntax-dynamic-import-7.0.0-beta.48.tgz", + "integrity": "sha512-ZCuET4SH9JWdd21E13E5xzKwxit35HyqRVyMtI1Ylqfsj3spYFZ7Pv6grvsqGf04ak5pBSRMHUmA6zjlWiV4uQ==" }, "@babel/plugin-syntax-flow": { - "version": "7.0.0-beta.46", - "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-flow/-/plugin-syntax-flow-7.0.0-beta.46.tgz", - "integrity": "sha512-HFChD9R2w+8+Jt5539SVaKKSYuMvbCgYG7LmuISycaJW16aS6fNS6V8jr8U/HKJk3bhIG5SkATBYedy5zGR+sg==" + "version": "7.0.0-beta.48", + "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-flow/-/plugin-syntax-flow-7.0.0-beta.48.tgz", + "integrity": "sha512-HWkFY2JajEDdMkbZc2oVEa0ZULNwqFf2JvseDy+joGRYYeKp/6a9slQDBUCtN1YNx5JmTbG190tIfbENRKvFew==" }, "@babel/plugin-syntax-jsx": { - "version": "7.0.0-beta.46", - "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-jsx/-/plugin-syntax-jsx-7.0.0-beta.46.tgz", - "integrity": "sha512-aYN4vmO4nMux1W36F6/YP2ugNQ0cilrs1eU4jClLrlIouxqd9hqBloWtlGmGlyDxIRV5kzr+UWwridLDb+cN5g==" + "version": "7.0.0-beta.48", + "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-jsx/-/plugin-syntax-jsx-7.0.0-beta.48.tgz", + "integrity": "sha512-cXdKK+zz6VrRUZJhq0oo7bfLjgME7y4N3igl15VcOS3XORbyOaWwHK2Nwsa8AalOcGEjvkmAmqb40Ht18/XiXA==" }, "@babel/plugin-syntax-object-rest-spread": { - "version": "7.0.0-beta.46", - "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-object-rest-spread/-/plugin-syntax-object-rest-spread-7.0.0-beta.46.tgz", - "integrity": "sha512-MMv6WG69jmcSLXdUeHvoev5RkuP/QuJZwCB4jXp2gtss//avs4Sns+t0VpGKTf9umhvRq44HFO6PVjVG85F+/Q==" + "version": "7.0.0-beta.48", + "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-object-rest-spread/-/plugin-syntax-object-rest-spread-7.0.0-beta.48.tgz", + "integrity": "sha512-xsezu/icfJxRpNxWG3AvvCyueKdpEZRVaPEISoSYPSiGqsFAaCozUu6XBTwDG2htcFcNfxHAdyar+TllJvQdxA==" }, "@babel/plugin-transform-arrow-functions": { - "version": "7.0.0-beta.46", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-arrow-functions/-/plugin-transform-arrow-functions-7.0.0-beta.46.tgz", - "integrity": "sha512-GgeFCCMHXWRkPDXWKin76qiZh+DAYdQShmk8SmzDj6IAgPHyNqkxHN/8gsmNe5/7IWFFOKUuM9TNU7fgY7z7Gg==" + "version": "7.0.0-beta.48", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-arrow-functions/-/plugin-transform-arrow-functions-7.0.0-beta.48.tgz", + "integrity": "sha512-K4HCBSY369QE30JVMhDRubPD6uK2aRtkWWQ3IXpZgs2qmfKz7U0SM/NZCnOVYRUFqwmkgiCMEg0ONMCfuhHzdg==" }, "@babel/plugin-transform-async-to-generator": { - "version": "7.0.0-beta.46", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-async-to-generator/-/plugin-transform-async-to-generator-7.0.0-beta.46.tgz", - "integrity": "sha512-obykYLqAd3tujTjHYE+dln5+nDhm+R5FmUcxXFr/Mx6LK1NgrTQ9TdPPOcMCD08r8SDljFpMopuz9upN/xJlbw==" + "version": "7.0.0-beta.48", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-async-to-generator/-/plugin-transform-async-to-generator-7.0.0-beta.48.tgz", + "integrity": "sha512-XMwqQtmAYT1luf1WeOgRIIMNmvdqpPoWf3bdcqT8hGRJHTFxWdfkgIW/Zq6KqExnSOHFKmWF9cN7jqf/flQhGQ==" }, "@babel/plugin-transform-block-scoped-functions": { - "version": "7.0.0-beta.46", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-block-scoped-functions/-/plugin-transform-block-scoped-functions-7.0.0-beta.46.tgz", - "integrity": "sha512-0paq0AtTp3TXbXdzWwsL8ddacmo/g/14IgIZgs5BzUTrfROKQThYVccEBPqRnprTgvM0JXyDVfNSgLB4akCTjg==" + "version": "7.0.0-beta.48", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-block-scoped-functions/-/plugin-transform-block-scoped-functions-7.0.0-beta.48.tgz", + "integrity": "sha512-jlah/Zp6N5yckYpQDSrzkve/OS+blkRJ65GDNMMIi+7mJPPYczvHXIn6a0gn9IfSj6Btt1v752bHgRQhWwl/6A==" }, "@babel/plugin-transform-block-scoping": { - "version": "7.0.0-beta.46", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-block-scoping/-/plugin-transform-block-scoping-7.0.0-beta.46.tgz", - "integrity": "sha512-7OwS0ObI6nLacEKP1HCdnoIQnHBqOV6IgtKGiPO+Nj03OnZ1Yo2aeK9sfOtwL43aNztnKqFVt2L5PfZg4VGidA==" + "version": "7.0.0-beta.48", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-block-scoping/-/plugin-transform-block-scoping-7.0.0-beta.48.tgz", + "integrity": "sha512-KMWeGBAn1FmyNZAW4HHfGzSjswW4YWxFhUEOif/RYfJt7h8Ny7ELdqh+A97q5JNru9ZjPyQMBvGgXTOi4fANxg==" }, "@babel/plugin-transform-classes": { - "version": "7.0.0-beta.46", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-classes/-/plugin-transform-classes-7.0.0-beta.46.tgz", - "integrity": "sha512-EDp/qQAURfrX6hNM+VrLSSA+cGiwDeZL0ZTTt6a7PNSFABCw4qwKJHx3Q7me1oV7q3U/GJwPS4Aym2QTDmNGvg==" + "version": "7.0.0-beta.48", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-classes/-/plugin-transform-classes-7.0.0-beta.48.tgz", + "integrity": "sha512-1m6OeD+zNheuTtcQcGW8/nk78GVzVo3xho/Gwc0U+/QbfsDRXoVEAWEvR3cuUqM+LrteWwR2hdpMuCahuY7vNA==" }, "@babel/plugin-transform-computed-properties": { - "version": "7.0.0-beta.46", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-computed-properties/-/plugin-transform-computed-properties-7.0.0-beta.46.tgz", - "integrity": "sha512-0ne9TL53fXH+cBI591R1JSpPhu0d2Wd9dbD8jLCJFV4tlMfqQ+Rcm65RhWWqjEBZfGv2+FuOnwB4HJRHakdW+Q==" + "version": "7.0.0-beta.48", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-computed-properties/-/plugin-transform-computed-properties-7.0.0-beta.48.tgz", + "integrity": "sha512-eRH545kOx+rFVLt//w9NvAUUUoDuniO235RH6/lb3kgdtQUGfxaP2vHpB2zwJSAhMnnb3diShwor6ONaNxmLCA==" }, "@babel/plugin-transform-destructuring": { - "version": "7.0.0-beta.46", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-destructuring/-/plugin-transform-destructuring-7.0.0-beta.46.tgz", - "integrity": "sha512-l9x0+T29Njwp6smLbTIU2HG2s4ROd9DAIQcfciEfpjAqscXEst0M4X9+UvjQsuaOgPFmQTdAn9xOwNFXnRP7Tg==" + "version": "7.0.0-beta.48", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-destructuring/-/plugin-transform-destructuring-7.0.0-beta.48.tgz", + "integrity": "sha512-oxHIpqJMuDSBQEY9ezR4pgcJ2K5LS3YCHMFmHroA+loeCDKTKwiJ72Bwx4ElLYM64CwfogMmra/Ee5U0YvzMPw==" }, "@babel/plugin-transform-exponentiation-operator": { - "version": "7.0.0-beta.46", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-exponentiation-operator/-/plugin-transform-exponentiation-operator-7.0.0-beta.46.tgz", - "integrity": "sha512-acomgoNW/fwWSmBlhH22C9Eyl1Y/vADBSqzyIRWJGpm4frLhd49QQgKXbRGRHUDxyifXuZDF9+3pRhEmi7/HXA==" + "version": "7.0.0-beta.48", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-exponentiation-operator/-/plugin-transform-exponentiation-operator-7.0.0-beta.48.tgz", + "integrity": "sha512-oyUXYa3WMzVTtJIp2cjDBoFME8DRlxW1yBZVOdtI0MDLIkOrZjHMGVwCUblQgT10qfpiMfRYKJTN1t8zx98axw==" }, "@babel/plugin-transform-flow-strip-types": { - "version": "7.0.0-beta.46", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-flow-strip-types/-/plugin-transform-flow-strip-types-7.0.0-beta.46.tgz", - "integrity": "sha512-ZyMayIXoDPsYYa8FVypQpcxeHX65l6lQ/nA4DRTSJUVvoQDytfNlH3Y3yQhGwyrr2APsCpq4MGmUAp+Id8KWeA==" + "version": "7.0.0-beta.48", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-flow-strip-types/-/plugin-transform-flow-strip-types-7.0.0-beta.48.tgz", + "integrity": "sha512-hNNsSiefKICkvdoJTpxCU6iZYlr41ztuucW9NU5xwlp0rEBsIrzq9Wa9K/7/KzpqoWw1kfseZRy/TfxdHcjykw==" }, "@babel/plugin-transform-for-of": { - "version": "7.0.0-beta.46", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-for-of/-/plugin-transform-for-of-7.0.0-beta.46.tgz", - "integrity": "sha512-a1gpwuO26szyz5K2FrRrI5nUDgvkaJfZ7GeDtFAH8XyrK/pNdtpW/7DFCf1PdQc6SbEMM/1QXsH7Y2YRkWoTeA==" + "version": "7.0.0-beta.48", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-for-of/-/plugin-transform-for-of-7.0.0-beta.48.tgz", + "integrity": "sha512-Pm1iNyT1bZEB0aQs+VvMuubOTPEuDCbonljBKp4/VxP89S8nmyyrw1jAsxUOUnZq1RlOzcrhKFmd+gI/C3DOoQ==" }, "@babel/plugin-transform-literals": { - "version": "7.0.0-beta.46", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-literals/-/plugin-transform-literals-7.0.0-beta.46.tgz", - "integrity": "sha512-Uuo7pRsBkrLrDg6XpOAMfwhKw56SB5qVBniUVM04uf8wf92S2Z5tSPNNfn1iTgphuckAO9vg86l2XJ0Y/QD4YQ==" + "version": "7.0.0-beta.48", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-literals/-/plugin-transform-literals-7.0.0-beta.48.tgz", + "integrity": "sha512-5SOXkuWm2DmLSFxygIkEqZlbnRF5CxWecS0izPhVShi3Nac8/1iQHZg6tk5oY4ZULOW4RmqPabkaaGg3zHjYFg==" }, "@babel/plugin-transform-modules-commonjs": { - "version": "7.0.0-beta.46", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-modules-commonjs/-/plugin-transform-modules-commonjs-7.0.0-beta.46.tgz", - "integrity": "sha512-3wLCWVkEhhQiVqqml4y9G6GJT6WA/mkxQ6TRy+4I46z00WWbEDENJcRTS14oNKzeRIo4yJylbVB1wUCW7HuJ9A==" + "version": "7.0.0-beta.48", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-modules-commonjs/-/plugin-transform-modules-commonjs-7.0.0-beta.48.tgz", + "integrity": "sha512-tSBaAoYYE/mD7ZuFVH8TNj7uKe/SMSzLS18DQm+PxStI1bohcc/3nJpIYNK4JVVw11IWp9C/trCb4aLNK20lfA==" }, "@babel/plugin-transform-object-super": { - "version": "7.0.0-beta.46", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-object-super/-/plugin-transform-object-super-7.0.0-beta.46.tgz", - "integrity": "sha512-T+TV4rRuTubvjqEwBF5xib3vnfJgjQ62qJqHprTaJDBtF0ofpbv/A6x86EEr51iPymHc84eM+F1zyFEtJvKYwQ==" + "version": "7.0.0-beta.48", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-object-super/-/plugin-transform-object-super-7.0.0-beta.48.tgz", + "integrity": "sha512-4lykgbUgoGWvLPivTl3E5desyh5mIOjA0op8fOgdXjDiTKIwR0v+1mFfgfIWdv7LGMSam+inNVMLp+MvnEmNIw==" }, "@babel/plugin-transform-parameters": { - "version": "7.0.0-beta.46", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-parameters/-/plugin-transform-parameters-7.0.0-beta.46.tgz", - "integrity": "sha512-RnkdYrayTlQ0VFoyIjvY/cCp/1lJJkYE2lFcRNg6+Skd3g41PnocsHhQ5NUQjMNogL+RnNan3S/2S/i7S4zm+Q==" + "version": "7.0.0-beta.48", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-parameters/-/plugin-transform-parameters-7.0.0-beta.48.tgz", + "integrity": "sha512-sNCDddJmmdXKxweyxm2CcQ1QRLjTeoUyrI5Vmn1X2pepwqKMMEujai0cyruEKAmQqKepAJ0PIHsW16mLcRf5FQ==" }, "@babel/plugin-transform-property-literals": { - "version": "7.0.0-beta.46", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-property-literals/-/plugin-transform-property-literals-7.0.0-beta.46.tgz", - "integrity": "sha512-q1jSyGXA4zPWLpJZ7rPLpbQTv27VHSHWeU16xAM5PnmI1ZrL5XmhmhAfZ4D2+W3NfXbvaEUyxPBnwBYyGPKrNA==" + "version": "7.0.0-beta.48", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-property-literals/-/plugin-transform-property-literals-7.0.0-beta.48.tgz", + "integrity": "sha512-6QsNN5tbbHz4YIJQNiKUKLIG1U7xc69SEEUnhOTE92nQCBupFH14Kc33Q56jYx6pbCKuwMlZvxcI9JfYdRA9cw==" }, "@babel/plugin-transform-react-display-name": { - "version": "7.0.0-beta.46", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-react-display-name/-/plugin-transform-react-display-name-7.0.0-beta.46.tgz", - "integrity": "sha512-/a7wwzNrYqReyuOM8rBB9iAOLaubvGHM9w3eUeput/DnEq/V+dJuBgktpF6mw/MQjwjna1B/3BbWsn1PaBw8bw==" + "version": "7.0.0-beta.48", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-react-display-name/-/plugin-transform-react-display-name-7.0.0-beta.48.tgz", + "integrity": "sha512-LubTt4wOxUSJMFRlM0ZN/esoijkpICFmSa1tBTqrI3JGyJLe0XD113BNvQ+owP1Xi/lfmyJOYq2F73LfDYz+Cw==" }, "@babel/plugin-transform-react-jsx": { - "version": "7.0.0-beta.46", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-react-jsx/-/plugin-transform-react-jsx-7.0.0-beta.46.tgz", - "integrity": "sha512-b8VtHVQub3h7lXG1ShaCKgGJdra7fRlUK6hx1eCcIWAPYnJMz4soLMSPiXmyjDA5L0CbYmyTkceU1GjbeJmaaw==" + "version": "7.0.0-beta.48", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-react-jsx/-/plugin-transform-react-jsx-7.0.0-beta.48.tgz", + "integrity": "sha512-0lGYrdINNhP9dpgVwG6JvBD2bu49FjkMgTtGzfeJvpWJb1naUWTWkdupYSZ+izkY1fxCqY7Zki+gDWpU+Dih3Q==" }, "@babel/plugin-transform-react-jsx-self": { - "version": "7.0.0-beta.46", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-react-jsx-self/-/plugin-transform-react-jsx-self-7.0.0-beta.46.tgz", - "integrity": "sha512-keXGiKQNzqHXpplpz/Eu+F+OC/k6M3kbEBOqoDbbYeJVmWARVADWwRnCCsW6yevSyON4CTU5mouVadTIY9YSpA==" + "version": "7.0.0-beta.48", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-react-jsx-self/-/plugin-transform-react-jsx-self-7.0.0-beta.48.tgz", + "integrity": "sha512-Z28mE15q+yf/havcN9LRjBOLCUw02QllRTQH9T+nbVDVDUSqAgeYSZmmxWzoe0zVt+sdoZ2NUgrSrPTzwdcOYQ==" }, "@babel/plugin-transform-react-jsx-source": { - "version": "7.0.0-beta.46", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-react-jsx-source/-/plugin-transform-react-jsx-source-7.0.0-beta.46.tgz", - "integrity": "sha512-vSSghGn+ER6d5gBtNnTZAxPxBSs1ngyyVlHse/geHSv7YnzmrCOUrtVl+t4M2/EO3CW2m8nkMfpnMW5FCmg+Zw==" + "version": "7.0.0-beta.48", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-react-jsx-source/-/plugin-transform-react-jsx-source-7.0.0-beta.48.tgz", + "integrity": "sha512-wYH3U6fkaHaMFtI8rNIopv4h5MSTth3QKnZRwHw6nCaxnjbX6MkOfKWoxE24AH/7BfVlfNvKtidWKlPXr+0FgQ==" }, "@babel/plugin-transform-regenerator": { - "version": "7.0.0-beta.46", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-regenerator/-/plugin-transform-regenerator-7.0.0-beta.46.tgz", - "integrity": "sha512-P6d8ckSjKlbr/1SL1NBO6ieFxSebTiRWd2R8/styUIizJWQlEB0ITQ7l8vv3jXGjJ0mh7lxBTegXejRkTGKKgw==" + "version": "7.0.0-beta.48", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-regenerator/-/plugin-transform-regenerator-7.0.0-beta.48.tgz", + "integrity": "sha512-+XG3RFR8RZS0SUgQ+Zc7Xns4TRcvIoLRnkGNEXk00kG5I6i3OxJRROChQHXSL90JOpcXIVcSj54z6gxOS+d85Q==" }, "@babel/plugin-transform-runtime": { - "version": "7.0.0-beta.46", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-runtime/-/plugin-transform-runtime-7.0.0-beta.46.tgz", - "integrity": "sha512-mdgrBPXF+7cl+Y8dBynUxK90U17fQdH4zBsNxV6GYyI35WiUUZYFiXG2wKZN+1LClhavD9cOnOLpCxaNQy7g2A==" + "version": "7.0.0-beta.48", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-runtime/-/plugin-transform-runtime-7.0.0-beta.48.tgz", + "integrity": "sha512-/osX+76qOfcdF97VvpkHTfAUTjG9jUETvflNip70mb1J9Ok6Muieny1OwB+BMKFpUXEfNQfHZw3CoxpHgxhiyA==" }, "@babel/plugin-transform-shorthand-properties": { - "version": "7.0.0-beta.46", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-shorthand-properties/-/plugin-transform-shorthand-properties-7.0.0-beta.46.tgz", - "integrity": "sha512-1QkKFWPsjrvMppycLwjPBXF+usSnGvbTxGe0Q+eIzcZyhabwGCsCgkmDIKMisPSAi6F7bM5H1S8VbE85IW3oRg==" + "version": "7.0.0-beta.48", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-shorthand-properties/-/plugin-transform-shorthand-properties-7.0.0-beta.48.tgz", + "integrity": "sha512-9/ay/owcYN6auRT+yAMIwyyA/k5pVByecZ7QpcOu8z2bMaDvlCBzP00iAtgZjBsEgBlqxcCdy5VexVkWyDUkew==" }, "@babel/plugin-transform-spread": { - "version": "7.0.0-beta.46", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-spread/-/plugin-transform-spread-7.0.0-beta.46.tgz", - "integrity": "sha512-R0GvFdJnFrgTlmZfFtCXk81uvq5S3FuY38FnRsxDt6Yx/sE8jCmmrRe7XHZOnXXGP3ZWY9icILUmzWHOf91jbA==" + "version": "7.0.0-beta.48", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-spread/-/plugin-transform-spread-7.0.0-beta.48.tgz", + "integrity": "sha512-RFCSLFlxKCo40Yu69gGZqj4Ky6Tea6hPeqwCeGFu9XEdODGvA+u1tk8u7XQXbnWfaZ09e9BBSeJUUGPC69J35A==" }, "@babel/plugin-transform-sticky-regex": { - "version": "7.0.0-beta.46", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-sticky-regex/-/plugin-transform-sticky-regex-7.0.0-beta.46.tgz", - "integrity": "sha512-goMgOLODjG1cgFHlKACh/NT/wrnmuRi2CpXsjOan10eZce0fk9kahYz/04cqhppmwtV/vQWwH2ikAHODSD8r5w==" + "version": "7.0.0-beta.48", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-sticky-regex/-/plugin-transform-sticky-regex-7.0.0-beta.48.tgz", + "integrity": "sha512-HNXgYUxMMDFGgfT9Rzi7BzpM27qdQl5akXq9X1RHRejroORwdVk3FCv4+QdxPxuLIWFkiPR55ZqMGF3W/r+hyA==" }, "@babel/plugin-transform-template-literals": { - "version": "7.0.0-beta.46", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-template-literals/-/plugin-transform-template-literals-7.0.0-beta.46.tgz", - "integrity": "sha512-2iGMsHWVAQq9X6p3VNjktJCH6ZXHQHi3NTPLKh5d4bEW8+M3H7LXLNqk1yUm/Uwt0tzh1FUfb/EU2sEPbrBrVA==" + "version": "7.0.0-beta.48", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-template-literals/-/plugin-transform-template-literals-7.0.0-beta.48.tgz", + "integrity": "sha512-9QoVXXjIuhn7m0dlmFuxOTGmlrpyrTHAa6KGnnQO6PannxtDJLR29lrZt4V9OcY44ob4yPIw/W72dBFjkZcJWg==" }, "@babel/plugin-transform-typeof-symbol": { - "version": "7.0.0-beta.46", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-typeof-symbol/-/plugin-transform-typeof-symbol-7.0.0-beta.46.tgz", - "integrity": "sha512-l+CfLR2c5KzZ/uZlkflNe7nK2hiEahc/FeiUCTd5Krj4aCKDdLLSdb4Lowf5hdZbqIPQc9TdL9SZt80YhUlmFw==" + "version": "7.0.0-beta.48", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-typeof-symbol/-/plugin-transform-typeof-symbol-7.0.0-beta.48.tgz", + "integrity": "sha512-oQZYsVherJCr6GGjHWd6hl0CLQB+H9C8QilqiTO98Uw5ng2TRw+UQi1JrjB2fZrGy819Uf11yu/K9OQ2CeF9nA==" }, "@babel/plugin-transform-unicode-regex": { - "version": "7.0.0-beta.46", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-unicode-regex/-/plugin-transform-unicode-regex-7.0.0-beta.46.tgz", - "integrity": "sha512-XWQ7uJ0HL/xdMesKzt1uq5CmZPBqDiEno+FBeYuOJu1IWjpr3yXfEzH/nW17KESXGRv68mLTr+fIeSwcC+qVFg==" + "version": "7.0.0-beta.48", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-unicode-regex/-/plugin-transform-unicode-regex-7.0.0-beta.48.tgz", + "integrity": "sha512-dSNSPWnQIn4eMiu3rh2+sEShc7PjbNs+Da2dCoFg6q5cDqKG2D/9EDNMNSKhqXXCp91Y+Ju0G77xgslw3DU7zQ==" }, "@babel/preset-react": { - "version": "7.0.0-beta.46", - "resolved": "https://registry.npmjs.org/@babel/preset-react/-/preset-react-7.0.0-beta.46.tgz", - "integrity": "sha512-+Xl9AH/rhI7FTX0OxNXM4oGljpeCs1nwPm2IjD9+mXO/+dWdGpa+yTcjYYpIWAK4KQrSQ+27T6DtJ6fZPTqYQA==" + "version": "7.0.0-beta.48", + "resolved": "https://registry.npmjs.org/@babel/preset-react/-/preset-react-7.0.0-beta.48.tgz", + "integrity": "sha512-y96O9njnFUzEo31cQ0ZQ52veoOKSOmL71al/XfE/42IvTRdIIxIRtQr1YqcYbFOzFrL7MZtEkMqh5dDu+J6bXA==" }, "@babel/runtime": { - "version": "7.0.0-beta.46", - "resolved": "https://registry.npmjs.org/@babel/runtime/-/runtime-7.0.0-beta.46.tgz", - "integrity": "sha512-/3a3USMKk54BEHhDgY8rtxtaQOs4bp4aQwo6SDtdwmrXmgSgEusWuXNX5oIs/nwzmTD9o8wz2EyAjA+uHDMmJA==" + "version": "7.0.0-beta.48", + "resolved": "https://registry.npmjs.org/@babel/runtime/-/runtime-7.0.0-beta.48.tgz", + "integrity": "sha512-yzvAaV6DgvFtuhvTWCHKOxTJlrKK/G+Nkd6C84NCpXwGcUfVwRZFjqA+j/fCi1IWxkmDBFeCH+AtD33T+jE/JQ==" }, "@babel/template": { - "version": "7.0.0-beta.46", - "resolved": "https://registry.npmjs.org/@babel/template/-/template-7.0.0-beta.46.tgz", - "integrity": "sha512-3/qi4m0l6G/vZbEwtqfzJk73mYtuE7nvAO1zT3/ZrTAHy4sHf2vaF9Eh1w+Tau263Yrkh0bjVQPb9zw6G+GeMQ==" + "version": "7.0.0-beta.48", + "resolved": "https://registry.npmjs.org/@babel/template/-/template-7.0.0-beta.48.tgz", + "integrity": "sha512-mFrSP6UZR02YGsqlnH/8IUENCnqs749RfujSGQ/CqeJYpeZ73PAJqk1Wg2khl+Huv4L4LW8dJh7qOQ/CBkRqEg==" }, "@babel/traverse": { - "version": "7.0.0-beta.46", - "resolved": "https://registry.npmjs.org/@babel/traverse/-/traverse-7.0.0-beta.46.tgz", - "integrity": "sha512-IU7MTGbcjpfhf5tyCu3sDB7sWYainZQcT+CqOBdVZXZfq5MMr130R7aiZBI2g5dJYUaW1PS81DVNpd0/Sq/Gzg==" + "version": "7.0.0-beta.48", + "resolved": "https://registry.npmjs.org/@babel/traverse/-/traverse-7.0.0-beta.48.tgz", + "integrity": "sha512-lXNTgDIFj6xyzapkpvSvqFC8x7g+sw4SzxGVLKjSbX5rK1GK7YH2XXMHii1e6yhfscfC+ski36yH23z8m9r2fQ==" }, "@babel/types": { - "version": "7.0.0-beta.46", - "resolved": "https://registry.npmjs.org/@babel/types/-/types-7.0.0-beta.46.tgz", - "integrity": "sha512-uA5aruF2KKsJxToWdDpftsrPOIQtoGrGno2hiaeO9JRvfT9xZdK11nPoC+/RF9emNzmNbWn4HCRdCY+McT5Nbw==" + "version": "7.0.0-beta.48", + "resolved": "https://registry.npmjs.org/@babel/types/-/types-7.0.0-beta.48.tgz", + "integrity": "sha512-h37aY8aUmTMEDEaPrNwmYmwSTjf7SvJ4h8jCljaHOSq3785TZSZnxdCsNDVs+fKK21lOPh9X29rvOLTOwxgVmw==" }, "acorn": { "version": "5.5.3", @@ -447,9 +452,9 @@ "integrity": "sha512-NiOvvA9Pq6bki6nP4BayXwT5GZadw7DJFDDzHmkpnOQpENWe8RtHtKZM44MG1R6EQ5XxgbLdsdhswIzTkFlO5g==" }, "babel-plugin-transform-es2015-modules-reify": { - "version": "0.15.1", - "resolved": "https://registry.npmjs.org/babel-plugin-transform-es2015-modules-reify/-/babel-plugin-transform-es2015-modules-reify-0.15.1.tgz", - "integrity": "sha512-QO76PVHIApDp3afwjk+VMpymKZhUeo3tZg/b2ND8g8C859h4xaNPdx6QguxrGaf2ch3IsbbcbcgVseIbIHh+MA==" + "version": "0.16.0", + "resolved": "https://registry.npmjs.org/babel-plugin-transform-es2015-modules-reify/-/babel-plugin-transform-es2015-modules-reify-0.16.0.tgz", + "integrity": "sha512-c0DTHJdkXGE/PcJbPzG9vQ3QEP4kMjoLzs77ulMA7y9iagvsPmmH27PtZGEryubGG/Kiywh9H/JXGovgF+9hig==" }, "babel-plugin-transform-inline-consecutive-adds": { "version": "0.2.0", @@ -457,24 +462,24 @@ "integrity": "sha512-GlhOuLOQ28ua9prg0hT33HslCrEmz9xWXy9ZNZSACppCyRxxRW+haYtRgm7uYXCcd0q8ggCWD2pfWEJp5iiZfQ==" }, "babel-plugin-transform-member-expression-literals": { - "version": "6.9.1", - "resolved": "https://registry.npmjs.org/babel-plugin-transform-member-expression-literals/-/babel-plugin-transform-member-expression-literals-6.9.1.tgz", - "integrity": "sha1-lr4umWjn9UlzM64DKE7NU0BAVIk=" + "version": "6.9.4", + "resolved": "https://registry.npmjs.org/babel-plugin-transform-member-expression-literals/-/babel-plugin-transform-member-expression-literals-6.9.4.tgz", + "integrity": "sha1-NwOcmgwzE6OUlfqsL/OmtbnQOL8=" }, "babel-plugin-transform-merge-sibling-variables": { - "version": "6.9.1", - "resolved": "https://registry.npmjs.org/babel-plugin-transform-merge-sibling-variables/-/babel-plugin-transform-merge-sibling-variables-6.9.1.tgz", - "integrity": "sha1-kHHkQ7IUWM5rCo04QbpaF09dwoI=" + "version": "6.9.4", + "resolved": "https://registry.npmjs.org/babel-plugin-transform-merge-sibling-variables/-/babel-plugin-transform-merge-sibling-variables-6.9.4.tgz", + "integrity": "sha1-hbQi/DN3tEnJ0c3kQIcgNTJAHa4=" }, "babel-plugin-transform-minify-booleans": { - "version": "6.9.1", - "resolved": "https://registry.npmjs.org/babel-plugin-transform-minify-booleans/-/babel-plugin-transform-minify-booleans-6.9.1.tgz", - "integrity": "sha1-UsunnAD6UJc3BkBV76siFm4UDE0=" + "version": "6.9.4", + "resolved": "https://registry.npmjs.org/babel-plugin-transform-minify-booleans/-/babel-plugin-transform-minify-booleans-6.9.4.tgz", + "integrity": "sha1-rLs+VqNVXdI5KOS1gtKFFi3SsZg=" }, "babel-plugin-transform-property-literals": { - "version": "6.9.1", - "resolved": "https://registry.npmjs.org/babel-plugin-transform-property-literals/-/babel-plugin-transform-property-literals-6.9.1.tgz", - "integrity": "sha1-aXD5Oxd5OrzenPJdLozRPgCI5ck=" + "version": "6.9.4", + "resolved": "https://registry.npmjs.org/babel-plugin-transform-property-literals/-/babel-plugin-transform-property-literals-6.9.4.tgz", + "integrity": "sha1-mMHSHiVXNlc/k+zlRFn2ziSYXTk=" }, "babel-plugin-transform-regexp-constructors": { "version": "0.2.0", @@ -482,14 +487,14 @@ "integrity": "sha512-7IsQ6aQx6LAaOqy97/PthTf+5Nx9grZww3r6E62IdWe76Yr8KsuwVjxzqSPQvESJqTE3EMADQ9S0RtwWDGNG9Q==" }, "babel-plugin-transform-remove-console": { - "version": "6.9.1", - "resolved": "https://registry.npmjs.org/babel-plugin-transform-remove-console/-/babel-plugin-transform-remove-console-6.9.1.tgz", - "integrity": "sha1-QP6V2YyuWBHYoOGImBLXixKFllE=" + "version": "6.9.4", + "resolved": "https://registry.npmjs.org/babel-plugin-transform-remove-console/-/babel-plugin-transform-remove-console-6.9.4.tgz", + "integrity": "sha1-uYA2DAZzhOJLNXpYjYB9PINSd4A=" }, "babel-plugin-transform-remove-debugger": { - "version": "6.9.1", - "resolved": "https://registry.npmjs.org/babel-plugin-transform-remove-debugger/-/babel-plugin-transform-remove-debugger-6.9.1.tgz", - "integrity": "sha1-dlUtLp1sQ9nGdrv8CPPCoswUvhQ=" + "version": "6.9.4", + "resolved": "https://registry.npmjs.org/babel-plugin-transform-remove-debugger/-/babel-plugin-transform-remove-debugger-6.9.4.tgz", + "integrity": "sha1-QrcnYxyXl44estGZp67IShgznvI=" }, "babel-plugin-transform-remove-undefined": { "version": "0.2.0", @@ -497,39 +502,34 @@ "integrity": "sha512-O8v57tPMHkp89kA4ZfQEYds/pzgvz/QYerBJjIuL5/Jc7RnvMVRA5gJY9zFKP7WayW8WOSBV4vh8Y8FJRio+ow==" }, "babel-plugin-transform-simplify-comparison-operators": { - "version": "6.9.1", - "resolved": "https://registry.npmjs.org/babel-plugin-transform-simplify-comparison-operators/-/babel-plugin-transform-simplify-comparison-operators-6.9.1.tgz", - "integrity": "sha1-Ww0GmAoXp4D1MYsnTAC+L7HHxP4=" + "version": "6.9.4", + "resolved": "https://registry.npmjs.org/babel-plugin-transform-simplify-comparison-operators/-/babel-plugin-transform-simplify-comparison-operators-6.9.4.tgz", + "integrity": "sha1-9ir+CWyrDh9ootdT/fKDiIRxzrk=" }, "babel-plugin-transform-undefined-to-void": { - "version": "6.9.1", - "resolved": "https://registry.npmjs.org/babel-plugin-transform-undefined-to-void/-/babel-plugin-transform-undefined-to-void-6.9.1.tgz", - "integrity": "sha1-19+cHdDsEuD/6JXtFEX2Hxv14iE=" + "version": "6.9.4", + "resolved": "https://registry.npmjs.org/babel-plugin-transform-undefined-to-void/-/babel-plugin-transform-undefined-to-void-6.9.4.tgz", + "integrity": "sha1-viQcqBQEAwZ4t0hxcyK4nQyP4oA=" }, "babel-preset-meteor": { - "version": "7.0.0-beta.46", - "resolved": "https://registry.npmjs.org/babel-preset-meteor/-/babel-preset-meteor-7.0.0-beta.46.tgz", - "integrity": "sha512-XrxvtwFrvs046DIQXMkrb0QM5t8xj8YQ8jc9cTOmzL4VHvAEFttlzGkgBfCLa2cKB5nE7dbacxTgDQPKPtC5Lw==" + "version": "7.0.0-beta.48", + "resolved": "https://registry.npmjs.org/babel-preset-meteor/-/babel-preset-meteor-7.0.0-beta.48.tgz", + "integrity": "sha512-0ezZUD6b+/3pz5kbqu9GbrTT5u/2dFIscV7QseyilSVH/i/+5VqBWbTX+zf6YqWnit4kLUw7lSNwQY/UIYOqLA==" }, "babel-preset-minify": { "version": "0.2.0", "resolved": "https://registry.npmjs.org/babel-preset-minify/-/babel-preset-minify-0.2.0.tgz", "integrity": "sha512-mR8Q44RmMzm18bM2Lqd9uiPopzk5GDCtVuquNbLFmX6lOKnqWoenaNBxnWW0UhBFC75lEHTIgNGCbnsRI0pJVw==" }, - "babylon": { - "version": "7.0.0-beta.46", - "resolved": "https://registry.npmjs.org/babylon/-/babylon-7.0.0-beta.46.tgz", - "integrity": "sha512-WFJlg2WatdkXRFMpk7BN/Uzzkjkcjk+WaqnrSCpay+RYl4ypW9ZetZyT9kNt22IH/BQNst3M6PaaBn9IXsUNrg==" - }, "braces": { "version": "1.8.5", "resolved": "https://registry.npmjs.org/braces/-/braces-1.8.5.tgz", "integrity": "sha1-uneWLhLf+WnWt2cR6RS3N4V79qc=" }, "chalk": { - "version": "2.4.0", - "resolved": "https://registry.npmjs.org/chalk/-/chalk-2.4.0.tgz", - "integrity": "sha512-Wr/w0f4o9LuE7K53cD0qmbAMM+2XNLzR29vFn5hqko4sxGlUsyy363NvmyGIyk5tpe9cjTr9SJYbysEyPkRnFw==" + "version": "2.4.1", + "resolved": "https://registry.npmjs.org/chalk/-/chalk-2.4.1.tgz", + "integrity": "sha512-ObN6h1v2fTJSmUXoS3nMQ92LbDK9be4TV+6G+omQlGJFdcUX5heKi1LZ1YnRMIgwTLEj3E24bT6tYni50rlCfQ==" }, "color-convert": { "version": "1.9.1", @@ -547,9 +547,9 @@ "integrity": "sha1-ms1whRxtXf3ZPZKC5e35SgP/RrU=" }, "core-js": { - "version": "2.5.5", - "resolved": "https://registry.npmjs.org/core-js/-/core-js-2.5.5.tgz", - "integrity": "sha1-sU3ek2xkDAV5prUMq8wTLdYSfjs=" + "version": "2.5.6", + "resolved": "https://registry.npmjs.org/core-js/-/core-js-2.5.6.tgz", + "integrity": "sha512-lQUVfQi0aLix2xpyjrrJEvfuYCqPc/HwmTKsC/VNf8q0zsjX7SQZtp4+oRONN5Tsur9GDETPjj+Ub2iDiGZfSQ==" }, "debug": { "version": "3.1.0", @@ -587,9 +587,9 @@ "integrity": "sha1-wcS5vuPglyXdsQa3XB4wH+LxiyY=" }, "fill-range": { - "version": "2.2.3", - "resolved": "https://registry.npmjs.org/fill-range/-/fill-range-2.2.3.tgz", - "integrity": "sha1-ULd9/X5Gm8dJJHCWNpn+eoSFpyM=" + "version": "2.2.4", + "resolved": "https://registry.npmjs.org/fill-range/-/fill-range-2.2.4.tgz", + "integrity": "sha512-cnrcCbj01+j2gTG921VZPnHbjmdAf8oQV/iGeV2kZxGSyfYjjTyY79ErsK1WJWMpw6DaApEX72binqJE+/d+5Q==" }, "for-in": { "version": "1.0.2", @@ -612,9 +612,9 @@ "integrity": "sha1-gTg9ctsFT8zPUzbaqQLxgvbtuyg=" }, "globals": { - "version": "11.4.0", - "resolved": "https://registry.npmjs.org/globals/-/globals-11.4.0.tgz", - "integrity": "sha512-Dyzmifil8n/TmSqYDEXbm+C8yitzJQqQIlJQLNRMwa+BOUJpRC19pyVeN12JAjt61xonvXjtff+hJruTRXn5HA==" + "version": "11.5.0", + "resolved": "https://registry.npmjs.org/globals/-/globals-11.5.0.tgz", + "integrity": "sha512-hYyf+kI8dm3nORsiiXUQigOU62hDLfJ9G01uyGMxhc6BKsircrUhC4uJPQPUSuq2GrTmiiEt7ewxlMdBewfmKQ==" }, "has-flag": { "version": "3.0.0", @@ -702,9 +702,9 @@ "integrity": "sha1-MeohpzS6ubuw8yRm2JOupR5KPGQ=" }, "lodash": { - "version": "4.17.4", - "resolved": "https://registry.npmjs.org/lodash/-/lodash-4.17.4.tgz", - "integrity": "sha1-eCA6TRwyiuHYbcpkYONptX9AVa4=" + "version": "4.17.10", + "resolved": "https://registry.npmjs.org/lodash/-/lodash-4.17.10.tgz", + "integrity": "sha512-UejweD1pDoXu+AD825lWwp4ZGtSwgnpZxb3JDViD7StjQz+Nb/6l093lx4OQ0foGWNRoc19mWy7BzL+UAK2iVg==" }, "lodash.isplainobject": { "version": "4.0.6", @@ -721,10 +721,15 @@ "resolved": "https://registry.npmjs.org/loose-envify/-/loose-envify-1.3.1.tgz", "integrity": "sha1-0aitM/qc4OcT1l/dCsi3SNR4yEg=" }, + "math-random": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/math-random/-/math-random-1.0.1.tgz", + "integrity": "sha1-izqsWIuKZuSXXjzepn97sylgH6w=" + }, "meteor-babel": { - "version": "7.0.0-beta.46", - "resolved": "https://registry.npmjs.org/meteor-babel/-/meteor-babel-7.0.0-beta.46.tgz", - "integrity": "sha512-WbL1SR2kFT8P++eeqdjPhkDKi7zhgtYdr3fT73UdqftYRl0d1FpegzUTW3Rh8HdjS/PlqCQdBIbFa7cjo/uIKg==" + "version": "7.0.0-beta.48", + "resolved": "https://registry.npmjs.org/meteor-babel/-/meteor-babel-7.0.0-beta.48.tgz", + "integrity": "sha512-iMXSp/jdZa3PT48SUCZpdzS/rFRWLDifj99ffAzTZTFdGlLEIQh/7iXH/nQ9J/+bsUl+frOyHm2XT++G13EwHQ==" }, "meteor-babel-helpers": { "version": "0.0.3", @@ -772,38 +777,31 @@ "integrity": "sha512-VvivMrbvd2nKkiG38qjULzlc+4Vx4wm/whI9pQD35YrARNnhxeiRktSOhSukRLFNlzg6Br/cJPet5J/u19r/mg==" }, "randomatic": { - "version": "1.1.7", - "resolved": "https://registry.npmjs.org/randomatic/-/randomatic-1.1.7.tgz", - "integrity": "sha512-D5JUjPyJbaJDkuAazpVnSfVkLlpeO3wDlPROTMLGKG1zMFNFRgrciKo1ltz/AzNTkqE0HzDx655QOL51N06how==", + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/randomatic/-/randomatic-3.0.0.tgz", + "integrity": "sha512-VdxFOIEY3mNO5PtSRkkle/hPJDHvQhK21oa73K4yAc9qmp6N429gAyF1gZMOTMeS0/AYzaV/2Trcef+NaIonSA==", "dependencies": { "is-number": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/is-number/-/is-number-3.0.0.tgz", - "integrity": "sha1-JP1iAaR4LPUFYcgQJ2r8fRLXEZU=", - "dependencies": { - "kind-of": { - "version": "3.2.2", - "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-3.2.2.tgz", - "integrity": "sha1-MeohpzS6ubuw8yRm2JOupR5KPGQ=" - } - } + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/is-number/-/is-number-4.0.0.tgz", + "integrity": "sha512-rSklcAIlf1OmFdyAqbnWTLVelsQ58uvZ66S/ZyawjWqIviTWCjg2PzVGw8WUA+nNuPTqb4wgA+NszrJ+08LlgQ==" }, "kind-of": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-4.0.0.tgz", - "integrity": "sha1-IIE989cSkosgc3hpGkUGb65y3Vc=" + "version": "6.0.2", + "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-6.0.2.tgz", + "integrity": "sha512-s5kLOcnH0XqDO+FvuaLX8DDjZ18CGFk7VygH40QoKPUQhW4e2rvM0rwUq0t8IQDOwYSeLK01U90OjzBTme2QqA==" } } }, "regenerate": { - "version": "1.3.3", - "resolved": "https://registry.npmjs.org/regenerate/-/regenerate-1.3.3.tgz", - "integrity": "sha512-jVpo1GadrDAK59t/0jRx5VxYWQEDkkEKi6+HjE3joFVLfDOh9Xrdh0dF1eSq+BI/SwvTQ44gSscJ8N5zYL61sg==" + "version": "1.4.0", + "resolved": "https://registry.npmjs.org/regenerate/-/regenerate-1.4.0.tgz", + "integrity": "sha512-1G6jJVDWrt0rK99kBjvEtziZNCICAuvIPkSiUFIQxVP06RCVpq3dmDo2oi6ABpYaDYaTRr67BEhL8r1wgEZZKg==" }, "regenerate-unicode-properties": { - "version": "5.1.3", - "resolved": "https://registry.npmjs.org/regenerate-unicode-properties/-/regenerate-unicode-properties-5.1.3.tgz", - "integrity": "sha512-Yjy6t7jFQczDhYE+WVm7pg6gWYE258q4sUkk9qDErwXJIqx7jU9jGrMFHutJK/SRfcg7MEkXjGaYiVlOZyev/A==" + "version": "6.0.0", + "resolved": "https://registry.npmjs.org/regenerate-unicode-properties/-/regenerate-unicode-properties-6.0.0.tgz", + "integrity": "sha512-BvXxRS7RfVWxtm7vrq+0I0j7sqZ1zeSC+yzf5HS0qLnKcZPX541gFEGB39LvGuKHrkyKXrzXug+oC7xkM1Zovw==" }, "regenerator-runtime": { "version": "0.11.1", @@ -821,19 +819,19 @@ "integrity": "sha512-nVIZwtCjkC9YgvWkpM55B5rBhBYRZhAaJbgcFYXXsHnbZ9UZI9nnVWYZpBlCqv9ho2eZryPnWrZGsOdPwVWXWQ==" }, "regexpu-core": { - "version": "4.1.3", - "resolved": "https://registry.npmjs.org/regexpu-core/-/regexpu-core-4.1.3.tgz", - "integrity": "sha512-mB+njEzO7oezA57IbQxxd6fVPOeWKDmnGvJ485CwmfNchjHe5jWwqKepapmzUEj41yxIAqOg+C4LbXuJlkiO8A==" + "version": "4.1.5", + "resolved": "https://registry.npmjs.org/regexpu-core/-/regexpu-core-4.1.5.tgz", + "integrity": "sha512-3xo5pFze1F8oR4F9x3aFbdtdxAxQ9WBX6gXfLgeBt7KpDI0+oDF7WVntnhsPKqobU/GAYc2pmx+y3z0JI1+z3w==" }, "regjsgen": { - "version": "0.3.0", - "resolved": "https://registry.npmjs.org/regjsgen/-/regjsgen-0.3.0.tgz", - "integrity": "sha1-DuSj6SdkMM2iXx54nqbBW4ewy0M=" + "version": "0.4.0", + "resolved": "https://registry.npmjs.org/regjsgen/-/regjsgen-0.4.0.tgz", + "integrity": "sha512-X51Lte1gCYUdlwhF28+2YMO0U6WeN0GLpgpA7LK7mbdDnkQYiwvEpmpe0F/cv5L14EbxgrdayAG3JETBv0dbXA==" }, "regjsparser": { - "version": "0.2.1", - "resolved": "https://registry.npmjs.org/regjsparser/-/regjsparser-0.2.1.tgz", - "integrity": "sha1-w3h1U/rwTndcMCEC7zRtmVAA7Bw=", + "version": "0.3.0", + "resolved": "https://registry.npmjs.org/regjsparser/-/regjsparser-0.3.0.tgz", + "integrity": "sha512-zza72oZBBHzt64G7DxdqrOo/30bhHkwMUoT0WqfGu98XLd7N+1tsy5MJ96Bk4MD0y74n629RhmrGW6XlnLLwCA==", "dependencies": { "jsesc": { "version": "0.5.0", @@ -843,9 +841,9 @@ } }, "reify": { - "version": "0.15.1", - "resolved": "https://registry.npmjs.org/reify/-/reify-0.15.1.tgz", - "integrity": "sha512-XUIO34oFNXyb8cYRw3eVN0oqD3LwxaBFml5cHZf3Uiw6v+pfPB0D7kxKCdBjvaa1cneDtUqqQ94MPQkJt2kEWg==" + "version": "0.16.1", + "resolved": "https://registry.npmjs.org/reify/-/reify-0.16.1.tgz", + "integrity": "sha512-5YhFQFLT3DvDxIxtc//2cxMyWsqWKm9SeqMYrccXMcpL5VOaj697xfc9bK5w3x9xo/01P7KlHVNF+vwgL5zq3A==" }, "remove-trailing-separator": { "version": "1.1.0", diff --git a/packages/babel-compiler/package.js b/packages/babel-compiler/package.js index 089c9708f9..eacd2a1215 100644 --- a/packages/babel-compiler/package.js +++ b/packages/babel-compiler/package.js @@ -6,11 +6,11 @@ Package.describe({ // isn't possible because you can't publish a non-recommended // release with package versions that don't have a pre-release // identifier at the end (eg, -dev) - version: '7.0.8' + version: '7.0.9' }); Npm.depends({ - 'meteor-babel': '7.0.0-beta.46' + 'meteor-babel': '7.0.0-beta.48' }); Package.onUse(function (api) { diff --git a/packages/ecmascript/package.js b/packages/ecmascript/package.js index 27f4c3279c..7eabf2d810 100644 --- a/packages/ecmascript/package.js +++ b/packages/ecmascript/package.js @@ -1,6 +1,6 @@ Package.describe({ name: 'ecmascript', - version: '0.10.8', + version: '0.10.9', summary: 'Compiler plugin that supports ES2015+ in all .js files', documentation: 'README.md' }); diff --git a/packages/modules/.npm/package/npm-shrinkwrap.json b/packages/modules/.npm/package/npm-shrinkwrap.json index 0453702e22..2b489b7f19 100644 --- a/packages/modules/.npm/package/npm-shrinkwrap.json +++ b/packages/modules/.npm/package/npm-shrinkwrap.json @@ -7,9 +7,9 @@ "integrity": "sha512-jd5MkIUlbbmb07nXH0DT3y7rDVtkzDi4XZOUVWAer8ajmF/DTSSbl5oNFyDOl/OXA33Bl79+ypHhl2pN20VeOQ==" }, "reify": { - "version": "0.15.1", - "resolved": "https://registry.npmjs.org/reify/-/reify-0.15.1.tgz", - "integrity": "sha512-XUIO34oFNXyb8cYRw3eVN0oqD3LwxaBFml5cHZf3Uiw6v+pfPB0D7kxKCdBjvaa1cneDtUqqQ94MPQkJt2kEWg==" + "version": "0.16.1", + "resolved": "https://registry.npmjs.org/reify/-/reify-0.16.1.tgz", + "integrity": "sha512-5YhFQFLT3DvDxIxtc//2cxMyWsqWKm9SeqMYrccXMcpL5VOaj697xfc9bK5w3x9xo/01P7KlHVNF+vwgL5zq3A==" }, "semver": { "version": "5.5.0", diff --git a/packages/modules/package.js b/packages/modules/package.js index 34c42aac4c..477172a500 100644 --- a/packages/modules/package.js +++ b/packages/modules/package.js @@ -1,12 +1,12 @@ Package.describe({ name: "modules", - version: "0.11.6", + version: "0.11.8", summary: "CommonJS module system", documentation: "README.md" }); Npm.depends({ - reify: "0.15.1" + reify: "0.16.1" }); Package.onUse(function(api) { From 6407e4dafb4847036c60dadd64e41f46de1b3790 Mon Sep 17 00:00:00 2001 From: Ben Newman Date: Fri, 25 May 2018 18:41:50 -0400 Subject: [PATCH 0915/1355] Update meteor-babel to version 7.0.0-beta.49-1. Also switching from babelOptions.sourceMap to babelOptions.sourceMaps, finally: https://babeljs.io/docs/usage/api/#options --- History.md | 4 +- .../.npm/package/npm-shrinkwrap.json | 414 +++++++++--------- packages/babel-compiler/babel-compiler.js | 2 +- packages/babel-compiler/babel.js | 8 +- packages/babel-compiler/package.js | 2 +- scripts/dev-bundle-tool-package.js | 4 +- tools/isobuild/isopack.js | 2 +- tools/tool-env/install-babel.js | 2 +- 8 files changed, 216 insertions(+), 222 deletions(-) diff --git a/History.md b/History.md index 3b9c919f67..16fa2a5afd 100644 --- a/History.md +++ b/History.md @@ -218,8 +218,8 @@ foundation for any application that doesn't need Mongo or DDP. * The `meteor-babel` npm package has been updated to version - 7.0.0-beta.48. Note: while Babel has recently implemented support for a - new kind of `babel.config.js` configuration file (see [this + 7.0.0-beta.49-1. Note: while Babel has recently implemented support for + a new kind of `babel.config.js` configuration file (see [this PR](https://github.com/babel/babel/pull/7358)), and future versions of Meteor will no doubt embrace this functionality, Meteor 1.7 supports only `.babelrc` files as a means of customizing the default Babel diff --git a/packages/babel-compiler/.npm/package/npm-shrinkwrap.json b/packages/babel-compiler/.npm/package/npm-shrinkwrap.json index 0611ef7f80..c5e5134cc2 100644 --- a/packages/babel-compiler/.npm/package/npm-shrinkwrap.json +++ b/packages/babel-compiler/.npm/package/npm-shrinkwrap.json @@ -2,339 +2,339 @@ "lockfileVersion": 1, "dependencies": { "@babel/code-frame": { - "version": "7.0.0-beta.48", - "resolved": "https://registry.npmjs.org/@babel/code-frame/-/code-frame-7.0.0-beta.48.tgz", - "integrity": "sha512-zwyam2DrinaJfhmCaajZT2yRCoN3cE8dwW7uVWaHay9z2Dwn9Pidnekkz9g7kXbg2qfVqmgDKeUTVZ4+bMlfZA==" + "version": "7.0.0-beta.49", + "resolved": "https://registry.npmjs.org/@babel/code-frame/-/code-frame-7.0.0-beta.49.tgz", + "integrity": "sha1-vs2AVIJzREDJ0TfkbXc0DmTX9Rs=" }, "@babel/core": { - "version": "7.0.0-beta.48", - "resolved": "https://registry.npmjs.org/@babel/core/-/core-7.0.0-beta.48.tgz", - "integrity": "sha512-IDgOf/eKZjsW2Hz+/tXph1AczBe4MPWo53Eno5XKM68u7t3N86BMqdRQB8RctfDEhAww7EqB80CBFr7iWMDkqA==" + "version": "7.0.0-beta.49", + "resolved": "https://registry.npmjs.org/@babel/core/-/core-7.0.0-beta.49.tgz", + "integrity": "sha1-c94ggd1lJIlInwy0qpeCmhEzMU4=" }, "@babel/generator": { - "version": "7.0.0-beta.48", - "resolved": "https://registry.npmjs.org/@babel/generator/-/generator-7.0.0-beta.48.tgz", - "integrity": "sha512-RPS4dHg3wVmivvMIHW9N/ZHPZ5vc7runskURDqz3xamcFlUXSVxoziaS9VOJeivKXGzFPqr/wY03u9wDc+4A1g==" + "version": "7.0.0-beta.49", + "resolved": "https://registry.npmjs.org/@babel/generator/-/generator-7.0.0-beta.49.tgz", + "integrity": "sha1-6c/9qROZaszseTu8JauRvBnQv3o=" }, "@babel/helper-annotate-as-pure": { - "version": "7.0.0-beta.48", - "resolved": "https://registry.npmjs.org/@babel/helper-annotate-as-pure/-/helper-annotate-as-pure-7.0.0-beta.48.tgz", - "integrity": "sha512-LBldrgCApkHFwwtMJC2P2MeH+09+vPVj3Gs+mltqSpY+LyowjjUmqLUcmrF+Kj/gmRY/DqGAbvZWwNlNDs6dGQ==" + "version": "7.0.0-beta.49", + "resolved": "https://registry.npmjs.org/@babel/helper-annotate-as-pure/-/helper-annotate-as-pure-7.0.0-beta.49.tgz", + "integrity": "sha1-fZAF1U/nrWy4dnkCUedVdUGRhuk=" }, "@babel/helper-builder-binary-assignment-operator-visitor": { - "version": "7.0.0-beta.48", - "resolved": "https://registry.npmjs.org/@babel/helper-builder-binary-assignment-operator-visitor/-/helper-builder-binary-assignment-operator-visitor-7.0.0-beta.48.tgz", - "integrity": "sha512-VBAT5LjhWATA/s+R0yjqthw27fzkAALoqIMf5zcyWq2GaBrAt8+Fwtj4KaWwS/linJDMEekC/ehb++wJOtVgiQ==" + "version": "7.0.0-beta.49", + "resolved": "https://registry.npmjs.org/@babel/helper-builder-binary-assignment-operator-visitor/-/helper-builder-binary-assignment-operator-visitor-7.0.0-beta.49.tgz", + "integrity": "sha1-xi3VBCtUpZDV5x5gIMRrkdbGyHU=" }, "@babel/helper-builder-react-jsx": { - "version": "7.0.0-beta.48", - "resolved": "https://registry.npmjs.org/@babel/helper-builder-react-jsx/-/helper-builder-react-jsx-7.0.0-beta.48.tgz", - "integrity": "sha512-8xE7DEoa7EKvGYlad2tE2hvf8eD/FsqsymFWwxV00P/c0EAWFcRK/Ky5H5fnwwurgNVEDo169DpYlbfiSskQEQ==" + "version": "7.0.0-beta.49", + "resolved": "https://registry.npmjs.org/@babel/helper-builder-react-jsx/-/helper-builder-react-jsx-7.0.0-beta.49.tgz", + "integrity": "sha1-5sNfjIjpAJMTn6ezAn0FzOtH9D0=" }, "@babel/helper-call-delegate": { - "version": "7.0.0-beta.48", - "resolved": "https://registry.npmjs.org/@babel/helper-call-delegate/-/helper-call-delegate-7.0.0-beta.48.tgz", - "integrity": "sha512-5uL0AOimonrxooSH3d8G7doJCppYU6xYEP8/ii1PllpAkdepWu0RuCI6P+xFGARCUeLm8Bpgzz00g+w4Xxb8cQ==" + "version": "7.0.0-beta.49", + "resolved": "https://registry.npmjs.org/@babel/helper-call-delegate/-/helper-call-delegate-7.0.0-beta.49.tgz", + "integrity": "sha1-S11BeCpoPV3GSXg0oyMQqNAqOvk=" }, "@babel/helper-define-map": { - "version": "7.0.0-beta.48", - "resolved": "https://registry.npmjs.org/@babel/helper-define-map/-/helper-define-map-7.0.0-beta.48.tgz", - "integrity": "sha512-xYUOjKHrD7/B6OW3wNHgVQVrE7PdV3gFUQjHhPILC6DyIN1w7WehRe/ZKObB9upbaIkVq4VTdz/Do+3VQOicxA==" + "version": "7.0.0-beta.49", + "resolved": "https://registry.npmjs.org/@babel/helper-define-map/-/helper-define-map-7.0.0-beta.49.tgz", + "integrity": "sha1-TqBnqnIJNyQN85XNBzwk/K2cKzs=" }, "@babel/helper-explode-assignable-expression": { - "version": "7.0.0-beta.48", - "resolved": "https://registry.npmjs.org/@babel/helper-explode-assignable-expression/-/helper-explode-assignable-expression-7.0.0-beta.48.tgz", - "integrity": "sha512-HdKAuJM3KNwnzINIpLfvvJGu/k2EyTzvPiHXn+sEd3jfRByQU1yK2IKEEN1oJn4XPoC1OOLSYnyJbPkQnIjhXA==" + "version": "7.0.0-beta.49", + "resolved": "https://registry.npmjs.org/@babel/helper-explode-assignable-expression/-/helper-explode-assignable-expression-7.0.0-beta.49.tgz", + "integrity": "sha1-K/uV337BMHNb9lXkSiF6cNOxPpM=" }, "@babel/helper-function-name": { - "version": "7.0.0-beta.48", - "resolved": "https://registry.npmjs.org/@babel/helper-function-name/-/helper-function-name-7.0.0-beta.48.tgz", - "integrity": "sha512-7QUvVTskXuu8q8ZB6/OMM/hjoNaAjZOU1u9zMuJFvSHA7xzep0QOmPMmF8y2tadNGwuRT6KpY8DiB6GNQly6Nw==" + "version": "7.0.0-beta.49", + "resolved": "https://registry.npmjs.org/@babel/helper-function-name/-/helper-function-name-7.0.0-beta.49.tgz", + "integrity": "sha1-olwRGbnwNSeGcBJuAiXAMEHI3jI=" }, "@babel/helper-get-function-arity": { - "version": "7.0.0-beta.48", - "resolved": "https://registry.npmjs.org/@babel/helper-get-function-arity/-/helper-get-function-arity-7.0.0-beta.48.tgz", - "integrity": "sha512-crZpcjFTMxoKHgS2V75YrmCam+BULh/qesfqjaf9ioT2SfHxxXQoQeanh/xf7TTLAcIlZZkUMVgab3x4XyWSGA==" + "version": "7.0.0-beta.49", + "resolved": "https://registry.npmjs.org/@babel/helper-get-function-arity/-/helper-get-function-arity-7.0.0-beta.49.tgz", + "integrity": "sha1-z1Aj8y0q2S0Ic3STnOwJUby1FEE=" }, "@babel/helper-hoist-variables": { - "version": "7.0.0-beta.48", - "resolved": "https://registry.npmjs.org/@babel/helper-hoist-variables/-/helper-hoist-variables-7.0.0-beta.48.tgz", - "integrity": "sha512-DDG/6n26UQGd1cWwWEINorp2JLshNsvhOpkCdvPpdf84jXTKv17JPSD2m62fvyGWyoMjalAjEpAk+Ogux8COag==" + "version": "7.0.0-beta.49", + "resolved": "https://registry.npmjs.org/@babel/helper-hoist-variables/-/helper-hoist-variables-7.0.0-beta.49.tgz", + "integrity": "sha1-2XQGUck7tPp5wba6xjQFH8TQP/U=" }, "@babel/helper-member-expression-to-functions": { - "version": "7.0.0-beta.48", - "resolved": "https://registry.npmjs.org/@babel/helper-member-expression-to-functions/-/helper-member-expression-to-functions-7.0.0-beta.48.tgz", - "integrity": "sha512-tMjX+tE5sLafN1B3rSVsm1oKC3OJXZDbq4JSpGBufYlIITYxDpe9kw8DqonzQJ0e7O7foIuUxgT3/q/JmC3xeA==" + "version": "7.0.0-beta.49", + "resolved": "https://registry.npmjs.org/@babel/helper-member-expression-to-functions/-/helper-member-expression-to-functions-7.0.0-beta.49.tgz", + "integrity": "sha1-L2QrAD1FFV4KnnpK0OaI2Ru8FYM=" }, "@babel/helper-module-imports": { - "version": "7.0.0-beta.48", - "resolved": "https://registry.npmjs.org/@babel/helper-module-imports/-/helper-module-imports-7.0.0-beta.48.tgz", - "integrity": "sha512-uuxpRHHTP7+xVAtKro9z09P4bSkBcA4B+JoMc6FsT61GGnE3iRIbqb2QxQm6dFDMshlZc51/EfOainbimZRqCw==" + "version": "7.0.0-beta.49", + "resolved": "https://registry.npmjs.org/@babel/helper-module-imports/-/helper-module-imports-7.0.0-beta.49.tgz", + "integrity": "sha1-QdfVmJEBbEk0MqRvdGREZVKJDHU=" }, "@babel/helper-module-transforms": { - "version": "7.0.0-beta.48", - "resolved": "https://registry.npmjs.org/@babel/helper-module-transforms/-/helper-module-transforms-7.0.0-beta.48.tgz", - "integrity": "sha512-PTAHN19m51RBc713bQdU7yd+McGkiOVV56gMtoC9x8iYZ7mfoxvyN723t7ZUkFdMlppTW2xCzWGZ0Ok9Aw1UNA==" + "version": "7.0.0-beta.49", + "resolved": "https://registry.npmjs.org/@babel/helper-module-transforms/-/helper-module-transforms-7.0.0-beta.49.tgz", + "integrity": "sha1-/GYL2p1kl0EuGHdqca7ZqeLl960=" }, "@babel/helper-optimise-call-expression": { - "version": "7.0.0-beta.48", - "resolved": "https://registry.npmjs.org/@babel/helper-optimise-call-expression/-/helper-optimise-call-expression-7.0.0-beta.48.tgz", - "integrity": "sha512-JymM1V2kkDkizXAGmmhOFMqshOxR/gsG2xOYhM6dd5dpNEFSbEU0PTL/O6QEHJsgedq4pg6LKNwdo1EXIij0Uw==" + "version": "7.0.0-beta.49", + "resolved": "https://registry.npmjs.org/@babel/helper-optimise-call-expression/-/helper-optimise-call-expression-7.0.0-beta.49.tgz", + "integrity": "sha1-qYtDw6bFS+9I+HsQ3EVo3sC0G/c=" }, "@babel/helper-plugin-utils": { - "version": "7.0.0-beta.48", - "resolved": "https://registry.npmjs.org/@babel/helper-plugin-utils/-/helper-plugin-utils-7.0.0-beta.48.tgz", - "integrity": "sha512-2ocT0LL1uVUJVnAurHl9pcHfW8VaucCfM2YTQOVJC5yrL9CYx2HqrBsXIS6ZhOJUcbSot6945fsZhUiDWegtsw==" + "version": "7.0.0-beta.49", + "resolved": "https://registry.npmjs.org/@babel/helper-plugin-utils/-/helper-plugin-utils-7.0.0-beta.49.tgz", + "integrity": "sha1-Dp/LuDT4eLs2XSqOqQ7uIbo8zSM=" }, "@babel/helper-regex": { - "version": "7.0.0-beta.48", - "resolved": "https://registry.npmjs.org/@babel/helper-regex/-/helper-regex-7.0.0-beta.48.tgz", - "integrity": "sha512-ibH3eKfwlVZmh0UIDS/EbK6LvCe5IS4ZyIPI7nWWkQUWrJFa5unHastqiEVKfRPN06UqVdJkH6lXQxKBEpXBvQ==" + "version": "7.0.0-beta.49", + "resolved": "https://registry.npmjs.org/@babel/helper-regex/-/helper-regex-7.0.0-beta.49.tgz", + "integrity": "sha1-/yRPGcKi8Wf/SzFlpjawj9ZBgWs=" }, "@babel/helper-remap-async-to-generator": { - "version": "7.0.0-beta.48", - "resolved": "https://registry.npmjs.org/@babel/helper-remap-async-to-generator/-/helper-remap-async-to-generator-7.0.0-beta.48.tgz", - "integrity": "sha512-+DpwvwnTyH8A+WmD9X4Ubh3AyOp0TQYU6oy+1l5Qw2wlZIqsVb2VMoppET96siPv39R01E7vii/gsgne/Oqevg==" + "version": "7.0.0-beta.49", + "resolved": "https://registry.npmjs.org/@babel/helper-remap-async-to-generator/-/helper-remap-async-to-generator-7.0.0-beta.49.tgz", + "integrity": "sha1-s/2qtBJ4TX6GV7rKsoaSPvyUmLg=" }, "@babel/helper-replace-supers": { - "version": "7.0.0-beta.48", - "resolved": "https://registry.npmjs.org/@babel/helper-replace-supers/-/helper-replace-supers-7.0.0-beta.48.tgz", - "integrity": "sha512-QKksfM+sHfE/qk7DN1U+n8nqCO5IcLgBciJxT2ZGtq9aogHMK+rEFxIq57AU0T7hn9QE6iOjGSmnmT1JLWkr4g==" + "version": "7.0.0-beta.49", + "resolved": "https://registry.npmjs.org/@babel/helper-replace-supers/-/helper-replace-supers-7.0.0-beta.49.tgz", + "integrity": "sha1-50RMcYBX9qCjZFyvjnj7VG/7DZ8=" }, "@babel/helper-simple-access": { - "version": "7.0.0-beta.48", - "resolved": "https://registry.npmjs.org/@babel/helper-simple-access/-/helper-simple-access-7.0.0-beta.48.tgz", - "integrity": "sha512-55d2jEz4avJ+9hUIAS8stHRADIi7CeL/JcYGrUI+Ik/sDboCY3cdWRlFECC3PW3VksfI+F2BheDiupNj3rm5sw==" + "version": "7.0.0-beta.49", + "resolved": "https://registry.npmjs.org/@babel/helper-simple-access/-/helper-simple-access-7.0.0-beta.49.tgz", + "integrity": "sha1-l6QeJ4mpv4psMFNqJYt550RMXYI=" }, "@babel/helper-split-export-declaration": { - "version": "7.0.0-beta.48", - "resolved": "https://registry.npmjs.org/@babel/helper-split-export-declaration/-/helper-split-export-declaration-7.0.0-beta.48.tgz", - "integrity": "sha512-ghYl4j1y3GMYjCxT+V3caUTXwt4kaKbpMYHDbMvTX6/yyVQ8kCxSHEU9ZX0uSTeZDvgFjPLA53s7HOP1zdFwZw==" + "version": "7.0.0-beta.49", + "resolved": "https://registry.npmjs.org/@babel/helper-split-export-declaration/-/helper-split-export-declaration-7.0.0-beta.49.tgz", + "integrity": "sha1-QNeO2glo0BGxxShm5XRs+yPldUg=" }, "@babel/helper-wrap-function": { - "version": "7.0.0-beta.48", - "resolved": "https://registry.npmjs.org/@babel/helper-wrap-function/-/helper-wrap-function-7.0.0-beta.48.tgz", - "integrity": "sha512-eQhuwPxmQNUyThNIrc+c/NRRZP9UFT9JQ4jqAZYp+WtGuz3AsMqLxfaxYaeXLWGGDYELr4UTsResuXmPORWj1Q==" + "version": "7.0.0-beta.49", + "resolved": "https://registry.npmjs.org/@babel/helper-wrap-function/-/helper-wrap-function-7.0.0-beta.49.tgz", + "integrity": "sha1-OFWRRgtNk++W7jgZU5wM3Ju9R1g=" }, "@babel/helpers": { - "version": "7.0.0-beta.48", - "resolved": "https://registry.npmjs.org/@babel/helpers/-/helpers-7.0.0-beta.48.tgz", - "integrity": "sha512-5qvSiDO+3tOyzZAoT+PvMMlbau+P+yI2LSDo7m38x9i1nbAMooFLQTdYqOAhFpRo8cXg2Lg1msYqpYK8CeqHYQ==" + "version": "7.0.0-beta.49", + "resolved": "https://registry.npmjs.org/@babel/helpers/-/helpers-7.0.0-beta.49.tgz", + "integrity": "sha1-BU2EAy1OlChqgFhlAAaOQQBaUdA=" }, "@babel/highlight": { - "version": "7.0.0-beta.48", - "resolved": "https://registry.npmjs.org/@babel/highlight/-/highlight-7.0.0-beta.48.tgz", - "integrity": "sha512-nvyRS7pcfayjRjMg9KXCUdVcLq8/njx2ktvckovIx7cMJ9+aY58735xTIC0adkPZ13KJHbik6fJMfxO8PPZaLg==" + "version": "7.0.0-beta.49", + "resolved": "https://registry.npmjs.org/@babel/highlight/-/highlight-7.0.0-beta.49.tgz", + "integrity": "sha1-lr3GtD4TSCASumaRsQGEktOWIsw=" }, "@babel/parser": { - "version": "7.0.0-beta.48", - "resolved": "https://registry.npmjs.org/@babel/parser/-/parser-7.0.0-beta.48.tgz", - "integrity": "sha512-X3pKxvy7vL79zc/6XS6cCObyuRMnsRGRu7d3zVSPZGCdxkK0/wTeFRwseRjcvhReV/6LW2D8H8qHVFFL0c+5+w==" + "version": "7.0.0-beta.49", + "resolved": "https://registry.npmjs.org/@babel/parser/-/parser-7.0.0-beta.49.tgz", + "integrity": "sha1-lE0MW6KBK7FZ7b0iZ0Ov0mUXm9w=" }, "@babel/plugin-proposal-async-generator-functions": { - "version": "7.0.0-beta.48", - "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-async-generator-functions/-/plugin-proposal-async-generator-functions-7.0.0-beta.48.tgz", - "integrity": "sha512-gBVjr30royW56cgLuuVuk73s/7vFQb9R407WAg1iDkJOeplMo+C0esblPR/5qAHCkpktoA1PizGl3vwfVSvo9w==" + "version": "7.0.0-beta.49", + "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-async-generator-functions/-/plugin-proposal-async-generator-functions-7.0.0-beta.49.tgz", + "integrity": "sha1-h2Gl4ti1JR5w3yj00KpkqiillrE=" }, "@babel/plugin-proposal-class-properties": { - "version": "7.0.0-beta.48", - "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-class-properties/-/plugin-proposal-class-properties-7.0.0-beta.48.tgz", - "integrity": "sha512-vtZ2QeYKDW8VvX42aPw+sP9AyoZRk2V2DFOdbucxjuy6Gi9o2q66ioeOnIdrUnVxmHes4IFIuGqDS+XUT7h2Mw==" + "version": "7.0.0-beta.49", + "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-class-properties/-/plugin-proposal-class-properties-7.0.0-beta.49.tgz", + "integrity": "sha1-Un6Qr3XSP9XjuuGiGNwKbZI2tfE=" }, "@babel/plugin-proposal-object-rest-spread": { - "version": "7.0.0-beta.48", - "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-object-rest-spread/-/plugin-proposal-object-rest-spread-7.0.0-beta.48.tgz", - "integrity": "sha512-lBgqbSVX7HwsBN3//GZ+LIAtHcJm2mk0YxSigqc8JYbY6Kw27pNtvLtfGFPW7KJd4h1hFmfDkkxFk0uKhVIHSA==" + "version": "7.0.0-beta.49", + "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-object-rest-spread/-/plugin-proposal-object-rest-spread-7.0.0-beta.49.tgz", + "integrity": "sha1-bQzWD3p718REo3HE6UcL/wL1d3w=" }, "@babel/plugin-syntax-async-generators": { - "version": "7.0.0-beta.48", - "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-async-generators/-/plugin-syntax-async-generators-7.0.0-beta.48.tgz", - "integrity": "sha512-cDLSZqUeTFhu11zwyFQw6tFsgH2SrPSXVUisaON1OnMG7A05E4M6rhfDGvv0aLHpX2njSD4nUwVoFsIitJE5Kg==" + "version": "7.0.0-beta.49", + "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-async-generators/-/plugin-syntax-async-generators-7.0.0-beta.49.tgz", + "integrity": "sha1-UO6UMAKu3JqzqNEikr013Z7bHfg=" }, "@babel/plugin-syntax-class-properties": { - "version": "7.0.0-beta.48", - "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-class-properties/-/plugin-syntax-class-properties-7.0.0-beta.48.tgz", - "integrity": "sha512-pKieyemp6fw0LAMro/jJZe78UnypA+5xNAv4cmHZ1cNjGblcnC3WS2H18ruXOpHL1qQ4ITkcQZh18wFG78KEng==" + "version": "7.0.0-beta.49", + "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-class-properties/-/plugin-syntax-class-properties-7.0.0-beta.49.tgz", + "integrity": "sha1-ahT6R86qMrU+FOZkgyblLaswaQQ=" }, "@babel/plugin-syntax-dynamic-import": { - "version": "7.0.0-beta.48", - "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-dynamic-import/-/plugin-syntax-dynamic-import-7.0.0-beta.48.tgz", - "integrity": "sha512-ZCuET4SH9JWdd21E13E5xzKwxit35HyqRVyMtI1Ylqfsj3spYFZ7Pv6grvsqGf04ak5pBSRMHUmA6zjlWiV4uQ==" + "version": "7.0.0-beta.49", + "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-dynamic-import/-/plugin-syntax-dynamic-import-7.0.0-beta.49.tgz", + "integrity": "sha1-8K96xrU2dqSWCT1KbiouxlXAe3g=" }, "@babel/plugin-syntax-flow": { - "version": "7.0.0-beta.48", - "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-flow/-/plugin-syntax-flow-7.0.0-beta.48.tgz", - "integrity": "sha512-HWkFY2JajEDdMkbZc2oVEa0ZULNwqFf2JvseDy+joGRYYeKp/6a9slQDBUCtN1YNx5JmTbG190tIfbENRKvFew==" + "version": "7.0.0-beta.49", + "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-flow/-/plugin-syntax-flow-7.0.0-beta.49.tgz", + "integrity": "sha1-Wz8LZcqWYFNFNWQ7glMPsdWOY+4=" }, "@babel/plugin-syntax-jsx": { - "version": "7.0.0-beta.48", - "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-jsx/-/plugin-syntax-jsx-7.0.0-beta.48.tgz", - "integrity": "sha512-cXdKK+zz6VrRUZJhq0oo7bfLjgME7y4N3igl15VcOS3XORbyOaWwHK2Nwsa8AalOcGEjvkmAmqb40Ht18/XiXA==" + "version": "7.0.0-beta.49", + "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-jsx/-/plugin-syntax-jsx-7.0.0-beta.49.tgz", + "integrity": "sha1-FbgyUEtJ8Rb5xITo5ApeF8VC7RM=" }, "@babel/plugin-syntax-object-rest-spread": { - "version": "7.0.0-beta.48", - "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-object-rest-spread/-/plugin-syntax-object-rest-spread-7.0.0-beta.48.tgz", - "integrity": "sha512-xsezu/icfJxRpNxWG3AvvCyueKdpEZRVaPEISoSYPSiGqsFAaCozUu6XBTwDG2htcFcNfxHAdyar+TllJvQdxA==" + "version": "7.0.0-beta.49", + "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-object-rest-spread/-/plugin-syntax-object-rest-spread-7.0.0-beta.49.tgz", + "integrity": "sha1-R4SziAgj/xLnQsJrQemFf3AdY54=" }, "@babel/plugin-transform-arrow-functions": { - "version": "7.0.0-beta.48", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-arrow-functions/-/plugin-transform-arrow-functions-7.0.0-beta.48.tgz", - "integrity": "sha512-K4HCBSY369QE30JVMhDRubPD6uK2aRtkWWQ3IXpZgs2qmfKz7U0SM/NZCnOVYRUFqwmkgiCMEg0ONMCfuhHzdg==" + "version": "7.0.0-beta.49", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-arrow-functions/-/plugin-transform-arrow-functions-7.0.0-beta.49.tgz", + "integrity": "sha1-3ThFtjxoPRh9UYbuDogsQEbE8OM=" }, "@babel/plugin-transform-async-to-generator": { - "version": "7.0.0-beta.48", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-async-to-generator/-/plugin-transform-async-to-generator-7.0.0-beta.48.tgz", - "integrity": "sha512-XMwqQtmAYT1luf1WeOgRIIMNmvdqpPoWf3bdcqT8hGRJHTFxWdfkgIW/Zq6KqExnSOHFKmWF9cN7jqf/flQhGQ==" + "version": "7.0.0-beta.49", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-async-to-generator/-/plugin-transform-async-to-generator-7.0.0-beta.49.tgz", + "integrity": "sha1-kRpA65MEAYbOtpMQXKdt73/pfQM=" }, "@babel/plugin-transform-block-scoped-functions": { - "version": "7.0.0-beta.48", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-block-scoped-functions/-/plugin-transform-block-scoped-functions-7.0.0-beta.48.tgz", - "integrity": "sha512-jlah/Zp6N5yckYpQDSrzkve/OS+blkRJ65GDNMMIi+7mJPPYczvHXIn6a0gn9IfSj6Btt1v752bHgRQhWwl/6A==" + "version": "7.0.0-beta.49", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-block-scoped-functions/-/plugin-transform-block-scoped-functions-7.0.0-beta.49.tgz", + "integrity": "sha1-eqn0b9+HO3IRqqLrDTfEw3Ghq9I=" }, "@babel/plugin-transform-block-scoping": { - "version": "7.0.0-beta.48", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-block-scoping/-/plugin-transform-block-scoping-7.0.0-beta.48.tgz", - "integrity": "sha512-KMWeGBAn1FmyNZAW4HHfGzSjswW4YWxFhUEOif/RYfJt7h8Ny7ELdqh+A97q5JNru9ZjPyQMBvGgXTOi4fANxg==" + "version": "7.0.0-beta.49", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-block-scoping/-/plugin-transform-block-scoping-7.0.0-beta.49.tgz", + "integrity": "sha1-3Vqd3ZhndciyDPW2EGWvs92eqsk=" }, "@babel/plugin-transform-classes": { - "version": "7.0.0-beta.48", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-classes/-/plugin-transform-classes-7.0.0-beta.48.tgz", - "integrity": "sha512-1m6OeD+zNheuTtcQcGW8/nk78GVzVo3xho/Gwc0U+/QbfsDRXoVEAWEvR3cuUqM+LrteWwR2hdpMuCahuY7vNA==" + "version": "7.0.0-beta.49", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-classes/-/plugin-transform-classes-7.0.0-beta.49.tgz", + "integrity": "sha1-U0JHHS5qMzczLqJGtGwL3fX8VE0=" }, "@babel/plugin-transform-computed-properties": { - "version": "7.0.0-beta.48", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-computed-properties/-/plugin-transform-computed-properties-7.0.0-beta.48.tgz", - "integrity": "sha512-eRH545kOx+rFVLt//w9NvAUUUoDuniO235RH6/lb3kgdtQUGfxaP2vHpB2zwJSAhMnnb3diShwor6ONaNxmLCA==" + "version": "7.0.0-beta.49", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-computed-properties/-/plugin-transform-computed-properties-7.0.0-beta.49.tgz", + "integrity": "sha1-uCWdF0vwerS1ZWZWK0buZSDD39I=" }, "@babel/plugin-transform-destructuring": { - "version": "7.0.0-beta.48", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-destructuring/-/plugin-transform-destructuring-7.0.0-beta.48.tgz", - "integrity": "sha512-oxHIpqJMuDSBQEY9ezR4pgcJ2K5LS3YCHMFmHroA+loeCDKTKwiJ72Bwx4ElLYM64CwfogMmra/Ee5U0YvzMPw==" + "version": "7.0.0-beta.49", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-destructuring/-/plugin-transform-destructuring-7.0.0-beta.49.tgz", + "integrity": "sha1-Q2Y5LJyC0SMQVsHQApQ4pg02K4I=" }, "@babel/plugin-transform-exponentiation-operator": { - "version": "7.0.0-beta.48", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-exponentiation-operator/-/plugin-transform-exponentiation-operator-7.0.0-beta.48.tgz", - "integrity": "sha512-oyUXYa3WMzVTtJIp2cjDBoFME8DRlxW1yBZVOdtI0MDLIkOrZjHMGVwCUblQgT10qfpiMfRYKJTN1t8zx98axw==" + "version": "7.0.0-beta.49", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-exponentiation-operator/-/plugin-transform-exponentiation-operator-7.0.0-beta.49.tgz", + "integrity": "sha1-RXstCQBHlGhKpuGwQBUIC4CgihQ=" }, "@babel/plugin-transform-flow-strip-types": { - "version": "7.0.0-beta.48", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-flow-strip-types/-/plugin-transform-flow-strip-types-7.0.0-beta.48.tgz", - "integrity": "sha512-hNNsSiefKICkvdoJTpxCU6iZYlr41ztuucW9NU5xwlp0rEBsIrzq9Wa9K/7/KzpqoWw1kfseZRy/TfxdHcjykw==" + "version": "7.0.0-beta.49", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-flow-strip-types/-/plugin-transform-flow-strip-types-7.0.0-beta.49.tgz", + "integrity": "sha1-8ComUo6UssHRHZVztj7leC1PKvk=" }, "@babel/plugin-transform-for-of": { - "version": "7.0.0-beta.48", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-for-of/-/plugin-transform-for-of-7.0.0-beta.48.tgz", - "integrity": "sha512-Pm1iNyT1bZEB0aQs+VvMuubOTPEuDCbonljBKp4/VxP89S8nmyyrw1jAsxUOUnZq1RlOzcrhKFmd+gI/C3DOoQ==" + "version": "7.0.0-beta.49", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-for-of/-/plugin-transform-for-of-7.0.0-beta.49.tgz", + "integrity": "sha1-PscnJr8diaDU1RG+epVJBm9Xqt4=" }, "@babel/plugin-transform-literals": { - "version": "7.0.0-beta.48", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-literals/-/plugin-transform-literals-7.0.0-beta.48.tgz", - "integrity": "sha512-5SOXkuWm2DmLSFxygIkEqZlbnRF5CxWecS0izPhVShi3Nac8/1iQHZg6tk5oY4ZULOW4RmqPabkaaGg3zHjYFg==" + "version": "7.0.0-beta.49", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-literals/-/plugin-transform-literals-7.0.0-beta.49.tgz", + "integrity": "sha1-B8g4JU1l5oZ+hlE+sPItXyawpWo=" }, "@babel/plugin-transform-modules-commonjs": { - "version": "7.0.0-beta.48", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-modules-commonjs/-/plugin-transform-modules-commonjs-7.0.0-beta.48.tgz", - "integrity": "sha512-tSBaAoYYE/mD7ZuFVH8TNj7uKe/SMSzLS18DQm+PxStI1bohcc/3nJpIYNK4JVVw11IWp9C/trCb4aLNK20lfA==" + "version": "7.0.0-beta.49", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-modules-commonjs/-/plugin-transform-modules-commonjs-7.0.0-beta.49.tgz", + "integrity": "sha1-Cfs0XVknwro72J582xOlUGftOaA=" }, "@babel/plugin-transform-object-super": { - "version": "7.0.0-beta.48", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-object-super/-/plugin-transform-object-super-7.0.0-beta.48.tgz", - "integrity": "sha512-4lykgbUgoGWvLPivTl3E5desyh5mIOjA0op8fOgdXjDiTKIwR0v+1mFfgfIWdv7LGMSam+inNVMLp+MvnEmNIw==" + "version": "7.0.0-beta.49", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-object-super/-/plugin-transform-object-super-7.0.0-beta.49.tgz", + "integrity": "sha1-swL1VwKEc0PBD/T7hDXMNXR1X+M=" }, "@babel/plugin-transform-parameters": { - "version": "7.0.0-beta.48", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-parameters/-/plugin-transform-parameters-7.0.0-beta.48.tgz", - "integrity": "sha512-sNCDddJmmdXKxweyxm2CcQ1QRLjTeoUyrI5Vmn1X2pepwqKMMEujai0cyruEKAmQqKepAJ0PIHsW16mLcRf5FQ==" + "version": "7.0.0-beta.49", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-parameters/-/plugin-transform-parameters-7.0.0-beta.49.tgz", + "integrity": "sha1-HK1xoqMygeXvuxpGI6lkwHPOmi0=" }, "@babel/plugin-transform-property-literals": { - "version": "7.0.0-beta.48", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-property-literals/-/plugin-transform-property-literals-7.0.0-beta.48.tgz", - "integrity": "sha512-6QsNN5tbbHz4YIJQNiKUKLIG1U7xc69SEEUnhOTE92nQCBupFH14Kc33Q56jYx6pbCKuwMlZvxcI9JfYdRA9cw==" + "version": "7.0.0-beta.49", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-property-literals/-/plugin-transform-property-literals-7.0.0-beta.49.tgz", + "integrity": "sha1-pUUlZaVTmcLfTn/WsylFOK4rtSg=" }, "@babel/plugin-transform-react-display-name": { - "version": "7.0.0-beta.48", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-react-display-name/-/plugin-transform-react-display-name-7.0.0-beta.48.tgz", - "integrity": "sha512-LubTt4wOxUSJMFRlM0ZN/esoijkpICFmSa1tBTqrI3JGyJLe0XD113BNvQ+owP1Xi/lfmyJOYq2F73LfDYz+Cw==" + "version": "7.0.0-beta.49", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-react-display-name/-/plugin-transform-react-display-name-7.0.0-beta.49.tgz", + "integrity": "sha1-JCoAa/QSKpOyc/ad/mw5Sg/Oxjg=" }, "@babel/plugin-transform-react-jsx": { - "version": "7.0.0-beta.48", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-react-jsx/-/plugin-transform-react-jsx-7.0.0-beta.48.tgz", - "integrity": "sha512-0lGYrdINNhP9dpgVwG6JvBD2bu49FjkMgTtGzfeJvpWJb1naUWTWkdupYSZ+izkY1fxCqY7Zki+gDWpU+Dih3Q==" + "version": "7.0.0-beta.49", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-react-jsx/-/plugin-transform-react-jsx-7.0.0-beta.49.tgz", + "integrity": "sha1-DyeJ/eMFw8FBUYSPhRSirxRBr1g=" }, "@babel/plugin-transform-react-jsx-self": { - "version": "7.0.0-beta.48", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-react-jsx-self/-/plugin-transform-react-jsx-self-7.0.0-beta.48.tgz", - "integrity": "sha512-Z28mE15q+yf/havcN9LRjBOLCUw02QllRTQH9T+nbVDVDUSqAgeYSZmmxWzoe0zVt+sdoZ2NUgrSrPTzwdcOYQ==" + "version": "7.0.0-beta.49", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-react-jsx-self/-/plugin-transform-react-jsx-self-7.0.0-beta.49.tgz", + "integrity": "sha1-oRgoujgDXBqpP9RAmbmJcBn6VGw=" }, "@babel/plugin-transform-react-jsx-source": { - "version": "7.0.0-beta.48", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-react-jsx-source/-/plugin-transform-react-jsx-source-7.0.0-beta.48.tgz", - "integrity": "sha512-wYH3U6fkaHaMFtI8rNIopv4h5MSTth3QKnZRwHw6nCaxnjbX6MkOfKWoxE24AH/7BfVlfNvKtidWKlPXr+0FgQ==" + "version": "7.0.0-beta.49", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-react-jsx-source/-/plugin-transform-react-jsx-source-7.0.0-beta.49.tgz", + "integrity": "sha1-Bbt0KbbdRMvcppWFSBNHqAnKqMo=" }, "@babel/plugin-transform-regenerator": { - "version": "7.0.0-beta.48", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-regenerator/-/plugin-transform-regenerator-7.0.0-beta.48.tgz", - "integrity": "sha512-+XG3RFR8RZS0SUgQ+Zc7Xns4TRcvIoLRnkGNEXk00kG5I6i3OxJRROChQHXSL90JOpcXIVcSj54z6gxOS+d85Q==" + "version": "7.0.0-beta.49", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-regenerator/-/plugin-transform-regenerator-7.0.0-beta.49.tgz", + "integrity": "sha1-1O15ZwM/T1tJNjwgNQOJm4NXyuI=" }, "@babel/plugin-transform-runtime": { - "version": "7.0.0-beta.48", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-runtime/-/plugin-transform-runtime-7.0.0-beta.48.tgz", - "integrity": "sha512-/osX+76qOfcdF97VvpkHTfAUTjG9jUETvflNip70mb1J9Ok6Muieny1OwB+BMKFpUXEfNQfHZw3CoxpHgxhiyA==" + "version": "7.0.0-beta.49", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-runtime/-/plugin-transform-runtime-7.0.0-beta.49.tgz", + "integrity": "sha1-ZaMOwLw29CSTJdvCQ4+X9WO0Hxo=" }, "@babel/plugin-transform-shorthand-properties": { - "version": "7.0.0-beta.48", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-shorthand-properties/-/plugin-transform-shorthand-properties-7.0.0-beta.48.tgz", - "integrity": "sha512-9/ay/owcYN6auRT+yAMIwyyA/k5pVByecZ7QpcOu8z2bMaDvlCBzP00iAtgZjBsEgBlqxcCdy5VexVkWyDUkew==" + "version": "7.0.0-beta.49", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-shorthand-properties/-/plugin-transform-shorthand-properties-7.0.0-beta.49.tgz", + "integrity": "sha1-SfE0295PZVg0whUk6eYaWNTheQA=" }, "@babel/plugin-transform-spread": { - "version": "7.0.0-beta.48", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-spread/-/plugin-transform-spread-7.0.0-beta.48.tgz", - "integrity": "sha512-RFCSLFlxKCo40Yu69gGZqj4Ky6Tea6hPeqwCeGFu9XEdODGvA+u1tk8u7XQXbnWfaZ09e9BBSeJUUGPC69J35A==" + "version": "7.0.0-beta.49", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-spread/-/plugin-transform-spread-7.0.0-beta.49.tgz", + "integrity": "sha1-arqwX8DMqCmq+eKoUES3l2Pmgco=" }, "@babel/plugin-transform-sticky-regex": { - "version": "7.0.0-beta.48", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-sticky-regex/-/plugin-transform-sticky-regex-7.0.0-beta.48.tgz", - "integrity": "sha512-HNXgYUxMMDFGgfT9Rzi7BzpM27qdQl5akXq9X1RHRejroORwdVk3FCv4+QdxPxuLIWFkiPR55ZqMGF3W/r+hyA==" + "version": "7.0.0-beta.49", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-sticky-regex/-/plugin-transform-sticky-regex-7.0.0-beta.49.tgz", + "integrity": "sha1-CMxbZM9qWUKoe92bSkgY1MuhLfM=" }, "@babel/plugin-transform-template-literals": { - "version": "7.0.0-beta.48", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-template-literals/-/plugin-transform-template-literals-7.0.0-beta.48.tgz", - "integrity": "sha512-9QoVXXjIuhn7m0dlmFuxOTGmlrpyrTHAa6KGnnQO6PannxtDJLR29lrZt4V9OcY44ob4yPIw/W72dBFjkZcJWg==" + "version": "7.0.0-beta.49", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-template-literals/-/plugin-transform-template-literals-7.0.0-beta.49.tgz", + "integrity": "sha1-5gmu1rj8x+HrzKzyITimRyApQKI=" }, "@babel/plugin-transform-typeof-symbol": { - "version": "7.0.0-beta.48", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-typeof-symbol/-/plugin-transform-typeof-symbol-7.0.0-beta.48.tgz", - "integrity": "sha512-oQZYsVherJCr6GGjHWd6hl0CLQB+H9C8QilqiTO98Uw5ng2TRw+UQi1JrjB2fZrGy819Uf11yu/K9OQ2CeF9nA==" + "version": "7.0.0-beta.49", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-typeof-symbol/-/plugin-transform-typeof-symbol-7.0.0-beta.49.tgz", + "integrity": "sha1-NlFBujVb9znu/Wwrud8cO3FG5FA=" }, "@babel/plugin-transform-unicode-regex": { - "version": "7.0.0-beta.48", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-unicode-regex/-/plugin-transform-unicode-regex-7.0.0-beta.48.tgz", - "integrity": "sha512-dSNSPWnQIn4eMiu3rh2+sEShc7PjbNs+Da2dCoFg6q5cDqKG2D/9EDNMNSKhqXXCp91Y+Ju0G77xgslw3DU7zQ==" + "version": "7.0.0-beta.49", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-unicode-regex/-/plugin-transform-unicode-regex-7.0.0-beta.49.tgz", + "integrity": "sha1-w3XbVwl1diFSPUGstiqavw1DdLg=" }, "@babel/preset-react": { - "version": "7.0.0-beta.48", - "resolved": "https://registry.npmjs.org/@babel/preset-react/-/preset-react-7.0.0-beta.48.tgz", - "integrity": "sha512-y96O9njnFUzEo31cQ0ZQ52veoOKSOmL71al/XfE/42IvTRdIIxIRtQr1YqcYbFOzFrL7MZtEkMqh5dDu+J6bXA==" + "version": "7.0.0-beta.49", + "resolved": "https://registry.npmjs.org/@babel/preset-react/-/preset-react-7.0.0-beta.49.tgz", + "integrity": "sha1-DIZ3D254pJr2+GlC9ZgL61/rdsU=" }, "@babel/runtime": { - "version": "7.0.0-beta.48", - "resolved": "https://registry.npmjs.org/@babel/runtime/-/runtime-7.0.0-beta.48.tgz", - "integrity": "sha512-yzvAaV6DgvFtuhvTWCHKOxTJlrKK/G+Nkd6C84NCpXwGcUfVwRZFjqA+j/fCi1IWxkmDBFeCH+AtD33T+jE/JQ==" + "version": "7.0.0-beta.49", + "resolved": "https://registry.npmjs.org/@babel/runtime/-/runtime-7.0.0-beta.49.tgz", + "integrity": "sha1-A7O/B+uYIHLI6FHdLd1RECguYb8=" }, "@babel/template": { - "version": "7.0.0-beta.48", - "resolved": "https://registry.npmjs.org/@babel/template/-/template-7.0.0-beta.48.tgz", - "integrity": "sha512-mFrSP6UZR02YGsqlnH/8IUENCnqs749RfujSGQ/CqeJYpeZ73PAJqk1Wg2khl+Huv4L4LW8dJh7qOQ/CBkRqEg==" + "version": "7.0.0-beta.49", + "resolved": "https://registry.npmjs.org/@babel/template/-/template-7.0.0-beta.49.tgz", + "integrity": "sha1-44q+ghfLl5P0YaUwbXrXRdg+HSc=" }, "@babel/traverse": { - "version": "7.0.0-beta.48", - "resolved": "https://registry.npmjs.org/@babel/traverse/-/traverse-7.0.0-beta.48.tgz", - "integrity": "sha512-lXNTgDIFj6xyzapkpvSvqFC8x7g+sw4SzxGVLKjSbX5rK1GK7YH2XXMHii1e6yhfscfC+ski36yH23z8m9r2fQ==" + "version": "7.0.0-beta.49", + "resolved": "https://registry.npmjs.org/@babel/traverse/-/traverse-7.0.0-beta.49.tgz", + "integrity": "sha1-TypzaCoYM07WYl0QCo0nMZ98LWg=" }, "@babel/types": { - "version": "7.0.0-beta.48", - "resolved": "https://registry.npmjs.org/@babel/types/-/types-7.0.0-beta.48.tgz", - "integrity": "sha512-h37aY8aUmTMEDEaPrNwmYmwSTjf7SvJ4h8jCljaHOSq3785TZSZnxdCsNDVs+fKK21lOPh9X29rvOLTOwxgVmw==" + "version": "7.0.0-beta.49", + "resolved": "https://registry.npmjs.org/@babel/types/-/types-7.0.0-beta.49.tgz", + "integrity": "sha1-t+Oxw/TUz+Eb34yJ8e/V4WF7h6Y=" }, "acorn": { "version": "5.5.3", @@ -512,9 +512,9 @@ "integrity": "sha1-viQcqBQEAwZ4t0hxcyK4nQyP4oA=" }, "babel-preset-meteor": { - "version": "7.0.0-beta.48", - "resolved": "https://registry.npmjs.org/babel-preset-meteor/-/babel-preset-meteor-7.0.0-beta.48.tgz", - "integrity": "sha512-0ezZUD6b+/3pz5kbqu9GbrTT5u/2dFIscV7QseyilSVH/i/+5VqBWbTX+zf6YqWnit4kLUw7lSNwQY/UIYOqLA==" + "version": "7.0.0-beta.49", + "resolved": "https://registry.npmjs.org/babel-preset-meteor/-/babel-preset-meteor-7.0.0-beta.49.tgz", + "integrity": "sha512-368L/WxKj/13vYRVa/C2Ku5oRNNln6kZAZyePGXuzfRyZ64eJf3eGdkMjx/VZhnfQmSgvTyx8tc5IYnCQ4uahg==" }, "babel-preset-minify": { "version": "0.2.0", @@ -727,9 +727,9 @@ "integrity": "sha1-izqsWIuKZuSXXjzepn97sylgH6w=" }, "meteor-babel": { - "version": "7.0.0-beta.48", - "resolved": "https://registry.npmjs.org/meteor-babel/-/meteor-babel-7.0.0-beta.48.tgz", - "integrity": "sha512-iMXSp/jdZa3PT48SUCZpdzS/rFRWLDifj99ffAzTZTFdGlLEIQh/7iXH/nQ9J/+bsUl+frOyHm2XT++G13EwHQ==" + "version": "7.0.0-beta.49-1", + "resolved": "https://registry.npmjs.org/meteor-babel/-/meteor-babel-7.0.0-beta.49-1.tgz", + "integrity": "sha512-gEGbXJQiPSMbE+n0RMAY10e7fXSz7jLIVCiT8qpBH3TkHwICAxchZoqZsvJ9p9pnGEGtcxo9U3R3H7921Ryfhg==" }, "meteor-babel-helpers": { "version": "0.0.3", diff --git a/packages/babel-compiler/babel-compiler.js b/packages/babel-compiler/babel-compiler.js index d9593722ef..7c9e5a7c8e 100644 --- a/packages/babel-compiler/babel-compiler.js +++ b/packages/babel-compiler/babel-compiler.js @@ -100,7 +100,7 @@ BCp.processOneFileForTarget = function (inputFile, source) { cacheOptions.cacheDeps, ); - babelOptions.sourceMap = true; + babelOptions.sourceMaps = true; babelOptions.filename = babelOptions.sourceFileName = packageName ? "packages/" + packageName + "/" + inputFilePath diff --git a/packages/babel-compiler/babel.js b/packages/babel-compiler/babel.js index 39516e30e2..2adbbae925 100644 --- a/packages/babel-compiler/babel.js +++ b/packages/babel-compiler/babel.js @@ -9,13 +9,7 @@ function getMeteorBabel() { function getDefaultOptions(extraFeatures) { // See https://github.com/meteor/babel/blob/master/options.js for more // information about what the default options are. - var options = getMeteorBabel().getDefaultOptions(extraFeatures); - - // The sourceMap option should probably be removed from the default - // options returned by meteorBabel.getDefaultOptions. - delete options.sourceMap; - - return options; + return getMeteorBabel().getDefaultOptions(extraFeatures); } Babel = { diff --git a/packages/babel-compiler/package.js b/packages/babel-compiler/package.js index c2834f3b31..e8d577e99a 100644 --- a/packages/babel-compiler/package.js +++ b/packages/babel-compiler/package.js @@ -10,7 +10,7 @@ Package.describe({ }); Npm.depends({ - 'meteor-babel': '7.0.0-beta.48' + 'meteor-babel': '7.0.0-beta.49-1' }); Package.onUse(function (api) { diff --git a/scripts/dev-bundle-tool-package.js b/scripts/dev-bundle-tool-package.js index 3c9649d505..82e7a39f22 100644 --- a/scripts/dev-bundle-tool-package.js +++ b/scripts/dev-bundle-tool-package.js @@ -14,13 +14,13 @@ var packageJson = { pacote: "https://github.com/meteor/pacote/tarball/2c16c509074bbba8ca5dd410caf808412ce79e6c", "node-gyp": "3.6.2", "node-pre-gyp": "0.6.36", - "meteor-babel": "7.0.0-beta.48", + "meteor-babel": "7.0.0-beta.49-1", "meteor-promise": "0.8.6", promise: "8.0.1", reify: "0.16.1", fibers: "2.0.0", // So that Babel can emit require("@babel/runtime/helpers/...") calls. - "@babel/runtime": "7.0.0-beta.48", + "@babel/runtime": "7.0.0-beta.49", // For backwards compatibility with isopackets that still depend on // babel-runtime rather than @babel/runtime. "babel-runtime": "7.0.0-beta.3", diff --git a/tools/isobuild/isopack.js b/tools/isobuild/isopack.js index e8526ee72e..8cd6d94c86 100644 --- a/tools/isobuild/isopack.js +++ b/tools/isobuild/isopack.js @@ -1469,7 +1469,7 @@ _.extend(Isopack.prototype, { _.extend(babelOptions, { filename: path, sourceFileName: "/" + path, - sourceMap: true + sourceMaps: true }); var transpiled = babel.compile(inputFileContents, babelOptions, { diff --git a/tools/tool-env/install-babel.js b/tools/tool-env/install-babel.js index e91012dd1e..f8a26ee7ef 100644 --- a/tools/tool-env/install-babel.js +++ b/tools/tool-env/install-babel.js @@ -15,7 +15,7 @@ function babelRegister() { // Make sure that source maps are included in the generated code for // meteor/tools modules. - babelOptions.sourceMap = "inline"; + babelOptions.sourceMaps = "inline"; require('meteor-babel/register') .setCacheDirectory(cacheDir) From f0ce33a8ec48cc1b2ee5d13a798625aaff5ab725 Mon Sep 17 00:00:00 2001 From: Ben Newman Date: Fri, 25 May 2018 18:43:59 -0400 Subject: [PATCH 0916/1355] Bump $BUNDLE_VERSION to 8.11.2.8 before rebuilding dev bundle. --- meteor | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/meteor b/meteor index 9f4455180f..9906a76523 100755 --- a/meteor +++ b/meteor @@ -1,6 +1,6 @@ #!/usr/bin/env bash -BUNDLE_VERSION=8.11.2.7 +BUNDLE_VERSION=8.11.2.8 # OS Check. Put here because here is where we download the precompiled # bundles that are arch specific. From d87239931d691bb770d717a3d25f0f00558bc597 Mon Sep 17 00:00:00 2001 From: Ben Newman Date: Fri, 25 May 2018 18:49:38 -0400 Subject: [PATCH 0917/1355] Bump package versions for 1.7-rc.13 release. --- packages/appcache/package.js | 2 +- packages/babel-compiler/package.js | 2 +- packages/boilerplate-generator-tests/package.js | 2 +- packages/boilerplate-generator/package.js | 2 +- packages/ddp-server/package.js | 2 +- packages/dynamic-import/package.js | 2 +- packages/ecmascript-runtime-client/package.js | 2 +- packages/ecmascript-runtime-server/package.js | 2 +- packages/ecmascript-runtime/package.js | 2 +- packages/ecmascript/package.js | 2 +- packages/es5-shim/package.js | 2 +- packages/facebook-oauth/package.js | 2 +- packages/meteor-base/package.js | 2 +- packages/meteor-tool/package.js | 2 +- packages/meteor/package.js | 2 +- packages/modern-browsers/package.js | 2 +- packages/modules-runtime/package.js | 2 +- packages/modules/package.js | 2 +- packages/mongo/package.js | 2 +- packages/npm-mongo/package.js | 2 +- packages/promise/package.js | 2 +- packages/socket-stream-client/package.js | 2 +- packages/test-helpers/package.js | 2 +- packages/tracker/package.js | 2 +- packages/webapp/package.js | 2 +- scripts/admin/meteor-release-experimental.json | 2 +- 26 files changed, 26 insertions(+), 26 deletions(-) diff --git a/packages/appcache/package.js b/packages/appcache/package.js index 0e320b43e0..b4a0a0ac5b 100644 --- a/packages/appcache/package.js +++ b/packages/appcache/package.js @@ -1,6 +1,6 @@ Package.describe({ summary: "Enable the application cache in the browser", - version: "1.2.0-rc17.12", + version: "1.2.0-rc17.13", }); Package.onUse(api => { diff --git a/packages/babel-compiler/package.js b/packages/babel-compiler/package.js index e8d577e99a..7654e7bdd8 100644 --- a/packages/babel-compiler/package.js +++ b/packages/babel-compiler/package.js @@ -6,7 +6,7 @@ Package.describe({ // isn't possible because you can't publish a non-recommended // release with package versions that don't have a pre-release // identifier at the end (eg, -dev) - version: '7.1.0-rc17.12' + version: '7.1.0-rc17.13' }); Npm.depends({ diff --git a/packages/boilerplate-generator-tests/package.js b/packages/boilerplate-generator-tests/package.js index 9b57759731..99287500f1 100644 --- a/packages/boilerplate-generator-tests/package.js +++ b/packages/boilerplate-generator-tests/package.js @@ -2,7 +2,7 @@ Package.describe({ // These tests are in a separate package so that we can Npm.depend on // parse5, a html parsing library. summary: "Tests for the boilerplate-generator package", - version: '1.5.0-rc17.12', + version: '1.5.0-rc17.13', documentation: null }); diff --git a/packages/boilerplate-generator/package.js b/packages/boilerplate-generator/package.js index 894dfa6e33..387f4f8664 100644 --- a/packages/boilerplate-generator/package.js +++ b/packages/boilerplate-generator/package.js @@ -1,6 +1,6 @@ Package.describe({ summary: "Generates the boilerplate html from program's manifest", - version: '1.5.0-rc17.12' + version: '1.5.0-rc17.13' }); Npm.depends({ diff --git a/packages/ddp-server/package.js b/packages/ddp-server/package.js index c47c30a72c..cab2557359 100644 --- a/packages/ddp-server/package.js +++ b/packages/ddp-server/package.js @@ -1,6 +1,6 @@ Package.describe({ summary: "Meteor's latency-compensated distributed data server", - version: '2.2.0-rc17.12', + version: '2.2.0-rc17.13', documentation: null }); diff --git a/packages/dynamic-import/package.js b/packages/dynamic-import/package.js index d941fb95af..a1417dd97a 100644 --- a/packages/dynamic-import/package.js +++ b/packages/dynamic-import/package.js @@ -1,6 +1,6 @@ Package.describe({ name: "dynamic-import", - version: "0.4.0-rc17.12", + version: "0.4.0-rc17.13", summary: "Runtime support for Meteor 1.5 dynamic import(...) syntax", documentation: "README.md" }); diff --git a/packages/ecmascript-runtime-client/package.js b/packages/ecmascript-runtime-client/package.js index 0af3223f73..7d7206ab06 100644 --- a/packages/ecmascript-runtime-client/package.js +++ b/packages/ecmascript-runtime-client/package.js @@ -1,6 +1,6 @@ Package.describe({ name: "ecmascript-runtime-client", - version: "0.7.0-rc17.12", + version: "0.7.0-rc17.13", summary: "Polyfills for new ECMAScript 2015 APIs like Map and Set", git: "https://github.com/meteor/meteor/tree/devel/packages/ecmascript-runtime-client", documentation: "README.md" diff --git a/packages/ecmascript-runtime-server/package.js b/packages/ecmascript-runtime-server/package.js index 96581b4445..5fba40c600 100644 --- a/packages/ecmascript-runtime-server/package.js +++ b/packages/ecmascript-runtime-server/package.js @@ -1,6 +1,6 @@ Package.describe({ name: "ecmascript-runtime-server", - version: "0.7.0-rc17.12", + version: "0.7.0-rc17.13", summary: "Polyfills for new ECMAScript 2015 APIs like Map and Set", git: "https://github.com/meteor/meteor/tree/devel/packages/ecmascript-runtime-client", documentation: "README.md" diff --git a/packages/ecmascript-runtime/package.js b/packages/ecmascript-runtime/package.js index 9579f27ca3..31f53357cc 100644 --- a/packages/ecmascript-runtime/package.js +++ b/packages/ecmascript-runtime/package.js @@ -1,6 +1,6 @@ Package.describe({ name: "ecmascript-runtime", - version: "0.7.0-rc17.12", + version: "0.7.0-rc17.13", summary: "Polyfills for new ECMAScript 2015 APIs like Map and Set", git: "https://github.com/meteor/ecmascript-runtime", documentation: "README.md" diff --git a/packages/ecmascript/package.js b/packages/ecmascript/package.js index 3786712170..e874923fd6 100644 --- a/packages/ecmascript/package.js +++ b/packages/ecmascript/package.js @@ -1,6 +1,6 @@ Package.describe({ name: 'ecmascript', - version: '0.11.0-rc17.12', + version: '0.11.0-rc17.13', summary: 'Compiler plugin that supports ES2015+ in all .js files', documentation: 'README.md' }); diff --git a/packages/es5-shim/package.js b/packages/es5-shim/package.js index 3d00be89c0..1f19996645 100644 --- a/packages/es5-shim/package.js +++ b/packages/es5-shim/package.js @@ -1,6 +1,6 @@ Package.describe({ name: "es5-shim", - version: "4.8.0-rc17.12", + version: "4.8.0-rc17.13", summary: "Shims and polyfills to improve ECMAScript 5 support", documentation: "README.md" }); diff --git a/packages/facebook-oauth/package.js b/packages/facebook-oauth/package.js index 97c389e3ae..7089d7efc0 100644 --- a/packages/facebook-oauth/package.js +++ b/packages/facebook-oauth/package.js @@ -1,6 +1,6 @@ Package.describe({ summary: "Facebook OAuth flow", - version: "1.5.0-rc17.12" + version: "1.5.0-rc17.13" }); Package.onUse(function(api) { diff --git a/packages/meteor-base/package.js b/packages/meteor-base/package.js index 222424d853..2e2abda69f 100644 --- a/packages/meteor-base/package.js +++ b/packages/meteor-base/package.js @@ -1,6 +1,6 @@ Package.describe({ name: 'meteor-base', - version: '1.4.0-rc17.12', + version: '1.4.0-rc17.13', // Brief, one-line summary of the package. summary: 'Packages that every Meteor app needs', // By default, Meteor will default to using README.md for documentation. diff --git a/packages/meteor-tool/package.js b/packages/meteor-tool/package.js index 5a7b2bdbe9..da002aaa13 100644 --- a/packages/meteor-tool/package.js +++ b/packages/meteor-tool/package.js @@ -1,6 +1,6 @@ Package.describe({ summary: "The Meteor command-line tool", - version: '1.7.0-rc.12' + version: '1.7.0-rc.13' }); Package.includeTool(); diff --git a/packages/meteor/package.js b/packages/meteor/package.js index 11fedf7ce2..83f9490eaf 100644 --- a/packages/meteor/package.js +++ b/packages/meteor/package.js @@ -2,7 +2,7 @@ Package.describe({ summary: "Core Meteor environment", - version: '1.9.0-rc17.12' + version: '1.9.0-rc17.13' }); Package.registerBuildPlugin({ diff --git a/packages/modern-browsers/package.js b/packages/modern-browsers/package.js index 834b6e1b63..825c8070fb 100644 --- a/packages/modern-browsers/package.js +++ b/packages/modern-browsers/package.js @@ -1,6 +1,6 @@ Package.describe({ name: "modern-browsers", - version: "0.1.0-rc17.12", + version: "0.1.0-rc17.13", summary: "API for defining the boundary between modern and legacy " + "JavaScript clients", documentation: "README.md" diff --git a/packages/modules-runtime/package.js b/packages/modules-runtime/package.js index f4a03ca7f5..6750d582bd 100644 --- a/packages/modules-runtime/package.js +++ b/packages/modules-runtime/package.js @@ -1,6 +1,6 @@ Package.describe({ name: "modules-runtime", - version: "0.10.0-rc17.12", + version: "0.10.0-rc17.13", summary: "CommonJS module system", git: "https://github.com/benjamn/install", documentation: "README.md" diff --git a/packages/modules/package.js b/packages/modules/package.js index 40a775e808..5a4e912d5d 100644 --- a/packages/modules/package.js +++ b/packages/modules/package.js @@ -1,6 +1,6 @@ Package.describe({ name: "modules", - version: "0.12.0-rc17.12", + version: "0.12.0-rc17.13", summary: "CommonJS module system", documentation: "README.md" }); diff --git a/packages/mongo/package.js b/packages/mongo/package.js index 44c590f9cc..bef4e2ab07 100644 --- a/packages/mongo/package.js +++ b/packages/mongo/package.js @@ -9,7 +9,7 @@ Package.describe({ summary: "Adaptor for using MongoDB and Minimongo over DDP", - version: '1.5.0-rc17.12' + version: '1.5.0-rc17.13' }); Npm.depends({ diff --git a/packages/npm-mongo/package.js b/packages/npm-mongo/package.js index cd57130937..2aeb16361e 100644 --- a/packages/npm-mongo/package.js +++ b/packages/npm-mongo/package.js @@ -3,7 +3,7 @@ Package.describe({ summary: "Wrapper around the mongo npm package", - version: "3.0.7-rc17.12", + version: "3.0.7-rc17.13", documentation: null }); diff --git a/packages/promise/package.js b/packages/promise/package.js index c22f6a04f0..9168fc33ae 100644 --- a/packages/promise/package.js +++ b/packages/promise/package.js @@ -1,6 +1,6 @@ Package.describe({ name: "promise", - version: "0.11.0-rc17.12", + version: "0.11.0-rc17.13", summary: "ECMAScript 2015 Promise polyfill with Fiber support", git: "https://github.com/meteor/promise", documentation: "README.md" diff --git a/packages/socket-stream-client/package.js b/packages/socket-stream-client/package.js index a24a1d6876..1082c87ab0 100644 --- a/packages/socket-stream-client/package.js +++ b/packages/socket-stream-client/package.js @@ -1,6 +1,6 @@ Package.describe({ name: "socket-stream-client", - version: "0.2.0-rc17.12", + version: "0.2.0-rc17.13", summary: "Provides the ClientStream abstraction used by ddp-client", documentation: "README.md" }); diff --git a/packages/test-helpers/package.js b/packages/test-helpers/package.js index 2c8f49652d..f8781e790a 100644 --- a/packages/test-helpers/package.js +++ b/packages/test-helpers/package.js @@ -1,6 +1,6 @@ Package.describe({ summary: "Utility functions for tests", - version: '1.1.0-rc17.12' + version: '1.1.0-rc17.13' }); Package.onUse(function (api) { diff --git a/packages/tracker/package.js b/packages/tracker/package.js index 4c462d599f..4c2528e331 100644 --- a/packages/tracker/package.js +++ b/packages/tracker/package.js @@ -1,6 +1,6 @@ Package.describe({ summary: "Dependency tracker to allow reactive callbacks", - version: "1.2.0-rc17.12" + version: "1.2.0-rc17.13" }); Package.onUse(function (api) { diff --git a/packages/webapp/package.js b/packages/webapp/package.js index 5f1449e6c8..974a0a3b97 100644 --- a/packages/webapp/package.js +++ b/packages/webapp/package.js @@ -1,6 +1,6 @@ Package.describe({ summary: "Serves a Meteor app over HTTP", - version: '1.6.0-rc17.12' + version: '1.6.0-rc17.13' }); Npm.depends({"basic-auth-connect": "1.0.0", diff --git a/scripts/admin/meteor-release-experimental.json b/scripts/admin/meteor-release-experimental.json index 2fa29b964f..2f8f48145a 100644 --- a/scripts/admin/meteor-release-experimental.json +++ b/scripts/admin/meteor-release-experimental.json @@ -1,6 +1,6 @@ { "track": "METEOR", - "version": "1.7-rc.12", + "version": "1.7-rc.13", "recommended": false, "official": false, "description": "Meteor" From dab025e5148ed7fc9e230df4d03878eba690bfaa Mon Sep 17 00:00:00 2001 From: Ben Newman Date: Fri, 25 May 2018 20:10:39 -0400 Subject: [PATCH 0918/1355] Stop passing babelOptions.sourceMap when compiling `meteor shell` commands. --- packages/ecmascript/ecmascript.js | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/packages/ecmascript/ecmascript.js b/packages/ecmascript/ecmascript.js index 62212909da..ac258d6283 100644 --- a/packages/ecmascript/ecmascript.js +++ b/packages/ecmascript/ecmascript.js @@ -1,7 +1,8 @@ ECMAScript = { compileForShell(command) { const babelOptions = Babel.getDefaultOptions(); - babelOptions.sourceMap = false; + delete babelOptions.sourceMap; + delete babelOptions.sourceMaps; babelOptions.ast = false; return Babel.compile(command, babelOptions).code; } From f1939795edc045c213ed6dcc1f43195b65b675a2 Mon Sep 17 00:00:00 2001 From: Ben Newman Date: Sat, 24 Mar 2018 14:22:33 -0400 Subject: [PATCH 0919/1355] Call files.cp_r with { preserveSymlinks: true } in more places. Now that symlinks can be used to enable selective compilation of node_modules, it's important to preserve them. --- tools/cli/commands.js | 6 +++-- tools/fs/files.js | 30 ++++++++++++++++++++++--- tools/isobuild/builder.js | 26 +++------------------ tools/tests/old/test-bundler-assets.js | 4 +++- tools/tests/old/test-bundler-npm.js | 7 ++++-- tools/tests/old/test-bundler-options.js | 7 ++++-- tools/tool-testing/sandbox.js | 15 +++++++++---- 7 files changed, 58 insertions(+), 37 deletions(-) diff --git a/tools/cli/commands.js b/tools/cli/commands.js index b588c9e32a..9d03b24526 100644 --- a/tools/cli/commands.js +++ b/tools/cli/commands.js @@ -582,7 +582,8 @@ main.registerCommand({ return contents; } }, - ignore: [/^local$/] + ignore: [/^local$/], + preserveSymlinks: true, }); } catch (err) { Console.error("Could not create package: " + err.message); @@ -750,7 +751,8 @@ main.registerCommand({ return contents; } }, - ignore: toIgnore + ignore: toIgnore, + preserveSymlinks: true, }); // We are actually working with a new meteor project at this point, so diff --git a/tools/fs/files.js b/tools/fs/files.js index 260b531ce4..cfc31f92c6 100644 --- a/tools/fs/files.js +++ b/tools/fs/files.js @@ -495,7 +495,7 @@ files.cp_r = function(from, to, options = {}) { files.mkdir_p(files.pathDirname(to)); if (stat.isSymbolicLink()) { - files.symlink(files.readlink(from), to); + symlinkWithOverwrite(files.readlink(from), to); } else { // Create the file as readable and writable by everyone, and @@ -517,6 +517,28 @@ files.cp_r = function(from, to, options = {}) { } }; +// create a symlink, overwriting the target link, file, or directory +// if it exists +export function symlinkWithOverwrite(source, target) { + try { + files.symlink(source, target); + } catch (e) { + if (e.code === "EEXIST") { + // overwrite existing link, file, or directory + files.rm_recursive(target); + files.symlink(source, target); + } else if (e.code === "EPERM" && + process.platform === "win32") { + files.rm_recursive(target); + // This will work only if source refers to a directory, but that's a + // chance worth taking. + files.symlink(source, target, "junction"); + } else { + throw e; + } + } +} + /** * Get every path in a directory recursively, treating symlinks as files * @param {String} dir The directory to walk, either relative to options.cwd or completely absolute @@ -1003,7 +1025,9 @@ files.renameDirAlmostAtomically = // limitations, we'll resort to copying. if (forceCopy) { files.rm_recursive(toDir); - files.cp_r(fromDir, toDir); + files.cp_r(fromDir, toDir, { + preserveSymlinks: true, + }); } // ... and take out the trash. @@ -1750,7 +1774,7 @@ if (files.isWindowsLikeFilesystem()) { } if (! success) { - files.cp_r(from, to); + files.cp_r(from, to, { preserveSymlinks: true }); files.rm_recursive(from); } }; diff --git a/tools/isobuild/builder.js b/tools/isobuild/builder.js index b5d3f573cb..18944730f6 100644 --- a/tools/isobuild/builder.js +++ b/tools/isobuild/builder.js @@ -1,6 +1,8 @@ import assert from "assert"; import {WatchSet, readAndWatchFile, sha1} from '../fs/watch.js'; -import files from '../fs/files.js'; +import files, { + symlinkWithOverwrite, +} from '../fs/files.js'; import NpmDiscards from './npm-discards.js'; import {Profile} from '../tool-env/profile.js'; import { @@ -739,28 +741,6 @@ function symlinkIfPossible(source, target) { } } -// create a symlink, overwriting the target link, file, or directory -// if it exists -function symlinkWithOverwrite(source, target) { - try { - files.symlink(source, target); - } catch (e) { - if (e.code === "EEXIST") { - // overwrite existing link, file, or directory - files.rm_recursive(target); - files.symlink(source, target); - } else if (e.code === "EPERM" && - process.platform === "win32") { - files.rm_recursive(target); - // This will work only if source refers to a directory, but that's a - // chance worth taking. - files.symlink(source, target, "junction"); - } else { - throw e; - } - } -} - // Wrap slow methods into Profiler calls const slowBuilderMethods = [ '_ensureDirectory', 'write', 'enter', 'copyDirectory', 'enter', 'complete' diff --git a/tools/tests/old/test-bundler-assets.js b/tools/tests/old/test-bundler-assets.js index 54534c5977..c66d4fad19 100644 --- a/tools/tests/old/test-bundler-assets.js +++ b/tools/tests/old/test-bundler-assets.js @@ -23,7 +23,9 @@ var makeProjectContext = function (appName) { var projectDir = files.mkdtemp("test-bundler-assets"); - files.cp_r(testAppDir, projectDir); + files.cp_r(testAppDir, projectDir, { + preserveSymlinks: true, + }); require("../../cli/default-npm-deps.js").install(projectDir); diff --git a/tools/tests/old/test-bundler-npm.js b/tools/tests/old/test-bundler-npm.js index 1caf634ad8..a14de5168d 100644 --- a/tools/tests/old/test-bundler-npm.js +++ b/tools/tests/old/test-bundler-npm.js @@ -19,8 +19,11 @@ var tmpDir = function () { var makeProjectContext = function (appName) { var projectDir = files.mkdtemp("test-bundler-assets"); - files.cp_r(files.pathJoin(files.convertToStandardPath(__dirname), appName), - projectDir); + files.cp_r( + files.pathJoin(files.convertToStandardPath(__dirname), appName), + projectDir, + { preserveSymlinks: true }, + ); var projectContext = new projectContextModule.ProjectContext({ projectDir: projectDir }); diff --git a/tools/tests/old/test-bundler-options.js b/tools/tests/old/test-bundler-options.js index 12b9a8c5e8..b075c12357 100644 --- a/tools/tests/old/test-bundler-options.js +++ b/tools/tests/old/test-bundler-options.js @@ -18,8 +18,11 @@ var tmpDir = function () { var makeProjectContext = function (appName) { var projectDir = files.mkdtemp("test-bundler-options"); - files.cp_r(files.pathJoin(files.convertToStandardPath(__dirname), appName), - projectDir); + files.cp_r( + files.pathJoin(files.convertToStandardPath(__dirname), appName), + projectDir, + { preserveSymlinks: true }, + ); var projectContext = new projectContextModule.ProjectContext({ projectDir: projectDir }); diff --git a/tools/tool-testing/sandbox.js b/tools/tool-testing/sandbox.js index 6937f0e064..91ca8d83cb 100644 --- a/tools/tool-testing/sandbox.js +++ b/tools/tool-testing/sandbox.js @@ -167,9 +167,14 @@ export default class Sandbox { createApp(to, template, options) { options = options || {}; const absoluteTo = files.pathJoin(this.cwd, to); - files.cp_r(files.pathJoin( - files.convertToStandardPath(__dirname), '..', 'tests', 'apps', template), - absoluteTo, { ignore: [/^local$/] }); + const absoluteFrom = files.pathJoin( + files.convertToStandardPath(__dirname), + '..', 'tests', 'apps', template + ); + files.cp_r(absoluteFrom, absoluteTo, { + ignore: [/^local$/], + preserveSymlinks: true, + }); // If the test isn't explicitly managing a mock warehouse, ensure that apps // run with our release by default. if (options.release) { @@ -222,7 +227,9 @@ export default class Sandbox { const packagePath = files.pathJoin(this.cwd, packageDir); const templatePackagePath = files.pathJoin( files.convertToStandardPath(__dirname), '..', 'tests', 'packages', template); - files.cp_r(templatePackagePath, packagePath); + files.cp_r(templatePackagePath, packagePath, { + preserveSymlinks: true, + }); files.readdir(packagePath).forEach((file) => { if (file.match(/^package.*\.js$/)) { From cd4f8d41c9a1f671b1ef22337601f39059d76eb9 Mon Sep 17 00:00:00 2001 From: zodern Date: Mon, 14 May 2018 08:34:28 -0500 Subject: [PATCH 0920/1355] Fix creating symlinks on Windows April 2018 Update (#9887) --- tools/fs/files.js | 20 ++++++++++++-------- 1 file changed, 12 insertions(+), 8 deletions(-) diff --git a/tools/fs/files.js b/tools/fs/files.js index cfc31f92c6..12eaa42dc9 100644 --- a/tools/fs/files.js +++ b/tools/fs/files.js @@ -520,19 +520,23 @@ files.cp_r = function(from, to, options = {}) { // create a symlink, overwriting the target link, file, or directory // if it exists export function symlinkWithOverwrite(source, target) { + const args = [source, target]; + + if (process.platform === "win32") { + const absoluteSource = files.pathResolve(target, source); + + if (files.stat(absoluteSource).isDirectory()) { + args[2] = "junction"; + } + } + try { - files.symlink(source, target); + files.symlink(...args); } catch (e) { if (e.code === "EEXIST") { // overwrite existing link, file, or directory files.rm_recursive(target); - files.symlink(source, target); - } else if (e.code === "EPERM" && - process.platform === "win32") { - files.rm_recursive(target); - // This will work only if source refers to a directory, but that's a - // chance worth taking. - files.symlink(source, target, "junction"); + files.symlink(...args); } else { throw e; } From fb0315a7508a8fb4e9f51a9af618ad40c2028768 Mon Sep 17 00:00:00 2001 From: Ben Newman Date: Sat, 26 May 2018 11:41:50 -0400 Subject: [PATCH 0921/1355] Bump package versions for 1.6.1.2-rc.0 release. --- packages/meteor-tool/package.js | 2 +- scripts/admin/meteor-release-experimental.json | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/packages/meteor-tool/package.js b/packages/meteor-tool/package.js index d3eb5d0e96..c5fc7464bf 100644 --- a/packages/meteor-tool/package.js +++ b/packages/meteor-tool/package.js @@ -1,6 +1,6 @@ Package.describe({ summary: "The Meteor command-line tool", - version: '1.6.1_1' + version: '1.6.1-2-rc.0' }); Package.includeTool(); diff --git a/scripts/admin/meteor-release-experimental.json b/scripts/admin/meteor-release-experimental.json index 33ab65beed..766f88a660 100644 --- a/scripts/admin/meteor-release-experimental.json +++ b/scripts/admin/meteor-release-experimental.json @@ -1,6 +1,6 @@ { "track": "METEOR", - "version": "1.6.1.1-rc.0", + "version": "1.6.1.2-rc.0", "recommended": false, "official": false, "description": "Meteor" From 3d59ae7c6a2b1ec18b320e66eb78777fcc4ccd00 Mon Sep 17 00:00:00 2001 From: Ben Newman Date: Sat, 26 May 2018 17:43:51 -0400 Subject: [PATCH 0922/1355] Update History.md for Meteor 1.6.1.2 release. --- History.md | 9 +++++++++ 1 file changed, 9 insertions(+) diff --git a/History.md b/History.md index 2b475611c5..9ab7370d10 100644 --- a/History.md +++ b/History.md @@ -1,5 +1,14 @@ ## v.NEXT +## v1.6.1.2, 2018-05-28 + +* Meteor 1.6.1.2 is a very small release intended to fix + [#9863](https://github.com/meteor/meteor/issues/9863) by making + [#9887](https://github.com/meteor/meteor/pull/9887) available to Windows + users without forcing them to update to Meteor 1.7 (yet). Thanks very + much to [@zodern](https://github.com/zodern) for identifying a solution + to this problem. [PR #9910](https://github.com/meteor/meteor/pull/9910) + ## v1.6.1.1, 2018-04-02 * Node has been updated to version From 6fc83732e47f0ee12aa7217ad9fa5753f0f7e609 Mon Sep 17 00:00:00 2001 From: Ben Newman Date: Sat, 26 May 2018 17:44:49 -0400 Subject: [PATCH 0923/1355] Bump package versions for the official 1.6.1.2 release. --- packages/meteor-tool/package.js | 2 +- scripts/admin/meteor-release-official.json | 5 +++-- 2 files changed, 4 insertions(+), 3 deletions(-) diff --git a/packages/meteor-tool/package.js b/packages/meteor-tool/package.js index c5fc7464bf..ca8cd2c48b 100644 --- a/packages/meteor-tool/package.js +++ b/packages/meteor-tool/package.js @@ -1,6 +1,6 @@ Package.describe({ summary: "The Meteor command-line tool", - version: '1.6.1-2-rc.0' + version: '1.6.1_2' }); Package.includeTool(); diff --git a/scripts/admin/meteor-release-official.json b/scripts/admin/meteor-release-official.json index 7265e8a8a0..5e6833331f 100644 --- a/scripts/admin/meteor-release-official.json +++ b/scripts/admin/meteor-release-official.json @@ -1,12 +1,13 @@ { "track": "METEOR", - "version": "1.6.1.1", + "version": "1.6.1.2", "recommended": false, "official": true, "patchFrom": [ "1.6", "1.6.0.1", - "1.6.1" + "1.6.1", + "1.6.1.1" ], "description": "The Official Meteor Distribution" } From 797f9ce78e9e99261642c9a740c5b1c300074625 Mon Sep 17 00:00:00 2001 From: Christian Klaussner Date: Sun, 27 May 2018 17:11:36 +0200 Subject: [PATCH 0924/1355] Allow METEOR_FILE_WATCH_COALESCE to override file watcher delay (#9911) --- tools/fs/watch.js | 12 +++++++----- 1 file changed, 7 insertions(+), 5 deletions(-) diff --git a/tools/fs/watch.js b/tools/fs/watch.js index ab0d2dc143..f0dd088070 100644 --- a/tools/fs/watch.js +++ b/tools/fs/watch.js @@ -496,11 +496,13 @@ export class Watcher { // --hard), or a file was deleted and then recreated by an editor like // Vim. Because detecting changes can be costly, and because we care // most about the settled state of the file system, we use the - // funcUtils.coalesce helper to delay calls to the callback by 100ms, - // canceling any additional calls if they happen within that window of - // time, so that a rapid succession of calls will tend to trigger only - // one inspection of the file system. - return coalesce(100, function onWatchEvent() { + // funcUtils.coalesce helper to delay calls to the callback by + // METEOR_FILE_WATCH_COALESCE_MS or 100 milliseconds, canceling any + // additional calls if they happen within that window of time, so that + // a rapid succession of calls will tend to trigger only one inspection + // of the file system. + const coalesceMs = process.env.METEOR_FILE_WATCH_COALESCE_MS || 100; + return coalesce(coalesceMs, function onWatchEvent() { if (self.stopped) { return; } From ad4f30c6842e3157aaffd60bb46c3dcff3468d39 Mon Sep 17 00:00:00 2001 From: Ben Newman Date: Sun, 27 May 2018 11:13:47 -0400 Subject: [PATCH 0925/1355] Lift process.env access to module scope. https://github.com/meteor/meteor/pull/9911#pullrequestreview-123587003 --- tools/fs/watch.js | 6 ++++-- 1 file changed, 4 insertions(+), 2 deletions(-) diff --git a/tools/fs/watch.js b/tools/fs/watch.js index f0dd088070..a5a2e01f56 100644 --- a/tools/fs/watch.js +++ b/tools/fs/watch.js @@ -11,6 +11,9 @@ import { optimisticHashOrNull, } from "./optimistic.js"; +const WATCH_COALESCE_MS = + process.env.METEOR_FILE_WATCH_COALESCE_MS || 100; + // Watch for changes to a set of files, and the first time that any of // the files change, call a user-provided callback. (If you want a // second callback, you'll need to create a second Watcher.) @@ -501,8 +504,7 @@ export class Watcher { // additional calls if they happen within that window of time, so that // a rapid succession of calls will tend to trigger only one inspection // of the file system. - const coalesceMs = process.env.METEOR_FILE_WATCH_COALESCE_MS || 100; - return coalesce(coalesceMs, function onWatchEvent() { + return coalesce(WATCH_COALESCE_MS, function onWatchEvent() { if (self.stopped) { return; } From a126cf5641968cc2c7328c7a6c763478951f8470 Mon Sep 17 00:00:00 2001 From: Ben Newman Date: Sun, 27 May 2018 17:33:21 -0400 Subject: [PATCH 0926/1355] Update reify to version 0.16.2. --- History.md | 2 +- .../babel-compiler/.npm/package/npm-shrinkwrap.json | 12 ++++++------ packages/modules/.npm/package/npm-shrinkwrap.json | 6 +++--- packages/modules/package.js | 2 +- scripts/dev-bundle-tool-package.js | 2 +- 5 files changed, 12 insertions(+), 12 deletions(-) diff --git a/History.md b/History.md index 6fb80e6e8c..ce9c36a2e7 100644 --- a/History.md +++ b/History.md @@ -226,7 +226,7 @@ configuration provided by Meteor. In other words, if your project contains a `babel.config.js` file, it will be ignored by Meteor 1.7. -* The `reify` npm package has been updated to version 0.16.1. +* The `reify` npm package has been updated to version 0.16.2. * The `meteor-node-stubs` package, which provides stub implementations for any Node built-in modules used by the client (such as `path` and diff --git a/packages/babel-compiler/.npm/package/npm-shrinkwrap.json b/packages/babel-compiler/.npm/package/npm-shrinkwrap.json index c5e5134cc2..0e992ffa2c 100644 --- a/packages/babel-compiler/.npm/package/npm-shrinkwrap.json +++ b/packages/babel-compiler/.npm/package/npm-shrinkwrap.json @@ -547,9 +547,9 @@ "integrity": "sha1-ms1whRxtXf3ZPZKC5e35SgP/RrU=" }, "core-js": { - "version": "2.5.6", - "resolved": "https://registry.npmjs.org/core-js/-/core-js-2.5.6.tgz", - "integrity": "sha512-lQUVfQi0aLix2xpyjrrJEvfuYCqPc/HwmTKsC/VNf8q0zsjX7SQZtp4+oRONN5Tsur9GDETPjj+Ub2iDiGZfSQ==" + "version": "2.5.7", + "resolved": "https://registry.npmjs.org/core-js/-/core-js-2.5.7.tgz", + "integrity": "sha512-RszJCAxg/PP6uzXVXL6BsxSXx/B05oJAQ2vkJRjyjrEcNVycaqOmNb5OTxZPE3xa5gwZduqza6L9JOCenh/Ecw==" }, "debug": { "version": "3.1.0", @@ -841,9 +841,9 @@ } }, "reify": { - "version": "0.16.1", - "resolved": "https://registry.npmjs.org/reify/-/reify-0.16.1.tgz", - "integrity": "sha512-5YhFQFLT3DvDxIxtc//2cxMyWsqWKm9SeqMYrccXMcpL5VOaj697xfc9bK5w3x9xo/01P7KlHVNF+vwgL5zq3A==" + "version": "0.16.2", + "resolved": "https://registry.npmjs.org/reify/-/reify-0.16.2.tgz", + "integrity": "sha512-9kL/IYcFiBbwpQFScNcFBJ5zhCEJTNujeDEEv5SoSg5er0V5CDbef2zNEk9FBeI9oehGOG5zM4APXgp5n3Llbw==" }, "remove-trailing-separator": { "version": "1.1.0", diff --git a/packages/modules/.npm/package/npm-shrinkwrap.json b/packages/modules/.npm/package/npm-shrinkwrap.json index 2b489b7f19..aac096c56a 100644 --- a/packages/modules/.npm/package/npm-shrinkwrap.json +++ b/packages/modules/.npm/package/npm-shrinkwrap.json @@ -7,9 +7,9 @@ "integrity": "sha512-jd5MkIUlbbmb07nXH0DT3y7rDVtkzDi4XZOUVWAer8ajmF/DTSSbl5oNFyDOl/OXA33Bl79+ypHhl2pN20VeOQ==" }, "reify": { - "version": "0.16.1", - "resolved": "https://registry.npmjs.org/reify/-/reify-0.16.1.tgz", - "integrity": "sha512-5YhFQFLT3DvDxIxtc//2cxMyWsqWKm9SeqMYrccXMcpL5VOaj697xfc9bK5w3x9xo/01P7KlHVNF+vwgL5zq3A==" + "version": "0.16.2", + "resolved": "https://registry.npmjs.org/reify/-/reify-0.16.2.tgz", + "integrity": "sha512-9kL/IYcFiBbwpQFScNcFBJ5zhCEJTNujeDEEv5SoSg5er0V5CDbef2zNEk9FBeI9oehGOG5zM4APXgp5n3Llbw==" }, "semver": { "version": "5.5.0", diff --git a/packages/modules/package.js b/packages/modules/package.js index 5a4e912d5d..4626c5c933 100644 --- a/packages/modules/package.js +++ b/packages/modules/package.js @@ -6,7 +6,7 @@ Package.describe({ }); Npm.depends({ - reify: "0.16.1" + reify: "0.16.2" }); Package.onUse(function(api) { diff --git a/scripts/dev-bundle-tool-package.js b/scripts/dev-bundle-tool-package.js index 82e7a39f22..e564b87bb0 100644 --- a/scripts/dev-bundle-tool-package.js +++ b/scripts/dev-bundle-tool-package.js @@ -17,7 +17,7 @@ var packageJson = { "meteor-babel": "7.0.0-beta.49-1", "meteor-promise": "0.8.6", promise: "8.0.1", - reify: "0.16.1", + reify: "0.16.2", fibers: "2.0.0", // So that Babel can emit require("@babel/runtime/helpers/...") calls. "@babel/runtime": "7.0.0-beta.49", From d2ec52b777b2a255183d642e0a850a927be47c54 Mon Sep 17 00:00:00 2001 From: Ben Newman Date: Sun, 27 May 2018 18:00:23 -0400 Subject: [PATCH 0927/1355] History.md wording tweaks. --- History.md | 19 ++++++++++--------- 1 file changed, 10 insertions(+), 9 deletions(-) diff --git a/History.md b/History.md index ce9c36a2e7..6482f35a83 100644 --- a/History.md +++ b/History.md @@ -27,10 +27,10 @@ With Meteor 1.7, this awkward balancing act is no longer necessary, because Meteor now automatically builds two sets of client-side assets, one tailored to the capabilities of modern browsers, and the other - designed to keep legacy browsers working exactly as they did - before. Best of all, the entire Meteor community relies on the same - system, so any bugs or differences in behavior can be identified and - fixed quickly. + designed to work in all supported browsers, thus keeping legacy browsers + working exactly as they did before. Best of all, the entire Meteor + community relies on the same system, so any bugs or differences in + behavior can be identified and fixed quickly. In this system, a "modern" browser can be loosely defined as one with full native support for `async` functions and `await` expressions, which @@ -39,11 +39,12 @@ seem extremely strict, since `async`/`await` was [just finalized in ECMAScript 2017](http://2ality.com/2016/10/async-function-tips.html), but the statistics clearly justify it. As another example, any modern - browser can use the native `WebSocket` API for DDP traffic, whereas a - legacy browser will continue to use the SockJS polyfill. And of course - you can safely assume that any modern browser has a native `Promise` - implementation, because `async` functions must return `Promise`s. The - list goes on and on. + browser can handle native `class` syntax, though newer syntax like class + fields may still need to be compiled for now, whereas a legacy browser + will need compilation for both advanced and basic `class` syntax. And of + course you can safely assume that any modern browser has a native + `Promise` implementation, because `async` functions must return + `Promise`s. The list goes on and on. This boundary between modern and legacy browsers is designed to be tuned over time, not only by the Meteor framework itself but also by each From 240855777ae2d3edf3f1bb5f7788e3cbe8902724 Mon Sep 17 00:00:00 2001 From: Ben Newman Date: Sun, 27 May 2018 18:01:51 -0400 Subject: [PATCH 0928/1355] Bump package versions for 1.7-rc.14 release. --- packages/appcache/package.js | 2 +- packages/babel-compiler/package.js | 2 +- packages/boilerplate-generator-tests/package.js | 2 +- packages/boilerplate-generator/package.js | 2 +- packages/ddp-server/package.js | 2 +- packages/dynamic-import/package.js | 2 +- packages/ecmascript-runtime-client/package.js | 2 +- packages/ecmascript-runtime-server/package.js | 2 +- packages/ecmascript-runtime/package.js | 2 +- packages/ecmascript/package.js | 2 +- packages/es5-shim/package.js | 2 +- packages/facebook-oauth/package.js | 2 +- packages/meteor-base/package.js | 2 +- packages/meteor-tool/package.js | 2 +- packages/meteor/package.js | 2 +- packages/modern-browsers/package.js | 2 +- packages/modules-runtime/package.js | 2 +- packages/modules/package.js | 2 +- packages/mongo/package.js | 2 +- packages/npm-mongo/package.js | 2 +- packages/promise/package.js | 2 +- packages/socket-stream-client/package.js | 2 +- packages/test-helpers/package.js | 2 +- packages/tracker/package.js | 2 +- packages/webapp/package.js | 2 +- scripts/admin/meteor-release-experimental.json | 2 +- 26 files changed, 26 insertions(+), 26 deletions(-) diff --git a/packages/appcache/package.js b/packages/appcache/package.js index b4a0a0ac5b..5d0bed9a44 100644 --- a/packages/appcache/package.js +++ b/packages/appcache/package.js @@ -1,6 +1,6 @@ Package.describe({ summary: "Enable the application cache in the browser", - version: "1.2.0-rc17.13", + version: "1.2.0-rc17.14", }); Package.onUse(api => { diff --git a/packages/babel-compiler/package.js b/packages/babel-compiler/package.js index 7654e7bdd8..ae9e858dbe 100644 --- a/packages/babel-compiler/package.js +++ b/packages/babel-compiler/package.js @@ -6,7 +6,7 @@ Package.describe({ // isn't possible because you can't publish a non-recommended // release with package versions that don't have a pre-release // identifier at the end (eg, -dev) - version: '7.1.0-rc17.13' + version: '7.1.0-rc17.14' }); Npm.depends({ diff --git a/packages/boilerplate-generator-tests/package.js b/packages/boilerplate-generator-tests/package.js index 99287500f1..aef2e51494 100644 --- a/packages/boilerplate-generator-tests/package.js +++ b/packages/boilerplate-generator-tests/package.js @@ -2,7 +2,7 @@ Package.describe({ // These tests are in a separate package so that we can Npm.depend on // parse5, a html parsing library. summary: "Tests for the boilerplate-generator package", - version: '1.5.0-rc17.13', + version: '1.5.0-rc17.14', documentation: null }); diff --git a/packages/boilerplate-generator/package.js b/packages/boilerplate-generator/package.js index 387f4f8664..f6572ffe73 100644 --- a/packages/boilerplate-generator/package.js +++ b/packages/boilerplate-generator/package.js @@ -1,6 +1,6 @@ Package.describe({ summary: "Generates the boilerplate html from program's manifest", - version: '1.5.0-rc17.13' + version: '1.5.0-rc17.14' }); Npm.depends({ diff --git a/packages/ddp-server/package.js b/packages/ddp-server/package.js index cab2557359..c7db71d809 100644 --- a/packages/ddp-server/package.js +++ b/packages/ddp-server/package.js @@ -1,6 +1,6 @@ Package.describe({ summary: "Meteor's latency-compensated distributed data server", - version: '2.2.0-rc17.13', + version: '2.2.0-rc17.14', documentation: null }); diff --git a/packages/dynamic-import/package.js b/packages/dynamic-import/package.js index a1417dd97a..7d66d99df8 100644 --- a/packages/dynamic-import/package.js +++ b/packages/dynamic-import/package.js @@ -1,6 +1,6 @@ Package.describe({ name: "dynamic-import", - version: "0.4.0-rc17.13", + version: "0.4.0-rc17.14", summary: "Runtime support for Meteor 1.5 dynamic import(...) syntax", documentation: "README.md" }); diff --git a/packages/ecmascript-runtime-client/package.js b/packages/ecmascript-runtime-client/package.js index 7d7206ab06..a53b8640c1 100644 --- a/packages/ecmascript-runtime-client/package.js +++ b/packages/ecmascript-runtime-client/package.js @@ -1,6 +1,6 @@ Package.describe({ name: "ecmascript-runtime-client", - version: "0.7.0-rc17.13", + version: "0.7.0-rc17.14", summary: "Polyfills for new ECMAScript 2015 APIs like Map and Set", git: "https://github.com/meteor/meteor/tree/devel/packages/ecmascript-runtime-client", documentation: "README.md" diff --git a/packages/ecmascript-runtime-server/package.js b/packages/ecmascript-runtime-server/package.js index 5fba40c600..524c8b7f82 100644 --- a/packages/ecmascript-runtime-server/package.js +++ b/packages/ecmascript-runtime-server/package.js @@ -1,6 +1,6 @@ Package.describe({ name: "ecmascript-runtime-server", - version: "0.7.0-rc17.13", + version: "0.7.0-rc17.14", summary: "Polyfills for new ECMAScript 2015 APIs like Map and Set", git: "https://github.com/meteor/meteor/tree/devel/packages/ecmascript-runtime-client", documentation: "README.md" diff --git a/packages/ecmascript-runtime/package.js b/packages/ecmascript-runtime/package.js index 31f53357cc..88294f7e20 100644 --- a/packages/ecmascript-runtime/package.js +++ b/packages/ecmascript-runtime/package.js @@ -1,6 +1,6 @@ Package.describe({ name: "ecmascript-runtime", - version: "0.7.0-rc17.13", + version: "0.7.0-rc17.14", summary: "Polyfills for new ECMAScript 2015 APIs like Map and Set", git: "https://github.com/meteor/ecmascript-runtime", documentation: "README.md" diff --git a/packages/ecmascript/package.js b/packages/ecmascript/package.js index e874923fd6..5539b68a00 100644 --- a/packages/ecmascript/package.js +++ b/packages/ecmascript/package.js @@ -1,6 +1,6 @@ Package.describe({ name: 'ecmascript', - version: '0.11.0-rc17.13', + version: '0.11.0-rc17.14', summary: 'Compiler plugin that supports ES2015+ in all .js files', documentation: 'README.md' }); diff --git a/packages/es5-shim/package.js b/packages/es5-shim/package.js index 1f19996645..10b397f4e1 100644 --- a/packages/es5-shim/package.js +++ b/packages/es5-shim/package.js @@ -1,6 +1,6 @@ Package.describe({ name: "es5-shim", - version: "4.8.0-rc17.13", + version: "4.8.0-rc17.14", summary: "Shims and polyfills to improve ECMAScript 5 support", documentation: "README.md" }); diff --git a/packages/facebook-oauth/package.js b/packages/facebook-oauth/package.js index 7089d7efc0..cb835e22ed 100644 --- a/packages/facebook-oauth/package.js +++ b/packages/facebook-oauth/package.js @@ -1,6 +1,6 @@ Package.describe({ summary: "Facebook OAuth flow", - version: "1.5.0-rc17.13" + version: "1.5.0-rc17.14" }); Package.onUse(function(api) { diff --git a/packages/meteor-base/package.js b/packages/meteor-base/package.js index 2e2abda69f..90e8c52009 100644 --- a/packages/meteor-base/package.js +++ b/packages/meteor-base/package.js @@ -1,6 +1,6 @@ Package.describe({ name: 'meteor-base', - version: '1.4.0-rc17.13', + version: '1.4.0-rc17.14', // Brief, one-line summary of the package. summary: 'Packages that every Meteor app needs', // By default, Meteor will default to using README.md for documentation. diff --git a/packages/meteor-tool/package.js b/packages/meteor-tool/package.js index da002aaa13..3140f54f63 100644 --- a/packages/meteor-tool/package.js +++ b/packages/meteor-tool/package.js @@ -1,6 +1,6 @@ Package.describe({ summary: "The Meteor command-line tool", - version: '1.7.0-rc.13' + version: '1.7.0-rc.14' }); Package.includeTool(); diff --git a/packages/meteor/package.js b/packages/meteor/package.js index 83f9490eaf..a6ab48e494 100644 --- a/packages/meteor/package.js +++ b/packages/meteor/package.js @@ -2,7 +2,7 @@ Package.describe({ summary: "Core Meteor environment", - version: '1.9.0-rc17.13' + version: '1.9.0-rc17.14' }); Package.registerBuildPlugin({ diff --git a/packages/modern-browsers/package.js b/packages/modern-browsers/package.js index 825c8070fb..c069b8c932 100644 --- a/packages/modern-browsers/package.js +++ b/packages/modern-browsers/package.js @@ -1,6 +1,6 @@ Package.describe({ name: "modern-browsers", - version: "0.1.0-rc17.13", + version: "0.1.0-rc17.14", summary: "API for defining the boundary between modern and legacy " + "JavaScript clients", documentation: "README.md" diff --git a/packages/modules-runtime/package.js b/packages/modules-runtime/package.js index 6750d582bd..34e34eaa09 100644 --- a/packages/modules-runtime/package.js +++ b/packages/modules-runtime/package.js @@ -1,6 +1,6 @@ Package.describe({ name: "modules-runtime", - version: "0.10.0-rc17.13", + version: "0.10.0-rc17.14", summary: "CommonJS module system", git: "https://github.com/benjamn/install", documentation: "README.md" diff --git a/packages/modules/package.js b/packages/modules/package.js index 4626c5c933..3918e6b0ed 100644 --- a/packages/modules/package.js +++ b/packages/modules/package.js @@ -1,6 +1,6 @@ Package.describe({ name: "modules", - version: "0.12.0-rc17.13", + version: "0.12.0-rc17.14", summary: "CommonJS module system", documentation: "README.md" }); diff --git a/packages/mongo/package.js b/packages/mongo/package.js index bef4e2ab07..98ea4b3d28 100644 --- a/packages/mongo/package.js +++ b/packages/mongo/package.js @@ -9,7 +9,7 @@ Package.describe({ summary: "Adaptor for using MongoDB and Minimongo over DDP", - version: '1.5.0-rc17.13' + version: '1.5.0-rc17.14' }); Npm.depends({ diff --git a/packages/npm-mongo/package.js b/packages/npm-mongo/package.js index 2aeb16361e..ac32ac37b0 100644 --- a/packages/npm-mongo/package.js +++ b/packages/npm-mongo/package.js @@ -3,7 +3,7 @@ Package.describe({ summary: "Wrapper around the mongo npm package", - version: "3.0.7-rc17.13", + version: "3.0.7-rc17.14", documentation: null }); diff --git a/packages/promise/package.js b/packages/promise/package.js index 9168fc33ae..d498d2353e 100644 --- a/packages/promise/package.js +++ b/packages/promise/package.js @@ -1,6 +1,6 @@ Package.describe({ name: "promise", - version: "0.11.0-rc17.13", + version: "0.11.0-rc17.14", summary: "ECMAScript 2015 Promise polyfill with Fiber support", git: "https://github.com/meteor/promise", documentation: "README.md" diff --git a/packages/socket-stream-client/package.js b/packages/socket-stream-client/package.js index 1082c87ab0..60a3ee1277 100644 --- a/packages/socket-stream-client/package.js +++ b/packages/socket-stream-client/package.js @@ -1,6 +1,6 @@ Package.describe({ name: "socket-stream-client", - version: "0.2.0-rc17.13", + version: "0.2.0-rc17.14", summary: "Provides the ClientStream abstraction used by ddp-client", documentation: "README.md" }); diff --git a/packages/test-helpers/package.js b/packages/test-helpers/package.js index f8781e790a..06ad1b06ca 100644 --- a/packages/test-helpers/package.js +++ b/packages/test-helpers/package.js @@ -1,6 +1,6 @@ Package.describe({ summary: "Utility functions for tests", - version: '1.1.0-rc17.13' + version: '1.1.0-rc17.14' }); Package.onUse(function (api) { diff --git a/packages/tracker/package.js b/packages/tracker/package.js index 4c2528e331..1b01b01416 100644 --- a/packages/tracker/package.js +++ b/packages/tracker/package.js @@ -1,6 +1,6 @@ Package.describe({ summary: "Dependency tracker to allow reactive callbacks", - version: "1.2.0-rc17.13" + version: "1.2.0-rc17.14" }); Package.onUse(function (api) { diff --git a/packages/webapp/package.js b/packages/webapp/package.js index 974a0a3b97..cbdf602e7e 100644 --- a/packages/webapp/package.js +++ b/packages/webapp/package.js @@ -1,6 +1,6 @@ Package.describe({ summary: "Serves a Meteor app over HTTP", - version: '1.6.0-rc17.13' + version: '1.6.0-rc17.14' }); Npm.depends({"basic-auth-connect": "1.0.0", diff --git a/scripts/admin/meteor-release-experimental.json b/scripts/admin/meteor-release-experimental.json index 2f8f48145a..ce1e18e865 100644 --- a/scripts/admin/meteor-release-experimental.json +++ b/scripts/admin/meteor-release-experimental.json @@ -1,6 +1,6 @@ { "track": "METEOR", - "version": "1.7-rc.13", + "version": "1.7-rc.14", "recommended": false, "official": false, "description": "Meteor" From 2d0f5f243507dafd86d6194bf7a1bb7cab1f0409 Mon Sep 17 00:00:00 2001 From: Ben Newman Date: Sun, 27 May 2018 19:27:33 -0400 Subject: [PATCH 0929/1355] Update Meteor 1.7 release date in History.md again. --- History.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/History.md b/History.md index 6482f35a83..8d207f63e7 100644 --- a/History.md +++ b/History.md @@ -1,6 +1,6 @@ ## v.NEXT -## v1.7, 2018-05-18 +## v1.7, 2018-05-28 * More than 80% of internet users worldwide have access to a web browser that natively supports the latest ECMAScript features and keeps itself From 4a76fe3fe6bbb99ce2850690864c5bbad97ec163 Mon Sep 17 00:00:00 2001 From: Ben Newman Date: Sun, 27 May 2018 19:29:46 -0400 Subject: [PATCH 0930/1355] Bump package versions for the official 1.7 release. --- packages/appcache/package.js | 2 +- packages/babel-compiler/package.js | 2 +- packages/boilerplate-generator-tests/package.js | 2 +- packages/boilerplate-generator/package.js | 2 +- packages/ddp-server/package.js | 2 +- packages/dynamic-import/package.js | 2 +- packages/ecmascript-runtime-client/package.js | 2 +- packages/ecmascript-runtime-server/package.js | 2 +- packages/ecmascript-runtime/package.js | 2 +- packages/ecmascript/package.js | 2 +- packages/es5-shim/package.js | 2 +- packages/facebook-oauth/package.js | 2 +- packages/meteor-base/package.js | 2 +- packages/meteor-tool/package.js | 2 +- packages/meteor/package.js | 2 +- packages/modern-browsers/package.js | 2 +- packages/modules-runtime/package.js | 2 +- packages/modules/package.js | 2 +- packages/mongo/package.js | 2 +- packages/npm-mongo/package.js | 2 +- packages/promise/package.js | 2 +- packages/socket-stream-client/package.js | 2 +- packages/test-helpers/package.js | 2 +- packages/tracker/package.js | 2 +- packages/webapp/package.js | 2 +- scripts/admin/meteor-release-official.json | 8 +------- 26 files changed, 26 insertions(+), 32 deletions(-) diff --git a/packages/appcache/package.js b/packages/appcache/package.js index 5d0bed9a44..17aaa0cdd3 100644 --- a/packages/appcache/package.js +++ b/packages/appcache/package.js @@ -1,6 +1,6 @@ Package.describe({ summary: "Enable the application cache in the browser", - version: "1.2.0-rc17.14", + version: "1.2.0", }); Package.onUse(api => { diff --git a/packages/babel-compiler/package.js b/packages/babel-compiler/package.js index ae9e858dbe..2d863bb6da 100644 --- a/packages/babel-compiler/package.js +++ b/packages/babel-compiler/package.js @@ -6,7 +6,7 @@ Package.describe({ // isn't possible because you can't publish a non-recommended // release with package versions that don't have a pre-release // identifier at the end (eg, -dev) - version: '7.1.0-rc17.14' + version: '7.1.0' }); Npm.depends({ diff --git a/packages/boilerplate-generator-tests/package.js b/packages/boilerplate-generator-tests/package.js index aef2e51494..7878ff66f2 100644 --- a/packages/boilerplate-generator-tests/package.js +++ b/packages/boilerplate-generator-tests/package.js @@ -2,7 +2,7 @@ Package.describe({ // These tests are in a separate package so that we can Npm.depend on // parse5, a html parsing library. summary: "Tests for the boilerplate-generator package", - version: '1.5.0-rc17.14', + version: '1.5.0', documentation: null }); diff --git a/packages/boilerplate-generator/package.js b/packages/boilerplate-generator/package.js index f6572ffe73..7748e8f55a 100644 --- a/packages/boilerplate-generator/package.js +++ b/packages/boilerplate-generator/package.js @@ -1,6 +1,6 @@ Package.describe({ summary: "Generates the boilerplate html from program's manifest", - version: '1.5.0-rc17.14' + version: '1.5.0' }); Npm.depends({ diff --git a/packages/ddp-server/package.js b/packages/ddp-server/package.js index c7db71d809..c738ca316b 100644 --- a/packages/ddp-server/package.js +++ b/packages/ddp-server/package.js @@ -1,6 +1,6 @@ Package.describe({ summary: "Meteor's latency-compensated distributed data server", - version: '2.2.0-rc17.14', + version: '2.2.0', documentation: null }); diff --git a/packages/dynamic-import/package.js b/packages/dynamic-import/package.js index 7d66d99df8..c622aa1c76 100644 --- a/packages/dynamic-import/package.js +++ b/packages/dynamic-import/package.js @@ -1,6 +1,6 @@ Package.describe({ name: "dynamic-import", - version: "0.4.0-rc17.14", + version: "0.4.0", summary: "Runtime support for Meteor 1.5 dynamic import(...) syntax", documentation: "README.md" }); diff --git a/packages/ecmascript-runtime-client/package.js b/packages/ecmascript-runtime-client/package.js index a53b8640c1..ff55208430 100644 --- a/packages/ecmascript-runtime-client/package.js +++ b/packages/ecmascript-runtime-client/package.js @@ -1,6 +1,6 @@ Package.describe({ name: "ecmascript-runtime-client", - version: "0.7.0-rc17.14", + version: "0.7.0", summary: "Polyfills for new ECMAScript 2015 APIs like Map and Set", git: "https://github.com/meteor/meteor/tree/devel/packages/ecmascript-runtime-client", documentation: "README.md" diff --git a/packages/ecmascript-runtime-server/package.js b/packages/ecmascript-runtime-server/package.js index 524c8b7f82..c9709f5bc7 100644 --- a/packages/ecmascript-runtime-server/package.js +++ b/packages/ecmascript-runtime-server/package.js @@ -1,6 +1,6 @@ Package.describe({ name: "ecmascript-runtime-server", - version: "0.7.0-rc17.14", + version: "0.7.0", summary: "Polyfills for new ECMAScript 2015 APIs like Map and Set", git: "https://github.com/meteor/meteor/tree/devel/packages/ecmascript-runtime-client", documentation: "README.md" diff --git a/packages/ecmascript-runtime/package.js b/packages/ecmascript-runtime/package.js index 88294f7e20..6f2e54e0f0 100644 --- a/packages/ecmascript-runtime/package.js +++ b/packages/ecmascript-runtime/package.js @@ -1,6 +1,6 @@ Package.describe({ name: "ecmascript-runtime", - version: "0.7.0-rc17.14", + version: "0.7.0", summary: "Polyfills for new ECMAScript 2015 APIs like Map and Set", git: "https://github.com/meteor/ecmascript-runtime", documentation: "README.md" diff --git a/packages/ecmascript/package.js b/packages/ecmascript/package.js index 5539b68a00..4a0fb4ac9b 100644 --- a/packages/ecmascript/package.js +++ b/packages/ecmascript/package.js @@ -1,6 +1,6 @@ Package.describe({ name: 'ecmascript', - version: '0.11.0-rc17.14', + version: '0.11.0', summary: 'Compiler plugin that supports ES2015+ in all .js files', documentation: 'README.md' }); diff --git a/packages/es5-shim/package.js b/packages/es5-shim/package.js index 10b397f4e1..8c5ca46e35 100644 --- a/packages/es5-shim/package.js +++ b/packages/es5-shim/package.js @@ -1,6 +1,6 @@ Package.describe({ name: "es5-shim", - version: "4.8.0-rc17.14", + version: "4.8.0", summary: "Shims and polyfills to improve ECMAScript 5 support", documentation: "README.md" }); diff --git a/packages/facebook-oauth/package.js b/packages/facebook-oauth/package.js index cb835e22ed..9836b0f8cd 100644 --- a/packages/facebook-oauth/package.js +++ b/packages/facebook-oauth/package.js @@ -1,6 +1,6 @@ Package.describe({ summary: "Facebook OAuth flow", - version: "1.5.0-rc17.14" + version: "1.5.0" }); Package.onUse(function(api) { diff --git a/packages/meteor-base/package.js b/packages/meteor-base/package.js index 90e8c52009..a8b550e634 100644 --- a/packages/meteor-base/package.js +++ b/packages/meteor-base/package.js @@ -1,6 +1,6 @@ Package.describe({ name: 'meteor-base', - version: '1.4.0-rc17.14', + version: '1.4.0', // Brief, one-line summary of the package. summary: 'Packages that every Meteor app needs', // By default, Meteor will default to using README.md for documentation. diff --git a/packages/meteor-tool/package.js b/packages/meteor-tool/package.js index 3140f54f63..3c263189f9 100644 --- a/packages/meteor-tool/package.js +++ b/packages/meteor-tool/package.js @@ -1,6 +1,6 @@ Package.describe({ summary: "The Meteor command-line tool", - version: '1.7.0-rc.14' + version: '1.7.0' }); Package.includeTool(); diff --git a/packages/meteor/package.js b/packages/meteor/package.js index a6ab48e494..bc1d727d3d 100644 --- a/packages/meteor/package.js +++ b/packages/meteor/package.js @@ -2,7 +2,7 @@ Package.describe({ summary: "Core Meteor environment", - version: '1.9.0-rc17.14' + version: '1.9.0' }); Package.registerBuildPlugin({ diff --git a/packages/modern-browsers/package.js b/packages/modern-browsers/package.js index c069b8c932..102b1429ac 100644 --- a/packages/modern-browsers/package.js +++ b/packages/modern-browsers/package.js @@ -1,6 +1,6 @@ Package.describe({ name: "modern-browsers", - version: "0.1.0-rc17.14", + version: "0.1.0", summary: "API for defining the boundary between modern and legacy " + "JavaScript clients", documentation: "README.md" diff --git a/packages/modules-runtime/package.js b/packages/modules-runtime/package.js index 34e34eaa09..96b9a42582 100644 --- a/packages/modules-runtime/package.js +++ b/packages/modules-runtime/package.js @@ -1,6 +1,6 @@ Package.describe({ name: "modules-runtime", - version: "0.10.0-rc17.14", + version: "0.10.0", summary: "CommonJS module system", git: "https://github.com/benjamn/install", documentation: "README.md" diff --git a/packages/modules/package.js b/packages/modules/package.js index 3918e6b0ed..fd5f27a5d2 100644 --- a/packages/modules/package.js +++ b/packages/modules/package.js @@ -1,6 +1,6 @@ Package.describe({ name: "modules", - version: "0.12.0-rc17.14", + version: "0.12.0", summary: "CommonJS module system", documentation: "README.md" }); diff --git a/packages/mongo/package.js b/packages/mongo/package.js index 98ea4b3d28..bac51f72d1 100644 --- a/packages/mongo/package.js +++ b/packages/mongo/package.js @@ -9,7 +9,7 @@ Package.describe({ summary: "Adaptor for using MongoDB and Minimongo over DDP", - version: '1.5.0-rc17.14' + version: '1.5.0' }); Npm.depends({ diff --git a/packages/npm-mongo/package.js b/packages/npm-mongo/package.js index ac32ac37b0..871f32bc41 100644 --- a/packages/npm-mongo/package.js +++ b/packages/npm-mongo/package.js @@ -3,7 +3,7 @@ Package.describe({ summary: "Wrapper around the mongo npm package", - version: "3.0.7-rc17.14", + version: "3.0.7", documentation: null }); diff --git a/packages/promise/package.js b/packages/promise/package.js index d498d2353e..a98e3426e8 100644 --- a/packages/promise/package.js +++ b/packages/promise/package.js @@ -1,6 +1,6 @@ Package.describe({ name: "promise", - version: "0.11.0-rc17.14", + version: "0.11.0", summary: "ECMAScript 2015 Promise polyfill with Fiber support", git: "https://github.com/meteor/promise", documentation: "README.md" diff --git a/packages/socket-stream-client/package.js b/packages/socket-stream-client/package.js index 60a3ee1277..d0c9a6aa6f 100644 --- a/packages/socket-stream-client/package.js +++ b/packages/socket-stream-client/package.js @@ -1,6 +1,6 @@ Package.describe({ name: "socket-stream-client", - version: "0.2.0-rc17.14", + version: "0.2.0", summary: "Provides the ClientStream abstraction used by ddp-client", documentation: "README.md" }); diff --git a/packages/test-helpers/package.js b/packages/test-helpers/package.js index 06ad1b06ca..eceb520f15 100644 --- a/packages/test-helpers/package.js +++ b/packages/test-helpers/package.js @@ -1,6 +1,6 @@ Package.describe({ summary: "Utility functions for tests", - version: '1.1.0-rc17.14' + version: '1.1.0' }); Package.onUse(function (api) { diff --git a/packages/tracker/package.js b/packages/tracker/package.js index 1b01b01416..9475828977 100644 --- a/packages/tracker/package.js +++ b/packages/tracker/package.js @@ -1,6 +1,6 @@ Package.describe({ summary: "Dependency tracker to allow reactive callbacks", - version: "1.2.0-rc17.14" + version: "1.2.0" }); Package.onUse(function (api) { diff --git a/packages/webapp/package.js b/packages/webapp/package.js index cbdf602e7e..6e71c856dd 100644 --- a/packages/webapp/package.js +++ b/packages/webapp/package.js @@ -1,6 +1,6 @@ Package.describe({ summary: "Serves a Meteor app over HTTP", - version: '1.6.0-rc17.14' + version: '1.6.0' }); Npm.depends({"basic-auth-connect": "1.0.0", diff --git a/scripts/admin/meteor-release-official.json b/scripts/admin/meteor-release-official.json index 5e6833331f..4d035d176f 100644 --- a/scripts/admin/meteor-release-official.json +++ b/scripts/admin/meteor-release-official.json @@ -1,13 +1,7 @@ { "track": "METEOR", - "version": "1.6.1.2", + "version": "1.7", "recommended": false, "official": true, - "patchFrom": [ - "1.6", - "1.6.0.1", - "1.6.1", - "1.6.1.1" - ], "description": "The Official Meteor Distribution" } From 0fcf29eaee73e7d4e3e7a005a87cb3cbeab82d0e Mon Sep 17 00:00:00 2001 From: Ben Newman Date: Sun, 27 May 2018 20:23:55 -0400 Subject: [PATCH 0931/1355] Update modules test app to Meteor 1.7. --- tools/tests/apps/modules/.meteor/packages | 12 +- tools/tests/apps/modules/.meteor/release | 2 +- tools/tests/apps/modules/package-lock.json | 725 ++++++++++----------- tools/tests/apps/modules/package.json | 8 +- 4 files changed, 373 insertions(+), 374 deletions(-) diff --git a/tools/tests/apps/modules/.meteor/packages b/tools/tests/apps/modules/.meteor/packages index 1ab5365c0f..a4c79d6cbf 100644 --- a/tools/tests/apps/modules/.meteor/packages +++ b/tools/tests/apps/modules/.meteor/packages @@ -4,16 +4,16 @@ # 'meteor add' and 'meteor remove' will edit this file for you, # but you can also edit it by hand. -meteor-base@1.4.0-rc17.5 # Packages every Meteor app needs to have +meteor-base@1.4.0 # Packages every Meteor app needs to have mobile-experience@1.0.5 # Packages for a great mobile UX -mongo@1.5.0-rc17.5 # The database Meteor supports right now +mongo@1.5.0 # The database Meteor supports right now blaze-html-templates # Compile .html files into Meteor Blaze views session@1.1.7 # Client-side reactive dictionary for your app jquery@1.11.10 # Helpful client-side library -tracker@1.2.0-rc17.5 # Meteor's client-side reactive programming library +tracker@1.2.0 # Meteor's client-side reactive programming library -es5-shim@4.8.0-rc17.5 # ECMAScript 5 compatibility for older browsers. -ecmascript@0.11.0-rc17.5 # Enable ECMAScript2015+ syntax in app code +es5-shim@4.8.0 # ECMAScript 5 compatibility for older browsers. +ecmascript@0.11.0 # Enable ECMAScript2015+ syntax in app code coffeescript modules-test-package @@ -22,5 +22,5 @@ standard-minifier-js@2.3.4 client-only-ecmascript modules-test-plugin shell-server@0.3.1 -dynamic-import@0.4.0-rc17.5 +dynamic-import@0.4.0 underscore@1.0.10 diff --git a/tools/tests/apps/modules/.meteor/release b/tools/tests/apps/modules/.meteor/release index b93a1e63c9..cc4631c0b6 100644 --- a/tools/tests/apps/modules/.meteor/release +++ b/tools/tests/apps/modules/.meteor/release @@ -1 +1 @@ -METEOR@1.7-rc.5 +METEOR@1.7 diff --git a/tools/tests/apps/modules/package-lock.json b/tools/tests/apps/modules/package-lock.json index c1ff0a756e..0138f86395 100644 --- a/tools/tests/apps/modules/package-lock.json +++ b/tools/tests/apps/modules/package-lock.json @@ -4,177 +4,182 @@ "lockfileVersion": 1, "dependencies": { "@babel/code-frame": { - "version": "7.0.0-beta.46", - "resolved": "https://registry.npmjs.org/@babel/code-frame/-/code-frame-7.0.0-beta.46.tgz", - "integrity": "sha512-7BKRkmYaPZm3Yff5HGZJKCz7RqZ5jUjknsXT6Gz5YKG23J3uq9hAj0epncCB0rlqmnZ8Q+UUpQB2tCR5mT37vw==", + "version": "7.0.0-beta.49", + "resolved": "https://registry.npmjs.org/@babel/code-frame/-/code-frame-7.0.0-beta.49.tgz", + "integrity": "sha1-vs2AVIJzREDJ0TfkbXc0DmTX9Rs=", "requires": { - "@babel/highlight": "7.0.0-beta.46" + "@babel/highlight": "7.0.0-beta.49" } }, "@babel/core": { - "version": "7.0.0-beta.46", - "resolved": "https://registry.npmjs.org/@babel/core/-/core-7.0.0-beta.46.tgz", - "integrity": "sha512-lCDbBSAhNAt+nL98xbgWmuhgrIxKvbvFHf73zlNCuXCHJkdlo7qzTofYK0ZWb+OVce8fQ17fC7DwTIhAwowzMw==", + "version": "7.0.0-beta.49", + "resolved": "https://registry.npmjs.org/@babel/core/-/core-7.0.0-beta.49.tgz", + "integrity": "sha1-c94ggd1lJIlInwy0qpeCmhEzMU4=", "requires": { - "@babel/code-frame": "7.0.0-beta.46", - "@babel/generator": "7.0.0-beta.46", - "@babel/helpers": "7.0.0-beta.46", - "@babel/template": "7.0.0-beta.46", - "@babel/traverse": "7.0.0-beta.46", - "@babel/types": "7.0.0-beta.46", - "babylon": "7.0.0-beta.46", - "convert-source-map": "1.5.1", - "debug": "3.1.0", - "json5": "0.5.1", - "lodash": "4.17.10", - "micromatch": "2.3.11", - "resolve": "1.7.1", - "semver": "5.5.0", - "source-map": "0.5.7" + "@babel/code-frame": "7.0.0-beta.49", + "@babel/generator": "7.0.0-beta.49", + "@babel/helpers": "7.0.0-beta.49", + "@babel/parser": "7.0.0-beta.49", + "@babel/template": "7.0.0-beta.49", + "@babel/traverse": "7.0.0-beta.49", + "@babel/types": "7.0.0-beta.49", + "convert-source-map": "^1.1.0", + "debug": "^3.1.0", + "json5": "^0.5.0", + "lodash": "^4.17.5", + "micromatch": "^2.3.11", + "resolve": "^1.3.2", + "semver": "^5.4.1", + "source-map": "^0.5.0" } }, "@babel/generator": { - "version": "7.0.0-beta.46", - "resolved": "https://registry.npmjs.org/@babel/generator/-/generator-7.0.0-beta.46.tgz", - "integrity": "sha512-5VfaEVkPG0gpNSTcf70jvV+MjbMoNn4g2iluwM7MhciedkolEtmG7PcdoUj5W1EmMfngz5cF65V7UMZXJO6y8Q==", + "version": "7.0.0-beta.49", + "resolved": "https://registry.npmjs.org/@babel/generator/-/generator-7.0.0-beta.49.tgz", + "integrity": "sha1-6c/9qROZaszseTu8JauRvBnQv3o=", "requires": { - "@babel/types": "7.0.0-beta.46", - "jsesc": "2.5.1", - "lodash": "4.17.10", - "source-map": "0.5.7", - "trim-right": "1.0.1" + "@babel/types": "7.0.0-beta.49", + "jsesc": "^2.5.1", + "lodash": "^4.17.5", + "source-map": "^0.5.0", + "trim-right": "^1.0.1" } }, "@babel/helper-function-name": { - "version": "7.0.0-beta.46", - "resolved": "https://registry.npmjs.org/@babel/helper-function-name/-/helper-function-name-7.0.0-beta.46.tgz", - "integrity": "sha512-zm4Kc5XB2njGs8PkmjV1zE/g1hBuphbh+VcDyFLaQsxkxSFSUtCbKwFL8AQpL/qPIcGbvX1MBt50a/3ZZH2CQA==", + "version": "7.0.0-beta.49", + "resolved": "https://registry.npmjs.org/@babel/helper-function-name/-/helper-function-name-7.0.0-beta.49.tgz", + "integrity": "sha1-olwRGbnwNSeGcBJuAiXAMEHI3jI=", "requires": { - "@babel/helper-get-function-arity": "7.0.0-beta.46", - "@babel/template": "7.0.0-beta.46", - "@babel/types": "7.0.0-beta.46" + "@babel/helper-get-function-arity": "7.0.0-beta.49", + "@babel/template": "7.0.0-beta.49", + "@babel/types": "7.0.0-beta.49" } }, "@babel/helper-get-function-arity": { - "version": "7.0.0-beta.46", - "resolved": "https://registry.npmjs.org/@babel/helper-get-function-arity/-/helper-get-function-arity-7.0.0-beta.46.tgz", - "integrity": "sha512-dPrTb7QHVx44xJLjUl3LGAc13iS7hdXdO0fiOxdRN1suIS91yGGgeuwiQBlrw5SxbFchYtwenhlKbqHdVfGyVA==", + "version": "7.0.0-beta.49", + "resolved": "https://registry.npmjs.org/@babel/helper-get-function-arity/-/helper-get-function-arity-7.0.0-beta.49.tgz", + "integrity": "sha1-z1Aj8y0q2S0Ic3STnOwJUby1FEE=", "requires": { - "@babel/types": "7.0.0-beta.46" + "@babel/types": "7.0.0-beta.49" } }, "@babel/helper-plugin-utils": { - "version": "7.0.0-beta.46", - "resolved": "https://registry.npmjs.org/@babel/helper-plugin-utils/-/helper-plugin-utils-7.0.0-beta.46.tgz", - "integrity": "sha512-eRTFH+/1rqDfzx+Z//CYk4TNwhfPQpM/TCs4CmHu2DwCPrqFnKUZLI1KgStfLf//c8FdOqx/U9EPec7s8CbUIA==" + "version": "7.0.0-beta.49", + "resolved": "https://registry.npmjs.org/@babel/helper-plugin-utils/-/helper-plugin-utils-7.0.0-beta.49.tgz", + "integrity": "sha1-Dp/LuDT4eLs2XSqOqQ7uIbo8zSM=" }, "@babel/helper-split-export-declaration": { - "version": "7.0.0-beta.46", - "resolved": "https://registry.npmjs.org/@babel/helper-split-export-declaration/-/helper-split-export-declaration-7.0.0-beta.46.tgz", - "integrity": "sha512-UT7acgV7wsnBPwnqslqcnUFvsPBP4TtVaYM82xPGA7+evAa8q8HXOmFk08qsMK/pX/yy4+51gJJwyw2zofnacA==", + "version": "7.0.0-beta.49", + "resolved": "https://registry.npmjs.org/@babel/helper-split-export-declaration/-/helper-split-export-declaration-7.0.0-beta.49.tgz", + "integrity": "sha1-QNeO2glo0BGxxShm5XRs+yPldUg=", "requires": { - "@babel/types": "7.0.0-beta.46" + "@babel/types": "7.0.0-beta.49" } }, "@babel/helpers": { - "version": "7.0.0-beta.46", - "resolved": "https://registry.npmjs.org/@babel/helpers/-/helpers-7.0.0-beta.46.tgz", - "integrity": "sha512-mbpH9pM3pJzo/tBr75U+zva3pqpyivogt1aofgEoD7bWFAYSuqOudRuz+m4XP6VPxxLoxcA4SFPGkuLRt9+7nQ==", + "version": "7.0.0-beta.49", + "resolved": "https://registry.npmjs.org/@babel/helpers/-/helpers-7.0.0-beta.49.tgz", + "integrity": "sha1-BU2EAy1OlChqgFhlAAaOQQBaUdA=", "requires": { - "@babel/template": "7.0.0-beta.46", - "@babel/traverse": "7.0.0-beta.46", - "@babel/types": "7.0.0-beta.46" + "@babel/template": "7.0.0-beta.49", + "@babel/traverse": "7.0.0-beta.49", + "@babel/types": "7.0.0-beta.49" } }, "@babel/highlight": { - "version": "7.0.0-beta.46", - "resolved": "https://registry.npmjs.org/@babel/highlight/-/highlight-7.0.0-beta.46.tgz", - "integrity": "sha512-r4snW6Q8ICL3Y8hGzYJRvyG/+sc+kvkewXNedG9tQjoHmUFMwMSv/o45GWQUQswevGnWghiGkpRPivFfOuMsOA==", + "version": "7.0.0-beta.49", + "resolved": "https://registry.npmjs.org/@babel/highlight/-/highlight-7.0.0-beta.49.tgz", + "integrity": "sha1-lr3GtD4TSCASumaRsQGEktOWIsw=", "requires": { - "chalk": "2.4.1", - "esutils": "2.0.2", - "js-tokens": "3.0.2" + "chalk": "^2.0.0", + "esutils": "^2.0.2", + "js-tokens": "^3.0.0" } }, + "@babel/parser": { + "version": "7.0.0-beta.49", + "resolved": "https://registry.npmjs.org/@babel/parser/-/parser-7.0.0-beta.49.tgz", + "integrity": "sha1-lE0MW6KBK7FZ7b0iZ0Ov0mUXm9w=" + }, "@babel/plugin-proposal-do-expressions": { - "version": "7.0.0-beta.46", - "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-do-expressions/-/plugin-proposal-do-expressions-7.0.0-beta.46.tgz", - "integrity": "sha512-C0Sr5AXHLZz+vp3x+4j5hUdAmTX3m8rjScJC91wlme7xLZfmRGEfOgq09QTVaWqlutpaof1lsmp9zKAlEv1asw==", + "version": "7.0.0-beta.49", + "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-do-expressions/-/plugin-proposal-do-expressions-7.0.0-beta.49.tgz", + "integrity": "sha1-JMwT311JnPLKNKxI1EO1U6Zg4Xg=", "requires": { - "@babel/helper-plugin-utils": "7.0.0-beta.46", - "@babel/plugin-syntax-do-expressions": "7.0.0-beta.46" + "@babel/helper-plugin-utils": "7.0.0-beta.49", + "@babel/plugin-syntax-do-expressions": "7.0.0-beta.49" } }, "@babel/plugin-proposal-optional-chaining": { - "version": "7.0.0-beta.46", - "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-optional-chaining/-/plugin-proposal-optional-chaining-7.0.0-beta.46.tgz", - "integrity": "sha512-aAHryJWDhkEN7/bIYdr5ueaL5rFfwfnuiGW+6xDpylg+KaJmS0CmzZAxJQNxw0lYNZhBQNzWvJTesli5VsSrWg==", + "version": "7.0.0-beta.49", + "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-optional-chaining/-/plugin-proposal-optional-chaining-7.0.0-beta.49.tgz", + "integrity": "sha1-1uF1f91DmmK4T68qhR6CKhjitCw=", "requires": { - "@babel/helper-plugin-utils": "7.0.0-beta.46", - "@babel/plugin-syntax-optional-chaining": "7.0.0-beta.46" + "@babel/helper-plugin-utils": "7.0.0-beta.49", + "@babel/plugin-syntax-optional-chaining": "7.0.0-beta.49" } }, "@babel/plugin-syntax-do-expressions": { - "version": "7.0.0-beta.46", - "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-do-expressions/-/plugin-syntax-do-expressions-7.0.0-beta.46.tgz", - "integrity": "sha512-JqrbOrldoeFUoa+teISIt3tg+4vsUEdwb9LUQ8McC2RGZHfn/XT0xiHAof7P51zi2EHtQ+l/1bcv5+mxqGo5Sw==", + "version": "7.0.0-beta.49", + "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-do-expressions/-/plugin-syntax-do-expressions-7.0.0-beta.49.tgz", + "integrity": "sha1-DOL6KW2UL2Nl+o5dxT/DjMXwwL4=", "requires": { - "@babel/helper-plugin-utils": "7.0.0-beta.46" + "@babel/helper-plugin-utils": "7.0.0-beta.49" } }, "@babel/plugin-syntax-optional-chaining": { - "version": "7.0.0-beta.46", - "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-optional-chaining/-/plugin-syntax-optional-chaining-7.0.0-beta.46.tgz", - "integrity": "sha512-/TTGzn3twKp7PhFi0ZKA0M+29pm+L3KeUygZZ9FupD4f5i3GNeW/HBBivYcIdZz+Wa1AoUffYtLJSVdpshFKkw==", + "version": "7.0.0-beta.49", + "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-optional-chaining/-/plugin-syntax-optional-chaining-7.0.0-beta.49.tgz", + "integrity": "sha1-AHtefvY5uW1Y52O7XI2hRJhEuXY=", "requires": { - "@babel/helper-plugin-utils": "7.0.0-beta.46" + "@babel/helper-plugin-utils": "7.0.0-beta.49" } }, "@babel/runtime": { - "version": "7.0.0-beta.46", - "resolved": "https://registry.npmjs.org/@babel/runtime/-/runtime-7.0.0-beta.46.tgz", - "integrity": "sha512-/3a3USMKk54BEHhDgY8rtxtaQOs4bp4aQwo6SDtdwmrXmgSgEusWuXNX5oIs/nwzmTD9o8wz2EyAjA+uHDMmJA==", + "version": "7.0.0-beta.49", + "resolved": "https://registry.npmjs.org/@babel/runtime/-/runtime-7.0.0-beta.49.tgz", + "integrity": "sha1-A7O/B+uYIHLI6FHdLd1RECguYb8=", "requires": { - "core-js": "2.5.6", - "regenerator-runtime": "0.11.1" + "core-js": "^2.5.6", + "regenerator-runtime": "^0.11.1" } }, "@babel/template": { - "version": "7.0.0-beta.46", - "resolved": "https://registry.npmjs.org/@babel/template/-/template-7.0.0-beta.46.tgz", - "integrity": "sha512-3/qi4m0l6G/vZbEwtqfzJk73mYtuE7nvAO1zT3/ZrTAHy4sHf2vaF9Eh1w+Tau263Yrkh0bjVQPb9zw6G+GeMQ==", + "version": "7.0.0-beta.49", + "resolved": "https://registry.npmjs.org/@babel/template/-/template-7.0.0-beta.49.tgz", + "integrity": "sha1-44q+ghfLl5P0YaUwbXrXRdg+HSc=", "requires": { - "@babel/code-frame": "7.0.0-beta.46", - "@babel/types": "7.0.0-beta.46", - "babylon": "7.0.0-beta.46", - "lodash": "4.17.10" + "@babel/code-frame": "7.0.0-beta.49", + "@babel/parser": "7.0.0-beta.49", + "@babel/types": "7.0.0-beta.49", + "lodash": "^4.17.5" } }, "@babel/traverse": { - "version": "7.0.0-beta.46", - "resolved": "https://registry.npmjs.org/@babel/traverse/-/traverse-7.0.0-beta.46.tgz", - "integrity": "sha512-IU7MTGbcjpfhf5tyCu3sDB7sWYainZQcT+CqOBdVZXZfq5MMr130R7aiZBI2g5dJYUaW1PS81DVNpd0/Sq/Gzg==", + "version": "7.0.0-beta.49", + "resolved": "https://registry.npmjs.org/@babel/traverse/-/traverse-7.0.0-beta.49.tgz", + "integrity": "sha1-TypzaCoYM07WYl0QCo0nMZ98LWg=", "requires": { - "@babel/code-frame": "7.0.0-beta.46", - "@babel/generator": "7.0.0-beta.46", - "@babel/helper-function-name": "7.0.0-beta.46", - "@babel/helper-split-export-declaration": "7.0.0-beta.46", - "@babel/types": "7.0.0-beta.46", - "babylon": "7.0.0-beta.46", - "debug": "3.1.0", - "globals": "11.5.0", - "invariant": "2.2.4", - "lodash": "4.17.10" + "@babel/code-frame": "7.0.0-beta.49", + "@babel/generator": "7.0.0-beta.49", + "@babel/helper-function-name": "7.0.0-beta.49", + "@babel/helper-split-export-declaration": "7.0.0-beta.49", + "@babel/parser": "7.0.0-beta.49", + "@babel/types": "7.0.0-beta.49", + "debug": "^3.1.0", + "globals": "^11.1.0", + "invariant": "^2.2.0", + "lodash": "^4.17.5" } }, "@babel/types": { - "version": "7.0.0-beta.46", - "resolved": "https://registry.npmjs.org/@babel/types/-/types-7.0.0-beta.46.tgz", - "integrity": "sha512-uA5aruF2KKsJxToWdDpftsrPOIQtoGrGno2hiaeO9JRvfT9xZdK11nPoC+/RF9emNzmNbWn4HCRdCY+McT5Nbw==", + "version": "7.0.0-beta.49", + "resolved": "https://registry.npmjs.org/@babel/types/-/types-7.0.0-beta.49.tgz", + "integrity": "sha1-t+Oxw/TUz+Eb34yJ8e/V4WF7h6Y=", "requires": { - "esutils": "2.0.2", - "lodash": "4.17.10", - "to-fast-properties": "2.0.0" + "esutils": "^2.0.2", + "lodash": "^4.17.5", + "to-fast-properties": "^2.0.0" } }, "acorn": { @@ -185,7 +190,7 @@ "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-3.2.1.tgz", "integrity": "sha512-VT0ZI6kZRdTh8YyJw3SMbYm/u+NqfsAxEpWO0Pf9sq8/e94WxxOpPKx9FR1FlyCtOVDNOQ+8ntlqFxiRc+r5qA==", "requires": { - "color-convert": "1.9.1" + "color-convert": "^1.9.0" } }, "arr-diff": { @@ -193,7 +198,7 @@ "resolved": "https://registry.npmjs.org/arr-diff/-/arr-diff-2.0.0.tgz", "integrity": "sha1-jzuCf5Vai9ZpaX5KQlasPOrjVs8=", "requires": { - "arr-flatten": "1.1.0" + "arr-flatten": "^1.0.1" } }, "arr-flatten": { @@ -217,9 +222,9 @@ "integrity": "sha1-+PwEyjoTeErenhZBr5hXjPvWR6k=" }, "aws-sdk": { - "version": "2.235.1", - "resolved": "https://registry.npmjs.org/aws-sdk/-/aws-sdk-2.235.1.tgz", - "integrity": "sha1-uJXalIK7XZCy9UxFIDt6PBwrfOo=", + "version": "2.247.1", + "resolved": "https://registry.npmjs.org/aws-sdk/-/aws-sdk-2.247.1.tgz", + "integrity": "sha1-vl8iDUBmWskdOoSlHwKfoFVgxO4=", "requires": { "buffer": "4.9.1", "events": "1.1.1", @@ -229,8 +234,7 @@ "sax": "1.2.1", "url": "0.10.3", "uuid": "3.1.0", - "xml2js": "0.4.17", - "xmlbuilder": "4.2.1" + "xml2js": "0.4.17" }, "dependencies": { "uuid": { @@ -245,7 +249,7 @@ "resolved": "https://registry.npmjs.org/babel-runtime/-/babel-runtime-5.8.38.tgz", "integrity": "sha1-HAsC62MxL18If/IEUIJ7QlydTBk=", "requires": { - "core-js": "1.2.7" + "core-js": "^1.0.0" }, "dependencies": { "core-js": { @@ -255,11 +259,6 @@ } } }, - "babylon": { - "version": "7.0.0-beta.46", - "resolved": "https://registry.npmjs.org/babylon/-/babylon-7.0.0-beta.46.tgz", - "integrity": "sha512-WFJlg2WatdkXRFMpk7BN/Uzzkjkcjk+WaqnrSCpay+RYl4ypW9ZetZyT9kNt22IH/BQNst3M6PaaBn9IXsUNrg==" - }, "base64-js": { "version": "1.3.0", "resolved": "https://registry.npmjs.org/base64-js/-/base64-js-1.3.0.tgz", @@ -280,8 +279,8 @@ "resolved": "https://registry.npmjs.org/bl/-/bl-1.2.2.tgz", "integrity": "sha512-e8tQYnZodmebYDWGH7KMRvtzKXaJHx3BbilrgZCfvyLUYdKpK1t5PSPmpkny/SgiTSCnjfLW7v5rlONXVFkQEA==", "requires": { - "readable-stream": "2.3.6", - "safe-buffer": "5.1.2" + "readable-stream": "^2.3.5", + "safe-buffer": "^5.1.1" } }, "bluebird": { @@ -294,9 +293,9 @@ "resolved": "https://registry.npmjs.org/braces/-/braces-1.8.5.tgz", "integrity": "sha1-uneWLhLf+WnWt2cR6RS3N4V79qc=", "requires": { - "expand-range": "1.8.2", - "preserve": "0.2.0", - "repeat-element": "1.1.2" + "expand-range": "^1.8.1", + "preserve": "^0.2.0", + "repeat-element": "^1.1.2" } }, "buffer": { @@ -304,9 +303,9 @@ "resolved": "https://registry.npmjs.org/buffer/-/buffer-4.9.1.tgz", "integrity": "sha1-bRu2AbB6TvztlwlBMgkwJ8lbwpg=", "requires": { - "base64-js": "1.3.0", - "ieee754": "1.1.8", - "isarray": "1.0.0" + "base64-js": "^1.0.2", + "ieee754": "^1.1.4", + "isarray": "^1.0.0" } }, "chalk": { @@ -314,9 +313,9 @@ "resolved": "https://registry.npmjs.org/chalk/-/chalk-2.4.1.tgz", "integrity": "sha512-ObN6h1v2fTJSmUXoS3nMQ92LbDK9be4TV+6G+omQlGJFdcUX5heKi1LZ1YnRMIgwTLEj3E24bT6tYni50rlCfQ==", "requires": { - "ansi-styles": "3.2.1", - "escape-string-regexp": "1.0.5", - "supports-color": "5.4.0" + "ansi-styles": "^3.2.1", + "escape-string-regexp": "^1.0.5", + "supports-color": "^5.3.0" } }, "cli-color": { @@ -324,8 +323,8 @@ "resolved": "https://registry.npmjs.org/cli-color/-/cli-color-0.2.3.tgz", "integrity": "sha1-CiXOrlpqFgK+f3fShWPDZwAnTog=", "requires": { - "es5-ext": "0.9.2", - "memoizee": "0.2.6" + "es5-ext": "~0.9.2", + "memoizee": "~0.2.5" } }, "color-convert": { @@ -333,7 +332,7 @@ "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-1.9.1.tgz", "integrity": "sha512-mjGanIiwQJskCC18rPR6OmrZ6fm2Lc7PeGFYwCmy5J34wC6F1PzdGL6xeMfmgicfYcNLGuVFA3WzXtIDCQSZxQ==", "requires": { - "color-name": "1.1.3" + "color-name": "^1.1.1" } }, "color-name": { @@ -352,9 +351,9 @@ "integrity": "sha1-uCeAl7m8IpNl3lxiz1/K7YtVmeU=" }, "core-js": { - "version": "2.5.6", - "resolved": "https://registry.npmjs.org/core-js/-/core-js-2.5.6.tgz", - "integrity": "sha512-lQUVfQi0aLix2xpyjrrJEvfuYCqPc/HwmTKsC/VNf8q0zsjX7SQZtp4+oRONN5Tsur9GDETPjj+Ub2iDiGZfSQ==" + "version": "2.5.7", + "resolved": "https://registry.npmjs.org/core-js/-/core-js-2.5.7.tgz", + "integrity": "sha512-RszJCAxg/PP6uzXVXL6BsxSXx/B05oJAQ2vkJRjyjrEcNVycaqOmNb5OTxZPE3xa5gwZduqza6L9JOCenh/Ecw==" }, "core-util-is": { "version": "1.0.2", @@ -394,7 +393,7 @@ "resolved": "https://registry.npmjs.org/event-emitter/-/event-emitter-0.2.2.tgz", "integrity": "sha1-yB43JOtVQHxaDV7jKZQR9wD1QpE=", "requires": { - "es5-ext": "0.9.2" + "es5-ext": "~0.9.2" } }, "events": { @@ -407,7 +406,7 @@ "resolved": "https://registry.npmjs.org/expand-brackets/-/expand-brackets-0.1.5.tgz", "integrity": "sha1-3wcoTjQqgHzXM6xa9yQR5YHRF3s=", "requires": { - "is-posix-bracket": "0.1.1" + "is-posix-bracket": "^0.1.0" } }, "expand-range": { @@ -415,7 +414,7 @@ "resolved": "https://registry.npmjs.org/expand-range/-/expand-range-1.8.2.tgz", "integrity": "sha1-opnv/TNf4nIeuujiV+x5ZE/IUzc=", "requires": { - "fill-range": "2.2.4" + "fill-range": "^2.1.0" } }, "extglob": { @@ -423,7 +422,7 @@ "resolved": "https://registry.npmjs.org/extglob/-/extglob-0.3.2.tgz", "integrity": "sha1-Lhj/PS9JqydlzskCPwEdqo2DSaE=", "requires": { - "is-extglob": "1.0.0" + "is-extglob": "^1.0.0" } }, "eyes": { @@ -441,11 +440,11 @@ "resolved": "https://registry.npmjs.org/fill-range/-/fill-range-2.2.4.tgz", "integrity": "sha512-cnrcCbj01+j2gTG921VZPnHbjmdAf8oQV/iGeV2kZxGSyfYjjTyY79ErsK1WJWMpw6DaApEX72binqJE+/d+5Q==", "requires": { - "is-number": "2.1.0", - "isobject": "2.1.0", - "randomatic": "3.0.0", - "repeat-element": "1.1.2", - "repeat-string": "1.6.1" + "is-number": "^2.1.0", + "isobject": "^2.0.0", + "randomatic": "^3.0.0", + "repeat-element": "^1.1.2", + "repeat-string": "^1.5.2" } }, "for-in": { @@ -458,7 +457,7 @@ "resolved": "https://registry.npmjs.org/for-own/-/for-own-0.1.5.tgz", "integrity": "sha1-UmXGgaTylNq78XyVCbZ2OqhFEM4=", "requires": { - "for-in": "1.0.2" + "for-in": "^1.0.1" } }, "generic-pool": { @@ -471,7 +470,7 @@ "resolved": "https://registry.npmjs.org/github/-/github-0.2.4.tgz", "integrity": "sha1-JPp/DhP6EblGr5ETTFGYKpHOU4s=", "requires": { - "mime": "1.6.0" + "mime": "^1.2.11" } }, "glob-base": { @@ -479,8 +478,8 @@ "resolved": "https://registry.npmjs.org/glob-base/-/glob-base-0.3.0.tgz", "integrity": "sha1-27Fk9iIbHAscz4Kuoyi0l98Oo8Q=", "requires": { - "glob-parent": "2.0.0", - "is-glob": "2.0.1" + "glob-parent": "^2.0.0", + "is-glob": "^2.0.0" } }, "glob-parent": { @@ -488,7 +487,7 @@ "resolved": "https://registry.npmjs.org/glob-parent/-/glob-parent-2.0.0.tgz", "integrity": "sha1-gTg9ctsFT8zPUzbaqQLxgvbtuyg=", "requires": { - "is-glob": "2.0.1" + "is-glob": "^2.0.0" } }, "globals": { @@ -506,7 +505,7 @@ "resolved": "https://registry.npmjs.org/iconv-lite/-/iconv-lite-0.4.23.tgz", "integrity": "sha512-neyTUVFtahjf0mB3dZT77u+8O0QB89jFdnBkd5P1JgYPbPaia3gXXOVL2fq8VyU2gMMD7SaN7QukTB/pmXYvDA==", "requires": { - "safer-buffer": "2.1.2" + "safer-buffer": ">= 2.1.2 < 3" } }, "idle-gc": { @@ -534,7 +533,7 @@ "resolved": "https://registry.npmjs.org/invariant/-/invariant-2.2.4.tgz", "integrity": "sha512-phJfQVBuaJM5raOpJjSfkiD6BpbCE4Ns//LaXl6wGYtUBY83nWS6Rf9tXm2e8VaK60JEjYldbPif/A2B1C2gNA==", "requires": { - "loose-envify": "1.3.1" + "loose-envify": "^1.0.0" } }, "is-buffer": { @@ -552,7 +551,7 @@ "resolved": "https://registry.npmjs.org/is-equal-shallow/-/is-equal-shallow-0.1.3.tgz", "integrity": "sha1-IjgJj8Ih3gvPpdnqxMRdY4qhxTQ=", "requires": { - "is-primitive": "2.0.0" + "is-primitive": "^2.0.0" } }, "is-extendable": { @@ -570,7 +569,7 @@ "resolved": "https://registry.npmjs.org/is-glob/-/is-glob-2.0.1.tgz", "integrity": "sha1-0Jb5JqPe1WAPP9/ZEZjLCIjC2GM=", "requires": { - "is-extglob": "1.0.0" + "is-extglob": "^1.0.0" } }, "is-number": { @@ -578,7 +577,7 @@ "resolved": "https://registry.npmjs.org/is-number/-/is-number-2.1.0.tgz", "integrity": "sha1-Afy7s5NGOlSPL0ZszhbezknbkI8=", "requires": { - "kind-of": "3.2.2" + "kind-of": "^3.0.2" } }, "is-posix-bracket": { @@ -634,7 +633,7 @@ "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-3.2.2.tgz", "integrity": "sha1-MeohpzS6ubuw8yRm2JOupR5KPGQ=", "requires": { - "is-buffer": "1.1.6" + "is-buffer": "^1.1.5" } }, "lodash": { @@ -657,7 +656,7 @@ "resolved": "https://registry.npmjs.org/loose-envify/-/loose-envify-1.3.1.tgz", "integrity": "sha1-0aitM/qc4OcT1l/dCsi3SNR4yEg=", "requires": { - "js-tokens": "3.0.2" + "js-tokens": "^3.0.0" } }, "math-random": { @@ -670,9 +669,9 @@ "resolved": "https://registry.npmjs.org/memoizee/-/memoizee-0.2.6.tgz", "integrity": "sha1-u0WnrQJTAILxYSZx2rNSGc0uB0E=", "requires": { - "es5-ext": "0.9.2", - "event-emitter": "0.2.2", - "next-tick": "0.1.0" + "es5-ext": "~0.9.2", + "event-emitter": "~0.2.2", + "next-tick": "0.1.x" } }, "meteor-node-stubs": { @@ -680,28 +679,28 @@ "resolved": "https://registry.npmjs.org/meteor-node-stubs/-/meteor-node-stubs-0.4.1.tgz", "integrity": "sha512-UO2OStvLOKoApmOdIP5eCqoLaa/ritMXRg4ffJVdkNLEsczzPvTjgC0Mxk4cM4R8MZkwll90FYgjDf5qUTJdMA==", "requires": { - "assert": "1.4.1", - "browserify-zlib": "0.1.4", - "buffer": "4.9.1", - "console-browserify": "1.1.0", - "constants-browserify": "1.0.0", - "crypto-browserify": "3.12.0", - "domain-browser": "1.2.0", - "events": "1.1.1", + "assert": "^1.4.1", + "browserify-zlib": "^0.1.4", + "buffer": "^4.9.1", + "console-browserify": "^1.1.0", + "constants-browserify": "^1.0.0", + "crypto-browserify": "^3.11.0", + "domain-browser": "^1.1.7", + "events": "^1.1.1", "https-browserify": "0.0.1", - "os-browserify": "0.2.1", + "os-browserify": "^0.2.1", "path-browserify": "0.0.0", - "process": "0.11.10", - "punycode": "1.4.1", - "querystring-es3": "0.2.1", - "readable-stream": "2.3.6", - "stream-browserify": "2.0.1", - "stream-http": "2.8.1", - "string_decoder": "1.1.1", - "timers-browserify": "1.4.2", + "process": "^0.11.9", + "punycode": "^1.4.1", + "querystring-es3": "^0.2.1", + "readable-stream": "^2.3.6", + "stream-browserify": "^2.0.1", + "stream-http": "^2.8.0", + "string_decoder": "^1.1.0", + "timers-browserify": "^1.4.2", "tty-browserify": "0.0.0", - "url": "0.11.0", - "util": "0.10.3", + "url": "^0.11.0", + "util": "^0.10.3", "vm-browserify": "0.0.4" }, "dependencies": { @@ -709,9 +708,9 @@ "version": "4.10.1", "bundled": true, "requires": { - "bn.js": "4.11.8", - "inherits": "2.0.1", - "minimalistic-assert": "1.0.1" + "bn.js": "^4.0.0", + "inherits": "^2.0.1", + "minimalistic-assert": "^1.0.0" } }, "assert": { @@ -737,67 +736,67 @@ "version": "1.2.0", "bundled": true, "requires": { - "buffer-xor": "1.0.3", - "cipher-base": "1.0.4", - "create-hash": "1.2.0", - "evp_bytestokey": "1.0.3", - "inherits": "2.0.1", - "safe-buffer": "5.1.2" + "buffer-xor": "^1.0.3", + "cipher-base": "^1.0.0", + "create-hash": "^1.1.0", + "evp_bytestokey": "^1.0.3", + "inherits": "^2.0.1", + "safe-buffer": "^5.0.1" } }, "browserify-cipher": { "version": "1.0.1", "bundled": true, "requires": { - "browserify-aes": "1.2.0", - "browserify-des": "1.0.1", - "evp_bytestokey": "1.0.3" + "browserify-aes": "^1.0.4", + "browserify-des": "^1.0.0", + "evp_bytestokey": "^1.0.0" } }, "browserify-des": { "version": "1.0.1", "bundled": true, "requires": { - "cipher-base": "1.0.4", - "des.js": "1.0.0", - "inherits": "2.0.1" + "cipher-base": "^1.0.1", + "des.js": "^1.0.0", + "inherits": "^2.0.1" } }, "browserify-rsa": { "version": "4.0.1", "bundled": true, "requires": { - "bn.js": "4.11.8", - "randombytes": "2.0.6" + "bn.js": "^4.1.0", + "randombytes": "^2.0.1" } }, "browserify-sign": { "version": "4.0.4", "bundled": true, "requires": { - "bn.js": "4.11.8", - "browserify-rsa": "4.0.1", - "create-hash": "1.2.0", - "create-hmac": "1.1.7", - "elliptic": "6.4.0", - "inherits": "2.0.1", - "parse-asn1": "5.1.1" + "bn.js": "^4.1.1", + "browserify-rsa": "^4.0.0", + "create-hash": "^1.1.0", + "create-hmac": "^1.1.2", + "elliptic": "^6.0.0", + "inherits": "^2.0.1", + "parse-asn1": "^5.0.0" } }, "browserify-zlib": { "version": "0.1.4", "bundled": true, "requires": { - "pako": "0.2.9" + "pako": "~0.2.0" } }, "buffer": { "version": "4.9.1", "bundled": true, "requires": { - "base64-js": "1.3.0", - "ieee754": "1.1.11", - "isarray": "1.0.0" + "base64-js": "^1.0.2", + "ieee754": "^1.1.4", + "isarray": "^1.0.0" } }, "buffer-xor": { @@ -812,15 +811,15 @@ "version": "1.0.4", "bundled": true, "requires": { - "inherits": "2.0.1", - "safe-buffer": "5.1.2" + "inherits": "^2.0.1", + "safe-buffer": "^5.0.1" } }, "console-browserify": { "version": "1.1.0", "bundled": true, "requires": { - "date-now": "0.1.4" + "date-now": "^0.1.4" } }, "constants-browserify": { @@ -835,48 +834,48 @@ "version": "4.0.3", "bundled": true, "requires": { - "bn.js": "4.11.8", - "elliptic": "6.4.0" + "bn.js": "^4.1.0", + "elliptic": "^6.0.0" } }, "create-hash": { "version": "1.2.0", "bundled": true, "requires": { - "cipher-base": "1.0.4", - "inherits": "2.0.1", - "md5.js": "1.3.4", - "ripemd160": "2.0.2", - "sha.js": "2.4.11" + "cipher-base": "^1.0.1", + "inherits": "^2.0.1", + "md5.js": "^1.3.4", + "ripemd160": "^2.0.1", + "sha.js": "^2.4.0" } }, "create-hmac": { "version": "1.1.7", "bundled": true, "requires": { - "cipher-base": "1.0.4", - "create-hash": "1.2.0", - "inherits": "2.0.1", - "ripemd160": "2.0.2", - "safe-buffer": "5.1.2", - "sha.js": "2.4.11" + "cipher-base": "^1.0.3", + "create-hash": "^1.1.0", + "inherits": "^2.0.1", + "ripemd160": "^2.0.0", + "safe-buffer": "^5.0.1", + "sha.js": "^2.4.8" } }, "crypto-browserify": { "version": "3.12.0", "bundled": true, "requires": { - "browserify-cipher": "1.0.1", - "browserify-sign": "4.0.4", - "create-ecdh": "4.0.3", - "create-hash": "1.2.0", - "create-hmac": "1.1.7", - "diffie-hellman": "5.0.3", - "inherits": "2.0.1", - "pbkdf2": "3.0.16", - "public-encrypt": "4.0.2", - "randombytes": "2.0.6", - "randomfill": "1.0.4" + "browserify-cipher": "^1.0.0", + "browserify-sign": "^4.0.0", + "create-ecdh": "^4.0.0", + "create-hash": "^1.1.0", + "create-hmac": "^1.1.0", + "diffie-hellman": "^5.0.0", + "inherits": "^2.0.1", + "pbkdf2": "^3.0.3", + "public-encrypt": "^4.0.0", + "randombytes": "^2.0.0", + "randomfill": "^1.0.3" } }, "date-now": { @@ -887,17 +886,17 @@ "version": "1.0.0", "bundled": true, "requires": { - "inherits": "2.0.1", - "minimalistic-assert": "1.0.1" + "inherits": "^2.0.1", + "minimalistic-assert": "^1.0.0" } }, "diffie-hellman": { "version": "5.0.3", "bundled": true, "requires": { - "bn.js": "4.11.8", - "miller-rabin": "4.0.1", - "randombytes": "2.0.6" + "bn.js": "^4.1.0", + "miller-rabin": "^4.0.0", + "randombytes": "^2.0.0" } }, "domain-browser": { @@ -908,13 +907,13 @@ "version": "6.4.0", "bundled": true, "requires": { - "bn.js": "4.11.8", - "brorand": "1.1.0", - "hash.js": "1.1.3", - "hmac-drbg": "1.0.1", - "inherits": "2.0.1", - "minimalistic-assert": "1.0.1", - "minimalistic-crypto-utils": "1.0.1" + "bn.js": "^4.4.0", + "brorand": "^1.0.1", + "hash.js": "^1.0.0", + "hmac-drbg": "^1.0.0", + "inherits": "^2.0.1", + "minimalistic-assert": "^1.0.0", + "minimalistic-crypto-utils": "^1.0.0" } }, "events": { @@ -925,24 +924,24 @@ "version": "1.0.3", "bundled": true, "requires": { - "md5.js": "1.3.4", - "safe-buffer": "5.1.2" + "md5.js": "^1.3.4", + "safe-buffer": "^5.1.1" } }, "hash-base": { "version": "3.0.4", "bundled": true, "requires": { - "inherits": "2.0.1", - "safe-buffer": "5.1.2" + "inherits": "^2.0.1", + "safe-buffer": "^5.0.1" } }, "hash.js": { "version": "1.1.3", "bundled": true, "requires": { - "inherits": "2.0.3", - "minimalistic-assert": "1.0.1" + "inherits": "^2.0.3", + "minimalistic-assert": "^1.0.0" }, "dependencies": { "inherits": { @@ -955,9 +954,9 @@ "version": "1.0.1", "bundled": true, "requires": { - "hash.js": "1.1.3", - "minimalistic-assert": "1.0.1", - "minimalistic-crypto-utils": "1.0.1" + "hash.js": "^1.0.3", + "minimalistic-assert": "^1.0.0", + "minimalistic-crypto-utils": "^1.0.1" } }, "https-browserify": { @@ -984,16 +983,16 @@ "version": "1.3.4", "bundled": true, "requires": { - "hash-base": "3.0.4", - "inherits": "2.0.1" + "hash-base": "^3.0.0", + "inherits": "^2.0.1" } }, "miller-rabin": { "version": "4.0.1", "bundled": true, "requires": { - "bn.js": "4.11.8", - "brorand": "1.1.0" + "bn.js": "^4.0.0", + "brorand": "^1.0.1" } }, "minimalistic-assert": { @@ -1016,11 +1015,11 @@ "version": "5.1.1", "bundled": true, "requires": { - "asn1.js": "4.10.1", - "browserify-aes": "1.2.0", - "create-hash": "1.2.0", - "evp_bytestokey": "1.0.3", - "pbkdf2": "3.0.16" + "asn1.js": "^4.0.0", + "browserify-aes": "^1.0.0", + "create-hash": "^1.1.0", + "evp_bytestokey": "^1.0.0", + "pbkdf2": "^3.0.3" } }, "path-browserify": { @@ -1031,11 +1030,11 @@ "version": "3.0.16", "bundled": true, "requires": { - "create-hash": "1.2.0", - "create-hmac": "1.1.7", - "ripemd160": "2.0.2", - "safe-buffer": "5.1.2", - "sha.js": "2.4.11" + "create-hash": "^1.1.2", + "create-hmac": "^1.1.4", + "ripemd160": "^2.0.1", + "safe-buffer": "^5.0.1", + "sha.js": "^2.4.8" } }, "process": { @@ -1050,11 +1049,11 @@ "version": "4.0.2", "bundled": true, "requires": { - "bn.js": "4.11.8", - "browserify-rsa": "4.0.1", - "create-hash": "1.2.0", - "parse-asn1": "5.1.1", - "randombytes": "2.0.6" + "bn.js": "^4.1.0", + "browserify-rsa": "^4.0.0", + "create-hash": "^1.1.0", + "parse-asn1": "^5.0.0", + "randombytes": "^2.0.1" } }, "punycode": { @@ -1073,28 +1072,28 @@ "version": "2.0.6", "bundled": true, "requires": { - "safe-buffer": "5.1.2" + "safe-buffer": "^5.1.0" } }, "randomfill": { "version": "1.0.4", "bundled": true, "requires": { - "randombytes": "2.0.6", - "safe-buffer": "5.1.2" + "randombytes": "^2.0.5", + "safe-buffer": "^5.1.0" } }, "readable-stream": { "version": "2.3.6", "bundled": true, "requires": { - "core-util-is": "1.0.2", - "inherits": "2.0.3", - "isarray": "1.0.0", - "process-nextick-args": "2.0.0", - "safe-buffer": "5.1.2", - "string_decoder": "1.1.1", - "util-deprecate": "1.0.2" + "core-util-is": "~1.0.0", + "inherits": "~2.0.3", + "isarray": "~1.0.0", + "process-nextick-args": "~2.0.0", + "safe-buffer": "~5.1.1", + "string_decoder": "~1.1.1", + "util-deprecate": "~1.0.1" }, "dependencies": { "inherits": { @@ -1107,8 +1106,8 @@ "version": "2.0.2", "bundled": true, "requires": { - "hash-base": "3.0.4", - "inherits": "2.0.1" + "hash-base": "^3.0.0", + "inherits": "^2.0.1" } }, "safe-buffer": { @@ -1119,41 +1118,41 @@ "version": "2.4.11", "bundled": true, "requires": { - "inherits": "2.0.1", - "safe-buffer": "5.1.2" + "inherits": "^2.0.1", + "safe-buffer": "^5.0.1" } }, "stream-browserify": { "version": "2.0.1", "bundled": true, "requires": { - "inherits": "2.0.1", - "readable-stream": "2.3.6" + "inherits": "~2.0.1", + "readable-stream": "^2.0.2" } }, "stream-http": { "version": "2.8.1", "bundled": true, "requires": { - "builtin-status-codes": "3.0.0", - "inherits": "2.0.1", - "readable-stream": "2.3.6", - "to-arraybuffer": "1.0.1", - "xtend": "4.0.1" + "builtin-status-codes": "^3.0.0", + "inherits": "^2.0.1", + "readable-stream": "^2.3.3", + "to-arraybuffer": "^1.0.0", + "xtend": "^4.0.0" } }, "string_decoder": { "version": "1.1.1", "bundled": true, "requires": { - "safe-buffer": "5.1.2" + "safe-buffer": "~5.1.0" } }, "timers-browserify": { "version": "1.4.2", "bundled": true, "requires": { - "process": "0.11.10" + "process": "~0.11.0" } }, "to-arraybuffer": { @@ -1207,19 +1206,19 @@ "resolved": "https://registry.npmjs.org/micromatch/-/micromatch-2.3.11.tgz", "integrity": "sha1-hmd8l9FyCzY0MdBNDRUpO9OMFWU=", "requires": { - "arr-diff": "2.0.0", - "array-unique": "0.2.1", - "braces": "1.8.5", - "expand-brackets": "0.1.5", - "extglob": "0.3.2", - "filename-regex": "2.0.1", - "is-extglob": "1.0.0", - "is-glob": "2.0.1", - "kind-of": "3.2.2", - "normalize-path": "2.1.1", - "object.omit": "2.0.1", - "parse-glob": "3.0.4", - "regex-cache": "0.4.4" + "arr-diff": "^2.0.0", + "array-unique": "^0.2.1", + "braces": "^1.8.2", + "expand-brackets": "^0.1.4", + "extglob": "^0.3.1", + "filename-regex": "^2.0.0", + "is-extglob": "^1.0.0", + "is-glob": "^2.0.1", + "kind-of": "^3.0.2", + "normalize-path": "^2.0.1", + "object.omit": "^2.0.0", + "parse-glob": "^3.0.4", + "regex-cache": "^0.4.2" } }, "mime": { @@ -1242,9 +1241,9 @@ "resolved": "https://registry.npmjs.org/mssql/-/mssql-3.3.0.tgz", "integrity": "sha1-tuYzf/Ej6Hv4ruHmyDRLU8pdqFY=", "requires": { - "generic-pool": "2.5.4", - "promise": "7.3.1", - "tedious": "1.14.0" + "generic-pool": "^2.2.0", + "promise": "^7.0.1", + "tedious": "~1.14.0" } }, "mysql": { @@ -1268,13 +1267,13 @@ "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-2.3.3.tgz", "integrity": "sha512-m+qzzcn7KUxEmd1gMbchF+Y2eIUbieUaxkWtptyHywrX0rE8QEYqPC07Vuy4Wm32/xE16NcdBctb8S0Xe/5IeQ==", "requires": { - "core-util-is": "1.0.2", - "inherits": "2.0.3", - "isarray": "1.0.0", - "process-nextick-args": "1.0.7", - "safe-buffer": "5.1.1", - "string_decoder": "1.0.3", - "util-deprecate": "1.0.2" + "core-util-is": "~1.0.0", + "inherits": "~2.0.3", + "isarray": "~1.0.0", + "process-nextick-args": "~1.0.6", + "safe-buffer": "~5.1.1", + "string_decoder": "~1.0.3", + "util-deprecate": "~1.0.1" } }, "safe-buffer": { @@ -1287,7 +1286,7 @@ "resolved": "https://registry.npmjs.org/string_decoder/-/string_decoder-1.0.3.tgz", "integrity": "sha512-4AH6Z5fzNNBcH+6XDMfA/BTt87skxqJlO0lAh3Dker5zThcAxG6mKz+iGu308UKoPPQ8Dcqx/4JhujzltRa+hQ==", "requires": { - "safe-buffer": "5.1.1" + "safe-buffer": "~5.1.0" } } } @@ -1302,7 +1301,7 @@ "resolved": "https://registry.npmjs.org/normalize-path/-/normalize-path-2.1.1.tgz", "integrity": "sha1-GrKLVW4Zg2Oowab35vogE3/mrtk=", "requires": { - "remove-trailing-separator": "1.1.0" + "remove-trailing-separator": "^1.0.1" } }, "object-assign": { @@ -1315,8 +1314,8 @@ "resolved": "https://registry.npmjs.org/object.omit/-/object.omit-2.0.1.tgz", "integrity": "sha1-Gpx0SCnznbuFjHbKNXmuKlTr0fo=", "requires": { - "for-own": "0.1.5", - "is-extendable": "0.1.1" + "for-own": "^0.1.4", + "is-extendable": "^0.1.1" } }, "parse-glob": { @@ -1324,10 +1323,10 @@ "resolved": "https://registry.npmjs.org/parse-glob/-/parse-glob-3.0.4.tgz", "integrity": "sha1-ssN2z7EfNVE7rdFz7wu246OIORw=", "requires": { - "glob-base": "0.3.0", - "is-dotfile": "1.0.3", - "is-extglob": "1.0.0", - "is-glob": "2.0.1" + "glob-base": "^0.3.0", + "is-dotfile": "^1.0.0", + "is-extglob": "^1.0.0", + "is-glob": "^2.0.0" } }, "path-parse": { @@ -1350,7 +1349,7 @@ "resolved": "https://registry.npmjs.org/promise/-/promise-7.3.1.tgz", "integrity": "sha512-nolQXZ/4L+bP/UGlkfaIujX9BKxGwmQ9OT4mOt5yvy8iK1h3wqTEJCijzGANTCCl9nWjY41juyAn2K3Q1hLLTg==", "requires": { - "asap": "2.0.6" + "asap": "~2.0.3" } }, "punycode": { @@ -1373,9 +1372,9 @@ "resolved": "https://registry.npmjs.org/randomatic/-/randomatic-3.0.0.tgz", "integrity": "sha512-VdxFOIEY3mNO5PtSRkkle/hPJDHvQhK21oa73K4yAc9qmp6N429gAyF1gZMOTMeS0/AYzaV/2Trcef+NaIonSA==", "requires": { - "is-number": "4.0.0", - "kind-of": "6.0.2", - "math-random": "1.0.1" + "is-number": "^4.0.0", + "kind-of": "^6.0.0", + "math-random": "^1.0.1" }, "dependencies": { "is-number": { @@ -1395,13 +1394,13 @@ "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-2.3.6.tgz", "integrity": "sha512-tQtKA9WIAhBF3+VLAseyMqZeBjW0AHJoxOtYqSUZNJxauErmLbVm2FW1y+J/YA9dUrAC39ITejlZWhVIwawkKw==", "requires": { - "core-util-is": "1.0.2", - "inherits": "2.0.3", - "isarray": "1.0.0", - "process-nextick-args": "2.0.0", - "safe-buffer": "5.1.2", - "string_decoder": "1.1.1", - "util-deprecate": "1.0.2" + "core-util-is": "~1.0.0", + "inherits": "~2.0.3", + "isarray": "~1.0.0", + "process-nextick-args": "~2.0.0", + "safe-buffer": "~5.1.1", + "string_decoder": "~1.1.1", + "util-deprecate": "~1.0.1" } }, "regenerator-runtime": { @@ -1414,7 +1413,7 @@ "resolved": "https://registry.npmjs.org/regex-cache/-/regex-cache-0.4.4.tgz", "integrity": "sha512-nVIZwtCjkC9YgvWkpM55B5rBhBYRZhAaJbgcFYXXsHnbZ9UZI9nnVWYZpBlCqv9ho2eZryPnWrZGsOdPwVWXWQ==", "requires": { - "is-equal-shallow": "0.1.3" + "is-equal-shallow": "^0.1.3" } }, "remove-trailing-separator": { @@ -1437,7 +1436,7 @@ "resolved": "https://registry.npmjs.org/resolve/-/resolve-1.7.1.tgz", "integrity": "sha512-c7rwLofp8g1U+h1KNyHL/jicrKg1Ek4q+Lr33AL65uZTinUZHe30D5HlyN5V9NW0JX1D5dXQ4jqW5l7Sy/kGfw==", "requires": { - "path-parse": "1.0.5" + "path-parse": "^1.0.5" } }, "safe-buffer": { @@ -1485,7 +1484,7 @@ "resolved": "https://registry.npmjs.org/string_decoder/-/string_decoder-1.1.1.tgz", "integrity": "sha512-n/ShnvDi6FHbbVfviro+WojiFzv+s8MPMHBczVePfUpDJLwoLT0ht1l4YwBCbi8pJAveEEdnkHyPyTP/mzRfwg==", "requires": { - "safe-buffer": "5.1.2" + "safe-buffer": "~5.1.0" } }, "stripe": { @@ -1493,10 +1492,10 @@ "resolved": "https://registry.npmjs.org/stripe/-/stripe-4.25.0.tgz", "integrity": "sha512-sSRPSQ4BTSbdcevVSrtIJzlOCTIAXm8T38DE4zPL6ysYpIWGfIBdo2XnhouLK12/6cuLvaEInlfCZQgoEVzXpQ==", "requires": { - "bluebird": "2.11.0", - "lodash.isplainobject": "4.0.6", - "object-assign": "4.1.1", - "qs": "6.0.4" + "bluebird": "^2.10.2", + "lodash.isplainobject": "^4.0.6", + "object-assign": "^4.1.0", + "qs": "~6.0.4" } }, "supports-color": { @@ -1504,7 +1503,7 @@ "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-5.4.0.tgz", "integrity": "sha512-zjaXglF5nnWpsq470jSv6P9DwPvgLkuapYmfDm3JWOm0vkNTVF2tI4UrN2r6jH1qM/uc/WtxYY1hYoA2dOKj5w==", "requires": { - "has-flag": "3.0.0" + "has-flag": "^3.0.0" } }, "tedious": { @@ -1512,12 +1511,12 @@ "resolved": "https://registry.npmjs.org/tedious/-/tedious-1.14.0.tgz", "integrity": "sha1-wFwwO4Zoz5HlWmSTt0SGavYZh94=", "requires": { - "babel-runtime": "5.8.38", + "babel-runtime": "^5.8.19", "big-number": "0.3.1", - "bl": "1.2.2", - "iconv-lite": "0.4.23", - "readable-stream": "2.3.6", - "semver": "5.5.0", + "bl": "^1.0.0", + "iconv-lite": "^0.4.11", + "readable-stream": "^2.0.2", + "semver": "^5.1.0", "sprintf": "0.1.5" } }, @@ -1555,12 +1554,12 @@ "resolved": "https://registry.npmjs.org/winston/-/winston-2.4.2.tgz", "integrity": "sha512-4S/Ad4ZfSNl8OccCLxnJmNISWcm2joa6Q0YGDxlxMzH0fgSwWsjMt+SmlNwCqdpaPg3ev1HKkMBsIiXeSUwpbA==", "requires": { - "async": "1.0.0", - "colors": "1.0.3", - "cycle": "1.0.3", - "eyes": "0.1.8", - "isstream": "0.1.2", - "stack-trace": "0.0.10" + "async": "~1.0.0", + "colors": "1.0.x", + "cycle": "1.0.x", + "eyes": "0.1.x", + "isstream": "0.1.x", + "stack-trace": "0.0.x" } }, "xml2js": { @@ -1568,8 +1567,8 @@ "resolved": "https://registry.npmjs.org/xml2js/-/xml2js-0.4.17.tgz", "integrity": "sha1-F76T6q4/O3eTWceVtBlwWogX6Gg=", "requires": { - "sax": "1.2.1", - "xmlbuilder": "4.2.1" + "sax": ">=0.6.0", + "xmlbuilder": "^4.1.0" } }, "xmlbuilder": { @@ -1577,7 +1576,7 @@ "resolved": "https://registry.npmjs.org/xmlbuilder/-/xmlbuilder-4.2.1.tgz", "integrity": "sha1-qlijBBoGb5DqoWwvU4n/GfP0YaU=", "requires": { - "lodash": "4.17.10" + "lodash": "^4.0.0" } } } diff --git a/tools/tests/apps/modules/package.json b/tools/tests/apps/modules/package.json index 685d74c15d..e1c4559255 100644 --- a/tools/tests/apps/modules/package.json +++ b/tools/tests/apps/modules/package.json @@ -4,10 +4,10 @@ "description": "Test app exercising many aspects of the Meteor module system.", "private": true, "dependencies": { - "@babel/core": "^7.0.0-beta.46", - "@babel/plugin-proposal-do-expressions": "^7.0.0-beta.46", - "@babel/plugin-proposal-optional-chaining": "^7.0.0-beta.46", - "@babel/runtime": "^7.0.0-beta.46", + "@babel/core": "^7.0.0-beta.49", + "@babel/plugin-proposal-do-expressions": "^7.0.0-beta.49", + "@babel/plugin-proposal-optional-chaining": "^7.0.0-beta.49", + "@babel/runtime": "^7.0.0-beta.49", "acorn": "file:imports/links/acorn", "aws-sdk": "^2.2.41", "cli-color": "^0.2.3", From 274e2b1ed29941fa991f270c4180867ba97103c9 Mon Sep 17 00:00:00 2001 From: Ben Newman Date: Mon, 28 May 2018 12:19:05 -0400 Subject: [PATCH 0932/1355] Make chrome{,Mobile{,IOS}} synonymous for isModern testing. --- packages/modern-browsers/modern.js | 6 +++++- 1 file changed, 5 insertions(+), 1 deletion(-) diff --git a/packages/modern-browsers/modern.js b/packages/modern-browsers/modern.js index ed4cf86fa1..7b49293ca2 100644 --- a/packages/modern-browsers/modern.js +++ b/packages/modern-browsers/modern.js @@ -7,7 +7,11 @@ const hasOwn = Object.prototype.hasOwnProperty; // specifically for chromeMobile. This map defines that aliasing behavior // in a generic way that could work for other browsers as well. const browserAliases = { - chrome: ["chromeMobile"], + chrome: [ + "chromeMobile", + "chromeMobileIOS", + ], + // If a call to setMinimumBrowserVersions specifies Edge 12 as a minimum // version, that means no version of Internet Explorer pre-Edge should // be classified as modern. This edge:["ie"] alias effectively enforces From 39295cc136736d931efbe312a734a2f78bb161eb Mon Sep 17 00:00:00 2001 From: Ben Newman Date: Mon, 28 May 2018 12:19:55 -0400 Subject: [PATCH 0933/1355] Support both mobile_safari and mobileSafari for isModern testing. https://github.com/meteor/meteor/issues/9717#issuecomment-392521536 --- packages/ecmascript-runtime-client/package.js | 2 +- packages/ecmascript-runtime-client/versions.js | 2 +- packages/modern-browsers/modern.js | 12 ++++++++---- packages/modern-browsers/package.js | 2 +- packages/promise/package.js | 2 +- packages/promise/server.js | 2 +- packages/socket-stream-client/package.js | 2 +- packages/socket-stream-client/server.js | 2 +- 8 files changed, 15 insertions(+), 11 deletions(-) diff --git a/packages/ecmascript-runtime-client/package.js b/packages/ecmascript-runtime-client/package.js index ff55208430..d70ddb9cce 100644 --- a/packages/ecmascript-runtime-client/package.js +++ b/packages/ecmascript-runtime-client/package.js @@ -1,6 +1,6 @@ Package.describe({ name: "ecmascript-runtime-client", - version: "0.7.0", + version: "0.7.1", summary: "Polyfills for new ECMAScript 2015 APIs like Map and Set", git: "https://github.com/meteor/meteor/tree/devel/packages/ecmascript-runtime-client", documentation: "README.md" diff --git a/packages/ecmascript-runtime-client/versions.js b/packages/ecmascript-runtime-client/versions.js index 22fd092ba6..1bced38a73 100644 --- a/packages/ecmascript-runtime-client/versions.js +++ b/packages/ecmascript-runtime-client/versions.js @@ -9,7 +9,7 @@ setMinimumBrowserVersions({ // (pre-Edge) from the modern classification. #9818 #9839 ie: 12, firefox: 45, - mobile_safari: 10, + mobileSafari: 10, opera: 38, safari: 10, // Electron 1.6.0+ matches Chromium 55, per diff --git a/packages/modern-browsers/modern.js b/packages/modern-browsers/modern.js index 7b49293ca2..a051dbe096 100644 --- a/packages/modern-browsers/modern.js +++ b/packages/modern-browsers/modern.js @@ -17,6 +17,10 @@ const browserAliases = { // be classified as modern. This edge:["ie"] alias effectively enforces // that logic, because there is no IE12. #9818 #9839 edge: ["ie"], + + // The webapp package converts browser names to camel case, so + // mobile_safari and mobileSafari should be synonymous. + mobile_safari: ["mobileSafari"], }; // Expand the given minimum versions by reusing chrome versions for @@ -140,7 +144,7 @@ setMinimumBrowserVersions({ chrome: 49, edge: 12, firefox: 45, - mobile_safari: [9, 2], + mobileSafari: [9, 2], opera: 36, safari: 9, // Electron 1.0.0+ matches Chromium 49, per @@ -152,7 +156,7 @@ setMinimumBrowserVersions({ chrome: 39, edge: 13, firefox: 26, - mobile_safari: 10, + mobileSafari: 10, opera: 26, safari: 10, // Disallow any version of PhantomJS. @@ -164,7 +168,7 @@ setMinimumBrowserVersions({ chrome: 41, edge: 13, firefox: 34, - mobile_safari: [9, 2], + mobileSafari: [9, 2], opera: 29, safari: [9, 1], electron: [0, 24], @@ -174,7 +178,7 @@ setMinimumBrowserVersions({ chrome: 38, edge: 12, firefox: 36, - mobile_safari: 9, + mobileSafari: 9, opera: 25, safari: 9, electron: [0, 20], diff --git a/packages/modern-browsers/package.js b/packages/modern-browsers/package.js index 102b1429ac..4ea7eed7fc 100644 --- a/packages/modern-browsers/package.js +++ b/packages/modern-browsers/package.js @@ -1,6 +1,6 @@ Package.describe({ name: "modern-browsers", - version: "0.1.0", + version: "0.1.1", summary: "API for defining the boundary between modern and legacy " + "JavaScript clients", documentation: "README.md" diff --git a/packages/promise/package.js b/packages/promise/package.js index a98e3426e8..b7c2cac64c 100644 --- a/packages/promise/package.js +++ b/packages/promise/package.js @@ -1,6 +1,6 @@ Package.describe({ name: "promise", - version: "0.11.0", + version: "0.11.1", summary: "ECMAScript 2015 Promise polyfill with Fiber support", git: "https://github.com/meteor/promise", documentation: "README.md" diff --git a/packages/promise/server.js b/packages/promise/server.js index d92e6a76b3..0e81c6e8d4 100644 --- a/packages/promise/server.js +++ b/packages/promise/server.js @@ -15,7 +15,7 @@ require("meteor/modern-browsers").setMinimumBrowserVersions({ // (pre-Edge) from the modern classification. #9818 #9839 ie: 12, firefox: 29, - mobile_safari: 8, + mobileSafari: 8, opera: 20, safari: [7, 1], // https://github.com/Kilian/electron-to-chromium/blob/master/full-versions.js diff --git a/packages/socket-stream-client/package.js b/packages/socket-stream-client/package.js index d0c9a6aa6f..791bddc65a 100644 --- a/packages/socket-stream-client/package.js +++ b/packages/socket-stream-client/package.js @@ -1,6 +1,6 @@ Package.describe({ name: "socket-stream-client", - version: "0.2.0", + version: "0.2.1", summary: "Provides the ClientStream abstraction used by ddp-client", documentation: "README.md" }); diff --git a/packages/socket-stream-client/server.js b/packages/socket-stream-client/server.js index 3b4869e4d0..aa28e7d750 100644 --- a/packages/socket-stream-client/server.js +++ b/packages/socket-stream-client/server.js @@ -7,7 +7,7 @@ setMinimumBrowserVersions({ edge: 12, firefox: 11, ie: 10, - mobile_safari: [6, 1], + mobileSafari: [6, 1], phantomjs: 2, safari: 7, electron: [0, 20], From 0a61dae68dc47d4f4c43858049e12c110696aabd Mon Sep 17 00:00:00 2001 From: James Burgess Date: Mon, 28 May 2018 22:06:53 +0400 Subject: [PATCH 0934/1355] Docs typo (#9898) --- packages/http/httpcall_client.js | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/packages/http/httpcall_client.js b/packages/http/httpcall_client.js index aa1d225602..a8aac475da 100644 --- a/packages/http/httpcall_client.js +++ b/packages/http/httpcall_client.js @@ -18,7 +18,7 @@ var hasOwn = Object.prototype.hasOwnProperty; * @param {Number} options.timeout Maximum time in milliseconds to wait for the request before failing. There is no timeout by default. * @param {Boolean} options.followRedirects If `true`, transparently follow HTTP redirects. Cannot be set to `false` on the client. Default `true`. * @param {Object} options.npmRequestOptions On the server, `HTTP.call` is implemented by using the [npm `request` module](https://www.npmjs.com/package/request). Any options in this object will be passed directly to the `request` invocation. - * @param {Function} options.beforeSend On the client, this will be called before the request is sent to allow for more direct manipulation of the underlying XMLHttpRequest object, which will be passed as the first argument. If the callback returns `false`, the request will be not be send. + * @param {Function} options.beforeSend On the client, this will be called before the request is sent to allow for more direct manipulation of the underlying XMLHttpRequest object, which will be passed as the first argument. If the callback returns `false`, the request will be not be sent. * @param {Function} [asyncCallback] Optional callback. If passed, the method runs asynchronously, instead of synchronously, and calls asyncCallback. On the client, this callback is required. */ HTTP.call = function(method, url, options, callback) { From 4e59d8bb6514c718960b69a46abda591b3390c19 Mon Sep 17 00:00:00 2001 From: Christian Klaussner Date: Tue, 29 May 2018 11:34:15 +0200 Subject: [PATCH 0935/1355] Fix Meteor version number in History.md (#9916) --- History.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/History.md b/History.md index 8d207f63e7..922466535c 100644 --- a/History.md +++ b/History.md @@ -117,7 +117,7 @@ import("the-package").then(...) ``` This reuse of compiled code is the critical new feature that was added - in Meteor 1.6.2. + in Meteor 1.7. * Install the package normally with `meteor npm install the-package`, then create a symbolic link *to* the installed package elsewhere in From 7f9706d0f24b17ee30fef4a5b40e75e7fbb8cb51 Mon Sep 17 00:00:00 2001 From: Ben Newman Date: Tue, 29 May 2018 16:09:20 -0400 Subject: [PATCH 0936/1355] Revert "Stop scanning node_modules directories in PackageSource#_findSources. (#9825)" This reverts commit c5302bb2ba609e5535dcce8647adf30e0a6f8daf. Based on conversation with @KoenLav, it seems this optimization was more of a breaking change than anticipated, and the workaround of creating a symbolic link to induce compilation is not just annoying on Windows but also does not satisfy the goal of being able to import from node_modules (as before) rather than importing via the symbolic link. We will need to revisit this pitfall in Meteor 1.7.1, but it's important to unbreak it ASAP in Meteor 1.7.0.1 (since 1.7 is unfortunately final). https://github.com/meteor/meteor/pull/9826#issuecomment-392596129 https://github.com/mozfet/meteor-autoform-materialize/issues/43 For apps that are accidentally compiling too many LESS or SCSS files, the recommended workaround (for now) is to add the offending directories and/or files to a .meteorignore file. --- tools/isobuild/package-source.js | 88 +++++++++++++++++++++++++++++--- 1 file changed, 80 insertions(+), 8 deletions(-) diff --git a/tools/isobuild/package-source.js b/tools/isobuild/package-source.js index c7279c6389..18a39c3322 100644 --- a/tools/isobuild/package-source.js +++ b/tools/isobuild/package-source.js @@ -1071,6 +1071,10 @@ _.extend(PackageSource.prototype, { return fileOptions; }, + // This cache survives for the duration of the process, and stores the + // complete list of source files for directories within node_modules. + _findSourcesCache: Object.create(null), + _findSources: Profile("PackageSource#_findSources", function ({ sourceProcessorSet, watchSet, @@ -1129,6 +1133,31 @@ _.extend(PackageSource.prototype, { /^acceptance-tests\/$/, ] : anyLevelExcludes; + const nodeModulesReadOptions = { + ...sourceReadOptions, + // When we're in a node_modules directory, we can avoid collecting + // .js and .json files, because (unlike .less or .coffee files) they + // are allowed to be imported later by the ImportScanner, as they do + // not require custom processing by compiler plugins. + exclude: sourceReadOptions.exclude.concat(/\.js(on)?$/i), + }; + + const baseCacheKey = JSON.stringify({ + isApp, + arch, + sourceRoot: self.sourceRoot, + excludes: anyLevelExcludes, + }, (key, value) => { + if (_.isRegExp(value)) { + return [value.source, value.flags]; + } + return value; + }); + + function makeCacheKey(dir) { + return baseCacheKey + "\0" + dir; + } + const dotMeteorIgnoreFiles = Object.create(null); function removeIgnoredFilesFrom(array) { @@ -1159,23 +1188,37 @@ _.extend(PackageSource.prototype, { return array; } - function find(dir, depth) { + function find(dir, depth, inNodeModules) { // Remove trailing slash. dir = dir.replace(/\/$/, ""); + // If we're in a node_modules directory, cache the results of the + // find function for the duration of the process. + const cacheKey = inNodeModules && makeCacheKey(dir); + if (cacheKey && + cacheKey in self._findSourcesCache) { + return self._findSourcesCache[cacheKey]; + } + if (loopChecker.check(dir)) { // Pretend we found no files. return []; } const absDir = files.pathJoin(self.sourceRoot, dir); - const ignore = optimisticReadMeteorIgnore(absDir); - if (ignore) { - dotMeteorIgnoreFiles[dir] = ignore; + if (! inNodeModules) { + const ignore = optimisticReadMeteorIgnore(absDir); + if (ignore) { + dotMeteorIgnoreFiles[dir] = ignore; + } } + const readOptions = inNodeModules + ? nodeModulesReadOptions + : sourceReadOptions; + const sources = _.difference( - self._readAndWatchDirectory(dir, watchSet, sourceReadOptions), + self._readAndWatchDirectory(dir, watchSet, readOptions), depth > 0 ? [] : controlFiles ); @@ -1189,20 +1232,49 @@ _.extend(PackageSource.prototype, { removeIgnoredFilesFrom(sources); removeIgnoredFilesFrom(subdirectories); + let nodeModulesDir; + subdirectories.forEach(subdir => { if (/(^|\/)node_modules\/$/.test(subdir)) { - sourceArch.localNodeModulesDirs[subdir] = true; + if (! inNodeModules) { + sourceArch.localNodeModulesDirs[subdir] = true; + } + + // Defer handling node_modules until after we handle all other + // subdirectories, so that we know whether we need to descend + // further. If sources is still empty after we handle everything + // else in dir, then nothing in this node_modules subdir can be + // imported by anthing outside of it, so we can ignore it. + nodeModulesDir = subdir; + } else { - sources.push(...find(subdir, depth + 1)); + sources.push(...find(subdir, depth + 1, inNodeModules)); } }); + if (isApp && + nodeModulesDir && + (! inNodeModules || sources.length > 0)) { + // If we found a node_modules subdirectory above, and either we + // are not already inside another node_modules directory or we + // found source files elsewhere in this directory or its other + // subdirectories, and we're building an app (as opposed to a + // Meteor package), continue searching this node_modules + // directory, so that any non-.js(on) files it contains can be + // imported by the app (#6037). + sources.push(...find(nodeModulesDir, depth + 1, true)); + } + delete dotMeteorIgnoreFiles[dir]; + if (cacheKey) { + self._findSourcesCache[cacheKey] = sources; + } + return sources; } - return files.withCache(() => find("", 0)); + return files.withCache(() => find("", 0, false)); }), _findAssets({ From 1697d79c512a656dcf774b6d0b08ac756feeba92 Mon Sep 17 00:00:00 2001 From: Ben Newman Date: Tue, 29 May 2018 16:27:05 -0400 Subject: [PATCH 0937/1355] Mention reverting #9825 in History.md for Meteor 1.7.0.1. --- History.md | 14 ++++++++++++-- 1 file changed, 12 insertions(+), 2 deletions(-) diff --git a/History.md b/History.md index 922466535c..c618d2b0f3 100644 --- a/History.md +++ b/History.md @@ -1,5 +1,14 @@ ## v.NEXT +## v1.7.0.1, 2018-05-29 + +* Reverted an [optimization](https://github.com/meteor/meteor/pull/9825) + introduced in Meteor 1.7 to stop scanning `node_modules` for files that + might be of interest to compiler plugins, since the intended workarounds + (creating symlinks) did not satisfy all existing use cases. We will + revisit this optimization in Meteor 1.7.1. + [mozfet/meteor-autoform-materialize#43](https://github.com/mozfet/meteor-autoform-materialize/issues/43) + ## v1.7, 2018-05-28 * More than 80% of internet users worldwide have access to a web browser @@ -141,12 +150,13 @@ application code. [PR #9771](https://github.com/meteor/meteor/pull/9771) [Feature #6](https://github.com/meteor/meteor-feature-requests/issues/6) - > Note: since compilation of npm packages can now be enabled using the + > ~Note: since compilation of npm packages can now be enabled using the techniques described above, Meteor will no longer automatically scan `node_modules` directories for modules that can be compiled by compiler plugins. If you have been using that functionality to import compiled-to-JS modules from `node_modules`, you should start using the - symlinking strategy instead. + symlinking strategy instead.~ **Follow-up note: this optimization was + reverted in Meteor 1.7.0.1 (see [above](#v1701-2018-05-29)).** * Node has been updated to version [8.11.2](https://nodejs.org/en/blog/release/v8.11.2/), officially fixing From 6b7df3fb0dec3b7316307cc0464a159ac8cc34f2 Mon Sep 17 00:00:00 2001 From: Ben Newman Date: Tue, 29 May 2018 18:09:09 -0400 Subject: [PATCH 0938/1355] When checking for existing builds, tolerate web.browser.legacy better. This is a follow-up to b4a68e99c13fe22acf422b63941225545404d60a, which allowed obtaining a simplified list of build architectures (without web.browser.legacy) by calling isopack.buildArchitectures(true), which was helpful for matching existing builds of packages that were published before the web.browser.legacy architecture was introduced in Meteor 1.7. Now that some packages have been published with the web.browser.legacy architecture as part of the Meteor 1.7 release, it's important to try matching the full unsimplified list of architectures, while still falling back to the simplified list for other packages. --- tools/cli/commands-packages.js | 13 ++++++++++++- 1 file changed, 12 insertions(+), 1 deletion(-) diff --git a/tools/cli/commands-packages.js b/tools/cli/commands-packages.js index 0af89e584d..85ea491d0f 100644 --- a/tools/cli/commands-packages.js +++ b/tools/cli/commands-packages.js @@ -933,7 +933,18 @@ main.registerCommand({ throw Error("no isopack for " + packageName); } - var existingBuild = + const existingBuild = + // First try with the non-simplified build architecture + // list, which is likely to be something like + // os+web.browser+web.browser.legacy+web.cordova: + catalog.official.getBuildWithPreciseBuildArchitectures( + oldVersionRecord, + isopk.buildArchitectures(), + ) || + // If that fails, fall back to the simplified architecture + // list (e.g. os+web.browser+web.cordova), to match packages + // published before the web.browser.legacy architecture was + // introduced (in Meteor 1.7). catalog.official.getBuildWithPreciseBuildArchitectures( oldVersionRecord, isopk.buildArchitectures(true), From f41e3f17ce269033313d78c4eae1a1b8ee7d1815 Mon Sep 17 00:00:00 2001 From: Ben Newman Date: Tue, 29 May 2018 18:13:22 -0400 Subject: [PATCH 0939/1355] Bump package versions for 1.7.0.1-rc.0 release. --- packages/meteor-tool/package.js | 2 +- scripts/admin/meteor-release-experimental.json | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/packages/meteor-tool/package.js b/packages/meteor-tool/package.js index 3c263189f9..da7d2cb368 100644 --- a/packages/meteor-tool/package.js +++ b/packages/meteor-tool/package.js @@ -1,6 +1,6 @@ Package.describe({ summary: "The Meteor command-line tool", - version: '1.7.0' + version: '1.7.0-1-rc.0' }); Package.includeTool(); diff --git a/scripts/admin/meteor-release-experimental.json b/scripts/admin/meteor-release-experimental.json index ce1e18e865..c147c2b4ee 100644 --- a/scripts/admin/meteor-release-experimental.json +++ b/scripts/admin/meteor-release-experimental.json @@ -1,6 +1,6 @@ { "track": "METEOR", - "version": "1.7-rc.14", + "version": "1.7.0.1-rc.0", "recommended": false, "official": false, "description": "Meteor" From c92c6590ce5610079250d6a544f38a1e29d24c00 Mon Sep 17 00:00:00 2001 From: Ben Newman Date: Tue, 29 May 2018 18:30:05 -0400 Subject: [PATCH 0940/1355] Recommend updating @babel/runtime and meteor-node-stubs in History.md. --- History.md | 8 ++++++++ 1 file changed, 8 insertions(+) diff --git a/History.md b/History.md index c618d2b0f3..9d18ddff0c 100644 --- a/History.md +++ b/History.md @@ -9,6 +9,14 @@ revisit this optimization in Meteor 1.7.1. [mozfet/meteor-autoform-materialize#43](https://github.com/mozfet/meteor-autoform-materialize/issues/43) +* After updating to Meteor 1.7 or 1.7.0.1, you should update the + `@babel/runtime` npm package (as well as other Babel-related packages) + to their latest versions, along with the `meteor-node-stubs` package, + by running the following command: + ```sh + meteor npm install @babel/runtime@latest meteor-node-stubs@latest + ``` + ## v1.7, 2018-05-28 * More than 80% of internet users worldwide have access to a web browser From d78a17d7e92334922a4c2c3f595430db5d9e0231 Mon Sep 17 00:00:00 2001 From: Ben Newman Date: Wed, 30 May 2018 10:03:15 -0400 Subject: [PATCH 0941/1355] Bump package versions for the official 1.7.0.1 release. https://github.com/meteor/meteor/pull/9917 --- packages/meteor-tool/package.js | 2 +- scripts/admin/meteor-release-official.json | 5 ++++- 2 files changed, 5 insertions(+), 2 deletions(-) diff --git a/packages/meteor-tool/package.js b/packages/meteor-tool/package.js index da7d2cb368..d7f4740d29 100644 --- a/packages/meteor-tool/package.js +++ b/packages/meteor-tool/package.js @@ -1,6 +1,6 @@ Package.describe({ summary: "The Meteor command-line tool", - version: '1.7.0-1-rc.0' + version: '1.7.0_1' }); Package.includeTool(); diff --git a/scripts/admin/meteor-release-official.json b/scripts/admin/meteor-release-official.json index 4d035d176f..157fda3798 100644 --- a/scripts/admin/meteor-release-official.json +++ b/scripts/admin/meteor-release-official.json @@ -1,7 +1,10 @@ { "track": "METEOR", - "version": "1.7", + "version": "1.7.0.1", "recommended": false, "official": true, + "patchFrom": [ + "1.7" + ], "description": "The Official Meteor Distribution" } From e595bae37417b8bdf43a42773aaf43e6ab927ff4 Mon Sep 17 00:00:00 2001 From: Ben Newman Date: Mon, 4 Jun 2018 10:21:55 -0400 Subject: [PATCH 0942/1355] Fix jsdoc for Mongo.Collection#raw{Collection,Database}. --- packages/mongo/collection.js | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/packages/mongo/collection.js b/packages/mongo/collection.js index efad05a493..c60574d556 100644 --- a/packages/mongo/collection.js +++ b/packages/mongo/collection.js @@ -687,6 +687,8 @@ Object.assign(Mongo.Collection.prototype, { /** * @summary Returns the [`Collection`](http://mongodb.github.io/node-mongodb-native/2.2/api/Collection.html) object corresponding to this collection from the [npm `mongodb` driver module](https://www.npmjs.com/package/mongodb) which is wrapped by `Mongo.Collection`. * @locus Server + * @memberof Mongo.Collection + * @instance */ rawCollection() { var self = this; @@ -699,6 +701,8 @@ Object.assign(Mongo.Collection.prototype, { /** * @summary Returns the [`Db`](http://mongodb.github.io/node-mongodb-native/2.2/api/Db.html) object corresponding to this collection's database connection from the [npm `mongodb` driver module](https://www.npmjs.com/package/mongodb) which is wrapped by `Mongo.Collection`. * @locus Server + * @memberof Mongo.Collection + * @instance */ rawDatabase() { var self = this; From 7ba5ea11e7e0dcdd06e95b041eac353396d92561 Mon Sep 17 00:00:00 2001 From: StorytellerCZ Date: Tue, 5 Jun 2018 10:34:11 +0200 Subject: [PATCH 0943/1355] Accounts: Report duplicate keys before general error. --- packages/accounts-base/accounts_server.js | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/packages/accounts-base/accounts_server.js b/packages/accounts-base/accounts_server.js index 317ab03f44..047fc62fb3 100644 --- a/packages/accounts-base/accounts_server.js +++ b/packages/accounts-base/accounts_server.js @@ -1102,12 +1102,12 @@ export class AccountsServer extends AccountsCommon { // XXX string parsing sucks, maybe // https://jira.mongodb.org/browse/SERVER-3069 will get fixed one day if (e.name !== 'MongoError') throw e; - if (e.code !== 11000) throw e; if (e.errmsg.includes('emails.address')) throw new Meteor.Error(403, "Email already exists."); if (e.errmsg.includes('username')) throw new Meteor.Error(403, "Username already exists."); // XXX better error reporting for services.facebook.id duplicate, etc + if (e.code !== 11000) throw e; throw e; } return userId; From 38f570abc096b1042f555b7b646dc4ea10fee06e Mon Sep 17 00:00:00 2001 From: Ben Newman Date: Tue, 5 Jun 2018 13:06:51 -0400 Subject: [PATCH 0944/1355] Ensure npm scripts find correct meteor executable. (#9941) In my local development environment, the `meteor` command resolves to my Meteor checkout, and I use `~/.meteor/meteor` explicitly when I want to run a released version of Meteor. If I run ~/.meteor/meteor npm test and the `package.json` file defines an npm `test` script that refers to `meteor`, in my environment this `meteor` won't be the same as the one I used to run `~/.meteor/meteor npm test`, which can introduce weirdness such as pinning the versions of packages in `meteor/packages/non-core`, and all the usual Meteor version inconsistency risks. This commit fixes that problem by prepending the directory that contains the `meteor` (or `meteor.bat`) executable to the `PATH` before running `meteor npm ...` commands. --- tools/cli/dev-bundle-bin-helpers.js | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/tools/cli/dev-bundle-bin-helpers.js b/tools/cli/dev-bundle-bin-helpers.js index 136f6b0693..ce0ffa13d3 100644 --- a/tools/cli/dev-bundle-bin-helpers.js +++ b/tools/cli/dev-bundle-bin-helpers.js @@ -70,6 +70,10 @@ exports.getEnv = function (options) { var paths = [ // When npm looks for node, it must find dev_bundle/bin/node. path.join(devBundleDir, "bin"), + + // When npm looks for meteor, it should find dev_bundle/../meteor. + path.dirname(devBundleDir), + // Also make available any scripts installed by packages in // dev_bundle/lib/node_modules, such as node-gyp. path.join(devBundleDir, "lib", "node_modules", ".bin") From 237f20da01dc9744d61e99a8263d4842cba058d5 Mon Sep 17 00:00:00 2001 From: Ben Newman Date: Tue, 5 Jun 2018 12:32:09 -0400 Subject: [PATCH 0945/1355] Update npm to version 6.1.0 and pacote to 8.1.6. Fixes #9940. --- History.md | 4 ++++ scripts/build-dev-bundle-common.sh | 2 +- scripts/dev-bundle-tool-package.js | 4 ++-- 3 files changed, 7 insertions(+), 3 deletions(-) diff --git a/History.md b/History.md index 9d18ddff0c..4fdd17afc1 100644 --- a/History.md +++ b/History.md @@ -1,5 +1,9 @@ ## v.NEXT +* The `npm` package has been upgraded to version 6.1.0, and our + [fork](https://github.com/meteor/pacote/tree/v8.1.6-meteor) of its + `pacote` dependency has been rebased against version 8.1.6. + ## v1.7.0.1, 2018-05-29 * Reverted an [optimization](https://github.com/meteor/meteor/pull/9825) diff --git a/scripts/build-dev-bundle-common.sh b/scripts/build-dev-bundle-common.sh index d067c52c7f..fa8ac08b17 100644 --- a/scripts/build-dev-bundle-common.sh +++ b/scripts/build-dev-bundle-common.sh @@ -8,7 +8,7 @@ ARCH=$(uname -m) NODE_VERSION=8.11.2 MONGO_VERSION_64BIT=3.6.4 MONGO_VERSION_32BIT=3.2.19 -NPM_VERSION=5.10.0 +NPM_VERSION=6.1.0 # If we built Node from source on Jenkins, this is the build number. NODE_BUILD_NUMBER= diff --git a/scripts/dev-bundle-tool-package.js b/scripts/dev-bundle-tool-package.js index e564b87bb0..7bc5c4a93f 100644 --- a/scripts/dev-bundle-tool-package.js +++ b/scripts/dev-bundle-tool-package.js @@ -10,8 +10,8 @@ var packageJson = { dependencies: { // Explicit dependency because we are replacing it with a bundled version // and we want to make sure there are no dependencies on a higher version - npm: "5.10.0", - pacote: "https://github.com/meteor/pacote/tarball/2c16c509074bbba8ca5dd410caf808412ce79e6c", + npm: "6.1.0", + pacote: "https://github.com/meteor/pacote/tarball/a3285854a68e4969d6c8abaa74407f7d113b178f", "node-gyp": "3.6.2", "node-pre-gyp": "0.6.36", "meteor-babel": "7.0.0-beta.49-1", From 76d45bdb3e3a968154c05bc5b4240c0371750fbc Mon Sep 17 00:00:00 2001 From: Ben Newman Date: Tue, 5 Jun 2018 13:14:41 -0400 Subject: [PATCH 0946/1355] Bump $BUNDLE_VERSION to 8.11.2.9 before rebuilding dev bundle. --- meteor | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/meteor b/meteor index 9906a76523..14b7cace9a 100755 --- a/meteor +++ b/meteor @@ -1,6 +1,6 @@ #!/usr/bin/env bash -BUNDLE_VERSION=8.11.2.8 +BUNDLE_VERSION=8.11.2.9 # OS Check. Put here because here is where we download the precompiled # bundles that are arch specific. From 6725b7046ee8b93c94dd384d30aa325f679e0215 Mon Sep 17 00:00:00 2001 From: Ben Newman Date: Tue, 5 Jun 2018 13:27:52 -0400 Subject: [PATCH 0947/1355] Bump package versions for 1.7.1-beta.0 release. --- packages/meteor-tool/package.js | 2 +- scripts/admin/meteor-release-experimental.json | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/packages/meteor-tool/package.js b/packages/meteor-tool/package.js index d7f4740d29..521ca88eb6 100644 --- a/packages/meteor-tool/package.js +++ b/packages/meteor-tool/package.js @@ -1,6 +1,6 @@ Package.describe({ summary: "The Meteor command-line tool", - version: '1.7.0_1' + version: '1.7.1-beta.0' }); Package.includeTool(); diff --git a/scripts/admin/meteor-release-experimental.json b/scripts/admin/meteor-release-experimental.json index c147c2b4ee..8f89e1b4ff 100644 --- a/scripts/admin/meteor-release-experimental.json +++ b/scripts/admin/meteor-release-experimental.json @@ -1,6 +1,6 @@ { "track": "METEOR", - "version": "1.7.0.1-rc.0", + "version": "1.7.1-beta.0", "recommended": false, "official": false, "description": "Meteor" From 0244680131eeab8ebb5045094e3e3faaa6b84afb Mon Sep 17 00:00:00 2001 From: Adriaan Callaerts Date: Thu, 7 Jun 2018 15:41:21 +0200 Subject: [PATCH 0948/1355] Allow dynamic import() requests from any origin on any device. (#9954) A tweak to the change introduced in c4b5707747ce3c5bf339b62940da84628680a1d3 to fix #9952. This will allow clients that don't support the * value in `Access-Control-Allow-Headers`, but do specify the `Access-Control-Request-Headers` (such as electron 2.0.2) to use dynamic import. --- packages/dynamic-import/server.js | 7 ++++++- 1 file changed, 6 insertions(+), 1 deletion(-) diff --git a/packages/dynamic-import/server.js b/packages/dynamic-import/server.js index 0bdbeb8e69..ee35c0e3fd 100644 --- a/packages/dynamic-import/server.js +++ b/packages/dynamic-import/server.js @@ -66,7 +66,12 @@ function middleware(request, response) { response.setHeader("Access-Control-Allow-Origin", "*"); if (request.method === "OPTIONS") { - response.setHeader("Access-Control-Allow-Headers", "*"); + const requestedHeaders = request.headers["access-control-request-headers"]; + if (requestedHeaders !== undefined) { + response.setHeader("Access-Control-Allow-Headers", requestedHeaders); + } else { + response.setHeader("Access-Control-Allow-Headers", "*"); + } response.setHeader("Access-Control-Allow-Methods", "POST"); response.end(); } else if (request.method === "POST") { From 43211a0526502c19276881425c44f3b38c9f5205 Mon Sep 17 00:00:00 2001 From: Ben Newman Date: Thu, 7 Jun 2018 11:11:48 -0400 Subject: [PATCH 0949/1355] Style tweaks for access-control-request-headers echoing. --- packages/dynamic-import/server.js | 11 +++++------ 1 file changed, 5 insertions(+), 6 deletions(-) diff --git a/packages/dynamic-import/server.js b/packages/dynamic-import/server.js index ee35c0e3fd..ed29b51767 100644 --- a/packages/dynamic-import/server.js +++ b/packages/dynamic-import/server.js @@ -66,12 +66,11 @@ function middleware(request, response) { response.setHeader("Access-Control-Allow-Origin", "*"); if (request.method === "OPTIONS") { - const requestedHeaders = request.headers["access-control-request-headers"]; - if (requestedHeaders !== undefined) { - response.setHeader("Access-Control-Allow-Headers", requestedHeaders); - } else { - response.setHeader("Access-Control-Allow-Headers", "*"); - } + const acrh = request.headers["access-control-request-headers"]; + response.setHeader( + "Access-Control-Allow-Headers", + typeof acrh === "string" ? acrh : "*" + ); response.setHeader("Access-Control-Allow-Methods", "POST"); response.end(); } else if (request.method === "POST") { From f0e04facd286cc8e38b0a82fc8e0169db0c6ea24 Mon Sep 17 00:00:00 2001 From: Ben Newman Date: Thu, 7 Jun 2018 11:31:28 -0400 Subject: [PATCH 0950/1355] Update dynamic-import test app to Meteor 1.7.0.1. --- .../.meteor/.finished-upgraders | 1 + .../apps/dynamic-import/.meteor/packages | 17 +- .../tests/apps/dynamic-import/.meteor/release | 2 +- .../apps/dynamic-import/.meteor/versions | 82 +++++ .../apps/dynamic-import/package-lock.json | 290 +++++++++--------- tools/tests/apps/dynamic-import/package.json | 2 +- 6 files changed, 239 insertions(+), 155 deletions(-) create mode 100644 tools/tests/apps/dynamic-import/.meteor/versions diff --git a/tools/tests/apps/dynamic-import/.meteor/.finished-upgraders b/tools/tests/apps/dynamic-import/.meteor/.finished-upgraders index 910574ce2d..4538749ab8 100644 --- a/tools/tests/apps/dynamic-import/.meteor/.finished-upgraders +++ b/tools/tests/apps/dynamic-import/.meteor/.finished-upgraders @@ -15,3 +15,4 @@ notices-for-facebook-graph-api-2 1.4.1-add-shell-server-package 1.4.3-split-account-service-packages 1.5-add-dynamic-import-package +1.7-split-underscore-from-meteor-base diff --git a/tools/tests/apps/dynamic-import/.meteor/packages b/tools/tests/apps/dynamic-import/.meteor/packages index d705b9dbce..c99031ebff 100644 --- a/tools/tests/apps/dynamic-import/.meteor/packages +++ b/tools/tests/apps/dynamic-import/.meteor/packages @@ -4,23 +4,24 @@ # 'meteor add' and 'meteor remove' will edit this file for you, # but you can also edit it by hand. -meteor-base@1.3.0 # Packages every Meteor app needs to have +meteor-base@1.4.0 # Packages every Meteor app needs to have mobile-experience@1.0.5 # Packages for a great mobile UX -mongo@1.4.2 # The database Meteor supports right now +mongo@1.5.0 # The database Meteor supports right now blaze-html-templates@1.0.4 # Compile .html files into Meteor Blaze views reactive-var@1.0.11 # Reactive variable for tracker jquery@1.11.10 # Helpful client-side library -tracker@1.1.3 # Meteor's client-side reactive programming library +tracker@1.2.0 # Meteor's client-side reactive programming library -standard-minifier-css@1.4.0 # CSS minifier run for production mode -standard-minifier-js@2.3.1 # JS minifier run for production mode -es5-shim@4.7.0 # ECMAScript 5 compatibility for older browsers. -ecmascript@0.10.0 # Enable ECMAScript2015+ syntax in app code +standard-minifier-css@1.4.1 # CSS minifier run for production mode +standard-minifier-js@2.3.4 # JS minifier run for production mode +es5-shim@4.8.0 # ECMAScript 5 compatibility for older browsers. +ecmascript@0.11.0 # Enable ECMAScript2015+ syntax in app code shell-server@0.3.1 # Server-side component of the `meteor shell` command autopublish@1.0.7 # Publish all data to the clients (for prototyping) insecure@1.0.7 # Allow all DB writes from clients (for prototyping) -dynamic-import@0.3.0 +dynamic-import@0.4.0 lazy-test-package helper-package user:colon-name +underscore diff --git a/tools/tests/apps/dynamic-import/.meteor/release b/tools/tests/apps/dynamic-import/.meteor/release index d502dc0d92..7f956de292 100644 --- a/tools/tests/apps/dynamic-import/.meteor/release +++ b/tools/tests/apps/dynamic-import/.meteor/release @@ -1 +1 @@ -METEOR@1.6.1 +METEOR@1.7.0.1 diff --git a/tools/tests/apps/dynamic-import/.meteor/versions b/tools/tests/apps/dynamic-import/.meteor/versions new file mode 100644 index 0000000000..0d014bc9d2 --- /dev/null +++ b/tools/tests/apps/dynamic-import/.meteor/versions @@ -0,0 +1,82 @@ +allow-deny@1.1.0 +autopublish@1.0.7 +autoupdate@1.4.0 +babel-compiler@7.1.0 +babel-runtime@1.2.2 +base64@1.0.11 +binary-heap@1.0.10 +blaze@2.3.2 +blaze-html-templates@1.1.2 +blaze-tools@1.0.10 +boilerplate-generator@1.5.0 +caching-compiler@1.1.12 +caching-html-compiler@1.1.2 +callback-hook@1.1.0 +check@1.3.1 +coffeescript@2.2.1_1 +coffeescript-compiler@2.2.1_1 +ddp@1.4.0 +ddp-client@2.3.2 +ddp-common@1.4.0 +ddp-server@2.2.0 +deps@1.0.12 +diff-sequence@1.1.0 +dynamic-import@0.4.0 +ecmascript@0.11.0 +ecmascript-runtime@0.7.0 +ecmascript-runtime-client@0.7.1 +ecmascript-runtime-server@0.7.0 +ejson@1.1.0 +es5-shim@4.8.0 +geojson-utils@1.0.10 +helper-package@0.0.1 +hot-code-push@1.0.4 +html-tools@1.0.11 +htmljs@1.0.11 +http@1.4.1 +id-map@1.1.0 +insecure@1.0.7 +jquery@1.11.11 +launch-screen@1.1.1 +lazy-test-package@0.0.1 +livedata@1.0.18 +logging@1.1.20 +meteor@1.9.0 +meteor-base@1.4.0 +minifier-css@1.3.1 +minifier-js@2.3.5 +minimongo@1.4.4 +mobile-experience@1.0.5 +mobile-status-bar@1.0.14 +modern-browsers@0.1.1 +modules@0.12.0 +modules-runtime@0.10.0 +mongo@1.5.0 +mongo-dev-server@1.1.0 +mongo-id@1.0.7 +npm-mongo@3.0.7 +observe-sequence@1.0.16 +ordered-dict@1.1.0 +promise@0.11.1 +random@1.1.0 +reactive-var@1.0.11 +reload@1.2.0 +retry@1.1.0 +routepolicy@1.0.13 +shell-server@0.3.1 +socket-stream-client@0.2.1 +spacebars@1.0.15 +spacebars-compiler@1.1.3 +standard-minifier-css@1.4.1 +standard-minifier-js@2.3.4 +templating@1.3.2 +templating-compiler@1.3.3 +templating-runtime@1.3.2 +templating-tools@1.1.2 +tracker@1.2.0 +ui@1.0.13 +underscore@1.0.10 +url@1.2.0 +user:colon-name@0.0.1 +webapp@1.6.0 +webapp-hashing@1.0.9 diff --git a/tools/tests/apps/dynamic-import/package-lock.json b/tools/tests/apps/dynamic-import/package-lock.json index 704e1aac5a..042c6308d7 100644 --- a/tools/tests/apps/dynamic-import/package-lock.json +++ b/tools/tests/apps/dynamic-import/package-lock.json @@ -4,12 +4,12 @@ "lockfileVersion": 1, "dependencies": { "@babel/runtime": { - "version": "7.0.0-beta.46", - "resolved": "https://registry.npmjs.org/@babel/runtime/-/runtime-7.0.0-beta.46.tgz", - "integrity": "sha512-/3a3USMKk54BEHhDgY8rtxtaQOs4bp4aQwo6SDtdwmrXmgSgEusWuXNX5oIs/nwzmTD9o8wz2EyAjA+uHDMmJA==", + "version": "7.0.0-beta.49", + "resolved": "https://registry.npmjs.org/@babel/runtime/-/runtime-7.0.0-beta.49.tgz", + "integrity": "sha1-A7O/B+uYIHLI6FHdLd1RECguYb8=", "requires": { - "core-js": "2.5.6", - "regenerator-runtime": "0.11.1" + "core-js": "^2.5.6", + "regenerator-runtime": "^0.11.1" } }, "acorn": { @@ -28,9 +28,9 @@ "integrity": "sha1-5QNHYR1+aQlDIIu9r+vLwvuGbUY=" }, "core-js": { - "version": "2.5.6", - "resolved": "https://registry.npmjs.org/core-js/-/core-js-2.5.6.tgz", - "integrity": "sha512-lQUVfQi0aLix2xpyjrrJEvfuYCqPc/HwmTKsC/VNf8q0zsjX7SQZtp4+oRONN5Tsur9GDETPjj+Ub2iDiGZfSQ==" + "version": "2.5.7", + "resolved": "https://registry.npmjs.org/core-js/-/core-js-2.5.7.tgz", + "integrity": "sha512-RszJCAxg/PP6uzXVXL6BsxSXx/B05oJAQ2vkJRjyjrEcNVycaqOmNb5OTxZPE3xa5gwZduqza6L9JOCenh/Ecw==" }, "encoding": { "version": "0.1.12", @@ -110,28 +110,28 @@ "resolved": "https://registry.npmjs.org/meteor-node-stubs/-/meteor-node-stubs-0.4.1.tgz", "integrity": "sha512-UO2OStvLOKoApmOdIP5eCqoLaa/ritMXRg4ffJVdkNLEsczzPvTjgC0Mxk4cM4R8MZkwll90FYgjDf5qUTJdMA==", "requires": { - "assert": "1.4.1", - "browserify-zlib": "0.1.4", - "buffer": "4.9.1", - "console-browserify": "1.1.0", - "constants-browserify": "1.0.0", - "crypto-browserify": "3.12.0", - "domain-browser": "1.2.0", - "events": "1.1.1", + "assert": "^1.4.1", + "browserify-zlib": "^0.1.4", + "buffer": "^4.9.1", + "console-browserify": "^1.1.0", + "constants-browserify": "^1.0.0", + "crypto-browserify": "^3.11.0", + "domain-browser": "^1.1.7", + "events": "^1.1.1", "https-browserify": "0.0.1", - "os-browserify": "0.2.1", + "os-browserify": "^0.2.1", "path-browserify": "0.0.0", - "process": "0.11.10", - "punycode": "1.4.1", - "querystring-es3": "0.2.1", - "readable-stream": "2.3.6", - "stream-browserify": "2.0.1", - "stream-http": "2.8.1", - "string_decoder": "1.1.1", - "timers-browserify": "1.4.2", + "process": "^0.11.9", + "punycode": "^1.4.1", + "querystring-es3": "^0.2.1", + "readable-stream": "^2.3.6", + "stream-browserify": "^2.0.1", + "stream-http": "^2.8.0", + "string_decoder": "^1.1.0", + "timers-browserify": "^1.4.2", "tty-browserify": "0.0.0", - "url": "0.11.0", - "util": "0.10.3", + "url": "^0.11.0", + "util": "^0.10.3", "vm-browserify": "0.0.4" }, "dependencies": { @@ -139,9 +139,9 @@ "version": "4.10.1", "bundled": true, "requires": { - "bn.js": "4.11.8", - "inherits": "2.0.1", - "minimalistic-assert": "1.0.1" + "bn.js": "^4.0.0", + "inherits": "^2.0.1", + "minimalistic-assert": "^1.0.0" } }, "assert": { @@ -167,67 +167,67 @@ "version": "1.2.0", "bundled": true, "requires": { - "buffer-xor": "1.0.3", - "cipher-base": "1.0.4", - "create-hash": "1.2.0", - "evp_bytestokey": "1.0.3", - "inherits": "2.0.1", - "safe-buffer": "5.1.2" + "buffer-xor": "^1.0.3", + "cipher-base": "^1.0.0", + "create-hash": "^1.1.0", + "evp_bytestokey": "^1.0.3", + "inherits": "^2.0.1", + "safe-buffer": "^5.0.1" } }, "browserify-cipher": { "version": "1.0.1", "bundled": true, "requires": { - "browserify-aes": "1.2.0", - "browserify-des": "1.0.1", - "evp_bytestokey": "1.0.3" + "browserify-aes": "^1.0.4", + "browserify-des": "^1.0.0", + "evp_bytestokey": "^1.0.0" } }, "browserify-des": { "version": "1.0.1", "bundled": true, "requires": { - "cipher-base": "1.0.4", - "des.js": "1.0.0", - "inherits": "2.0.1" + "cipher-base": "^1.0.1", + "des.js": "^1.0.0", + "inherits": "^2.0.1" } }, "browserify-rsa": { "version": "4.0.1", "bundled": true, "requires": { - "bn.js": "4.11.8", - "randombytes": "2.0.6" + "bn.js": "^4.1.0", + "randombytes": "^2.0.1" } }, "browserify-sign": { "version": "4.0.4", "bundled": true, "requires": { - "bn.js": "4.11.8", - "browserify-rsa": "4.0.1", - "create-hash": "1.2.0", - "create-hmac": "1.1.7", - "elliptic": "6.4.0", - "inherits": "2.0.1", - "parse-asn1": "5.1.1" + "bn.js": "^4.1.1", + "browserify-rsa": "^4.0.0", + "create-hash": "^1.1.0", + "create-hmac": "^1.1.2", + "elliptic": "^6.0.0", + "inherits": "^2.0.1", + "parse-asn1": "^5.0.0" } }, "browserify-zlib": { "version": "0.1.4", "bundled": true, "requires": { - "pako": "0.2.9" + "pako": "~0.2.0" } }, "buffer": { "version": "4.9.1", "bundled": true, "requires": { - "base64-js": "1.3.0", - "ieee754": "1.1.11", - "isarray": "1.0.0" + "base64-js": "^1.0.2", + "ieee754": "^1.1.4", + "isarray": "^1.0.0" } }, "buffer-xor": { @@ -242,15 +242,15 @@ "version": "1.0.4", "bundled": true, "requires": { - "inherits": "2.0.1", - "safe-buffer": "5.1.2" + "inherits": "^2.0.1", + "safe-buffer": "^5.0.1" } }, "console-browserify": { "version": "1.1.0", "bundled": true, "requires": { - "date-now": "0.1.4" + "date-now": "^0.1.4" } }, "constants-browserify": { @@ -265,48 +265,48 @@ "version": "4.0.3", "bundled": true, "requires": { - "bn.js": "4.11.8", - "elliptic": "6.4.0" + "bn.js": "^4.1.0", + "elliptic": "^6.0.0" } }, "create-hash": { "version": "1.2.0", "bundled": true, "requires": { - "cipher-base": "1.0.4", - "inherits": "2.0.1", - "md5.js": "1.3.4", - "ripemd160": "2.0.2", - "sha.js": "2.4.11" + "cipher-base": "^1.0.1", + "inherits": "^2.0.1", + "md5.js": "^1.3.4", + "ripemd160": "^2.0.1", + "sha.js": "^2.4.0" } }, "create-hmac": { "version": "1.1.7", "bundled": true, "requires": { - "cipher-base": "1.0.4", - "create-hash": "1.2.0", - "inherits": "2.0.1", - "ripemd160": "2.0.2", - "safe-buffer": "5.1.2", - "sha.js": "2.4.11" + "cipher-base": "^1.0.3", + "create-hash": "^1.1.0", + "inherits": "^2.0.1", + "ripemd160": "^2.0.0", + "safe-buffer": "^5.0.1", + "sha.js": "^2.4.8" } }, "crypto-browserify": { "version": "3.12.0", "bundled": true, "requires": { - "browserify-cipher": "1.0.1", - "browserify-sign": "4.0.4", - "create-ecdh": "4.0.3", - "create-hash": "1.2.0", - "create-hmac": "1.1.7", - "diffie-hellman": "5.0.3", - "inherits": "2.0.1", - "pbkdf2": "3.0.16", - "public-encrypt": "4.0.2", - "randombytes": "2.0.6", - "randomfill": "1.0.4" + "browserify-cipher": "^1.0.0", + "browserify-sign": "^4.0.0", + "create-ecdh": "^4.0.0", + "create-hash": "^1.1.0", + "create-hmac": "^1.1.0", + "diffie-hellman": "^5.0.0", + "inherits": "^2.0.1", + "pbkdf2": "^3.0.3", + "public-encrypt": "^4.0.0", + "randombytes": "^2.0.0", + "randomfill": "^1.0.3" } }, "date-now": { @@ -317,17 +317,17 @@ "version": "1.0.0", "bundled": true, "requires": { - "inherits": "2.0.1", - "minimalistic-assert": "1.0.1" + "inherits": "^2.0.1", + "minimalistic-assert": "^1.0.0" } }, "diffie-hellman": { "version": "5.0.3", "bundled": true, "requires": { - "bn.js": "4.11.8", - "miller-rabin": "4.0.1", - "randombytes": "2.0.6" + "bn.js": "^4.1.0", + "miller-rabin": "^4.0.0", + "randombytes": "^2.0.0" } }, "domain-browser": { @@ -338,13 +338,13 @@ "version": "6.4.0", "bundled": true, "requires": { - "bn.js": "4.11.8", - "brorand": "1.1.0", - "hash.js": "1.1.3", - "hmac-drbg": "1.0.1", - "inherits": "2.0.1", - "minimalistic-assert": "1.0.1", - "minimalistic-crypto-utils": "1.0.1" + "bn.js": "^4.4.0", + "brorand": "^1.0.1", + "hash.js": "^1.0.0", + "hmac-drbg": "^1.0.0", + "inherits": "^2.0.1", + "minimalistic-assert": "^1.0.0", + "minimalistic-crypto-utils": "^1.0.0" } }, "events": { @@ -355,24 +355,24 @@ "version": "1.0.3", "bundled": true, "requires": { - "md5.js": "1.3.4", - "safe-buffer": "5.1.2" + "md5.js": "^1.3.4", + "safe-buffer": "^5.1.1" } }, "hash-base": { "version": "3.0.4", "bundled": true, "requires": { - "inherits": "2.0.1", - "safe-buffer": "5.1.2" + "inherits": "^2.0.1", + "safe-buffer": "^5.0.1" } }, "hash.js": { "version": "1.1.3", "bundled": true, "requires": { - "inherits": "2.0.3", - "minimalistic-assert": "1.0.1" + "inherits": "^2.0.3", + "minimalistic-assert": "^1.0.0" }, "dependencies": { "inherits": { @@ -385,9 +385,9 @@ "version": "1.0.1", "bundled": true, "requires": { - "hash.js": "1.1.3", - "minimalistic-assert": "1.0.1", - "minimalistic-crypto-utils": "1.0.1" + "hash.js": "^1.0.3", + "minimalistic-assert": "^1.0.0", + "minimalistic-crypto-utils": "^1.0.1" } }, "https-browserify": { @@ -414,16 +414,16 @@ "version": "1.3.4", "bundled": true, "requires": { - "hash-base": "3.0.4", - "inherits": "2.0.1" + "hash-base": "^3.0.0", + "inherits": "^2.0.1" } }, "miller-rabin": { "version": "4.0.1", "bundled": true, "requires": { - "bn.js": "4.11.8", - "brorand": "1.1.0" + "bn.js": "^4.0.0", + "brorand": "^1.0.1" } }, "minimalistic-assert": { @@ -446,11 +446,11 @@ "version": "5.1.1", "bundled": true, "requires": { - "asn1.js": "4.10.1", - "browserify-aes": "1.2.0", - "create-hash": "1.2.0", - "evp_bytestokey": "1.0.3", - "pbkdf2": "3.0.16" + "asn1.js": "^4.0.0", + "browserify-aes": "^1.0.0", + "create-hash": "^1.1.0", + "evp_bytestokey": "^1.0.0", + "pbkdf2": "^3.0.3" } }, "path-browserify": { @@ -461,11 +461,11 @@ "version": "3.0.16", "bundled": true, "requires": { - "create-hash": "1.2.0", - "create-hmac": "1.1.7", - "ripemd160": "2.0.2", - "safe-buffer": "5.1.2", - "sha.js": "2.4.11" + "create-hash": "^1.1.2", + "create-hmac": "^1.1.4", + "ripemd160": "^2.0.1", + "safe-buffer": "^5.0.1", + "sha.js": "^2.4.8" } }, "process": { @@ -480,11 +480,11 @@ "version": "4.0.2", "bundled": true, "requires": { - "bn.js": "4.11.8", - "browserify-rsa": "4.0.1", - "create-hash": "1.2.0", - "parse-asn1": "5.1.1", - "randombytes": "2.0.6" + "bn.js": "^4.1.0", + "browserify-rsa": "^4.0.0", + "create-hash": "^1.1.0", + "parse-asn1": "^5.0.0", + "randombytes": "^2.0.1" } }, "punycode": { @@ -503,28 +503,28 @@ "version": "2.0.6", "bundled": true, "requires": { - "safe-buffer": "5.1.2" + "safe-buffer": "^5.1.0" } }, "randomfill": { "version": "1.0.4", "bundled": true, "requires": { - "randombytes": "2.0.6", - "safe-buffer": "5.1.2" + "randombytes": "^2.0.5", + "safe-buffer": "^5.1.0" } }, "readable-stream": { "version": "2.3.6", "bundled": true, "requires": { - "core-util-is": "1.0.2", - "inherits": "2.0.3", - "isarray": "1.0.0", - "process-nextick-args": "2.0.0", - "safe-buffer": "5.1.2", - "string_decoder": "1.1.1", - "util-deprecate": "1.0.2" + "core-util-is": "~1.0.0", + "inherits": "~2.0.3", + "isarray": "~1.0.0", + "process-nextick-args": "~2.0.0", + "safe-buffer": "~5.1.1", + "string_decoder": "~1.1.1", + "util-deprecate": "~1.0.1" }, "dependencies": { "inherits": { @@ -537,8 +537,8 @@ "version": "2.0.2", "bundled": true, "requires": { - "hash-base": "3.0.4", - "inherits": "2.0.1" + "hash-base": "^3.0.0", + "inherits": "^2.0.1" } }, "safe-buffer": { @@ -549,41 +549,41 @@ "version": "2.4.11", "bundled": true, "requires": { - "inherits": "2.0.1", - "safe-buffer": "5.1.2" + "inherits": "^2.0.1", + "safe-buffer": "^5.0.1" } }, "stream-browserify": { "version": "2.0.1", "bundled": true, "requires": { - "inherits": "2.0.1", - "readable-stream": "2.3.6" + "inherits": "~2.0.1", + "readable-stream": "^2.0.2" } }, "stream-http": { "version": "2.8.1", "bundled": true, "requires": { - "builtin-status-codes": "3.0.0", - "inherits": "2.0.1", - "readable-stream": "2.3.6", - "to-arraybuffer": "1.0.1", - "xtend": "4.0.1" + "builtin-status-codes": "^3.0.0", + "inherits": "^2.0.1", + "readable-stream": "^2.3.3", + "to-arraybuffer": "^1.0.0", + "xtend": "^4.0.0" } }, "string_decoder": { "version": "1.1.1", "bundled": true, "requires": { - "safe-buffer": "5.1.2" + "safe-buffer": "~5.1.0" } }, "timers-browserify": { "version": "1.4.2", "bundled": true, "requires": { - "process": "0.11.10" + "process": "~0.11.0" } }, "to-arraybuffer": { diff --git a/tools/tests/apps/dynamic-import/package.json b/tools/tests/apps/dynamic-import/package.json index 8fc888807b..6cfb8ecbe7 100644 --- a/tools/tests/apps/dynamic-import/package.json +++ b/tools/tests/apps/dynamic-import/package.json @@ -6,7 +6,7 @@ "test": "meteor test --full-app --driver-package dispatch:mocha-browser" }, "dependencies": { - "@babel/runtime": "^7.0.0-beta.46", + "@babel/runtime": "^7.0.0-beta.49", "acorn": "^4.0.11", "arson": "^0.2.3", "meteor-node-stubs": "^0.4.1", From ab87f48f1bc851323177459f26f6494a8be4b143 Mon Sep 17 00:00:00 2001 From: Ben Newman Date: Thu, 7 Jun 2018 11:38:44 -0400 Subject: [PATCH 0951/1355] Bump dynamic-import package version before republishing. --- packages/dynamic-import/package.js | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/packages/dynamic-import/package.js b/packages/dynamic-import/package.js index c622aa1c76..dd99bbd177 100644 --- a/packages/dynamic-import/package.js +++ b/packages/dynamic-import/package.js @@ -1,6 +1,6 @@ Package.describe({ name: "dynamic-import", - version: "0.4.0", + version: "0.4.1", summary: "Runtime support for Meteor 1.5 dynamic import(...) syntax", documentation: "README.md" }); From 0a336175c4a47cd264060891b5f66893b945afe4 Mon Sep 17 00:00:00 2001 From: Ben Newman Date: Thu, 7 Jun 2018 16:20:38 -0400 Subject: [PATCH 0952/1355] Let any client request any static resource. (#9965) Fixes #9953. --- packages/webapp/legacy_test_asset.js | 1 + packages/webapp/modern_test_asset.js | 1 + packages/webapp/package.js | 5 +- packages/webapp/webapp_server.js | 20 +++++-- packages/webapp/webapp_tests.js | 78 ++++++++++++++++++++++++++++ 5 files changed, 99 insertions(+), 6 deletions(-) create mode 100644 packages/webapp/legacy_test_asset.js create mode 100644 packages/webapp/modern_test_asset.js diff --git a/packages/webapp/legacy_test_asset.js b/packages/webapp/legacy_test_asset.js new file mode 100644 index 0000000000..e889f09131 --- /dev/null +++ b/packages/webapp/legacy_test_asset.js @@ -0,0 +1 @@ +console.log("LEGACY"); diff --git a/packages/webapp/modern_test_asset.js b/packages/webapp/modern_test_asset.js new file mode 100644 index 0000000000..c30017283a --- /dev/null +++ b/packages/webapp/modern_test_asset.js @@ -0,0 +1 @@ +console.log("MODERN"); diff --git a/packages/webapp/package.js b/packages/webapp/package.js index 6e71c856dd..c65234f9e7 100644 --- a/packages/webapp/package.js +++ b/packages/webapp/package.js @@ -1,6 +1,6 @@ Package.describe({ summary: "Serves a Meteor app over HTTP", - version: '1.6.0' + version: '1.6.1' }); Npm.depends({"basic-auth-connect": "1.0.0", @@ -57,4 +57,7 @@ Package.onTest(function (api) { api.addFiles('webapp_tests.js', 'server'); api.addFiles('webapp_client_tests.js', 'client'); api.addFiles('socket_file_tests.js', 'server'); + + api.addAssets('modern_test_asset.js', 'web.browser'); + api.addAssets('legacy_test_asset.js', 'legacy'); }); diff --git a/packages/webapp/webapp_server.js b/packages/webapp/webapp_server.js index 700b12c8fd..870b31c96b 100644 --- a/packages/webapp/webapp_server.js +++ b/packages/webapp/webapp_server.js @@ -484,23 +484,33 @@ function getStaticFileInfo(originalPath, browser) { return null; } - if (hasOwn.call(staticFilesByArch, arch)) { + // Get a list of all available static file architectures, with arch + // first in the list if it exists. + const staticArchList = Object.keys(staticFilesByArch); + const archIndex = staticArchList.indexOf(arch); + if (archIndex > 0) { + staticArchList.unshift(staticArchList.splice(archIndex, 1)[0]); + } + + let info = null; + + staticArchList.some(arch => { const staticFiles = staticFilesByArch[arch]; // If staticFiles contains originalPath with the arch inferred above, // use that information. if (hasOwn.call(staticFiles, originalPath)) { - return staticFiles[originalPath]; + return info = staticFiles[originalPath]; } // If getArchAndPath returned an alternate path, try that instead. if (path !== originalPath && hasOwn.call(staticFiles, path)) { - return staticFiles[path]; + return info = staticFiles[path]; } - } + }); - return null; + return info; } function getArchAndPath(path, browser) { diff --git a/packages/webapp/webapp_tests.js b/packages/webapp/webapp_tests.js index b8fe5201bd..722583b334 100644 --- a/packages/webapp/webapp_tests.js +++ b/packages/webapp/webapp_tests.js @@ -2,6 +2,7 @@ const url = require("url"); const crypto = require("crypto"); const http = require("http"); const streamToString = require("stream-to-string"); +import { isModern } from "meteor/modern-browsers"; const additionalScript = "(function () { var foo = 1; })"; WebAppInternals.addStaticJs(additionalScript); @@ -68,6 +69,83 @@ Tinytest.add("webapp - content-type header", function (test) { "application/javascript; charset=utf-8"); }); +const modernUserAgent = + "Mozilla/5.0 (Macintosh; Intel Mac OS X 10_13_4) " + + "AppleWebKit/537.36 (KHTML, like Gecko) " + + "Chrome/68.0.3440.15 Safari/537.36"; + +const legacyUserAgent = "legacy"; + +Tinytest.addAsync("webapp - modern/legacy static files", test => { + test.equal(isModern(WebAppInternals.identifyBrowser(modernUserAgent)), true); + test.equal(isModern(WebAppInternals.identifyBrowser(legacyUserAgent)), false); + + const promises = []; + + Object.keys(WebAppInternals.staticFilesByArch).forEach(arch => { + const staticFiles = WebAppInternals.staticFilesByArch[arch]; + + Object.keys(staticFiles).forEach(path => { + const { type } = staticFiles[path]; + if (type !== "asset") { + return; + } + + const pathMatch = /\/(modern|legacy)_test_asset\.js$/.exec(path); + if (! pathMatch) { + return; + } + + const absUrl = url.resolve(Meteor.absoluteUrl(), path); + + [ // Try to request the modern/legacy assets with both modern and + // legacy User Agent strings. (#9953) + modernUserAgent, + legacyUserAgent, + ].forEach(ua => promises.push(new Promise((resolve, reject) => { + HTTP.get(absUrl, { + headers: { + "User-Agent": ua + } + }, (error, response) => { + if (error) { + reject(error); + return; + } + + if (response.statusCode !== 200) { + reject(new Error(`Bad status code ${ + response.statusCode + } for ${path}`)); + return; + } + + const contentType = response.headers["content-type"]; + if (! contentType.startsWith("application/javascript")) { + reject(new Error(`Bad Content-Type ${contentType} for ${path}`)); + return; + } + + const expectedText = pathMatch[1].toUpperCase(); + const index = response.content.indexOf(expectedText); + if (index < 0) { + reject(new Error(`Missing ${ + JSON.stringify(expectedText) + } text in ${path}`)); + return; + } + + resolve(path); + }); + }))); + }); + }); + + test.isTrue(promises.length > 0); + + return Promise.all(promises); +}); + Tinytest.addAsync( "webapp - additional static javascript", async function (test) { From a52b462f557f07d79583792211c289c1c34344ce Mon Sep 17 00:00:00 2001 From: Rob Fallows Date: Mon, 11 Jun 2018 14:15:39 +0100 Subject: [PATCH 0953/1355] Update default and --minimal app skeletons. Fixes #9961 (#9977) --- tools/static-assets/skel-minimal/package.json | 2 +- tools/static-assets/skel-minimal/{test => tests}/main.js | 0 tools/static-assets/skel/package.json | 2 +- tools/static-assets/skel/{test => tests}/main.js | 0 4 files changed, 2 insertions(+), 2 deletions(-) rename tools/static-assets/skel-minimal/{test => tests}/main.js (100%) rename tools/static-assets/skel/{test => tests}/main.js (100%) diff --git a/tools/static-assets/skel-minimal/package.json b/tools/static-assets/skel-minimal/package.json index bd24b879b6..ddd1e7cd2d 100644 --- a/tools/static-assets/skel-minimal/package.json +++ b/tools/static-assets/skel-minimal/package.json @@ -16,6 +16,6 @@ "client": "client/main.js", "server": "server/main.js" }, - "testModule": "test/main.js" + "testModule": "tests/main.js" } } diff --git a/tools/static-assets/skel-minimal/test/main.js b/tools/static-assets/skel-minimal/tests/main.js similarity index 100% rename from tools/static-assets/skel-minimal/test/main.js rename to tools/static-assets/skel-minimal/tests/main.js diff --git a/tools/static-assets/skel/package.json b/tools/static-assets/skel/package.json index bd24b879b6..ddd1e7cd2d 100644 --- a/tools/static-assets/skel/package.json +++ b/tools/static-assets/skel/package.json @@ -16,6 +16,6 @@ "client": "client/main.js", "server": "server/main.js" }, - "testModule": "test/main.js" + "testModule": "tests/main.js" } } diff --git a/tools/static-assets/skel/test/main.js b/tools/static-assets/skel/tests/main.js similarity index 100% rename from tools/static-assets/skel/test/main.js rename to tools/static-assets/skel/tests/main.js From ff82847cd6dfa31cb88f0e512a08c0935e5b500f Mon Sep 17 00:00:00 2001 From: Ben Newman Date: Sat, 9 Jun 2018 15:55:50 -0400 Subject: [PATCH 0954/1355] Replace async.eachLimit usage in caching-compiler with Promises. --- .../.npm/package/npm-shrinkwrap.json | 5 -- packages/caching-compiler/caching-compiler.js | 29 +++++------ .../multi-file-caching-compiler.js | 50 +++++++++---------- packages/caching-compiler/package.js | 1 - 4 files changed, 38 insertions(+), 47 deletions(-) diff --git a/packages/caching-compiler/.npm/package/npm-shrinkwrap.json b/packages/caching-compiler/.npm/package/npm-shrinkwrap.json index f0ac52d443..6b16d0b092 100644 --- a/packages/caching-compiler/.npm/package/npm-shrinkwrap.json +++ b/packages/caching-compiler/.npm/package/npm-shrinkwrap.json @@ -1,11 +1,6 @@ { "lockfileVersion": 1, "dependencies": { - "async": { - "version": "1.4.0", - "resolved": "https://registry.npmjs.org/async/-/async-1.4.0.tgz", - "integrity": "sha1-Nfhvg8WeBCHQmc2akdgnj7V4wA0=" - }, "lru-cache": { "version": "2.6.4", "resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-2.6.4.tgz", diff --git a/packages/caching-compiler/caching-compiler.js b/packages/caching-compiler/caching-compiler.js index 6c4abd335f..57f943e436 100644 --- a/packages/caching-compiler/caching-compiler.js +++ b/packages/caching-compiler/caching-compiler.js @@ -2,9 +2,7 @@ const fs = Plugin.fs; const path = Plugin.path; const createHash = Npm.require('crypto').createHash; const assert = Npm.require('assert'); -const Future = Npm.require('fibers/future'); const LRU = Npm.require('lru-cache'); -const async = Npm.require('async'); // Base class for CachingCompiler and MultiFileCachingCompiler. CachingCompilerBase = class CachingCompilerBase { @@ -283,14 +281,12 @@ CachingCompiler = class CachingCompiler extends CachingCompilerBase { const cacheMisses = []; const arches = this._cacheDebugEnabled && Object.create(null); - const future = new Future; - async.eachLimit(inputFiles, this._maxParallelism, (inputFile, cb) => { + return Promise.all(inputFiles.map(async (inputFile) => { if (arches) { arches[inputFile.getArch()] = 1; } - let error = null; - try { + const getResult = () => { const cacheKey = this._deepHash(this.getCacheKey(inputFile)); let compileResult = this._cache.get(cacheKey); @@ -316,17 +312,18 @@ CachingCompiler = class CachingCompiler extends CachingCompilerBase { this._writeCacheAsync(cacheKey, compileResult); } - this.addCompileResult(inputFile, compileResult); - } catch (e) { - error = e; - } finally { - cb(error); - } - }, future.resolver()); - future.wait(); + return compileResult; + }; + + this.addCompileResult(inputFile, getResult()); + + })).then(() => { + if (! this._cacheDebugEnabled) { + return; + } - if (this._cacheDebugEnabled) { cacheMisses.sort(); + this._cacheDebug( `Ran (#${ ++this._callCount @@ -336,7 +333,7 @@ CachingCompiler = class CachingCompiler extends CachingCompilerBase { JSON.stringify(Object.keys(arches).sort()) }` ); - } + }); } _cacheFilename(cacheKey) { diff --git a/packages/caching-compiler/multi-file-caching-compiler.js b/packages/caching-compiler/multi-file-caching-compiler.js index 6cb698cb34..0b79652dde 100644 --- a/packages/caching-compiler/multi-file-caching-compiler.js +++ b/packages/caching-compiler/multi-file-caching-compiler.js @@ -1,7 +1,5 @@ const path = Plugin.path; -const Future = Npm.require('fibers/future'); const LRU = Npm.require('lru-cache'); -const async = Npm.require('async'); // MultiFileCachingCompiler is like CachingCompiler, but for implementing // languages which allow files to reference each other, such as CSS @@ -92,20 +90,12 @@ extends CachingCompilerBase { cacheKeyMap.set(importPath, this._getCacheKeyWithPath(inputFile)); }); - const allProcessedFuture = new Future; - async.eachLimit(inputFiles, this._maxParallelism, (inputFile, cb) => { + return Promise.all(inputFiles.map(async (inputFile) => { if (arches) { arches[inputFile.getArch()] = 1; } - let error = null; - try { - // If this isn't a root, skip it (and definitely don't waste time - // looking for a cache file that won't be there). - if (!this.isRoot(inputFile)) { - return; - } - + const getResult = () => { const absoluteImportPath = this.getAbsoluteImportPath(inputFile); const cacheKey = cacheKeyMap.get(absoluteImportPath); let cacheEntry = this._cache.get(cacheKey); @@ -122,10 +112,14 @@ extends CachingCompilerBase { const compileOneFileReturn = this.compileOneFile(inputFile, allFiles); if (! compileOneFileReturn) { // compileOneFile should have called inputFile.error. - // We don't cache failures for now. + // We don't cache failures for now. return; } - const {compileResult, referencedImportPaths} = compileOneFileReturn; + + const { + compileResult, + referencedImportPaths, + } = compileOneFileReturn; cacheEntry = { compileResult, @@ -148,17 +142,22 @@ extends CachingCompilerBase { this._writeCacheAsync(cacheKey, cacheEntry); } - this.addCompileResult(inputFile, cacheEntry.compileResult); - } catch (e) { - error = e; - } finally { - cb(error); - } - }, allProcessedFuture.resolver()); - allProcessedFuture.wait(); + return cacheEntry.compileResult; + }; + + if (this.isRoot(inputFile)) { + // If this isn't a root, skip it (and definitely don't waste time + // looking for a cache file that won't be there). + this.addCompileResult(inputFile, getResult()); + } + + })).then(() => { + if (! this._cacheDebugEnabled) { + return; + } - if (this._cacheDebugEnabled) { cacheMisses.sort(); + this._cacheDebug( `Ran (#${ ++this._callCount @@ -166,8 +165,9 @@ extends CachingCompilerBase { JSON.stringify(cacheMisses) } ${ JSON.stringify(Object.keys(arches).sort()) - }`); - } + }` + ); + }); } // Returns a hash that incorporates both this.getCacheKey(inputFile) and diff --git a/packages/caching-compiler/package.js b/packages/caching-compiler/package.js index 37b38bfde1..3d7cb0b083 100644 --- a/packages/caching-compiler/package.js +++ b/packages/caching-compiler/package.js @@ -7,7 +7,6 @@ Package.describe({ Npm.depends({ 'lru-cache': '2.6.4', - 'async': '1.4.0' }); Package.onUse(function(api) { From 2bd67f334f31cc142399780fabef624c8fb6e7ae Mon Sep 17 00:00:00 2001 From: Ben Newman Date: Sat, 9 Jun 2018 16:28:25 -0400 Subject: [PATCH 0955/1355] Use the lru-cache package from dev_bundle in caching-compiler. --- packages/caching-compiler/.npm/package/.gitignore | 1 - packages/caching-compiler/.npm/package/README | 7 ------- .../caching-compiler/.npm/package/npm-shrinkwrap.json | 10 ---------- packages/caching-compiler/package.js | 4 ---- scripts/dev-bundle-tool-package.js | 2 +- 5 files changed, 1 insertion(+), 23 deletions(-) delete mode 100644 packages/caching-compiler/.npm/package/.gitignore delete mode 100644 packages/caching-compiler/.npm/package/README delete mode 100644 packages/caching-compiler/.npm/package/npm-shrinkwrap.json diff --git a/packages/caching-compiler/.npm/package/.gitignore b/packages/caching-compiler/.npm/package/.gitignore deleted file mode 100644 index 3c3629e647..0000000000 --- a/packages/caching-compiler/.npm/package/.gitignore +++ /dev/null @@ -1 +0,0 @@ -node_modules diff --git a/packages/caching-compiler/.npm/package/README b/packages/caching-compiler/.npm/package/README deleted file mode 100644 index 3d492553a4..0000000000 --- a/packages/caching-compiler/.npm/package/README +++ /dev/null @@ -1,7 +0,0 @@ -This directory and the files immediately inside it are automatically generated -when you change this package's NPM dependencies. Commit the files in this -directory (npm-shrinkwrap.json, .gitignore, and this README) to source control -so that others run the same versions of sub-dependencies. - -You should NOT check in the node_modules directory that Meteor automatically -creates; if you are using git, the .gitignore file tells git to ignore it. diff --git a/packages/caching-compiler/.npm/package/npm-shrinkwrap.json b/packages/caching-compiler/.npm/package/npm-shrinkwrap.json deleted file mode 100644 index 6b16d0b092..0000000000 --- a/packages/caching-compiler/.npm/package/npm-shrinkwrap.json +++ /dev/null @@ -1,10 +0,0 @@ -{ - "lockfileVersion": 1, - "dependencies": { - "lru-cache": { - "version": "2.6.4", - "resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-2.6.4.tgz", - "integrity": "sha1-JnUZDM0bBwHsL2UqTQ09QA12wN0=" - } - } -} diff --git a/packages/caching-compiler/package.js b/packages/caching-compiler/package.js index 3d7cb0b083..1ae94aa309 100644 --- a/packages/caching-compiler/package.js +++ b/packages/caching-compiler/package.js @@ -5,10 +5,6 @@ Package.describe({ documentation: 'README.md' }); -Npm.depends({ - 'lru-cache': '2.6.4', -}); - Package.onUse(function(api) { api.use(['ecmascript', 'random']); api.addFiles(['caching-compiler.js'], 'server'); diff --git a/scripts/dev-bundle-tool-package.js b/scripts/dev-bundle-tool-package.js index e564b87bb0..e0bef526ae 100644 --- a/scripts/dev-bundle-tool-package.js +++ b/scripts/dev-bundle-tool-package.js @@ -53,7 +53,7 @@ var packageJson = { multipipe: "2.0.1", pathwatcher: "7.1.1", optimism: "0.6.3", - 'lru-cache': '4.1.1' + 'lru-cache': '4.1.3' } }; From 9cc739078c12fe473260a950c62da712d1b95c0a Mon Sep 17 00:00:00 2001 From: Ben Newman Date: Sat, 9 Jun 2018 16:02:10 -0400 Subject: [PATCH 0956/1355] Support lazy compilation of inputFile.add{JavaScript,Stylesheet,...} resources. One limitation of Meteor's current compiler plugins system is that every file we *might* use must be compiled before we know whether it *will* be used by the application (which is something we only find out when we later run the `ImportScanner`). More specifically, when inputFile.addJavaScript is called, any information relevant to the current file must already have been computed, even if the file will never be used. This commit begins the process of supporting a lazy version of the `inputFile.addJavaScript` method. For consistency, this interface is supported by other methods like `inputFile.addStylesheet`, though it may not make as much sense for non-JavaScript resources. In this very basic initial implementation, the `lazyFinalizer` function is called immediately, so that subsequent code can keep pretending that all relevant information was eagerly provided. The next step will be waiting to call `lazyFinalizer` until the last possible moment, so that we can skip a potentially huge amount of unnecessary compilation time. --- tools/isobuild/compiler-plugin.js | 71 ++++++++++++++++++++++++++----- 1 file changed, 60 insertions(+), 11 deletions(-) diff --git a/tools/isobuild/compiler-plugin.js b/tools/isobuild/compiler-plugin.js index 023a7c03e4..e6818f1cab 100644 --- a/tools/isobuild/compiler-plugin.js +++ b/tools/isobuild/compiler-plugin.js @@ -221,6 +221,11 @@ class InputFile extends buildPluginModule.InputFile { // Map from imported module identifier strings (possibly relative) to // fully require.resolve'd module identifiers. this._resolveCache = Object.create(null); + + // Communicate to compiler plugins that methods like addJavaScript + // accept a lazy finalizer function as a second argument, so that + // compilation can be avoided until/unless absolutely necessary. + this.supportsLazyCompilation = true; } getContentsAsBuffer() { @@ -445,16 +450,26 @@ class InputFile extends buildPluginModule.InputFile { * @param {String|Object} options.sourceMap A stringified JSON * sourcemap, in case the stylesheet was generated from a different * file. + * @param {Function} lazyFinalizer Optional function that can be called + * to obtain any remaining options that may be + * expensive to compute, and thus should only be + * computed if/when we are sure this CSS will be used + * by the application. * @memberOf InputFile * @instance */ - addStylesheet(options) { - var self = this; + addStylesheet(options, lazyFinalizer) { + if (typeof lazyFinalizer === "function") { + // For now, just call the lazyFinalizer function immediately. + Object.assign(options, lazyFinalizer()); + } + if (options.sourceMap && typeof options.sourceMap === 'string') { // XXX remove an anti-XSSI header? ")]}'\n" options.sourceMap = JSON.parse(options.sourceMap); } - self._resourceSlot.addStylesheet(options); + + this._resourceSlot.addStylesheet(options); } /** @@ -470,16 +485,26 @@ class InputFile extends buildPluginModule.InputFile { * @param {String|Object} options.sourceMap A stringified JSON * sourcemap, in case the JavaScript file was generated from a * different file. + * @param {Function} lazyFinalizer Optional function that can be called + * to obtain any remaining options that may be + * expensive to compute, and thus should only be + * computed if/when we are sure this JavaScript will + * be used by the application. * @memberOf InputFile * @instance */ - addJavaScript(options) { - var self = this; + addJavaScript(options, lazyFinalizer) { + if (typeof lazyFinalizer === "function") { + // For now, just call the lazyFinalizer function immediately. + Object.assign(options, lazyFinalizer()); + } + if (options.sourceMap && typeof options.sourceMap === 'string') { // XXX remove an anti-XSSI header? ")]}'\n" options.sourceMap = JSON.parse(options.sourceMap); } - self._resourceSlot.addJavaScript(options); + + this._resourceSlot.addJavaScript(options); } /** @@ -493,12 +518,24 @@ class InputFile extends buildPluginModule.InputFile { * file. * @param {String} [options.hash] Optionally, supply a hash for the output * file. + * @param {Function} lazyFinalizer Optional function that can be called + * to obtain any remaining options that may be + * expensive to compute, and thus should only be + * computed if/when we are sure this asset will be + * used by the application. * @memberOf InputFile * @instance */ - addAsset(options) { - var self = this; - self._resourceSlot.addAsset(options); + addAsset(options, lazyFinalizer) { + if (typeof lazyFinalizer === "function") { + // For now, just call the lazyFinalizer function immediately. Since + // assets typically are not compiled, this immediate invocation is + // probably permanently appropriate for addAsset, whereas methods + // like addJavaScript benefit from waiting to call lazyFinalizer. + Object.assign(options, lazyFinalizer()); + } + + this._resourceSlot.addAsset(options); } /** @@ -508,12 +545,24 @@ class InputFile extends buildPluginModule.InputFile { * @param {String} options.section Which section of the document should * be appended to. Can only be "head" or "body". * @param {String} options.data The content to append. + * @param {Function} lazyFinalizer Optional function that can be called + * to obtain any remaining options that may be + * expensive to compute, and thus should only be + * computed if/when we are sure this HTML will be used + * by the application. * @memberOf InputFile * @instance */ addHtml(options) { - var self = this; - self._resourceSlot.addHtml(options); + if (typeof lazyFinalizer === "function") { + // For now, just call the lazyFinalizer function immediately. Since + // HTML is not compiled, this immediate invocation is probably + // permanently appropriate for addHtml, whereas methods like + // addJavaScript benefit from waiting to call lazyFinalizer. + Object.assign(options, lazyFinalizer()); + } + + this._resourceSlot.addHtml(options); } _reportError(message, info) { From c28065aedc6995e7d1bc17818b8c1df320312f36 Mon Sep 17 00:00:00 2001 From: Ben Newman Date: Sat, 9 Jun 2018 16:03:00 -0400 Subject: [PATCH 0957/1355] Let CachingCompiler subclasses implement compileOneFileLater. If you're subclassing `CachingCompiler` or `MultiFileCachingCompiler`, you can now implement a `compileOneFileLater` (emphasis on `Later`) to opt into the new lazy compilation strategy. If you implement this method, and `inputFile.supportsLazyCompilation` is true, then the `addCompileResult` will not be called, though it is probably a good idea to keep any existing `addCompileResult` methods, just in case `inputFile.supportsLazyCompilation` is not truthy. This will be an important part of a proper solution to the issues I described (but failed to fix) in my broken PR #9968. --- packages/caching-compiler/caching-compiler.js | 10 +++++++++- .../multi-file-caching-compiler.js | 16 ++++++++++++---- packages/less/plugin/compile-less.js | 12 ++++++++++++ 3 files changed, 33 insertions(+), 5 deletions(-) diff --git a/packages/caching-compiler/caching-compiler.js b/packages/caching-compiler/caching-compiler.js index 57f943e436..e7165f5840 100644 --- a/packages/caching-compiler/caching-compiler.js +++ b/packages/caching-compiler/caching-compiler.js @@ -315,7 +315,15 @@ CachingCompiler = class CachingCompiler extends CachingCompilerBase { return compileResult; }; - this.addCompileResult(inputFile, getResult()); + if (this.compileOneFileLater && + inputFile.supportsLazyCompilation) { + this.compileOneFileLater(inputFile, getResult); + } else { + const result = getResult(); + if (result) { + this.addCompileResult(inputFile, result); + } + } })).then(() => { if (! this._cacheDebugEnabled) { diff --git a/packages/caching-compiler/multi-file-caching-compiler.js b/packages/caching-compiler/multi-file-caching-compiler.js index 0b79652dde..85af3e13ff 100644 --- a/packages/caching-compiler/multi-file-caching-compiler.js +++ b/packages/caching-compiler/multi-file-caching-compiler.js @@ -145,10 +145,18 @@ extends CachingCompilerBase { return cacheEntry.compileResult; }; - if (this.isRoot(inputFile)) { - // If this isn't a root, skip it (and definitely don't waste time - // looking for a cache file that won't be there). - this.addCompileResult(inputFile, getResult()); + if (this.compileOneFileLater && + inputFile.supportsLazyCompilation) { + // TODO Remove this isRoot check once compileOneFileLater no + // longer immediately compiles the file. + if (this.isRoot(inputFile)) { + this.compileOneFileLater(inputFile, getResult); + } + } else if (this.isRoot(inputFile)) { + const result = getResult(); + if (result) { + this.addCompileResult(inputFile, result); + } } })).then(() => { diff --git a/packages/less/plugin/compile-less.js b/packages/less/plugin/compile-less.js index 4b428d2f51..10b57035eb 100644 --- a/packages/less/plugin/compile-less.js +++ b/packages/less/plugin/compile-less.js @@ -45,6 +45,18 @@ class LessCompiler extends MultiFileCachingCompiler { /\.lessimport$/.test(pathInPackage)); } + compileOneFileLater(inputFile, getResult) { + inputFile.addStylesheet({ + path: inputFile.getPathInPackage(), + }, () => { + const result = getResult(); + return result && { + data: result.css, + sourceMap: result.sourceMap, + }; + }); + } + compileOneFile(inputFile, allFiles) { const importPlugin = new MeteorImportLessPlugin(allFiles); From a5751003a7f29b45f81a96fa942541b288fe3eca Mon Sep 17 00:00:00 2001 From: Ben Newman Date: Sat, 9 Jun 2018 16:08:22 -0400 Subject: [PATCH 0958/1355] Use lazyFinalizer function when calling addJavaScript in BabelCompiler. --- packages/babel-compiler/babel-compiler.js | 22 ++++++++++++++++++---- 1 file changed, 18 insertions(+), 4 deletions(-) diff --git a/packages/babel-compiler/babel-compiler.js b/packages/babel-compiler/babel-compiler.js index 7c9e5a7c8e..b3c91795bb 100644 --- a/packages/babel-compiler/babel-compiler.js +++ b/packages/babel-compiler/babel-compiler.js @@ -21,15 +21,29 @@ var hasOwn = Object.prototype.hasOwnProperty; var isMeteorPre144 = semver.lt(process.version, "4.8.1"); BCp.processFilesForTarget = function (inputFiles) { + var compiler = this; + // Reset this cache for each batch processed. this._babelrcCache = null; inputFiles.forEach(function (inputFile) { - var toBeAdded = this.processOneFileForTarget(inputFile); - if (toBeAdded) { - inputFile.addJavaScript(toBeAdded); + var fileOptions = inputFile.getFileOptions(); + + if (inputFile.supportsLazyCompilation) { + inputFile.addJavaScript({ + path: inputFile.getPathInPackage(), + hash: inputFile.getSourceHash(), + bare: !! fileOptions.bare + }, function () { + return compiler.processOneFileForTarget(inputFile); + }); + } else { + var toBeAdded = compiler.processOneFileForTarget(inputFile); + if (toBeAdded) { + inputFile.addJavaScript(toBeAdded); + } } - }, this); + }); }; // Returns an object suitable for passing to inputFile.addJavaScript, or From 98d853551fd390038bb839c4c7c9904eefa077da Mon Sep 17 00:00:00 2001 From: Ben Newman Date: Sat, 9 Jun 2018 16:08:48 -0400 Subject: [PATCH 0959/1355] Bump minor version of caching-compiler package to 1.2.0. --- packages/caching-compiler/package.js | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/packages/caching-compiler/package.js b/packages/caching-compiler/package.js index 1ae94aa309..987d9b7651 100644 --- a/packages/caching-compiler/package.js +++ b/packages/caching-compiler/package.js @@ -1,6 +1,6 @@ Package.describe({ name: 'caching-compiler', - version: '1.1.12', + version: '1.2.0', summary: 'An easy way to make compiler plugins cache', documentation: 'README.md' }); From 7cfba6e002aac4029a61d4f1c2ab433c6c773c17 Mon Sep 17 00:00:00 2001 From: Ben Newman Date: Sat, 9 Jun 2018 16:09:06 -0400 Subject: [PATCH 0960/1355] Bump minor version of babel-compiler package to 7.2.0. --- packages/babel-compiler/package.js | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/packages/babel-compiler/package.js b/packages/babel-compiler/package.js index 2d863bb6da..8450906c82 100644 --- a/packages/babel-compiler/package.js +++ b/packages/babel-compiler/package.js @@ -6,7 +6,7 @@ Package.describe({ // isn't possible because you can't publish a non-recommended // release with package versions that don't have a pre-release // identifier at the end (eg, -dev) - version: '7.1.0' + version: '7.2.0' }); Npm.depends({ From 7ec5d446d180599c6d17008e4a136875a9468281 Mon Sep 17 00:00:00 2001 From: Ben Newman Date: Sat, 9 Jun 2018 16:10:01 -0400 Subject: [PATCH 0961/1355] Bump minor version of less package to 2.8.0. We should really update to the latest version of the less npm package (3.0.4 at the time this commit message was written). --- packages/less/package.js | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/packages/less/package.js b/packages/less/package.js index 4246551c39..363b4c6926 100644 --- a/packages/less/package.js +++ b/packages/less/package.js @@ -1,6 +1,6 @@ Package.describe({ name: 'less', - version: '2.7.12', + version: '2.8.0', summary: 'Leaner CSS language', documentation: 'README.md' }); From 98ed7675226cffb973bdd6c4b7a300ce0469d3ed Mon Sep 17 00:00:00 2001 From: Ben Newman Date: Mon, 11 Jun 2018 15:21:31 -0400 Subject: [PATCH 0962/1355] Use custom JsOutputResource class in ResourceSlot#addJavaScript. --- tools/isobuild/compiler-plugin.js | 171 ++++++++++++++++++++---------- 1 file changed, 113 insertions(+), 58 deletions(-) diff --git a/tools/isobuild/compiler-plugin.js b/tools/isobuild/compiler-plugin.js index e6818f1cab..26cb22d3cd 100644 --- a/tools/isobuild/compiler-plugin.js +++ b/tools/isobuild/compiler-plugin.js @@ -23,6 +23,8 @@ import { import { isTestFilePath } from './test-files.js'; +const hasOwn = Object.prototype.hasOwnProperty; + // This file implements the new compiler plugins added in Meteor 1.2, which are // registered with the Plugin.registerCompiler API. // @@ -494,17 +496,7 @@ class InputFile extends buildPluginModule.InputFile { * @instance */ addJavaScript(options, lazyFinalizer) { - if (typeof lazyFinalizer === "function") { - // For now, just call the lazyFinalizer function immediately. - Object.assign(options, lazyFinalizer()); - } - - if (options.sourceMap && typeof options.sourceMap === 'string') { - // XXX remove an anti-XSSI header? ")]}'\n" - options.sourceMap = JSON.parse(options.sourceMap); - } - - this._resourceSlot.addJavaScript(options); + this._resourceSlot.addJavaScript(options, lazyFinalizer); } /** @@ -752,29 +744,26 @@ class ResourceSlot { // file is lazy, add it as a lazy JS module instead of adding it // unconditionally as a CSS resource, so that it can be imported // when needed. - resource.type = "js"; - resource.data = - Buffer.from(cssToCommonJS(data, resource.hash), "utf8"); - - self.jsOutputResources.push(resource); + self.addJavaScript({ + ...resource, + data: Buffer.from(cssToCommonJS(data, resource.hash), "utf8"), + }); } else { // Eager CSS is added unconditionally to a combined

    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 1>nul -goto :EOF - - - From c8fd6e855e0ccd50601308b29910cb5d9eff6be8 Mon Sep 17 00:00:00 2001 From: David Glasser Date: Thu, 9 Nov 2017 18:11:37 -0800 Subject: [PATCH 0077/1355] tools: allow explicitly opting in to low-fi status display I think this was originally designed for Emacs shell but at some point Emacs or Node improved so that Node finds columns for Emacs shell and switches to the full display. Switching to the status-only display leads to massive speedups when doing builds in my Emacs shell. --- tools/console/console.js | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/tools/console/console.js b/tools/console/console.js index 4501ae3473..0753d04dd6 100644 --- a/tools/console/console.js +++ b/tools/console/console.js @@ -66,6 +66,8 @@ var utils = require('../utils/utils.js'); var wordwrap = require('wordwrap'); var PROGRESS_DEBUG = !!process.env.METEOR_PROGRESS_DEBUG; +// Recommended for better performance for Emacs shell users. +var PROGRESS_STATUS_ONLY = !!process.env.METEOR_PROGRESS_STATUS_ONLY; var FORCE_PRETTY=undefined; // Set the default CR to \r unless we're running with cmd var CARRIAGE_RETURN = process.platform === 'win32' && @@ -1180,7 +1182,8 @@ class Console extends ConsoleBase { } else if ((! this._stream.isTTY) || (! this._pretty)) { // No progress bar if not in pretty / on TTY. newProgressDisplay = new ProgressDisplayNone(this); - } else if (this._stream.isTTY && ! this._stream.columns) { + } else if (PROGRESS_STATUS_ONLY || + (this._stream.isTTY && ! this._stream.columns)) { // We might be in a pseudo-TTY that doesn't support // clearLine() and cursorTo(...). // It's important that we only enter status message mode From 775279d1f58030fe5c5a5c77b9b84f818f5b00f6 Mon Sep 17 00:00:00 2001 From: Sashko Stubailo Date: Wed, 8 Nov 2017 14:17:17 -0800 Subject: [PATCH 0078/1355] Refactor some small stuff --- packages/ddp-client/client/client.js | 2 +- .../ddp-client/client/client_convenience.js | 119 ++++++++---------- packages/ddp-client/common/id_map.js | 5 - .../ddp-client/common/livedata_connection.js | 8 +- 4 files changed, 63 insertions(+), 71 deletions(-) delete mode 100644 packages/ddp-client/common/id_map.js diff --git a/packages/ddp-client/client/client.js b/packages/ddp-client/client/client.js index 242154a50e..ae2cdef588 100644 --- a/packages/ddp-client/client/client.js +++ b/packages/ddp-client/client/client.js @@ -1,7 +1,7 @@ export { DDP, LivedataTest } from '../common/namespace'; import './stream_client_sockjs'; - import '../common/livedata_connection'; +// Initialize the default server connection and put it on Meteor.connection import './client_convenience'; diff --git a/packages/ddp-client/client/client_convenience.js b/packages/ddp-client/client/client_convenience.js index 3eef31533f..13934a4b76 100644 --- a/packages/ddp-client/client/client_convenience.js +++ b/packages/ddp-client/client/client_convenience.js @@ -1,75 +1,66 @@ import { DDP } from '../common/namespace.js'; +import { Meteor } from 'meteor/meteor'; // Meteor.refresh can be called on the client (if you're in common code) but it // only has an effect on the server. Meteor.refresh = function(notification) {}; -if (Meteor.isClient) { - // By default, try to connect back to the same endpoint as the page - // was served from. - // - // XXX We should be doing this a different way. Right now we don't - // include ROOT_URL_PATH_PREFIX when computing ddpUrl. (We don't - // include it on the server when computing - // DDP_DEFAULT_CONNECTION_URL, and we don't include it in our - // default, '/'.) We get by with this because DDP.connect then - // forces the URL passed to it to be interpreted relative to the - // app's deploy path, even if it is absolute. Instead, we should - // make DDP_DEFAULT_CONNECTION_URL, if set, include the path prefix; - // make the default ddpUrl be '' rather that '/'; and make - // _translateUrl in stream_client_common.js not force absolute paths - // to be treated like relative paths. See also - // stream_client_common.js #RationalizingRelativeDDPURLs - var ddpUrl = '/'; - if (typeof __meteor_runtime_config__ !== 'undefined') { - if (__meteor_runtime_config__.DDP_DEFAULT_CONNECTION_URL) - ddpUrl = __meteor_runtime_config__.DDP_DEFAULT_CONNECTION_URL; - } - - var retry = new Retry(); - - var onDDPVersionNegotiationFailure = function(description) { - Meteor._debug(description); - if (Package.reload) { - var migrationData = - Package.reload.Reload._migrationData('livedata') || {}; - var failures = migrationData.DDPVersionNegotiationFailures || 0; - ++failures; - Package.reload.Reload._onMigrate('livedata', function() { - return [true, { DDPVersionNegotiationFailures: failures }]; - }); - retry.retryLater(failures, function() { - Package.reload.Reload._reload(); - }); - } - }; - - Meteor.connection = DDP.connect(ddpUrl, { - onDDPVersionNegotiationFailure: onDDPVersionNegotiationFailure - }); - - // Proxy the public methods of Meteor.connection so they can - // be called directly on Meteor. - _.each( - [ - 'subscribe', - 'methods', - 'call', - 'apply', - 'status', - 'reconnect', - 'disconnect' - ], - function(name) { - Meteor[name] = _.bind(Meteor.connection[name], Meteor.connection); - } - ); -} else { - // Never set up a default connection on the server. Don't even map - // subscribe/call/etc onto Meteor. - Meteor.connection = null; +// By default, try to connect back to the same endpoint as the page +// was served from. +// +// XXX We should be doing this a different way. Right now we don't +// include ROOT_URL_PATH_PREFIX when computing ddpUrl. (We don't +// include it on the server when computing +// DDP_DEFAULT_CONNECTION_URL, and we don't include it in our +// default, '/'.) We get by with this because DDP.connect then +// forces the URL passed to it to be interpreted relative to the +// app's deploy path, even if it is absolute. Instead, we should +// make DDP_DEFAULT_CONNECTION_URL, if set, include the path prefix; +// make the default ddpUrl be '' rather that '/'; and make +// _translateUrl in stream_client_common.js not force absolute paths +// to be treated like relative paths. See also +// stream_client_common.js #RationalizingRelativeDDPURLs +var ddpUrl = '/'; +if (typeof __meteor_runtime_config__ !== 'undefined') { + if (__meteor_runtime_config__.DDP_DEFAULT_CONNECTION_URL) + ddpUrl = __meteor_runtime_config__.DDP_DEFAULT_CONNECTION_URL; } +var retry = new Retry(); + +var onDDPVersionNegotiationFailure = function(description) { + Meteor._debug(description); + if (Package.reload) { + var migrationData = Package.reload.Reload._migrationData('livedata') || {}; + var failures = migrationData.DDPVersionNegotiationFailures || 0; + ++failures; + Package.reload.Reload._onMigrate('livedata', function() { + return [true, { DDPVersionNegotiationFailures: failures }]; + }); + retry.retryLater(failures, function() { + Package.reload.Reload._reload(); + }); + } +}; + +Meteor.connection = DDP.connect(ddpUrl, { + onDDPVersionNegotiationFailure: onDDPVersionNegotiationFailure +}); + +// Proxy the public methods of Meteor.connection so they can +// be called directly on Meteor. +[ + 'subscribe', + 'methods', + 'call', + 'apply', + 'status', + 'reconnect', + 'disconnect' +].forEach(function(name) { + Meteor[name] = Meteor.connection[name].bind(Meteor.connection); +}); + // Meteor.connection used to be called // Meteor.default_connection. Provide backcompat as a courtesy even // though it was never documented. diff --git a/packages/ddp-client/common/id_map.js b/packages/ddp-client/common/id_map.js deleted file mode 100644 index c2a648720f..0000000000 --- a/packages/ddp-client/common/id_map.js +++ /dev/null @@ -1,5 +0,0 @@ -export class MongoIDMap extends IdMap { - constructor() { - super(MongoID.idStringify, MongoID.idParse); - } -} diff --git a/packages/ddp-client/common/livedata_connection.js b/packages/ddp-client/common/livedata_connection.js index 4bee5804d4..4b9a3056c6 100644 --- a/packages/ddp-client/common/livedata_connection.js +++ b/packages/ddp-client/common/livedata_connection.js @@ -5,6 +5,7 @@ import { Tracker } from 'meteor/tracker'; import { EJSON } from 'meteor/ejson'; import { Random } from 'meteor/random'; import { Hook } from 'meteor/callback-hook'; +import { MongoID } from 'meteor/mongo-id'; if (Meteor.isServer) { var Fiber = Npm.require('fibers'); @@ -12,7 +13,12 @@ if (Meteor.isServer) { } import { DDP, LivedataTest } from './namespace.js'; -import { MongoIDMap } from './id_map.js'; + +class MongoIDMap extends IdMap { + constructor() { + super(MongoID.idStringify, MongoID.idParse); + } +} // @param url {String|Object} URL to Meteor app, // or an object as a test hook (see code) From a6ff818fdc4a62185829192088dd226c70567266 Mon Sep 17 00:00:00 2001 From: Sashko Stubailo Date: Wed, 8 Nov 2017 14:35:22 -0800 Subject: [PATCH 0079/1355] Reformat package.js, and remove some LivedataTest --- packages/ddp-client/common/namespace.js | 2 - packages/ddp-client/package.js | 44 +++++++++---------- .../test/livedata_connection_tests.js | 10 ++--- packages/ddp-client/test/stream_tests.js | 3 +- 4 files changed, 29 insertions(+), 30 deletions(-) diff --git a/packages/ddp-client/common/namespace.js b/packages/ddp-client/common/namespace.js index 29f378ad28..45a659e2cd 100644 --- a/packages/ddp-client/common/namespace.js +++ b/packages/ddp-client/common/namespace.js @@ -8,8 +8,6 @@ import { Meteor } from 'meteor/meteor'; export const DDP = {}; export const LivedataTest = {}; -LivedataTest.SUPPORTED_DDP_VERSIONS = DDPCommon.SUPPORTED_DDP_VERSIONS; - // This is private but it's used in a few places. accounts-base uses // it to get the current user. Meteor.setTimeout and friends clear // it. We can probably find a better way to factor this. diff --git a/packages/ddp-client/package.js b/packages/ddp-client/package.js index 330429616e..24b81aaade 100644 --- a/packages/ddp-client/package.js +++ b/packages/ddp-client/package.js @@ -20,23 +20,22 @@ Package.onUse(function(api) { 'tracker', 'retry', 'id-map', - 'ecmascript' + 'ecmascript', + 'callback-hook', + 'ddp-common', + 'reload', + + // we depend on _diffObjects, _applyChanges, + 'diff-sequence', + + // _idParse, _idStringify. + 'mongo-id' ], ['client', 'server'] ); - api.use('callback-hook', ['client', 'server']); - - // common functionality - api.use('ddp-common', ['client', 'server']); - api.use('reload', 'client', { weak: true }); - // we depend on _diffObjects, _applyChanges, - api.use('diff-sequence', ['client', 'server']); - // _idParse, _idStringify. - api.use('mongo-id', ['client', 'server']); - // For backcompat where things use Package.ddp.DDP, etc api.export('DDP'); api.mainModule('client/client.js', 'client'); @@ -44,10 +43,10 @@ Package.onUse(function(api) { }); Package.onTest(function(api) { - api.use('livedata', ['client', 'server']); - api.use('mongo', ['client', 'server']); - api.use('test-helpers', ['client', 'server']); api.use([ + 'livedata', + 'mongo', + 'test-helpers', 'ecmascript', 'underscore', 'tinytest', @@ -56,17 +55,18 @@ Package.onTest(function(api) { 'reactive-var', 'mongo-id', 'diff-sequence', - 'ejson' + 'ejson', + 'ddp-common', + 'check' ]); - api.addFiles('test/stub_stream.js'); - api.addFiles('test/livedata_connection_tests.js', ['client', 'server']); - api.addFiles('test/livedata_tests.js', ['client', 'server']); - api.addFiles('test/livedata_test_service.js', ['client', 'server']); - api.addFiles('test/random_stream_tests.js', ['client', 'server']); - api.use('http', 'client'); + + api.addFiles('test/stub_stream.js'); + api.addFiles('test/livedata_connection_tests.js'); + api.addFiles('test/livedata_tests.js'); + api.addFiles('test/livedata_test_service.js'); + api.addFiles('test/random_stream_tests.js'); api.addFiles('test/stream_tests.js', 'client'); api.addFiles('test/stream_client_tests.js', 'server'); - api.use('check', ['client', 'server']); }); diff --git a/packages/ddp-client/test/livedata_connection_tests.js b/packages/ddp-client/test/livedata_connection_tests.js index b6eca04c1b..168ccf0828 100644 --- a/packages/ddp-client/test/livedata_connection_tests.js +++ b/packages/ddp-client/test/livedata_connection_tests.js @@ -20,8 +20,8 @@ var newConnection = function(stream, options) { var makeConnectMessage = function(session) { var msg = { msg: 'connect', - version: LivedataTest.SUPPORTED_DDP_VERSIONS[0], - support: LivedataTest.SUPPORTED_DDP_VERSIONS + version: DDPCommon.SUPPORTED_DDP_VERSIONS[0], + support: DDPCommon.SUPPORTED_DDP_VERSIONS }; if (session) msg.session = session; @@ -1825,7 +1825,7 @@ Tinytest.add('livedata connection - ping with id', function(test) { testGotMessage(test, stream, { msg: 'pong', id: id }); }); -_.each(LivedataTest.SUPPORTED_DDP_VERSIONS, function(version) { +_.each(DDPCommon.SUPPORTED_DDP_VERSIONS, function(version) { Tinytest.addAsync('livedata connection - ping from ' + version, function( test, onComplete @@ -1938,13 +1938,13 @@ Tinytest.addAsync( function(test, onComplete) { var connection = new LivedataTest.Connection(getSelfConnectionUrl(), { reloadWithOutstanding: true, - supportedDDPVersions: ['garbled', LivedataTest.SUPPORTED_DDP_VERSIONS[0]], + supportedDDPVersions: ['garbled', DDPCommon.SUPPORTED_DDP_VERSIONS[0]], onDDPVersionNegotiationFailure: function() { test.fail(); onComplete(); }, onConnected: function() { - test.equal(connection._version, LivedataTest.SUPPORTED_DDP_VERSIONS[0]); + test.equal(connection._version, DDPCommon.SUPPORTED_DDP_VERSIONS[0]); connection._stream.disconnect({ _permanent: true }); onComplete(); } diff --git a/packages/ddp-client/test/stream_tests.js b/packages/ddp-client/test/stream_tests.js index 76caa40e96..2d0e1c6af8 100644 --- a/packages/ddp-client/test/stream_tests.js +++ b/packages/ddp-client/test/stream_tests.js @@ -1,4 +1,5 @@ import { LivedataTest } from '../common/namespace.js'; +import { toSockjsUrl } from '../common/urlHelpers'; Tinytest.add('stream - status', function(test) { // Very basic test. Just see that it runs and returns something. Not a @@ -126,7 +127,7 @@ testAsyncMulti('stream - disconnect remains offline', [ Tinytest.add('stream - sockjs urls are computed correctly', function(test) { var testHasSockjsUrl = function(raw, expectedSockjsUrl) { - var actual = LivedataTest.toSockjsUrl(raw); + var actual = toSockjsUrl(raw); if (expectedSockjsUrl instanceof RegExp) test.isTrue(actual.match(expectedSockjsUrl), actual); else test.equal(actual, expectedSockjsUrl); From 3739ec98cd455ef6321f56c619b0e3b726d76887 Mon Sep 17 00:00:00 2001 From: Sashko Stubailo Date: Wed, 8 Nov 2017 14:45:36 -0800 Subject: [PATCH 0080/1355] Use classes and inheritance instead of extending prototype --- .../ddp-client/client/stream_client_sockjs.js | 124 +++---- .../ddp-client/common/stream_client_common.js | 306 +++++++++--------- .../ddp-client/server/stream_client_nodejs.js | 10 +- 3 files changed, 221 insertions(+), 219 deletions(-) diff --git a/packages/ddp-client/client/stream_client_sockjs.js b/packages/ddp-client/client/stream_client_sockjs.js index c5710d6bb8..0ade45f879 100644 --- a/packages/ddp-client/client/stream_client_sockjs.js +++ b/packages/ddp-client/client/stream_client_sockjs.js @@ -6,70 +6,72 @@ import './sockjs-0.3.4'; import { DDP, LivedataTest } from '../common/namespace.js'; import { toSockjsUrl } from '../common/urlHelpers'; -import { addCommonMethodsToPrototype } from '../common/stream_client_common'; +import StreamClientCommon from '../common/stream_client_common'; -// @param url {String} URL to Meteor app -// "http://subdomain.meteor.com/" or "/" or -// "ddp+sockjs://foo-**.meteor.com/sockjs" -LivedataTest.ClientStream = function(url, options) { - var self = this; - self.options = _.extend( - { - retry: true - }, - options - ); - self._initCommon(self.options); +class ClientStream extends StreamClientCommon { + // @param url {String} URL to Meteor app + // "http://subdomain.meteor.com/" or "/" or + // "ddp+sockjs://foo-**.meteor.com/sockjs" + constructor(url, options) { + super(); - //// Constants - - // how long between hearing heartbeat from the server until we declare - // the connection dead. heartbeats come every 45s (stream_server.js) - // - // NOTE: this is a older timeout mechanism. We now send heartbeats at - // the DDP level (https://github.com/meteor/meteor/pull/1865), and - // expect those timeouts to kill a non-responsive connection before - // this timeout fires. This is kept around for compatibility (when - // talking to a server that doesn't support DDP heartbeats) and can be - // removed later. - self.HEARTBEAT_TIMEOUT = 100 * 1000; - - self.rawUrl = url; - self.socket = null; - - self.heartbeatTimer = null; - - // Listen to global 'online' event if we are running in a browser. - // (IE8 does not support addEventListener) - if (typeof window !== 'undefined' && window.addEventListener) - window.addEventListener( - 'online', - _.bind(self._online, self), - false /* useCapture. make FF3.6 happy. */ + var self = this; + self.options = _.extend( + { + retry: true + }, + options ); + self._initCommon(self.options); - //// Kickoff! - self._launchConnection(); -}; + //// Constants + + // how long between hearing heartbeat from the server until we declare + // the connection dead. heartbeats come every 45s (stream_server.js) + // + // NOTE: this is a older timeout mechanism. We now send heartbeats at + // the DDP level (https://github.com/meteor/meteor/pull/1865), and + // expect those timeouts to kill a non-responsive connection before + // this timeout fires. This is kept around for compatibility (when + // talking to a server that doesn't support DDP heartbeats) and can be + // removed later. + self.HEARTBEAT_TIMEOUT = 100 * 1000; + + self.rawUrl = url; + self.socket = null; + + self.heartbeatTimer = null; + + // Listen to global 'online' event if we are running in a browser. + // (IE8 does not support addEventListener) + if (typeof window !== 'undefined' && window.addEventListener) + window.addEventListener( + 'online', + _.bind(self._online, self), + false /* useCapture. make FF3.6 happy. */ + ); + + //// Kickoff! + self._launchConnection(); + } -_.extend(LivedataTest.ClientStream.prototype, { // data is a utf8 string. Data sent while not connected is dropped on // the floor, and it is up the user of this API to retransmit lost // messages on 'reset' - send: function(data) { + send(data) { var self = this; if (self.currentStatus.connected) { self.socket.send(data); } - }, + } // Changes where this connection points - _changeUrl: function(url) { + _changeUrl(url) { var self = this; self.rawUrl = url; - }, + } - _connected: function() { + _connected() { var self = this; if (self.connectionTimer) { @@ -93,9 +95,9 @@ _.extend(LivedataTest.ClientStream.prototype, { _.each(self.eventCallbacks.reset, function(callback) { callback(); }); - }, + } - _cleanup: function(maybeError) { + _cleanup(maybeError) { var self = this; self._clearConnectionAndHeartbeatTimers(); @@ -109,9 +111,9 @@ _.extend(LivedataTest.ClientStream.prototype, { _.each(self.eventCallbacks.disconnect, function(callback) { callback(maybeError); }); - }, + } - _clearConnectionAndHeartbeatTimers: function() { + _clearConnectionAndHeartbeatTimers() { var self = this; if (self.connectionTimer) { clearTimeout(self.connectionTimer); @@ -121,15 +123,15 @@ _.extend(LivedataTest.ClientStream.prototype, { clearTimeout(self.heartbeatTimer); self.heartbeatTimer = null; } - }, + } - _heartbeat_timeout: function() { + _heartbeat_timeout() { var self = this; Meteor._debug('Connection timeout. No sockjs heartbeat received.'); self._lostConnection(new DDP.ConnectionError('Heartbeat timed out')); - }, + } - _heartbeat_received: function() { + _heartbeat_received() { var self = this; // If we've already permanently shut down this stream, the timeout is // already cleared, and we don't need to set it again. @@ -139,9 +141,9 @@ _.extend(LivedataTest.ClientStream.prototype, { _.bind(self._heartbeat_timeout, self), self.HEARTBEAT_TIMEOUT ); - }, + } - _sockjsProtocolsWhitelist: function() { + _sockjsProtocolsWhitelist() { // only allow polling protocols. no streaming. streaming // makes safari spin. var protocolsWhitelist = [ @@ -166,9 +168,9 @@ _.extend(LivedataTest.ClientStream.prototype, { protocolsWhitelist = ['websocket'].concat(protocolsWhitelist); return protocolsWhitelist; - }, + } - _launchConnection: function() { + _launchConnection() { var self = this; self._cleanup(); // cleanup the old socket, if there was one. @@ -215,6 +217,6 @@ _.extend(LivedataTest.ClientStream.prototype, { self._lostConnection(new DDP.ConnectionError('DDP connection timed out')); }, self.CONNECT_TIMEOUT); } -}); +} -addCommonMethodsToPrototype(LivedataTest.ClientStream.prototype); +LivedataTest.ClientStream = ClientStream; diff --git a/packages/ddp-client/common/stream_client_common.js b/packages/ddp-client/common/stream_client_common.js index 0c971570a6..2d76203b9a 100644 --- a/packages/ddp-client/common/stream_client_common.js +++ b/packages/ddp-client/common/stream_client_common.js @@ -6,171 +6,169 @@ import { Retry } from 'meteor/retry'; import { DDP, LivedataTest } from './namespace.js'; -export function addCommonMethodsToPrototype(proto) { - _.extend(proto, { - // Register for callbacks. - on: function(name, callback) { - var self = this; +export default class StreamClientCommon { + // Register for callbacks. + on(name, callback) { + var self = this; - if (name !== 'message' && name !== 'reset' && name !== 'disconnect') - throw new Error('unknown event type: ' + name); + if (name !== 'message' && name !== 'reset' && name !== 'disconnect') + throw new Error('unknown event type: ' + name); - if (!self.eventCallbacks[name]) self.eventCallbacks[name] = []; - self.eventCallbacks[name].push(callback); - }, + if (!self.eventCallbacks[name]) self.eventCallbacks[name] = []; + self.eventCallbacks[name].push(callback); + } - _initCommon: function(options) { - var self = this; - options = options || {}; + _initCommon(options) { + var self = this; + options = options || {}; - //// Constants + //// Constants - // how long to wait until we declare the connection attempt - // failed. - self.CONNECT_TIMEOUT = options.connectTimeoutMs || 10000; + // how long to wait until we declare the connection attempt + // failed. + self.CONNECT_TIMEOUT = options.connectTimeoutMs || 10000; - self.eventCallbacks = {}; // name -> [callback] + self.eventCallbacks = {}; // name -> [callback] - self._forcedToDisconnect = false; + self._forcedToDisconnect = false; - //// Reactive status - self.currentStatus = { - status: 'connecting', - connected: false, - retryCount: 0 - }; + //// Reactive status + self.currentStatus = { + status: 'connecting', + connected: false, + retryCount: 0 + }; - self.statusListeners = - typeof Tracker !== 'undefined' && new Tracker.Dependency(); - self.statusChanged = function() { - if (self.statusListeners) self.statusListeners.changed(); - }; + self.statusListeners = + typeof Tracker !== 'undefined' && new Tracker.Dependency(); + self.statusChanged = function() { + if (self.statusListeners) self.statusListeners.changed(); + }; - //// Retry logic - self._retry = new Retry(); - self.connectionTimer = null; - }, + //// Retry logic + self._retry = new Retry(); + self.connectionTimer = null; + } - // Trigger a reconnect. - reconnect: function(options) { - var self = this; - options = options || {}; + // Trigger a reconnect. + reconnect(options) { + var self = this; + options = options || {}; - if (options.url) { - self._changeUrl(options.url); - } - - if (options._sockjsOptions) { - self.options._sockjsOptions = options._sockjsOptions; - } - - if (self.currentStatus.connected) { - if (options._force || options.url) { - // force reconnect. - self._lostConnection(new DDP.ForcedReconnectError()); - } // else, noop. - return; - } - - // if we're mid-connection, stop it. - if (self.currentStatus.status === 'connecting') { - // Pretend it's a clean close. - self._lostConnection(); - } - - self._retry.clear(); - self.currentStatus.retryCount -= 1; // don't count manual retries - self._retryNow(); - }, - - disconnect: function(options) { - var self = this; - options = options || {}; - - // Failed is permanent. If we're failed, don't let people go back - // online by calling 'disconnect' then 'reconnect'. - if (self._forcedToDisconnect) return; - - // If _permanent is set, permanently disconnect a stream. Once a stream - // is forced to disconnect, it can never reconnect. This is for - // error cases such as ddp version mismatch, where trying again - // won't fix the problem. - if (options._permanent) { - self._forcedToDisconnect = true; - } - - self._cleanup(); - self._retry.clear(); - - self.currentStatus = { - status: options._permanent ? 'failed' : 'offline', - connected: false, - retryCount: 0 - }; - - if (options._permanent && options._error) - self.currentStatus.reason = options._error; - - self.statusChanged(); - }, - - // maybeError is set unless it's a clean protocol-level close. - _lostConnection: function(maybeError) { - var self = this; - - self._cleanup(maybeError); - self._retryLater(maybeError); // sets status. no need to do it here. - }, - - // fired when we detect that we've gone online. try to reconnect - // immediately. - _online: function() { - // if we've requested to be offline by disconnecting, don't reconnect. - if (this.currentStatus.status != 'offline') this.reconnect(); - }, - - _retryLater: function(maybeError) { - var self = this; - - var timeout = 0; - if ( - self.options.retry || - (maybeError && maybeError.errorType === 'DDP.ForcedReconnectError') - ) { - timeout = self._retry.retryLater( - self.currentStatus.retryCount, - _.bind(self._retryNow, self) - ); - self.currentStatus.status = 'waiting'; - self.currentStatus.retryTime = new Date().getTime() + timeout; - } else { - self.currentStatus.status = 'failed'; - delete self.currentStatus.retryTime; - } - - self.currentStatus.connected = false; - self.statusChanged(); - }, - - _retryNow: function() { - var self = this; - - if (self._forcedToDisconnect) return; - - self.currentStatus.retryCount += 1; - self.currentStatus.status = 'connecting'; - self.currentStatus.connected = false; - delete self.currentStatus.retryTime; - self.statusChanged(); - - self._launchConnection(); - }, - - // Get current status. Reactive. - status: function() { - var self = this; - if (self.statusListeners) self.statusListeners.depend(); - return self.currentStatus; + if (options.url) { + self._changeUrl(options.url); } - }); + + if (options._sockjsOptions) { + self.options._sockjsOptions = options._sockjsOptions; + } + + if (self.currentStatus.connected) { + if (options._force || options.url) { + // force reconnect. + self._lostConnection(new DDP.ForcedReconnectError()); + } // else, noop. + return; + } + + // if we're mid-connection, stop it. + if (self.currentStatus.status === 'connecting') { + // Pretend it's a clean close. + self._lostConnection(); + } + + self._retry.clear(); + self.currentStatus.retryCount -= 1; // don't count manual retries + self._retryNow(); + } + + disconnect(options) { + var self = this; + options = options || {}; + + // Failed is permanent. If we're failed, don't let people go back + // online by calling 'disconnect' then 'reconnect'. + if (self._forcedToDisconnect) return; + + // If _permanent is set, permanently disconnect a stream. Once a stream + // is forced to disconnect, it can never reconnect. This is for + // error cases such as ddp version mismatch, where trying again + // won't fix the problem. + if (options._permanent) { + self._forcedToDisconnect = true; + } + + self._cleanup(); + self._retry.clear(); + + self.currentStatus = { + status: options._permanent ? 'failed' : 'offline', + connected: false, + retryCount: 0 + }; + + if (options._permanent && options._error) + self.currentStatus.reason = options._error; + + self.statusChanged(); + } + + // maybeError is set unless it's a clean protocol-level close. + _lostConnection(maybeError) { + var self = this; + + self._cleanup(maybeError); + self._retryLater(maybeError); // sets status. no need to do it here. + } + + // fired when we detect that we've gone online. try to reconnect + // immediately. + _online() { + // if we've requested to be offline by disconnecting, don't reconnect. + if (this.currentStatus.status != 'offline') this.reconnect(); + } + + _retryLater(maybeError) { + var self = this; + + var timeout = 0; + if ( + self.options.retry || + (maybeError && maybeError.errorType === 'DDP.ForcedReconnectError') + ) { + timeout = self._retry.retryLater( + self.currentStatus.retryCount, + _.bind(self._retryNow, self) + ); + self.currentStatus.status = 'waiting'; + self.currentStatus.retryTime = new Date().getTime() + timeout; + } else { + self.currentStatus.status = 'failed'; + delete self.currentStatus.retryTime; + } + + self.currentStatus.connected = false; + self.statusChanged(); + } + + _retryNow() { + var self = this; + + if (self._forcedToDisconnect) return; + + self.currentStatus.retryCount += 1; + self.currentStatus.status = 'connecting'; + self.currentStatus.connected = false; + delete self.currentStatus.retryTime; + self.statusChanged(); + + self._launchConnection(); + } + + // Get current status. Reactive. + status() { + var self = this; + if (self.statusListeners) self.statusListeners.depend(); + return self.currentStatus; + } } diff --git a/packages/ddp-client/server/stream_client_nodejs.js b/packages/ddp-client/server/stream_client_nodejs.js index 20ad93d9be..3efe520ba0 100644 --- a/packages/ddp-client/server/stream_client_nodejs.js +++ b/packages/ddp-client/server/stream_client_nodejs.js @@ -3,7 +3,7 @@ import { Meteor } from 'meteor/meteor'; import { DDP, LivedataTest } from '../common/namespace'; import { toWebsocketUrl } from '../common/urlHelpers'; -import { addCommonMethodsToPrototype } from '../common/stream_client_common'; +import StreamClientCommon from '../common/stream_client_common'; // @param endpoint {String} URL to Meteor app // "http://subdomain.meteor.com/" or "/" or @@ -16,8 +16,10 @@ import { addCommonMethodsToPrototype } from '../common/stream_client_common'; // We don't do any heartbeating. (The logic that did this in sockjs was removed, // because it used a built-in sockjs mechanism. We could do it with WebSocket // ping frames or with DDP-level messages.) -LivedataTest.ClientStream = class ClientStream { +class ClientStream extends StreamClientCommon { constructor(endpoint, options) { + super(); + const self = this; options = options || {}; @@ -213,6 +215,6 @@ LivedataTest.ClientStream = class ClientStream { }); }); } -}; +} -addCommonMethodsToPrototype(LivedataTest.ClientStream.prototype); +LivedataTest.ClientStream = ClientStream; From 88847faf27df2aa3461bf052e26d00e536c0c88b Mon Sep 17 00:00:00 2001 From: Sashko Stubailo Date: Wed, 8 Nov 2017 14:49:40 -0800 Subject: [PATCH 0081/1355] Remove all self=this and convert callbacks to arrow functions --- .../ddp-client/client/stream_client_sockjs.js | 127 ++++++++---------- 1 file changed, 58 insertions(+), 69 deletions(-) diff --git a/packages/ddp-client/client/stream_client_sockjs.js b/packages/ddp-client/client/stream_client_sockjs.js index 0ade45f879..689a294c29 100644 --- a/packages/ddp-client/client/stream_client_sockjs.js +++ b/packages/ddp-client/client/stream_client_sockjs.js @@ -15,14 +15,14 @@ class ClientStream extends StreamClientCommon { constructor(url, options) { super(); - var self = this; - self.options = _.extend( + this.options = _.extend( { retry: true }, options ); - self._initCommon(self.options); + + this._initCommon(this.options); //// Constants @@ -35,111 +35,101 @@ class ClientStream extends StreamClientCommon { // this timeout fires. This is kept around for compatibility (when // talking to a server that doesn't support DDP heartbeats) and can be // removed later. - self.HEARTBEAT_TIMEOUT = 100 * 1000; + this.HEARTBEAT_TIMEOUT = 100 * 1000; - self.rawUrl = url; - self.socket = null; + this.rawUrl = url; + this.socket = null; - self.heartbeatTimer = null; + this.heartbeatTimer = null; // Listen to global 'online' event if we are running in a browser. // (IE8 does not support addEventListener) if (typeof window !== 'undefined' && window.addEventListener) window.addEventListener( 'online', - _.bind(self._online, self), + _.bind(this._online, this), false /* useCapture. make FF3.6 happy. */ ); //// Kickoff! - self._launchConnection(); + this._launchConnection(); } // data is a utf8 string. Data sent while not connected is dropped on // the floor, and it is up the user of this API to retransmit lost // messages on 'reset' send(data) { - var self = this; - if (self.currentStatus.connected) { - self.socket.send(data); + if (this.currentStatus.connected) { + this.socket.send(data); } } // Changes where this connection points _changeUrl(url) { - var self = this; - self.rawUrl = url; + this.rawUrl = url; } _connected() { - var self = this; - - if (self.connectionTimer) { - clearTimeout(self.connectionTimer); - self.connectionTimer = null; + if (this.connectionTimer) { + clearTimeout(this.connectionTimer); + this.connectionTimer = null; } - if (self.currentStatus.connected) { + if (this.currentStatus.connected) { // already connected. do nothing. this probably shouldn't happen. return; } // update status - self.currentStatus.status = 'connected'; - self.currentStatus.connected = true; - self.currentStatus.retryCount = 0; - self.statusChanged(); + this.currentStatus.status = 'connected'; + this.currentStatus.connected = true; + this.currentStatus.retryCount = 0; + this.statusChanged(); // fire resets. This must come after status change so that clients // can call send from within a reset callback. - _.each(self.eventCallbacks.reset, function(callback) { + _.each(this.eventCallbacks.reset, callback => { callback(); }); } _cleanup(maybeError) { - var self = this; - - self._clearConnectionAndHeartbeatTimers(); - if (self.socket) { - self.socket.onmessage = self.socket.onclose = () => {}; - self.socket.onerror = self.socket.onheartbeat = () => {}; - self.socket.close(); - self.socket = null; + this._clearConnectionAndHeartbeatTimers(); + if (this.socket) { + this.socket.onmessage = this.socket.onclose = this.socket.onerror = this.socket.onheartbeat = () => {}; + this.socket.close(); + this.socket = null; } - _.each(self.eventCallbacks.disconnect, function(callback) { + _.each(this.eventCallbacks.disconnect, callback => { callback(maybeError); }); } _clearConnectionAndHeartbeatTimers() { - var self = this; - if (self.connectionTimer) { - clearTimeout(self.connectionTimer); - self.connectionTimer = null; + if (this.connectionTimer) { + clearTimeout(this.connectionTimer); + this.connectionTimer = null; } - if (self.heartbeatTimer) { - clearTimeout(self.heartbeatTimer); - self.heartbeatTimer = null; + if (this.heartbeatTimer) { + clearTimeout(this.heartbeatTimer); + this.heartbeatTimer = null; } } _heartbeat_timeout() { - var self = this; Meteor._debug('Connection timeout. No sockjs heartbeat received.'); - self._lostConnection(new DDP.ConnectionError('Heartbeat timed out')); + this._lostConnection(new DDP.ConnectionError('Heartbeat timed out')); } _heartbeat_received() { - var self = this; // If we've already permanently shut down this stream, the timeout is // already cleared, and we don't need to set it again. - if (self._forcedToDisconnect) return; - if (self.heartbeatTimer) clearTimeout(self.heartbeatTimer); - self.heartbeatTimer = setTimeout( - _.bind(self._heartbeat_timeout, self), - self.HEARTBEAT_TIMEOUT + if (this._forcedToDisconnect) return; + if (this.heartbeatTimer) clearTimeout(this.heartbeatTimer); + this.heartbeatTimer = setTimeout( + _.bind(this._heartbeat_timeout, this), + this.HEARTBEAT_TIMEOUT ); } @@ -171,35 +161,34 @@ class ClientStream extends StreamClientCommon { } _launchConnection() { - var self = this; - self._cleanup(); // cleanup the old socket, if there was one. + this._cleanup(); // cleanup the old socket, if there was one. var options = _.extend( { - protocols_whitelist: self._sockjsProtocolsWhitelist() + protocols_whitelist: this._sockjsProtocolsWhitelist() }, - self.options._sockjsOptions + this.options._sockjsOptions ); // Convert raw URL to SockJS URL each time we open a connection, so that we // can connect to random hostnames and get around browser per-host // connection limits. - self.socket = new SockJS(toSockjsUrl(self.rawUrl), undefined, options); - self.socket.onopen = function(data) { - self._connected(); + this.socket = new SockJS(toSockjsUrl(this.rawUrl), undefined, options); + this.socket.onopen = data => { + this._connected(); }; - self.socket.onmessage = function(data) { - self._heartbeat_received(); + this.socket.onmessage = data => { + this._heartbeat_received(); - if (self.currentStatus.connected) - _.each(self.eventCallbacks.message, function(callback) { + if (this.currentStatus.connected) + _.each(this.eventCallbacks.message, callback => { callback(data.data); }); }; - self.socket.onclose = function() { - self._lostConnection(); + this.socket.onclose = () => { + this._lostConnection(); }; - self.socket.onerror = function() { + this.socket.onerror = () => { // XXX is this ever called? Meteor._debug( 'stream error', @@ -208,14 +197,14 @@ class ClientStream extends StreamClientCommon { ); }; - self.socket.onheartbeat = function() { - self._heartbeat_received(); + this.socket.onheartbeat = () => { + this._heartbeat_received(); }; - if (self.connectionTimer) clearTimeout(self.connectionTimer); - self.connectionTimer = setTimeout(function() { - self._lostConnection(new DDP.ConnectionError('DDP connection timed out')); - }, self.CONNECT_TIMEOUT); + if (this.connectionTimer) clearTimeout(this.connectionTimer); + this.connectionTimer = setTimeout(() => { + this._lostConnection(new DDP.ConnectionError('DDP connection timed out')); + }, this.CONNECT_TIMEOUT); } } From 5da802d642fda909993bef2892f490ff191ccd5c Mon Sep 17 00:00:00 2001 From: Sashko Stubailo Date: Wed, 8 Nov 2017 14:58:02 -0800 Subject: [PATCH 0082/1355] Remove underscore from one file --- .../ddp-client/client/stream_client_sockjs.js | 33 ++++++++----------- 1 file changed, 14 insertions(+), 19 deletions(-) diff --git a/packages/ddp-client/client/stream_client_sockjs.js b/packages/ddp-client/client/stream_client_sockjs.js index 689a294c29..b017e62e19 100644 --- a/packages/ddp-client/client/stream_client_sockjs.js +++ b/packages/ddp-client/client/stream_client_sockjs.js @@ -1,4 +1,3 @@ -import { _ } from 'meteor/underscore'; import { Meteor } from 'meteor/meteor'; // This populates a global variable @@ -15,12 +14,10 @@ class ClientStream extends StreamClientCommon { constructor(url, options) { super(); - this.options = _.extend( - { - retry: true - }, - options - ); + this.options = { + retry: true, + ...options + }; this._initCommon(this.options); @@ -47,7 +44,7 @@ class ClientStream extends StreamClientCommon { if (typeof window !== 'undefined' && window.addEventListener) window.addEventListener( 'online', - _.bind(this._online, this), + this._online.bind(this), false /* useCapture. make FF3.6 happy. */ ); @@ -88,7 +85,7 @@ class ClientStream extends StreamClientCommon { // fire resets. This must come after status change so that clients // can call send from within a reset callback. - _.each(this.eventCallbacks.reset, callback => { + this.eventCallbacks.reset.forEach(callback => { callback(); }); } @@ -101,7 +98,7 @@ class ClientStream extends StreamClientCommon { this.socket = null; } - _.each(this.eventCallbacks.disconnect, callback => { + this.eventCallbacks.disconnect.forEach(callback => { callback(maybeError); }); } @@ -128,7 +125,7 @@ class ClientStream extends StreamClientCommon { if (this._forcedToDisconnect) return; if (this.heartbeatTimer) clearTimeout(this.heartbeatTimer); this.heartbeatTimer = setTimeout( - _.bind(this._heartbeat_timeout, this), + this._heartbeat_timeout.bind(this), this.HEARTBEAT_TIMEOUT ); } @@ -163,12 +160,10 @@ class ClientStream extends StreamClientCommon { _launchConnection() { this._cleanup(); // cleanup the old socket, if there was one. - var options = _.extend( - { - protocols_whitelist: this._sockjsProtocolsWhitelist() - }, - this.options._sockjsOptions - ); + var options = { + protocols_whitelist: this._sockjsProtocolsWhitelist(), + ...this.options._sockjsOptions + }; // Convert raw URL to SockJS URL each time we open a connection, so that we // can connect to random hostnames and get around browser per-host @@ -181,7 +176,7 @@ class ClientStream extends StreamClientCommon { this._heartbeat_received(); if (this.currentStatus.connected) - _.each(this.eventCallbacks.message, callback => { + this.eventCallbacks.message.forEach(callback => { callback(data.data); }); }; @@ -192,7 +187,7 @@ class ClientStream extends StreamClientCommon { // XXX is this ever called? Meteor._debug( 'stream error', - _.toArray(arguments), + Array.prototype.slice.call(arguments), new Date().toDateString() ); }; From 6a0b94340c1783b2cc559ed101c41e806617c835 Mon Sep 17 00:00:00 2001 From: Sashko Stubailo Date: Wed, 8 Nov 2017 14:59:49 -0800 Subject: [PATCH 0083/1355] Remove underscore and self=this from stream_client_common --- .../ddp-client/common/stream_client_common.js | 109 ++++++++---------- 1 file changed, 48 insertions(+), 61 deletions(-) diff --git a/packages/ddp-client/common/stream_client_common.js b/packages/ddp-client/common/stream_client_common.js index 2d76203b9a..9f120687c7 100644 --- a/packages/ddp-client/common/stream_client_common.js +++ b/packages/ddp-client/common/stream_client_common.js @@ -1,6 +1,5 @@ import { Random } from 'meteor/random'; import { Meteor } from 'meteor/meteor'; -import { _ } from 'meteor/underscore'; import { Tracker } from 'meteor/tracker'; import { Retry } from 'meteor/retry'; @@ -9,116 +8,109 @@ import { DDP, LivedataTest } from './namespace.js'; export default class StreamClientCommon { // Register for callbacks. on(name, callback) { - var self = this; - if (name !== 'message' && name !== 'reset' && name !== 'disconnect') throw new Error('unknown event type: ' + name); - if (!self.eventCallbacks[name]) self.eventCallbacks[name] = []; - self.eventCallbacks[name].push(callback); + if (!this.eventCallbacks[name]) this.eventCallbacks[name] = []; + this.eventCallbacks[name].push(callback); } _initCommon(options) { - var self = this; options = options || {}; //// Constants // how long to wait until we declare the connection attempt // failed. - self.CONNECT_TIMEOUT = options.connectTimeoutMs || 10000; + this.CONNECT_TIMEOUT = options.connectTimeoutMs || 10000; - self.eventCallbacks = {}; // name -> [callback] + this.eventCallbacks = {}; // name -> [callback] - self._forcedToDisconnect = false; + this._forcedToDisconnect = false; //// Reactive status - self.currentStatus = { + this.currentStatus = { status: 'connecting', connected: false, retryCount: 0 }; - self.statusListeners = + this.statusListeners = typeof Tracker !== 'undefined' && new Tracker.Dependency(); - self.statusChanged = function() { - if (self.statusListeners) self.statusListeners.changed(); + this.statusChanged = () => { + if (this.statusListeners) this.statusListeners.changed(); }; //// Retry logic - self._retry = new Retry(); - self.connectionTimer = null; + this._retry = new Retry(); + this.connectionTimer = null; } // Trigger a reconnect. reconnect(options) { - var self = this; options = options || {}; if (options.url) { - self._changeUrl(options.url); + this._changeUrl(options.url); } if (options._sockjsOptions) { - self.options._sockjsOptions = options._sockjsOptions; + this.options._sockjsOptions = options._sockjsOptions; } - if (self.currentStatus.connected) { + if (this.currentStatus.connected) { if (options._force || options.url) { // force reconnect. - self._lostConnection(new DDP.ForcedReconnectError()); + this._lostConnection(new DDP.ForcedReconnectError()); } // else, noop. return; } // if we're mid-connection, stop it. - if (self.currentStatus.status === 'connecting') { + if (this.currentStatus.status === 'connecting') { // Pretend it's a clean close. - self._lostConnection(); + this._lostConnection(); } - self._retry.clear(); - self.currentStatus.retryCount -= 1; // don't count manual retries - self._retryNow(); + this._retry.clear(); + this.currentStatus.retryCount -= 1; // don't count manual retries + this._retryNow(); } disconnect(options) { - var self = this; options = options || {}; // Failed is permanent. If we're failed, don't let people go back // online by calling 'disconnect' then 'reconnect'. - if (self._forcedToDisconnect) return; + if (this._forcedToDisconnect) return; // If _permanent is set, permanently disconnect a stream. Once a stream // is forced to disconnect, it can never reconnect. This is for // error cases such as ddp version mismatch, where trying again // won't fix the problem. if (options._permanent) { - self._forcedToDisconnect = true; + this._forcedToDisconnect = true; } - self._cleanup(); - self._retry.clear(); + this._cleanup(); + this._retry.clear(); - self.currentStatus = { + this.currentStatus = { status: options._permanent ? 'failed' : 'offline', connected: false, retryCount: 0 }; if (options._permanent && options._error) - self.currentStatus.reason = options._error; + this.currentStatus.reason = options._error; - self.statusChanged(); + this.statusChanged(); } // maybeError is set unless it's a clean protocol-level close. _lostConnection(maybeError) { - var self = this; - - self._cleanup(maybeError); - self._retryLater(maybeError); // sets status. no need to do it here. + this._cleanup(maybeError); + this._retryLater(maybeError); // sets status. no need to do it here. } // fired when we detect that we've gone online. try to reconnect @@ -129,46 +121,41 @@ export default class StreamClientCommon { } _retryLater(maybeError) { - var self = this; - var timeout = 0; if ( - self.options.retry || + this.options.retry || (maybeError && maybeError.errorType === 'DDP.ForcedReconnectError') ) { - timeout = self._retry.retryLater( - self.currentStatus.retryCount, - _.bind(self._retryNow, self) + timeout = this._retry.retryLater( + this.currentStatus.retryCount, + this._retryNow.bind(this) ); - self.currentStatus.status = 'waiting'; - self.currentStatus.retryTime = new Date().getTime() + timeout; + this.currentStatus.status = 'waiting'; + this.currentStatus.retryTime = new Date().getTime() + timeout; } else { - self.currentStatus.status = 'failed'; - delete self.currentStatus.retryTime; + this.currentStatus.status = 'failed'; + delete this.currentStatus.retryTime; } - self.currentStatus.connected = false; - self.statusChanged(); + this.currentStatus.connected = false; + this.statusChanged(); } _retryNow() { - var self = this; + if (this._forcedToDisconnect) return; - if (self._forcedToDisconnect) return; + this.currentStatus.retryCount += 1; + this.currentStatus.status = 'connecting'; + this.currentStatus.connected = false; + delete this.currentStatus.retryTime; + this.statusChanged(); - self.currentStatus.retryCount += 1; - self.currentStatus.status = 'connecting'; - self.currentStatus.connected = false; - delete self.currentStatus.retryTime; - self.statusChanged(); - - self._launchConnection(); + this._launchConnection(); } // Get current status. Reactive. status() { - var self = this; - if (self.statusListeners) self.statusListeners.depend(); - return self.currentStatus; + if (this.statusListeners) this.statusListeners.depend(); + return this.currentStatus; } } From 8fb63d1b868f639bc06b4164cf0cac50fee45eac Mon Sep 17 00:00:00 2001 From: Sashko Stubailo Date: Wed, 8 Nov 2017 15:01:24 -0800 Subject: [PATCH 0084/1355] Clean up urlHelpers --- packages/ddp-client/common/urlHelpers.js | 15 +++++++-------- 1 file changed, 7 insertions(+), 8 deletions(-) diff --git a/packages/ddp-client/common/urlHelpers.js b/packages/ddp-client/common/urlHelpers.js index 5aa2243161..7722eef419 100644 --- a/packages/ddp-client/common/urlHelpers.js +++ b/packages/ddp-client/common/urlHelpers.js @@ -2,17 +2,18 @@ import { LivedataTest } from './namespace'; import { Random } from 'meteor/random'; // XXX from Underscore.String (http://epeli.github.com/underscore.string/) -var startsWith = function(str, starts) { +function startsWith(str, starts) { return ( str.length >= starts.length && str.substring(0, starts.length) === starts ); -}; -var endsWith = function(str, ends) { +} + +function endsWith(str, ends) { return ( str.length >= ends.length && str.substring(str.length - ends.length) === ends ); -}; +} // @param url {String} URL to Meteor app, eg: // "/" or "madewith.meteor.com" or "https://foo.meteor.com" @@ -21,7 +22,7 @@ var endsWith = function(str, ends) { // for scheme "http" and subPath "sockjs" // "http://subdomain.meteor.com/sockjs" or "/sockjs" // or "https://ddp--1234-foo.meteor.com/sockjs" -var translateUrl = function(url, newSchemeBase, subPath) { +function translateUrl(url, newSchemeBase, subPath) { if (!newSchemeBase) { newSchemeBase = 'http'; } @@ -70,7 +71,7 @@ var translateUrl = function(url, newSchemeBase, subPath) { if (endsWith(url, '/')) return url + subPath; else return url + '/' + subPath; -}; +} export function toSockjsUrl(url) { return translateUrl(url, 'http', 'sockjs'); @@ -80,5 +81,3 @@ export function toWebsocketUrl(url) { var ret = translateUrl(url, 'ws', 'websocket'); return ret; } - -LivedataTest.toSockjsUrl = toSockjsUrl; From 45928b2cb2219c73d33eedf091ab8493aa8a6946 Mon Sep 17 00:00:00 2001 From: Sashko Stubailo Date: Wed, 8 Nov 2017 15:10:46 -0800 Subject: [PATCH 0085/1355] No more self=this --- .../ddp-client/server/stream_client_nodejs.js | 121 ++++++++---------- 1 file changed, 55 insertions(+), 66 deletions(-) diff --git a/packages/ddp-client/server/stream_client_nodejs.js b/packages/ddp-client/server/stream_client_nodejs.js index 3efe520ba0..728930f37d 100644 --- a/packages/ddp-client/server/stream_client_nodejs.js +++ b/packages/ddp-client/server/stream_client_nodejs.js @@ -20,113 +20,103 @@ class ClientStream extends StreamClientCommon { constructor(endpoint, options) { super(); - const self = this; options = options || {}; - self.options = Object.assign( + this.options = Object.assign( { retry: true }, options ); - self.client = null; // created in _launchConnection - self.endpoint = endpoint; + this.client = null; // created in _launchConnection + this.endpoint = endpoint; - self.headers = self.options.headers || {}; - self.npmFayeOptions = self.options.npmFayeOptions || {}; + this.headers = this.options.headers || {}; + this.npmFayeOptions = this.options.npmFayeOptions || {}; - self._initCommon(self.options); + this._initCommon(this.options); //// Kickoff! - self._launchConnection(); + this._launchConnection(); } // data is a utf8 string. Data sent while not connected is dropped on // the floor, and it is up the user of this API to retransmit lost // messages on 'reset' send(data) { - var self = this; - if (self.currentStatus.connected) { - self.client.send(data); + if (this.currentStatus.connected) { + this.client.send(data); } } // Changes where this connection points _changeUrl(url) { - var self = this; - self.endpoint = url; + this.endpoint = url; } _onConnect(client) { - var self = this; - - if (client !== self.client) { + if (client !== this.client) { // This connection is not from the last call to _launchConnection. // But _launchConnection calls _cleanup which closes previous connections. // It's our belief that this stifles future 'open' events, but maybe // we are wrong? - throw new Error('Got open from inactive client ' + !!self.client); + throw new Error('Got open from inactive client ' + !!this.client); } - if (self._forcedToDisconnect) { + if (this._forcedToDisconnect) { // We were asked to disconnect between trying to open the connection and // actually opening it. Let's just pretend this never happened. - self.client.close(); - self.client = null; + this.client.close(); + this.client = null; return; } - if (self.currentStatus.connected) { + if (this.currentStatus.connected) { // We already have a connection. It must have been the case that we // started two parallel connection attempts (because we wanted to // 'reconnect now' on a hanging connection and we had no way to cancel the // connection attempt.) But this shouldn't happen (similarly to the client - // !== self.client check above). + // !== this.client check above). throw new Error('Two parallel connections?'); } - self._clearConnectionTimer(); + this._clearConnectionTimer(); // update status - self.currentStatus.status = 'connected'; - self.currentStatus.connected = true; - self.currentStatus.retryCount = 0; - self.statusChanged(); + this.currentStatus.status = 'connected'; + this.currentStatus.connected = true; + this.currentStatus.retryCount = 0; + this.statusChanged(); // fire resets. This must come after status change so that clients // can call send from within a reset callback. - _.each(self.eventCallbacks.reset, function(callback) { + _.each(this.eventCallbacks.reset, callback => { callback(); }); } _cleanup(maybeError) { - var self = this; - - self._clearConnectionTimer(); - if (self.client) { - var client = self.client; - self.client = null; + this._clearConnectionTimer(); + if (this.client) { + var client = this.client; + this.client = null; client.close(); - _.each(self.eventCallbacks.disconnect, function(callback) { + _.each(this.eventCallbacks.disconnect, callback => { callback(maybeError); }); } } _clearConnectionTimer() { - var self = this; - - if (self.connectionTimer) { - clearTimeout(self.connectionTimer); - self.connectionTimer = null; + if (this.connectionTimer) { + clearTimeout(this.connectionTimer); + this.connectionTimer = null; } } _getProxyUrl(targetUrl) { - var self = this; // Similar to code in tools/http-helpers.js. var proxy = process.env.HTTP_PROXY || process.env.http_proxy || null; // if we're going to a secure url, try the https_proxy env variable first. @@ -137,8 +127,7 @@ class ClientStream extends StreamClientCommon { } _launchConnection() { - var self = this; - self._cleanup(); // cleanup the old socket, if there was one. + this._cleanup(); // cleanup the old socket, if there was one. // Since server-to-server DDP is still an experimental feature, we only // require the module if we actually create a server-to-server @@ -146,13 +135,13 @@ class ClientStream extends StreamClientCommon { var FayeWebSocket = Npm.require('faye-websocket'); var deflate = Npm.require('permessage-deflate'); - var targetUrl = toWebsocketUrl(self.endpoint); + var targetUrl = toWebsocketUrl(this.endpoint); var fayeOptions = { - headers: self.headers, + headers: this.headers, extensions: [deflate] }; - fayeOptions = _.extend(fayeOptions, self.npmFayeOptions); - var proxyUrl = self._getProxyUrl(targetUrl); + fayeOptions = _.extend(fayeOptions, this.npmFayeOptions); + var proxyUrl = this._getProxyUrl(targetUrl); if (proxyUrl) { fayeOptions.proxy = { origin: proxyUrl }; } @@ -164,53 +153,53 @@ class ClientStream extends StreamClientCommon { // Faye is erroneous or not. So for now, we don't specify protocols. var subprotocols = []; - var client = (self.client = new FayeWebSocket.Client( + var client = (this.client = new FayeWebSocket.Client( targetUrl, subprotocols, fayeOptions )); - self._clearConnectionTimer(); - self.connectionTimer = Meteor.setTimeout(function() { - self._lostConnection(new DDP.ConnectionError('DDP connection timed out')); - }, self.CONNECT_TIMEOUT); + this._clearConnectionTimer(); + this.connectionTimer = Meteor.setTimeout(() => { + this._lostConnection(new DDP.ConnectionError('DDP connection timed out')); + }, this.CONNECT_TIMEOUT); - self.client.on( + this.client.on( 'open', - Meteor.bindEnvironment(function() { - return self._onConnect(client); + Meteor.bindEnvironment(() => { + return this._onConnect(client); }, 'stream connect callback') ); - var clientOnIfCurrent = function(event, description, f) { - self.client.on( + var clientOnIfCurrent = (event, description, f) => { + this.client.on( event, - Meteor.bindEnvironment(function() { + Meteor.bindEnvironment(() => { // Ignore events from any connection we've already cleaned up. - if (client !== self.client) return; + if (client !== this.client) return; f.apply(this, arguments); }, description) ); }; - clientOnIfCurrent('error', 'stream error callback', function(error) { - if (!self.options._dontPrintErrors) + clientOnIfCurrent('error', 'stream error callback', error => { + if (!this.options._dontPrintErrors) Meteor._debug('stream error', error.message); // Faye's 'error' object is not a JS error (and among other things, // doesn't stringify well). Convert it to one. - self._lostConnection(new DDP.ConnectionError(error.message)); + this._lostConnection(new DDP.ConnectionError(error.message)); }); - clientOnIfCurrent('close', 'stream close callback', function() { - self._lostConnection(); + clientOnIfCurrent('close', 'stream close callback', () => { + this._lostConnection(); }); - clientOnIfCurrent('message', 'stream message callback', function(message) { + clientOnIfCurrent('message', 'stream message callback', message => { // Ignore binary frames, where message.data is a Buffer if (typeof message.data !== 'string') return; - _.each(self.eventCallbacks.message, function(callback) { + _.each(this.eventCallbacks.message, callback => { callback(message.data); }); }); From 2633d962ca36f838d5c03f33aab04c53e6397c3e Mon Sep 17 00:00:00 2001 From: Sashko Stubailo Date: Wed, 8 Nov 2017 15:37:54 -0800 Subject: [PATCH 0086/1355] Factor out method invoker --- .../ddp-client/client/stream_client_sockjs.js | 6 +- packages/ddp-client/common/MethodInvoker.js | 92 ++++++++++++++++++ .../ddp-client/common/livedata_connection.js | 94 +------------------ .../ddp-client/common/stream_client_common.js | 8 ++ .../ddp-client/server/stream_client_nodejs.js | 6 +- 5 files changed, 107 insertions(+), 99 deletions(-) create mode 100644 packages/ddp-client/common/MethodInvoker.js diff --git a/packages/ddp-client/client/stream_client_sockjs.js b/packages/ddp-client/client/stream_client_sockjs.js index b017e62e19..3b97ab9b80 100644 --- a/packages/ddp-client/client/stream_client_sockjs.js +++ b/packages/ddp-client/client/stream_client_sockjs.js @@ -85,7 +85,7 @@ class ClientStream extends StreamClientCommon { // fire resets. This must come after status change so that clients // can call send from within a reset callback. - this.eventCallbacks.reset.forEach(callback => { + this.forEachCallback('reset', callback => { callback(); }); } @@ -98,7 +98,7 @@ class ClientStream extends StreamClientCommon { this.socket = null; } - this.eventCallbacks.disconnect.forEach(callback => { + this.forEachCallback('disconnect', callback => { callback(maybeError); }); } @@ -176,7 +176,7 @@ class ClientStream extends StreamClientCommon { this._heartbeat_received(); if (this.currentStatus.connected) - this.eventCallbacks.message.forEach(callback => { + this.forEachCallback('message', callback => { callback(data.data); }); }; diff --git a/packages/ddp-client/common/MethodInvoker.js b/packages/ddp-client/common/MethodInvoker.js new file mode 100644 index 0000000000..5d19a098a8 --- /dev/null +++ b/packages/ddp-client/common/MethodInvoker.js @@ -0,0 +1,92 @@ +// A MethodInvoker manages sending a method to the server and calling the user's +// callbacks. On construction, it registers itself in the connection's +// _methodInvokers map; it removes itself once the method is fully finished and +// the callback is invoked. This occurs when it has both received a result, +// and the data written by it is fully visible. +export default class MethodInvoker { + constructor(options) { + var self = this; + + // Public (within this file) fields. + self.methodId = options.methodId; + self.sentMessage = false; + + self._callback = options.callback; + self._connection = options.connection; + self._message = options.message; + self._onResultReceived = options.onResultReceived || function() {}; + self._wait = options.wait; + self.noRetry = options.noRetry; + self._methodResult = null; + self._dataVisible = false; + + // Register with the connection. + self._connection._methodInvokers[self.methodId] = self; + } + // Sends the method message to the server. May be called additional times if + // we lose the connection and reconnect before receiving a result. + sendMessage() { + var self = this; + // This function is called before sending a method (including resending on + // reconnect). We should only (re)send methods where we don't already have a + // result! + if (self.gotResult()) + throw new Error('sendingMethod is called on method with result'); + + // If we're re-sending it, it doesn't matter if data was written the first + // time. + self._dataVisible = false; + self.sentMessage = true; + + // If this is a wait method, make all data messages be buffered until it is + // done. + if (self._wait) + self._connection._methodsBlockingQuiescence[self.methodId] = true; + + // Actually send the message. + self._connection._send(self._message); + } + // Invoke the callback, if we have both a result and know that all data has + // been written to the local cache. + _maybeInvokeCallback() { + var self = this; + if (self._methodResult && self._dataVisible) { + // Call the callback. (This won't throw: the callback was wrapped with + // bindEnvironment.) + self._callback(self._methodResult[0], self._methodResult[1]); + + // Forget about this method. + delete self._connection._methodInvokers[self.methodId]; + + // Let the connection know that this method is finished, so it can try to + // move on to the next block of methods. + self._connection._outstandingMethodFinished(); + } + } + // Call with the result of the method from the server. Only may be called + // once; once it is called, you should not call sendMessage again. + // If the user provided an onResultReceived callback, call it immediately. + // Then invoke the main callback if data is also visible. + receiveResult(err, result) { + var self = this; + if (self.gotResult()) + throw new Error('Methods should only receive results once'); + self._methodResult = [err, result]; + self._onResultReceived(err, result); + self._maybeInvokeCallback(); + } + // Call this when all data written by the method is visible. This means that + // the method has returns its "data is done" message *AND* all server + // documents that are buffered at that time have been written to the local + // cache. Invokes the main callback if the result has been received. + dataVisible() { + var self = this; + self._dataVisible = true; + self._maybeInvokeCallback(); + } + // True if receiveResult has been called. + gotResult() { + var self = this; + return !!self._methodResult; + } +} diff --git a/packages/ddp-client/common/livedata_connection.js b/packages/ddp-client/common/livedata_connection.js index 4b9a3056c6..57e48df1c3 100644 --- a/packages/ddp-client/common/livedata_connection.js +++ b/packages/ddp-client/common/livedata_connection.js @@ -13,6 +13,7 @@ if (Meteor.isServer) { } import { DDP, LivedataTest } from './namespace.js'; +import MethodInvoker from './MethodInvoker'; class MongoIDMap extends IdMap { constructor() { @@ -410,99 +411,6 @@ var Connection = function(url, options) { } }; -// A MethodInvoker manages sending a method to the server and calling the user's -// callbacks. On construction, it registers itself in the connection's -// _methodInvokers map; it removes itself once the method is fully finished and -// the callback is invoked. This occurs when it has both received a result, -// and the data written by it is fully visible. -var MethodInvoker = function(options) { - var self = this; - - // Public (within this file) fields. - self.methodId = options.methodId; - self.sentMessage = false; - - self._callback = options.callback; - self._connection = options.connection; - self._message = options.message; - self._onResultReceived = options.onResultReceived || function() {}; - self._wait = options.wait; - self.noRetry = options.noRetry; - self._methodResult = null; - self._dataVisible = false; - - // Register with the connection. - self._connection._methodInvokers[self.methodId] = self; -}; -_.extend(MethodInvoker.prototype, { - // Sends the method message to the server. May be called additional times if - // we lose the connection and reconnect before receiving a result. - sendMessage: function() { - var self = this; - // This function is called before sending a method (including resending on - // reconnect). We should only (re)send methods where we don't already have a - // result! - if (self.gotResult()) - throw new Error('sendingMethod is called on method with result'); - - // If we're re-sending it, it doesn't matter if data was written the first - // time. - self._dataVisible = false; - self.sentMessage = true; - - // If this is a wait method, make all data messages be buffered until it is - // done. - if (self._wait) - self._connection._methodsBlockingQuiescence[self.methodId] = true; - - // Actually send the message. - self._connection._send(self._message); - }, - // Invoke the callback, if we have both a result and know that all data has - // been written to the local cache. - _maybeInvokeCallback: function() { - var self = this; - if (self._methodResult && self._dataVisible) { - // Call the callback. (This won't throw: the callback was wrapped with - // bindEnvironment.) - self._callback(self._methodResult[0], self._methodResult[1]); - - // Forget about this method. - delete self._connection._methodInvokers[self.methodId]; - - // Let the connection know that this method is finished, so it can try to - // move on to the next block of methods. - self._connection._outstandingMethodFinished(); - } - }, - // Call with the result of the method from the server. Only may be called - // once; once it is called, you should not call sendMessage again. - // If the user provided an onResultReceived callback, call it immediately. - // Then invoke the main callback if data is also visible. - receiveResult: function(err, result) { - var self = this; - if (self.gotResult()) - throw new Error('Methods should only receive results once'); - self._methodResult = [err, result]; - self._onResultReceived(err, result); - self._maybeInvokeCallback(); - }, - // Call this when all data written by the method is visible. This means that - // the method has returns its "data is done" message *AND* all server - // documents that are buffered at that time have been written to the local - // cache. Invokes the main callback if the result has been received. - dataVisible: function() { - var self = this; - self._dataVisible = true; - self._maybeInvokeCallback(); - }, - // True if receiveResult has been called. - gotResult: function() { - var self = this; - return !!self._methodResult; - } -}); - _.extend(Connection.prototype, { // 'name' is the name of the data on the wire that should go in the // store. 'wrappedStore' should be an object with methods beginUpdate, update, diff --git a/packages/ddp-client/common/stream_client_common.js b/packages/ddp-client/common/stream_client_common.js index 9f120687c7..0dd9c98611 100644 --- a/packages/ddp-client/common/stream_client_common.js +++ b/packages/ddp-client/common/stream_client_common.js @@ -15,6 +15,14 @@ export default class StreamClientCommon { this.eventCallbacks[name].push(callback); } + forEachCallback(name, cb) { + if (!this.eventCallbacks[name] || !this.eventCallbacks[name].length) { + return; + } + + this.eventCallbacks[name].forEach(cb); + } + _initCommon(options) { options = options || {}; diff --git a/packages/ddp-client/server/stream_client_nodejs.js b/packages/ddp-client/server/stream_client_nodejs.js index 728930f37d..8bf1ba056c 100644 --- a/packages/ddp-client/server/stream_client_nodejs.js +++ b/packages/ddp-client/server/stream_client_nodejs.js @@ -174,10 +174,10 @@ class ClientStream extends StreamClientCommon { var clientOnIfCurrent = (event, description, f) => { this.client.on( event, - Meteor.bindEnvironment(() => { + Meteor.bindEnvironment((...args) => { // Ignore events from any connection we've already cleaned up. if (client !== this.client) return; - f.apply(this, arguments); + f.apply(this, args); }, description) ); }; @@ -199,7 +199,7 @@ class ClientStream extends StreamClientCommon { // Ignore binary frames, where message.data is a Buffer if (typeof message.data !== 'string') return; - _.each(this.eventCallbacks.message, callback => { + this.forEachCallback('message', callback => { callback(message.data); }); }); From 8bbfd531c1cc9403e95aefb8c72cc0591c2ced3e Mon Sep 17 00:00:00 2001 From: Sashko Stubailo Date: Wed, 8 Nov 2017 15:46:27 -0800 Subject: [PATCH 0087/1355] Make Connection a real class --- .../ddp-client/common/livedata_connection.js | 911 +++++++++--------- 1 file changed, 456 insertions(+), 455 deletions(-) diff --git a/packages/ddp-client/common/livedata_connection.js b/packages/ddp-client/common/livedata_connection.js index 57e48df1c3..efa68a06d0 100644 --- a/packages/ddp-client/common/livedata_connection.js +++ b/packages/ddp-client/common/livedata_connection.js @@ -41,381 +41,382 @@ class MongoIDMap extends IdMap { // fails. We should have better usability in the latter case (while // still transparently reconnecting if it's just a transient failure // or the server migrating us). -var Connection = function(url, options) { - var self = this; - options = _.extend( - { - onConnected: function() {}, - onDDPVersionNegotiationFailure: function(description) { - Meteor._debug(description); +class Connection { + constructor(url, options) { + var self = this; + options = _.extend( + { + onConnected() {}, + onDDPVersionNegotiationFailure(description) { + Meteor._debug(description); + }, + heartbeatInterval: 17500, + heartbeatTimeout: 15000, + npmFayeOptions: {}, + // These options are only for testing. + reloadWithOutstanding: false, + supportedDDPVersions: DDPCommon.SUPPORTED_DDP_VERSIONS, + retry: true, + respondToPings: true, + // When updates are coming within this ms interval, batch them together. + bufferedWritesInterval: 5, + // Flush buffers immediately if writes are happening continuously for more than this many ms. + bufferedWritesMaxAge: 500 }, - heartbeatInterval: 17500, - heartbeatTimeout: 15000, - npmFayeOptions: {}, - // These options are only for testing. - reloadWithOutstanding: false, - supportedDDPVersions: DDPCommon.SUPPORTED_DDP_VERSIONS, - retry: true, - respondToPings: true, - // When updates are coming within this ms interval, batch them together. - bufferedWritesInterval: 5, - // Flush buffers immediately if writes are happening continuously for more than this many ms. - bufferedWritesMaxAge: 500 - }, - options - ); + options + ); - // If set, called when we reconnect, queuing method calls _before_ the - // existing outstanding ones. - // NOTE: This feature has been preserved for backwards compatibility. The - // preferred method of setting a callback on reconnect is to use - // DDP.onReconnect. - self.onReconnect = null; + // If set, called when we reconnect, queuing method calls _before_ the + // existing outstanding ones. + // NOTE: This feature has been preserved for backwards compatibility. The + // preferred method of setting a callback on reconnect is to use + // DDP.onReconnect. + self.onReconnect = null; - // as a test hook, allow passing a stream instead of a url. - if (typeof url === 'object') { - self._stream = url; - } else { - self._stream = new LivedataTest.ClientStream(url, { - retry: options.retry, - headers: options.headers, - _sockjsOptions: options._sockjsOptions, - // Used to keep some tests quiet, or for other cases in which - // the right thing to do with connection errors is to silently - // fail (e.g. sending package usage stats). At some point we - // should have a real API for handling client-stream-level - // errors. - _dontPrintErrors: options._dontPrintErrors, - connectTimeoutMs: options.connectTimeoutMs, - npmFayeOptions: options.npmFayeOptions - }); - } - - self._lastSessionId = null; - self._versionSuggestion = null; // The last proposed DDP version. - self._version = null; // The DDP version agreed on by client and server. - self._stores = {}; // name -> object with methods - self._methodHandlers = {}; // name -> func - self._nextMethodId = 1; - self._supportedDDPVersions = options.supportedDDPVersions; - - self._heartbeatInterval = options.heartbeatInterval; - self._heartbeatTimeout = options.heartbeatTimeout; - - // Tracks methods which the user has tried to call but which have not yet - // called their user callback (ie, they are waiting on their result or for all - // of their writes to be written to the local cache). Map from method ID to - // MethodInvoker object. - self._methodInvokers = {}; - - // Tracks methods which the user has called but whose result messages have not - // arrived yet. - // - // _outstandingMethodBlocks is an array of blocks of methods. Each block - // represents a set of methods that can run at the same time. The first block - // represents the methods which are currently in flight; subsequent blocks - // must wait for previous blocks to be fully finished before they can be sent - // to the server. - // - // Each block is an object with the following fields: - // - methods: a list of MethodInvoker objects - // - wait: a boolean; if true, this block had a single method invoked with - // the "wait" option - // - // There will never be adjacent blocks with wait=false, because the only thing - // that makes methods need to be serialized is a wait method. - // - // Methods are removed from the first block when their "result" is - // received. The entire first block is only removed when all of the in-flight - // methods have received their results (so the "methods" list is empty) *AND* - // all of the data written by those methods are visible in the local cache. So - // it is possible for the first block's methods list to be empty, if we are - // still waiting for some objects to quiesce. - // - // Example: - // _outstandingMethodBlocks = [ - // {wait: false, methods: []}, - // {wait: true, methods: []}, - // {wait: false, methods: [, - // ]}] - // This means that there were some methods which were sent to the server and - // which have returned their results, but some of the data written by - // the methods may not be visible in the local cache. Once all that data is - // visible, we will send a 'login' method. Once the login method has returned - // and all the data is visible (including re-running subs if userId changes), - // we will send the 'foo' and 'bar' methods in parallel. - self._outstandingMethodBlocks = []; - - // method ID -> array of objects with keys 'collection' and 'id', listing - // documents written by a given method's stub. keys are associated with - // methods whose stub wrote at least one document, and whose data-done message - // has not yet been received. - self._documentsWrittenByStub = {}; - // collection -> IdMap of "server document" object. A "server document" has: - // - "document": the version of the document according the - // server (ie, the snapshot before a stub wrote it, amended by any changes - // received from the server) - // It is undefined if we think the document does not exist - // - "writtenByStubs": a set of method IDs whose stubs wrote to the document - // whose "data done" messages have not yet been processed - self._serverDocuments = {}; - - // Array of callbacks to be called after the next update of the local - // cache. Used for: - // - Calling methodInvoker.dataVisible and sub ready callbacks after - // the relevant data is flushed. - // - Invoking the callbacks of "half-finished" methods after reconnect - // quiescence. Specifically, methods whose result was received over the old - // connection (so we don't re-send it) but whose data had not been made - // visible. - self._afterUpdateCallbacks = []; - - // In two contexts, we buffer all incoming data messages and then process them - // all at once in a single update: - // - During reconnect, we buffer all data messages until all subs that had - // been ready before reconnect are ready again, and all methods that are - // active have returned their "data done message"; then - // - During the execution of a "wait" method, we buffer all data messages - // until the wait method gets its "data done" message. (If the wait method - // occurs during reconnect, it doesn't get any special handling.) - // all data messages are processed in one update. - // - // The following fields are used for this "quiescence" process. - - // This buffers the messages that aren't being processed yet. - self._messagesBufferedUntilQuiescence = []; - // Map from method ID -> true. Methods are removed from this when their - // "data done" message is received, and we will not quiesce until it is - // empty. - self._methodsBlockingQuiescence = {}; - // map from sub ID -> true for subs that were ready (ie, called the sub - // ready callback) before reconnect but haven't become ready again yet - self._subsBeingRevived = {}; // map from sub._id -> true - // if true, the next data update should reset all stores. (set during - // reconnect.) - self._resetStores = false; - - // name -> array of updates for (yet to be created) collections - self._updatesForUnknownStores = {}; - // if we're blocking a migration, the retry func - self._retryMigrate = null; - - self.__flushBufferedWrites = Meteor.bindEnvironment( - self._flushBufferedWrites, - 'flushing DDP buffered writes', - self - ); - // Collection name -> array of messages. - self._bufferedWrites = {}; - // When current buffer of updates must be flushed at, in ms timestamp. - self._bufferedWritesFlushAt = null; - // Timeout handle for the next processing of all pending writes - self._bufferedWritesFlushHandle = null; - - self._bufferedWritesInterval = options.bufferedWritesInterval; - self._bufferedWritesMaxAge = options.bufferedWritesMaxAge; - - // metadata for subscriptions. Map from sub ID to object with keys: - // - id - // - name - // - params - // - inactive (if true, will be cleaned up if not reused in re-run) - // - ready (has the 'ready' message been received?) - // - readyCallback (an optional callback to call when ready) - // - errorCallback (an optional callback to call if the sub terminates with - // an error, XXX COMPAT WITH 1.0.3.1) - // - stopCallback (an optional callback to call when the sub terminates - // for any reason, with an error argument if an error triggered the stop) - self._subscriptions = {}; - - // Reactive userId. - self._userId = null; - self._userIdDeps = new Tracker.Dependency(); - - // Block auto-reload while we're waiting for method responses. - if (Meteor.isClient && Package.reload && !options.reloadWithOutstanding) { - Package.reload.Reload._onMigrate(function(retry) { - if (!self._readyToMigrate()) { - if (self._retryMigrate) throw new Error('Two migrations in progress?'); - self._retryMigrate = retry; - return false; - } else { - return [true]; - } - }); - } - - var onMessage = function(raw_msg) { - try { - var msg = DDPCommon.parseDDP(raw_msg); - } catch (e) { - Meteor._debug('Exception while parsing DDP', e); - return; - } - - // Any message counts as receiving a pong, as it demonstrates that - // the server is still alive. - if (self._heartbeat) { - self._heartbeat.messageReceived(); - } - - if (msg === null || !msg.msg) { - // XXX COMPAT WITH 0.6.6. ignore the old welcome message for back - // compat. Remove this 'if' once the server stops sending welcome - // messages (stream_server.js). - if (!(msg && msg.server_id)) - Meteor._debug('discarding invalid livedata message', msg); - return; - } - - if (msg.msg === 'connected') { - self._version = self._versionSuggestion; - self._livedata_connected(msg); - options.onConnected(); - } else if (msg.msg === 'failed') { - if (_.contains(self._supportedDDPVersions, msg.version)) { - self._versionSuggestion = msg.version; - self._stream.reconnect({ _force: true }); - } else { - var description = - 'DDP version negotiation failed; server requested version ' + - msg.version; - self._stream.disconnect({ _permanent: true, _error: description }); - options.onDDPVersionNegotiationFailure(description); - } - } else if (msg.msg === 'ping' && options.respondToPings) { - self._send({ msg: 'pong', id: msg.id }); - } else if (msg.msg === 'pong') { - // noop, as we assume everything's a pong - } else if ( - _.include(['added', 'changed', 'removed', 'ready', 'updated'], msg.msg) - ) - self._livedata_data(msg); - else if (msg.msg === 'nosub') self._livedata_nosub(msg); - else if (msg.msg === 'result') self._livedata_result(msg); - else if (msg.msg === 'error') self._livedata_error(msg); - else Meteor._debug('discarding unknown livedata message type', msg); - }; - - var onReset = function() { - // Send a connect message at the beginning of the stream. - // NOTE: reset is called even on the first connection, so this is - // the only place we send this message. - var msg = { msg: 'connect' }; - if (self._lastSessionId) msg.session = self._lastSessionId; - msg.version = self._versionSuggestion || self._supportedDDPVersions[0]; - self._versionSuggestion = msg.version; - msg.support = self._supportedDDPVersions; - self._send(msg); - - // Mark non-retry calls as failed. This has to be done early as getting these methods out of the - // current block is pretty important to making sure that quiescence is properly calculated, as - // well as possibly moving on to another useful block. - - // Only bother testing if there is an outstandingMethodBlock (there might not be, especially if - // we are connecting for the first time. - if (self._outstandingMethodBlocks.length > 0) { - // If there is an outstanding method block, we only care about the first one as that is the - // one that could have already sent messages with no response, that are not allowed to retry. - const currentMethodBlock = self._outstandingMethodBlocks[0].methods; - self._outstandingMethodBlocks[0].methods = currentMethodBlock.filter( - methodInvoker => { - // Methods with 'noRetry' option set are not allowed to re-send after - // recovering dropped connection. - if (methodInvoker.sentMessage && methodInvoker.noRetry) { - // Make sure that the method is told that it failed. - methodInvoker.receiveResult( - new Meteor.Error( - 'invocation-failed', - 'Method invocation might have failed due to dropped connection. ' + - 'Failing because `noRetry` option was passed to Meteor.apply.' - ) - ); - } - - // Only keep a method if it wasn't sent or it's allowed to retry. - // This may leave the block empty, but we don't move on to the next - // block until the callback has been delivered, in _outstandingMethodFinished. - return !(methodInvoker.sentMessage && methodInvoker.noRetry); - } - ); - } - - // Now, to minimize setup latency, go ahead and blast out all of - // our pending methods ands subscriptions before we've even taken - // the necessary RTT to know if we successfully reconnected. (1) - // They're supposed to be idempotent, and where they are not, - // they can block retry in apply; (2) even if we did reconnect, - // we're not sure what messages might have gotten lost - // (in either direction) since we were disconnected (TCP being - // sloppy about that.) - - // If the current block of methods all got their results (but didn't all get - // their data visible), discard the empty block now. - if ( - !_.isEmpty(self._outstandingMethodBlocks) && - _.isEmpty(self._outstandingMethodBlocks[0].methods) - ) { - self._outstandingMethodBlocks.shift(); - } - - // Mark all messages as unsent, they have not yet been sent on this - // connection. - _.each(self._methodInvokers, function(m) { - m.sentMessage = false; - }); - - // If an `onReconnect` handler is set, call it first. Go through - // some hoops to ensure that methods that are called from within - // `onReconnect` get executed _before_ ones that were originally - // outstanding (since `onReconnect` is used to re-establish auth - // certificates) - self._callOnReconnectAndSendAppropriateOutstandingMethods(); - - // add new subscriptions at the end. this way they take effect after - // the handlers and we don't see flicker. - _.each(self._subscriptions, function(sub, id) { - self._send({ - msg: 'sub', - id: id, - name: sub.name, - params: sub.params + // as a test hook, allow passing a stream instead of a url. + if (typeof url === 'object') { + self._stream = url; + } else { + self._stream = new LivedataTest.ClientStream(url, { + retry: options.retry, + headers: options.headers, + _sockjsOptions: options._sockjsOptions, + // Used to keep some tests quiet, or for other cases in which + // the right thing to do with connection errors is to silently + // fail (e.g. sending package usage stats). At some point we + // should have a real API for handling client-stream-level + // errors. + _dontPrintErrors: options._dontPrintErrors, + connectTimeoutMs: options.connectTimeoutMs, + npmFayeOptions: options.npmFayeOptions }); - }); - }; - - var onDisconnect = function() { - if (self._heartbeat) { - self._heartbeat.stop(); - self._heartbeat = null; } - }; - if (Meteor.isServer) { - self._stream.on( - 'message', - Meteor.bindEnvironment(onMessage, 'handling DDP message') + self._lastSessionId = null; + self._versionSuggestion = null; // The last proposed DDP version. + self._version = null; // The DDP version agreed on by client and server. + self._stores = {}; // name -> object with methods + self._methodHandlers = {}; // name -> func + self._nextMethodId = 1; + self._supportedDDPVersions = options.supportedDDPVersions; + + self._heartbeatInterval = options.heartbeatInterval; + self._heartbeatTimeout = options.heartbeatTimeout; + + // Tracks methods which the user has tried to call but which have not yet + // called their user callback (ie, they are waiting on their result or for all + // of their writes to be written to the local cache). Map from method ID to + // MethodInvoker object. + self._methodInvokers = {}; + + // Tracks methods which the user has called but whose result messages have not + // arrived yet. + // + // _outstandingMethodBlocks is an array of blocks of methods. Each block + // represents a set of methods that can run at the same time. The first block + // represents the methods which are currently in flight; subsequent blocks + // must wait for previous blocks to be fully finished before they can be sent + // to the server. + // + // Each block is an object with the following fields: + // - methods: a list of MethodInvoker objects + // - wait: a boolean; if true, this block had a single method invoked with + // the "wait" option + // + // There will never be adjacent blocks with wait=false, because the only thing + // that makes methods need to be serialized is a wait method. + // + // Methods are removed from the first block when their "result" is + // received. The entire first block is only removed when all of the in-flight + // methods have received their results (so the "methods" list is empty) *AND* + // all of the data written by those methods are visible in the local cache. So + // it is possible for the first block's methods list to be empty, if we are + // still waiting for some objects to quiesce. + // + // Example: + // _outstandingMethodBlocks = [ + // {wait: false, methods: []}, + // {wait: true, methods: []}, + // {wait: false, methods: [, + // ]}] + // This means that there were some methods which were sent to the server and + // which have returned their results, but some of the data written by + // the methods may not be visible in the local cache. Once all that data is + // visible, we will send a 'login' method. Once the login method has returned + // and all the data is visible (including re-running subs if userId changes), + // we will send the 'foo' and 'bar' methods in parallel. + self._outstandingMethodBlocks = []; + + // method ID -> array of objects with keys 'collection' and 'id', listing + // documents written by a given method's stub. keys are associated with + // methods whose stub wrote at least one document, and whose data-done message + // has not yet been received. + self._documentsWrittenByStub = {}; + // collection -> IdMap of "server document" object. A "server document" has: + // - "document": the version of the document according the + // server (ie, the snapshot before a stub wrote it, amended by any changes + // received from the server) + // It is undefined if we think the document does not exist + // - "writtenByStubs": a set of method IDs whose stubs wrote to the document + // whose "data done" messages have not yet been processed + self._serverDocuments = {}; + + // Array of callbacks to be called after the next update of the local + // cache. Used for: + // - Calling methodInvoker.dataVisible and sub ready callbacks after + // the relevant data is flushed. + // - Invoking the callbacks of "half-finished" methods after reconnect + // quiescence. Specifically, methods whose result was received over the old + // connection (so we don't re-send it) but whose data had not been made + // visible. + self._afterUpdateCallbacks = []; + + // In two contexts, we buffer all incoming data messages and then process them + // all at once in a single update: + // - During reconnect, we buffer all data messages until all subs that had + // been ready before reconnect are ready again, and all methods that are + // active have returned their "data done message"; then + // - During the execution of a "wait" method, we buffer all data messages + // until the wait method gets its "data done" message. (If the wait method + // occurs during reconnect, it doesn't get any special handling.) + // all data messages are processed in one update. + // + // The following fields are used for this "quiescence" process. + + // This buffers the messages that aren't being processed yet. + self._messagesBufferedUntilQuiescence = []; + // Map from method ID -> true. Methods are removed from this when their + // "data done" message is received, and we will not quiesce until it is + // empty. + self._methodsBlockingQuiescence = {}; + // map from sub ID -> true for subs that were ready (ie, called the sub + // ready callback) before reconnect but haven't become ready again yet + self._subsBeingRevived = {}; // map from sub._id -> true + // if true, the next data update should reset all stores. (set during + // reconnect.) + self._resetStores = false; + + // name -> array of updates for (yet to be created) collections + self._updatesForUnknownStores = {}; + // if we're blocking a migration, the retry func + self._retryMigrate = null; + + self.__flushBufferedWrites = Meteor.bindEnvironment( + self._flushBufferedWrites, + 'flushing DDP buffered writes', + self ); - self._stream.on( - 'reset', - Meteor.bindEnvironment(onReset, 'handling DDP reset') - ); - self._stream.on( - 'disconnect', - Meteor.bindEnvironment(onDisconnect, 'handling DDP disconnect') - ); - } else { - self._stream.on('message', onMessage); - self._stream.on('reset', onReset); - self._stream.on('disconnect', onDisconnect); + // Collection name -> array of messages. + self._bufferedWrites = {}; + // When current buffer of updates must be flushed at, in ms timestamp. + self._bufferedWritesFlushAt = null; + // Timeout handle for the next processing of all pending writes + self._bufferedWritesFlushHandle = null; + + self._bufferedWritesInterval = options.bufferedWritesInterval; + self._bufferedWritesMaxAge = options.bufferedWritesMaxAge; + + // metadata for subscriptions. Map from sub ID to object with keys: + // - id + // - name + // - params + // - inactive (if true, will be cleaned up if not reused in re-run) + // - ready (has the 'ready' message been received?) + // - readyCallback (an optional callback to call when ready) + // - errorCallback (an optional callback to call if the sub terminates with + // an error, XXX COMPAT WITH 1.0.3.1) + // - stopCallback (an optional callback to call when the sub terminates + // for any reason, with an error argument if an error triggered the stop) + self._subscriptions = {}; + + // Reactive userId. + self._userId = null; + self._userIdDeps = new Tracker.Dependency(); + + // Block auto-reload while we're waiting for method responses. + if (Meteor.isClient && Package.reload && !options.reloadWithOutstanding) { + Package.reload.Reload._onMigrate(function(retry) { + if (!self._readyToMigrate()) { + if (self._retryMigrate) + throw new Error('Two migrations in progress?'); + self._retryMigrate = retry; + return false; + } else { + return [true]; + } + }); + } + + var onMessage = function(raw_msg) { + try { + var msg = DDPCommon.parseDDP(raw_msg); + } catch (e) { + Meteor._debug('Exception while parsing DDP', e); + return; + } + + // Any message counts as receiving a pong, as it demonstrates that + // the server is still alive. + if (self._heartbeat) { + self._heartbeat.messageReceived(); + } + + if (msg === null || !msg.msg) { + // XXX COMPAT WITH 0.6.6. ignore the old welcome message for back + // compat. Remove this 'if' once the server stops sending welcome + // messages (stream_server.js). + if (!(msg && msg.server_id)) + Meteor._debug('discarding invalid livedata message', msg); + return; + } + + if (msg.msg === 'connected') { + self._version = self._versionSuggestion; + self._livedata_connected(msg); + options.onConnected(); + } else if (msg.msg === 'failed') { + if (_.contains(self._supportedDDPVersions, msg.version)) { + self._versionSuggestion = msg.version; + self._stream.reconnect({ _force: true }); + } else { + var description = + 'DDP version negotiation failed; server requested version ' + + msg.version; + self._stream.disconnect({ _permanent: true, _error: description }); + options.onDDPVersionNegotiationFailure(description); + } + } else if (msg.msg === 'ping' && options.respondToPings) { + self._send({ msg: 'pong', id: msg.id }); + } else if (msg.msg === 'pong') { + // noop, as we assume everything's a pong + } else if ( + _.include(['added', 'changed', 'removed', 'ready', 'updated'], msg.msg) + ) + self._livedata_data(msg); + else if (msg.msg === 'nosub') self._livedata_nosub(msg); + else if (msg.msg === 'result') self._livedata_result(msg); + else if (msg.msg === 'error') self._livedata_error(msg); + else Meteor._debug('discarding unknown livedata message type', msg); + }; + + var onReset = function() { + // Send a connect message at the beginning of the stream. + // NOTE: reset is called even on the first connection, so this is + // the only place we send this message. + var msg = { msg: 'connect' }; + if (self._lastSessionId) msg.session = self._lastSessionId; + msg.version = self._versionSuggestion || self._supportedDDPVersions[0]; + self._versionSuggestion = msg.version; + msg.support = self._supportedDDPVersions; + self._send(msg); + + // Mark non-retry calls as failed. This has to be done early as getting these methods out of the + // current block is pretty important to making sure that quiescence is properly calculated, as + // well as possibly moving on to another useful block. + + // Only bother testing if there is an outstandingMethodBlock (there might not be, especially if + // we are connecting for the first time. + if (self._outstandingMethodBlocks.length > 0) { + // If there is an outstanding method block, we only care about the first one as that is the + // one that could have already sent messages with no response, that are not allowed to retry. + const currentMethodBlock = self._outstandingMethodBlocks[0].methods; + self._outstandingMethodBlocks[0].methods = currentMethodBlock.filter( + methodInvoker => { + // Methods with 'noRetry' option set are not allowed to re-send after + // recovering dropped connection. + if (methodInvoker.sentMessage && methodInvoker.noRetry) { + // Make sure that the method is told that it failed. + methodInvoker.receiveResult( + new Meteor.Error( + 'invocation-failed', + 'Method invocation might have failed due to dropped connection. ' + + 'Failing because `noRetry` option was passed to Meteor.apply.' + ) + ); + } + + // Only keep a method if it wasn't sent or it's allowed to retry. + // This may leave the block empty, but we don't move on to the next + // block until the callback has been delivered, in _outstandingMethodFinished. + return !(methodInvoker.sentMessage && methodInvoker.noRetry); + } + ); + } + + // Now, to minimize setup latency, go ahead and blast out all of + // our pending methods ands subscriptions before we've even taken + // the necessary RTT to know if we successfully reconnected. (1) + // They're supposed to be idempotent, and where they are not, + // they can block retry in apply; (2) even if we did reconnect, + // we're not sure what messages might have gotten lost + // (in either direction) since we were disconnected (TCP being + // sloppy about that.) + + // If the current block of methods all got their results (but didn't all get + // their data visible), discard the empty block now. + if ( + !_.isEmpty(self._outstandingMethodBlocks) && + _.isEmpty(self._outstandingMethodBlocks[0].methods) + ) { + self._outstandingMethodBlocks.shift(); + } + + // Mark all messages as unsent, they have not yet been sent on this + // connection. + _.each(self._methodInvokers, function(m) { + m.sentMessage = false; + }); + + // If an `onReconnect` handler is set, call it first. Go through + // some hoops to ensure that methods that are called from within + // `onReconnect` get executed _before_ ones that were originally + // outstanding (since `onReconnect` is used to re-establish auth + // certificates) + self._callOnReconnectAndSendAppropriateOutstandingMethods(); + + // add new subscriptions at the end. this way they take effect after + // the handlers and we don't see flicker. + _.each(self._subscriptions, function(sub, id) { + self._send({ + msg: 'sub', + id: id, + name: sub.name, + params: sub.params + }); + }); + }; + + var onDisconnect = function() { + if (self._heartbeat) { + self._heartbeat.stop(); + self._heartbeat = null; + } + }; + + if (Meteor.isServer) { + self._stream.on( + 'message', + Meteor.bindEnvironment(onMessage, 'handling DDP message') + ); + self._stream.on( + 'reset', + Meteor.bindEnvironment(onReset, 'handling DDP reset') + ); + self._stream.on( + 'disconnect', + Meteor.bindEnvironment(onDisconnect, 'handling DDP disconnect') + ); + } else { + self._stream.on('message', onMessage); + self._stream.on('reset', onReset); + self._stream.on('disconnect', onDisconnect); + } } -}; -_.extend(Connection.prototype, { // 'name' is the name of the data on the wire that should go in the // store. 'wrappedStore' should be an object with methods beginUpdate, update, // endUpdate, saveOriginals, retrieveOriginals. see Collection for an example. - registerStore: function(name, wrappedStore) { + registerStore(name, wrappedStore) { var self = this; if (name in self._stores) return false; @@ -455,7 +456,7 @@ _.extend(Connection.prototype, { } return true; - }, + } /** * @memberOf Meteor @@ -472,7 +473,7 @@ _.extend(Connection.prototype, { * argument to `onStop`. If a function is passed instead of an object, it * is interpreted as an `onReady` callback. */ - subscribe: function(name /* .. [arguments] .. (callback|callbacks) */) { + subscribe(name /* .. [arguments] .. (callback|callbacks) */) { var self = this; var params = Array.prototype.slice.call(arguments, 1); @@ -566,11 +567,11 @@ _.extend(Connection.prototype, { errorCallback: callbacks.onError, stopCallback: callbacks.onStop, connection: self, - remove: function() { + remove() { delete this.connection._subscriptions[this.id]; this.ready && this.readyDeps.changed(); }, - stop: function() { + stop() { this.connection._send({ msg: 'unsub', id: id }); this.remove(); @@ -584,12 +585,12 @@ _.extend(Connection.prototype, { // return a handle to the application. var handle = { - stop: function() { + stop() { if (!_.has(self._subscriptions, id)) return; self._subscriptions[id].stop(); }, - ready: function() { + ready() { // return false if we've unsubscribed. if (!_.has(self._subscriptions, id)) return false; var record = self._subscriptions[id]; @@ -621,23 +622,23 @@ _.extend(Connection.prototype, { } return handle; - }, + } // options: // - onLateError {Function(error)} called if an error was received after the ready event. // (errors received before ready cause an error to be thrown) - _subscribeAndWait: function(name, args, options) { + _subscribeAndWait(name, args, options) { var self = this; var f = new Future(); var ready = false; var handle; args = args || []; args.push({ - onReady: function() { + onReady() { ready = true; f['return'](); }, - onError: function(e) { + onError(e) { if (!ready) f['throw'](e); else options && options.onLateError && options.onLateError(e); } @@ -646,9 +647,9 @@ _.extend(Connection.prototype, { handle = self.subscribe.apply(self, [name].concat(args)); f.wait(); return handle; - }, + } - methods: function(methods) { + methods(methods) { var self = this; _.each(methods, function(func, name) { if (typeof func !== 'function') @@ -657,7 +658,7 @@ _.extend(Connection.prototype, { throw new Error("A method named '" + name + "' is already defined"); self._methodHandlers[name] = func; }); - }, + } /** * @memberOf Meteor @@ -668,14 +669,14 @@ _.extend(Connection.prototype, { * @param {EJSONable} [arg1,arg2...] Optional method arguments * @param {Function} [asyncCallback] Optional callback, which is called asynchronously with the error or result after the method is complete. If not provided, the method runs synchronously if possible (see below). */ - call: function(name /* .. [arguments] .. callback */) { + call(name /* .. [arguments] .. callback */) { // if it's a function, the last argument is the result callback, // not a parameter to the remote method. var args = Array.prototype.slice.call(arguments, 1); if (args.length && typeof args[args.length - 1] === 'function') var callback = args.pop(); return this.apply(name, args, callback); - }, + } // @param options {Optional Object} // wait: Boolean - Should we wait to call this until all current methods @@ -712,7 +713,7 @@ _.extend(Connection.prototype, { * @param {Boolean} options.throwStubExceptions (Client only) If true, exceptions thrown by method stubs will be thrown instead of logged, and the method will not be invoked on the server. * @param {Function} [asyncCallback] Optional callback; same semantics as in [`Meteor.call`](#meteor_call). */ - apply: function(name, args, options, callback) { + apply(name, args, options, callback) { var self = this; // We were passed 3 arguments. They may be either (name, args, options) @@ -789,7 +790,7 @@ _.extend(Connection.prototype, { isSimulation: true, userId: self.userId(), setUserId: setUserId, - randomSeed: function() { + randomSeed() { return randomSeedGenerator(); } }); @@ -924,22 +925,22 @@ _.extend(Connection.prototype, { return future.wait(); } return options.returnStubValue ? stubReturnValue : undefined; - }, + } // Before calling a method stub, prepare all stores to track changes and allow // _retrieveAndStoreOriginals to get the original versions of changed // documents. - _saveOriginals: function() { + _saveOriginals() { var self = this; if (!self._waitingForQuiescence()) self._flushBufferedWrites(); _.each(self._stores, function(s) { s.saveOriginals(); }); - }, + } // Retrieves the original versions of all documents modified by the stub for // method 'methodId' from all stores and saves them to _serverDocuments (keyed // by document) and _documentsWrittenByStub (keyed by method ID). - _retrieveAndStoreOriginals: function(methodId) { + _retrieveAndStoreOriginals(methodId) { var self = this; if (self._documentsWrittenByStub[methodId]) throw new Error('Duplicate methodId in _retrieveAndStoreOriginals'); @@ -970,11 +971,11 @@ _.extend(Connection.prototype, { if (!_.isEmpty(docsWritten)) { self._documentsWrittenByStub[methodId] = docsWritten; } - }, + } // This is very much a private function we use to make the tests // take up fewer server resources after they complete. - _unsubscribeAll: function() { + _unsubscribeAll() { var self = this; _.each(_.clone(self._subscriptions), function(sub, id) { // Avoid killing the autoupdate subscription so that developers @@ -987,21 +988,21 @@ _.extend(Connection.prototype, { self._subscriptions[id].stop(); } }); - }, + } // Sends the DDP stringification of the given message object - _send: function(obj) { + _send(obj) { var self = this; self._stream.send(DDPCommon.stringifyDDP(obj)); - }, + } // We detected via DDP-level heartbeats that we've lost the // connection. Unlike `disconnect` or `close`, a lost connection // will be automatically retried. - _lostConnection: function(error) { + _lostConnection(error) { var self = this; self._stream._lostConnection(error); - }, + } /** * @summary Get the current connection status. A reactive data source. @@ -1009,10 +1010,10 @@ _.extend(Connection.prototype, { * @memberOf Meteor * @importFromPackage meteor */ - status: function(/*passthrough args*/) { + status(/*passthrough args*/) { var self = this; return self._stream.status.apply(self._stream, arguments); - }, + } /** * @summary Force an immediate reconnection attempt if the client is not connected to the server. @@ -1022,10 +1023,10 @@ _.extend(Connection.prototype, { * @memberOf Meteor * @importFromPackage meteor */ - reconnect: function(/*passthrough args*/) { + reconnect(/*passthrough args*/) { var self = this; return self._stream.reconnect.apply(self._stream, arguments); - }, + } /** * @summary Disconnect the client from the server. @@ -1033,64 +1034,64 @@ _.extend(Connection.prototype, { * @memberOf Meteor * @importFromPackage meteor */ - disconnect: function(/*passthrough args*/) { + disconnect(/*passthrough args*/) { var self = this; return self._stream.disconnect.apply(self._stream, arguments); - }, + } - close: function() { + close() { var self = this; return self._stream.disconnect({ _permanent: true }); - }, + } /// /// Reactive user system /// - userId: function() { + userId() { var self = this; if (self._userIdDeps) self._userIdDeps.depend(); return self._userId; - }, + } - setUserId: function(userId) { + setUserId(userId) { var self = this; // Avoid invalidating dependents if setUserId is called with current value. if (self._userId === userId) return; self._userId = userId; if (self._userIdDeps) self._userIdDeps.changed(); - }, + } // Returns true if we are in a state after reconnect of waiting for subs to be // revived or early methods to finish their data, or we are waiting for a // "wait" method to finish. - _waitingForQuiescence: function() { + _waitingForQuiescence() { var self = this; return ( !_.isEmpty(self._subsBeingRevived) || !_.isEmpty(self._methodsBlockingQuiescence) ); - }, + } // Returns true if any method whose message has been sent to the server has // not yet invoked its user callback. - _anyMethodsAreOutstanding: function() { + _anyMethodsAreOutstanding() { var self = this; return _.any(_.pluck(self._methodInvokers, 'sentMessage')); - }, + } - _livedata_connected: function(msg) { + _livedata_connected(msg) { var self = this; if (self._version !== 'pre1' && self._heartbeatInterval !== 0) { self._heartbeat = new DDPCommon.Heartbeat({ heartbeatInterval: self._heartbeatInterval, heartbeatTimeout: self._heartbeatTimeout, - onTimeout: function() { + onTimeout() { self._lostConnection( new DDP.ConnectionError('DDP heartbeat timed out') ); }, - sendPing: function() { + sendPing() { self._send({ msg: 'ping' }); } }); @@ -1184,15 +1185,15 @@ _.extend(Connection.prototype, { } self._runAfterUpdateCallbacks(); } - }, + } - _processOneDataMessage: function(msg, updates) { + _processOneDataMessage(msg, updates) { var self = this; // Using underscore here so as not to need to capitalize. self['_process_' + msg.msg](msg, updates); - }, + } - _livedata_data: function(msg) { + _livedata_data(msg) { var self = this; if (self._waitingForQuiescence()) { @@ -1244,9 +1245,9 @@ _.extend(Connection.prototype, { self.__flushBufferedWrites, self._bufferedWritesInterval ); - }, + } - _flushBufferedWrites: function() { + _flushBufferedWrites() { var self = this; if (self._bufferedWritesFlushHandle) { clearTimeout(self._bufferedWritesFlushHandle); @@ -1260,9 +1261,9 @@ _.extend(Connection.prototype, { var writes = self._bufferedWrites; self._bufferedWrites = {}; self._performWrites(writes); - }, + } - _performWrites: function(updates) { + _performWrites(updates) { var self = this; if (self._resetStores || !_.isEmpty(updates)) { @@ -1303,36 +1304,36 @@ _.extend(Connection.prototype, { } self._runAfterUpdateCallbacks(); - }, + } // Call any callbacks deferred with _runWhenAllServerDocsAreFlushed whose // relevant docs have been flushed, as well as dataVisible callbacks at // reconnect-quiescence time. - _runAfterUpdateCallbacks: function() { + _runAfterUpdateCallbacks() { var self = this; var callbacks = self._afterUpdateCallbacks; self._afterUpdateCallbacks = []; _.each(callbacks, function(c) { c(); }); - }, + } - _pushUpdate: function(updates, collection, msg) { + _pushUpdate(updates, collection, msg) { var self = this; if (!_.has(updates, collection)) { updates[collection] = []; } updates[collection].push(msg); - }, + } - _getServerDoc: function(collection, id) { + _getServerDoc(collection, id) { var self = this; if (!_.has(self._serverDocuments, collection)) return null; var serverDocsForCollection = self._serverDocuments[collection]; return serverDocsForCollection.get(id) || null; - }, + } - _process_added: function(msg, updates) { + _process_added(msg, updates) { var self = this; var id = MongoID.idParse(msg.id); var serverDoc = self._getServerDoc(msg.collection, id); @@ -1358,9 +1359,9 @@ _.extend(Connection.prototype, { } else { self._pushUpdate(updates, msg.collection, msg); } - }, + } - _process_changed: function(msg, updates) { + _process_changed(msg, updates) { var self = this; var serverDoc = self._getServerDoc(msg.collection, MongoID.idParse(msg.id)); if (serverDoc) { @@ -1370,9 +1371,9 @@ _.extend(Connection.prototype, { } else { self._pushUpdate(updates, msg.collection, msg); } - }, + } - _process_removed: function(msg, updates) { + _process_removed(msg, updates) { var self = this; var serverDoc = self._getServerDoc(msg.collection, MongoID.idParse(msg.id)); if (serverDoc) { @@ -1387,9 +1388,9 @@ _.extend(Connection.prototype, { id: msg.id }); } - }, + } - _process_updated: function(msg, updates) { + _process_updated(msg, updates) { var self = this; // Process "method done" messages. _.each(msg.methods, function(methodId) { @@ -1441,9 +1442,9 @@ _.extend(Connection.prototype, { _.bind(callbackInvoker.dataVisible, callbackInvoker) ); }); - }, + } - _process_ready: function(msg, updates) { + _process_ready(msg, updates) { var self = this; // Process "sub ready" messages. "sub ready" messages don't take effect // until all current server documents have been flushed to the local @@ -1460,12 +1461,12 @@ _.extend(Connection.prototype, { subRecord.readyDeps.changed(); }); }); - }, + } // Ensures that "f" will be called after all documents currently in // _serverDocuments have been written to the local cache. f will not be called // if the connection is lost before then! - _runWhenAllServerDocsAreFlushed: function(f) { + _runWhenAllServerDocsAreFlushed(f) { var self = this; var runFAfterUpdates = function() { self._afterUpdateCallbacks.push(f); @@ -1499,9 +1500,9 @@ _.extend(Connection.prototype, { // round of updates is applied! runFAfterUpdates(); } - }, + } - _livedata_nosub: function(msg) { + _livedata_nosub(msg) { var self = this; // First pass it through _livedata_data, which only uses it to help get @@ -1540,17 +1541,17 @@ _.extend(Connection.prototype, { if (stopCallback) { stopCallback(meteorErrorFromMsg(msg)); } - }, + } - _process_nosub: function() { + _process_nosub() { // This is called as part of the "buffer until quiescence" process, but // nosub's effect is always immediate. It only goes in the buffer at all // because it's possible for a nosub to be the thing that triggers // quiescence, if we were waiting for a sub to be revived and it dies // instead. - }, + } - _livedata_result: function(msg) { + _livedata_result(msg) { // id, result or error. error has error (code), reason, details var self = this; @@ -1592,12 +1593,12 @@ _.extend(Connection.prototype, { // value m.receiveResult(undefined, msg.result); } - }, + } // Called by MethodInvoker after a method's callback is invoked. If this was // the last outstanding method in the current block, runs the next block. If // there are no more methods, consider accepting a hot code push. - _outstandingMethodFinished: function() { + _outstandingMethodFinished() { var self = this; if (self._anyMethodsAreOutstanding()) return; @@ -1619,24 +1620,24 @@ _.extend(Connection.prototype, { // Maybe accept a hot code push. self._maybeMigrate(); - }, + } // Sends messages for all the methods in the first block in // _outstandingMethodBlocks. - _sendOutstandingMethods: function() { + _sendOutstandingMethods() { var self = this; if (_.isEmpty(self._outstandingMethodBlocks)) return; _.each(self._outstandingMethodBlocks[0].methods, function(m) { m.sendMessage(); }); - }, + } - _livedata_error: function(msg) { + _livedata_error(msg) { Meteor._debug('Received error from server: ', msg.reason); if (msg.offendingMessage) Meteor._debug('For: ', msg.offendingMessage); - }, + } - _callOnReconnectAndSendAppropriateOutstandingMethods: function() { + _callOnReconnectAndSendAppropriateOutstandingMethods() { var self = this; var oldOutstandingMethodBlocks = self._outstandingMethodBlocks; self._outstandingMethodBlocks = []; @@ -1679,24 +1680,24 @@ _.extend(Connection.prototype, { _.each(oldOutstandingMethodBlocks, function(block) { self._outstandingMethodBlocks.push(block); }); - }, + } // We can accept a hot code push if there are no methods in flight. - _readyToMigrate: function() { + _readyToMigrate() { var self = this; return _.isEmpty(self._methodInvokers); - }, + } // If we were blocking a migration, see if it's now possible to continue. // Call whenever the set of outstanding/blocked methods shrinks. - _maybeMigrate: function() { + _maybeMigrate() { var self = this; if (self._retryMigrate && self._readyToMigrate()) { self._retryMigrate(); self._retryMigrate = null; } } -}); +} LivedataTest.Connection = Connection; From d6f0fdfb35989462dcc66b607aa00579fba387f6 Mon Sep 17 00:00:00 2001 From: Sashko Stubailo Date: Wed, 8 Nov 2017 16:49:01 -0800 Subject: [PATCH 0088/1355] Get ClientStream off of LivedataTest --- packages/ddp-client/client/client.js | 5 +- .../ddp-client/client/stream_client_sockjs.js | 4 +- .../ddp-client/common/getClientStreamClass.js | 18 +++++++ .../ddp-client/common/livedata_connection.js | 54 ++----------------- packages/ddp-client/common/namespace.js | 51 +++++++++++++++++- packages/ddp-client/server/server.js | 6 +-- .../ddp-client/server/stream_client_nodejs.js | 2 +- packages/ddp-client/test/stream_tests.js | 8 ++- 8 files changed, 86 insertions(+), 62 deletions(-) create mode 100644 packages/ddp-client/common/getClientStreamClass.js diff --git a/packages/ddp-client/client/client.js b/packages/ddp-client/client/client.js index ae2cdef588..6552c07950 100644 --- a/packages/ddp-client/client/client.js +++ b/packages/ddp-client/client/client.js @@ -1,7 +1,8 @@ export { DDP, LivedataTest } from '../common/namespace'; -import './stream_client_sockjs'; -import '../common/livedata_connection'; +if (false) { + import './stream_client_sockjs'; +} // Initialize the default server connection and put it on Meteor.connection import './client_convenience'; diff --git a/packages/ddp-client/client/stream_client_sockjs.js b/packages/ddp-client/client/stream_client_sockjs.js index 3b97ab9b80..9738a0e0a0 100644 --- a/packages/ddp-client/client/stream_client_sockjs.js +++ b/packages/ddp-client/client/stream_client_sockjs.js @@ -7,7 +7,7 @@ import { DDP, LivedataTest } from '../common/namespace.js'; import { toSockjsUrl } from '../common/urlHelpers'; import StreamClientCommon from '../common/stream_client_common'; -class ClientStream extends StreamClientCommon { +export default class ClientStream extends StreamClientCommon { // @param url {String} URL to Meteor app // "http://subdomain.meteor.com/" or "/" or // "ddp+sockjs://foo-**.meteor.com/sockjs" @@ -202,5 +202,3 @@ class ClientStream extends StreamClientCommon { }, this.CONNECT_TIMEOUT); } } - -LivedataTest.ClientStream = ClientStream; diff --git a/packages/ddp-client/common/getClientStreamClass.js b/packages/ddp-client/common/getClientStreamClass.js new file mode 100644 index 0000000000..14f9b60a62 --- /dev/null +++ b/packages/ddp-client/common/getClientStreamClass.js @@ -0,0 +1,18 @@ +import { Meteor } from 'meteor/meteor'; + +// In the client and server entry points, we make sure the +// bundler loads the correct thing. Here, we just need to +// make sure that we require the right one. +export default function getClientStreamClass() { + // The static analyzer of the bundler specifically looks + // for direct calls to 'require', so it won't treat the + // below calls as a request to include that module. + const notRequire = require; + + if (Meteor.isClient) { + return notRequire('../client/stream_client_sockjs').default; + } else { + /* Meteor.isServer */ return notRequire('../server/stream_client_nodejs') + .default; + } +} diff --git a/packages/ddp-client/common/livedata_connection.js b/packages/ddp-client/common/livedata_connection.js index efa68a06d0..4b0033731a 100644 --- a/packages/ddp-client/common/livedata_connection.js +++ b/packages/ddp-client/common/livedata_connection.js @@ -6,13 +6,14 @@ import { EJSON } from 'meteor/ejson'; import { Random } from 'meteor/random'; import { Hook } from 'meteor/callback-hook'; import { MongoID } from 'meteor/mongo-id'; +import { DDP } from './namespace'; +import getClientStreamClass from './getClientStreamClass'; if (Meteor.isServer) { var Fiber = Npm.require('fibers'); var Future = Npm.require('fibers/future'); } -import { DDP, LivedataTest } from './namespace.js'; import MethodInvoker from './MethodInvoker'; class MongoIDMap extends IdMap { @@ -41,7 +42,7 @@ class MongoIDMap extends IdMap { // fails. We should have better usability in the latter case (while // still transparently reconnecting if it's just a transient failure // or the server migrating us). -class Connection { +export class Connection { constructor(url, options) { var self = this; options = _.extend( @@ -77,7 +78,7 @@ class Connection { if (typeof url === 'object') { self._stream = url; } else { - self._stream = new LivedataTest.ClientStream(url, { + self._stream = new (getClientStreamClass())(url, { retry: options.retry, headers: options.headers, _sockjsOptions: options._sockjsOptions, @@ -1698,50 +1699,3 @@ class Connection { } } } - -LivedataTest.Connection = Connection; - -// @param url {String} URL to Meteor app, -// e.g.: -// "subdomain.meteor.com", -// "http://subdomain.meteor.com", -// "/", -// "ddp+sockjs://ddp--****-foo.meteor.com/sockjs" - -/** - * @summary Connect to the server of a different Meteor application to subscribe to its document sets and invoke its remote methods. - * @locus Anywhere - * @param {String} url The URL of another Meteor application. - */ -DDP.connect = function(url, options) { - var ret = new Connection(url, options); - allConnections.push(ret); // hack. see below. - return ret; -}; - -DDP._reconnectHook = new Hook({ bindEnvironment: false }); - -/** - * @summary Register a function to call as the first step of - * reconnecting. This function can call methods which will be executed before - * any other outstanding methods. For example, this can be used to re-establish - * the appropriate authentication context on the connection. - * @locus Anywhere - * @param {Function} callback The function to call. It will be called with a - * single argument, the [connection object](#ddp_connect) that is reconnecting. - */ -DDP.onReconnect = function(callback) { - return DDP._reconnectHook.register(callback); -}; - -// Hack for `spiderable` package: a way to see if the page is done -// loading all the data it needs. -// -allConnections = []; -DDP._allSubscriptionsReady = function() { - return _.all(allConnections, function(conn) { - return _.all(conn._subscriptions, function(sub) { - return sub.ready; - }); - }); -}; diff --git a/packages/ddp-client/common/namespace.js b/packages/ddp-client/common/namespace.js index 45a659e2cd..a4a972a406 100644 --- a/packages/ddp-client/common/namespace.js +++ b/packages/ddp-client/common/namespace.js @@ -1,12 +1,16 @@ import { DDPCommon } from 'meteor/ddp-common'; import { Meteor } from 'meteor/meteor'; +import { Connection } from './livedata_connection'; + /** * @namespace DDP * @summary Namespace for DDP-related methods/classes. */ export const DDP = {}; -export const LivedataTest = {}; +export const LivedataTest = { + Connection +}; // This is private but it's used in a few places. accounts-base uses // it to get the current user. Meteor.setTimeout and friends clear @@ -36,3 +40,48 @@ DDP.randomStream = function(name) { var scope = DDP._CurrentMethodInvocation.get(); return DDPCommon.RandomStream.get(scope, name); }; + +// @param url {String} URL to Meteor app, +// e.g.: +// "subdomain.meteor.com", +// "http://subdomain.meteor.com", +// "/", +// "ddp+sockjs://ddp--****-foo.meteor.com/sockjs" + +/** + * @summary Connect to the server of a different Meteor application to subscribe to its document sets and invoke its remote methods. + * @locus Anywhere + * @param {String} url The URL of another Meteor application. + */ +DDP.connect = function(url, options) { + var ret = new Connection(url, options); + allConnections.push(ret); // hack. see below. + return ret; +}; + +DDP._reconnectHook = new Hook({ bindEnvironment: false }); + +/** + * @summary Register a function to call as the first step of + * reconnecting. This function can call methods which will be executed before + * any other outstanding methods. For example, this can be used to re-establish + * the appropriate authentication context on the connection. + * @locus Anywhere + * @param {Function} callback The function to call. It will be called with a + * single argument, the [connection object](#ddp_connect) that is reconnecting. + */ +DDP.onReconnect = function(callback) { + return DDP._reconnectHook.register(callback); +}; + +// Hack for `spiderable` package: a way to see if the page is done +// loading all the data it needs. +// +allConnections = []; +DDP._allSubscriptionsReady = function() { + return _.all(allConnections, function(conn) { + return _.all(conn._subscriptions, function(sub) { + return sub.ready; + }); + }); +}; diff --git a/packages/ddp-client/server/server.js b/packages/ddp-client/server/server.js index 2f98545fab..dc3cf0bc63 100644 --- a/packages/ddp-client/server/server.js +++ b/packages/ddp-client/server/server.js @@ -1,5 +1,5 @@ export { DDP, LivedataTest } from '../common/namespace'; -import './stream_client_nodejs'; - -import '../common/livedata_connection'; +if (false) { + import "./stream_client_nodejs"; +} diff --git a/packages/ddp-client/server/stream_client_nodejs.js b/packages/ddp-client/server/stream_client_nodejs.js index 8bf1ba056c..7abae4d970 100644 --- a/packages/ddp-client/server/stream_client_nodejs.js +++ b/packages/ddp-client/server/stream_client_nodejs.js @@ -16,7 +16,7 @@ import StreamClientCommon from '../common/stream_client_common'; // We don't do any heartbeating. (The logic that did this in sockjs was removed, // because it used a built-in sockjs mechanism. We could do it with WebSocket // ping frames or with DDP-level messages.) -class ClientStream extends StreamClientCommon { +export default class ClientStream extends StreamClientCommon { constructor(endpoint, options) { super(); diff --git a/packages/ddp-client/test/stream_tests.js b/packages/ddp-client/test/stream_tests.js index 2d0e1c6af8..0a7f3b2bfd 100644 --- a/packages/ddp-client/test/stream_tests.js +++ b/packages/ddp-client/test/stream_tests.js @@ -1,6 +1,10 @@ import { LivedataTest } from '../common/namespace.js'; import { toSockjsUrl } from '../common/urlHelpers'; +import getClientStreamClass from '../common/getClientStreamClass'; + +const ClientStream = getClientStreamClass(); + Tinytest.add('stream - status', function(test) { // Very basic test. Just see that it runs and returns something. Not a // lot of coverage, but enough that it would have caught a recent bug. @@ -40,7 +44,7 @@ testAsyncMulti('stream - reconnect', [ testAsyncMulti('stream - basic disconnect', [ function(test, expect) { var history = []; - var stream = new LivedataTest.ClientStream('/'); + var stream = new ClientStream('/'); var onTestComplete = expect(function(unexpectedHistory) { stream.disconnect(); if (unexpectedHistory) { @@ -93,7 +97,7 @@ testAsyncMulti('stream - basic disconnect', [ testAsyncMulti('stream - disconnect remains offline', [ function(test, expect) { var history = []; - var stream = new LivedataTest.ClientStream('/'); + var stream = new ClientStream('/'); var onTestComplete = expect(function(unexpectedHistory) { stream.disconnect(); if (unexpectedHistory) { From 0dd710e580878dfc7c0decd120d30d0b2163527d Mon Sep 17 00:00:00 2001 From: Sashko Stubailo Date: Thu, 9 Nov 2017 08:22:15 -0800 Subject: [PATCH 0089/1355] Replace _.extend with spread --- .../ddp-client/common/livedata_connection.js | 39 +++++++++---------- packages/ddp-client/server/server.js | 2 +- 2 files changed, 20 insertions(+), 21 deletions(-) diff --git a/packages/ddp-client/common/livedata_connection.js b/packages/ddp-client/common/livedata_connection.js index 4b0033731a..cc1e2b6eb7 100644 --- a/packages/ddp-client/common/livedata_connection.js +++ b/packages/ddp-client/common/livedata_connection.js @@ -45,27 +45,26 @@ class MongoIDMap extends IdMap { export class Connection { constructor(url, options) { var self = this; - options = _.extend( - { - onConnected() {}, - onDDPVersionNegotiationFailure(description) { - Meteor._debug(description); - }, - heartbeatInterval: 17500, - heartbeatTimeout: 15000, - npmFayeOptions: {}, - // These options are only for testing. - reloadWithOutstanding: false, - supportedDDPVersions: DDPCommon.SUPPORTED_DDP_VERSIONS, - retry: true, - respondToPings: true, - // When updates are coming within this ms interval, batch them together. - bufferedWritesInterval: 5, - // Flush buffers immediately if writes are happening continuously for more than this many ms. - bufferedWritesMaxAge: 500 + options = { + onConnected() {}, + onDDPVersionNegotiationFailure(description) { + Meteor._debug(description); }, - options - ); + heartbeatInterval: 17500, + heartbeatTimeout: 15000, + npmFayeOptions: {}, + // These options are only for testing. + reloadWithOutstanding: false, + supportedDDPVersions: DDPCommon.SUPPORTED_DDP_VERSIONS, + retry: true, + respondToPings: true, + // When updates are coming within this ms interval, batch them together. + bufferedWritesInterval: 5, + // Flush buffers immediately if writes are happening continuously for more than this many ms. + bufferedWritesMaxAge: 500, + + ...options + }; // If set, called when we reconnect, queuing method calls _before_ the // existing outstanding ones. diff --git a/packages/ddp-client/server/server.js b/packages/ddp-client/server/server.js index dc3cf0bc63..d48c0b36a1 100644 --- a/packages/ddp-client/server/server.js +++ b/packages/ddp-client/server/server.js @@ -1,5 +1,5 @@ export { DDP, LivedataTest } from '../common/namespace'; if (false) { - import "./stream_client_nodejs"; + import './stream_client_nodejs'; } From caf91e7932a1892febe6d778b06fdb5860b0b914 Mon Sep 17 00:00:00 2001 From: Sashko Stubailo Date: Thu, 9 Nov 2017 13:37:45 -0800 Subject: [PATCH 0090/1355] Add back import that isn't strictly required --- packages/ddp-client/client/client.js | 2 ++ 1 file changed, 2 insertions(+) diff --git a/packages/ddp-client/client/client.js b/packages/ddp-client/client/client.js index 6552c07950..9890b464a2 100644 --- a/packages/ddp-client/client/client.js +++ b/packages/ddp-client/client/client.js @@ -4,5 +4,7 @@ if (false) { import './stream_client_sockjs'; } +import '../common/livedata_connection'; + // Initialize the default server connection and put it on Meteor.connection import './client_convenience'; From 4966bc537b7be54d73ab6e3b781e935e3f601bab Mon Sep 17 00:00:00 2001 From: Sashko Stubailo Date: Thu, 9 Nov 2017 13:43:41 -0800 Subject: [PATCH 0091/1355] Replace function statements with arrow functions or declarations --- .../ddp-client/client/client_convenience.js | 12 ++++---- packages/ddp-client/common/MethodInvoker.js | 2 +- packages/ddp-client/common/namespace.js | 30 +++++++++++-------- packages/ddp-client/common/urlHelpers.js | 4 +-- packages/ddp-client/package.js | 4 +-- 5 files changed, 27 insertions(+), 25 deletions(-) diff --git a/packages/ddp-client/client/client_convenience.js b/packages/ddp-client/client/client_convenience.js index 13934a4b76..029ad16445 100644 --- a/packages/ddp-client/client/client_convenience.js +++ b/packages/ddp-client/client/client_convenience.js @@ -3,7 +3,7 @@ import { Meteor } from 'meteor/meteor'; // Meteor.refresh can be called on the client (if you're in common code) but it // only has an effect on the server. -Meteor.refresh = function(notification) {}; +Meteor.refresh = () => {}; // By default, try to connect back to the same endpoint as the page // was served from. @@ -28,20 +28,20 @@ if (typeof __meteor_runtime_config__ !== 'undefined') { var retry = new Retry(); -var onDDPVersionNegotiationFailure = function(description) { +function onDDPVersionNegotiationFailure(description) { Meteor._debug(description); if (Package.reload) { var migrationData = Package.reload.Reload._migrationData('livedata') || {}; var failures = migrationData.DDPVersionNegotiationFailures || 0; ++failures; - Package.reload.Reload._onMigrate('livedata', function() { + Package.reload.Reload._onMigrate('livedata', () => { return [true, { DDPVersionNegotiationFailures: failures }]; }); - retry.retryLater(failures, function() { + retry.retryLater(failures, () => { Package.reload.Reload._reload(); }); } -}; +} Meteor.connection = DDP.connect(ddpUrl, { onDDPVersionNegotiationFailure: onDDPVersionNegotiationFailure @@ -57,7 +57,7 @@ Meteor.connection = DDP.connect(ddpUrl, { 'status', 'reconnect', 'disconnect' -].forEach(function(name) { +].forEach(name => { Meteor[name] = Meteor.connection[name].bind(Meteor.connection); }); diff --git a/packages/ddp-client/common/MethodInvoker.js b/packages/ddp-client/common/MethodInvoker.js index 5d19a098a8..dbecd76f49 100644 --- a/packages/ddp-client/common/MethodInvoker.js +++ b/packages/ddp-client/common/MethodInvoker.js @@ -14,7 +14,7 @@ export default class MethodInvoker { self._callback = options.callback; self._connection = options.connection; self._message = options.message; - self._onResultReceived = options.onResultReceived || function() {}; + self._onResultReceived = options.onResultReceived || (() => {}); self._wait = options.wait; self.noRetry = options.noRetry; self._methodResult = null; diff --git a/packages/ddp-client/common/namespace.js b/packages/ddp-client/common/namespace.js index a4a972a406..dbc38f4eeb 100644 --- a/packages/ddp-client/common/namespace.js +++ b/packages/ddp-client/common/namespace.js @@ -21,22 +21,26 @@ DDP._CurrentPublicationInvocation = new Meteor.EnvironmentVariable(); // XXX: Keep DDP._CurrentInvocation for backwards-compatibility. DDP._CurrentInvocation = DDP._CurrentMethodInvocation; -DDP.ConnectionError = Meteor.makeErrorType('DDP.ConnectionError', function( - message -) { - var self = this; - self.message = message; -}); +// This is passed into a weird `makeErrorType` function that expects its thing +// to be a constructor +function connectionErrorConstructor(message) { + this.message = message; +} + +DDP.ConnectionError = Meteor.makeErrorType( + 'DDP.ConnectionError', + connectionErrorConstructor +); DDP.ForcedReconnectError = Meteor.makeErrorType( 'DDP.ForcedReconnectError', - function() {} + () => {} ); // Returns the named sequence of pseudo-random values. // The scope will be DDP._CurrentMethodInvocation.get(), so the stream will produce // consistent values for method calls on the client and server. -DDP.randomStream = function(name) { +DDP.randomStream = name => { var scope = DDP._CurrentMethodInvocation.get(); return DDPCommon.RandomStream.get(scope, name); }; @@ -53,7 +57,7 @@ DDP.randomStream = function(name) { * @locus Anywhere * @param {String} url The URL of another Meteor application. */ -DDP.connect = function(url, options) { +DDP.connect = (url, options) => { var ret = new Connection(url, options); allConnections.push(ret); // hack. see below. return ret; @@ -70,7 +74,7 @@ DDP._reconnectHook = new Hook({ bindEnvironment: false }); * @param {Function} callback The function to call. It will be called with a * single argument, the [connection object](#ddp_connect) that is reconnecting. */ -DDP.onReconnect = function(callback) { +DDP.onReconnect = callback => { return DDP._reconnectHook.register(callback); }; @@ -78,9 +82,9 @@ DDP.onReconnect = function(callback) { // loading all the data it needs. // allConnections = []; -DDP._allSubscriptionsReady = function() { - return _.all(allConnections, function(conn) { - return _.all(conn._subscriptions, function(sub) { +DDP._allSubscriptionsReady = () => { + return _.all(allConnections, conn => { + return _.all(conn._subscriptions, sub => { return sub.ready; }); }); diff --git a/packages/ddp-client/common/urlHelpers.js b/packages/ddp-client/common/urlHelpers.js index 7722eef419..3d0fe5cca9 100644 --- a/packages/ddp-client/common/urlHelpers.js +++ b/packages/ddp-client/common/urlHelpers.js @@ -41,9 +41,7 @@ function translateUrl(url, newSchemeBase, subPath) { // In the host (ONLY!), change '*' characters into random digits. This // allows different stream connections to connect to different hostnames // and avoid browser per-hostname connection limits. - host = host.replace(/\*/g, function() { - return Math.floor(Random.fraction() * 10); - }); + host = host.replace(/\*/g, () => Math.floor(Random.fraction() * 10)); return newScheme + '://' + host + rest; } else if (httpUrlMatch) { diff --git a/packages/ddp-client/package.js b/packages/ddp-client/package.js index 24b81aaade..33ea8f1001 100644 --- a/packages/ddp-client/package.js +++ b/packages/ddp-client/package.js @@ -10,7 +10,7 @@ Npm.depends({ 'permessage-deflate': '0.1.6' }); -Package.onUse(function(api) { +Package.onUse((api) => { api.use( [ 'check', @@ -42,7 +42,7 @@ Package.onUse(function(api) { api.mainModule('server/server.js', 'server'); }); -Package.onTest(function(api) { +Package.onTest((api) => { api.use([ 'livedata', 'mongo', From 0ac733f5ecb6a130c7a2a38e06945d13534c2b93 Mon Sep 17 00:00:00 2001 From: Sashko Stubailo Date: Thu, 9 Nov 2017 13:57:23 -0800 Subject: [PATCH 0092/1355] Fix an oddly broken line --- packages/ddp-client/common/getClientStreamClass.js | 4 ++-- packages/ddp-client/common/stream_client_common.js | 1 + 2 files changed, 3 insertions(+), 2 deletions(-) diff --git a/packages/ddp-client/common/getClientStreamClass.js b/packages/ddp-client/common/getClientStreamClass.js index 14f9b60a62..e37c0550f1 100644 --- a/packages/ddp-client/common/getClientStreamClass.js +++ b/packages/ddp-client/common/getClientStreamClass.js @@ -12,7 +12,7 @@ export default function getClientStreamClass() { if (Meteor.isClient) { return notRequire('../client/stream_client_sockjs').default; } else { - /* Meteor.isServer */ return notRequire('../server/stream_client_nodejs') - .default; + /* Meteor.isServer */ + return notRequire('../server/stream_client_nodejs').default; } } diff --git a/packages/ddp-client/common/stream_client_common.js b/packages/ddp-client/common/stream_client_common.js index 0dd9c98611..c8b3fb8121 100644 --- a/packages/ddp-client/common/stream_client_common.js +++ b/packages/ddp-client/common/stream_client_common.js @@ -45,6 +45,7 @@ export default class StreamClientCommon { this.statusListeners = typeof Tracker !== 'undefined' && new Tracker.Dependency(); + this.statusChanged = () => { if (this.statusListeners) this.statusListeners.changed(); }; From 8788b2d793ac1eca752b554985aa72ce5d191162 Mon Sep 17 00:00:00 2001 From: Sashko Stubailo Date: Thu, 9 Nov 2017 13:58:39 -0800 Subject: [PATCH 0093/1355] Get rid of self=this in method invoker --- packages/ddp-client/common/MethodInvoker.js | 63 +++++++++------------ 1 file changed, 28 insertions(+), 35 deletions(-) diff --git a/packages/ddp-client/common/MethodInvoker.js b/packages/ddp-client/common/MethodInvoker.js index dbecd76f49..f2490b92f8 100644 --- a/packages/ddp-client/common/MethodInvoker.js +++ b/packages/ddp-client/common/MethodInvoker.js @@ -5,62 +5,58 @@ // and the data written by it is fully visible. export default class MethodInvoker { constructor(options) { - var self = this; - // Public (within this file) fields. - self.methodId = options.methodId; - self.sentMessage = false; + this.methodId = options.methodId; + this.sentMessage = false; - self._callback = options.callback; - self._connection = options.connection; - self._message = options.message; - self._onResultReceived = options.onResultReceived || (() => {}); - self._wait = options.wait; - self.noRetry = options.noRetry; - self._methodResult = null; - self._dataVisible = false; + this._callback = options.callback; + this._connection = options.connection; + this._message = options.message; + this._onResultReceived = options.onResultReceived || (() => {}); + this._wait = options.wait; + this.noRetry = options.noRetry; + this._methodResult = null; + this._dataVisible = false; // Register with the connection. - self._connection._methodInvokers[self.methodId] = self; + this._connection._methodInvokers[this.methodId] = this; } // Sends the method message to the server. May be called additional times if // we lose the connection and reconnect before receiving a result. sendMessage() { - var self = this; // This function is called before sending a method (including resending on // reconnect). We should only (re)send methods where we don't already have a // result! - if (self.gotResult()) + if (this.gotResult()) throw new Error('sendingMethod is called on method with result'); // If we're re-sending it, it doesn't matter if data was written the first // time. - self._dataVisible = false; - self.sentMessage = true; + this._dataVisible = false; + this.sentMessage = true; // If this is a wait method, make all data messages be buffered until it is // done. - if (self._wait) - self._connection._methodsBlockingQuiescence[self.methodId] = true; + if (this._wait) + this._connection._methodsBlockingQuiescence[this.methodId] = true; // Actually send the message. - self._connection._send(self._message); + this._connection._send(this._message); } // Invoke the callback, if we have both a result and know that all data has // been written to the local cache. _maybeInvokeCallback() { - var self = this; - if (self._methodResult && self._dataVisible) { + if (this._methodResult && this._dataVisible) { // Call the callback. (This won't throw: the callback was wrapped with // bindEnvironment.) - self._callback(self._methodResult[0], self._methodResult[1]); + this._callback(this._methodResult[0], this._methodResult[1]); // Forget about this method. - delete self._connection._methodInvokers[self.methodId]; + delete this._connection._methodInvokers[this.methodId]; // Let the connection know that this method is finished, so it can try to // move on to the next block of methods. - self._connection._outstandingMethodFinished(); + this._connection._outstandingMethodFinished(); } } // Call with the result of the method from the server. Only may be called @@ -68,25 +64,22 @@ export default class MethodInvoker { // If the user provided an onResultReceived callback, call it immediately. // Then invoke the main callback if data is also visible. receiveResult(err, result) { - var self = this; - if (self.gotResult()) + if (this.gotResult()) throw new Error('Methods should only receive results once'); - self._methodResult = [err, result]; - self._onResultReceived(err, result); - self._maybeInvokeCallback(); + this._methodResult = [err, result]; + this._onResultReceived(err, result); + this._maybeInvokeCallback(); } // Call this when all data written by the method is visible. This means that // the method has returns its "data is done" message *AND* all server // documents that are buffered at that time have been written to the local // cache. Invokes the main callback if the result has been received. dataVisible() { - var self = this; - self._dataVisible = true; - self._maybeInvokeCallback(); + this._dataVisible = true; + this._maybeInvokeCallback(); } // True if receiveResult has been called. gotResult() { - var self = this; - return !!self._methodResult; + return !!this._methodResult; } } From 437b7808be5cae48efacc05f5bee62e9a8c0eca9 Mon Sep 17 00:00:00 2001 From: Sashko Stubailo Date: Thu, 9 Nov 2017 14:03:13 -0800 Subject: [PATCH 0094/1355] Replace _.all with Array#every --- packages/ddp-client/common/namespace.js | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/packages/ddp-client/common/namespace.js b/packages/ddp-client/common/namespace.js index dbc38f4eeb..85ab018527 100644 --- a/packages/ddp-client/common/namespace.js +++ b/packages/ddp-client/common/namespace.js @@ -83,8 +83,8 @@ DDP.onReconnect = callback => { // allConnections = []; DDP._allSubscriptionsReady = () => { - return _.all(allConnections, conn => { - return _.all(conn._subscriptions, sub => { + return allConnections.every(conn => { + return conn._subscriptions.every(sub => { return sub.ready; }); }); From 8a9875cf970bdb0e5e99a65bc57ca1047a55d4e0 Mon Sep 17 00:00:00 2001 From: Sashko Stubailo Date: Thu, 9 Nov 2017 14:04:52 -0800 Subject: [PATCH 0095/1355] Remove underscore from stream_client_nodejs --- packages/ddp-client/server/stream_client_nodejs.js | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/packages/ddp-client/server/stream_client_nodejs.js b/packages/ddp-client/server/stream_client_nodejs.js index 7abae4d970..61d92dcc81 100644 --- a/packages/ddp-client/server/stream_client_nodejs.js +++ b/packages/ddp-client/server/stream_client_nodejs.js @@ -91,7 +91,7 @@ export default class ClientStream extends StreamClientCommon { // fire resets. This must come after status change so that clients // can call send from within a reset callback. - _.each(this.eventCallbacks.reset, callback => { + this.forEachCallback('reset', callback => { callback(); }); } @@ -103,7 +103,7 @@ export default class ClientStream extends StreamClientCommon { this.client = null; client.close(); - _.each(this.eventCallbacks.disconnect, callback => { + this.forEachCallback('disconnect', callback => { callback(maybeError); }); } @@ -140,7 +140,7 @@ export default class ClientStream extends StreamClientCommon { headers: this.headers, extensions: [deflate] }; - fayeOptions = _.extend(fayeOptions, this.npmFayeOptions); + fayeOptions = { ...fayeOptions, ...this.npmFayeOptions }; var proxyUrl = this._getProxyUrl(targetUrl); if (proxyUrl) { fayeOptions.proxy = { origin: proxyUrl }; From 17ef5c295557bb6371e0c2f028af52bd08ed1a7d Mon Sep 17 00:00:00 2001 From: Sashko Stubailo Date: Thu, 9 Nov 2017 14:08:00 -0800 Subject: [PATCH 0096/1355] Make sure all imports have the .js extension --- packages/ddp-client/client/client.js | 2 +- packages/ddp-client/client/stream_client_sockjs.js | 4 ++-- packages/ddp-client/common/livedata_connection.js | 6 +++--- packages/ddp-client/common/namespace.js | 2 +- packages/ddp-client/common/urlHelpers.js | 2 +- packages/ddp-client/server/server.js | 2 +- packages/ddp-client/server/stream_client_nodejs.js | 6 +++--- packages/ddp-client/test/stream_tests.js | 5 ++--- 8 files changed, 14 insertions(+), 15 deletions(-) diff --git a/packages/ddp-client/client/client.js b/packages/ddp-client/client/client.js index 9890b464a2..0daeb42b8c 100644 --- a/packages/ddp-client/client/client.js +++ b/packages/ddp-client/client/client.js @@ -1,4 +1,4 @@ -export { DDP, LivedataTest } from '../common/namespace'; +export { DDP, LivedataTest } from '../common/namespace.js'; if (false) { import './stream_client_sockjs'; diff --git a/packages/ddp-client/client/stream_client_sockjs.js b/packages/ddp-client/client/stream_client_sockjs.js index 9738a0e0a0..e34c3c22da 100644 --- a/packages/ddp-client/client/stream_client_sockjs.js +++ b/packages/ddp-client/client/stream_client_sockjs.js @@ -4,8 +4,8 @@ import { Meteor } from 'meteor/meteor'; import './sockjs-0.3.4'; import { DDP, LivedataTest } from '../common/namespace.js'; -import { toSockjsUrl } from '../common/urlHelpers'; -import StreamClientCommon from '../common/stream_client_common'; +import { toSockjsUrl } from '../common/urlHelpers.js'; +import StreamClientCommon from '../common/stream_client_common.js'; export default class ClientStream extends StreamClientCommon { // @param url {String} URL to Meteor app diff --git a/packages/ddp-client/common/livedata_connection.js b/packages/ddp-client/common/livedata_connection.js index cc1e2b6eb7..00c1d49d18 100644 --- a/packages/ddp-client/common/livedata_connection.js +++ b/packages/ddp-client/common/livedata_connection.js @@ -6,15 +6,15 @@ import { EJSON } from 'meteor/ejson'; import { Random } from 'meteor/random'; import { Hook } from 'meteor/callback-hook'; import { MongoID } from 'meteor/mongo-id'; -import { DDP } from './namespace'; -import getClientStreamClass from './getClientStreamClass'; +import { DDP } from './namespace.js'; +import getClientStreamClass from './getClientStreamClass.js'; +import MethodInvoker from './MethodInvoker.js'; if (Meteor.isServer) { var Fiber = Npm.require('fibers'); var Future = Npm.require('fibers/future'); } -import MethodInvoker from './MethodInvoker'; class MongoIDMap extends IdMap { constructor() { diff --git a/packages/ddp-client/common/namespace.js b/packages/ddp-client/common/namespace.js index 85ab018527..33bfe918c7 100644 --- a/packages/ddp-client/common/namespace.js +++ b/packages/ddp-client/common/namespace.js @@ -1,7 +1,7 @@ import { DDPCommon } from 'meteor/ddp-common'; import { Meteor } from 'meteor/meteor'; -import { Connection } from './livedata_connection'; +import { Connection } from './livedata_connection.js'; /** * @namespace DDP diff --git a/packages/ddp-client/common/urlHelpers.js b/packages/ddp-client/common/urlHelpers.js index 3d0fe5cca9..b1dd3f7667 100644 --- a/packages/ddp-client/common/urlHelpers.js +++ b/packages/ddp-client/common/urlHelpers.js @@ -1,4 +1,4 @@ -import { LivedataTest } from './namespace'; +import { LivedataTest } from './namespace.js'; import { Random } from 'meteor/random'; // XXX from Underscore.String (http://epeli.github.com/underscore.string/) diff --git a/packages/ddp-client/server/server.js b/packages/ddp-client/server/server.js index d48c0b36a1..daa8d05e2c 100644 --- a/packages/ddp-client/server/server.js +++ b/packages/ddp-client/server/server.js @@ -1,4 +1,4 @@ -export { DDP, LivedataTest } from '../common/namespace'; +export { DDP, LivedataTest } from '../common/namespace.js'; if (false) { import './stream_client_nodejs'; diff --git a/packages/ddp-client/server/stream_client_nodejs.js b/packages/ddp-client/server/stream_client_nodejs.js index 61d92dcc81..74f6e33d7e 100644 --- a/packages/ddp-client/server/stream_client_nodejs.js +++ b/packages/ddp-client/server/stream_client_nodejs.js @@ -1,9 +1,9 @@ import { _ } from 'meteor/underscore'; import { Meteor } from 'meteor/meteor'; -import { DDP, LivedataTest } from '../common/namespace'; -import { toWebsocketUrl } from '../common/urlHelpers'; -import StreamClientCommon from '../common/stream_client_common'; +import { DDP, LivedataTest } from '../common/namespace.js'; +import { toWebsocketUrl } from '../common/urlHelpers.js'; +import StreamClientCommon from '../common/stream_client_common.js'; // @param endpoint {String} URL to Meteor app // "http://subdomain.meteor.com/" or "/" or diff --git a/packages/ddp-client/test/stream_tests.js b/packages/ddp-client/test/stream_tests.js index 0a7f3b2bfd..0704db6c5e 100644 --- a/packages/ddp-client/test/stream_tests.js +++ b/packages/ddp-client/test/stream_tests.js @@ -1,7 +1,6 @@ import { LivedataTest } from '../common/namespace.js'; -import { toSockjsUrl } from '../common/urlHelpers'; - -import getClientStreamClass from '../common/getClientStreamClass'; +import { toSockjsUrl } from '../common/urlHelpers.js'; +import getClientStreamClass from '../common/getClientStreamClass.js'; const ClientStream = getClientStreamClass(); From 34d78acf2185e0664f881a12726e31b6ef3a5cb2 Mon Sep 17 00:00:00 2001 From: Sashko Stubailo Date: Thu, 9 Nov 2017 14:20:28 -0800 Subject: [PATCH 0097/1355] Replace _.isFunction --- packages/ddp-client/common/livedata_connection.js | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/packages/ddp-client/common/livedata_connection.js b/packages/ddp-client/common/livedata_connection.js index 00c1d49d18..ce66379ac8 100644 --- a/packages/ddp-client/common/livedata_connection.js +++ b/packages/ddp-client/common/livedata_connection.js @@ -480,7 +480,7 @@ export class Connection { var callbacks = {}; if (params.length) { var lastParam = params[params.length - 1]; - if (_.isFunction(lastParam)) { + if (typeof lastParam === 'function') { callbacks.onReady = params.pop(); } else if ( lastParam && @@ -488,7 +488,7 @@ export class Connection { // onStop with an error callback instead. _.any( [lastParam.onReady, lastParam.onError, lastParam.onStop], - _.isFunction + (f) => typeof f === 'function' ) ) { callbacks = params.pop(); From 9095c7e2d6a413172bb4dffab93f817239e1f063 Mon Sep 17 00:00:00 2001 From: Sashko Stubailo Date: Thu, 9 Nov 2017 14:32:42 -0800 Subject: [PATCH 0098/1355] Move onMessage into method --- .../ddp-client/common/livedata_connection.js | 111 +++++++++--------- 1 file changed, 56 insertions(+), 55 deletions(-) diff --git a/packages/ddp-client/common/livedata_connection.js b/packages/ddp-client/common/livedata_connection.js index ce66379ac8..08bc3ebce0 100644 --- a/packages/ddp-client/common/livedata_connection.js +++ b/packages/ddp-client/common/livedata_connection.js @@ -45,7 +45,8 @@ class MongoIDMap extends IdMap { export class Connection { constructor(url, options) { var self = this; - options = { + + this.options = options = { onConnected() {}, onDDPVersionNegotiationFailure(description) { Meteor._debug(description); @@ -247,58 +248,6 @@ export class Connection { }); } - var onMessage = function(raw_msg) { - try { - var msg = DDPCommon.parseDDP(raw_msg); - } catch (e) { - Meteor._debug('Exception while parsing DDP', e); - return; - } - - // Any message counts as receiving a pong, as it demonstrates that - // the server is still alive. - if (self._heartbeat) { - self._heartbeat.messageReceived(); - } - - if (msg === null || !msg.msg) { - // XXX COMPAT WITH 0.6.6. ignore the old welcome message for back - // compat. Remove this 'if' once the server stops sending welcome - // messages (stream_server.js). - if (!(msg && msg.server_id)) - Meteor._debug('discarding invalid livedata message', msg); - return; - } - - if (msg.msg === 'connected') { - self._version = self._versionSuggestion; - self._livedata_connected(msg); - options.onConnected(); - } else if (msg.msg === 'failed') { - if (_.contains(self._supportedDDPVersions, msg.version)) { - self._versionSuggestion = msg.version; - self._stream.reconnect({ _force: true }); - } else { - var description = - 'DDP version negotiation failed; server requested version ' + - msg.version; - self._stream.disconnect({ _permanent: true, _error: description }); - options.onDDPVersionNegotiationFailure(description); - } - } else if (msg.msg === 'ping' && options.respondToPings) { - self._send({ msg: 'pong', id: msg.id }); - } else if (msg.msg === 'pong') { - // noop, as we assume everything's a pong - } else if ( - _.include(['added', 'changed', 'removed', 'ready', 'updated'], msg.msg) - ) - self._livedata_data(msg); - else if (msg.msg === 'nosub') self._livedata_nosub(msg); - else if (msg.msg === 'result') self._livedata_result(msg); - else if (msg.msg === 'error') self._livedata_error(msg); - else Meteor._debug('discarding unknown livedata message type', msg); - }; - var onReset = function() { // Send a connect message at the beginning of the stream. // NOTE: reset is called even on the first connection, so this is @@ -396,7 +345,7 @@ export class Connection { if (Meteor.isServer) { self._stream.on( 'message', - Meteor.bindEnvironment(onMessage, 'handling DDP message') + Meteor.bindEnvironment(this.onMessage.bind(this), 'handling DDP message') ); self._stream.on( 'reset', @@ -407,7 +356,7 @@ export class Connection { Meteor.bindEnvironment(onDisconnect, 'handling DDP disconnect') ); } else { - self._stream.on('message', onMessage); + self._stream.on('message', this.onMessage.bind(this)); self._stream.on('reset', onReset); self._stream.on('disconnect', onDisconnect); } @@ -1697,4 +1646,56 @@ export class Connection { self._retryMigrate = null; } } + + onMessage(raw_msg) { + try { + var msg = DDPCommon.parseDDP(raw_msg); + } catch (e) { + Meteor._debug('Exception while parsing DDP', e); + return; + } + + // Any message counts as receiving a pong, as it demonstrates that + // the server is still alive. + if (this._heartbeat) { + this._heartbeat.messageReceived(); + } + + if (msg === null || !msg.msg) { + // XXX COMPAT WITH 0.6.6. ignore the old welcome message for back + // compat. Remove this 'if' once the server stops sending welcome + // messages (stream_server.js). + if (!(msg && msg.server_id)) + Meteor._debug('discarding invalid livedata message', msg); + return; + } + + if (msg.msg === 'connected') { + this._version = this._versionSuggestion; + this._livedata_connected(msg); + this.options.onConnected(); + } else if (msg.msg === 'failed') { + if (_.contains(this._supportedDDPVersions, msg.version)) { + this._versionSuggestion = msg.version; + this._stream.reconnect({ _force: true }); + } else { + var description = + 'DDP version negotiation failed; server requested version ' + + msg.version; + this._stream.disconnect({ _permanent: true, _error: description }); + options.onDDPVersionNegotiationFailure(description); + } + } else if (msg.msg === 'ping' && this.options.respondToPings) { + this._send({ msg: 'pong', id: msg.id }); + } else if (msg.msg === 'pong') { + // noop, as we assume everything's a pong + } else if ( + _.include(['added', 'changed', 'removed', 'ready', 'updated'], msg.msg) + ) + this._livedata_data(msg); + else if (msg.msg === 'nosub') this._livedata_nosub(msg); + else if (msg.msg === 'result') this._livedata_result(msg); + else if (msg.msg === 'error') this._livedata_error(msg); + else Meteor._debug('discarding unknown livedata message type', msg); + } } From 90f95641cfa7c450a18bd8d7bd604510eb37ea63 Mon Sep 17 00:00:00 2001 From: Sashko Stubailo Date: Thu, 9 Nov 2017 14:34:28 -0800 Subject: [PATCH 0099/1355] Move onReset into a method --- .../ddp-client/common/livedata_connection.js | 186 +++++++++--------- 1 file changed, 94 insertions(+), 92 deletions(-) diff --git a/packages/ddp-client/common/livedata_connection.js b/packages/ddp-client/common/livedata_connection.js index 08bc3ebce0..dd0fbd6777 100644 --- a/packages/ddp-client/common/livedata_connection.js +++ b/packages/ddp-client/common/livedata_connection.js @@ -15,7 +15,6 @@ if (Meteor.isServer) { var Future = Npm.require('fibers/future'); } - class MongoIDMap extends IdMap { constructor() { super(MongoID.idStringify, MongoID.idParse); @@ -248,93 +247,6 @@ export class Connection { }); } - var onReset = function() { - // Send a connect message at the beginning of the stream. - // NOTE: reset is called even on the first connection, so this is - // the only place we send this message. - var msg = { msg: 'connect' }; - if (self._lastSessionId) msg.session = self._lastSessionId; - msg.version = self._versionSuggestion || self._supportedDDPVersions[0]; - self._versionSuggestion = msg.version; - msg.support = self._supportedDDPVersions; - self._send(msg); - - // Mark non-retry calls as failed. This has to be done early as getting these methods out of the - // current block is pretty important to making sure that quiescence is properly calculated, as - // well as possibly moving on to another useful block. - - // Only bother testing if there is an outstandingMethodBlock (there might not be, especially if - // we are connecting for the first time. - if (self._outstandingMethodBlocks.length > 0) { - // If there is an outstanding method block, we only care about the first one as that is the - // one that could have already sent messages with no response, that are not allowed to retry. - const currentMethodBlock = self._outstandingMethodBlocks[0].methods; - self._outstandingMethodBlocks[0].methods = currentMethodBlock.filter( - methodInvoker => { - // Methods with 'noRetry' option set are not allowed to re-send after - // recovering dropped connection. - if (methodInvoker.sentMessage && methodInvoker.noRetry) { - // Make sure that the method is told that it failed. - methodInvoker.receiveResult( - new Meteor.Error( - 'invocation-failed', - 'Method invocation might have failed due to dropped connection. ' + - 'Failing because `noRetry` option was passed to Meteor.apply.' - ) - ); - } - - // Only keep a method if it wasn't sent or it's allowed to retry. - // This may leave the block empty, but we don't move on to the next - // block until the callback has been delivered, in _outstandingMethodFinished. - return !(methodInvoker.sentMessage && methodInvoker.noRetry); - } - ); - } - - // Now, to minimize setup latency, go ahead and blast out all of - // our pending methods ands subscriptions before we've even taken - // the necessary RTT to know if we successfully reconnected. (1) - // They're supposed to be idempotent, and where they are not, - // they can block retry in apply; (2) even if we did reconnect, - // we're not sure what messages might have gotten lost - // (in either direction) since we were disconnected (TCP being - // sloppy about that.) - - // If the current block of methods all got their results (but didn't all get - // their data visible), discard the empty block now. - if ( - !_.isEmpty(self._outstandingMethodBlocks) && - _.isEmpty(self._outstandingMethodBlocks[0].methods) - ) { - self._outstandingMethodBlocks.shift(); - } - - // Mark all messages as unsent, they have not yet been sent on this - // connection. - _.each(self._methodInvokers, function(m) { - m.sentMessage = false; - }); - - // If an `onReconnect` handler is set, call it first. Go through - // some hoops to ensure that methods that are called from within - // `onReconnect` get executed _before_ ones that were originally - // outstanding (since `onReconnect` is used to re-establish auth - // certificates) - self._callOnReconnectAndSendAppropriateOutstandingMethods(); - - // add new subscriptions at the end. this way they take effect after - // the handlers and we don't see flicker. - _.each(self._subscriptions, function(sub, id) { - self._send({ - msg: 'sub', - id: id, - name: sub.name, - params: sub.params - }); - }); - }; - var onDisconnect = function() { if (self._heartbeat) { self._heartbeat.stop(); @@ -345,11 +257,14 @@ export class Connection { if (Meteor.isServer) { self._stream.on( 'message', - Meteor.bindEnvironment(this.onMessage.bind(this), 'handling DDP message') + Meteor.bindEnvironment( + this.onMessage.bind(this), + 'handling DDP message' + ) ); self._stream.on( 'reset', - Meteor.bindEnvironment(onReset, 'handling DDP reset') + Meteor.bindEnvironment(this.onReset.bind(this), 'handling DDP reset') ); self._stream.on( 'disconnect', @@ -357,7 +272,7 @@ export class Connection { ); } else { self._stream.on('message', this.onMessage.bind(this)); - self._stream.on('reset', onReset); + self._stream.on('reset', this.onReset.bind(this)); self._stream.on('disconnect', onDisconnect); } } @@ -437,7 +352,7 @@ export class Connection { // onStop with an error callback instead. _.any( [lastParam.onReady, lastParam.onError, lastParam.onStop], - (f) => typeof f === 'function' + f => typeof f === 'function' ) ) { callbacks = params.pop(); @@ -1698,4 +1613,91 @@ export class Connection { else if (msg.msg === 'error') this._livedata_error(msg); else Meteor._debug('discarding unknown livedata message type', msg); } + + onReset() { + // Send a connect message at the beginning of the stream. + // NOTE: reset is called even on the first connection, so this is + // the only place we send this message. + var msg = { msg: 'connect' }; + if (this._lastSessionId) msg.session = this._lastSessionId; + msg.version = this._versionSuggestion || this._supportedDDPVersions[0]; + this._versionSuggestion = msg.version; + msg.support = this._supportedDDPVersions; + this._send(msg); + + // Mark non-retry calls as failed. This has to be done early as getting these methods out of the + // current block is pretty important to making sure that quiescence is properly calculated, as + // well as possibly moving on to another useful block. + + // Only bother testing if there is an outstandingMethodBlock (there might not be, especially if + // we are connecting for the first time. + if (this._outstandingMethodBlocks.length > 0) { + // If there is an outstanding method block, we only care about the first one as that is the + // one that could have already sent messages with no response, that are not allowed to retry. + const currentMethodBlock = this._outstandingMethodBlocks[0].methods; + this._outstandingMethodBlocks[0].methods = currentMethodBlock.filter( + methodInvoker => { + // Methods with 'noRetry' option set are not allowed to re-send after + // recovering dropped connection. + if (methodInvoker.sentMessage && methodInvoker.noRetry) { + // Make sure that the method is told that it failed. + methodInvoker.receiveResult( + new Meteor.Error( + 'invocation-failed', + 'Method invocation might have failed due to dropped connection. ' + + 'Failing because `noRetry` option was passed to Meteor.apply.' + ) + ); + } + + // Only keep a method if it wasn't sent or it's allowed to retry. + // This may leave the block empty, but we don't move on to the next + // block until the callback has been delivered, in _outstandingMethodFinished. + return !(methodInvoker.sentMessage && methodInvoker.noRetry); + } + ); + } + + // Now, to minimize setup latency, go ahead and blast out all of + // our pending methods ands subscriptions before we've even taken + // the necessary RTT to know if we successfully reconnected. (1) + // They're supposed to be idempotent, and where they are not, + // they can block retry in apply; (2) even if we did reconnect, + // we're not sure what messages might have gotten lost + // (in either direction) since we were disconnected (TCP being + // sloppy about that.) + + // If the current block of methods all got their results (but didn't all get + // their data visible), discard the empty block now. + if ( + !_.isEmpty(this._outstandingMethodBlocks) && + _.isEmpty(this._outstandingMethodBlocks[0].methods) + ) { + this._outstandingMethodBlocks.shift(); + } + + // Mark all messages as unsent, they have not yet been sent on this + // connection. + _.each(this._methodInvokers, m => { + m.sentMessage = false; + }); + + // If an `onReconnect` handler is set, call it first. Go through + // some hoops to ensure that methods that are called from within + // `onReconnect` get executed _before_ ones that were originally + // outstanding (since `onReconnect` is used to re-establish auth + // certificates) + this._callOnReconnectAndSendAppropriateOutstandingMethods(); + + // add new subscriptions at the end. this way they take effect after + // the handlers and we don't see flicker. + _.each(this._subscriptions, (sub, id) => { + this._send({ + msg: 'sub', + id: id, + name: sub.name, + params: sub.params + }); + }); + } } From 7b69fa7f480c43a42c1c04050088db90c278c94b Mon Sep 17 00:00:00 2001 From: Sashko Stubailo Date: Thu, 9 Nov 2017 14:36:10 -0800 Subject: [PATCH 0100/1355] Add brackets to if/else chain --- packages/ddp-client/common/livedata_connection.js | 15 ++++++++++----- 1 file changed, 10 insertions(+), 5 deletions(-) diff --git a/packages/ddp-client/common/livedata_connection.js b/packages/ddp-client/common/livedata_connection.js index dd0fbd6777..ba7bfeea07 100644 --- a/packages/ddp-client/common/livedata_connection.js +++ b/packages/ddp-client/common/livedata_connection.js @@ -1606,12 +1606,17 @@ export class Connection { // noop, as we assume everything's a pong } else if ( _.include(['added', 'changed', 'removed', 'ready', 'updated'], msg.msg) - ) + ) { this._livedata_data(msg); - else if (msg.msg === 'nosub') this._livedata_nosub(msg); - else if (msg.msg === 'result') this._livedata_result(msg); - else if (msg.msg === 'error') this._livedata_error(msg); - else Meteor._debug('discarding unknown livedata message type', msg); + } else if (msg.msg === 'nosub') { + this._livedata_nosub(msg); + } else if (msg.msg === 'result') { + this._livedata_result(msg); + } else if (msg.msg === 'error') { + this._livedata_error(msg); + } else { + Meteor._debug('discarding unknown livedata message type', msg); + } } onReset() { From dadd4323e407984765b25df4ee5b1651a9ff6639 Mon Sep 17 00:00:00 2001 From: Sashko Stubailo Date: Thu, 9 Nov 2017 14:52:42 -0800 Subject: [PATCH 0101/1355] No more dynamic method naming --- .../ddp-client/common/livedata_connection.js | 19 ++++++++++++++++--- 1 file changed, 16 insertions(+), 3 deletions(-) diff --git a/packages/ddp-client/common/livedata_connection.js b/packages/ddp-client/common/livedata_connection.js index ba7bfeea07..cd5d055d0e 100644 --- a/packages/ddp-client/common/livedata_connection.js +++ b/packages/ddp-client/common/livedata_connection.js @@ -1052,9 +1052,22 @@ export class Connection { } _processOneDataMessage(msg, updates) { - var self = this; - // Using underscore here so as not to need to capitalize. - self['_process_' + msg.msg](msg, updates); + const messageType = msg.msg; + + // msg is one of ['added', 'changed', 'removed', 'ready', 'updated'] + if (messageType === 'added') { + this._process_added(msg, updates); + } else if (messageType === 'changed') { + this._process_changed(msg, updates); + } else if (messageType === 'removed') { + this._process_removed(msg, updates); + } else if (messageType === 'ready') { + this._process_ready(msg, updates); + } else if (messageType === 'updated') { + this._process_updated(msg, updates); + } else { + Meteor._debug('discarding unknown livedata data message type', msg); + } } _livedata_data(msg) { From af0ecc0aab2f0ae4f203e42d44568317692ac2ce Mon Sep 17 00:00:00 2001 From: Sashko Stubailo Date: Thu, 9 Nov 2017 14:53:00 -0800 Subject: [PATCH 0102/1355] Fix undefined options --- packages/ddp-client/common/livedata_connection.js | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/packages/ddp-client/common/livedata_connection.js b/packages/ddp-client/common/livedata_connection.js index cd5d055d0e..678a60b154 100644 --- a/packages/ddp-client/common/livedata_connection.js +++ b/packages/ddp-client/common/livedata_connection.js @@ -1611,7 +1611,7 @@ export class Connection { 'DDP version negotiation failed; server requested version ' + msg.version; this._stream.disconnect({ _permanent: true, _error: description }); - options.onDDPVersionNegotiationFailure(description); + this.options.onDDPVersionNegotiationFailure(description); } } else if (msg.msg === 'ping' && this.options.respondToPings) { this._send({ msg: 'pong', id: msg.id }); From 78027030e7861d338756264efd5dd2fa34350ae3 Mon Sep 17 00:00:00 2001 From: Sashko Stubailo Date: Thu, 9 Nov 2017 14:53:11 -0800 Subject: [PATCH 0103/1355] Remove underscore from callbacks --- packages/ddp-client/common/livedata_connection.js | 12 ++++++------ 1 file changed, 6 insertions(+), 6 deletions(-) diff --git a/packages/ddp-client/common/livedata_connection.js b/packages/ddp-client/common/livedata_connection.js index 678a60b154..0080525f45 100644 --- a/packages/ddp-client/common/livedata_connection.js +++ b/packages/ddp-client/common/livedata_connection.js @@ -1618,7 +1618,7 @@ export class Connection { } else if (msg.msg === 'pong') { // noop, as we assume everything's a pong } else if ( - _.include(['added', 'changed', 'removed', 'ready', 'updated'], msg.msg) + ['added', 'changed', 'removed', 'ready', 'updated'].includes(msg.msg) ) { this._livedata_data(msg); } else if (msg.msg === 'nosub') { @@ -1688,16 +1688,16 @@ export class Connection { // If the current block of methods all got their results (but didn't all get // their data visible), discard the empty block now. if ( - !_.isEmpty(this._outstandingMethodBlocks) && - _.isEmpty(this._outstandingMethodBlocks[0].methods) + this._outstandingMethodBlocks.length > 0 && + this._outstandingMethodBlocks[0].methods.length === 0 ) { this._outstandingMethodBlocks.shift(); } // Mark all messages as unsent, they have not yet been sent on this // connection. - _.each(this._methodInvokers, m => { - m.sentMessage = false; + Object.entries(this._methodInvokers).forEach(([id, methodInvoker]) => { + methodInvoker.sentMessage = false; }); // If an `onReconnect` handler is set, call it first. Go through @@ -1709,7 +1709,7 @@ export class Connection { // add new subscriptions at the end. this way they take effect after // the handlers and we don't see flicker. - _.each(this._subscriptions, (sub, id) => { + Object.entries(this._subscriptions).forEach(([id, sub]) => { this._send({ msg: 'sub', id: id, From bb1a50706a9f64c4361a243533121ffa1c6ec7ad Mon Sep 17 00:00:00 2001 From: Sashko Stubailo Date: Thu, 9 Nov 2017 14:59:00 -0800 Subject: [PATCH 0104/1355] Fix args and this for stuff that passes through to stream --- .../ddp-client/common/livedata_connection.js | 54 +++++++------------ 1 file changed, 19 insertions(+), 35 deletions(-) diff --git a/packages/ddp-client/common/livedata_connection.js b/packages/ddp-client/common/livedata_connection.js index 0080525f45..b8e5990862 100644 --- a/packages/ddp-client/common/livedata_connection.js +++ b/packages/ddp-client/common/livedata_connection.js @@ -856,16 +856,14 @@ export class Connection { // Sends the DDP stringification of the given message object _send(obj) { - var self = this; - self._stream.send(DDPCommon.stringifyDDP(obj)); + this._stream.send(DDPCommon.stringifyDDP(obj)); } // We detected via DDP-level heartbeats that we've lost the // connection. Unlike `disconnect` or `close`, a lost connection // will be automatically retried. _lostConnection(error) { - var self = this; - self._stream._lostConnection(error); + this._stream._lostConnection(error); } /** @@ -874,9 +872,8 @@ export class Connection { * @memberOf Meteor * @importFromPackage meteor */ - status(/*passthrough args*/) { - var self = this; - return self._stream.status.apply(self._stream, arguments); + status(...args) { + return this._stream.status(...args); } /** @@ -887,9 +884,8 @@ export class Connection { * @memberOf Meteor * @importFromPackage meteor */ - reconnect(/*passthrough args*/) { - var self = this; - return self._stream.reconnect.apply(self._stream, arguments); + reconnect(...args) { + return this._stream.reconnect(...args); } /** @@ -898,49 +894,43 @@ export class Connection { * @memberOf Meteor * @importFromPackage meteor */ - disconnect(/*passthrough args*/) { - var self = this; - return self._stream.disconnect.apply(self._stream, arguments); + disconnect(...args) { + return this._stream.disconnect(...args); } close() { - var self = this; - return self._stream.disconnect({ _permanent: true }); + return this._stream.disconnect({ _permanent: true }); } /// /// Reactive user system /// userId() { - var self = this; - if (self._userIdDeps) self._userIdDeps.depend(); - return self._userId; + if (this._userIdDeps) this._userIdDeps.depend(); + return this._userId; } setUserId(userId) { - var self = this; // Avoid invalidating dependents if setUserId is called with current value. - if (self._userId === userId) return; - self._userId = userId; - if (self._userIdDeps) self._userIdDeps.changed(); + if (this._userId === userId) return; + this._userId = userId; + if (this._userIdDeps) this._userIdDeps.changed(); } // Returns true if we are in a state after reconnect of waiting for subs to be // revived or early methods to finish their data, or we are waiting for a // "wait" method to finish. _waitingForQuiescence() { - var self = this; return ( - !_.isEmpty(self._subsBeingRevived) || - !_.isEmpty(self._methodsBlockingQuiescence) + !_.isEmpty(this._subsBeingRevived) || + !_.isEmpty(this._methodsBlockingQuiescence) ); } // Returns true if any method whose message has been sent to the server has // not yet invoked its user callback. _anyMethodsAreOutstanding() { - var self = this; - return _.any(_.pluck(self._methodInvokers, 'sentMessage')); + return _.any(_.pluck(this._methodInvokers, 'sentMessage')); } _livedata_connected(msg) { @@ -1065,6 +1055,8 @@ export class Connection { this._process_ready(msg, updates); } else if (messageType === 'updated') { this._process_updated(msg, updates); + } else if (messageType === 'nosub') { + // ignore this } else { Meteor._debug('discarding unknown livedata data message type', msg); } @@ -1420,14 +1412,6 @@ export class Connection { } } - _process_nosub() { - // This is called as part of the "buffer until quiescence" process, but - // nosub's effect is always immediate. It only goes in the buffer at all - // because it's possible for a nosub to be the thing that triggers - // quiescence, if we were waiting for a sub to be revived and it dies - // instead. - } - _livedata_result(msg) { // id, result or error. error has error (code), reason, details From 84a6310bbccdbac3ca500cf3c05b0d16624d3853 Mon Sep 17 00:00:00 2001 From: Sashko Stubailo Date: Thu, 9 Nov 2017 15:33:55 -0800 Subject: [PATCH 0105/1355] No more function statements except tests --- .../ddp-client/common/livedata_connection.js | 90 +++++++++---------- 1 file changed, 45 insertions(+), 45 deletions(-) diff --git a/packages/ddp-client/common/livedata_connection.js b/packages/ddp-client/common/livedata_connection.js index b8e5990862..b253009603 100644 --- a/packages/ddp-client/common/livedata_connection.js +++ b/packages/ddp-client/common/livedata_connection.js @@ -235,7 +235,7 @@ export class Connection { // Block auto-reload while we're waiting for method responses. if (Meteor.isClient && Package.reload && !options.reloadWithOutstanding) { - Package.reload.Reload._onMigrate(function(retry) { + Package.reload.Reload._onMigrate((retry) => { if (!self._readyToMigrate()) { if (self._retryMigrate) throw new Error('Two migrations in progress?'); @@ -247,7 +247,7 @@ export class Connection { }); } - var onDisconnect = function() { + var onDisconnect = () => { if (self._heartbeat) { self._heartbeat.stop(); self._heartbeat = null; @@ -298,10 +298,10 @@ export class Connection { 'getDoc', '_getCollection' ], - function(method) { - store[method] = function() { + (method) => { + store[method] = (...args) => { return wrappedStore[method] - ? wrappedStore[method].apply(wrappedStore, arguments) + ? wrappedStore[method].apply(wrappedStore, args) : undefined; }; } @@ -312,7 +312,7 @@ export class Connection { var queued = self._updatesForUnknownStores[name]; if (queued) { store.beginUpdate(queued.length, false); - _.each(queued, function(msg) { + _.each(queued, (msg) => { store.update(msg); }); store.endUpdate(); @@ -377,7 +377,7 @@ export class Connection { // We only look for one such sub; if there are N apparently-identical subs // being invalidated, we will require N matching subscribe calls to keep // them all active. - var existing = _.find(self._subscriptions, function(sub) { + var existing = _.find(self._subscriptions, (sub) => { return ( sub.inactive && sub.name === name && EJSON.equals(sub.params, params) ); @@ -471,11 +471,11 @@ export class Connection { // as a change to mark the subscription "inactive" so that it can // be reused from the rerun. If it isn't reused, it's killed from // an afterFlush. - Tracker.onInvalidate(function(c) { + Tracker.onInvalidate((c) => { if (_.has(self._subscriptions, id)) self._subscriptions[id].inactive = true; - Tracker.afterFlush(function() { + Tracker.afterFlush(() => { if ( _.has(self._subscriptions, id) && self._subscriptions[id].inactive @@ -515,7 +515,7 @@ export class Connection { methods(methods) { var self = this; - _.each(methods, function(func, name) { + _.each(methods, (func, name) => { if (typeof func !== 'function') throw new Error("Method '" + name + "' must be a function"); if (self._methodHandlers[name]) @@ -625,7 +625,7 @@ export class Connection { // randomSeed to save bandwidth, and we don't even generate it to save a // bit of CPU and to avoid consuming entropy. var randomSeed = null; - var randomSeedGenerator = function() { + var randomSeedGenerator = () => { if (randomSeed === null) { randomSeed = DDPCommon.makeRpcSeed(enclosing, name); } @@ -646,7 +646,7 @@ export class Connection { var stub = self._methodHandlers[name]; if (stub) { - var setUserId = function(userId) { + var setUserId = (userId) => { self.setUserId(userId); }; @@ -666,11 +666,11 @@ export class Connection { // that stubs check() their arguments. var stubReturnValue = DDP._CurrentMethodInvocation.withValue( invocation, - function() { + () => { if (Meteor.isServer) { // Because saveOriginals and retrieveOriginals aren't reentrant, // don't allow stubs to yield. - return Meteor._noYieldsAllowed(function() { + return Meteor._noYieldsAllowed(() => { // re-clone, so that the stub can't affect our caller's values return stub.apply(invocation, EJSON.clone(args)); }); @@ -727,7 +727,7 @@ export class Connection { // only thing we can do is to return undefined and discard the // result of the RPC. If an error occurred then print the error // to the console. - callback = function(err) { + callback = (err) => { err && Meteor._debug("Error invoking Method '" + name + "':", err.message); }; @@ -797,7 +797,7 @@ export class Connection { _saveOriginals() { var self = this; if (!self._waitingForQuiescence()) self._flushBufferedWrites(); - _.each(self._stores, function(s) { + _.each(self._stores, (s) => { s.saveOriginals(); }); } @@ -810,11 +810,11 @@ export class Connection { throw new Error('Duplicate methodId in _retrieveAndStoreOriginals'); var docsWritten = []; - _.each(self._stores, function(s, collection) { + _.each(self._stores, (s, collection) => { var originals = s.retrieveOriginals(); // not all stores define retrieveOriginals if (!originals) return; - originals.forEach(function(doc, id) { + originals.forEach((doc, id) => { docsWritten.push({ collection: collection, id: id }); if (!_.has(self._serverDocuments, collection)) self._serverDocuments[collection] = new MongoIDMap(); @@ -841,7 +841,7 @@ export class Connection { // take up fewer server resources after they complete. _unsubscribeAll() { var self = this; - _.each(_.clone(self._subscriptions), function(sub, id) { + _.each(_.clone(self._subscriptions), (sub, id) => { // Avoid killing the autoupdate subscription so that developers // still get hot code pushes when writing tests. // @@ -990,7 +990,7 @@ export class Connection { // XXX We should also block reconnect quiescence until unnamed subscriptions // (eg, autopublish) are done re-publishing to avoid flicker! self._subsBeingRevived = {}; - _.each(self._subscriptions, function(sub, id) { + _.each(self._subscriptions, (sub, id) => { if (sub.ready) self._subsBeingRevived[id] = true; }); @@ -1003,7 +1003,7 @@ export class Connection { // that we drop here will be restored by the loop below. self._methodsBlockingQuiescence = {}; if (self._resetStores) { - _.each(self._methodInvokers, function(invoker) { + _.each(self._methodInvokers, (invoker) => { if (invoker.gotResult()) { // This method already got its result, but it didn't call its callback // because its data didn't become visible. We did not resend the @@ -1031,7 +1031,7 @@ export class Connection { // call the callbacks immediately. if (!self._waitingForQuiescence()) { if (self._resetStores) { - _.each(self._stores, function(s) { + _.each(self._stores, (s) => { s.beginUpdate(0, true); s.endUpdate(); }); @@ -1070,10 +1070,10 @@ export class Connection { if (msg.msg === 'nosub') delete self._subsBeingRevived[msg.id]; - _.each(msg.subs || [], function(subId) { + _.each(msg.subs || [], (subId) => { delete self._subsBeingRevived[subId]; }); - _.each(msg.methods || [], function(methodId) { + _.each(msg.methods || [], (methodId) => { delete self._methodsBlockingQuiescence[methodId]; }); @@ -1082,7 +1082,7 @@ export class Connection { // No methods or subs are blocking quiescence! // We'll now process and all of our buffered messages, reset all stores, // and apply them all at once. - _.each(self._messagesBufferedUntilQuiescence, function(bufferedMsg) { + _.each(self._messagesBufferedUntilQuiescence, (bufferedMsg) => { self._processOneDataMessage(bufferedMsg, self._bufferedWrites); }); self._messagesBufferedUntilQuiescence = []; @@ -1137,7 +1137,7 @@ export class Connection { if (self._resetStores || !_.isEmpty(updates)) { // Begin a transactional update of each store. - _.each(self._stores, function(s, storeName) { + _.each(self._stores, (s, storeName) => { s.beginUpdate( _.has(updates, storeName) ? updates[storeName].length : 0, self._resetStores @@ -1145,10 +1145,10 @@ export class Connection { }); self._resetStores = false; - _.each(updates, function(updateMessages, storeName) { + _.each(updates, (updateMessages, storeName) => { var store = self._stores[storeName]; if (store) { - _.each(updateMessages, function(updateMessage) { + _.each(updateMessages, (updateMessage) => { store.update(updateMessage); }); } else { @@ -1167,7 +1167,7 @@ export class Connection { }); // End update transaction. - _.each(self._stores, function(s) { + _.each(self._stores, (s) => { s.endUpdate(); }); } @@ -1182,7 +1182,7 @@ export class Connection { var self = this; var callbacks = self._afterUpdateCallbacks; self._afterUpdateCallbacks = []; - _.each(callbacks, function(c) { + _.each(callbacks, (c) => { c(); }); } @@ -1262,8 +1262,8 @@ export class Connection { _process_updated(msg, updates) { var self = this; // Process "method done" messages. - _.each(msg.methods, function(methodId) { - _.each(self._documentsWrittenByStub[methodId], function(written) { + _.each(msg.methods, (methodId) => { + _.each(self._documentsWrittenByStub[methodId], (written) => { var serverDoc = self._getServerDoc(written.collection, written.id); if (!serverDoc) throw new Error('Lost serverDoc for ' + JSON.stringify(written)); @@ -1290,7 +1290,7 @@ export class Connection { replace: serverDoc.document }); // Call all flush callbacks. - _.each(serverDoc.flushCallbacks, function(c) { + _.each(serverDoc.flushCallbacks, (c) => { c(); }); @@ -1318,8 +1318,8 @@ export class Connection { // Process "sub ready" messages. "sub ready" messages don't take effect // until all current server documents have been flushed to the local // database. We can use a write fence to implement this. - _.each(msg.subs, function(subId) { - self._runWhenAllServerDocsAreFlushed(function() { + _.each(msg.subs, (subId) => { + self._runWhenAllServerDocsAreFlushed(() => { var subRecord = self._subscriptions[subId]; // Did we already unsubscribe? if (!subRecord) return; @@ -1337,11 +1337,11 @@ export class Connection { // if the connection is lost before then! _runWhenAllServerDocsAreFlushed(f) { var self = this; - var runFAfterUpdates = function() { + var runFAfterUpdates = () => { self._afterUpdateCallbacks.push(f); }; var unflushedServerDocCount = 0; - var onServerDocFlush = function() { + var onServerDocFlush = () => { --unflushedServerDocCount; if (unflushedServerDocCount === 0) { // This was the last doc to flush! Arrange to run f after the updates @@ -1349,11 +1349,11 @@ export class Connection { runFAfterUpdates(); } }; - _.each(self._serverDocuments, function(collectionDocs) { - collectionDocs.forEach(function(serverDoc) { + _.each(self._serverDocuments, (collectionDocs) => { + collectionDocs.forEach((serverDoc) => { var writtenByStubForAMethodWithSentMessage = _.any( serverDoc.writtenByStubs, - function(dummy, methodId) { + (dummy, methodId) => { var invoker = self._methodInvokers[methodId]; return invoker && invoker.sentMessage; } @@ -1390,7 +1390,7 @@ export class Connection { self._subscriptions[msg.id].remove(); - var meteorErrorFromMsg = function(msgArg) { + var meteorErrorFromMsg = (msgArg) => { return ( msgArg && msgArg.error && @@ -1488,7 +1488,7 @@ export class Connection { _sendOutstandingMethods() { var self = this; if (_.isEmpty(self._outstandingMethodBlocks)) return; - _.each(self._outstandingMethodBlocks[0].methods, function(m) { + _.each(self._outstandingMethodBlocks[0].methods, (m) => { m.sendMessage(); }); } @@ -1504,7 +1504,7 @@ export class Connection { self._outstandingMethodBlocks = []; self.onReconnect && self.onReconnect(); - DDP._reconnectHook.each(function(callback) { + DDP._reconnectHook.each((callback) => { callback(self); return true; }); @@ -1527,7 +1527,7 @@ export class Connection { !_.last(self._outstandingMethodBlocks).wait && !oldOutstandingMethodBlocks[0].wait ) { - _.each(oldOutstandingMethodBlocks[0].methods, function(m) { + _.each(oldOutstandingMethodBlocks[0].methods, (m) => { _.last(self._outstandingMethodBlocks).methods.push(m); // If this "last block" is also the first block, send the message. @@ -1538,7 +1538,7 @@ export class Connection { } // Now add the rest of the original blocks on. - _.each(oldOutstandingMethodBlocks, function(block) { + _.each(oldOutstandingMethodBlocks, (block) => { self._outstandingMethodBlocks.push(block); }); } From d8c89e5070d7fe12a1031ff8602ca36bcd436bbe Mon Sep 17 00:00:00 2001 From: Sashko Stubailo Date: Fri, 10 Nov 2017 08:56:25 -0800 Subject: [PATCH 0106/1355] Arrow function formatting --- .../ddp-client/common/livedata_connection.js | 54 +++++++++---------- 1 file changed, 27 insertions(+), 27 deletions(-) diff --git a/packages/ddp-client/common/livedata_connection.js b/packages/ddp-client/common/livedata_connection.js index b253009603..eea38a5294 100644 --- a/packages/ddp-client/common/livedata_connection.js +++ b/packages/ddp-client/common/livedata_connection.js @@ -235,7 +235,7 @@ export class Connection { // Block auto-reload while we're waiting for method responses. if (Meteor.isClient && Package.reload && !options.reloadWithOutstanding) { - Package.reload.Reload._onMigrate((retry) => { + Package.reload.Reload._onMigrate(retry => { if (!self._readyToMigrate()) { if (self._retryMigrate) throw new Error('Two migrations in progress?'); @@ -298,7 +298,7 @@ export class Connection { 'getDoc', '_getCollection' ], - (method) => { + method => { store[method] = (...args) => { return wrappedStore[method] ? wrappedStore[method].apply(wrappedStore, args) @@ -312,7 +312,7 @@ export class Connection { var queued = self._updatesForUnknownStores[name]; if (queued) { store.beginUpdate(queued.length, false); - _.each(queued, (msg) => { + _.each(queued, msg => { store.update(msg); }); store.endUpdate(); @@ -377,7 +377,7 @@ export class Connection { // We only look for one such sub; if there are N apparently-identical subs // being invalidated, we will require N matching subscribe calls to keep // them all active. - var existing = _.find(self._subscriptions, (sub) => { + var existing = _.find(self._subscriptions, sub => { return ( sub.inactive && sub.name === name && EJSON.equals(sub.params, params) ); @@ -471,7 +471,7 @@ export class Connection { // as a change to mark the subscription "inactive" so that it can // be reused from the rerun. If it isn't reused, it's killed from // an afterFlush. - Tracker.onInvalidate((c) => { + Tracker.onInvalidate(c => { if (_.has(self._subscriptions, id)) self._subscriptions[id].inactive = true; @@ -646,7 +646,7 @@ export class Connection { var stub = self._methodHandlers[name]; if (stub) { - var setUserId = (userId) => { + var setUserId = userId => { self.setUserId(userId); }; @@ -727,7 +727,7 @@ export class Connection { // only thing we can do is to return undefined and discard the // result of the RPC. If an error occurred then print the error // to the console. - callback = (err) => { + callback = err => { err && Meteor._debug("Error invoking Method '" + name + "':", err.message); }; @@ -797,7 +797,7 @@ export class Connection { _saveOriginals() { var self = this; if (!self._waitingForQuiescence()) self._flushBufferedWrites(); - _.each(self._stores, (s) => { + _.each(self._stores, s => { s.saveOriginals(); }); } @@ -1003,7 +1003,7 @@ export class Connection { // that we drop here will be restored by the loop below. self._methodsBlockingQuiescence = {}; if (self._resetStores) { - _.each(self._methodInvokers, (invoker) => { + _.each(self._methodInvokers, invoker => { if (invoker.gotResult()) { // This method already got its result, but it didn't call its callback // because its data didn't become visible. We did not resend the @@ -1031,7 +1031,7 @@ export class Connection { // call the callbacks immediately. if (!self._waitingForQuiescence()) { if (self._resetStores) { - _.each(self._stores, (s) => { + _.each(self._stores, s => { s.beginUpdate(0, true); s.endUpdate(); }); @@ -1070,10 +1070,10 @@ export class Connection { if (msg.msg === 'nosub') delete self._subsBeingRevived[msg.id]; - _.each(msg.subs || [], (subId) => { + _.each(msg.subs || [], subId => { delete self._subsBeingRevived[subId]; }); - _.each(msg.methods || [], (methodId) => { + _.each(msg.methods || [], methodId => { delete self._methodsBlockingQuiescence[methodId]; }); @@ -1082,7 +1082,7 @@ export class Connection { // No methods or subs are blocking quiescence! // We'll now process and all of our buffered messages, reset all stores, // and apply them all at once. - _.each(self._messagesBufferedUntilQuiescence, (bufferedMsg) => { + _.each(self._messagesBufferedUntilQuiescence, bufferedMsg => { self._processOneDataMessage(bufferedMsg, self._bufferedWrites); }); self._messagesBufferedUntilQuiescence = []; @@ -1148,7 +1148,7 @@ export class Connection { _.each(updates, (updateMessages, storeName) => { var store = self._stores[storeName]; if (store) { - _.each(updateMessages, (updateMessage) => { + _.each(updateMessages, updateMessage => { store.update(updateMessage); }); } else { @@ -1167,7 +1167,7 @@ export class Connection { }); // End update transaction. - _.each(self._stores, (s) => { + _.each(self._stores, s => { s.endUpdate(); }); } @@ -1182,7 +1182,7 @@ export class Connection { var self = this; var callbacks = self._afterUpdateCallbacks; self._afterUpdateCallbacks = []; - _.each(callbacks, (c) => { + _.each(callbacks, c => { c(); }); } @@ -1262,8 +1262,8 @@ export class Connection { _process_updated(msg, updates) { var self = this; // Process "method done" messages. - _.each(msg.methods, (methodId) => { - _.each(self._documentsWrittenByStub[methodId], (written) => { + _.each(msg.methods, methodId => { + _.each(self._documentsWrittenByStub[methodId], written => { var serverDoc = self._getServerDoc(written.collection, written.id); if (!serverDoc) throw new Error('Lost serverDoc for ' + JSON.stringify(written)); @@ -1290,7 +1290,7 @@ export class Connection { replace: serverDoc.document }); // Call all flush callbacks. - _.each(serverDoc.flushCallbacks, (c) => { + _.each(serverDoc.flushCallbacks, c => { c(); }); @@ -1318,7 +1318,7 @@ export class Connection { // Process "sub ready" messages. "sub ready" messages don't take effect // until all current server documents have been flushed to the local // database. We can use a write fence to implement this. - _.each(msg.subs, (subId) => { + _.each(msg.subs, subId => { self._runWhenAllServerDocsAreFlushed(() => { var subRecord = self._subscriptions[subId]; // Did we already unsubscribe? @@ -1349,8 +1349,8 @@ export class Connection { runFAfterUpdates(); } }; - _.each(self._serverDocuments, (collectionDocs) => { - collectionDocs.forEach((serverDoc) => { + _.each(self._serverDocuments, collectionDocs => { + collectionDocs.forEach(serverDoc => { var writtenByStubForAMethodWithSentMessage = _.any( serverDoc.writtenByStubs, (dummy, methodId) => { @@ -1390,7 +1390,7 @@ export class Connection { self._subscriptions[msg.id].remove(); - var meteorErrorFromMsg = (msgArg) => { + var meteorErrorFromMsg = msgArg => { return ( msgArg && msgArg.error && @@ -1488,7 +1488,7 @@ export class Connection { _sendOutstandingMethods() { var self = this; if (_.isEmpty(self._outstandingMethodBlocks)) return; - _.each(self._outstandingMethodBlocks[0].methods, (m) => { + _.each(self._outstandingMethodBlocks[0].methods, m => { m.sendMessage(); }); } @@ -1504,7 +1504,7 @@ export class Connection { self._outstandingMethodBlocks = []; self.onReconnect && self.onReconnect(); - DDP._reconnectHook.each((callback) => { + DDP._reconnectHook.each(callback => { callback(self); return true; }); @@ -1527,7 +1527,7 @@ export class Connection { !_.last(self._outstandingMethodBlocks).wait && !oldOutstandingMethodBlocks[0].wait ) { - _.each(oldOutstandingMethodBlocks[0].methods, (m) => { + _.each(oldOutstandingMethodBlocks[0].methods, m => { _.last(self._outstandingMethodBlocks).methods.push(m); // If this "last block" is also the first block, send the message. @@ -1538,7 +1538,7 @@ export class Connection { } // Now add the rest of the original blocks on. - _.each(oldOutstandingMethodBlocks, (block) => { + _.each(oldOutstandingMethodBlocks, block => { self._outstandingMethodBlocks.push(block); }); } From 62a1e507f1949bff52cc6257f5203e6f342978cc Mon Sep 17 00:00:00 2001 From: Sashko Stubailo Date: Fri, 10 Nov 2017 08:57:04 -0800 Subject: [PATCH 0107/1355] Remove the lazy function for methodId Just generate it when we need it --- .../ddp-client/common/livedata_connection.js | 40 +++++++++---------- 1 file changed, 19 insertions(+), 21 deletions(-) diff --git a/packages/ddp-client/common/livedata_connection.js b/packages/ddp-client/common/livedata_connection.js index eea38a5294..0a2bd69e04 100644 --- a/packages/ddp-client/common/livedata_connection.js +++ b/packages/ddp-client/common/livedata_connection.js @@ -602,15 +602,6 @@ export class Connection { // while because of a wait method). args = EJSON.clone(args); - // Lazily allocate method ID once we know that it'll be needed. - var methodId = (function() { - var id; - return function() { - if (id === undefined) id = '' + self._nextMethodId++; - return id; - }; - })(); - var enclosing = DDP._CurrentMethodInvocation.get(); var alreadyInSimulation = enclosing && enclosing.isSimulation; @@ -682,8 +673,6 @@ export class Connection { } catch (e) { var exception = e; } - - if (!alreadyInSimulation) self._retrieveAndStoreOriginals(methodId()); } // If we're in a simulation, stop and return the result we have, @@ -698,6 +687,24 @@ export class Connection { return stubReturnValue; } + // We only create the methodId here because we don't actually need one if + // we're already in a simulation + const methodId = '' + self._nextMethodId++; + if (stub) { + self._retrieveAndStoreOriginals(methodId); + } + + // Generate the DDP message for the method call. Note that on the client, + // it is important that the stub have finished before we send the RPC, so + // that we know we have a complete list of which local documents the stub + // wrote. + var message = { + msg: 'method', + method: name, + params: args, + id: methodId + }; + // If an exception occurred in a stub, and we're ignoring it // because we're doing an RPC and want to use what the server // returns instead, log it so the developer knows @@ -738,15 +745,6 @@ export class Connection { callback = future.resolver(); } } - // Send the RPC. Note that on the client, it is important that the - // stub have finished before we send the RPC, so that we know we have - // a complete list of which local documents the stub wrote. - var message = { - msg: 'method', - method: name, - params: args, - id: methodId() - }; // Send the randomSeed only if we used it if (randomSeed !== null) { @@ -754,7 +752,7 @@ export class Connection { } var methodInvoker = new MethodInvoker({ - methodId: methodId(), + methodId, callback: callback, connection: self, onResultReceived: options.onResultReceived, From 46ddbe62d1910a629fd9066b976bd2711ec38a0b Mon Sep 17 00:00:00 2001 From: Sashko Stubailo Date: Fri, 10 Nov 2017 09:27:55 -0800 Subject: [PATCH 0108/1355] Add comments about weird imports --- packages/ddp-client/client/client.js | 2 ++ packages/ddp-client/server/server.js | 2 ++ 2 files changed, 4 insertions(+) diff --git a/packages/ddp-client/client/client.js b/packages/ddp-client/client/client.js index 0daeb42b8c..5ae5b5cc72 100644 --- a/packages/ddp-client/client/client.js +++ b/packages/ddp-client/client/client.js @@ -1,6 +1,8 @@ export { DDP, LivedataTest } from '../common/namespace.js'; if (false) { + // This is used inside livedata_connection, but this is what gets + // it included in the client bundle import './stream_client_sockjs'; } diff --git a/packages/ddp-client/server/server.js b/packages/ddp-client/server/server.js index daa8d05e2c..76c7cbf77e 100644 --- a/packages/ddp-client/server/server.js +++ b/packages/ddp-client/server/server.js @@ -1,5 +1,7 @@ export { DDP, LivedataTest } from '../common/namespace.js'; if (false) { + // This is used inside livedata_connection, but this is what gets + // it included in the server bundle import './stream_client_nodejs'; } From f6bbe753a307a4a6d310e6051239acf1e02cfedd Mon Sep 17 00:00:00 2001 From: Sashko Stubailo Date: Fri, 10 Nov 2017 09:39:26 -0800 Subject: [PATCH 0109/1355] Remove LivedataTest! :tada: --- packages/ddp-client/client/client.js | 2 +- packages/ddp-client/client/stream_client_sockjs.js | 2 +- packages/ddp-client/common/namespace.js | 3 --- packages/ddp-client/common/stream_client_common.js | 2 +- packages/ddp-client/common/urlHelpers.js | 1 - packages/ddp-client/server/server.js | 2 +- packages/ddp-client/server/stream_client_nodejs.js | 4 +--- packages/ddp-client/test/livedata_connection_tests.js | 11 ++++++----- packages/ddp-client/test/livedata_tests.js | 7 ++++--- packages/ddp-client/test/stream_client_tests.js | 4 ++-- packages/ddp-client/test/stream_tests.js | 1 - 11 files changed, 17 insertions(+), 22 deletions(-) diff --git a/packages/ddp-client/client/client.js b/packages/ddp-client/client/client.js index 5ae5b5cc72..f2cbc06654 100644 --- a/packages/ddp-client/client/client.js +++ b/packages/ddp-client/client/client.js @@ -1,4 +1,4 @@ -export { DDP, LivedataTest } from '../common/namespace.js'; +export { DDP } from '../common/namespace.js'; if (false) { // This is used inside livedata_connection, but this is what gets diff --git a/packages/ddp-client/client/stream_client_sockjs.js b/packages/ddp-client/client/stream_client_sockjs.js index e34c3c22da..84768802e7 100644 --- a/packages/ddp-client/client/stream_client_sockjs.js +++ b/packages/ddp-client/client/stream_client_sockjs.js @@ -3,7 +3,7 @@ import { Meteor } from 'meteor/meteor'; // This populates a global variable import './sockjs-0.3.4'; -import { DDP, LivedataTest } from '../common/namespace.js'; +import { DDP } from '../common/namespace.js'; import { toSockjsUrl } from '../common/urlHelpers.js'; import StreamClientCommon from '../common/stream_client_common.js'; diff --git a/packages/ddp-client/common/namespace.js b/packages/ddp-client/common/namespace.js index 33bfe918c7..5220fccf85 100644 --- a/packages/ddp-client/common/namespace.js +++ b/packages/ddp-client/common/namespace.js @@ -8,9 +8,6 @@ import { Connection } from './livedata_connection.js'; * @summary Namespace for DDP-related methods/classes. */ export const DDP = {}; -export const LivedataTest = { - Connection -}; // This is private but it's used in a few places. accounts-base uses // it to get the current user. Meteor.setTimeout and friends clear diff --git a/packages/ddp-client/common/stream_client_common.js b/packages/ddp-client/common/stream_client_common.js index c8b3fb8121..02badeb538 100644 --- a/packages/ddp-client/common/stream_client_common.js +++ b/packages/ddp-client/common/stream_client_common.js @@ -3,7 +3,7 @@ import { Meteor } from 'meteor/meteor'; import { Tracker } from 'meteor/tracker'; import { Retry } from 'meteor/retry'; -import { DDP, LivedataTest } from './namespace.js'; +import { DDP } from './namespace.js'; export default class StreamClientCommon { // Register for callbacks. diff --git a/packages/ddp-client/common/urlHelpers.js b/packages/ddp-client/common/urlHelpers.js index b1dd3f7667..1974aadbf3 100644 --- a/packages/ddp-client/common/urlHelpers.js +++ b/packages/ddp-client/common/urlHelpers.js @@ -1,4 +1,3 @@ -import { LivedataTest } from './namespace.js'; import { Random } from 'meteor/random'; // XXX from Underscore.String (http://epeli.github.com/underscore.string/) diff --git a/packages/ddp-client/server/server.js b/packages/ddp-client/server/server.js index 76c7cbf77e..6ca9ff0513 100644 --- a/packages/ddp-client/server/server.js +++ b/packages/ddp-client/server/server.js @@ -1,4 +1,4 @@ -export { DDP, LivedataTest } from '../common/namespace.js'; +export { DDP } from '../common/namespace.js'; if (false) { // This is used inside livedata_connection, but this is what gets diff --git a/packages/ddp-client/server/stream_client_nodejs.js b/packages/ddp-client/server/stream_client_nodejs.js index 74f6e33d7e..573fa77b27 100644 --- a/packages/ddp-client/server/stream_client_nodejs.js +++ b/packages/ddp-client/server/stream_client_nodejs.js @@ -1,7 +1,7 @@ import { _ } from 'meteor/underscore'; import { Meteor } from 'meteor/meteor'; -import { DDP, LivedataTest } from '../common/namespace.js'; +import { DDP } from '../common/namespace.js'; import { toWebsocketUrl } from '../common/urlHelpers.js'; import StreamClientCommon from '../common/stream_client_common.js'; @@ -205,5 +205,3 @@ export default class ClientStream extends StreamClientCommon { }); } } - -LivedataTest.ClientStream = ClientStream; diff --git a/packages/ddp-client/test/livedata_connection_tests.js b/packages/ddp-client/test/livedata_connection_tests.js index 168ccf0828..77133d368c 100644 --- a/packages/ddp-client/test/livedata_connection_tests.js +++ b/packages/ddp-client/test/livedata_connection_tests.js @@ -1,11 +1,12 @@ import lolex from 'lolex'; -import { DDP, LivedataTest } from '../common/namespace.js'; +import { DDP } from '../common/namespace.js'; +import { Connection } from '../common/livedata_connection.js'; var newConnection = function(stream, options) { // Some of these tests leave outstanding methods with no result yet // returned. This should not block us from re-running tests when sources // change. - return new LivedataTest.Connection( + return new Connection( stream, _.extend( { @@ -1830,7 +1831,7 @@ _.each(DDPCommon.SUPPORTED_DDP_VERSIONS, function(version) { test, onComplete ) { - var connection = new LivedataTest.Connection(getSelfConnectionUrl(), { + var connection = new Connection(getSelfConnectionUrl(), { reloadWithOutstanding: true, supportedDDPVersions: [version], onDDPVersionNegotiationFailure: function() { @@ -1936,7 +1937,7 @@ testAsyncMulti('livedata connection - reconnect to a different server', [ Tinytest.addAsync( 'livedata connection - version negotiation requires renegotiating', function(test, onComplete) { - var connection = new LivedataTest.Connection(getSelfConnectionUrl(), { + var connection = new Connection(getSelfConnectionUrl(), { reloadWithOutstanding: true, supportedDDPVersions: ['garbled', DDPCommon.SUPPORTED_DDP_VERSIONS[0]], onDDPVersionNegotiationFailure: function() { @@ -1956,7 +1957,7 @@ Tinytest.addAsync('livedata connection - version negotiation error', function( test, onComplete ) { - var connection = new LivedataTest.Connection(getSelfConnectionUrl(), { + var connection = new Connection(getSelfConnectionUrl(), { reloadWithOutstanding: true, supportedDDPVersions: ['garbled', 'more garbled'], onDDPVersionNegotiationFailure: function() { diff --git a/packages/ddp-client/test/livedata_tests.js b/packages/ddp-client/test/livedata_tests.js index 9a649a4d4f..34d95449ee 100644 --- a/packages/ddp-client/test/livedata_tests.js +++ b/packages/ddp-client/test/livedata_tests.js @@ -1,4 +1,5 @@ -import { DDP, LivedataTest } from '../common/namespace.js'; +import { DDP } from '../common/namespace.js'; +import { Connection } from '../common/livedata_connection.js'; // XXX should check error codes var failure = function(test, code, reason) { @@ -704,7 +705,7 @@ if (Meteor.isClient) { function(test, expect) { // Use a separate connection so that we can safely check to see if // conn._subscriptions is empty. - conn = new LivedataTest.Connection('/', { + conn = new Connection('/', { reloadWithOutstanding: true }); collName = Random.id(); @@ -800,7 +801,7 @@ if (Meteor.isClient) { function(test, expect) { // Use a separate connection so that we can safely check to see if // conn._subscriptions is empty. - conn = new LivedataTest.Connection('/', { + conn = new Connection('/', { reloadWithOutstanding: true }); collName = Random.id(); diff --git a/packages/ddp-client/test/stream_client_tests.js b/packages/ddp-client/test/stream_client_tests.js index cf2e1e3700..23a8fd1ef8 100644 --- a/packages/ddp-client/test/stream_client_tests.js +++ b/packages/ddp-client/test/stream_client_tests.js @@ -1,10 +1,10 @@ -import { LivedataTest } from '../common/namespace.js'; +import ClientStream from '../server/stream_client_nodejs.js'; var Fiber = Npm.require('fibers'); testAsyncMulti('stream client - callbacks run in a fiber', [ function(test, expect) { - var stream = new LivedataTest.ClientStream(Meteor.absoluteUrl()); + var stream = new ClientStream(Meteor.absoluteUrl()); var messageFired = false; var resetFired = false; diff --git a/packages/ddp-client/test/stream_tests.js b/packages/ddp-client/test/stream_tests.js index 0704db6c5e..20e67bb6d5 100644 --- a/packages/ddp-client/test/stream_tests.js +++ b/packages/ddp-client/test/stream_tests.js @@ -1,4 +1,3 @@ -import { LivedataTest } from '../common/namespace.js'; import { toSockjsUrl } from '../common/urlHelpers.js'; import getClientStreamClass from '../common/getClientStreamClass.js'; From 0da59ee8c95f2d065b6f0b600f4d6cffd654437e Mon Sep 17 00:00:00 2001 From: Sashko Stubailo Date: Fri, 10 Nov 2017 14:05:43 -0800 Subject: [PATCH 0110/1355] Switch to more concise require as suggested by Ben --- .../ddp-client/common/getClientStreamClass.js | 16 ++++++++-------- 1 file changed, 8 insertions(+), 8 deletions(-) diff --git a/packages/ddp-client/common/getClientStreamClass.js b/packages/ddp-client/common/getClientStreamClass.js index e37c0550f1..06c0bcfe63 100644 --- a/packages/ddp-client/common/getClientStreamClass.js +++ b/packages/ddp-client/common/getClientStreamClass.js @@ -5,14 +5,14 @@ import { Meteor } from 'meteor/meteor'; // make sure that we require the right one. export default function getClientStreamClass() { // The static analyzer of the bundler specifically looks - // for direct calls to 'require', so it won't treat the + // for static calls to 'require', so it won't treat the // below calls as a request to include that module. - const notRequire = require; + // + // That means stream_client_nodejs won't be included on + // the client, as desired. + const modulePath = Meteor.isClient + ? '../client/stream_client_sockjs' + : '../server/stream_client_nodejs'; - if (Meteor.isClient) { - return notRequire('../client/stream_client_sockjs').default; - } else { - /* Meteor.isServer */ - return notRequire('../server/stream_client_nodejs').default; - } + return require(modulePath).default; } From 470df87ceff96faadb3dcb2753e2ac60cd01f018 Mon Sep 17 00:00:00 2001 From: Sashko Stubailo Date: Fri, 10 Nov 2017 14:07:10 -0800 Subject: [PATCH 0111/1355] Replace startsWith --- packages/ddp-client/common/urlHelpers.js | 9 +-------- 1 file changed, 1 insertion(+), 8 deletions(-) diff --git a/packages/ddp-client/common/urlHelpers.js b/packages/ddp-client/common/urlHelpers.js index 1974aadbf3..be1193d588 100644 --- a/packages/ddp-client/common/urlHelpers.js +++ b/packages/ddp-client/common/urlHelpers.js @@ -1,12 +1,5 @@ import { Random } from 'meteor/random'; -// XXX from Underscore.String (http://epeli.github.com/underscore.string/) -function startsWith(str, starts) { - return ( - str.length >= starts.length && str.substring(0, starts.length) === starts - ); -} - function endsWith(str, ends) { return ( str.length >= ends.length && @@ -50,7 +43,7 @@ function translateUrl(url, newSchemeBase, subPath) { } // Prefix FQDNs but not relative URLs - if (url.indexOf('://') === -1 && !startsWith(url, '/')) { + if (url.indexOf('://') === -1 && !url.startsWith('/')) { url = newSchemeBase + '://' + url; } From 8e4f4fb650ce53564de59436c6e3a498dccecc83 Mon Sep 17 00:00:00 2001 From: Sashko Stubailo Date: Fri, 10 Nov 2017 14:08:02 -0800 Subject: [PATCH 0112/1355] Use assign to avoid an extra object copy --- packages/ddp-client/server/stream_client_nodejs.js | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/packages/ddp-client/server/stream_client_nodejs.js b/packages/ddp-client/server/stream_client_nodejs.js index 573fa77b27..460fe9ff3b 100644 --- a/packages/ddp-client/server/stream_client_nodejs.js +++ b/packages/ddp-client/server/stream_client_nodejs.js @@ -140,7 +140,7 @@ export default class ClientStream extends StreamClientCommon { headers: this.headers, extensions: [deflate] }; - fayeOptions = { ...fayeOptions, ...this.npmFayeOptions }; + fayeOptions = Object.assign(fayeOptions, this.npmFayeOptions); var proxyUrl = this._getProxyUrl(targetUrl); if (proxyUrl) { fayeOptions.proxy = { origin: proxyUrl }; From 83c774c48654bdd6b2836b3ee5e23abaf33cb916 Mon Sep 17 00:00:00 2001 From: Sashko Stubailo Date: Fri, 10 Nov 2017 14:11:12 -0800 Subject: [PATCH 0113/1355] Replace Array.prototype.slice.call with Array.from --- packages/ddp-client/client/stream_client_sockjs.js | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/packages/ddp-client/client/stream_client_sockjs.js b/packages/ddp-client/client/stream_client_sockjs.js index 84768802e7..363bf7008c 100644 --- a/packages/ddp-client/client/stream_client_sockjs.js +++ b/packages/ddp-client/client/stream_client_sockjs.js @@ -187,7 +187,7 @@ export default class ClientStream extends StreamClientCommon { // XXX is this ever called? Meteor._debug( 'stream error', - Array.prototype.slice.call(arguments), + Array.from(arguments), new Date().toDateString() ); }; From d16b928efb39a2bda38a70ec223f67943b2ef75e Mon Sep 17 00:00:00 2001 From: Sashko Stubailo Date: Fri, 10 Nov 2017 14:18:39 -0800 Subject: [PATCH 0114/1355] Apply is confusing, we don't actually use `this` --- packages/ddp-client/server/stream_client_nodejs.js | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/packages/ddp-client/server/stream_client_nodejs.js b/packages/ddp-client/server/stream_client_nodejs.js index 460fe9ff3b..719ff77911 100644 --- a/packages/ddp-client/server/stream_client_nodejs.js +++ b/packages/ddp-client/server/stream_client_nodejs.js @@ -171,13 +171,13 @@ export default class ClientStream extends StreamClientCommon { }, 'stream connect callback') ); - var clientOnIfCurrent = (event, description, f) => { + var clientOnIfCurrent = (event, description, callback) => { this.client.on( event, Meteor.bindEnvironment((...args) => { // Ignore events from any connection we've already cleaned up. if (client !== this.client) return; - f.apply(this, args); + callback(...args); }, description) ); }; From 24e07095d713f55f3b3a6d28663c37a2a59cf1a2 Mon Sep 17 00:00:00 2001 From: Ben Newman Date: Sat, 11 Nov 2017 16:01:42 -0500 Subject: [PATCH 0115/1355] Use String#endsWith as well as #startsWith. --- packages/ddp-client/common/urlHelpers.js | 9 +-------- 1 file changed, 1 insertion(+), 8 deletions(-) diff --git a/packages/ddp-client/common/urlHelpers.js b/packages/ddp-client/common/urlHelpers.js index be1193d588..2aad36f7ba 100644 --- a/packages/ddp-client/common/urlHelpers.js +++ b/packages/ddp-client/common/urlHelpers.js @@ -1,12 +1,5 @@ import { Random } from 'meteor/random'; -function endsWith(str, ends) { - return ( - str.length >= ends.length && - str.substring(str.length - ends.length) === ends - ); -} - // @param url {String} URL to Meteor app, eg: // "/" or "madewith.meteor.com" or "https://foo.meteor.com" // or "ddp+sockjs://ddp--****-foo.meteor.com/sockjs" @@ -59,7 +52,7 @@ function translateUrl(url, newSchemeBase, subPath) { // root. See also client_convenience.js #RationalizingRelativeDDPURLs url = Meteor._relativeToSiteRootUrl(url); - if (endsWith(url, '/')) return url + subPath; + if (url.endsWith('/')) return url + subPath; else return url + '/' + subPath; } From f2d42067b9200b685dff2a4c574aff963107435a Mon Sep 17 00:00:00 2001 From: Ben Newman Date: Sat, 11 Nov 2017 16:05:20 -0500 Subject: [PATCH 0116/1355] Use Object.keys instead of Object.entries. It turns out we do not polyfill Object.entries, because that would require requiring 'core-js/es7/object' in ecmascript-runtime-client/runtime.js. Something to consider, but not strictly necessary right now. https://github.com/meteor/meteor/pull/9338#discussion_r150306273 --- packages/ddp-client/common/livedata_connection.js | 7 ++++--- 1 file changed, 4 insertions(+), 3 deletions(-) diff --git a/packages/ddp-client/common/livedata_connection.js b/packages/ddp-client/common/livedata_connection.js index 0a2bd69e04..a1f7b147e9 100644 --- a/packages/ddp-client/common/livedata_connection.js +++ b/packages/ddp-client/common/livedata_connection.js @@ -1678,8 +1678,8 @@ export class Connection { // Mark all messages as unsent, they have not yet been sent on this // connection. - Object.entries(this._methodInvokers).forEach(([id, methodInvoker]) => { - methodInvoker.sentMessage = false; + Object.keys(this._methodInvokers).forEach(id => { + this._methodInvokers[id].sentMessage = false; }); // If an `onReconnect` handler is set, call it first. Go through @@ -1691,7 +1691,8 @@ export class Connection { // add new subscriptions at the end. this way they take effect after // the handlers and we don't see flicker. - Object.entries(this._subscriptions).forEach(([id, sub]) => { + Object.keys(this._subscriptions).forEach(id => { + const sub = this._subscriptions[id]; this._send({ msg: 'sub', id: id, From 76fb8a78971625d8def7d4bb5ccb09b7fe91b46e Mon Sep 17 00:00:00 2001 From: Ben Newman Date: Sat, 11 Nov 2017 16:18:04 -0500 Subject: [PATCH 0117/1355] Use truly empty Object.create(null) instead of {} in ddp-client. --- .../ddp-client/client/client_convenience.js | 4 +- .../ddp-client/common/livedata_connection.js | 51 ++++++++++--------- .../ddp-client/common/stream_client_common.js | 8 +-- .../ddp-client/server/stream_client_nodejs.js | 6 +-- .../ddp-client/test/livedata_test_service.js | 8 +-- packages/ddp-client/test/stub_stream.js | 2 +- 6 files changed, 42 insertions(+), 37 deletions(-) diff --git a/packages/ddp-client/client/client_convenience.js b/packages/ddp-client/client/client_convenience.js index 029ad16445..f243fadec0 100644 --- a/packages/ddp-client/client/client_convenience.js +++ b/packages/ddp-client/client/client_convenience.js @@ -31,7 +31,9 @@ var retry = new Retry(); function onDDPVersionNegotiationFailure(description) { Meteor._debug(description); if (Package.reload) { - var migrationData = Package.reload.Reload._migrationData('livedata') || {}; + var migrationData = + Package.reload.Reload._migrationData('livedata') || + Object.create(null); var failures = migrationData.DDPVersionNegotiationFailures || 0; ++failures; Package.reload.Reload._onMigrate('livedata', () => { diff --git a/packages/ddp-client/common/livedata_connection.js b/packages/ddp-client/common/livedata_connection.js index a1f7b147e9..47d9c7477e 100644 --- a/packages/ddp-client/common/livedata_connection.js +++ b/packages/ddp-client/common/livedata_connection.js @@ -52,7 +52,7 @@ export class Connection { }, heartbeatInterval: 17500, heartbeatTimeout: 15000, - npmFayeOptions: {}, + npmFayeOptions: Object.create(null), // These options are only for testing. reloadWithOutstanding: false, supportedDDPVersions: DDPCommon.SUPPORTED_DDP_VERSIONS, @@ -95,8 +95,8 @@ export class Connection { self._lastSessionId = null; self._versionSuggestion = null; // The last proposed DDP version. self._version = null; // The DDP version agreed on by client and server. - self._stores = {}; // name -> object with methods - self._methodHandlers = {}; // name -> func + self._stores = Object.create(null); // name -> object with methods + self._methodHandlers = Object.create(null); // name -> func self._nextMethodId = 1; self._supportedDDPVersions = options.supportedDDPVersions; @@ -107,7 +107,7 @@ export class Connection { // called their user callback (ie, they are waiting on their result or for all // of their writes to be written to the local cache). Map from method ID to // MethodInvoker object. - self._methodInvokers = {}; + self._methodInvokers = Object.create(null); // Tracks methods which the user has called but whose result messages have not // arrived yet. @@ -151,7 +151,7 @@ export class Connection { // documents written by a given method's stub. keys are associated with // methods whose stub wrote at least one document, and whose data-done message // has not yet been received. - self._documentsWrittenByStub = {}; + self._documentsWrittenByStub = Object.create(null); // collection -> IdMap of "server document" object. A "server document" has: // - "document": the version of the document according the // server (ie, the snapshot before a stub wrote it, amended by any changes @@ -159,7 +159,7 @@ export class Connection { // It is undefined if we think the document does not exist // - "writtenByStubs": a set of method IDs whose stubs wrote to the document // whose "data done" messages have not yet been processed - self._serverDocuments = {}; + self._serverDocuments = Object.create(null); // Array of callbacks to be called after the next update of the local // cache. Used for: @@ -188,16 +188,16 @@ export class Connection { // Map from method ID -> true. Methods are removed from this when their // "data done" message is received, and we will not quiesce until it is // empty. - self._methodsBlockingQuiescence = {}; + self._methodsBlockingQuiescence = Object.create(null); // map from sub ID -> true for subs that were ready (ie, called the sub // ready callback) before reconnect but haven't become ready again yet - self._subsBeingRevived = {}; // map from sub._id -> true + self._subsBeingRevived = Object.create(null); // map from sub._id -> true // if true, the next data update should reset all stores. (set during // reconnect.) self._resetStores = false; // name -> array of updates for (yet to be created) collections - self._updatesForUnknownStores = {}; + self._updatesForUnknownStores = Object.create(null); // if we're blocking a migration, the retry func self._retryMigrate = null; @@ -207,7 +207,7 @@ export class Connection { self ); // Collection name -> array of messages. - self._bufferedWrites = {}; + self._bufferedWrites = Object.create(null); // When current buffer of updates must be flushed at, in ms timestamp. self._bufferedWritesFlushAt = null; // Timeout handle for the next processing of all pending writes @@ -227,7 +227,7 @@ export class Connection { // an error, XXX COMPAT WITH 1.0.3.1) // - stopCallback (an optional callback to call when the sub terminates // for any reason, with an error argument if an error triggered the stop) - self._subscriptions = {}; + self._subscriptions = Object.create(null); // Reactive userId. self._userId = null; @@ -287,7 +287,7 @@ export class Connection { // Wrap the input object in an object which makes any store method not // implemented by 'store' into a no-op. - var store = {}; + var store = Object.create(null); _.each( [ 'update', @@ -341,7 +341,7 @@ export class Connection { var self = this; var params = Array.prototype.slice.call(arguments, 1); - var callbacks = {}; + var callbacks = Object.create(null); if (params.length) { var lastParam = params[params.length - 1]; if (typeof lastParam === 'function') { @@ -584,9 +584,9 @@ export class Connection { // or (name, args, callback) if (!callback && typeof options === 'function') { callback = options; - options = {}; + options = Object.create(null); } - options = options || {}; + options = options || Object.create(null); if (callback) { // XXX would it be better form to do the binding in stream.on, @@ -816,7 +816,10 @@ export class Connection { docsWritten.push({ collection: collection, id: id }); if (!_.has(self._serverDocuments, collection)) self._serverDocuments[collection] = new MongoIDMap(); - var serverDoc = self._serverDocuments[collection].setDefault(id, {}); + var serverDoc = self._serverDocuments[collection].setDefault( + id, + Object.create(null) + ); if (serverDoc.writtenByStubs) { // We're not the first stub to write this doc. Just add our method ID // to the record. @@ -825,7 +828,7 @@ export class Connection { // First stub! Save the original value and our method ID. serverDoc.document = doc; serverDoc.flushCallbacks = []; - serverDoc.writtenByStubs = {}; + serverDoc.writtenByStubs = Object.create(null); serverDoc.writtenByStubs[methodId] = true; } }); @@ -971,13 +974,13 @@ export class Connection { // Forget about messages we were buffering for unknown collections. They'll // be resent if still relevant. - self._updatesForUnknownStores = {}; + self._updatesForUnknownStores = Object.create(null); if (self._resetStores) { // Forget about the effects of stubs. We'll be resetting all collections // anyway. - self._documentsWrittenByStub = {}; - self._serverDocuments = {}; + self._documentsWrittenByStub = Object.create(null); + self._serverDocuments = Object.create(null); } // Clear _afterUpdateCallbacks. @@ -987,7 +990,7 @@ export class Connection { // ready callback) as needing to be revived. // XXX We should also block reconnect quiescence until unnamed subscriptions // (eg, autopublish) are done re-publishing to avoid flicker! - self._subsBeingRevived = {}; + self._subsBeingRevived = Object.create(null); _.each(self._subscriptions, (sub, id) => { if (sub.ready) self._subsBeingRevived[id] = true; }); @@ -999,7 +1002,7 @@ export class Connection { // Start by clearing _methodsBlockingQuiescence: methods sent before // reconnect don't matter, and any "wait" methods sent on the new connection // that we drop here will be restored by the loop below. - self._methodsBlockingQuiescence = {}; + self._methodsBlockingQuiescence = Object.create(null); if (self._resetStores) { _.each(self._methodInvokers, invoker => { if (invoker.gotResult()) { @@ -1126,7 +1129,7 @@ export class Connection { // performWrites. As there's no guarantee that it // will exit cleanly. var writes = self._bufferedWrites; - self._bufferedWrites = {}; + self._bufferedWrites = Object.create(null); self._performWrites(writes); } @@ -1208,7 +1211,7 @@ export class Connection { // Some outstanding stub wrote here. var isExisting = serverDoc.document !== undefined; - serverDoc.document = msg.fields || {}; + serverDoc.document = msg.fields || Object.create(null); serverDoc.document._id = id; if (self._resetStores) { diff --git a/packages/ddp-client/common/stream_client_common.js b/packages/ddp-client/common/stream_client_common.js index 02badeb538..8d3ac32f44 100644 --- a/packages/ddp-client/common/stream_client_common.js +++ b/packages/ddp-client/common/stream_client_common.js @@ -24,7 +24,7 @@ export default class StreamClientCommon { } _initCommon(options) { - options = options || {}; + options = options || Object.create(null); //// Constants @@ -32,7 +32,7 @@ export default class StreamClientCommon { // failed. this.CONNECT_TIMEOUT = options.connectTimeoutMs || 10000; - this.eventCallbacks = {}; // name -> [callback] + this.eventCallbacks = Object.create(null); // name -> [callback] this._forcedToDisconnect = false; @@ -57,7 +57,7 @@ export default class StreamClientCommon { // Trigger a reconnect. reconnect(options) { - options = options || {}; + options = options || Object.create(null); if (options.url) { this._changeUrl(options.url); @@ -87,7 +87,7 @@ export default class StreamClientCommon { } disconnect(options) { - options = options || {}; + options = options || Object.create(null); // Failed is permanent. If we're failed, don't let people go back // online by calling 'disconnect' then 'reconnect'. diff --git a/packages/ddp-client/server/stream_client_nodejs.js b/packages/ddp-client/server/stream_client_nodejs.js index 719ff77911..f8c103084d 100644 --- a/packages/ddp-client/server/stream_client_nodejs.js +++ b/packages/ddp-client/server/stream_client_nodejs.js @@ -20,7 +20,7 @@ export default class ClientStream extends StreamClientCommon { constructor(endpoint, options) { super(); - options = options || {}; + options = options || Object.create(null); this.options = Object.assign( { @@ -32,8 +32,8 @@ export default class ClientStream extends StreamClientCommon { this.client = null; // created in _launchConnection this.endpoint = endpoint; - this.headers = this.options.headers || {}; - this.npmFayeOptions = this.options.npmFayeOptions || {}; + this.headers = this.options.headers || Object.create(null); + this.npmFayeOptions = this.options.npmFayeOptions || Object.create(null); this._initCommon(this.options); diff --git a/packages/ddp-client/test/livedata_test_service.js b/packages/ddp-client/test/livedata_test_service.js index 200b4b43a4..28cce2d660 100644 --- a/packages/ddp-client/test/livedata_test_service.js +++ b/packages/ddp-client/test/livedata_test_service.js @@ -19,7 +19,7 @@ Meteor.methods({ throwThroughFuture: Match.Optional(Boolean) }) ); - options = options || {}; + options = options || Object.create(null); var shouldThrow = (Meteor.isServer && where === 'server') || (Meteor.isClient && where === 'client') || @@ -57,7 +57,7 @@ Meteor.methods({ if (Meteor.isServer) { // Keys are random tokens, used to isolate multiple test invocations from each // other. - var waiters = {}; + var waiters = Object.create(null); var Future = Npm.require('fibers/future'); @@ -179,7 +179,7 @@ if (Meteor.isServer) { }); (function() { - var userIdWhenStopped = {}; + var userIdWhenStopped = Object.create(null); Meteor.publish('recordUserIdOnStop', function(key) { check(key, String); var self = this; @@ -363,7 +363,7 @@ if (Meteor.isServer) { } /// Helper for "livedata - result by value" -var resultByValueArrays = {}; +var resultByValueArrays = Object.create(null); Meteor.methods({ getArray: function(testId) { if (!_.has(resultByValueArrays, testId)) resultByValueArrays[testId] = []; diff --git a/packages/ddp-client/test/stub_stream.js b/packages/ddp-client/test/stub_stream.js index 2bfb4da0cd..c922affd12 100644 --- a/packages/ddp-client/test/stub_stream.js +++ b/packages/ddp-client/test/stub_stream.js @@ -2,7 +2,7 @@ StubStream = function() { var self = this; self.sent = []; - self.callbacks = {}; + self.callbacks = Object.create(null); }; _.extend(StubStream.prototype, { From 193910fdd2a6fe27f83f985598e4d594383189ae Mon Sep 17 00:00:00 2001 From: Ben Newman Date: Sat, 11 Nov 2017 17:25:53 -0500 Subject: [PATCH 0118/1355] Use object ...spread instead of Object.assign. --- packages/ddp-client/server/stream_client_nodejs.js | 12 ++++-------- 1 file changed, 4 insertions(+), 8 deletions(-) diff --git a/packages/ddp-client/server/stream_client_nodejs.js b/packages/ddp-client/server/stream_client_nodejs.js index f8c103084d..ede183a205 100644 --- a/packages/ddp-client/server/stream_client_nodejs.js +++ b/packages/ddp-client/server/stream_client_nodejs.js @@ -20,14 +20,10 @@ export default class ClientStream extends StreamClientCommon { constructor(endpoint, options) { super(); - options = options || Object.create(null); - - this.options = Object.assign( - { - retry: true - }, - options - ); + this.options = { + retry: true, + ...(options || null), + }; this.client = null; // created in _launchConnection this.endpoint = endpoint; From 411599ce9302ec14a56fa9cc6494c35b81b103ed Mon Sep 17 00:00:00 2001 From: Ben Newman Date: Sat, 11 Nov 2017 17:19:34 -0500 Subject: [PATCH 0119/1355] Finish removing underscore from ddp-client. --- .../ddp-client/common/livedata_connection.js | 366 +++++++++++------- packages/ddp-client/common/utils.js | 39 ++ packages/ddp-client/package.js | 36 +- .../ddp-client/server/stream_client_nodejs.js | 2 - 4 files changed, 273 insertions(+), 170 deletions(-) create mode 100644 packages/ddp-client/common/utils.js diff --git a/packages/ddp-client/common/livedata_connection.js b/packages/ddp-client/common/livedata_connection.js index 47d9c7477e..e0aa63e646 100644 --- a/packages/ddp-client/common/livedata_connection.js +++ b/packages/ddp-client/common/livedata_connection.js @@ -1,5 +1,4 @@ import { Meteor } from 'meteor/meteor'; -import { _ } from 'meteor/underscore'; import { DDPCommon } from 'meteor/ddp-common'; import { Tracker } from 'meteor/tracker'; import { EJSON } from 'meteor/ejson'; @@ -9,6 +8,13 @@ import { MongoID } from 'meteor/mongo-id'; import { DDP } from './namespace.js'; import getClientStreamClass from './getClientStreamClass.js'; import MethodInvoker from './MethodInvoker.js'; +import { + hasOwn, + slice, + keys, + isEmpty, + last, +} from "./utils.js"; if (Meteor.isServer) { var Fiber = Npm.require('fibers'); @@ -234,9 +240,11 @@ export class Connection { self._userIdDeps = new Tracker.Dependency(); // Block auto-reload while we're waiting for method responses. - if (Meteor.isClient && Package.reload && !options.reloadWithOutstanding) { + if (Meteor.isClient && + Package.reload && + ! options.reloadWithOutstanding) { Package.reload.Reload._onMigrate(retry => { - if (!self._readyToMigrate()) { + if (! self._readyToMigrate()) { if (self._retryMigrate) throw new Error('Two migrations in progress?'); self._retryMigrate = retry; @@ -288,31 +296,27 @@ export class Connection { // Wrap the input object in an object which makes any store method not // implemented by 'store' into a no-op. var store = Object.create(null); - _.each( - [ - 'update', - 'beginUpdate', - 'endUpdate', - 'saveOriginals', - 'retrieveOriginals', - 'getDoc', - '_getCollection' - ], - method => { - store[method] = (...args) => { - return wrappedStore[method] - ? wrappedStore[method].apply(wrappedStore, args) - : undefined; - }; - } - ); + [ 'update', + 'beginUpdate', + 'endUpdate', + 'saveOriginals', + 'retrieveOriginals', + 'getDoc', + '_getCollection' + ].forEach(method => { + store[method] = (...args) => { + if (wrappedStore[method]) { + return wrappedStore[method](...args); + } + }; + }); self._stores[name] = store; var queued = self._updatesForUnknownStores[name]; if (queued) { store.beginUpdate(queued.length, false); - _.each(queued, msg => { + queued.forEach(msg => { store.update(msg); }); store.endUpdate(); @@ -340,21 +344,19 @@ export class Connection { subscribe(name /* .. [arguments] .. (callback|callbacks) */) { var self = this; - var params = Array.prototype.slice.call(arguments, 1); + var params = slice.call(arguments, 1); var callbacks = Object.create(null); if (params.length) { var lastParam = params[params.length - 1]; if (typeof lastParam === 'function') { callbacks.onReady = params.pop(); - } else if ( - lastParam && + } else if (lastParam && [ + lastParam.onReady, // XXX COMPAT WITH 1.0.3.1 onError used to exist, but now we use // onStop with an error callback instead. - _.any( - [lastParam.onReady, lastParam.onError, lastParam.onStop], - f => typeof f === 'function' - ) - ) { + lastParam.onError, + lastParam.onStop + ].some(f => typeof f === "function")) { callbacks = params.pop(); } } @@ -377,10 +379,14 @@ export class Connection { // We only look for one such sub; if there are N apparently-identical subs // being invalidated, we will require N matching subscribe calls to keep // them all active. - var existing = _.find(self._subscriptions, sub => { - return ( - sub.inactive && sub.name === name && EJSON.equals(sub.params, params) - ); + var existing; + keys(self._subscriptions).some(id => { + const sub = self._subscriptions[id]; + if (sub.inactive && + sub.name === name && + EJSON.equals(sub.params, params)) { + return existing = sub; + } }); var id; @@ -450,13 +456,16 @@ export class Connection { // return a handle to the application. var handle = { stop() { - if (!_.has(self._subscriptions, id)) return; - + if (! hasOwn.call(self._subscriptions, id)) { + return; + } self._subscriptions[id].stop(); }, ready() { // return false if we've unsubscribed. - if (!_.has(self._subscriptions, id)) return false; + if (! hasOwn.call(self._subscriptions, id)) { + return false; + } var record = self._subscriptions[id]; record.readyDeps.depend(); return record.ready; @@ -472,15 +481,15 @@ export class Connection { // be reused from the rerun. If it isn't reused, it's killed from // an afterFlush. Tracker.onInvalidate(c => { - if (_.has(self._subscriptions, id)) + if (hasOwn.call(self._subscriptions, id)) { self._subscriptions[id].inactive = true; + } Tracker.afterFlush(() => { - if ( - _.has(self._subscriptions, id) && - self._subscriptions[id].inactive - ) + if (hasOwn.call(self._subscriptions, id) && + self._subscriptions[id].inactive) { handle.stop(); + } }); }); } @@ -514,13 +523,15 @@ export class Connection { } methods(methods) { - var self = this; - _.each(methods, (func, name) => { - if (typeof func !== 'function') + keys(methods).forEach(name => { + const func = methods[name]; + if (typeof func !== 'function') { throw new Error("Method '" + name + "' must be a function"); - if (self._methodHandlers[name]) + } + if (this._methodHandlers[name]) { throw new Error("A method named '" + name + "' is already defined"); - self._methodHandlers[name] = func; + } + this._methodHandlers[name] = func; }); } @@ -536,7 +547,7 @@ export class Connection { call(name /* .. [arguments] .. callback */) { // if it's a function, the last argument is the result callback, // not a parameter to the remote method. - var args = Array.prototype.slice.call(arguments, 1); + var args = slice.call(arguments, 1); if (args.length && typeof args[args.length - 1] === 'function') var callback = args.pop(); return this.apply(name, args, callback); @@ -770,12 +781,15 @@ export class Connection { } else { // Not a wait method. Start a new block if the previous block was a wait // block, and add it to the last block of methods. - if ( - _.isEmpty(self._outstandingMethodBlocks) || - _.last(self._outstandingMethodBlocks).wait - ) - self._outstandingMethodBlocks.push({ wait: false, methods: [] }); - _.last(self._outstandingMethodBlocks).methods.push(methodInvoker); + if (isEmpty(self._outstandingMethodBlocks) || + last(self._outstandingMethodBlocks).wait) { + self._outstandingMethodBlocks.push({ + wait: false, + methods: [], + }); + } + + last(self._outstandingMethodBlocks).methods.push(methodInvoker); } // If we added it to the first block, send it out now. @@ -793,12 +807,15 @@ export class Connection { // _retrieveAndStoreOriginals to get the original versions of changed // documents. _saveOriginals() { - var self = this; - if (!self._waitingForQuiescence()) self._flushBufferedWrites(); - _.each(self._stores, s => { - s.saveOriginals(); + if (! this._waitingForQuiescence()) { + this._flushBufferedWrites(); + } + + keys(this._stores).forEach(storeName => { + this._stores[storeName].saveOriginals(); }); } + // Retrieves the original versions of all documents modified by the stub for // method 'methodId' from all stores and saves them to _serverDocuments (keyed // by document) and _documentsWrittenByStub (keyed by method ID). @@ -808,14 +825,16 @@ export class Connection { throw new Error('Duplicate methodId in _retrieveAndStoreOriginals'); var docsWritten = []; - _.each(self._stores, (s, collection) => { - var originals = s.retrieveOriginals(); + + keys(self._stores).forEach(collection => { + var originals = self._stores[collection].retrieveOriginals(); // not all stores define retrieveOriginals - if (!originals) return; + if (! originals) return; originals.forEach((doc, id) => { - docsWritten.push({ collection: collection, id: id }); - if (!_.has(self._serverDocuments, collection)) + docsWritten.push({ collection, id }); + if (! hasOwn.call(self._serverDocuments, collection)) { self._serverDocuments[collection] = new MongoIDMap(); + } var serverDoc = self._serverDocuments[collection].setDefault( id, Object.create(null) @@ -833,7 +852,7 @@ export class Connection { } }); }); - if (!_.isEmpty(docsWritten)) { + if (! isEmpty(docsWritten)) { self._documentsWrittenByStub[methodId] = docsWritten; } } @@ -841,8 +860,8 @@ export class Connection { // This is very much a private function we use to make the tests // take up fewer server resources after they complete. _unsubscribeAll() { - var self = this; - _.each(_.clone(self._subscriptions), (sub, id) => { + keys(this._subscriptions).forEach(id => { + const sub = this._subscriptions[id]; // Avoid killing the autoupdate subscription so that developers // still get hot code pushes when writing tests. // @@ -850,7 +869,7 @@ export class Connection { // but it doesn't seem worth it yet to have a special API for // subscriptions to preserve after unit tests. if (sub.name !== 'meteor_autoupdate_clientVersions') { - self._subscriptions[id].stop(); + sub.stop(); } }); } @@ -923,15 +942,18 @@ export class Connection { // "wait" method to finish. _waitingForQuiescence() { return ( - !_.isEmpty(this._subsBeingRevived) || - !_.isEmpty(this._methodsBlockingQuiescence) + ! isEmpty(this._subsBeingRevived) || + ! isEmpty(this._methodsBlockingQuiescence) ); } // Returns true if any method whose message has been sent to the server has // not yet invoked its user callback. _anyMethodsAreOutstanding() { - return _.any(_.pluck(this._methodInvokers, 'sentMessage')); + const invokers = this._methodInvokers; + return keys(invokers).some(id => { + return invokers[id].sentMessage; + }); } _livedata_connected(msg) { @@ -991,8 +1013,10 @@ export class Connection { // XXX We should also block reconnect quiescence until unnamed subscriptions // (eg, autopublish) are done re-publishing to avoid flicker! self._subsBeingRevived = Object.create(null); - _.each(self._subscriptions, (sub, id) => { - if (sub.ready) self._subsBeingRevived[id] = true; + keys(self._subscriptions).forEach(id => { + if (self._subscriptions[id].ready) { + self._subsBeingRevived[id] = true; + } }); // Arrange for "half-finished" methods to have their callbacks run, and @@ -1004,13 +1028,17 @@ export class Connection { // that we drop here will be restored by the loop below. self._methodsBlockingQuiescence = Object.create(null); if (self._resetStores) { - _.each(self._methodInvokers, invoker => { + const invokers = self._methodInvokers; + keys(invokers).forEach(id => { + const invoker = invokers[id]; if (invoker.gotResult()) { // This method already got its result, but it didn't call its callback // because its data didn't become visible. We did not resend the // method RPC. We'll call its callback when we get a full quiesce, // since that's as close as we'll get to "data must be visible". - self._afterUpdateCallbacks.push(_.bind(invoker.dataVisible, invoker)); + self._afterUpdateCallbacks.push( + (...args) => invoker.dataVisible(...args) + ); } else if (invoker.sentMessage) { // This method has been sent on this connection (maybe as a resend // from the last connection, maybe from onReconnect, maybe just very @@ -1030,9 +1058,10 @@ export class Connection { // If we're not waiting on any methods or subs, we can reset the stores and // call the callbacks immediately. - if (!self._waitingForQuiescence()) { + if (! self._waitingForQuiescence()) { if (self._resetStores) { - _.each(self._stores, s => { + keys(self._stores).forEach(storeName => { + const s = self._stores[storeName]; s.beginUpdate(0, true); s.endUpdate(); }); @@ -1069,24 +1098,40 @@ export class Connection { if (self._waitingForQuiescence()) { self._messagesBufferedUntilQuiescence.push(msg); - if (msg.msg === 'nosub') delete self._subsBeingRevived[msg.id]; + if (msg.msg === 'nosub') { + delete self._subsBeingRevived[msg.id]; + } - _.each(msg.subs || [], subId => { - delete self._subsBeingRevived[subId]; - }); - _.each(msg.methods || [], methodId => { - delete self._methodsBlockingQuiescence[methodId]; - }); + if (msg.subs) { + msg.subs.forEach(subId => { + delete self._subsBeingRevived[subId]; + }); + } - if (self._waitingForQuiescence()) return; + if (msg.methods) { + msg.methods.forEach(methodId => { + delete self._methodsBlockingQuiescence[methodId]; + }); + } + + if (self._waitingForQuiescence()) { + return; + } // No methods or subs are blocking quiescence! // We'll now process and all of our buffered messages, reset all stores, // and apply them all at once. - _.each(self._messagesBufferedUntilQuiescence, bufferedMsg => { - self._processOneDataMessage(bufferedMsg, self._bufferedWrites); + + const bufferedMessages = self._messagesBufferedUntilQuiescence; + keys(bufferedMessages).forEach(id => { + self._processOneDataMessage( + bufferedMessages[id], + self._bufferedWrites + ); }); + self._messagesBufferedUntilQuiescence = []; + } else { self._processOneDataMessage(msg, self._bufferedWrites); } @@ -1094,8 +1139,12 @@ export class Connection { // Immediately flush writes when: // 1. Buffering is disabled. Or; // 2. any non-(added/changed/removed) message arrives. - var standardWrite = _.include(['added', 'changed', 'removed'], msg.msg); - if (self._bufferedWritesInterval === 0 || !standardWrite) { + var standardWrite = + msg.msg === "added" || + msg.msg === "changed" || + msg.msg === "removed"; + + if (self._bufferedWritesInterval === 0 || ! standardWrite) { self._flushBufferedWrites(); return; } @@ -1136,20 +1185,25 @@ export class Connection { _performWrites(updates) { var self = this; - if (self._resetStores || !_.isEmpty(updates)) { + if (self._resetStores || ! isEmpty(updates)) { // Begin a transactional update of each store. - _.each(self._stores, (s, storeName) => { - s.beginUpdate( - _.has(updates, storeName) ? updates[storeName].length : 0, + + keys(self._stores).forEach(storeName => { + self._stores[storeName].beginUpdate( + hasOwn.call(updates, storeName) + ? updates[storeName].length + : 0, self._resetStores ); }); + self._resetStores = false; - _.each(updates, (updateMessages, storeName) => { + keys(updates).forEach(storeName => { + const updateMessages = updates[storeName]; var store = self._stores[storeName]; if (store) { - _.each(updateMessages, updateMessage => { + updateMessages.forEach(updateMessage => { store.update(updateMessage); }); } else { @@ -1158,18 +1212,19 @@ export class Connection { // XXX memory use will grow without bound if you forget to // create a collection or just don't care about it... going // to have to do something about that. - if (!_.has(self._updatesForUnknownStores, storeName)) - self._updatesForUnknownStores[storeName] = []; - Array.prototype.push.apply( - self._updatesForUnknownStores[storeName], - updateMessages - ); + const updates = self._updatesForUnknownStores; + + if (! hasOwn.call(updates, storeName)) { + updates[storeName] = []; + } + + updates[storeName].push(...updateMessages); } }); // End update transaction. - _.each(self._stores, s => { - s.endUpdate(); + keys(self._stores).forEach(storeName => { + self._stores[storeName].endUpdate(); }); } @@ -1183,14 +1238,13 @@ export class Connection { var self = this; var callbacks = self._afterUpdateCallbacks; self._afterUpdateCallbacks = []; - _.each(callbacks, c => { + callbacks.forEach(c => { c(); }); } _pushUpdate(updates, collection, msg) { - var self = this; - if (!_.has(updates, collection)) { + if (! hasOwn.call(updates, collection)) { updates[collection] = []; } updates[collection].push(msg); @@ -1198,7 +1252,9 @@ export class Connection { _getServerDoc(collection, id) { var self = this; - if (!_.has(self._serverDocuments, collection)) return null; + if (! hasOwn.call(self._serverDocuments, collection)) { + return null; + } var serverDocsForCollection = self._serverDocuments[collection]; return serverDocsForCollection.get(id) || null; } @@ -1263,20 +1319,25 @@ export class Connection { _process_updated(msg, updates) { var self = this; // Process "method done" messages. - _.each(msg.methods, methodId => { - _.each(self._documentsWrittenByStub[methodId], written => { - var serverDoc = self._getServerDoc(written.collection, written.id); - if (!serverDoc) + + msg.methods.forEach(methodId => { + const docs = self._documentsWrittenByStub[methodId]; + keys(docs).forEach(id => { + const written = docs[id]; + const serverDoc = self._getServerDoc(written.collection, written.id); + if (! serverDoc) { throw new Error('Lost serverDoc for ' + JSON.stringify(written)); - if (!serverDoc.writtenByStubs[methodId]) + } + if (! serverDoc.writtenByStubs[methodId]) { throw new Error( 'Doc ' + JSON.stringify(written) + ' not written by method ' + methodId ); + } delete serverDoc.writtenByStubs[methodId]; - if (_.isEmpty(serverDoc.writtenByStubs)) { + if (isEmpty(serverDoc.writtenByStubs)) { // All methods whose stubs wrote this method have completed! We can // now copy the saved document to the database (reverting the stub's // change if the server did not write to this object, or applying the @@ -1291,7 +1352,8 @@ export class Connection { replace: serverDoc.document }); // Call all flush callbacks. - _.each(serverDoc.flushCallbacks, c => { + + serverDoc.flushCallbacks.forEach(c => { c(); }); @@ -1305,11 +1367,13 @@ export class Connection { // We want to call the data-written callback, but we can't do so until all // currently buffered messages are flushed. - var callbackInvoker = self._methodInvokers[methodId]; - if (!callbackInvoker) + const callbackInvoker = self._methodInvokers[methodId]; + if (! callbackInvoker) { throw new Error('No callback invoker for method ' + methodId); + } + self._runWhenAllServerDocsAreFlushed( - _.bind(callbackInvoker.dataVisible, callbackInvoker) + (...args) => callbackInvoker.dataVisible(...args) ); }); } @@ -1319,7 +1383,8 @@ export class Connection { // Process "sub ready" messages. "sub ready" messages don't take effect // until all current server documents have been flushed to the local // database. We can use a write fence to implement this. - _.each(msg.subs, subId => { + + msg.subs.forEach(subId => { self._runWhenAllServerDocsAreFlushed(() => { var subRecord = self._subscriptions[subId]; // Did we already unsubscribe? @@ -1350,15 +1415,15 @@ export class Connection { runFAfterUpdates(); } }; - _.each(self._serverDocuments, collectionDocs => { - collectionDocs.forEach(serverDoc => { - var writtenByStubForAMethodWithSentMessage = _.any( - serverDoc.writtenByStubs, - (dummy, methodId) => { + + keys(self._serverDocuments).forEach(collection => { + self._serverDocuments[collection].forEach(serverDoc => { + const writtenByStubForAMethodWithSentMessage = + keys(serverDoc.writtenByStubs).some(methodId => { var invoker = self._methodInvokers[methodId]; return invoker && invoker.sentMessage; - } - ); + }); + if (writtenByStubForAMethodWithSentMessage) { ++unflushedServerDocCount; serverDoc.flushCallbacks.push(onServerDocFlush); @@ -1383,7 +1448,9 @@ export class Connection { // buffering-until-quiescence. // we weren't subbed anyway, or we initiated the unsub. - if (!_.has(self._subscriptions, msg.id)) return; + if (! hasOwn.call(self._subscriptions, msg.id)) { + return; + } // XXX COMPAT WITH 1.0.3.1 #errorCallback var errorCallback = self._subscriptions[msg.id].errorCallback; @@ -1419,13 +1486,13 @@ export class Connection { var self = this; // Lets make sure there are no buffered writes before returning result. - if (!_.isEmpty(self._bufferedWrites)) { + if (! isEmpty(self._bufferedWrites)) { self._flushBufferedWrites(); } // find the outstanding request // should be O(1) in nearly all realistic use cases - if (_.isEmpty(self._outstandingMethodBlocks)) { + if (isEmpty(self._outstandingMethodBlocks)) { Meteor._debug('Received method result but no methods outstanding'); return; } @@ -1446,7 +1513,7 @@ export class Connection { // _outstandingMethodFinished. currentMethodBlock.splice(i, 1); - if (_.has(msg, 'error')) { + if (hasOwn.call(msg, 'error')) { m.receiveResult( new Meteor.Error(msg.error.error, msg.error.reason, msg.error.details) ); @@ -1467,16 +1534,16 @@ export class Connection { // No methods are outstanding. This should mean that the first block of // methods is empty. (Or it might not exist, if this was a method that // half-finished before disconnect/reconnect.) - if (!_.isEmpty(self._outstandingMethodBlocks)) { + if (! isEmpty(self._outstandingMethodBlocks)) { var firstBlock = self._outstandingMethodBlocks.shift(); - if (!_.isEmpty(firstBlock.methods)) + if (! isEmpty(firstBlock.methods)) throw new Error( 'No methods outstanding but nonempty block: ' + JSON.stringify(firstBlock) ); // Send the outstanding methods now in the first block. - if (!_.isEmpty(self._outstandingMethodBlocks)) + if (! isEmpty(self._outstandingMethodBlocks)) self._sendOutstandingMethods(); } @@ -1488,8 +1555,12 @@ export class Connection { // _outstandingMethodBlocks. _sendOutstandingMethods() { var self = this; - if (_.isEmpty(self._outstandingMethodBlocks)) return; - _.each(self._outstandingMethodBlocks[0].methods, m => { + + if (isEmpty(self._outstandingMethodBlocks)) { + return; + } + + self._outstandingMethodBlocks[0].methods.forEach(m => { m.sendMessage(); }); } @@ -1510,12 +1581,12 @@ export class Connection { return true; }); - if (_.isEmpty(oldOutstandingMethodBlocks)) return; + if (isEmpty(oldOutstandingMethodBlocks)) return; // We have at least one block worth of old outstanding methods to try // again. First: did onReconnect actually send anything? If not, we just // restore all outstanding methods and run the first block. - if (_.isEmpty(self._outstandingMethodBlocks)) { + if (isEmpty(self._outstandingMethodBlocks)) { self._outstandingMethodBlocks = oldOutstandingMethodBlocks; self._sendOutstandingMethods(); return; @@ -1524,30 +1595,29 @@ export class Connection { // OK, there are blocks on both sides. Special case: merge the last block of // the reconnect methods with the first block of the original methods, if // neither of them are "wait" blocks. - if ( - !_.last(self._outstandingMethodBlocks).wait && - !oldOutstandingMethodBlocks[0].wait - ) { - _.each(oldOutstandingMethodBlocks[0].methods, m => { - _.last(self._outstandingMethodBlocks).methods.push(m); + if (! last(self._outstandingMethodBlocks).wait && + ! oldOutstandingMethodBlocks[0].wait) { + oldOutstandingMethodBlocks[0].methods.forEach(m => { + last(self._outstandingMethodBlocks).methods.push(m); // If this "last block" is also the first block, send the message. - if (self._outstandingMethodBlocks.length === 1) m.sendMessage(); + if (self._outstandingMethodBlocks.length === 1) { + m.sendMessage(); + } }); oldOutstandingMethodBlocks.shift(); } // Now add the rest of the original blocks on. - _.each(oldOutstandingMethodBlocks, block => { + oldOutstandingMethodBlocks.forEach(block => { self._outstandingMethodBlocks.push(block); }); } // We can accept a hot code push if there are no methods in flight. _readyToMigrate() { - var self = this; - return _.isEmpty(self._methodInvokers); + return isEmpty(this._methodInvokers); } // If we were blocking a migration, see if it's now possible to continue. @@ -1588,7 +1658,7 @@ export class Connection { this._livedata_connected(msg); this.options.onConnected(); } else if (msg.msg === 'failed') { - if (_.contains(this._supportedDDPVersions, msg.version)) { + if (this._supportedDDPVersions.indexOf(msg.version) >= 0) { this._versionSuggestion = msg.version; this._stream.reconnect({ _force: true }); } else { @@ -1681,7 +1751,7 @@ export class Connection { // Mark all messages as unsent, they have not yet been sent on this // connection. - Object.keys(this._methodInvokers).forEach(id => { + keys(this._methodInvokers).forEach(id => { this._methodInvokers[id].sentMessage = false; }); @@ -1694,7 +1764,7 @@ export class Connection { // add new subscriptions at the end. this way they take effect after // the handlers and we don't see flicker. - Object.keys(this._subscriptions).forEach(id => { + keys(this._subscriptions).forEach(id => { const sub = this._subscriptions[id]; this._send({ msg: 'sub', diff --git a/packages/ddp-client/common/utils.js b/packages/ddp-client/common/utils.js new file mode 100644 index 0000000000..22cd8bd871 --- /dev/null +++ b/packages/ddp-client/common/utils.js @@ -0,0 +1,39 @@ +"use strict"; + +export const hasOwn = Object.prototype.hasOwnProperty; +export const slice = Array.prototype.slice; + +export function keys(obj) { + return Object.keys(Object(obj)); +} + +export function isEmpty(obj) { + if (obj == null) { + return true; + } + + if (Array.isArray(obj) || + typeof obj === "string") { + return obj.length === 0; + } + + for (const key in obj) { + if (hasOwn.call(obj, key)) { + return false; + } + } + + return true; +} + +export function last(array, n, guard) { + if (array == null) { + return; + } + + if ((n == null) || guard) { + return array[array.length - 1]; + } + + return slice.call(array, Math.max(array.length - n, 0)); +} diff --git a/packages/ddp-client/package.js b/packages/ddp-client/package.js index 33ea8f1001..b82ed95767 100644 --- a/packages/ddp-client/package.js +++ b/packages/ddp-client/package.js @@ -11,28 +11,24 @@ Npm.depends({ }); Package.onUse((api) => { - api.use( - [ - 'check', - 'random', - 'ejson', - 'underscore', - 'tracker', - 'retry', - 'id-map', - 'ecmascript', - 'callback-hook', - 'ddp-common', - 'reload', + api.use([ + 'check', + 'random', + 'ejson', + 'tracker', + 'retry', + 'id-map', + 'ecmascript', + 'callback-hook', + 'ddp-common', + 'reload', - // we depend on _diffObjects, _applyChanges, - 'diff-sequence', + // we depend on _diffObjects, _applyChanges, + 'diff-sequence', - // _idParse, _idStringify. - 'mongo-id' - ], - ['client', 'server'] - ); + // _idParse, _idStringify. + 'mongo-id' + ], ['client', 'server']); api.use('reload', 'client', { weak: true }); diff --git a/packages/ddp-client/server/stream_client_nodejs.js b/packages/ddp-client/server/stream_client_nodejs.js index ede183a205..271789dfea 100644 --- a/packages/ddp-client/server/stream_client_nodejs.js +++ b/packages/ddp-client/server/stream_client_nodejs.js @@ -1,6 +1,4 @@ -import { _ } from 'meteor/underscore'; import { Meteor } from 'meteor/meteor'; - import { DDP } from '../common/namespace.js'; import { toWebsocketUrl } from '../common/urlHelpers.js'; import StreamClientCommon from '../common/stream_client_common.js'; From 664b42b82afef7ac05e79d0b901908b36804c1b0 Mon Sep 17 00:00:00 2001 From: Ben Newman Date: Sat, 11 Nov 2017 17:48:21 -0500 Subject: [PATCH 0120/1355] Remove underscore from (and add ecmascript to) ddp-common. --- .../ddp-client/common/livedata_connection.js | 2 +- packages/ddp-client/common/utils.js | 39 ------ packages/ddp-common/heartbeat.js | 121 ++++++++---------- packages/ddp-common/method_invocation.js | 121 +++++++++--------- packages/ddp-common/package.js | 11 +- packages/ddp-common/random_stream.js | 48 ++++--- packages/ddp-common/utils.js | 83 +++++++++--- 7 files changed, 213 insertions(+), 212 deletions(-) delete mode 100644 packages/ddp-client/common/utils.js diff --git a/packages/ddp-client/common/livedata_connection.js b/packages/ddp-client/common/livedata_connection.js index e0aa63e646..3e34493ec9 100644 --- a/packages/ddp-client/common/livedata_connection.js +++ b/packages/ddp-client/common/livedata_connection.js @@ -14,7 +14,7 @@ import { keys, isEmpty, last, -} from "./utils.js"; +} from "meteor/ddp-common/utils.js"; if (Meteor.isServer) { var Fiber = Npm.require('fibers'); diff --git a/packages/ddp-client/common/utils.js b/packages/ddp-client/common/utils.js deleted file mode 100644 index 22cd8bd871..0000000000 --- a/packages/ddp-client/common/utils.js +++ /dev/null @@ -1,39 +0,0 @@ -"use strict"; - -export const hasOwn = Object.prototype.hasOwnProperty; -export const slice = Array.prototype.slice; - -export function keys(obj) { - return Object.keys(Object(obj)); -} - -export function isEmpty(obj) { - if (obj == null) { - return true; - } - - if (Array.isArray(obj) || - typeof obj === "string") { - return obj.length === 0; - } - - for (const key in obj) { - if (hasOwn.call(obj, key)) { - return false; - } - } - - return true; -} - -export function last(array, n, guard) { - if (array == null) { - return; - } - - if ((n == null) || guard) { - return array[array.length - 1]; - } - - return slice.call(array, Math.max(array.length - n, 0)); -} diff --git a/packages/ddp-common/heartbeat.js b/packages/ddp-common/heartbeat.js index 4baca5f861..5338561989 100644 --- a/packages/ddp-common/heartbeat.js +++ b/packages/ddp-common/heartbeat.js @@ -5,96 +5,85 @@ // sendPing: function to call to send a ping on the connection. // onTimeout: function to call to close the connection. -DDPCommon.Heartbeat = function (options) { - var self = this; +DDPCommon.Heartbeat = class Heartbeat { + constructor(options) { + this.heartbeatInterval = options.heartbeatInterval; + this.heartbeatTimeout = options.heartbeatTimeout; + this._sendPing = options.sendPing; + this._onTimeout = options.onTimeout; + this._seenPacket = false; - self.heartbeatInterval = options.heartbeatInterval; - self.heartbeatTimeout = options.heartbeatTimeout; - self._sendPing = options.sendPing; - self._onTimeout = options.onTimeout; - self._seenPacket = false; + this._heartbeatIntervalHandle = null; + this._heartbeatTimeoutHandle = null; + } - self._heartbeatIntervalHandle = null; - self._heartbeatTimeoutHandle = null; -}; + stop() { + this._clearHeartbeatIntervalTimer(); + this._clearHeartbeatTimeoutTimer(); + } -_.extend(DDPCommon.Heartbeat.prototype, { - stop: function () { - var self = this; - self._clearHeartbeatIntervalTimer(); - self._clearHeartbeatTimeoutTimer(); - }, + start() { + this.stop(); + this._startHeartbeatIntervalTimer(); + } - start: function () { - var self = this; - self.stop(); - self._startHeartbeatIntervalTimer(); - }, - - _startHeartbeatIntervalTimer: function () { - var self = this; - self._heartbeatIntervalHandle = Meteor.setInterval( - _.bind(self._heartbeatIntervalFired, self), - self.heartbeatInterval + _startHeartbeatIntervalTimer() { + this._heartbeatIntervalHandle = Meteor.setInterval( + () => this._heartbeatIntervalFired(), + this.heartbeatInterval ); - }, + } - _startHeartbeatTimeoutTimer: function () { - var self = this; - self._heartbeatTimeoutHandle = Meteor.setTimeout( - _.bind(self._heartbeatTimeoutFired, self), - self.heartbeatTimeout + _startHeartbeatTimeoutTimer() { + this._heartbeatTimeoutHandle = Meteor.setTimeout( + () => this._heartbeatTimeoutFired(), + this.heartbeatTimeout ); - }, + } - _clearHeartbeatIntervalTimer: function () { - var self = this; - if (self._heartbeatIntervalHandle) { - Meteor.clearInterval(self._heartbeatIntervalHandle); - self._heartbeatIntervalHandle = null; + _clearHeartbeatIntervalTimer() { + if (this._heartbeatIntervalHandle) { + Meteor.clearInterval(this._heartbeatIntervalHandle); + this._heartbeatIntervalHandle = null; } - }, + } - _clearHeartbeatTimeoutTimer: function () { - var self = this; - if (self._heartbeatTimeoutHandle) { - Meteor.clearTimeout(self._heartbeatTimeoutHandle); - self._heartbeatTimeoutHandle = null; + _clearHeartbeatTimeoutTimer() { + if (this._heartbeatTimeoutHandle) { + Meteor.clearTimeout(this._heartbeatTimeoutHandle); + this._heartbeatTimeoutHandle = null; } - }, + } // The heartbeat interval timer is fired when we should send a ping. - _heartbeatIntervalFired: function () { - var self = this; + _heartbeatIntervalFired() { // don't send ping if we've seen a packet since we last checked, // *or* if we have already sent a ping and are awaiting a timeout. // That shouldn't happen, but it's possible if - // `self.heartbeatInterval` is smaller than - // `self.heartbeatTimeout`. - if (! self._seenPacket && ! self._heartbeatTimeoutHandle) { - self._sendPing(); + // `this.heartbeatInterval` is smaller than + // `this.heartbeatTimeout`. + if (! this._seenPacket && ! this._heartbeatTimeoutHandle) { + this._sendPing(); // Set up timeout, in case a pong doesn't arrive in time. - self._startHeartbeatTimeoutTimer(); + this._startHeartbeatTimeoutTimer(); } - self._seenPacket = false; - }, + this._seenPacket = false; + } // The heartbeat timeout timer is fired when we sent a ping, but we // timed out waiting for the pong. - _heartbeatTimeoutFired: function () { - var self = this; - self._heartbeatTimeoutHandle = null; - self._onTimeout(); - }, + _heartbeatTimeoutFired() { + this._heartbeatTimeoutHandle = null; + this._onTimeout(); + } - messageReceived: function () { - var self = this; + messageReceived() { // Tell periodic checkin that we have seen a packet, and thus it // does not need to send a ping this cycle. - self._seenPacket = true; + this._seenPacket = true; // If we were waiting for a pong, we got it. - if (self._heartbeatTimeoutHandle) { - self._clearHeartbeatTimeoutTimer(); + if (this._heartbeatTimeoutHandle) { + this._clearHeartbeatTimeoutTimer(); } } -}); +}; diff --git a/packages/ddp-common/method_invocation.js b/packages/ddp-common/method_invocation.js index d2b8cd510e..578e855de0 100644 --- a/packages/ddp-common/method_invocation.js +++ b/packages/ddp-common/method_invocation.js @@ -7,78 +7,75 @@ * @instanceName this * @showInstanceName true */ -DDPCommon.MethodInvocation = function (options) { - var self = this; +DDPCommon.MethodInvocation = class MethodInvocation { + constructor(options) { + // true if we're running not the actual method, but a stub (that is, + // if we're on a client (which may be a browser, or in the future a + // server connecting to another server) and presently running a + // simulation of a server-side method for latency compensation + // purposes). not currently true except in a client such as a browser, + // since there's usually no point in running stubs unless you have a + // zero-latency connection to the user. - // true if we're running not the actual method, but a stub (that is, - // if we're on a client (which may be a browser, or in the future a - // server connecting to another server) and presently running a - // simulation of a server-side method for latency compensation - // purposes). not currently true except in a client such as a browser, - // since there's usually no point in running stubs unless you have a - // zero-latency connection to the user. + /** + * @summary Access inside a method invocation. Boolean value, true if this invocation is a stub. + * @locus Anywhere + * @name isSimulation + * @memberOf DDPCommon.MethodInvocation + * @instance + * @type {Boolean} + */ + this.isSimulation = options.isSimulation; - /** - * @summary Access inside a method invocation. Boolean value, true if this invocation is a stub. - * @locus Anywhere - * @name isSimulation - * @memberOf DDPCommon.MethodInvocation - * @instance - * @type {Boolean} - */ - this.isSimulation = options.isSimulation; + // call this function to allow other method invocations (from the + // same client) to continue running without waiting for this one to + // complete. + this._unblock = options.unblock || function () {}; + this._calledUnblock = false; - // call this function to allow other method invocations (from the - // same client) to continue running without waiting for this one to - // complete. - this._unblock = options.unblock || function () {}; - this._calledUnblock = false; + // current user id - // current user id + /** + * @summary The id of the user that made this method call, or `null` if no user was logged in. + * @locus Anywhere + * @name userId + * @memberOf DDPCommon.MethodInvocation + * @instance + */ + this.userId = options.userId; - /** - * @summary The id of the user that made this method call, or `null` if no user was logged in. - * @locus Anywhere - * @name userId - * @memberOf DDPCommon.MethodInvocation - * @instance - */ - this.userId = options.userId; + // sets current user id in all appropriate server contexts and + // reruns subscriptions + this._setUserId = options.setUserId || function () {}; - // sets current user id in all appropriate server contexts and - // reruns subscriptions - this._setUserId = options.setUserId || function () {}; + // On the server, the connection this method call came in on. - // On the server, the connection this method call came in on. + /** + * @summary Access inside a method invocation. The [connection](#meteor_onconnection) that this method was received on. `null` if the method is not associated with a connection, eg. a server initiated method call. Calls to methods made from a server method which was in turn initiated from the client share the same `connection`. + * @locus Server + * @name connection + * @memberOf DDPCommon.MethodInvocation + * @instance + */ + this.connection = options.connection; - /** - * @summary Access inside a method invocation. The [connection](#meteor_onconnection) that this method was received on. `null` if the method is not associated with a connection, eg. a server initiated method call. Calls to methods made from a server method which was in turn initiated from the client share the same `connection`. - * @locus Server - * @name connection - * @memberOf DDPCommon.MethodInvocation - * @instance - */ - this.connection = options.connection; + // The seed for randomStream value generation + this.randomSeed = options.randomSeed; - // The seed for randomStream value generation - this.randomSeed = options.randomSeed; + // This is set by RandomStream.get; and holds the random stream state + this.randomStream = null; + } - // This is set by RandomStream.get; and holds the random stream state - this.randomStream = null; -}; - -_.extend(DDPCommon.MethodInvocation.prototype, { /** * @summary Call inside a method invocation. Allow subsequent method from this client to begin running in a new fiber. * @locus Server * @memberOf DDPCommon.MethodInvocation * @instance */ - unblock: function () { - var self = this; - self._calledUnblock = true; - self._unblock(); - }, + unblock() { + this._calledUnblock = true; + this._unblock(); + } /** * @summary Set the logged in user. @@ -87,11 +84,11 @@ _.extend(DDPCommon.MethodInvocation.prototype, { * @instance * @param {String | null} userId The value that should be returned by `userId` on this connection. */ - setUserId: function(userId) { - var self = this; - if (self._calledUnblock) + setUserId(userId) { + if (this._calledUnblock) { throw new Error("Can't call setUserId in a method after calling unblock"); - self.userId = userId; - self._setUserId(userId); + } + this.userId = userId; + this._setUserId(userId); } -}); +}; diff --git a/packages/ddp-common/package.js b/packages/ddp-common/package.js index 4dfbbae2d3..c1fe09b016 100644 --- a/packages/ddp-common/package.js +++ b/packages/ddp-common/package.js @@ -5,9 +5,14 @@ Package.describe({ }); Package.onUse(function (api) { - api.use(['check', 'random', 'ejson', 'underscore', 'tracker', - 'retry'], - ['client', 'server']); + api.use([ + 'check', + 'random', + 'ecmascript', + 'ejson', + 'tracker', + 'retry', + ], ['client', 'server']); api.addFiles('namespace.js'); diff --git a/packages/ddp-common/random_stream.js b/packages/ddp-common/random_stream.js index dce28d42f1..28001f8ccb 100644 --- a/packages/ddp-common/random_stream.js +++ b/packages/ddp-common/random_stream.js @@ -21,12 +21,30 @@ // If an array, will be used as-is // If a value, will be converted to a single-value array // If omitted, a random array will be used as the seed. -DDPCommon.RandomStream = function (options) { - var self = this; +DDPCommon.RandomStream = class RandomStream { + constructor(options) { + this.seed = [].concat(options.seed || randomToken()); + this.sequences = Object.create(null); + } - this.seed = [].concat(options.seed || randomToken()); + // Get a random sequence with the specified name, creating it if does not exist. + // New sequences are seeded with the seed concatenated with the name. + // By passing a seed into Random.create, we use the Alea generator. + _sequence(name) { + var self = this; - this.sequences = {}; + var sequence = self.sequences[name] || null; + if (sequence === null) { + var sequenceSeed = self.seed.concat(name); + for (var i = 0; i < sequenceSeed.length; i++) { + if (typeof sequenceSeed[i] === "function") { + sequenceSeed[i] = sequenceSeed[i](); + } + } + self.sequences[name] = sequence = Random.createWithSeeds.apply(null, sequenceSeed); + } + return sequence; + } }; // Returns a random string of sufficient length for a random seed. @@ -65,7 +83,6 @@ DDPCommon.RandomStream.get = function (scope, name) { return randomStream._sequence(name); }; - // Creates a randomSeed for passing to a method call. // Note that we take enclosing as an argument, // though we expect it to be DDP._CurrentMethodInvocation.get() @@ -76,24 +93,3 @@ DDPCommon.makeRpcSeed = function (enclosing, methodName) { var stream = DDPCommon.RandomStream.get(enclosing, '/rpc/' + methodName); return stream.hexString(20); }; - -_.extend(DDPCommon.RandomStream.prototype, { - // Get a random sequence with the specified name, creating it if does not exist. - // New sequences are seeded with the seed concatenated with the name. - // By passing a seed into Random.create, we use the Alea generator. - _sequence: function (name) { - var self = this; - - var sequence = self.sequences[name] || null; - if (sequence === null) { - var sequenceSeed = self.seed.concat(name); - for (var i = 0; i < sequenceSeed.length; i++) { - if (_.isFunction(sequenceSeed[i])) { - sequenceSeed[i] = sequenceSeed[i](); - } - } - self.sequences[name] = sequence = Random.createWithSeeds.apply(null, sequenceSeed); - } - return sequence; - } -}); diff --git a/packages/ddp-common/utils.js b/packages/ddp-common/utils.js index a5344d1a96..1dab0637b8 100644 --- a/packages/ddp-common/utils.js +++ b/packages/ddp-common/utils.js @@ -1,3 +1,43 @@ +"use strict"; + +export const hasOwn = Object.prototype.hasOwnProperty; +export const slice = Array.prototype.slice; + +export function keys(obj) { + return Object.keys(Object(obj)); +} + +export function isEmpty(obj) { + if (obj == null) { + return true; + } + + if (Array.isArray(obj) || + typeof obj === "string") { + return obj.length === 0; + } + + for (const key in obj) { + if (hasOwn.call(obj, key)) { + return false; + } + } + + return true; +} + +export function last(array, n, guard) { + if (array == null) { + return; + } + + if ((n == null) || guard) { + return array[array.length - 1]; + } + + return slice.call(array, Math.max(array.length - n, 0)); +} + DDPCommon.SUPPORTED_DDP_VERSIONS = [ '1', 'pre2', 'pre1' ]; DDPCommon.parseDDP = function (stringMessage) { @@ -17,48 +57,61 @@ DDPCommon.parseDDP = function (stringMessage) { // switch between "cleared" rep of unsetting fields and "undefined" // rep of same - if (_.has(msg, 'cleared')) { - if (!_.has(msg, 'fields')) + if (hasOwn.call(msg, 'cleared')) { + if (! hasOwn.call(msg, 'fields')) { msg.fields = {}; - _.each(msg.cleared, function (clearKey) { + } + msg.cleared.forEach(clearKey => { msg.fields[clearKey] = undefined; }); delete msg.cleared; } - _.each(['fields', 'params', 'result'], function (field) { - if (_.has(msg, field)) + ['fields', 'params', 'result'].forEach(field => { + if (hasOwn.call(msg, field)) { msg[field] = EJSON._adjustTypesFromJSONValue(msg[field]); + } }); return msg; }; DDPCommon.stringifyDDP = function (msg) { - var copy = EJSON.clone(msg); + const copy = EJSON.clone(msg); + // swizzle 'changed' messages from 'fields undefined' rep to 'fields // and cleared' rep - if (_.has(msg, 'fields')) { - var cleared = []; - _.each(msg.fields, function (value, key) { - if (value === undefined) { + if (hasOwn.call(msg, 'fields')) { + const cleared = []; + + Object.keys(msg.fields).forEach(key => { + const value = msg.fields[key]; + + if (typeof value === "undefined") { cleared.push(key); delete copy.fields[key]; } }); - if (!_.isEmpty(cleared)) + + if (! isEmpty(cleared)) { copy.cleared = cleared; - if (_.isEmpty(copy.fields)) + } + + if (isEmpty(copy.fields)) { delete copy.fields; + } } + // adjust types to basic - _.each(['fields', 'params', 'result'], function (field) { - if (_.has(copy, field)) + ['fields', 'params', 'result'].forEach(field => { + if (hasOwn.call(copy, field)) { copy[field] = EJSON._adjustTypesToJSONValue(copy[field]); + } }); + if (msg.id && typeof msg.id !== 'string') { throw new Error("Message id is not a string"); } + return JSON.stringify(copy); }; - From b481194788ca32e2adb0cf763fcd442fb532bbee Mon Sep 17 00:00:00 2001 From: George Ehrhorn Date: Sun, 12 Nov 2017 10:55:10 -0500 Subject: [PATCH 0121/1355] Fix broken link (#9351) The contribution guidelines have a broken link to the documentation section. This fix uses the standard convention for the other links in this section. --- CONTRIBUTING.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/CONTRIBUTING.md b/CONTRIBUTING.md index 33ca5cfa03..b5979a9e40 100644 --- a/CONTRIBUTING.md +++ b/CONTRIBUTING.md @@ -11,7 +11,7 @@ Before we jump into detailed guidelines for opening and triaging issues and subm There are many ways to contribute to the Meteor Project. Here’s a list of technical contributions with increasing levels of involvement and required knowledge of Meteor’s code and operations. - [Reporting a bug](CONTRIBUTING.md#reporting-a-bug-in-meteor) - [Triaging issues](ISSUE_TRIAGE.md) -- [Contributing to documentation](https://github.com/meteor/docs/blob/master/CONTRIBUTING.md) +- [Contributing to documentation](CONTRIBUTING.md#documentation) - [Finding work](CONTRIBUTING.md#finding-work) - [Submitting pull requests](CONTRIBUTING.md#making-changes-to-meteor-core) - [Reviewing pull requests](CONTRIBUTING.md#reviewer) From 813a67ebef928e614a7eb7767f175980a200402d Mon Sep 17 00:00:00 2001 From: Christian Klaussner Date: Sun, 12 Nov 2017 17:37:51 +0100 Subject: [PATCH 0122/1355] Fix typo in "Documentation" section (#9352) --- CONTRIBUTING.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/CONTRIBUTING.md b/CONTRIBUTING.md index b5979a9e40..6f1301b43c 100644 --- a/CONTRIBUTING.md +++ b/CONTRIBUTING.md @@ -168,7 +168,7 @@ A great way to contribute to Meteor is by helping keep the issues in the reposit ## Documentation -If you'd like to contribution to Meteor's documentation, head over to https://github.com/meteor/docs and create issues or pull requests there. +If you'd like to contribute to Meteor's documentation, head over to https://github.com/meteor/docs and create issues or pull requests there. ## Blaze From edb33611e18da18d8e89eb3ad07d361968d34c25 Mon Sep 17 00:00:00 2001 From: Ben Newman Date: Sat, 11 Nov 2017 21:27:13 -0500 Subject: [PATCH 0123/1355] Avoid loading SockJS in browsers known not to need it. Supersedes #9316, in which @stubailo demonstrated that SockJS can be straightforwardly eliminated if native WebSocket support is assumed. Native WebSocket support is close to universal now (94% of all clients according to https://caniuse.com/#feat=websockets), which means we can remove ~30KB of legacy code from the client bundle that we send to most web browsers. To achieve this flexibility, the sockjs-0.3.4.js script is injected as a standalone ' + ); +}); diff --git a/packages/ddp-client/client/sockjs-0.3.4.js b/packages/sockjs-shim/sockjs-0.3.4.js similarity index 100% rename from packages/ddp-client/client/sockjs-0.3.4.js rename to packages/sockjs-shim/sockjs-0.3.4.js diff --git a/packages/sockjs-shim/sockjs-0.3.4.min.js b/packages/sockjs-shim/sockjs-0.3.4.min.js new file mode 100644 index 0000000000..546452c779 --- /dev/null +++ b/packages/sockjs-shim/sockjs-0.3.4.min.js @@ -0,0 +1 @@ +SockJS=function(){var e=document,t=window,n={},o=function(){};o.prototype.addEventListener=function(e,t){this._listeners||(this._listeners={}),e in this._listeners||(this._listeners[e]=[]);var o=this._listeners[e];-1===n.arrIndexOf(o,t)&&o.push(t)},o.prototype.removeEventListener=function(e,t){if(this._listeners&&e in this._listeners){var o=this._listeners[e],r=n.arrIndexOf(o,t);-1===r||(o.length>1?this._listeners[e]=o.slice(0,r).concat(o.slice(r+1)):delete this._listeners[e])}},o.prototype.dispatchEvent=function(e){var t=e.type,n=Array.prototype.slice.call(arguments,0);if(this["on"+t]&&this["on"+t].apply(this,n),this._listeners&&t in this._listeners)for(var o=0;o=3e3&&e<=4999},n.countRTO=function(e){var t;return t=e>100?3*e:e+200},n.log=function(){t.console&&console.log&&console.log.apply&&console.log.apply(console,arguments)},n.bind=function(e,t){return e.bind?e.bind(t):function(){return e.apply(t,arguments)}},n.flatUrl=function(e){return-1===e.indexOf("?")&&-1===e.indexOf("#")},n.amendUrl=function(t,o){var r;if(void 0===o)r=e.location;else{var i=/^([a-z0-9.+-]+:)/i.exec(o);if(i){var a=i[0].toLowerCase(),s=o.substring(a.length),u=/[a-z0-9\.-]+(:[0-9]+)?/.exec(s);if(u)var c=u[0]}if(!a||!c)throw new Error("relativeTo must be an absolute url");r={protocol:a,host:c}}if(!t)throw new Error("Wrong url for SockJS");if(!n.flatUrl(t))throw new Error("Only basic urls are supported in SockJS");0===t.indexOf("//")&&(t=r.protocol+t),0===t.indexOf("/")&&(t=r.protocol+"//"+r.host+t);var l=(t=t.replace(/[/]+$/,"")).split("/");return("http:"===l[0]&&/:80$/.test(l[2])||"https:"===l[0]&&/:443$/.test(l[2]))&&(l[2]=l[2].replace(/:(80|443)$/,"")),t=l.join("/")},n.arrIndexOf=function(e,t){for(var n=0;n=0},n.delay=function(e,t){return"function"==typeof e&&(t=e,e=0),setTimeout(t,e)};var u=/[\\\"\x00-\x1f\x7f-\x9f\u00ad\u0600-\u0604\u070f\u17b4\u17b5\u200c-\u200f\u2028-\u202f\u2060-\u206f\ufeff\ufff0-\uffff]/g,c={"\0":"\\u0000","":"\\u0001","":"\\u0002","":"\\u0003","":"\\u0004","":"\\u0005","":"\\u0006","":"\\u0007","\b":"\\b","\t":"\\t","\n":"\\n","\v":"\\u000b","\f":"\\f","\r":"\\r","":"\\u000e","":"\\u000f","":"\\u0010","":"\\u0011","":"\\u0012","":"\\u0013","":"\\u0014","":"\\u0015","":"\\u0016","":"\\u0017","":"\\u0018","":"\\u0019","":"\\u001a","":"\\u001b","":"\\u001c","":"\\u001d","":"\\u001e","":"\\u001f",'"':'\\"',"\\":"\\\\","":"\\u007f","€":"\\u0080","Â":"\\u0081","‚":"\\u0082","ƒ":"\\u0083","„":"\\u0084","Â…":"\\u0085","†":"\\u0086","‡":"\\u0087","ˆ":"\\u0088","‰":"\\u0089","Š":"\\u008a","‹":"\\u008b","ÂŒ":"\\u008c","Â":"\\u008d","ÂŽ":"\\u008e","Â":"\\u008f","Â":"\\u0090","‘":"\\u0091","Â’":"\\u0092","“":"\\u0093","”":"\\u0094","•":"\\u0095","–":"\\u0096","—":"\\u0097","˜":"\\u0098","™":"\\u0099","š":"\\u009a","›":"\\u009b","œ":"\\u009c","Â":"\\u009d","ž":"\\u009e","Ÿ":"\\u009f","­":"\\u00ad","Ø€":"\\u0600","Ø":"\\u0601","Ø‚":"\\u0602","؃":"\\u0603","Ø„":"\\u0604","Ü":"\\u070f","áž´":"\\u17b4","ážµ":"\\u17b5","‌":"\\u200c","â€":"\\u200d","‎":"\\u200e","â€":"\\u200f","\u2028":"\\u2028","\u2029":"\\u2029","‪":"\\u202a","‫":"\\u202b","‬":"\\u202c","‭":"\\u202d","‮":"\\u202e"," ":"\\u202f","â ":"\\u2060","â¡":"\\u2061","â¢":"\\u2062","â£":"\\u2063","â¤":"\\u2064","â¥":"\\u2065","â¦":"\\u2066","â§":"\\u2067","â¨":"\\u2068","â©":"\\u2069","âª":"\\u206a","â«":"\\u206b","â¬":"\\u206c","â­":"\\u206d","â®":"\\u206e","â¯":"\\u206f","\ufeff":"\\ufeff","ï¿°":"\\ufff0","￱":"\\ufff1","￲":"\\ufff2","￳":"\\ufff3","ï¿´":"\\ufff4","￵":"\\ufff5","ï¿¶":"\\ufff6","ï¿·":"\\ufff7","￸":"\\ufff8","":"\\ufff9","":"\\ufffa","ï¿»":"\\ufffb","":"\\ufffc","�":"\\ufffd","￾":"\\ufffe","ï¿¿":"\\uffff"},l=/[\x00-\x1f\ud800-\udfff\ufffe\uffff\u0300-\u0333\u033d-\u0346\u034a-\u034c\u0350-\u0352\u0357-\u0358\u035c-\u0362\u0374\u037e\u0387\u0591-\u05af\u05c4\u0610-\u0617\u0653-\u0654\u0657-\u065b\u065d-\u065e\u06df-\u06e2\u06eb-\u06ec\u0730\u0732-\u0733\u0735-\u0736\u073a\u073d\u073f-\u0741\u0743\u0745\u0747\u07eb-\u07f1\u0951\u0958-\u095f\u09dc-\u09dd\u09df\u0a33\u0a36\u0a59-\u0a5b\u0a5e\u0b5c-\u0b5d\u0e38-\u0e39\u0f43\u0f4d\u0f52\u0f57\u0f5c\u0f69\u0f72-\u0f76\u0f78\u0f80-\u0f83\u0f93\u0f9d\u0fa2\u0fa7\u0fac\u0fb9\u1939-\u193a\u1a17\u1b6b\u1cda-\u1cdb\u1dc0-\u1dcf\u1dfc\u1dfe\u1f71\u1f73\u1f75\u1f77\u1f79\u1f7b\u1f7d\u1fbb\u1fbe\u1fc9\u1fcb\u1fd3\u1fdb\u1fe3\u1feb\u1fee-\u1fef\u1ff9\u1ffb\u1ffd\u2000-\u2001\u20d0-\u20d1\u20d4-\u20d7\u20e7-\u20e9\u2126\u212a-\u212b\u2329-\u232a\u2adc\u302b-\u302c\uaab2-\uaab3\uf900-\ufa0d\ufa10\ufa12\ufa15-\ufa1e\ufa20\ufa22\ufa25-\ufa26\ufa2a-\ufa2d\ufa30-\ufa6d\ufa70-\ufad9\ufb1d\ufb1f\ufb2a-\ufb36\ufb38-\ufb3c\ufb3e\ufb40-\ufb41\ufb43-\ufb44\ufb46-\ufb4e\ufff0-\uffff]/g,f,d=JSON&&JSON.stringify||function(e){return u.lastIndex=0,u.test(e)&&(e=e.replace(u,function(e){return c[e]})),'"'+e+'"'},p=function(e){var t,n={},o=[];for(t=0;t<65536;t++)o.push(String.fromCharCode(t));return e.lastIndex=0,o.join("").replace(e,function(e){return n[e]="\\u"+("0000"+e.charCodeAt(0).toString(16)).slice(-4),""}),e.lastIndex=0,n};n.quote=function(e){var t=d(e);return l.lastIndex=0,l.test(t)?(f||(f=p(l)),t.replace(l,function(e){return f[e]})):t};var _=["websocket","xdr-streaming","xhr-streaming","iframe-eventsource","iframe-htmlfile","xdr-polling","xhr-polling","iframe-xhr-polling","jsonp-polling"];n.probeProtocols=function(){for(var e={},t=0;t<_.length;t++){var n=_[t];e[n]=O[n]&&O[n].enabled()}return e},n.detectProtocols=function(e,t,n){var o={},r=[];t||(t=_);for(var i=0;i0&&s(e)};return!1!==n.websocket&&s(["websocket"]),o["xhr-streaming"]&&!n.null_origin?r.push("xhr-streaming"):!o["xdr-streaming"]||n.cookie_needed||n.null_origin?s(["iframe-eventsource","iframe-htmlfile"]):r.push("xdr-streaming"),o["xhr-polling"]&&!n.null_origin?r.push("xhr-polling"):!o["xdr-polling"]||n.cookie_needed||n.null_origin?s(["iframe-xhr-polling","jsonp-polling"]):r.push("xdr-polling"),r};var h="_sockjs_global";n.createHook=function(){var e="a"+n.random_string(8);if(!(h in t)){var o={};t[h]=function(e){return e in o||(o[e]={id:e,del:function(){delete o[e]}}),o[e]}}return t[h](e)},n.attachMessage=function(e){n.attachEvent("message",e)},n.attachEvent=function(n,o){void 0!==t.addEventListener?t.addEventListener(n,o,!1):(e.attachEvent("on"+n,o),t.attachEvent("on"+n,o))},n.detachMessage=function(e){n.detachEvent("message",e)},n.detachEvent=function(n,o){void 0!==t.addEventListener?t.removeEventListener(n,o,!1):(e.detachEvent("on"+n,o),t.detachEvent("on"+n,o))};var v={},m=!1,y=function(){for(var e in v)v[e](),delete v[e]},b=function(){m||(m=!0,y())};n.attachEvent("unload",b),n.unload_add=function(e){var t=n.random_string(8);return v[t]=e,m&&n.delay(y),t},n.unload_del=function(e){e in v&&delete v[e]},n.createIframe=function(t,o){var r=e.createElement("iframe"),i,a,s=function(){clearTimeout(i);try{r.onload=null}catch(e){}r.onerror=null},u=function(){r&&(s(),setTimeout(function(){r&&r.parentNode.removeChild(r),r=null},0),n.unload_del(a))},c=function(e){r&&(u(),o(e))},l=function(e,t){try{r&&r.contentWindow&&r.contentWindow.postMessage(e,t)}catch(e){}};return r.src=t,r.style.display="none",r.style.position="absolute",r.onerror=function(){c("onerror")},r.onload=function(){clearTimeout(i),i=setTimeout(function(){c("onload timeout")},2e3)},e.body.appendChild(r),i=setTimeout(function(){c("timeout")},15e3),a=n.unload_add(u),{post:l,cleanup:u,loaded:s}},n.createHtmlfile=function(e,o){var r=new ActiveXObject("htmlfile"),i,a,s,u=function(){clearTimeout(i)},c=function(){r&&(u(),n.unload_del(a),s.parentNode.removeChild(s),s=r=null,CollectGarbage())},l=function(e){r&&(c(),o(e))},f=function(e,t){try{s&&s.contentWindow&&s.contentWindow.postMessage(e,t)}catch(e){}};r.open(),r.write(''; +} diff --git a/packages/sockjs-shim/server.js b/packages/sockjs-shim/server.js index d12e6d99c8..7338ac52fa 100644 --- a/packages/sockjs-shim/server.js +++ b/packages/sockjs-shim/server.js @@ -1,11 +1,6 @@ import { onPageLoad } from "meteor/server-render"; const sockjsVersion = "0.3.4"; -const scriptPath = - "/packages/sockjs-shim/sockjs-" + - sockjsVersion + - (Meteor.isProduction ? ".min.js" : ".js"); - const hasOwn = Object.prototype.hasOwnProperty; const minimumMajorVersions = { chrome: 16, @@ -16,21 +11,29 @@ const minimumMajorVersions = { }; onPageLoad(sink => { - const { - browser, - url, - } = sink.request; + if (doNotNeedShim(sink.request)) { + return; + } + sink.appendToHead(makeScript(sockjsVersion)); +}); + +function doNotNeedShim(request) { + const { browser, url } = request; const query = url && url.query; const forceSockJs = query && query.force_sockjs; if (! forceSockJs && browser && hasOwn.call(minimumMajorVersions, browser.name) && browser.major >= minimumMajorVersions[browser.name]) { - return; + return true; } + return false; +} - sink.appendToHead( - '' - ); -}); +function makeScript(version) { + return '\n'; +} From 2a4caf9846e3ae49935a4c795f498b74e3e06d6b Mon Sep 17 00:00:00 2001 From: Ben Newman Date: Mon, 13 Nov 2017 18:12:28 -0500 Subject: [PATCH 0151/1355] Avoid symlinks into es5-shim npm package, for Windows' sake. --- packages/es5-shim/.npm/package/.gitignore | 1 - packages/es5-shim/.npm/package/README | 7 - .../es5-shim/.npm/package/npm-shrinkwrap.json | 10 - packages/es5-shim/es5-sham.js | 1 - packages/es5-shim/es5-sham.min.js | 1 - packages/es5-shim/es5-shim-sham.js | 2629 +++++++++++++++++ packages/es5-shim/es5-shim-sham.min.js | 1 + packages/es5-shim/es5-shim.js | 1 - packages/es5-shim/es5-shim.min.js | 1 - packages/es5-shim/minify.js | 51 + packages/es5-shim/package.js | 10 +- packages/es5-shim/server.js | 3 +- 12 files changed, 2684 insertions(+), 32 deletions(-) delete mode 100644 packages/es5-shim/.npm/package/.gitignore delete mode 100644 packages/es5-shim/.npm/package/README delete mode 100644 packages/es5-shim/.npm/package/npm-shrinkwrap.json delete mode 120000 packages/es5-shim/es5-sham.js delete mode 120000 packages/es5-shim/es5-sham.min.js create mode 100644 packages/es5-shim/es5-shim-sham.js create mode 100644 packages/es5-shim/es5-shim-sham.min.js delete mode 120000 packages/es5-shim/es5-shim.js delete mode 120000 packages/es5-shim/es5-shim.min.js create mode 100644 packages/es5-shim/minify.js diff --git a/packages/es5-shim/.npm/package/.gitignore b/packages/es5-shim/.npm/package/.gitignore deleted file mode 100644 index 3c3629e647..0000000000 --- a/packages/es5-shim/.npm/package/.gitignore +++ /dev/null @@ -1 +0,0 @@ -node_modules diff --git a/packages/es5-shim/.npm/package/README b/packages/es5-shim/.npm/package/README deleted file mode 100644 index 3d492553a4..0000000000 --- a/packages/es5-shim/.npm/package/README +++ /dev/null @@ -1,7 +0,0 @@ -This directory and the files immediately inside it are automatically generated -when you change this package's NPM dependencies. Commit the files in this -directory (npm-shrinkwrap.json, .gitignore, and this README) to source control -so that others run the same versions of sub-dependencies. - -You should NOT check in the node_modules directory that Meteor automatically -creates; if you are using git, the .gitignore file tells git to ignore it. diff --git a/packages/es5-shim/.npm/package/npm-shrinkwrap.json b/packages/es5-shim/.npm/package/npm-shrinkwrap.json deleted file mode 100644 index b868dd4637..0000000000 --- a/packages/es5-shim/.npm/package/npm-shrinkwrap.json +++ /dev/null @@ -1,10 +0,0 @@ -{ - "lockfileVersion": 1, - "dependencies": { - "es5-shim": { - "version": "4.5.9", - "resolved": "https://registry.npmjs.org/es5-shim/-/es5-shim-4.5.9.tgz", - "integrity": "sha1-Kh4rnlg/9f7Qwgo+4svz91IwpcA=" - } - } -} diff --git a/packages/es5-shim/es5-sham.js b/packages/es5-shim/es5-sham.js deleted file mode 120000 index 7141213920..0000000000 --- a/packages/es5-shim/es5-sham.js +++ /dev/null @@ -1 +0,0 @@ -.npm/package/node_modules/es5-shim/es5-sham.js \ No newline at end of file diff --git a/packages/es5-shim/es5-sham.min.js b/packages/es5-shim/es5-sham.min.js deleted file mode 120000 index ddad4e73ea..0000000000 --- a/packages/es5-shim/es5-sham.min.js +++ /dev/null @@ -1 +0,0 @@ -.npm/package/node_modules/es5-shim/es5-sham.min.js \ No newline at end of file diff --git a/packages/es5-shim/es5-shim-sham.js b/packages/es5-shim/es5-shim-sham.js new file mode 100644 index 0000000000..9134f10840 --- /dev/null +++ b/packages/es5-shim/es5-shim-sham.js @@ -0,0 +1,2629 @@ +/*! + * https://github.com/es-shims/es5-shim + * @license es5-shim Copyright 2009-2015 by contributors, MIT License + * see https://github.com/es-shims/es5-shim/blob/master/LICENSE + * @version 4.5.9 + */ + +// vim: ts=4 sts=4 sw=4 expandtab + +// Add semicolon to prevent IIFE from being passed as argument to concatenated code. +; + +// UMD (Universal Module Definition) +// see https://github.com/umdjs/umd/blob/master/templates/returnExports.js +(function (root, factory) { + 'use strict'; + + /* global define, exports, module */ + if (typeof define === 'function' && define.amd) { + // AMD. Register as an anonymous module. + define(factory); + } else if (typeof exports === 'object') { + // Node. Does not work with strict CommonJS, but + // only CommonJS-like enviroments that support module.exports, + // like Node. + module.exports = factory(); + } else { + // Browser globals (root is window) + root.returnExports = factory(); + } +}(this, function () { + /** + * Brings an environment as close to ECMAScript 5 compliance + * as is possible with the facilities of erstwhile engines. + * + * Annotated ES5: http://es5.github.com/ (specific links below) + * ES5 Spec: http://www.ecma-international.org/publications/files/ECMA-ST/Ecma-262.pdf + * Required reading: http://javascriptweblog.wordpress.com/2011/12/05/extending-javascript-natives/ + */ + + // Shortcut to an often accessed properties, in order to avoid multiple + // dereference that costs universally. This also holds a reference to known-good + // functions. + var $Array = Array; + var ArrayPrototype = $Array.prototype; + var $Object = Object; + var ObjectPrototype = $Object.prototype; + var $Function = Function; + var FunctionPrototype = $Function.prototype; + var $String = String; + var StringPrototype = $String.prototype; + var $Number = Number; + var NumberPrototype = $Number.prototype; + var array_slice = ArrayPrototype.slice; + var array_splice = ArrayPrototype.splice; + var array_push = ArrayPrototype.push; + var array_unshift = ArrayPrototype.unshift; + var array_concat = ArrayPrototype.concat; + var array_join = ArrayPrototype.join; + var call = FunctionPrototype.call; + var apply = FunctionPrototype.apply; + var max = Math.max; + var min = Math.min; + + // Having a toString local variable name breaks in Opera so use to_string. + var to_string = ObjectPrototype.toString; + + /* global Symbol */ + /* eslint-disable one-var-declaration-per-line, no-redeclare, max-statements-per-line */ + var hasToStringTag = typeof Symbol === 'function' && typeof Symbol.toStringTag === 'symbol'; + var isCallable; /* inlined from https://npmjs.com/is-callable */ var fnToStr = Function.prototype.toString, constructorRegex = /^\s*class /, isES6ClassFn = function isES6ClassFn(value) { try { var fnStr = fnToStr.call(value); var singleStripped = fnStr.replace(/\/\/.*\n/g, ''); var multiStripped = singleStripped.replace(/\/\*[.\s\S]*\*\//g, ''); var spaceStripped = multiStripped.replace(/\n/mg, ' ').replace(/ {2}/g, ' '); return constructorRegex.test(spaceStripped); } catch (e) { return false; /* not a function */ } }, tryFunctionObject = function tryFunctionObject(value) { try { if (isES6ClassFn(value)) { return false; } fnToStr.call(value); return true; } catch (e) { return false; } }, fnClass = '[object Function]', genClass = '[object GeneratorFunction]', isCallable = function isCallable(value) { if (!value) { return false; } if (typeof value !== 'function' && typeof value !== 'object') { return false; } if (hasToStringTag) { return tryFunctionObject(value); } if (isES6ClassFn(value)) { return false; } var strClass = to_string.call(value); return strClass === fnClass || strClass === genClass; }; + + var isRegex; /* inlined from https://npmjs.com/is-regex */ var regexExec = RegExp.prototype.exec, tryRegexExec = function tryRegexExec(value) { try { regexExec.call(value); return true; } catch (e) { return false; } }, regexClass = '[object RegExp]'; isRegex = function isRegex(value) { if (typeof value !== 'object') { return false; } return hasToStringTag ? tryRegexExec(value) : to_string.call(value) === regexClass; }; + var isString; /* inlined from https://npmjs.com/is-string */ var strValue = String.prototype.valueOf, tryStringObject = function tryStringObject(value) { try { strValue.call(value); return true; } catch (e) { return false; } }, stringClass = '[object String]'; isString = function isString(value) { if (typeof value === 'string') { return true; } if (typeof value !== 'object') { return false; } return hasToStringTag ? tryStringObject(value) : to_string.call(value) === stringClass; }; + /* eslint-enable one-var-declaration-per-line, no-redeclare, max-statements-per-line */ + + /* inlined from http://npmjs.com/define-properties */ + var supportsDescriptors = $Object.defineProperty && (function () { + try { + var obj = {}; + $Object.defineProperty(obj, 'x', { enumerable: false, value: obj }); + for (var _ in obj) { // jscs:ignore disallowUnusedVariables + return false; + } + return obj.x === obj; + } catch (e) { /* this is ES3 */ + return false; + } + }()); + var defineProperties = (function (has) { + // Define configurable, writable, and non-enumerable props + // if they don't exist. + var defineProperty; + if (supportsDescriptors) { + defineProperty = function (object, name, method, forceAssign) { + if (!forceAssign && (name in object)) { + return; + } + $Object.defineProperty(object, name, { + configurable: true, + enumerable: false, + writable: true, + value: method + }); + }; + } else { + defineProperty = function (object, name, method, forceAssign) { + if (!forceAssign && (name in object)) { + return; + } + object[name] = method; + }; + } + return function defineProperties(object, map, forceAssign) { + for (var name in map) { + if (has.call(map, name)) { + defineProperty(object, name, map[name], forceAssign); + } + } + }; + }(ObjectPrototype.hasOwnProperty)); + + // + // Util + // ====== + // + + /* replaceable with https://npmjs.com/package/es-abstract /helpers/isPrimitive */ + var isPrimitive = function isPrimitive(input) { + var type = typeof input; + return input === null || (type !== 'object' && type !== 'function'); + }; + + var isActualNaN = $Number.isNaN || function isActualNaN(x) { + return x !== x; + }; + + var ES = { + // ES5 9.4 + // http://es5.github.com/#x9.4 + // http://jsperf.com/to-integer + /* replaceable with https://npmjs.com/package/es-abstract ES5.ToInteger */ + ToInteger: function ToInteger(num) { + var n = +num; + if (isActualNaN(n)) { + n = 0; + } else if (n !== 0 && n !== (1 / 0) && n !== -(1 / 0)) { + n = (n > 0 || -1) * Math.floor(Math.abs(n)); + } + return n; + }, + + /* replaceable with https://npmjs.com/package/es-abstract ES5.ToPrimitive */ + ToPrimitive: function ToPrimitive(input) { + var val, valueOf, toStr; + if (isPrimitive(input)) { + return input; + } + valueOf = input.valueOf; + if (isCallable(valueOf)) { + val = valueOf.call(input); + if (isPrimitive(val)) { + return val; + } + } + toStr = input.toString; + if (isCallable(toStr)) { + val = toStr.call(input); + if (isPrimitive(val)) { + return val; + } + } + throw new TypeError(); + }, + + // ES5 9.9 + // http://es5.github.com/#x9.9 + /* replaceable with https://npmjs.com/package/es-abstract ES5.ToObject */ + ToObject: function (o) { + if (o == null) { // this matches both null and undefined + throw new TypeError("can't convert " + o + ' to object'); + } + return $Object(o); + }, + + /* replaceable with https://npmjs.com/package/es-abstract ES5.ToUint32 */ + ToUint32: function ToUint32(x) { + return x >>> 0; + } + }; + + // + // Function + // ======== + // + + // ES-5 15.3.4.5 + // http://es5.github.com/#x15.3.4.5 + + var Empty = function Empty() {}; + + defineProperties(FunctionPrototype, { + bind: function bind(that) { // .length is 1 + // 1. Let Target be the this value. + var target = this; + // 2. If IsCallable(Target) is false, throw a TypeError exception. + if (!isCallable(target)) { + throw new TypeError('Function.prototype.bind called on incompatible ' + target); + } + // 3. Let A be a new (possibly empty) internal list of all of the + // argument values provided after thisArg (arg1, arg2 etc), in order. + // XXX slicedArgs will stand in for "A" if used + var args = array_slice.call(arguments, 1); // for normal call + // 4. Let F be a new native ECMAScript object. + // 11. Set the [[Prototype]] internal property of F to the standard + // built-in Function prototype object as specified in 15.3.3.1. + // 12. Set the [[Call]] internal property of F as described in + // 15.3.4.5.1. + // 13. Set the [[Construct]] internal property of F as described in + // 15.3.4.5.2. + // 14. Set the [[HasInstance]] internal property of F as described in + // 15.3.4.5.3. + var bound; + var binder = function () { + + if (this instanceof bound) { + // 15.3.4.5.2 [[Construct]] + // When the [[Construct]] internal method of a function object, + // F that was created using the bind function is called with a + // list of arguments ExtraArgs, the following steps are taken: + // 1. Let target be the value of F's [[TargetFunction]] + // internal property. + // 2. If target has no [[Construct]] internal method, a + // TypeError exception is thrown. + // 3. Let boundArgs be the value of F's [[BoundArgs]] internal + // property. + // 4. Let args be a new list containing the same values as the + // list boundArgs in the same order followed by the same + // values as the list ExtraArgs in the same order. + // 5. Return the result of calling the [[Construct]] internal + // method of target providing args as the arguments. + + var result = apply.call( + target, + this, + array_concat.call(args, array_slice.call(arguments)) + ); + if ($Object(result) === result) { + return result; + } + return this; + + } else { + // 15.3.4.5.1 [[Call]] + // When the [[Call]] internal method of a function object, F, + // which was created using the bind function is called with a + // this value and a list of arguments ExtraArgs, the following + // steps are taken: + // 1. Let boundArgs be the value of F's [[BoundArgs]] internal + // property. + // 2. Let boundThis be the value of F's [[BoundThis]] internal + // property. + // 3. Let target be the value of F's [[TargetFunction]] internal + // property. + // 4. Let args be a new list containing the same values as the + // list boundArgs in the same order followed by the same + // values as the list ExtraArgs in the same order. + // 5. Return the result of calling the [[Call]] internal method + // of target providing boundThis as the this value and + // providing args as the arguments. + + // equiv: target.call(this, ...boundArgs, ...args) + return apply.call( + target, + that, + array_concat.call(args, array_slice.call(arguments)) + ); + + } + + }; + + // 15. If the [[Class]] internal property of Target is "Function", then + // a. Let L be the length property of Target minus the length of A. + // b. Set the length own property of F to either 0 or L, whichever is + // larger. + // 16. Else set the length own property of F to 0. + + var boundLength = max(0, target.length - args.length); + + // 17. Set the attributes of the length own property of F to the values + // specified in 15.3.5.1. + var boundArgs = []; + for (var i = 0; i < boundLength; i++) { + array_push.call(boundArgs, '$' + i); + } + + // XXX Build a dynamic function with desired amount of arguments is the only + // way to set the length property of a function. + // In environments where Content Security Policies enabled (Chrome extensions, + // for ex.) all use of eval or Function costructor throws an exception. + // However in all of these environments Function.prototype.bind exists + // and so this code will never be executed. + bound = $Function('binder', 'return function (' + array_join.call(boundArgs, ',') + '){ return binder.apply(this, arguments); }')(binder); + + if (target.prototype) { + Empty.prototype = target.prototype; + bound.prototype = new Empty(); + // Clean up dangling references. + Empty.prototype = null; + } + + // TODO + // 18. Set the [[Extensible]] internal property of F to true. + + // TODO + // 19. Let thrower be the [[ThrowTypeError]] function Object (13.2.3). + // 20. Call the [[DefineOwnProperty]] internal method of F with + // arguments "caller", PropertyDescriptor {[[Get]]: thrower, [[Set]]: + // thrower, [[Enumerable]]: false, [[Configurable]]: false}, and + // false. + // 21. Call the [[DefineOwnProperty]] internal method of F with + // arguments "arguments", PropertyDescriptor {[[Get]]: thrower, + // [[Set]]: thrower, [[Enumerable]]: false, [[Configurable]]: false}, + // and false. + + // TODO + // NOTE Function objects created using Function.prototype.bind do not + // have a prototype property or the [[Code]], [[FormalParameters]], and + // [[Scope]] internal properties. + // XXX can't delete prototype in pure-js. + + // 22. Return F. + return bound; + } + }); + + // _Please note: Shortcuts are defined after `Function.prototype.bind` as we + // use it in defining shortcuts. + var owns = call.bind(ObjectPrototype.hasOwnProperty); + var toStr = call.bind(ObjectPrototype.toString); + var arraySlice = call.bind(array_slice); + var arraySliceApply = apply.bind(array_slice); + var strSlice = call.bind(StringPrototype.slice); + var strSplit = call.bind(StringPrototype.split); + var strIndexOf = call.bind(StringPrototype.indexOf); + var pushCall = call.bind(array_push); + var isEnum = call.bind(ObjectPrototype.propertyIsEnumerable); + var arraySort = call.bind(ArrayPrototype.sort); + + // + // Array + // ===== + // + + var isArray = $Array.isArray || function isArray(obj) { + return toStr(obj) === '[object Array]'; + }; + + // ES5 15.4.4.12 + // http://es5.github.com/#x15.4.4.13 + // Return len+argCount. + // [bugfix, ielt8] + // IE < 8 bug: [].unshift(0) === undefined but should be "1" + var hasUnshiftReturnValueBug = [].unshift(0) !== 1; + defineProperties(ArrayPrototype, { + unshift: function () { + array_unshift.apply(this, arguments); + return this.length; + } + }, hasUnshiftReturnValueBug); + + // ES5 15.4.3.2 + // http://es5.github.com/#x15.4.3.2 + // https://developer.mozilla.org/en/JavaScript/Reference/Global_Objects/Array/isArray + defineProperties($Array, { isArray: isArray }); + + // The IsCallable() check in the Array functions + // has been replaced with a strict check on the + // internal class of the object to trap cases where + // the provided function was actually a regular + // expression literal, which in V8 and + // JavaScriptCore is a typeof "function". Only in + // V8 are regular expression literals permitted as + // reduce parameters, so it is desirable in the + // general case for the shim to match the more + // strict and common behavior of rejecting regular + // expressions. + + // ES5 15.4.4.18 + // http://es5.github.com/#x15.4.4.18 + // https://developer.mozilla.org/en/JavaScript/Reference/Global_Objects/array/forEach + + // Check failure of by-index access of string characters (IE < 9) + // and failure of `0 in boxedString` (Rhino) + var boxedString = $Object('a'); + var splitString = boxedString[0] !== 'a' || !(0 in boxedString); + + var properlyBoxesContext = function properlyBoxed(method) { + // Check node 0.6.21 bug where third parameter is not boxed + var properlyBoxesNonStrict = true; + var properlyBoxesStrict = true; + var threwException = false; + if (method) { + try { + method.call('foo', function (_, __, context) { + if (typeof context !== 'object') { + properlyBoxesNonStrict = false; + } + }); + + method.call([1], function () { + 'use strict'; + + properlyBoxesStrict = typeof this === 'string'; + }, 'x'); + } catch (e) { + threwException = true; + } + } + return !!method && !threwException && properlyBoxesNonStrict && properlyBoxesStrict; + }; + + defineProperties(ArrayPrototype, { + forEach: function forEach(callbackfn/*, thisArg*/) { + var object = ES.ToObject(this); + var self = splitString && isString(this) ? strSplit(this, '') : object; + var i = -1; + var length = ES.ToUint32(self.length); + var T; + if (arguments.length > 1) { + T = arguments[1]; + } + + // If no callback function or if callback is not a callable function + if (!isCallable(callbackfn)) { + throw new TypeError('Array.prototype.forEach callback must be a function'); + } + + while (++i < length) { + if (i in self) { + // Invoke the callback function with call, passing arguments: + // context, property value, property key, thisArg object + if (typeof T === 'undefined') { + callbackfn(self[i], i, object); + } else { + callbackfn.call(T, self[i], i, object); + } + } + } + } + }, !properlyBoxesContext(ArrayPrototype.forEach)); + + // ES5 15.4.4.19 + // http://es5.github.com/#x15.4.4.19 + // https://developer.mozilla.org/en/Core_JavaScript_1.5_Reference/Objects/Array/map + defineProperties(ArrayPrototype, { + map: function map(callbackfn/*, thisArg*/) { + var object = ES.ToObject(this); + var self = splitString && isString(this) ? strSplit(this, '') : object; + var length = ES.ToUint32(self.length); + var result = $Array(length); + var T; + if (arguments.length > 1) { + T = arguments[1]; + } + + // If no callback function or if callback is not a callable function + if (!isCallable(callbackfn)) { + throw new TypeError('Array.prototype.map callback must be a function'); + } + + for (var i = 0; i < length; i++) { + if (i in self) { + if (typeof T === 'undefined') { + result[i] = callbackfn(self[i], i, object); + } else { + result[i] = callbackfn.call(T, self[i], i, object); + } + } + } + return result; + } + }, !properlyBoxesContext(ArrayPrototype.map)); + + // ES5 15.4.4.20 + // http://es5.github.com/#x15.4.4.20 + // https://developer.mozilla.org/en/Core_JavaScript_1.5_Reference/Objects/Array/filter + defineProperties(ArrayPrototype, { + filter: function filter(callbackfn/*, thisArg*/) { + var object = ES.ToObject(this); + var self = splitString && isString(this) ? strSplit(this, '') : object; + var length = ES.ToUint32(self.length); + var result = []; + var value; + var T; + if (arguments.length > 1) { + T = arguments[1]; + } + + // If no callback function or if callback is not a callable function + if (!isCallable(callbackfn)) { + throw new TypeError('Array.prototype.filter callback must be a function'); + } + + for (var i = 0; i < length; i++) { + if (i in self) { + value = self[i]; + if (typeof T === 'undefined' ? callbackfn(value, i, object) : callbackfn.call(T, value, i, object)) { + pushCall(result, value); + } + } + } + return result; + } + }, !properlyBoxesContext(ArrayPrototype.filter)); + + // ES5 15.4.4.16 + // http://es5.github.com/#x15.4.4.16 + // https://developer.mozilla.org/en/JavaScript/Reference/Global_Objects/Array/every + defineProperties(ArrayPrototype, { + every: function every(callbackfn/*, thisArg*/) { + var object = ES.ToObject(this); + var self = splitString && isString(this) ? strSplit(this, '') : object; + var length = ES.ToUint32(self.length); + var T; + if (arguments.length > 1) { + T = arguments[1]; + } + + // If no callback function or if callback is not a callable function + if (!isCallable(callbackfn)) { + throw new TypeError('Array.prototype.every callback must be a function'); + } + + for (var i = 0; i < length; i++) { + if (i in self && !(typeof T === 'undefined' ? callbackfn(self[i], i, object) : callbackfn.call(T, self[i], i, object))) { + return false; + } + } + return true; + } + }, !properlyBoxesContext(ArrayPrototype.every)); + + // ES5 15.4.4.17 + // http://es5.github.com/#x15.4.4.17 + // https://developer.mozilla.org/en/JavaScript/Reference/Global_Objects/Array/some + defineProperties(ArrayPrototype, { + some: function some(callbackfn/*, thisArg */) { + var object = ES.ToObject(this); + var self = splitString && isString(this) ? strSplit(this, '') : object; + var length = ES.ToUint32(self.length); + var T; + if (arguments.length > 1) { + T = arguments[1]; + } + + // If no callback function or if callback is not a callable function + if (!isCallable(callbackfn)) { + throw new TypeError('Array.prototype.some callback must be a function'); + } + + for (var i = 0; i < length; i++) { + if (i in self && (typeof T === 'undefined' ? callbackfn(self[i], i, object) : callbackfn.call(T, self[i], i, object))) { + return true; + } + } + return false; + } + }, !properlyBoxesContext(ArrayPrototype.some)); + + // ES5 15.4.4.21 + // http://es5.github.com/#x15.4.4.21 + // https://developer.mozilla.org/en/Core_JavaScript_1.5_Reference/Objects/Array/reduce + var reduceCoercesToObject = false; + if (ArrayPrototype.reduce) { + reduceCoercesToObject = typeof ArrayPrototype.reduce.call('es5', function (_, __, ___, list) { + return list; + }) === 'object'; + } + defineProperties(ArrayPrototype, { + reduce: function reduce(callbackfn/*, initialValue*/) { + var object = ES.ToObject(this); + var self = splitString && isString(this) ? strSplit(this, '') : object; + var length = ES.ToUint32(self.length); + + // If no callback function or if callback is not a callable function + if (!isCallable(callbackfn)) { + throw new TypeError('Array.prototype.reduce callback must be a function'); + } + + // no value to return if no initial value and an empty array + if (length === 0 && arguments.length === 1) { + throw new TypeError('reduce of empty array with no initial value'); + } + + var i = 0; + var result; + if (arguments.length >= 2) { + result = arguments[1]; + } else { + do { + if (i in self) { + result = self[i++]; + break; + } + + // if array contains no values, no initial value to return + if (++i >= length) { + throw new TypeError('reduce of empty array with no initial value'); + } + } while (true); + } + + for (; i < length; i++) { + if (i in self) { + result = callbackfn(result, self[i], i, object); + } + } + + return result; + } + }, !reduceCoercesToObject); + + // ES5 15.4.4.22 + // http://es5.github.com/#x15.4.4.22 + // https://developer.mozilla.org/en/Core_JavaScript_1.5_Reference/Objects/Array/reduceRight + var reduceRightCoercesToObject = false; + if (ArrayPrototype.reduceRight) { + reduceRightCoercesToObject = typeof ArrayPrototype.reduceRight.call('es5', function (_, __, ___, list) { + return list; + }) === 'object'; + } + defineProperties(ArrayPrototype, { + reduceRight: function reduceRight(callbackfn/*, initial*/) { + var object = ES.ToObject(this); + var self = splitString && isString(this) ? strSplit(this, '') : object; + var length = ES.ToUint32(self.length); + + // If no callback function or if callback is not a callable function + if (!isCallable(callbackfn)) { + throw new TypeError('Array.prototype.reduceRight callback must be a function'); + } + + // no value to return if no initial value, empty array + if (length === 0 && arguments.length === 1) { + throw new TypeError('reduceRight of empty array with no initial value'); + } + + var result; + var i = length - 1; + if (arguments.length >= 2) { + result = arguments[1]; + } else { + do { + if (i in self) { + result = self[i--]; + break; + } + + // if array contains no values, no initial value to return + if (--i < 0) { + throw new TypeError('reduceRight of empty array with no initial value'); + } + } while (true); + } + + if (i < 0) { + return result; + } + + do { + if (i in self) { + result = callbackfn(result, self[i], i, object); + } + } while (i--); + + return result; + } + }, !reduceRightCoercesToObject); + + // ES5 15.4.4.14 + // http://es5.github.com/#x15.4.4.14 + // https://developer.mozilla.org/en/JavaScript/Reference/Global_Objects/Array/indexOf + var hasFirefox2IndexOfBug = ArrayPrototype.indexOf && [0, 1].indexOf(1, 2) !== -1; + defineProperties(ArrayPrototype, { + indexOf: function indexOf(searchElement/*, fromIndex */) { + var self = splitString && isString(this) ? strSplit(this, '') : ES.ToObject(this); + var length = ES.ToUint32(self.length); + + if (length === 0) { + return -1; + } + + var i = 0; + if (arguments.length > 1) { + i = ES.ToInteger(arguments[1]); + } + + // handle negative indices + i = i >= 0 ? i : max(0, length + i); + for (; i < length; i++) { + if (i in self && self[i] === searchElement) { + return i; + } + } + return -1; + } + }, hasFirefox2IndexOfBug); + + // ES5 15.4.4.15 + // http://es5.github.com/#x15.4.4.15 + // https://developer.mozilla.org/en/JavaScript/Reference/Global_Objects/Array/lastIndexOf + var hasFirefox2LastIndexOfBug = ArrayPrototype.lastIndexOf && [0, 1].lastIndexOf(0, -3) !== -1; + defineProperties(ArrayPrototype, { + lastIndexOf: function lastIndexOf(searchElement/*, fromIndex */) { + var self = splitString && isString(this) ? strSplit(this, '') : ES.ToObject(this); + var length = ES.ToUint32(self.length); + + if (length === 0) { + return -1; + } + var i = length - 1; + if (arguments.length > 1) { + i = min(i, ES.ToInteger(arguments[1])); + } + // handle negative indices + i = i >= 0 ? i : length - Math.abs(i); + for (; i >= 0; i--) { + if (i in self && searchElement === self[i]) { + return i; + } + } + return -1; + } + }, hasFirefox2LastIndexOfBug); + + // ES5 15.4.4.12 + // http://es5.github.com/#x15.4.4.12 + var spliceNoopReturnsEmptyArray = (function () { + var a = [1, 2]; + var result = a.splice(); + return a.length === 2 && isArray(result) && result.length === 0; + }()); + defineProperties(ArrayPrototype, { + // Safari 5.0 bug where .splice() returns undefined + splice: function splice(start, deleteCount) { + if (arguments.length === 0) { + return []; + } else { + return array_splice.apply(this, arguments); + } + } + }, !spliceNoopReturnsEmptyArray); + + var spliceWorksWithEmptyObject = (function () { + var obj = {}; + ArrayPrototype.splice.call(obj, 0, 0, 1); + return obj.length === 1; + }()); + defineProperties(ArrayPrototype, { + splice: function splice(start, deleteCount) { + if (arguments.length === 0) { + return []; + } + var args = arguments; + this.length = max(ES.ToInteger(this.length), 0); + if (arguments.length > 0 && typeof deleteCount !== 'number') { + args = arraySlice(arguments); + if (args.length < 2) { + pushCall(args, this.length - start); + } else { + args[1] = ES.ToInteger(deleteCount); + } + } + return array_splice.apply(this, args); + } + }, !spliceWorksWithEmptyObject); + var spliceWorksWithLargeSparseArrays = (function () { + // Per https://github.com/es-shims/es5-shim/issues/295 + // Safari 7/8 breaks with sparse arrays of size 1e5 or greater + var arr = new $Array(1e5); + // note: the index MUST be 8 or larger or the test will false pass + arr[8] = 'x'; + arr.splice(1, 1); + // note: this test must be defined *after* the indexOf shim + // per https://github.com/es-shims/es5-shim/issues/313 + return arr.indexOf('x') === 7; + }()); + var spliceWorksWithSmallSparseArrays = (function () { + // Per https://github.com/es-shims/es5-shim/issues/295 + // Opera 12.15 breaks on this, no idea why. + var n = 256; + var arr = []; + arr[n] = 'a'; + arr.splice(n + 1, 0, 'b'); + return arr[n] === 'a'; + }()); + defineProperties(ArrayPrototype, { + splice: function splice(start, deleteCount) { + var O = ES.ToObject(this); + var A = []; + var len = ES.ToUint32(O.length); + var relativeStart = ES.ToInteger(start); + var actualStart = relativeStart < 0 ? max((len + relativeStart), 0) : min(relativeStart, len); + var actualDeleteCount = min(max(ES.ToInteger(deleteCount), 0), len - actualStart); + + var k = 0; + var from; + while (k < actualDeleteCount) { + from = $String(actualStart + k); + if (owns(O, from)) { + A[k] = O[from]; + } + k += 1; + } + + var items = arraySlice(arguments, 2); + var itemCount = items.length; + var to; + if (itemCount < actualDeleteCount) { + k = actualStart; + var maxK = len - actualDeleteCount; + while (k < maxK) { + from = $String(k + actualDeleteCount); + to = $String(k + itemCount); + if (owns(O, from)) { + O[to] = O[from]; + } else { + delete O[to]; + } + k += 1; + } + k = len; + var minK = len - actualDeleteCount + itemCount; + while (k > minK) { + delete O[k - 1]; + k -= 1; + } + } else if (itemCount > actualDeleteCount) { + k = len - actualDeleteCount; + while (k > actualStart) { + from = $String(k + actualDeleteCount - 1); + to = $String(k + itemCount - 1); + if (owns(O, from)) { + O[to] = O[from]; + } else { + delete O[to]; + } + k -= 1; + } + } + k = actualStart; + for (var i = 0; i < items.length; ++i) { + O[k] = items[i]; + k += 1; + } + O.length = len - actualDeleteCount + itemCount; + + return A; + } + }, !spliceWorksWithLargeSparseArrays || !spliceWorksWithSmallSparseArrays); + + var originalJoin = ArrayPrototype.join; + var hasStringJoinBug; + try { + hasStringJoinBug = Array.prototype.join.call('123', ',') !== '1,2,3'; + } catch (e) { + hasStringJoinBug = true; + } + if (hasStringJoinBug) { + defineProperties(ArrayPrototype, { + join: function join(separator) { + var sep = typeof separator === 'undefined' ? ',' : separator; + return originalJoin.call(isString(this) ? strSplit(this, '') : this, sep); + } + }, hasStringJoinBug); + } + + var hasJoinUndefinedBug = [1, 2].join(undefined) !== '1,2'; + if (hasJoinUndefinedBug) { + defineProperties(ArrayPrototype, { + join: function join(separator) { + var sep = typeof separator === 'undefined' ? ',' : separator; + return originalJoin.call(this, sep); + } + }, hasJoinUndefinedBug); + } + + var pushShim = function push(item) { + var O = ES.ToObject(this); + var n = ES.ToUint32(O.length); + var i = 0; + while (i < arguments.length) { + O[n + i] = arguments[i]; + i += 1; + } + O.length = n + i; + return n + i; + }; + + var pushIsNotGeneric = (function () { + var obj = {}; + var result = Array.prototype.push.call(obj, undefined); + return result !== 1 || obj.length !== 1 || typeof obj[0] !== 'undefined' || !owns(obj, 0); + }()); + defineProperties(ArrayPrototype, { + push: function push(item) { + if (isArray(this)) { + return array_push.apply(this, arguments); + } + return pushShim.apply(this, arguments); + } + }, pushIsNotGeneric); + + // This fixes a very weird bug in Opera 10.6 when pushing `undefined + var pushUndefinedIsWeird = (function () { + var arr = []; + var result = arr.push(undefined); + return result !== 1 || arr.length !== 1 || typeof arr[0] !== 'undefined' || !owns(arr, 0); + }()); + defineProperties(ArrayPrototype, { push: pushShim }, pushUndefinedIsWeird); + + // ES5 15.2.3.14 + // http://es5.github.io/#x15.4.4.10 + // Fix boxed string bug + defineProperties(ArrayPrototype, { + slice: function (start, end) { + var arr = isString(this) ? strSplit(this, '') : this; + return arraySliceApply(arr, arguments); + } + }, splitString); + + var sortIgnoresNonFunctions = (function () { + try { + [1, 2].sort(null); + [1, 2].sort({}); + return true; + } catch (e) {} + return false; + }()); + var sortThrowsOnRegex = (function () { + // this is a problem in Firefox 4, in which `typeof /a/ === 'function'` + try { + [1, 2].sort(/a/); + return false; + } catch (e) {} + return true; + }()); + var sortIgnoresUndefined = (function () { + // applies in IE 8, for one. + try { + [1, 2].sort(undefined); + return true; + } catch (e) {} + return false; + }()); + defineProperties(ArrayPrototype, { + sort: function sort(compareFn) { + if (typeof compareFn === 'undefined') { + return arraySort(this); + } + if (!isCallable(compareFn)) { + throw new TypeError('Array.prototype.sort callback must be a function'); + } + return arraySort(this, compareFn); + } + }, sortIgnoresNonFunctions || !sortIgnoresUndefined || !sortThrowsOnRegex); + + // + // Object + // ====== + // + + // ES5 15.2.3.14 + // http://es5.github.com/#x15.2.3.14 + + // http://whattheheadsaid.com/2010/10/a-safer-object-keys-compatibility-implementation + var hasDontEnumBug = !isEnum({ 'toString': null }, 'toString'); + var hasProtoEnumBug = isEnum(function () {}, 'prototype'); + var hasStringEnumBug = !owns('x', '0'); + var equalsConstructorPrototype = function (o) { + var ctor = o.constructor; + return ctor && ctor.prototype === o; + }; + var blacklistedKeys = { + $window: true, + $console: true, + $parent: true, + $self: true, + $frame: true, + $frames: true, + $frameElement: true, + $webkitIndexedDB: true, + $webkitStorageInfo: true, + $external: true + }; + var hasAutomationEqualityBug = (function () { + /* globals window */ + if (typeof window === 'undefined') { + return false; + } + for (var k in window) { + try { + if (!blacklistedKeys['$' + k] && owns(window, k) && window[k] !== null && typeof window[k] === 'object') { + equalsConstructorPrototype(window[k]); + } + } catch (e) { + return true; + } + } + return false; + }()); + var equalsConstructorPrototypeIfNotBuggy = function (object) { + if (typeof window === 'undefined' || !hasAutomationEqualityBug) { + return equalsConstructorPrototype(object); + } + try { + return equalsConstructorPrototype(object); + } catch (e) { + return false; + } + }; + var dontEnums = [ + 'toString', + 'toLocaleString', + 'valueOf', + 'hasOwnProperty', + 'isPrototypeOf', + 'propertyIsEnumerable', + 'constructor' + ]; + var dontEnumsLength = dontEnums.length; + + // taken directly from https://github.com/ljharb/is-arguments/blob/master/index.js + // can be replaced with require('is-arguments') if we ever use a build process instead + var isStandardArguments = function isArguments(value) { + return toStr(value) === '[object Arguments]'; + }; + var isLegacyArguments = function isArguments(value) { + return value !== null && + typeof value === 'object' && + typeof value.length === 'number' && + value.length >= 0 && + !isArray(value) && + isCallable(value.callee); + }; + var isArguments = isStandardArguments(arguments) ? isStandardArguments : isLegacyArguments; + + defineProperties($Object, { + keys: function keys(object) { + var isFn = isCallable(object); + var isArgs = isArguments(object); + var isObject = object !== null && typeof object === 'object'; + var isStr = isObject && isString(object); + + if (!isObject && !isFn && !isArgs) { + throw new TypeError('Object.keys called on a non-object'); + } + + var theKeys = []; + var skipProto = hasProtoEnumBug && isFn; + if ((isStr && hasStringEnumBug) || isArgs) { + for (var i = 0; i < object.length; ++i) { + pushCall(theKeys, $String(i)); + } + } + + if (!isArgs) { + for (var name in object) { + if (!(skipProto && name === 'prototype') && owns(object, name)) { + pushCall(theKeys, $String(name)); + } + } + } + + if (hasDontEnumBug) { + var skipConstructor = equalsConstructorPrototypeIfNotBuggy(object); + for (var j = 0; j < dontEnumsLength; j++) { + var dontEnum = dontEnums[j]; + if (!(skipConstructor && dontEnum === 'constructor') && owns(object, dontEnum)) { + pushCall(theKeys, dontEnum); + } + } + } + return theKeys; + } + }); + + var keysWorksWithArguments = $Object.keys && (function () { + // Safari 5.0 bug + return $Object.keys(arguments).length === 2; + }(1, 2)); + var keysHasArgumentsLengthBug = $Object.keys && (function () { + var argKeys = $Object.keys(arguments); + return arguments.length !== 1 || argKeys.length !== 1 || argKeys[0] !== 1; + }(1)); + var originalKeys = $Object.keys; + defineProperties($Object, { + keys: function keys(object) { + if (isArguments(object)) { + return originalKeys(arraySlice(object)); + } else { + return originalKeys(object); + } + } + }, !keysWorksWithArguments || keysHasArgumentsLengthBug); + + // + // Date + // ==== + // + + var hasNegativeMonthYearBug = new Date(-3509827329600292).getUTCMonth() !== 0; + var aNegativeTestDate = new Date(-1509842289600292); + var aPositiveTestDate = new Date(1449662400000); + var hasToUTCStringFormatBug = aNegativeTestDate.toUTCString() !== 'Mon, 01 Jan -45875 11:59:59 GMT'; + var hasToDateStringFormatBug; + var hasToStringFormatBug; + var timeZoneOffset = aNegativeTestDate.getTimezoneOffset(); + if (timeZoneOffset < -720) { + hasToDateStringFormatBug = aNegativeTestDate.toDateString() !== 'Tue Jan 02 -45875'; + hasToStringFormatBug = !(/^Thu Dec 10 2015 \d\d:\d\d:\d\d GMT[-\+]\d\d\d\d(?: |$)/).test(aPositiveTestDate.toString()); + } else { + hasToDateStringFormatBug = aNegativeTestDate.toDateString() !== 'Mon Jan 01 -45875'; + hasToStringFormatBug = !(/^Wed Dec 09 2015 \d\d:\d\d:\d\d GMT[-\+]\d\d\d\d(?: |$)/).test(aPositiveTestDate.toString()); + } + + var originalGetFullYear = call.bind(Date.prototype.getFullYear); + var originalGetMonth = call.bind(Date.prototype.getMonth); + var originalGetDate = call.bind(Date.prototype.getDate); + var originalGetUTCFullYear = call.bind(Date.prototype.getUTCFullYear); + var originalGetUTCMonth = call.bind(Date.prototype.getUTCMonth); + var originalGetUTCDate = call.bind(Date.prototype.getUTCDate); + var originalGetUTCDay = call.bind(Date.prototype.getUTCDay); + var originalGetUTCHours = call.bind(Date.prototype.getUTCHours); + var originalGetUTCMinutes = call.bind(Date.prototype.getUTCMinutes); + var originalGetUTCSeconds = call.bind(Date.prototype.getUTCSeconds); + var originalGetUTCMilliseconds = call.bind(Date.prototype.getUTCMilliseconds); + var dayName = ['Sun', 'Mon', 'Tue', 'Wed', 'Thu', 'Fri', 'Sat']; + var monthName = ['Jan', 'Feb', 'Mar', 'Apr', 'May', 'Jun', 'Jul', 'Aug', 'Sep', 'Oct', 'Nov', 'Dec']; + var daysInMonth = function daysInMonth(month, year) { + return originalGetDate(new Date(year, month, 0)); + }; + + defineProperties(Date.prototype, { + getFullYear: function getFullYear() { + if (!this || !(this instanceof Date)) { + throw new TypeError('this is not a Date object.'); + } + var year = originalGetFullYear(this); + if (year < 0 && originalGetMonth(this) > 11) { + return year + 1; + } + return year; + }, + getMonth: function getMonth() { + if (!this || !(this instanceof Date)) { + throw new TypeError('this is not a Date object.'); + } + var year = originalGetFullYear(this); + var month = originalGetMonth(this); + if (year < 0 && month > 11) { + return 0; + } + return month; + }, + getDate: function getDate() { + if (!this || !(this instanceof Date)) { + throw new TypeError('this is not a Date object.'); + } + var year = originalGetFullYear(this); + var month = originalGetMonth(this); + var date = originalGetDate(this); + if (year < 0 && month > 11) { + if (month === 12) { + return date; + } + var days = daysInMonth(0, year + 1); + return (days - date) + 1; + } + return date; + }, + getUTCFullYear: function getUTCFullYear() { + if (!this || !(this instanceof Date)) { + throw new TypeError('this is not a Date object.'); + } + var year = originalGetUTCFullYear(this); + if (year < 0 && originalGetUTCMonth(this) > 11) { + return year + 1; + } + return year; + }, + getUTCMonth: function getUTCMonth() { + if (!this || !(this instanceof Date)) { + throw new TypeError('this is not a Date object.'); + } + var year = originalGetUTCFullYear(this); + var month = originalGetUTCMonth(this); + if (year < 0 && month > 11) { + return 0; + } + return month; + }, + getUTCDate: function getUTCDate() { + if (!this || !(this instanceof Date)) { + throw new TypeError('this is not a Date object.'); + } + var year = originalGetUTCFullYear(this); + var month = originalGetUTCMonth(this); + var date = originalGetUTCDate(this); + if (year < 0 && month > 11) { + if (month === 12) { + return date; + } + var days = daysInMonth(0, year + 1); + return (days - date) + 1; + } + return date; + } + }, hasNegativeMonthYearBug); + + defineProperties(Date.prototype, { + toUTCString: function toUTCString() { + if (!this || !(this instanceof Date)) { + throw new TypeError('this is not a Date object.'); + } + var day = originalGetUTCDay(this); + var date = originalGetUTCDate(this); + var month = originalGetUTCMonth(this); + var year = originalGetUTCFullYear(this); + var hour = originalGetUTCHours(this); + var minute = originalGetUTCMinutes(this); + var second = originalGetUTCSeconds(this); + return dayName[day] + ', ' + + (date < 10 ? '0' + date : date) + ' ' + + monthName[month] + ' ' + + year + ' ' + + (hour < 10 ? '0' + hour : hour) + ':' + + (minute < 10 ? '0' + minute : minute) + ':' + + (second < 10 ? '0' + second : second) + ' GMT'; + } + }, hasNegativeMonthYearBug || hasToUTCStringFormatBug); + + // Opera 12 has `,` + defineProperties(Date.prototype, { + toDateString: function toDateString() { + if (!this || !(this instanceof Date)) { + throw new TypeError('this is not a Date object.'); + } + var day = this.getDay(); + var date = this.getDate(); + var month = this.getMonth(); + var year = this.getFullYear(); + return dayName[day] + ' ' + + monthName[month] + ' ' + + (date < 10 ? '0' + date : date) + ' ' + + year; + } + }, hasNegativeMonthYearBug || hasToDateStringFormatBug); + + // can't use defineProperties here because of toString enumeration issue in IE <= 8 + if (hasNegativeMonthYearBug || hasToStringFormatBug) { + Date.prototype.toString = function toString() { + if (!this || !(this instanceof Date)) { + throw new TypeError('this is not a Date object.'); + } + var day = this.getDay(); + var date = this.getDate(); + var month = this.getMonth(); + var year = this.getFullYear(); + var hour = this.getHours(); + var minute = this.getMinutes(); + var second = this.getSeconds(); + var timezoneOffset = this.getTimezoneOffset(); + var hoursOffset = Math.floor(Math.abs(timezoneOffset) / 60); + var minutesOffset = Math.floor(Math.abs(timezoneOffset) % 60); + return dayName[day] + ' ' + + monthName[month] + ' ' + + (date < 10 ? '0' + date : date) + ' ' + + year + ' ' + + (hour < 10 ? '0' + hour : hour) + ':' + + (minute < 10 ? '0' + minute : minute) + ':' + + (second < 10 ? '0' + second : second) + ' GMT' + + (timezoneOffset > 0 ? '-' : '+') + + (hoursOffset < 10 ? '0' + hoursOffset : hoursOffset) + + (minutesOffset < 10 ? '0' + minutesOffset : minutesOffset); + }; + if (supportsDescriptors) { + $Object.defineProperty(Date.prototype, 'toString', { + configurable: true, + enumerable: false, + writable: true + }); + } + } + + // ES5 15.9.5.43 + // http://es5.github.com/#x15.9.5.43 + // This function returns a String value represent the instance in time + // represented by this Date object. The format of the String is the Date Time + // string format defined in 15.9.1.15. All fields are present in the String. + // The time zone is always UTC, denoted by the suffix Z. If the time value of + // this object is not a finite Number a RangeError exception is thrown. + var negativeDate = -62198755200000; + var negativeYearString = '-000001'; + var hasNegativeDateBug = Date.prototype.toISOString && new Date(negativeDate).toISOString().indexOf(negativeYearString) === -1; + var hasSafari51DateBug = Date.prototype.toISOString && new Date(-1).toISOString() !== '1969-12-31T23:59:59.999Z'; + + var getTime = call.bind(Date.prototype.getTime); + + defineProperties(Date.prototype, { + toISOString: function toISOString() { + if (!isFinite(this) || !isFinite(getTime(this))) { + // Adope Photoshop requires the second check. + throw new RangeError('Date.prototype.toISOString called on non-finite value.'); + } + + var year = originalGetUTCFullYear(this); + + var month = originalGetUTCMonth(this); + // see https://github.com/es-shims/es5-shim/issues/111 + year += Math.floor(month / 12); + month = (month % 12 + 12) % 12; + + // the date time string format is specified in 15.9.1.15. + var result = [month + 1, originalGetUTCDate(this), originalGetUTCHours(this), originalGetUTCMinutes(this), originalGetUTCSeconds(this)]; + year = ( + (year < 0 ? '-' : (year > 9999 ? '+' : '')) + + strSlice('00000' + Math.abs(year), (0 <= year && year <= 9999) ? -4 : -6) + ); + + for (var i = 0; i < result.length; ++i) { + // pad months, days, hours, minutes, and seconds to have two digits. + result[i] = strSlice('00' + result[i], -2); + } + // pad milliseconds to have three digits. + return ( + year + '-' + arraySlice(result, 0, 2).join('-') + + 'T' + arraySlice(result, 2).join(':') + '.' + + strSlice('000' + originalGetUTCMilliseconds(this), -3) + 'Z' + ); + } + }, hasNegativeDateBug || hasSafari51DateBug); + + // ES5 15.9.5.44 + // http://es5.github.com/#x15.9.5.44 + // This function provides a String representation of a Date object for use by + // JSON.stringify (15.12.3). + var dateToJSONIsSupported = (function () { + try { + return Date.prototype.toJSON && + new Date(NaN).toJSON() === null && + new Date(negativeDate).toJSON().indexOf(negativeYearString) !== -1 && + Date.prototype.toJSON.call({ // generic + toISOString: function () { return true; } + }); + } catch (e) { + return false; + } + }()); + if (!dateToJSONIsSupported) { + Date.prototype.toJSON = function toJSON(key) { + // When the toJSON method is called with argument key, the following + // steps are taken: + + // 1. Let O be the result of calling ToObject, giving it the this + // value as its argument. + // 2. Let tv be ES.ToPrimitive(O, hint Number). + var O = $Object(this); + var tv = ES.ToPrimitive(O); + // 3. If tv is a Number and is not finite, return null. + if (typeof tv === 'number' && !isFinite(tv)) { + return null; + } + // 4. Let toISO be the result of calling the [[Get]] internal method of + // O with argument "toISOString". + var toISO = O.toISOString; + // 5. If IsCallable(toISO) is false, throw a TypeError exception. + if (!isCallable(toISO)) { + throw new TypeError('toISOString property is not callable'); + } + // 6. Return the result of calling the [[Call]] internal method of + // toISO with O as the this value and an empty argument list. + return toISO.call(O); + + // NOTE 1 The argument is ignored. + + // NOTE 2 The toJSON function is intentionally generic; it does not + // require that its this value be a Date object. Therefore, it can be + // transferred to other kinds of objects for use as a method. However, + // it does require that any such object have a toISOString method. An + // object is free to use the argument key to filter its + // stringification. + }; + } + + // ES5 15.9.4.2 + // http://es5.github.com/#x15.9.4.2 + // based on work shared by Daniel Friesen (dantman) + // http://gist.github.com/303249 + var supportsExtendedYears = Date.parse('+033658-09-27T01:46:40.000Z') === 1e15; + var acceptsInvalidDates = !isNaN(Date.parse('2012-04-04T24:00:00.500Z')) || !isNaN(Date.parse('2012-11-31T23:59:59.000Z')) || !isNaN(Date.parse('2012-12-31T23:59:60.000Z')); + var doesNotParseY2KNewYear = isNaN(Date.parse('2000-01-01T00:00:00.000Z')); + if (doesNotParseY2KNewYear || acceptsInvalidDates || !supportsExtendedYears) { + // XXX global assignment won't work in embeddings that use + // an alternate object for the context. + /* global Date: true */ + /* eslint-disable no-undef */ + var maxSafeUnsigned32Bit = Math.pow(2, 31) - 1; + var hasSafariSignedIntBug = isActualNaN(new Date(1970, 0, 1, 0, 0, 0, maxSafeUnsigned32Bit + 1).getTime()); + /* eslint-disable no-implicit-globals */ + Date = (function (NativeDate) { + /* eslint-enable no-implicit-globals */ + /* eslint-enable no-undef */ + // Date.length === 7 + var DateShim = function Date(Y, M, D, h, m, s, ms) { + var length = arguments.length; + var date; + if (this instanceof NativeDate) { + var seconds = s; + var millis = ms; + if (hasSafariSignedIntBug && length >= 7 && ms > maxSafeUnsigned32Bit) { + // work around a Safari 8/9 bug where it treats the seconds as signed + var msToShift = Math.floor(ms / maxSafeUnsigned32Bit) * maxSafeUnsigned32Bit; + var sToShift = Math.floor(msToShift / 1e3); + seconds += sToShift; + millis -= sToShift * 1e3; + } + date = length === 1 && $String(Y) === Y ? // isString(Y) + // We explicitly pass it through parse: + new NativeDate(DateShim.parse(Y)) : + // We have to manually make calls depending on argument + // length here + length >= 7 ? new NativeDate(Y, M, D, h, m, seconds, millis) : + length >= 6 ? new NativeDate(Y, M, D, h, m, seconds) : + length >= 5 ? new NativeDate(Y, M, D, h, m) : + length >= 4 ? new NativeDate(Y, M, D, h) : + length >= 3 ? new NativeDate(Y, M, D) : + length >= 2 ? new NativeDate(Y, M) : + length >= 1 ? new NativeDate(Y instanceof NativeDate ? +Y : Y) : + new NativeDate(); + } else { + date = NativeDate.apply(this, arguments); + } + if (!isPrimitive(date)) { + // Prevent mixups with unfixed Date object + defineProperties(date, { constructor: DateShim }, true); + } + return date; + }; + + // 15.9.1.15 Date Time String Format. + var isoDateExpression = new RegExp('^' + + '(\\d{4}|[+-]\\d{6})' + // four-digit year capture or sign + + // 6-digit extended year + '(?:-(\\d{2})' + // optional month capture + '(?:-(\\d{2})' + // optional day capture + '(?:' + // capture hours:minutes:seconds.milliseconds + 'T(\\d{2})' + // hours capture + ':(\\d{2})' + // minutes capture + '(?:' + // optional :seconds.milliseconds + ':(\\d{2})' + // seconds capture + '(?:(\\.\\d{1,}))?' + // milliseconds capture + ')?' + + '(' + // capture UTC offset component + 'Z|' + // UTC capture + '(?:' + // offset specifier +/-hours:minutes + '([-+])' + // sign capture + '(\\d{2})' + // hours offset capture + ':(\\d{2})' + // minutes offset capture + ')' + + ')?)?)?)?' + + '$'); + + var months = [0, 31, 59, 90, 120, 151, 181, 212, 243, 273, 304, 334, 365]; + + var dayFromMonth = function dayFromMonth(year, month) { + var t = month > 1 ? 1 : 0; + return ( + months[month] + + Math.floor((year - 1969 + t) / 4) - + Math.floor((year - 1901 + t) / 100) + + Math.floor((year - 1601 + t) / 400) + + 365 * (year - 1970) + ); + }; + + var toUTC = function toUTC(t) { + var s = 0; + var ms = t; + if (hasSafariSignedIntBug && ms > maxSafeUnsigned32Bit) { + // work around a Safari 8/9 bug where it treats the seconds as signed + var msToShift = Math.floor(ms / maxSafeUnsigned32Bit) * maxSafeUnsigned32Bit; + var sToShift = Math.floor(msToShift / 1e3); + s += sToShift; + ms -= sToShift * 1e3; + } + return $Number(new NativeDate(1970, 0, 1, 0, 0, s, ms)); + }; + + // Copy any custom methods a 3rd party library may have added + for (var key in NativeDate) { + if (owns(NativeDate, key)) { + DateShim[key] = NativeDate[key]; + } + } + + // Copy "native" methods explicitly; they may be non-enumerable + defineProperties(DateShim, { + now: NativeDate.now, + UTC: NativeDate.UTC + }, true); + DateShim.prototype = NativeDate.prototype; + defineProperties(DateShim.prototype, { + constructor: DateShim + }, true); + + // Upgrade Date.parse to handle simplified ISO 8601 strings + var parseShim = function parse(string) { + var match = isoDateExpression.exec(string); + if (match) { + // parse months, days, hours, minutes, seconds, and milliseconds + // provide default values if necessary + // parse the UTC offset component + var year = $Number(match[1]), + month = $Number(match[2] || 1) - 1, + day = $Number(match[3] || 1) - 1, + hour = $Number(match[4] || 0), + minute = $Number(match[5] || 0), + second = $Number(match[6] || 0), + millisecond = Math.floor($Number(match[7] || 0) * 1000), + // When time zone is missed, local offset should be used + // (ES 5.1 bug) + // see https://bugs.ecmascript.org/show_bug.cgi?id=112 + isLocalTime = Boolean(match[4] && !match[8]), + signOffset = match[9] === '-' ? 1 : -1, + hourOffset = $Number(match[10] || 0), + minuteOffset = $Number(match[11] || 0), + result; + var hasMinutesOrSecondsOrMilliseconds = minute > 0 || second > 0 || millisecond > 0; + if ( + hour < (hasMinutesOrSecondsOrMilliseconds ? 24 : 25) && + minute < 60 && second < 60 && millisecond < 1000 && + month > -1 && month < 12 && hourOffset < 24 && + minuteOffset < 60 && // detect invalid offsets + day > -1 && + day < (dayFromMonth(year, month + 1) - dayFromMonth(year, month)) + ) { + result = ( + (dayFromMonth(year, month) + day) * 24 + + hour + + hourOffset * signOffset + ) * 60; + result = ( + (result + minute + minuteOffset * signOffset) * 60 + + second + ) * 1000 + millisecond; + if (isLocalTime) { + result = toUTC(result); + } + if (-8.64e15 <= result && result <= 8.64e15) { + return result; + } + } + return NaN; + } + return NativeDate.parse.apply(this, arguments); + }; + defineProperties(DateShim, { parse: parseShim }); + + return DateShim; + }(Date)); + /* global Date: false */ + } + + // ES5 15.9.4.4 + // http://es5.github.com/#x15.9.4.4 + if (!Date.now) { + Date.now = function now() { + return new Date().getTime(); + }; + } + + // + // Number + // ====== + // + + // ES5.1 15.7.4.5 + // http://es5.github.com/#x15.7.4.5 + var hasToFixedBugs = NumberPrototype.toFixed && ( + (0.00008).toFixed(3) !== '0.000' || + (0.9).toFixed(0) !== '1' || + (1.255).toFixed(2) !== '1.25' || + (1000000000000000128).toFixed(0) !== '1000000000000000128' + ); + + var toFixedHelpers = { + base: 1e7, + size: 6, + data: [0, 0, 0, 0, 0, 0], + multiply: function multiply(n, c) { + var i = -1; + var c2 = c; + while (++i < toFixedHelpers.size) { + c2 += n * toFixedHelpers.data[i]; + toFixedHelpers.data[i] = c2 % toFixedHelpers.base; + c2 = Math.floor(c2 / toFixedHelpers.base); + } + }, + divide: function divide(n) { + var i = toFixedHelpers.size; + var c = 0; + while (--i >= 0) { + c += toFixedHelpers.data[i]; + toFixedHelpers.data[i] = Math.floor(c / n); + c = (c % n) * toFixedHelpers.base; + } + }, + numToString: function numToString() { + var i = toFixedHelpers.size; + var s = ''; + while (--i >= 0) { + if (s !== '' || i === 0 || toFixedHelpers.data[i] !== 0) { + var t = $String(toFixedHelpers.data[i]); + if (s === '') { + s = t; + } else { + s += strSlice('0000000', 0, 7 - t.length) + t; + } + } + } + return s; + }, + pow: function pow(x, n, acc) { + return (n === 0 ? acc : (n % 2 === 1 ? pow(x, n - 1, acc * x) : pow(x * x, n / 2, acc))); + }, + log: function log(x) { + var n = 0; + var x2 = x; + while (x2 >= 4096) { + n += 12; + x2 /= 4096; + } + while (x2 >= 2) { + n += 1; + x2 /= 2; + } + return n; + } + }; + + var toFixedShim = function toFixed(fractionDigits) { + var f, x, s, m, e, z, j, k; + + // Test for NaN and round fractionDigits down + f = $Number(fractionDigits); + f = isActualNaN(f) ? 0 : Math.floor(f); + + if (f < 0 || f > 20) { + throw new RangeError('Number.toFixed called with invalid number of decimals'); + } + + x = $Number(this); + + if (isActualNaN(x)) { + return 'NaN'; + } + + // If it is too big or small, return the string value of the number + if (x <= -1e21 || x >= 1e21) { + return $String(x); + } + + s = ''; + + if (x < 0) { + s = '-'; + x = -x; + } + + m = '0'; + + if (x > 1e-21) { + // 1e-21 < x < 1e21 + // -70 < log2(x) < 70 + e = toFixedHelpers.log(x * toFixedHelpers.pow(2, 69, 1)) - 69; + z = (e < 0 ? x * toFixedHelpers.pow(2, -e, 1) : x / toFixedHelpers.pow(2, e, 1)); + z *= 0x10000000000000; // Math.pow(2, 52); + e = 52 - e; + + // -18 < e < 122 + // x = z / 2 ^ e + if (e > 0) { + toFixedHelpers.multiply(0, z); + j = f; + + while (j >= 7) { + toFixedHelpers.multiply(1e7, 0); + j -= 7; + } + + toFixedHelpers.multiply(toFixedHelpers.pow(10, j, 1), 0); + j = e - 1; + + while (j >= 23) { + toFixedHelpers.divide(1 << 23); + j -= 23; + } + + toFixedHelpers.divide(1 << j); + toFixedHelpers.multiply(1, 1); + toFixedHelpers.divide(2); + m = toFixedHelpers.numToString(); + } else { + toFixedHelpers.multiply(0, z); + toFixedHelpers.multiply(1 << (-e), 0); + m = toFixedHelpers.numToString() + strSlice('0.00000000000000000000', 2, 2 + f); + } + } + + if (f > 0) { + k = m.length; + + if (k <= f) { + m = s + strSlice('0.0000000000000000000', 0, f - k + 2) + m; + } else { + m = s + strSlice(m, 0, k - f) + '.' + strSlice(m, k - f); + } + } else { + m = s + m; + } + + return m; + }; + defineProperties(NumberPrototype, { toFixed: toFixedShim }, hasToFixedBugs); + + var hasToPrecisionUndefinedBug = (function () { + try { + return 1.0.toPrecision(undefined) === '1'; + } catch (e) { + return true; + } + }()); + var originalToPrecision = NumberPrototype.toPrecision; + defineProperties(NumberPrototype, { + toPrecision: function toPrecision(precision) { + return typeof precision === 'undefined' ? originalToPrecision.call(this) : originalToPrecision.call(this, precision); + } + }, hasToPrecisionUndefinedBug); + + // + // String + // ====== + // + + // ES5 15.5.4.14 + // http://es5.github.com/#x15.5.4.14 + + // [bugfix, IE lt 9, firefox 4, Konqueror, Opera, obscure browsers] + // Many browsers do not split properly with regular expressions or they + // do not perform the split correctly under obscure conditions. + // See http://blog.stevenlevithan.com/archives/cross-browser-split + // I've tested in many browsers and this seems to cover the deviant ones: + // 'ab'.split(/(?:ab)*/) should be ["", ""], not [""] + // '.'.split(/(.?)(.?)/) should be ["", ".", "", ""], not ["", ""] + // 'tesst'.split(/(s)*/) should be ["t", undefined, "e", "s", "t"], not + // [undefined, "t", undefined, "e", ...] + // ''.split(/.?/) should be [], not [""] + // '.'.split(/()()/) should be ["."], not ["", "", "."] + + if ( + 'ab'.split(/(?:ab)*/).length !== 2 || + '.'.split(/(.?)(.?)/).length !== 4 || + 'tesst'.split(/(s)*/)[1] === 't' || + 'test'.split(/(?:)/, -1).length !== 4 || + ''.split(/.?/).length || + '.'.split(/()()/).length > 1 + ) { + (function () { + var compliantExecNpcg = typeof (/()??/).exec('')[1] === 'undefined'; // NPCG: nonparticipating capturing group + var maxSafe32BitInt = Math.pow(2, 32) - 1; + + StringPrototype.split = function (separator, limit) { + var string = String(this); + if (typeof separator === 'undefined' && limit === 0) { + return []; + } + + // If `separator` is not a regex, use native split + if (!isRegex(separator)) { + return strSplit(this, separator, limit); + } + + var output = []; + var flags = (separator.ignoreCase ? 'i' : '') + + (separator.multiline ? 'm' : '') + + (separator.unicode ? 'u' : '') + // in ES6 + (separator.sticky ? 'y' : ''), // Firefox 3+ and ES6 + lastLastIndex = 0, + // Make `global` and avoid `lastIndex` issues by working with a copy + separator2, match, lastIndex, lastLength; + var separatorCopy = new RegExp(separator.source, flags + 'g'); + if (!compliantExecNpcg) { + // Doesn't need flags gy, but they don't hurt + separator2 = new RegExp('^' + separatorCopy.source + '$(?!\\s)', flags); + } + /* Values for `limit`, per the spec: + * If undefined: 4294967295 // maxSafe32BitInt + * If 0, Infinity, or NaN: 0 + * If positive number: limit = Math.floor(limit); if (limit > 4294967295) limit -= 4294967296; + * If negative number: 4294967296 - Math.floor(Math.abs(limit)) + * If other: Type-convert, then use the above rules + */ + var splitLimit = typeof limit === 'undefined' ? maxSafe32BitInt : ES.ToUint32(limit); + match = separatorCopy.exec(string); + while (match) { + // `separatorCopy.lastIndex` is not reliable cross-browser + lastIndex = match.index + match[0].length; + if (lastIndex > lastLastIndex) { + pushCall(output, strSlice(string, lastLastIndex, match.index)); + // Fix browsers whose `exec` methods don't consistently return `undefined` for + // nonparticipating capturing groups + if (!compliantExecNpcg && match.length > 1) { + /* eslint-disable no-loop-func */ + match[0].replace(separator2, function () { + for (var i = 1; i < arguments.length - 2; i++) { + if (typeof arguments[i] === 'undefined') { + match[i] = void 0; + } + } + }); + /* eslint-enable no-loop-func */ + } + if (match.length > 1 && match.index < string.length) { + array_push.apply(output, arraySlice(match, 1)); + } + lastLength = match[0].length; + lastLastIndex = lastIndex; + if (output.length >= splitLimit) { + break; + } + } + if (separatorCopy.lastIndex === match.index) { + separatorCopy.lastIndex++; // Avoid an infinite loop + } + match = separatorCopy.exec(string); + } + if (lastLastIndex === string.length) { + if (lastLength || !separatorCopy.test('')) { + pushCall(output, ''); + } + } else { + pushCall(output, strSlice(string, lastLastIndex)); + } + return output.length > splitLimit ? arraySlice(output, 0, splitLimit) : output; + }; + }()); + + // [bugfix, chrome] + // If separator is undefined, then the result array contains just one String, + // which is the this value (converted to a String). If limit is not undefined, + // then the output array is truncated so that it contains no more than limit + // elements. + // "0".split(undefined, 0) -> [] + } else if ('0'.split(void 0, 0).length) { + StringPrototype.split = function split(separator, limit) { + if (typeof separator === 'undefined' && limit === 0) { + return []; + } + return strSplit(this, separator, limit); + }; + } + + var str_replace = StringPrototype.replace; + var replaceReportsGroupsCorrectly = (function () { + var groups = []; + 'x'.replace(/x(.)?/g, function (match, group) { + pushCall(groups, group); + }); + return groups.length === 1 && typeof groups[0] === 'undefined'; + }()); + + if (!replaceReportsGroupsCorrectly) { + StringPrototype.replace = function replace(searchValue, replaceValue) { + var isFn = isCallable(replaceValue); + var hasCapturingGroups = isRegex(searchValue) && (/\)[*?]/).test(searchValue.source); + if (!isFn || !hasCapturingGroups) { + return str_replace.call(this, searchValue, replaceValue); + } else { + var wrappedReplaceValue = function (match) { + var length = arguments.length; + var originalLastIndex = searchValue.lastIndex; + searchValue.lastIndex = 0; + var args = searchValue.exec(match) || []; + searchValue.lastIndex = originalLastIndex; + pushCall(args, arguments[length - 2], arguments[length - 1]); + return replaceValue.apply(this, args); + }; + return str_replace.call(this, searchValue, wrappedReplaceValue); + } + }; + } + + // ECMA-262, 3rd B.2.3 + // Not an ECMAScript standard, although ECMAScript 3rd Edition has a + // non-normative section suggesting uniform semantics and it should be + // normalized across all browsers + // [bugfix, IE lt 9] IE < 9 substr() with negative value not working in IE + var string_substr = StringPrototype.substr; + var hasNegativeSubstrBug = ''.substr && '0b'.substr(-1) !== 'b'; + defineProperties(StringPrototype, { + substr: function substr(start, length) { + var normalizedStart = start; + if (start < 0) { + normalizedStart = max(this.length + start, 0); + } + return string_substr.call(this, normalizedStart, length); + } + }, hasNegativeSubstrBug); + + // ES5 15.5.4.20 + // whitespace from: http://es5.github.io/#x15.5.4.20 + var ws = '\x09\x0A\x0B\x0C\x0D\x20\xA0\u1680\u180E\u2000\u2001\u2002\u2003' + + '\u2004\u2005\u2006\u2007\u2008\u2009\u200A\u202F\u205F\u3000\u2028' + + '\u2029\uFEFF'; + var zeroWidth = '\u200b'; + var wsRegexChars = '[' + ws + ']'; + var trimBeginRegexp = new RegExp('^' + wsRegexChars + wsRegexChars + '*'); + var trimEndRegexp = new RegExp(wsRegexChars + wsRegexChars + '*$'); + var hasTrimWhitespaceBug = StringPrototype.trim && (ws.trim() || !zeroWidth.trim()); + defineProperties(StringPrototype, { + // http://blog.stevenlevithan.com/archives/faster-trim-javascript + // http://perfectionkills.com/whitespace-deviations/ + trim: function trim() { + if (typeof this === 'undefined' || this === null) { + throw new TypeError("can't convert " + this + ' to object'); + } + return $String(this).replace(trimBeginRegexp, '').replace(trimEndRegexp, ''); + } + }, hasTrimWhitespaceBug); + var trim = call.bind(String.prototype.trim); + + var hasLastIndexBug = StringPrototype.lastIndexOf && 'abcã‚ã„'.lastIndexOf('ã‚ã„', 2) !== -1; + defineProperties(StringPrototype, { + lastIndexOf: function lastIndexOf(searchString) { + if (typeof this === 'undefined' || this === null) { + throw new TypeError("can't convert " + this + ' to object'); + } + var S = $String(this); + var searchStr = $String(searchString); + var numPos = arguments.length > 1 ? $Number(arguments[1]) : NaN; + var pos = isActualNaN(numPos) ? Infinity : ES.ToInteger(numPos); + var start = min(max(pos, 0), S.length); + var searchLen = searchStr.length; + var k = start + searchLen; + while (k > 0) { + k = max(0, k - searchLen); + var index = strIndexOf(strSlice(S, k, start + searchLen), searchStr); + if (index !== -1) { + return k + index; + } + } + return -1; + } + }, hasLastIndexBug); + + var originalLastIndexOf = StringPrototype.lastIndexOf; + defineProperties(StringPrototype, { + lastIndexOf: function lastIndexOf(searchString) { + return originalLastIndexOf.apply(this, arguments); + } + }, StringPrototype.lastIndexOf.length !== 1); + + // ES-5 15.1.2.2 + /* eslint-disable radix */ + if (parseInt(ws + '08') !== 8 || parseInt(ws + '0x16') !== 22) { + /* eslint-enable radix */ + /* global parseInt: true */ + parseInt = (function (origParseInt) { + var hexRegex = /^[\-+]?0[xX]/; + return function parseInt(str, radix) { + var string = trim(String(str)); + var defaultedRadix = $Number(radix) || (hexRegex.test(string) ? 16 : 10); + return origParseInt(string, defaultedRadix); + }; + }(parseInt)); + } + + // https://es5.github.io/#x15.1.2.3 + if (1 / parseFloat('-0') !== -Infinity) { + /* global parseFloat: true */ + parseFloat = (function (origParseFloat) { + return function parseFloat(string) { + var inputString = trim(String(string)); + var result = origParseFloat(inputString); + return result === 0 && strSlice(inputString, 0, 1) === '-' ? -0 : result; + }; + }(parseFloat)); + } + + if (String(new RangeError('test')) !== 'RangeError: test') { + var errorToStringShim = function toString() { + if (typeof this === 'undefined' || this === null) { + throw new TypeError("can't convert " + this + ' to object'); + } + var name = this.name; + if (typeof name === 'undefined') { + name = 'Error'; + } else if (typeof name !== 'string') { + name = $String(name); + } + var msg = this.message; + if (typeof msg === 'undefined') { + msg = ''; + } else if (typeof msg !== 'string') { + msg = $String(msg); + } + if (!name) { + return msg; + } + if (!msg) { + return name; + } + return name + ': ' + msg; + }; + // can't use defineProperties here because of toString enumeration issue in IE <= 8 + Error.prototype.toString = errorToStringShim; + } + + if (supportsDescriptors) { + var ensureNonEnumerable = function (obj, prop) { + if (isEnum(obj, prop)) { + var desc = Object.getOwnPropertyDescriptor(obj, prop); + if (desc.configurable) { + desc.enumerable = false; + Object.defineProperty(obj, prop, desc); + } + } + }; + ensureNonEnumerable(Error.prototype, 'message'); + if (Error.prototype.message !== '') { + Error.prototype.message = ''; + } + ensureNonEnumerable(Error.prototype, 'name'); + } + + if (String(/a/mig) !== '/a/gim') { + var regexToString = function toString() { + var str = '/' + this.source + '/'; + if (this.global) { + str += 'g'; + } + if (this.ignoreCase) { + str += 'i'; + } + if (this.multiline) { + str += 'm'; + } + return str; + }; + // can't use defineProperties here because of toString enumeration issue in IE <= 8 + RegExp.prototype.toString = regexToString; + } +})); +/*! + * https://github.com/es-shims/es5-shim + * @license es5-shim Copyright 2009-2015 by contributors, MIT License + * see https://github.com/es-shims/es5-shim/blob/master/LICENSE + */ + +// vim: ts=4 sts=4 sw=4 expandtab + +// Add semicolon to prevent IIFE from being passed as argument to concatenated code. +; + +// UMD (Universal Module Definition) +// see https://github.com/umdjs/umd/blob/master/templates/returnExports.js +(function (root, factory) { + 'use strict'; + + /* global define, exports, module */ + if (typeof define === 'function' && define.amd) { + // AMD. Register as an anonymous module. + define(factory); + } else if (typeof exports === 'object') { + // Node. Does not work with strict CommonJS, but + // only CommonJS-like enviroments that support module.exports, + // like Node. + module.exports = factory(); + } else { + // Browser globals (root is window) + root.returnExports = factory(); + } +}(this, function () { + + var call = Function.call; + var prototypeOfObject = Object.prototype; + var owns = call.bind(prototypeOfObject.hasOwnProperty); + var isEnumerable = call.bind(prototypeOfObject.propertyIsEnumerable); + var toStr = call.bind(prototypeOfObject.toString); + + // If JS engine supports accessors creating shortcuts. + var defineGetter; + var defineSetter; + var lookupGetter; + var lookupSetter; + var supportsAccessors = owns(prototypeOfObject, '__defineGetter__'); + if (supportsAccessors) { + /* eslint-disable no-underscore-dangle */ + defineGetter = call.bind(prototypeOfObject.__defineGetter__); + defineSetter = call.bind(prototypeOfObject.__defineSetter__); + lookupGetter = call.bind(prototypeOfObject.__lookupGetter__); + lookupSetter = call.bind(prototypeOfObject.__lookupSetter__); + /* eslint-enable no-underscore-dangle */ + } + + var isPrimitive = function isPrimitive(o) { + return o == null || (typeof o !== 'object' && typeof o !== 'function'); + }; + + // ES5 15.2.3.2 + // http://es5.github.com/#x15.2.3.2 + if (!Object.getPrototypeOf) { + // https://github.com/es-shims/es5-shim/issues#issue/2 + // http://ejohn.org/blog/objectgetprototypeof/ + // recommended by fschaefer on github + // + // sure, and webreflection says ^_^ + // ... this will nerever possibly return null + // ... Opera Mini breaks here with infinite loops + Object.getPrototypeOf = function getPrototypeOf(object) { + /* eslint-disable no-proto */ + var proto = object.__proto__; + /* eslint-enable no-proto */ + if (proto || proto === null) { + return proto; + } else if (toStr(object.constructor) === '[object Function]') { + return object.constructor.prototype; + } else if (object instanceof Object) { + return prototypeOfObject; + } else { + // Correctly return null for Objects created with `Object.create(null)` + // (shammed or native) or `{ __proto__: null}`. Also returns null for + // cross-realm objects on browsers that lack `__proto__` support (like + // IE <11), but that's the best we can do. + return null; + } + }; + } + + // ES5 15.2.3.3 + // http://es5.github.com/#x15.2.3.3 + + var doesGetOwnPropertyDescriptorWork = function doesGetOwnPropertyDescriptorWork(object) { + try { + object.sentinel = 0; + return Object.getOwnPropertyDescriptor(object, 'sentinel').value === 0; + } catch (exception) { + return false; + } + }; + + // check whether getOwnPropertyDescriptor works if it's given. Otherwise, shim partially. + if (Object.defineProperty) { + var getOwnPropertyDescriptorWorksOnObject = doesGetOwnPropertyDescriptorWork({}); + var getOwnPropertyDescriptorWorksOnDom = typeof document === 'undefined' || + doesGetOwnPropertyDescriptorWork(document.createElement('div')); + if (!getOwnPropertyDescriptorWorksOnDom || !getOwnPropertyDescriptorWorksOnObject) { + var getOwnPropertyDescriptorFallback = Object.getOwnPropertyDescriptor; + } + } + + if (!Object.getOwnPropertyDescriptor || getOwnPropertyDescriptorFallback) { + var ERR_NON_OBJECT = 'Object.getOwnPropertyDescriptor called on a non-object: '; + + /* eslint-disable no-proto */ + Object.getOwnPropertyDescriptor = function getOwnPropertyDescriptor(object, property) { + if (isPrimitive(object)) { + throw new TypeError(ERR_NON_OBJECT + object); + } + + // make a valiant attempt to use the real getOwnPropertyDescriptor + // for I8's DOM elements. + if (getOwnPropertyDescriptorFallback) { + try { + return getOwnPropertyDescriptorFallback.call(Object, object, property); + } catch (exception) { + // try the shim if the real one doesn't work + } + } + + var descriptor; + + // If object does not owns property return undefined immediately. + if (!owns(object, property)) { + return descriptor; + } + + // If object has a property then it's for sure `configurable`, and + // probably `enumerable`. Detect enumerability though. + descriptor = { + enumerable: isEnumerable(object, property), + configurable: true + }; + + // If JS engine supports accessor properties then property may be a + // getter or setter. + if (supportsAccessors) { + // Unfortunately `__lookupGetter__` will return a getter even + // if object has own non getter property along with a same named + // inherited getter. To avoid misbehavior we temporary remove + // `__proto__` so that `__lookupGetter__` will return getter only + // if it's owned by an object. + var prototype = object.__proto__; + var notPrototypeOfObject = object !== prototypeOfObject; + // avoid recursion problem, breaking in Opera Mini when + // Object.getOwnPropertyDescriptor(Object.prototype, 'toString') + // or any other Object.prototype accessor + if (notPrototypeOfObject) { + object.__proto__ = prototypeOfObject; + } + + var getter = lookupGetter(object, property); + var setter = lookupSetter(object, property); + + if (notPrototypeOfObject) { + // Once we have getter and setter we can put values back. + object.__proto__ = prototype; + } + + if (getter || setter) { + if (getter) { + descriptor.get = getter; + } + if (setter) { + descriptor.set = setter; + } + // If it was accessor property we're done and return here + // in order to avoid adding `value` to the descriptor. + return descriptor; + } + } + + // If we got this far we know that object has an own property that is + // not an accessor so we set it as a value and return descriptor. + descriptor.value = object[property]; + descriptor.writable = true; + return descriptor; + }; + /* eslint-enable no-proto */ + } + + // ES5 15.2.3.4 + // http://es5.github.com/#x15.2.3.4 + if (!Object.getOwnPropertyNames) { + Object.getOwnPropertyNames = function getOwnPropertyNames(object) { + return Object.keys(object); + }; + } + + // ES5 15.2.3.5 + // http://es5.github.com/#x15.2.3.5 + if (!Object.create) { + + // Contributed by Brandon Benvie, October, 2012 + var createEmpty; + var supportsProto = !({ __proto__: null } instanceof Object); + // the following produces false positives + // in Opera Mini => not a reliable check + // Object.prototype.__proto__ === null + + // Check for document.domain and active x support + // No need to use active x approach when document.domain is not set + // see https://github.com/es-shims/es5-shim/issues/150 + // variation of https://github.com/kitcambridge/es5-shim/commit/4f738ac066346 + /* global ActiveXObject */ + var shouldUseActiveX = function shouldUseActiveX() { + // return early if document.domain not set + if (!document.domain) { + return false; + } + + try { + return !!new ActiveXObject('htmlfile'); + } catch (exception) { + return false; + } + }; + + // This supports IE8 when document.domain is used + // see https://github.com/es-shims/es5-shim/issues/150 + // variation of https://github.com/kitcambridge/es5-shim/commit/4f738ac066346 + var getEmptyViaActiveX = function getEmptyViaActiveX() { + var empty; + var xDoc; + + xDoc = new ActiveXObject('htmlfile'); + + var script = 'script'; + xDoc.write('<' + script + '>'); + xDoc.close(); + + empty = xDoc.parentWindow.Object.prototype; + xDoc = null; + + return empty; + }; + + // The original implementation using an iframe + // before the activex approach was added + // see https://github.com/es-shims/es5-shim/issues/150 + var getEmptyViaIFrame = function getEmptyViaIFrame() { + var iframe = document.createElement('iframe'); + var parent = document.body || document.documentElement; + var empty; + + iframe.style.display = 'none'; + parent.appendChild(iframe); + /* eslint-disable no-script-url */ + iframe.src = 'javascript:'; + /* eslint-enable no-script-url */ + + empty = iframe.contentWindow.Object.prototype; + parent.removeChild(iframe); + iframe = null; + + return empty; + }; + + /* global document */ + if (supportsProto || typeof document === 'undefined') { + createEmpty = function () { + return { __proto__: null }; + }; + } else { + // In old IE __proto__ can't be used to manually set `null`, nor does + // any other method exist to make an object that inherits from nothing, + // aside from Object.prototype itself. Instead, create a new global + // object and *steal* its Object.prototype and strip it bare. This is + // used as the prototype to create nullary objects. + createEmpty = function () { + // Determine which approach to use + // see https://github.com/es-shims/es5-shim/issues/150 + var empty = shouldUseActiveX() ? getEmptyViaActiveX() : getEmptyViaIFrame(); + + delete empty.constructor; + delete empty.hasOwnProperty; + delete empty.propertyIsEnumerable; + delete empty.isPrototypeOf; + delete empty.toLocaleString; + delete empty.toString; + delete empty.valueOf; + + var Empty = function Empty() {}; + Empty.prototype = empty; + // short-circuit future calls + createEmpty = function () { + return new Empty(); + }; + return new Empty(); + }; + } + + Object.create = function create(prototype, properties) { + + var object; + var Type = function Type() {}; // An empty constructor. + + if (prototype === null) { + object = createEmpty(); + } else { + if (prototype !== null && isPrimitive(prototype)) { + // In the native implementation `parent` can be `null` + // OR *any* `instanceof Object` (Object|Function|Array|RegExp|etc) + // Use `typeof` tho, b/c in old IE, DOM elements are not `instanceof Object` + // like they are in modern browsers. Using `Object.create` on DOM elements + // is...err...probably inappropriate, but the native version allows for it. + throw new TypeError('Object prototype may only be an Object or null'); // same msg as Chrome + } + Type.prototype = prototype; + object = new Type(); + // IE has no built-in implementation of `Object.getPrototypeOf` + // neither `__proto__`, but this manually setting `__proto__` will + // guarantee that `Object.getPrototypeOf` will work as expected with + // objects created using `Object.create` + /* eslint-disable no-proto */ + object.__proto__ = prototype; + /* eslint-enable no-proto */ + } + + if (properties !== void 0) { + Object.defineProperties(object, properties); + } + + return object; + }; + } + + // ES5 15.2.3.6 + // http://es5.github.com/#x15.2.3.6 + + // Patch for WebKit and IE8 standard mode + // Designed by hax + // related issue: https://github.com/es-shims/es5-shim/issues#issue/5 + // IE8 Reference: + // http://msdn.microsoft.com/en-us/library/dd282900.aspx + // http://msdn.microsoft.com/en-us/library/dd229916.aspx + // WebKit Bugs: + // https://bugs.webkit.org/show_bug.cgi?id=36423 + + var doesDefinePropertyWork = function doesDefinePropertyWork(object) { + try { + Object.defineProperty(object, 'sentinel', {}); + return 'sentinel' in object; + } catch (exception) { + return false; + } + }; + + // check whether defineProperty works if it's given. Otherwise, + // shim partially. + if (Object.defineProperty) { + var definePropertyWorksOnObject = doesDefinePropertyWork({}); + var definePropertyWorksOnDom = typeof document === 'undefined' || + doesDefinePropertyWork(document.createElement('div')); + if (!definePropertyWorksOnObject || !definePropertyWorksOnDom) { + var definePropertyFallback = Object.defineProperty, + definePropertiesFallback = Object.defineProperties; + } + } + + if (!Object.defineProperty || definePropertyFallback) { + var ERR_NON_OBJECT_DESCRIPTOR = 'Property description must be an object: '; + var ERR_NON_OBJECT_TARGET = 'Object.defineProperty called on non-object: '; + var ERR_ACCESSORS_NOT_SUPPORTED = 'getters & setters can not be defined on this javascript engine'; + + Object.defineProperty = function defineProperty(object, property, descriptor) { + if (isPrimitive(object)) { + throw new TypeError(ERR_NON_OBJECT_TARGET + object); + } + if (isPrimitive(descriptor)) { + throw new TypeError(ERR_NON_OBJECT_DESCRIPTOR + descriptor); + } + // make a valiant attempt to use the real defineProperty + // for I8's DOM elements. + if (definePropertyFallback) { + try { + return definePropertyFallback.call(Object, object, property, descriptor); + } catch (exception) { + // try the shim if the real one doesn't work + } + } + + // If it's a data property. + if ('value' in descriptor) { + // fail silently if 'writable', 'enumerable', or 'configurable' + // are requested but not supported + /* + // alternate approach: + if ( // can't implement these features; allow false but not true + ('writable' in descriptor && !descriptor.writable) || + ('enumerable' in descriptor && !descriptor.enumerable) || + ('configurable' in descriptor && !descriptor.configurable) + )) + throw new RangeError( + 'This implementation of Object.defineProperty does not support configurable, enumerable, or writable.' + ); + */ + + if (supportsAccessors && (lookupGetter(object, property) || lookupSetter(object, property))) { + // As accessors are supported only on engines implementing + // `__proto__` we can safely override `__proto__` while defining + // a property to make sure that we don't hit an inherited + // accessor. + /* eslint-disable no-proto */ + var prototype = object.__proto__; + object.__proto__ = prototypeOfObject; + // Deleting a property anyway since getter / setter may be + // defined on object itself. + delete object[property]; + object[property] = descriptor.value; + // Setting original `__proto__` back now. + object.__proto__ = prototype; + /* eslint-enable no-proto */ + } else { + object[property] = descriptor.value; + } + } else { + var hasGetter = 'get' in descriptor; + var hasSetter = 'set' in descriptor; + if (!supportsAccessors && (hasGetter || hasSetter)) { + throw new TypeError(ERR_ACCESSORS_NOT_SUPPORTED); + } + // If we got that far then getters and setters can be defined !! + if (hasGetter) { + defineGetter(object, property, descriptor.get); + } + if (hasSetter) { + defineSetter(object, property, descriptor.set); + } + } + return object; + }; + } + + // ES5 15.2.3.7 + // http://es5.github.com/#x15.2.3.7 + if (!Object.defineProperties || definePropertiesFallback) { + Object.defineProperties = function defineProperties(object, properties) { + // make a valiant attempt to use the real defineProperties + if (definePropertiesFallback) { + try { + return definePropertiesFallback.call(Object, object, properties); + } catch (exception) { + // try the shim if the real one doesn't work + } + } + + Object.keys(properties).forEach(function (property) { + if (property !== '__proto__') { + Object.defineProperty(object, property, properties[property]); + } + }); + return object; + }; + } + + // ES5 15.2.3.8 + // http://es5.github.com/#x15.2.3.8 + if (!Object.seal) { + Object.seal = function seal(object) { + if (Object(object) !== object) { + throw new TypeError('Object.seal can only be called on Objects.'); + } + // this is misleading and breaks feature-detection, but + // allows "securable" code to "gracefully" degrade to working + // but insecure code. + return object; + }; + } + + // ES5 15.2.3.9 + // http://es5.github.com/#x15.2.3.9 + if (!Object.freeze) { + Object.freeze = function freeze(object) { + if (Object(object) !== object) { + throw new TypeError('Object.freeze can only be called on Objects.'); + } + // this is misleading and breaks feature-detection, but + // allows "securable" code to "gracefully" degrade to working + // but insecure code. + return object; + }; + } + + // detect a Rhino bug and patch it + try { + Object.freeze(function () {}); + } catch (exception) { + Object.freeze = (function (freezeObject) { + return function freeze(object) { + if (typeof object === 'function') { + return object; + } else { + return freezeObject(object); + } + }; + }(Object.freeze)); + } + + // ES5 15.2.3.10 + // http://es5.github.com/#x15.2.3.10 + if (!Object.preventExtensions) { + Object.preventExtensions = function preventExtensions(object) { + if (Object(object) !== object) { + throw new TypeError('Object.preventExtensions can only be called on Objects.'); + } + // this is misleading and breaks feature-detection, but + // allows "securable" code to "gracefully" degrade to working + // but insecure code. + return object; + }; + } + + // ES5 15.2.3.11 + // http://es5.github.com/#x15.2.3.11 + if (!Object.isSealed) { + Object.isSealed = function isSealed(object) { + if (Object(object) !== object) { + throw new TypeError('Object.isSealed can only be called on Objects.'); + } + return false; + }; + } + + // ES5 15.2.3.12 + // http://es5.github.com/#x15.2.3.12 + if (!Object.isFrozen) { + Object.isFrozen = function isFrozen(object) { + if (Object(object) !== object) { + throw new TypeError('Object.isFrozen can only be called on Objects.'); + } + return false; + }; + } + + // ES5 15.2.3.13 + // http://es5.github.com/#x15.2.3.13 + if (!Object.isExtensible) { + Object.isExtensible = function isExtensible(object) { + // 1. If Type(O) is not Object throw a TypeError exception. + if (Object(object) !== object) { + throw new TypeError('Object.isExtensible can only be called on Objects.'); + } + // 2. Return the Boolean value of the [[Extensible]] internal property of O. + var name = ''; + while (owns(object, name)) { + name += '?'; + } + object[name] = true; + var returnValue = owns(object, name); + delete object[name]; + return returnValue; + }; + } + +})); diff --git a/packages/es5-shim/es5-shim-sham.min.js b/packages/es5-shim/es5-shim-sham.min.js new file mode 100644 index 0000000000..a1ddf1c54c --- /dev/null +++ b/packages/es5-shim/es5-shim-sham.min.js @@ -0,0 +1 @@ +!function(t,e){"use strict";"function"==typeof define&&define.amd?define(e):"object"==typeof exports?module.exports=e():t.returnExports=e()}(this,function(){var t=Array,e=t.prototype,r=Object,n=r.prototype,o=Function,i=o.prototype,a=String,c=a.prototype,u=Number,l=u.prototype,f=e.slice,s=e.splice,p=e.push,h=e.unshift,y=e.concat,d=e.join,b=i.call,v=i.apply,g=Math.max,w=Math.min,O=n.toString,j="function"==typeof Symbol&&"symbol"==typeof Symbol.toStringTag,T,m=Function.prototype.toString,D=/^\s*class /,E=function t(e){try{var r=m.call(e).replace(/\/\/.*\n/g,"").replace(/\/\*[.\s\S]*\*\//g,"").replace(/\n/gm," ").replace(/ {2}/g," ");return D.test(r)}catch(t){return!1}},x=function t(e){try{return!E(e)&&(m.call(e),!0)}catch(t){return!1}},S="[object Function]",_="[object GeneratorFunction]",T=function t(e){if(!e)return!1;if("function"!=typeof e&&"object"!=typeof e)return!1;if(j)return x(e);if(E(e))return!1;var r=O.call(e);return r===S||r===_},M,I=RegExp.prototype.exec,P=function t(e){try{return I.call(e),!0}catch(t){return!1}},F="[object RegExp]";M=function t(e){return"object"==typeof e&&(j?P(e):O.call(e)===F)};var U,N=String.prototype.valueOf,k=function t(e){try{return N.call(e),!0}catch(t){return!1}},C="[object String]";U=function t(e){return"string"==typeof e||"object"==typeof e&&(j?k(e):O.call(e)===C)};var A=r.defineProperty&&function(){try{var t={};r.defineProperty(t,"x",{enumerable:!1,value:t});for(var e in t)return!1;return t.x===t}catch(t){return!1}}(),R=function(t){var e;return e=A?function(t,e,n,o){!o&&e in t||r.defineProperty(t,e,{configurable:!0,enumerable:!1,writable:!0,value:n})}:function(t,e,r,n){!n&&e in t||(t[e]=r)},function r(n,o,i){for(var a in o)t.call(o,a)&&e(n,a,o[a],i)}}(n.hasOwnProperty),$=function t(e){var r=typeof e;return null===e||"object"!==r&&"function"!==r},z=u.isNaN||function t(e){return e!==e},J={ToInteger:function t(e){var r=+e;return z(r)?r=0:0!==r&&r!==1/0&&r!==-1/0&&(r=(r>0||-1)*Math.floor(Math.abs(r))),r},ToPrimitive:function t(e){var r,n,o;if($(e))return e;if(n=e.valueOf,T(n)&&(r=n.call(e),$(r)))return r;if(o=e.toString,T(o)&&(r=o.call(e),$(r)))return r;throw new TypeError},ToObject:function(t){if(null==t)throw new TypeError("can't convert "+t+" to object");return r(t)},ToUint32:function t(e){return e>>>0}},G=function t(){};R(i,{bind:function t(e){var n=this;if(!T(n))throw new TypeError("Function.prototype.bind called on incompatible "+n);for(var i=f.call(arguments,1),a,c=function(){if(this instanceof a){var t=v.call(n,this,y.call(i,f.call(arguments)));return r(t)===t?t:this}return v.call(n,e,y.call(i,f.call(arguments)))},u=g(0,n.length-i.length),l=[],s=0;s1&&(a=arguments[1]),!T(e))throw new TypeError("Array.prototype.forEach callback must be a function");for(;++o1&&(c=arguments[1]),!T(r))throw new TypeError("Array.prototype.map callback must be a function");for(var u=0;u1&&(c=arguments[1]),!T(e))throw new TypeError("Array.prototype.filter callback must be a function");for(var u=0;u1&&(i=arguments[1]),!T(e))throw new TypeError("Array.prototype.every callback must be a function");for(var a=0;a1&&(i=arguments[1]),!T(e))throw new TypeError("Array.prototype.some callback must be a function");for(var a=0;a=2)a=arguments[1];else for(;;){if(i in n){a=n[i++];break}if(++i>=o)throw new TypeError("reduce of empty array with no initial value")}for(;i=2)i=arguments[1];else for(;;){if(a in n){i=n[a--];break}if(--a<0)throw new TypeError("reduceRight of empty array with no initial value")}if(a<0)return i;do{a in n&&(i=e(i,n[a],a,r))}while(a--);return i}},!it);var at=e.indexOf&&-1!==[0,1].indexOf(1,2);R(e,{indexOf:function t(e){var r=rt&&U(this)?H(this,""):J.ToObject(this),n=J.ToUint32(r.length);if(0===n)return-1;var o=0;for(arguments.length>1&&(o=J.ToInteger(arguments[1])),o=o>=0?o:g(0,n+o);o1&&(o=w(o,J.ToInteger(arguments[1]))),o=o>=0?o:n-Math.abs(o);o>=0;o--)if(o in r&&e===r[o])return o;return-1}},ct);var ut=function(){var t=[1,2],e=t.splice();return 2===t.length&&V(e)&&0===e.length}();R(e,{splice:function t(e,r){return 0===arguments.length?[]:s.apply(this,arguments)}},!ut);var lt=function(){var t={};return e.splice.call(t,0,0,1),1===t.length}();R(e,{splice:function t(e,r){if(0===arguments.length)return[];var n=arguments;return this.length=g(J.ToInteger(this.length),0),arguments.length>0&&"number"!=typeof r&&((n=W(arguments)).length<2?q(n,this.length-e):n[1]=J.ToInteger(r)),s.apply(this,n)}},!lt);var ft=function(){var e=new t(1e5);return e[8]="x",e.splice(1,1),7===e.indexOf("x")}(),st=function(){var t=256,e=[];return e[t]="a",e.splice(257,0,"b"),"a"===e[t]}();R(e,{splice:function t(e,r){for(var n=J.ToObject(this),o=[],i=J.ToUint32(n.length),c=J.ToInteger(e),u=c<0?g(i+c,0):w(c,i),l=w(g(J.ToInteger(r),0),i-u),f=0,s;fb;)delete n[f-1],f-=1}else if(h>l)for(f=i-l;f>u;)s=a(f+l-1),y=a(f+h-1),Z(n,s)?n[y]=n[s]:delete n[y],f-=1;f=u;for(var v=0;v=0&&!V(e)&&T(e.callee)},Ft=It(arguments)?It:Pt;R(r,{keys:function t(e){var r=T(e),n=Ft(e),o=null!==e&&"object"==typeof e,i=o&&U(e);if(!o&&!r&&!n)throw new TypeError("Object.keys called on a non-object");var c=[],u=Tt&&r;if(i&&mt||n)for(var l=0;l11?e+1:e},getMonth:function t(){if(!(this&&this instanceof Date))throw new TypeError("this is not a Date object.");var e=Gt(this),r=Zt(this);return e<0&&r>11?0:r},getDate:function t(){if(!(this&&this instanceof Date))throw new TypeError("this is not a Date object.");var e=Gt(this),r=Zt(this),n=Yt(this);return e<0&&r>11?12===r?n:ee(0,e+1)-n+1:n},getUTCFullYear:function t(){if(!(this&&this instanceof Date))throw new TypeError("this is not a Date object.");var e=Wt(this);return e<0&&Xt(this)>11?e+1:e},getUTCMonth:function t(){if(!(this&&this instanceof Date))throw new TypeError("this is not a Date object.");var e=Wt(this),r=Xt(this);return e<0&&r>11?0:r},getUTCDate:function t(){if(!(this&&this instanceof Date))throw new TypeError("this is not a Date object.");var e=Wt(this),r=Xt(this),n=Bt(this);return e<0&&r>11?12===r?n:ee(0,e+1)-n+1:n}},Ct),R(Date.prototype,{toUTCString:function t(){if(!(this&&this instanceof Date))throw new TypeError("this is not a Date object.");var e=Ht(this),r=Bt(this),n=Xt(this),o=Wt(this),i=Lt(this),a=qt(this),c=Kt(this);return Vt[e]+", "+(r<10?"0"+r:r)+" "+te[n]+" "+o+" "+(i<10?"0"+i:i)+":"+(a<10?"0"+a:a)+":"+(c<10?"0"+c:c)+" GMT"}},Ct||$t),R(Date.prototype,{toDateString:function t(){if(!(this&&this instanceof Date))throw new TypeError("this is not a Date object.");var e=this.getDay(),r=this.getDate(),n=this.getMonth(),o=this.getFullYear();return Vt[e]+" "+te[n]+" "+(r<10?"0"+r:r)+" "+o}},Ct||zt),(Ct||Jt)&&(Date.prototype.toString=function t(){if(!(this&&this instanceof Date))throw new TypeError("this is not a Date object.");var e=this.getDay(),r=this.getDate(),n=this.getMonth(),o=this.getFullYear(),i=this.getHours(),a=this.getMinutes(),c=this.getSeconds(),u=this.getTimezoneOffset(),l=Math.floor(Math.abs(u)/60),f=Math.floor(Math.abs(u)%60);return Vt[e]+" "+te[n]+" "+(r<10?"0"+r:r)+" "+o+" "+(i<10?"0"+i:i)+":"+(a<10?"0"+a:a)+":"+(c<10?"0"+c:c)+" GMT"+(u>0?"-":"+")+(l<10?"0"+l:l)+(f<10?"0"+f:f)},A&&r.defineProperty(Date.prototype,"toString",{configurable:!0,enumerable:!1,writable:!0}));var re=-621987552e5,ne="-000001",oe=Date.prototype.toISOString&&-1===new Date(-621987552e5).toISOString().indexOf("-000001"),ie=Date.prototype.toISOString&&"1969-12-31T23:59:59.999Z"!==new Date(-1).toISOString(),ae=b.bind(Date.prototype.getTime);R(Date.prototype,{toISOString:function t(){if(!isFinite(this)||!isFinite(ae(this)))throw new RangeError("Date.prototype.toISOString called on non-finite value.");var e=Wt(this),r=Xt(this);e+=Math.floor(r/12);var n=[(r=(r%12+12)%12)+1,Bt(this),Lt(this),qt(this),Kt(this)];e=(e<0?"-":e>9999?"+":"")+B("00000"+Math.abs(e),0<=e&&e<=9999?-4:-6);for(var o=0;o=7&&f>le){var d=Math.floor(f/le)*le,b=Math.floor(d/1e3);h+=b,y-=1e3*b}p=1===s&&a(n)===n?new t(e.parse(n)):s>=7?new t(n,o,i,c,u,h,y):s>=6?new t(n,o,i,c,u,h):s>=5?new t(n,o,i,c,u):s>=4?new t(n,o,i,c):s>=3?new t(n,o,i):s>=2?new t(n,o):s>=1?new t(n instanceof t?+n:n):new t}else p=t.apply(this,arguments);return $(p)||R(p,{constructor:e},!0),p},r=new RegExp("^(\\d{4}|[+-]\\d{6})(?:-(\\d{2})(?:-(\\d{2})(?:T(\\d{2}):(\\d{2})(?::(\\d{2})(?:(\\.\\d{1,}))?)?(Z|(?:([-+])(\\d{2}):(\\d{2})))?)?)?)?$"),n=[0,31,59,90,120,151,181,212,243,273,304,334,365],o=function t(e,r){var o=r>1?1:0;return n[r]+Math.floor((e-1969+o)/4)-Math.floor((e-1901+o)/100)+Math.floor((e-1601+o)/400)+365*(e-1970)},i=function e(r){var n=0,o=r;if(fe&&o>le){var i=Math.floor(o/le)*le,a=Math.floor(i/1e3);n+=a,o-=1e3*a}return u(new t(1970,0,1,0,0,n,o))};for(var c in t)Z(t,c)&&(e[c]=t[c]);return R(e,{now:t.now,UTC:t.UTC},!0),e.prototype=t.prototype,R(e.prototype,{constructor:e},!0),R(e,{parse:function e(n){var a=r.exec(n);if(a){var c=u(a[1]),l=u(a[2]||1)-1,f=u(a[3]||1)-1,s=u(a[4]||0),p=u(a[5]||0),h=u(a[6]||0),y=Math.floor(1e3*u(a[7]||0)),d=Boolean(a[4]&&!a[8]),b="-"===a[9]?1:-1,v=u(a[10]||0),g=u(a[11]||0),w;return s<(p>0||h>0||y>0?24:25)&&p<60&&h<60&&y<1e3&&l>-1&&l<12&&v<24&&g<60&&f>-1&&f=0;)n+=pe.data[r],pe.data[r]=Math.floor(n/e),n=n%e*pe.base},numToString:function t(){for(var e=pe.size,r="";--e>=0;)if(""!==r||0===e||0!==pe.data[e]){var n=a(pe.data[e]);""===r?r=n:r+=B("0000000",0,7-n.length)+n}return r},pow:function t(e,r,n){return 0===r?n:r%2==1?t(e,r-1,n*e):t(e*e,r/2,n)},log:function t(e){for(var r=0,n=e;n>=4096;)r+=12,n/=4096;for(;n>=2;)r+=1,n/=2;return r}};R(l,{toFixed:function t(e){var r,n,o,i,c,l,f,s;if(r=u(e),(r=z(r)?0:Math.floor(r))<0||r>20)throw new RangeError("Number.toFixed called with invalid number of decimals");if(n=u(this),z(n))return"NaN";if(n<=-1e21||n>=1e21)return a(n);if(o="",n<0&&(o="-",n=-n),i="0",n>1e-21)if(c=pe.log(n*pe.pow(2,69,1))-69,l=c<0?n*pe.pow(2,-c,1):n/pe.pow(2,c,1),l*=4503599627370496,(c=52-c)>0){for(pe.multiply(0,l),f=r;f>=7;)pe.multiply(1e7,0),f-=7;for(pe.multiply(pe.pow(10,f,1),0),f=c-1;f>=23;)pe.divide(1<<23),f-=23;pe.divide(1<0?(s=i.length)<=r?o+B("0.0000000000000000000",0,r-s+2)+i:o+B(i,0,s-r)+"."+B(i,s-r):o+i}},se);var he=function(){try{return"1"===1..toPrecision(void 0)}catch(t){return!0}}(),ye=l.toPrecision;R(l,{toPrecision:function t(e){return void 0===e?ye.call(this):ye.call(this,e)}},he),2!=="ab".split(/(?:ab)*/).length||4!==".".split(/(.?)(.?)/).length||"t"==="tesst".split(/(s)*/)[1]||4!=="test".split(/(?:)/,-1).length||"".split(/.?/).length||".".split(/()()/).length>1?function(){var t=void 0===/()??/.exec("")[1],e=Math.pow(2,32)-1;c.split=function(r,n){var o=String(this);if(void 0===r&&0===n)return[];if(!M(r))return H(this,r,n);var i=[],a=(r.ignoreCase?"i":"")+(r.multiline?"m":"")+(r.unicode?"u":"")+(r.sticky?"y":""),c=0,u,l,f,s,h=new RegExp(r.source,a+"g");t||(u=new RegExp("^"+h.source+"$(?!\\s)",a));var y=void 0===n?e:J.ToUint32(n);for(l=h.exec(o);l&&!((f=l.index+l[0].length)>c&&(q(i,B(o,c,l.index)),!t&&l.length>1&&l[0].replace(u,function(){for(var t=1;t1&&l.index=y));)h.lastIndex===l.index&&h.lastIndex++,l=h.exec(o);return c===o.length?!s&&h.test("")||q(i,""):q(i,B(o,c)),i.length>y?W(i,0,y):i}}():"0".split(void 0,0).length&&(c.split=function t(e,r){return void 0===e&&0===r?[]:H(this,e,r)});var de=c.replace;(function(){var t=[];return"x".replace(/x(.)?/g,function(e,r){q(t,r)}),1===t.length&&void 0===t[0]})()||(c.replace=function t(e,r){var n=T(r),o=M(e)&&/\)[*?]/.test(e.source);if(n&&o){var i=function(t){var n=arguments.length,o=e.lastIndex;e.lastIndex=0;var i=e.exec(t)||[];return e.lastIndex=o,q(i,arguments[n-2],arguments[n-1]),r.apply(this,i)};return de.call(this,e,i)}return de.call(this,e,r)});var be=c.substr,ve="".substr&&"b"!=="0b".substr(-1);R(c,{substr:function t(e,r){var n=e;return e<0&&(n=g(this.length+e,0)),be.call(this,n,r)}},ve);var ge="\t\n\v\f\r   ᠎ â€â€‚         âŸã€€\u2028\u2029\ufeff",we="​",Oe="["+ge+"]",je=new RegExp("^"+Oe+Oe+"*"),Te=new RegExp(Oe+Oe+"*$"),me=c.trim&&(ge.trim()||!"​".trim());R(c,{trim:function t(){if(void 0===this||null===this)throw new TypeError("can't convert "+this+" to object");return a(this).replace(je,"").replace(Te,"")}},me);var De=b.bind(String.prototype.trim),Ee=c.lastIndexOf&&-1!=="abcã‚ã„".lastIndexOf("ã‚ã„",2);R(c,{lastIndexOf:function t(e){if(void 0===this||null===this)throw new TypeError("can't convert "+this+" to object");for(var r=a(this),n=a(e),o=arguments.length>1?u(arguments[1]):NaN,i=z(o)?1/0:J.ToInteger(o),c=w(g(i,0),r.length),l=n.length,f=c+l;f>0;){f=g(0,f-l);var s=L(B(r,f,c+l),n);if(-1!==s)return f+s}return-1}},Ee);var xe=c.lastIndexOf;if(R(c,{lastIndexOf:function t(e){return xe.apply(this,arguments)}},1!==c.lastIndexOf.length),8===parseInt(ge+"08")&&22===parseInt(ge+"0x16")||(parseInt=function(t){var e=/^[\-+]?0[xX]/;return function r(n,o){var i=De(String(n)),a=u(o)||(e.test(i)?16:10);return t(i,a)}}(parseInt)),1/parseFloat("-0")!=-1/0&&(parseFloat=function(t){return function e(r){var n=De(String(r)),o=t(n);return 0===o&&"-"===B(n,0,1)?-0:o}}(parseFloat)),"RangeError: test"!==String(new RangeError("test"))){var Se=function t(){if(void 0===this||null===this)throw new TypeError("can't convert "+this+" to object");var e=this.name;void 0===e?e="Error":"string"!=typeof e&&(e=a(e));var r=this.message;return void 0===r?r="":"string"!=typeof r&&(r=a(r)),e?r?e+": "+r:e:r};Error.prototype.toString=Se}if(A){var _e=function(t,e){if(K(t,e)){var r=Object.getOwnPropertyDescriptor(t,e);r.configurable&&(r.enumerable=!1,Object.defineProperty(t,e,r))}};_e(Error.prototype,"message"),""!==Error.prototype.message&&(Error.prototype.message=""),_e(Error.prototype,"name")}if("/a/gim"!==String(/a/gim)){var Me=function t(){var e="/"+this.source+"/";return this.global&&(e+="g"),this.ignoreCase&&(e+="i"),this.multiline&&(e+="m"),e};RegExp.prototype.toString=Me}}),function(t,e){"use strict";"function"==typeof define&&define.amd?define(e):"object"==typeof exports?module.exports=e():t.returnExports=e()}(this,function(){var t=Function.call,e=Object.prototype,r=t.bind(e.hasOwnProperty),n=t.bind(e.propertyIsEnumerable),o=t.bind(e.toString),i,a,c,u,l=r(e,"__defineGetter__");l&&(i=t.bind(e.__defineGetter__),a=t.bind(e.__defineSetter__),c=t.bind(e.__lookupGetter__),u=t.bind(e.__lookupSetter__));var f=function t(e){return null==e||"object"!=typeof e&&"function"!=typeof e};Object.getPrototypeOf||(Object.getPrototypeOf=function t(r){var n=r.__proto__;return n||null===n?n:"[object Function]"===o(r.constructor)?r.constructor.prototype:r instanceof Object?e:null});var s=function t(e){try{return e.sentinel=0,0===Object.getOwnPropertyDescriptor(e,"sentinel").value}catch(t){return!1}};if(Object.defineProperty){var p=s({});if(!("undefined"==typeof document||s(document.createElement("div")))||!p)var h=Object.getOwnPropertyDescriptor}if(!Object.getOwnPropertyDescriptor||h){var y="Object.getOwnPropertyDescriptor called on a non-object: ";Object.getOwnPropertyDescriptor=function t(o,i){if(f(o))throw new TypeError(y+o);if(h)try{return h.call(Object,o,i)}catch(t){}var a;if(!r(o,i))return a;if(a={enumerable:n(o,i),configurable:!0},l){var s=o.__proto__,p=o!==e;p&&(o.__proto__=e);var d=c(o,i),b=u(o,i);if(p&&(o.__proto__=s),d||b)return d&&(a.get=d),b&&(a.set=b),a}return a.value=o[i],a.writable=!0,a}}if(Object.getOwnPropertyNames||(Object.getOwnPropertyNames=function t(e){return Object.keys(e)}),!Object.create){var d,b=!({__proto__:null}instanceof Object),v=function t(){if(!document.domain)return!1;try{return!!new ActiveXObject("htmlfile")}catch(t){return!1}},g=function t(){var e,r,n="script";return(r=new ActiveXObject("htmlfile")).write("'; -} diff --git a/packages/shim-common/README.md b/packages/shim-common/README.md new file mode 100644 index 0000000000..18267f0898 --- /dev/null +++ b/packages/shim-common/README.md @@ -0,0 +1,8 @@ +# shim-common +[Source code of released version](https://github.com/meteor/meteor/tree/master/packages/shim-common) | [Source code of development version](https://github.com/meteor/meteor/tree/devel/packages/shim-common) +*** + +Shared utilities for packages like +[`sockjs-shim`](https://github.com/meteor/meteor/tree/devel/packages/sockjs-shim) +and +[`es5-shim`](https://github.com/meteor/meteor/tree/devel/packages/es5-shim). diff --git a/packages/shim-common/package.js b/packages/shim-common/package.js new file mode 100644 index 0000000000..5897d2d477 --- /dev/null +++ b/packages/shim-common/package.js @@ -0,0 +1,11 @@ +Package.describe({ + name: "shim-common", + version: "0.1.0", + summary: "Shared utilities for packages like sockjs-shim and es5-shim", + documentation: "README.md" +}); + +Package.onUse(function(api) { + api.use("ecmascript"); + api.mainModule("server.js", "server"); +}); diff --git a/packages/shim-common/server.js b/packages/shim-common/server.js new file mode 100644 index 0000000000..7e6a4738d6 --- /dev/null +++ b/packages/shim-common/server.js @@ -0,0 +1,38 @@ +"use strict"; + +export const hasOwn = Object.prototype.hasOwnProperty; + +export function doNotNeedShim( + // The HTTP request object, as exposed (for example) by sink.request. + request, + // Map from lowercase browser names to the minimum major version of that + // browser that no longer needs the shim. + minimumMajorVersions = {}, + // Optional URL query parameter that can be used to force the shim to be + // injected into the HTTP response. + queryForceParam, +) { + const { browser, url } = request; + + if (queryForceParam) { + const query = url && url.query; + const forced = query && query[queryForceParam]; + if (forced) { + return false; + } + } + + if (browser && + hasOwn.call(minimumMajorVersions, browser.name) && + browser.major >= minimumMajorVersions[browser.name]) { + return true; + } + + return false; +} + +export function makeScript(packagePath) { + return '\n'; +} diff --git a/packages/sockjs-shim/package.js b/packages/sockjs-shim/package.js index 0d9e7e40bf..ae6a6ca1b0 100644 --- a/packages/sockjs-shim/package.js +++ b/packages/sockjs-shim/package.js @@ -9,6 +9,7 @@ Package.describe({ Package.onUse(function(api) { api.use("ecmascript"); api.use("server-render"); + api.use("shim-common"); api.mainModule("server.js", "server"); api.addAssets([ "sockjs-0.3.4.js", diff --git a/packages/sockjs-shim/server.js b/packages/sockjs-shim/server.js index 7338ac52fa..bbc6ec008e 100644 --- a/packages/sockjs-shim/server.js +++ b/packages/sockjs-shim/server.js @@ -1,7 +1,10 @@ import { onPageLoad } from "meteor/server-render"; +import { + doNotNeedShim, + makeScript, +} from "meteor/shim-common"; const sockjsVersion = "0.3.4"; -const hasOwn = Object.prototype.hasOwnProperty; const minimumMajorVersions = { chrome: 16, firefox: 11, @@ -11,29 +14,12 @@ const minimumMajorVersions = { }; onPageLoad(sink => { - if (doNotNeedShim(sink.request)) { + if (doNotNeedShim(sink.request, + minimumMajorVersions, + "force_sockjs")) { return; } - - sink.appendToHead(makeScript(sockjsVersion)); + sink.appendToHead( + makeScript("sockjs-shim/sockjs-" + sockjsVersion) + ); }); - -function doNotNeedShim(request) { - const { browser, url } = request; - const query = url && url.query; - const forceSockJs = query && query.force_sockjs; - if (! forceSockJs && - browser && - hasOwn.call(minimumMajorVersions, browser.name) && - browser.major >= minimumMajorVersions[browser.name]) { - return true; - } - return false; -} - -function makeScript(version) { - return '\n'; -} From d230ad51cd1d5ad648c492da0574f1525864d309 Mon Sep 17 00:00:00 2001 From: Ben Newman Date: Tue, 14 Nov 2017 09:28:12 -0500 Subject: [PATCH 0153/1355] Imply es5-shim from meteor-base. Now that es5-shim has no impact on modern browsers (thanks to selectively server-side rendering a ')({ - conf: meteorRuntimeConfig - }) - : template(' ')({ - src: rootUrlPathPrefix - }) - ) , - '' - ], + (css || []).map(({ url }) => + template(' ')({ + href: bundledJsCssUrlRewriteHook(url) + }) + ), + [ + head, + dynamicHead, + '', + '', + ], +).join('\n') - (js || []).map(({ url }) => - template(' ')({ - src: bundledJsCssUrlRewriteHook(url) +// Template function for rendering the boilerplate html for browsers +export const closeTemplate = ({ + meteorRuntimeConfig, + rootUrlPathPrefix, + inlineScriptsAllowed, + js, + additionalStaticJs, + bundledJsCssUrlRewriteHook, +}) => [].concat( + [ + '', + (inlineScriptsAllowed + ? template(' ')({ + conf: meteorRuntimeConfig }) - ), + : template(' ')({ + src: rootUrlPathPrefix + }) + ) , + '' + ], - (additionalStaticJs || []).map(({ contents, pathname }) => ( - (inlineScriptsAllowed - ? template(' ')({ - contents: contents - }) - : template(' ')({ - src: rootUrlPathPrefix + pathname - })) - )), + (js || []).map(({ url }) => + template(' ')({ + src: bundledJsCssUrlRewriteHook(url) + }) + ), - [ - '', '', - '', - '' - ], - ).join('\n'); -} + (additionalStaticJs || []).map(({ contents, pathname }) => ( + (inlineScriptsAllowed + ? template(' ')({ + contents: contents + }) + : template(' ')({ + src: rootUrlPathPrefix + pathname + })) + )), + + [ + '', '', + '', + '' + ], +).join('\n'); diff --git a/packages/boilerplate-generator/template-web.cordova.js b/packages/boilerplate-generator/template-web.cordova.js index 68a82bfcf0..b6a9a01393 100644 --- a/packages/boilerplate-generator/template-web.cordova.js +++ b/packages/boilerplate-generator/template-web.cordova.js @@ -1,7 +1,7 @@ import template from './template'; // Template function for rendering the boilerplate html for cordova -export default function({ +export const headTemplate = ({ meteorRuntimeConfig, rootUrlPathPrefix, inlineScriptsAllowed, @@ -11,69 +11,65 @@ export default function({ htmlAttributes, bundledJsCssUrlRewriteHook, head, - body, dynamicHead, - dynamicBody, -}) { - return [].concat( - [ - '', - '', - ' ', - ' ', - ' ', - ' ', - ' ', - ], - // We are explicitly not using bundledJsCssUrlRewriteHook: in cordova we serve assets up directly from disk, so rewriting the URL does not make sense - (css || []).map(({ url }) => - template(' ')({ - href: url - }) - ), - [ - ' ', - '', - ' ' - ], - (js || []).map(({ url }) => - template(' ')({ - src: url - }) - ), +}) => [].concat( + [ + '', + '', + ' ', + ' ', + ' ', + ' ', + ' ', + ], + // We are explicitly not using bundledJsCssUrlRewriteHook: in cordova we serve assets up directly from disk, so rewriting the URL does not make sense + (css || []).map(({ url }) => + template(' ')({ + href: url + }) + ), + [ + ' ', + '', + ' ' + ], + (js || []).map(({ url }) => + template(' ')({ + src: url + }) + ), - (additionalStaticJs || []).map(({ contents, pathname }) => ( - (inlineScriptsAllowed - ? template(' ')({ - contents: contents - }) - : template(' ')({ - src: rootUrlPathPrefix + pathname - })) - )), + (additionalStaticJs || []).map(({ contents, pathname }) => ( + (inlineScriptsAllowed + ? template(' ')({ + contents: contents + }) + : template(' ')({ + src: rootUrlPathPrefix + pathname + })) + )), - [ - '', - head, - '', - '', - '', - body, - '', - '' - ], - ).join('\n'); -} + [ + '', + head, + '', + '', + '', + ], +).join('\n'); + +export const closeTemplate = () => + [].concat([ '','' ]).join('\n'); diff --git a/packages/server-render/.npm/package/npm-shrinkwrap.json b/packages/server-render/.npm/package/npm-shrinkwrap.json index 9909fab1c6..412a14c5e7 100644 --- a/packages/server-render/.npm/package/npm-shrinkwrap.json +++ b/packages/server-render/.npm/package/npm-shrinkwrap.json @@ -1,6 +1,11 @@ { "lockfileVersion": 1, "dependencies": { + "combine-streams": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/combine-streams/-/combine-streams-1.0.0.tgz", + "integrity": "sha1-U2W6BKdmGM8zshPDFtM+XBs8RgQ=" + }, "magic-string": { "version": "0.21.3", "resolved": "https://registry.npmjs.org/magic-string/-/magic-string-0.21.3.tgz", @@ -12,9 +17,9 @@ "integrity": "sha1-Be/1fw70V3+xRKefi5qWemzERRA=" }, "vlq": { - "version": "0.2.2", - "resolved": "https://registry.npmjs.org/vlq/-/vlq-0.2.2.tgz", - "integrity": "sha1-4xbVJXtAuGu0PLjV/qXX9U1rDKE=" + "version": "0.2.3", + "resolved": "https://registry.npmjs.org/vlq/-/vlq-0.2.3.tgz", + "integrity": "sha512-DRibZL6DsNhIgYQ+wNdWDL2SL3bKPlVrRiBqV5yuMm++op8W4kGFtaQfCs4KEJn0wBZcHVHJ3eoywX8983k1ow==" } } } diff --git a/packages/server-render/package.js b/packages/server-render/package.js index 8787212d90..f3bf1cb5d7 100644 --- a/packages/server-render/package.js +++ b/packages/server-render/package.js @@ -6,6 +6,7 @@ Package.describe({ }); Npm.depends({ + "combine-streams": "1.0.0", "magic-string": "0.21.3", "parse5": "3.0.2" }); diff --git a/packages/server-render/server-register.js b/packages/server-render/server-register.js index 8fecf9e2a9..8ae8dc0022 100644 --- a/packages/server-render/server-register.js +++ b/packages/server-render/server-register.js @@ -1,9 +1,19 @@ import { WebAppInternals } from "meteor/webapp"; -import { SAXParser } from "parse5"; +import { Readable } from "stream"; import MagicString from "magic-string"; -import { ServerSink } from "./server-sink.js"; +import { SAXParser } from "parse5"; +import combine from "combine-streams"; +import { ServerSink, isReadable } from "./server-sink.js"; import { onPageLoad } from "./server.js"; +function stringToStream(str) { + const stream = new Readable(); + stream._read = function() {}; + stream.push(str); + stream.push(null);; + return stream; +} + WebAppInternals.registerBoilerplateDataCallback( "meteor/server-render", (request, data, arch) => { @@ -29,22 +39,40 @@ WebAppInternals.registerBoilerplateDataCallback( locationInfo: true }); - parser.on("startTag", (name, attrs, selfClosing, loc) => { - attrs.some(attr => { - if (attr.name === "id") { - const html = sink.htmlById[attr.value]; - if (html) { - magic.appendRight(loc.endOffset, html); - reallyMadeChanges = true; + data[property] = parser; + + if (Object.keys(sink.htmlById).length) { + // create an empty stream; + const stream = combine(); + + let lastStart = magic.start; + parser.on("startTag", (name, attrs, selfClosing, loc) => { + attrs.some(attr => { + if (attr.name === "id") { + let html = sink.htmlById[attr.value]; + if (typeof html === "string") { + html = stringToStream(html); + } + if (html && isReadable(html)) { + reallyMadeChanges = true; + const start = magic.slice(lastStart, loc.endOffset); + const end = magic.slice(loc.endOffset); + stream + .append(start) + .append(html) + .append(end) + .append(null); + lastStart = loc.endOffset; + } + return true; } - return true; - } + }); }); - }); - parser.write(html); + data[property] = stream; + } - data[property] = magic.toString(); + parser.write(html, parser.end.bind(parser)); } if (sink.head) { diff --git a/packages/server-render/server-sink.js b/packages/server-render/server-sink.js index d6cecebdc9..8680889e7e 100644 --- a/packages/server-render/server-sink.js +++ b/packages/server-render/server-sink.js @@ -30,6 +30,30 @@ export class ServerSink { this.htmlById[id] = ""; this.appendToElementById(id, html); } + + redirect(code, location) { + + } + + // server only methods + setStatusCode(code) { + + } + + getHeaders() { + + } +} + +export function isReadable(stream) { + return ( + stream !== null && + typeof stream === 'object' && + typeof stream.pipe === 'function' && + stream.readable !== false && + typeof stream._read === 'function' && + typeof stream._readableState === 'object' + ); } function appendContent(object, property, content) { @@ -41,10 +65,13 @@ function appendContent(object, property, content) { madeChanges = true; } }); + } else if (isReadable(content)) { + object[property] = content; + madeChanges = true; } else if ((content = content && content.toString("utf8"))) { object[property] = (object[property] || "") + content; madeChanges = true; - } - + // should we join streams here? + } return madeChanges; } diff --git a/packages/webapp/webapp_server.js b/packages/webapp/webapp_server.js index 5f4be983a5..8e78ce7f18 100644 --- a/packages/webapp/webapp_server.js +++ b/packages/webapp/webapp_server.js @@ -314,9 +314,9 @@ function getBoilerplateAsync(request, arch) { madeChanges ); - if (! useMemoized) { + // if (! useMemoized) { return boilerplate.toHTML(data); - } + // } // The only thing that changes from request to request (unless extra // content is added to the head or body, or boilerplateDataCallbacks @@ -799,12 +799,16 @@ function runWebAppServer() { return getBoilerplateAsync( request, archKey - ).then(boilerplate => { + ).then(({ start, stream, end }) => { var statusCode = res.statusCode ? res.statusCode : 200; res.writeHead(statusCode, headers); - res.write(boilerplate); - res.end(); - }, error => { + res.write(start); + stream.pipe(res, { end: false }) + stream.on("end", () => { + res.write(end); + res.end(); + }) + }).catch(error => { Log.error("Error running template: " + error.stack); res.writeHead(500, headers); res.end(); From 2ef27e415193e19b7ab2867e25a64f785863f984 Mon Sep 17 00:00:00 2001 From: James Baxley Date: Fri, 10 Nov 2017 09:47:24 -0500 Subject: [PATCH 0220/1355] easier support for strings in template --- .../.npm/package/.gitignore | 1 + .../boilerplate-generator/.npm/package/README | 7 ++++++ .../.npm/package/npm-shrinkwrap.json | 10 ++++++++ packages/boilerplate-generator/generator.js | 23 ++++--------------- packages/boilerplate-generator/package.js | 4 ++++ 5 files changed, 27 insertions(+), 18 deletions(-) create mode 100644 packages/boilerplate-generator/.npm/package/.gitignore create mode 100644 packages/boilerplate-generator/.npm/package/README create mode 100644 packages/boilerplate-generator/.npm/package/npm-shrinkwrap.json diff --git a/packages/boilerplate-generator/.npm/package/.gitignore b/packages/boilerplate-generator/.npm/package/.gitignore new file mode 100644 index 0000000000..3c3629e647 --- /dev/null +++ b/packages/boilerplate-generator/.npm/package/.gitignore @@ -0,0 +1 @@ +node_modules diff --git a/packages/boilerplate-generator/.npm/package/README b/packages/boilerplate-generator/.npm/package/README new file mode 100644 index 0000000000..3d492553a4 --- /dev/null +++ b/packages/boilerplate-generator/.npm/package/README @@ -0,0 +1,7 @@ +This directory and the files immediately inside it are automatically generated +when you change this package's NPM dependencies. Commit the files in this +directory (npm-shrinkwrap.json, .gitignore, and this README) to source control +so that others run the same versions of sub-dependencies. + +You should NOT check in the node_modules directory that Meteor automatically +creates; if you are using git, the .gitignore file tells git to ignore it. diff --git a/packages/boilerplate-generator/.npm/package/npm-shrinkwrap.json b/packages/boilerplate-generator/.npm/package/npm-shrinkwrap.json new file mode 100644 index 0000000000..1357f2b814 --- /dev/null +++ b/packages/boilerplate-generator/.npm/package/npm-shrinkwrap.json @@ -0,0 +1,10 @@ +{ + "lockfileVersion": 1, + "dependencies": { + "combine-streams": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/combine-streams/-/combine-streams-1.0.0.tgz", + "integrity": "sha1-U2W6BKdmGM8zshPDFtM+XBs8RgQ=" + } + } +} diff --git a/packages/boilerplate-generator/generator.js b/packages/boilerplate-generator/generator.js index 511ed8db25..9f5a383f1d 100644 --- a/packages/boilerplate-generator/generator.js +++ b/packages/boilerplate-generator/generator.js @@ -1,5 +1,5 @@ import { readFile } from 'fs'; -import { Readable } from 'stream'; +import combine from "combine-streams"; import WebBrowserTemplate from './template-web.browser'; import WebCordovaTemplate from './template-web.cordova'; @@ -22,21 +22,6 @@ export class Boilerplate { ); } - stringToStream(str) { - if (!str) str = ""; - - // this is a stream - if (typeof str !== "string") return str; - - const stream = new Readable(); - stream._read = () => {}; - stream.push(str); - // end the stream - stream.push(null); - - return stream; - } - // The 'extraData' argument can be used to extend 'self.baseData'. Its // purpose is to allow you to specify data that you might not know at // the time that you construct the Boilerplate object. (e.g. it is used @@ -54,8 +39,10 @@ export class Boilerplate { const start = "\n" + this.headTemplate(data); const { body, dynamicBody } = data; - const stream = this.stringToStream(body) - // .pipe(this.stringToStream(dynamicBody)); + const stream = combine() + .append(body || "") + .append(dynamicBody || "") + .append(null); const end = this.closeTemplate(data); diff --git a/packages/boilerplate-generator/package.js b/packages/boilerplate-generator/package.js index bd2710ccc0..bb93ae5593 100644 --- a/packages/boilerplate-generator/package.js +++ b/packages/boilerplate-generator/package.js @@ -3,6 +3,10 @@ Package.describe({ version: '1.3.1' }); +Npm.depends({ + "combine-streams": "1.0.0" +}); + Package.onUse(api => { api.use('ecmascript'); api.use('underscore', 'server'); From 037a0be319c1dac225cc118b002c568dd5abf83f Mon Sep 17 00:00:00 2001 From: James Baxley Date: Fri, 10 Nov 2017 09:57:07 -0500 Subject: [PATCH 0221/1355] simplify stream parsing [ci skip] --- packages/server-render/server-register.js | 13 +------------ 1 file changed, 1 insertion(+), 12 deletions(-) diff --git a/packages/server-render/server-register.js b/packages/server-render/server-register.js index 8ae8dc0022..d1e2d2a009 100644 --- a/packages/server-render/server-register.js +++ b/packages/server-render/server-register.js @@ -1,18 +1,10 @@ import { WebAppInternals } from "meteor/webapp"; -import { Readable } from "stream"; import MagicString from "magic-string"; import { SAXParser } from "parse5"; import combine from "combine-streams"; import { ServerSink, isReadable } from "./server-sink.js"; import { onPageLoad } from "./server.js"; -function stringToStream(str) { - const stream = new Readable(); - stream._read = function() {}; - stream.push(str); - stream.push(null);; - return stream; -} WebAppInternals.registerBoilerplateDataCallback( "meteor/server-render", @@ -50,10 +42,7 @@ WebAppInternals.registerBoilerplateDataCallback( attrs.some(attr => { if (attr.name === "id") { let html = sink.htmlById[attr.value]; - if (typeof html === "string") { - html = stringToStream(html); - } - if (html && isReadable(html)) { + if (html) { reallyMadeChanges = true; const start = magic.slice(lastStart, loc.endOffset); const end = magic.slice(loc.endOffset); From 3a7f34d610da1e23790bdbd3ae78b1b2b5dc27dc Mon Sep 17 00:00:00 2001 From: James Baxley Date: Fri, 10 Nov 2017 11:04:51 -0500 Subject: [PATCH 0222/1355] support redirect, headers, cookies, and client side alignment --- packages/server-render/client-sink.js | 27 +++++++++++++++++++++++ packages/server-render/server-register.js | 10 +++++++++ packages/server-render/server-sink.js | 22 ++++++++++++++---- packages/webapp/webapp_server.js | 19 ++++++++++++---- 4 files changed, 70 insertions(+), 8 deletions(-) diff --git a/packages/server-render/client-sink.js b/packages/server-render/client-sink.js index 3743e278f9..4a02b251af 100644 --- a/packages/server-render/client-sink.js +++ b/packages/server-render/client-sink.js @@ -2,6 +2,10 @@ const doc = document; const head = doc.getElementsByTagName("head")[0]; const body = doc.body; +const isoError = (method) => { + return `sink.${method} was called on the client when + it should only be called on the server.`; +} export class ClientSink { appendToHead(nodeOrHtml) { appendContent(head, nodeOrHtml); @@ -22,8 +26,31 @@ export class ClientSink { } appendContent(element, nodeOrHtml); } + + redirect(location) { + // code can't be set on the client + window.location = location; + } + + // server only methods + setStatusCode() { + console.error(isoError("setStatusCode")); + } + + setHeader() { + console.error(isoError("setHeader")); + } + + getHeaders() { + console.error(isoError("getHeaders")); + } + + getCookies() { + console.error(isoError("getCookies")); + } } + function appendContent(destination, nodeOrHtml) { if (typeof nodeOrHtml === "string") { // Make a shallow clone of the destination node to ensure the new diff --git a/packages/server-render/server-register.js b/packages/server-render/server-register.js index d1e2d2a009..8a97800009 100644 --- a/packages/server-render/server-register.js +++ b/packages/server-render/server-register.js @@ -81,6 +81,16 @@ WebAppInternals.registerBoilerplateDataCallback( reallyMadeChanges = true; } + if (sink.statusCode) { + data.statusCode = sink.statusCode; + reallyMadeChanges = true; + } + + if (Object.keys(sink.responseHeaders)){ + data.headers = sink.responseHeaders; + reallyMadeChanges = true; + } + return reallyMadeChanges; }); } diff --git a/packages/server-render/server-sink.js b/packages/server-render/server-sink.js index 8680889e7e..48f6936643 100644 --- a/packages/server-render/server-sink.js +++ b/packages/server-render/server-sink.js @@ -6,6 +6,8 @@ export class ServerSink { this.body = ""; this.htmlById = Object.create(null); this.maybeMadeChanges = false; + this.statusCode = null; + this.responseHeaders = {}; } appendToHead(html) { @@ -31,17 +33,29 @@ export class ServerSink { this.appendToElementById(id, html); } - redirect(code, location) { - + redirect(location, code) { + this.maybeMadeChanges = true; + this.statusCode = code; + this.responseHeaders.Location = location; } // server only methods setStatusCode(code) { - + this.maybeMadeChanges = true; + this.statusCode = code; + } + + setHeader(key, value) { + this.maybeMadeChanges = true; + this.responseHeaders[key] = value; } getHeaders() { - + return this.request.headers; + } + + getCookies() { + return this.request.cookies; } } diff --git a/packages/webapp/webapp_server.js b/packages/webapp/webapp_server.js index 8e78ce7f18..4f587113c7 100644 --- a/packages/webapp/webapp_server.js +++ b/packages/webapp/webapp_server.js @@ -122,7 +122,7 @@ WebApp.categorizeRequest = function (req) { return _.extend({ browser: identifyBrowser(req.headers['user-agent']), url: parseUrl(req.url, true) - }, _.pick(req, 'dynamicHead', 'dynamicBody')); + }, _.pick(req, 'dynamicHead', 'dynamicBody', 'headers', 'cookies')); }; // HTML attribute hooks: functions to be called to determine any attributes to @@ -315,7 +315,11 @@ function getBoilerplateAsync(request, arch) { ); // if (! useMemoized) { - return boilerplate.toHTML(data); + return { + ...boilerplate.toHTML(data), + statusCode: data.statusCode, + headers: data.headers, + }; // } // The only thing that changes from request to request (unless extra @@ -799,8 +803,15 @@ function runWebAppServer() { return getBoilerplateAsync( request, archKey - ).then(({ start, stream, end }) => { - var statusCode = res.statusCode ? res.statusCode : 200; + ).then(({ start, stream, end, statusCode, headers: newHeaders }) => { + if (!statusCode) { + statusCode = res.statusCode ? res.statusCode : 200; + } + if (newHeaders) { + headers = {...headers, ...newHeaders }; + } + + console.log("setting status code") res.writeHead(statusCode, headers); res.write(start); stream.pipe(res, { end: false }) From fb4e2b6f73e7fab9d13d2043b3bf36977ab2cc5e Mon Sep 17 00:00:00 2001 From: James Baxley Date: Fri, 10 Nov 2017 13:07:59 -0500 Subject: [PATCH 0223/1355] fix tests --- .../boilerplate-generator-tests/test-lib.js | 28 ++- .../web.browser-tests.js | 105 ++++---- .../web.cordova-tests.js | 93 +++---- packages/server-render/server-register.js | 10 +- packages/server-render/server-render-tests.js | 178 +++++++------ packages/server-render/server-sink.js | 1 - packages/webapp/webapp_server.js | 1 - packages/webapp/webapp_tests.js | 237 ++++++++++-------- 8 files changed, 382 insertions(+), 271 deletions(-) diff --git a/packages/boilerplate-generator-tests/test-lib.js b/packages/boilerplate-generator-tests/test-lib.js index 98b445b7c3..aa74332947 100644 --- a/packages/boilerplate-generator-tests/test-lib.js +++ b/packages/boilerplate-generator-tests/test-lib.js @@ -1,4 +1,4 @@ -export function generateHTMLForArch(arch) { +export async function generateHTMLForArch(arch) { // Use a dummy manifest. None of these paths will be read from the filesystem, but css / js should be handled differently const manifest = [ { @@ -50,5 +50,29 @@ export function generateHTMLForArch(arch) { }, }); - return boilerplate.toHTML(); + + const { start, stream, end } = boilerplate.toHTML(); + + const body = await toString(stream); + + return start + body + end; }; + + +function toString(stream) { + return new Promise((success, fail) => { + var string = '' + stream.on('readable', function(buffer) { + var part = buffer.read().toString(); + string += part; + }); + + stream.on('end', function() { + success(string) + }); + + stream.on('error', function(error) { + fail(error); + }); + }); +} diff --git a/packages/boilerplate-generator-tests/web.browser-tests.js b/packages/boilerplate-generator-tests/web.browser-tests.js index f69df8dbef..dbf383cd19 100644 --- a/packages/boilerplate-generator-tests/web.browser-tests.js +++ b/packages/boilerplate-generator-tests/web.browser-tests.js @@ -2,62 +2,69 @@ import { parse, serialize } from 'parse5'; import { generateHTMLForArch } from './test-lib'; -const html = generateHTMLForArch('web.browser'); +const start = async () => { + const html = await generateHTMLForArch('web.browser'); -Tinytest.add("boilerplate-generator-tests - web.browser - well-formed html", function (test) { - const formatted = serialize(parse(html)); - test.isTrue(formatted.replace(/\s/g, '') === html.replace(/\s/g, '')); -}); + Tinytest.add("boilerplate-generator-tests - web.browser - well-formed html", function (test) { + const formatted = serialize(parse(html)); + test.isTrue(formatted.replace(/\s/g, '') === html.replace(/\s/g, '')); + }); -Tinytest.add("boilerplate-generator-tests - web.browser - include htmlAttributes", function (test) { - test.matches(html, /foo="foobar"/); -}); + Tinytest.add("boilerplate-generator-tests - web.browser - include htmlAttributes", function (test) { + test.matches(html, /foo="foobar"/); + }); -Tinytest.add("boilerplate-generator-tests - web.browser - escape htmlAttributes", function (test) { - test.matches(html, /gems="&""/); -}); + Tinytest.add("boilerplate-generator-tests - web.browser - escape htmlAttributes", function (test) { + test.matches(html, /gems="&""/); + }); -Tinytest.add("boilerplate-generator-tests - web.browser - include js", function (test) { - test.matches(html, /]*src="[^<>]*templating[^<>]*">/); -}); + Tinytest.add("boilerplate-generator-tests - web.browser - include js", function (test) { + test.matches(html, /]*src="[^<>]*templating[^<>]*">/); + }); -Tinytest.add("boilerplate-generator-tests - web.browser - escape js", function (test) { - test.matches(html, /]*src="[^<>]*templating[^<>]*&v="1"[^<>]*">/); -}); + Tinytest.add("boilerplate-generator-tests - web.browser - escape js", function (test) { + test.matches(html, /]*src="[^<>]*templating[^<>]*&v="1"[^<>]*">/); + }); -Tinytest.add("boilerplate-generator-tests - web.browser - include css", function (test) { - test.matches(html, /]*href="[^<>]*bootstrap[^<>]*">/); -}); + Tinytest.add("boilerplate-generator-tests - web.browser - include css", function (test) { + test.matches(html, /]*href="[^<>]*bootstrap[^<>]*">/); + }); -Tinytest.add("boilerplate-generator-tests - web.browser - escape css", function (test) { - test.matches(html, /]*href="[^<>]*bootstrap[^<>]*&v="1"[^<>]*">/); -}); + Tinytest.add("boilerplate-generator-tests - web.browser - escape css", function (test) { + test.matches(html, /]*href="[^<>]*bootstrap[^<>]*&v="1"[^<>]*">/); + }); -Tinytest.add("boilerplate-generator-tests - web.browser - call rewriteHook", function (test) { - test.matches(html, /\+rewritten_url=true/); -}); + Tinytest.add("boilerplate-generator-tests - web.browser - call rewriteHook", function (test) { + test.matches(html, /\+rewritten_url=true/); + }); -Tinytest.add("boilerplate-generator-tests - web.browser - include runtime config", function (test) { - test.matches(html, /]*>[^<>]*__meteor_runtime_config__ =.*decodeURIComponent\(config123\)/); -}); + Tinytest.add("boilerplate-generator-tests - web.browser - include runtime config", function (test) { + test.matches(html, /]*>[^<>]*__meteor_runtime_config__ =.*decodeURIComponent\(config123\)/); + }); -// https://github.com/meteor/meteor/issues/9149 -Tinytest.add( - "boilerplate-generator-tests - web.browser - properly render boilerplate " + - "elements when _.template settings are overridden", - function (test) { - import { _ } from 'meteor/underscore'; - _.templateSettings = { - interpolate: /\{\{(.+?)\}\}/g - }; - const newHtml = generateHTMLForArch('web.browser'); - test.matches(newHtml, /foo="foobar"/); - test.matches(newHtml, /]*href="[^<>]*bootstrap[^<>]*">/); - test.matches(newHtml, /]*src="[^<>]*templating[^<>]*">/); - test.matches(newHtml, /')({ - conf: meteorRuntimeConfig - }) - : template(' ')({ - src: rootUrlPathPrefix - }) - ) , - '' - ], +}) => [ + '', + inlineScriptsAllowed + ? template(' ')({ + conf: meteorRuntimeConfig, + }) + : template(' ')({ + src: rootUrlPathPrefix, + }), + '', - (js || []).map(({ url }) => + ...(js || []).map(file => template(' ')({ - src: bundledJsCssUrlRewriteHook(url) + src: bundledJsCssUrlRewriteHook(file.url), }) ), - (additionalStaticJs || []).map(({ contents, pathname }) => ( - (inlineScriptsAllowed + ...(additionalStaticJs || []).map(({ contents, pathname }) => ( + inlineScriptsAllowed ? template(' ')({ - contents: contents + contents, }) : template(' ')({ - src: rootUrlPathPrefix + pathname - })) + src: rootUrlPathPrefix + pathname, + }) )), - [ - '', '', - '', - '' - ], -).join('\n'); + '', + '', + '', + '' +].join('\n'); diff --git a/packages/boilerplate-generator/template-web.cordova.js b/packages/boilerplate-generator/template-web.cordova.js index b6a9a01393..a2870e3066 100644 --- a/packages/boilerplate-generator/template-web.cordova.js +++ b/packages/boilerplate-generator/template-web.cordova.js @@ -12,64 +12,61 @@ export const headTemplate = ({ bundledJsCssUrlRewriteHook, head, dynamicHead, -}) => [].concat( - [ - '', - '', - ' ', - ' ', - ' ', - ' ', - ' ', - ], +}) => [ + '', + '', + ' ', + ' ', + ' ', + ' ', + ' ', + // We are explicitly not using bundledJsCssUrlRewriteHook: in cordova we serve assets up directly from disk, so rewriting the URL does not make sense - (css || []).map(({ url }) => + ...(css || []).map(file => template(' ')({ - href: url - }) - ), - [ - ' ', - '', - ' ' - ], - (js || []).map(({ url }) => - template(' ')({ - src: url + href: file.url, }) ), - (additionalStaticJs || []).map(({ contents, pathname }) => ( - (inlineScriptsAllowed + ' ', + '', + ' ', + + ...(js || []).map(file => + template(' ')({ + src: file.url, + }) + ), + + ...(additionalStaticJs || []).map(({ contents, pathname }) => ( + inlineScriptsAllowed ? template(' ')({ - contents: contents + contents, }) : template(' ')({ src: rootUrlPathPrefix + pathname - })) + }) )), + '', + head, + '', + '', + '', +].join('\n'); - [ - '', - head, - '', - '', - '', - ], -).join('\n'); - -export const closeTemplate = () => - [].concat([ '','' ]).join('\n'); +export function closeTemplate() { + return "\n"; +} From 7f12cfde95e60fe14b6b824b78d6bcb1cc148f50 Mon Sep 17 00:00:00 2001 From: Ben Newman Date: Wed, 22 Nov 2017 17:08:18 -0500 Subject: [PATCH 0228/1355] Simplify boilerplate-generator-tests. --- .../boilerplate-generator-tests/test-lib.js | 8 +- .../web.browser-tests.js | 80 ++++++++----------- .../web.cordova-tests.js | 73 +++++++---------- 3 files changed, 69 insertions(+), 92 deletions(-) diff --git a/packages/boilerplate-generator-tests/test-lib.js b/packages/boilerplate-generator-tests/test-lib.js index 39917659f8..7871db4984 100644 --- a/packages/boilerplate-generator-tests/test-lib.js +++ b/packages/boilerplate-generator-tests/test-lib.js @@ -1,4 +1,4 @@ -import toString from "stream-to-string"; +import streamToString from "stream-to-string"; export async function generateHTMLForArch(arch) { // Use a dummy manifest. None of these paths will be read from the filesystem, but css / js should be handled differently @@ -52,7 +52,5 @@ export async function generateHTMLForArch(arch) { }, }); - - return await toString(boilerplate.toHTML()); -}; - + return streamToString(boilerplate.toHTML()); +} diff --git a/packages/boilerplate-generator-tests/web.browser-tests.js b/packages/boilerplate-generator-tests/web.browser-tests.js index dbf383cd19..7500d16092 100644 --- a/packages/boilerplate-generator-tests/web.browser-tests.js +++ b/packages/boilerplate-generator-tests/web.browser-tests.js @@ -1,70 +1,60 @@ import { parse, serialize } from 'parse5'; - import { generateHTMLForArch } from './test-lib'; +import { _ } from 'meteor/underscore'; -const start = async () => { - const html = await generateHTMLForArch('web.browser'); +Tinytest.addAsync( + "boilerplate-generator-tests - web.browser - basic output", + async function (test) { + const html = await generateHTMLForArch("web.browser"); - Tinytest.add("boilerplate-generator-tests - web.browser - well-formed html", function (test) { + // well-formed html const formatted = serialize(parse(html)); test.isTrue(formatted.replace(/\s/g, '') === html.replace(/\s/g, '')); - }); - Tinytest.add("boilerplate-generator-tests - web.browser - include htmlAttributes", function (test) { + // include htmlAttributes test.matches(html, /foo="foobar"/); - }); - Tinytest.add("boilerplate-generator-tests - web.browser - escape htmlAttributes", function (test) { + // escape htmlAttributes test.matches(html, /gems="&""/); - }); - Tinytest.add("boilerplate-generator-tests - web.browser - include js", function (test) { + // include js test.matches(html, /]*src="[^<>]*templating[^<>]*">/); - }); - Tinytest.add("boilerplate-generator-tests - web.browser - escape js", function (test) { + // escape js test.matches(html, /]*src="[^<>]*templating[^<>]*&v="1"[^<>]*">/); - }); - Tinytest.add("boilerplate-generator-tests - web.browser - include css", function (test) { + // include css test.matches(html, /]*href="[^<>]*bootstrap[^<>]*">/); - }); - Tinytest.add("boilerplate-generator-tests - web.browser - escape css", function (test) { + // escape css test.matches(html, /]*href="[^<>]*bootstrap[^<>]*&v="1"[^<>]*">/); - }); - Tinytest.add("boilerplate-generator-tests - web.browser - call rewriteHook", function (test) { + // call rewriteHook test.matches(html, /\+rewritten_url=true/); - }); - Tinytest.add("boilerplate-generator-tests - web.browser - include runtime config", function (test) { + // include runtime config test.matches(html, /]*>[^<>]*__meteor_runtime_config__ =.*decodeURIComponent\(config123\)/); - }); + } +); - // https://github.com/meteor/meteor/issues/9149 - Tinytest.addAsync( - "boilerplate-generator-tests - web.browser - properly render boilerplate " + +// https://github.com/meteor/meteor/issues/9149 +Tinytest.addAsync( + "boilerplate-generator-tests - web.browser - properly render boilerplate " + "elements when _.template settings are overridden", - function (test, onComplete) { - const run = async () => { - import { _ } from 'meteor/underscore'; - _.templateSettings = { - interpolate: /\{\{(.+?)\}\}/g - }; - const newHtml = await generateHTMLForArch('web.browser'); - test.matches(newHtml, /foo="foobar"/); - test.matches(newHtml, /]*href="[^<>]*bootstrap[^<>]*">/); - test.matches(newHtml, /]*src="[^<>]*templating[^<>]*">/); - test.matches(newHtml, /", but normal {{spacebars}} escaping escapes too much! See - // https://github.com/meteor/meteor/issues/3730 - meteorRuntimeConfig: JSON.stringify( - encodeURIComponent(JSON.stringify(runtimeConfig))), - rootUrlPathPrefix: __meteor_runtime_config__.ROOT_URL_PATH_PREFIX || '', - bundledJsCssUrlRewriteHook: bundledJsCssUrlRewriteHook, - inlineScriptsAllowed: WebAppInternals.inlineScriptsAllowed(), - inline: additionalOptions.inline - } - }, additionalOptions) - ); + + const urlPrefix = getUrlPrefixForArch(arch); + + return new Boilerplate(arch, manifest, _.extend({ + urlMapper(itemPath) { + return urlPrefix + itemPath; + }, + pathMapper(itemPath) { + return pathJoin(archPath[arch], itemPath); + }, + baseDataExtension: { + additionalStaticJs: _.map( + additionalStaticJs || [], + function (contents, pathname) { + return { + pathname: pathname, + contents: contents + }; + } + ), + // Convert to a JSON string, then get rid of most weird characters, then + // wrap in double quotes. (The outermost JSON.stringify really ought to + // just be "wrap in double quotes" but we use it to be safe.) This might + // end up inside a ", but normal {{spacebars}} escaping escapes too much! See + // https://github.com/meteor/meteor/issues/3730 + meteorRuntimeConfig: JSON.stringify( + encodeURIComponent(JSON.stringify(runtimeConfig))), + rootUrlPathPrefix: __meteor_runtime_config__.ROOT_URL_PATH_PREFIX || '', + bundledJsCssUrlRewriteHook: bundledJsCssUrlRewriteHook, + inlineScriptsAllowed: WebAppInternals.inlineScriptsAllowed(), + inline: additionalOptions.inline + } + }, additionalOptions)); }; // A mapping from url path to "info". Where "info" has the following fields: From 8f921a4b87053ab9f4ac0387d284b02aaa4b3fac Mon Sep 17 00:00:00 2001 From: Ben Newman Date: Fri, 1 Dec 2017 13:38:30 -0500 Subject: [PATCH 0470/1355] Prepend prefix to all static URLs, even for WebApp.defaultArch. --- packages/webapp/webapp_server.js | 11 ++++------- 1 file changed, 4 insertions(+), 7 deletions(-) diff --git a/packages/webapp/webapp_server.js b/packages/webapp/webapp_server.js index 03abe1364c..a39d1a5028 100644 --- a/packages/webapp/webapp_server.js +++ b/packages/webapp/webapp_server.js @@ -470,15 +470,12 @@ WebAppInternals.staticFilesMiddleware = function (staticFiles, req, res, next) { } }; -var getUrlPrefixForArch = function (arch) { +function getUrlPrefixForArch(arch) { + // We prepend '/__' to "scope" the url to Meteor internals. // XXX we rely on the fact that arch names don't contain slashes // in that case we would need to uri escape it - - // We add '__' to the beginning of non-standard archs to "scope" the url - // to Meteor internals. - return arch === WebApp.defaultArch ? - '' : '/' + '__' + arch.replace(/^web\./, ''); -}; + return "/__" + arch.replace(/^web\./, ""); +} // Parse the passed in port value. Return the port as-is if it's a String // (e.g. a Windows Server style named pipe), otherwise return the port as an From 3940488b976d5405c8a6b02f096b7bbef9632079 Mon Sep 17 00:00:00 2001 From: Ben Newman Date: Fri, 1 Dec 2017 19:12:18 -0500 Subject: [PATCH 0471/1355] Fix an http test failing due to new static resource URL prefixes. --- packages/http/httpcall_tests.js | 26 ++++++++++++++++---------- packages/modern-browsers/TODO.md | 2 +- 2 files changed, 17 insertions(+), 11 deletions(-) diff --git a/packages/http/httpcall_tests.js b/packages/http/httpcall_tests.js index 7008d020f6..6be8a78d1b 100644 --- a/packages/http/httpcall_tests.js +++ b/packages/http/httpcall_tests.js @@ -485,16 +485,22 @@ if (Meteor.isServer) { // the x-suppress-error header). WebApp.suppressConnectErrors(); - var do_test = function (path, code, match) { - HTTP.get( - url_base() + path, - {headers: {'x-suppress-error': 'true'}}, - expect(function(error, result) { - test.equal(result.statusCode, code); - if (match) - test.matches(result.content, match); - })); - }; + function do_test(path, code, match) { + const prefix = Meteor.isModern + ? "/__browser" + : "/__browser.legacy"; + + HTTP.get(url_base() + prefix + path, { + headers: { + "x-suppress-error": "true" + } + }, expect(function(error, result) { + test.equal(result.statusCode, code); + if (match) { + test.matches(result.content, match); + } + })); + } // existing static file do_test("/packages/local-test_http/test_static.serveme", 200, /static file serving/); diff --git a/packages/modern-browsers/TODO.md b/packages/modern-browsers/TODO.md index 42c5a31155..c4199acdbe 100644 --- a/packages/modern-browsers/TODO.md +++ b/packages/modern-browsers/TODO.md @@ -32,7 +32,7 @@ - [ ] Fix dynamic module source map URLs (prepend `/__arch`). -- [ ] Fix tests failing because of changes to static resource URLs. +- [x] Fix tests failing because of changes to static resource URLs. - [ ] In development, save time by only rebuilding `web.browser` (modern)? From 443acfaf5d693f6b7af4cfbe5760ffd71ff7f063 Mon Sep 17 00:00:00 2001 From: Ben Newman Date: Fri, 1 Dec 2017 13:49:51 -0500 Subject: [PATCH 0472/1355] Use web.browser.legacy instead of server-render to load es5-shim. --- packages/es5-shim/.npm/package/.gitignore | 1 + packages/es5-shim/.npm/package/README | 7 + .../es5-shim/.npm/package/npm-shrinkwrap.json | 10 + packages/es5-shim/client.js | 5 + packages/es5-shim/es5-shim-sham.js | 2629 ----------------- packages/es5-shim/es5-shim-sham.min.js | 1 - packages/es5-shim/export_globals.js | 18 + packages/es5-shim/import_globals.js | 14 + packages/es5-shim/minify.js | 51 - packages/es5-shim/package.js | 21 +- packages/es5-shim/server.js | 24 - packages/modern-browsers/TODO.md | 2 +- 12 files changed, 62 insertions(+), 2721 deletions(-) create mode 100644 packages/es5-shim/.npm/package/.gitignore create mode 100644 packages/es5-shim/.npm/package/README create mode 100644 packages/es5-shim/.npm/package/npm-shrinkwrap.json create mode 100644 packages/es5-shim/client.js delete mode 100644 packages/es5-shim/es5-shim-sham.js delete mode 100644 packages/es5-shim/es5-shim-sham.min.js create mode 100644 packages/es5-shim/export_globals.js create mode 100644 packages/es5-shim/import_globals.js delete mode 100644 packages/es5-shim/minify.js delete mode 100644 packages/es5-shim/server.js diff --git a/packages/es5-shim/.npm/package/.gitignore b/packages/es5-shim/.npm/package/.gitignore new file mode 100644 index 0000000000..3c3629e647 --- /dev/null +++ b/packages/es5-shim/.npm/package/.gitignore @@ -0,0 +1 @@ +node_modules diff --git a/packages/es5-shim/.npm/package/README b/packages/es5-shim/.npm/package/README new file mode 100644 index 0000000000..3d492553a4 --- /dev/null +++ b/packages/es5-shim/.npm/package/README @@ -0,0 +1,7 @@ +This directory and the files immediately inside it are automatically generated +when you change this package's NPM dependencies. Commit the files in this +directory (npm-shrinkwrap.json, .gitignore, and this README) to source control +so that others run the same versions of sub-dependencies. + +You should NOT check in the node_modules directory that Meteor automatically +creates; if you are using git, the .gitignore file tells git to ignore it. diff --git a/packages/es5-shim/.npm/package/npm-shrinkwrap.json b/packages/es5-shim/.npm/package/npm-shrinkwrap.json new file mode 100644 index 0000000000..b868dd4637 --- /dev/null +++ b/packages/es5-shim/.npm/package/npm-shrinkwrap.json @@ -0,0 +1,10 @@ +{ + "lockfileVersion": 1, + "dependencies": { + "es5-shim": { + "version": "4.5.9", + "resolved": "https://registry.npmjs.org/es5-shim/-/es5-shim-4.5.9.tgz", + "integrity": "sha1-Kh4rnlg/9f7Qwgo+4svz91IwpcA=" + } + } +} diff --git a/packages/es5-shim/client.js b/packages/es5-shim/client.js new file mode 100644 index 0000000000..aa0d54b091 --- /dev/null +++ b/packages/es5-shim/client.js @@ -0,0 +1,5 @@ +require("./import_globals.js"); +require("es5-shim/es5-shim.js"); +require("es5-shim/es5-sham.js"); +require("./console.js"); +require("./export_globals.js"); diff --git a/packages/es5-shim/es5-shim-sham.js b/packages/es5-shim/es5-shim-sham.js deleted file mode 100644 index 9134f10840..0000000000 --- a/packages/es5-shim/es5-shim-sham.js +++ /dev/null @@ -1,2629 +0,0 @@ -/*! - * https://github.com/es-shims/es5-shim - * @license es5-shim Copyright 2009-2015 by contributors, MIT License - * see https://github.com/es-shims/es5-shim/blob/master/LICENSE - * @version 4.5.9 - */ - -// vim: ts=4 sts=4 sw=4 expandtab - -// Add semicolon to prevent IIFE from being passed as argument to concatenated code. -; - -// UMD (Universal Module Definition) -// see https://github.com/umdjs/umd/blob/master/templates/returnExports.js -(function (root, factory) { - 'use strict'; - - /* global define, exports, module */ - if (typeof define === 'function' && define.amd) { - // AMD. Register as an anonymous module. - define(factory); - } else if (typeof exports === 'object') { - // Node. Does not work with strict CommonJS, but - // only CommonJS-like enviroments that support module.exports, - // like Node. - module.exports = factory(); - } else { - // Browser globals (root is window) - root.returnExports = factory(); - } -}(this, function () { - /** - * Brings an environment as close to ECMAScript 5 compliance - * as is possible with the facilities of erstwhile engines. - * - * Annotated ES5: http://es5.github.com/ (specific links below) - * ES5 Spec: http://www.ecma-international.org/publications/files/ECMA-ST/Ecma-262.pdf - * Required reading: http://javascriptweblog.wordpress.com/2011/12/05/extending-javascript-natives/ - */ - - // Shortcut to an often accessed properties, in order to avoid multiple - // dereference that costs universally. This also holds a reference to known-good - // functions. - var $Array = Array; - var ArrayPrototype = $Array.prototype; - var $Object = Object; - var ObjectPrototype = $Object.prototype; - var $Function = Function; - var FunctionPrototype = $Function.prototype; - var $String = String; - var StringPrototype = $String.prototype; - var $Number = Number; - var NumberPrototype = $Number.prototype; - var array_slice = ArrayPrototype.slice; - var array_splice = ArrayPrototype.splice; - var array_push = ArrayPrototype.push; - var array_unshift = ArrayPrototype.unshift; - var array_concat = ArrayPrototype.concat; - var array_join = ArrayPrototype.join; - var call = FunctionPrototype.call; - var apply = FunctionPrototype.apply; - var max = Math.max; - var min = Math.min; - - // Having a toString local variable name breaks in Opera so use to_string. - var to_string = ObjectPrototype.toString; - - /* global Symbol */ - /* eslint-disable one-var-declaration-per-line, no-redeclare, max-statements-per-line */ - var hasToStringTag = typeof Symbol === 'function' && typeof Symbol.toStringTag === 'symbol'; - var isCallable; /* inlined from https://npmjs.com/is-callable */ var fnToStr = Function.prototype.toString, constructorRegex = /^\s*class /, isES6ClassFn = function isES6ClassFn(value) { try { var fnStr = fnToStr.call(value); var singleStripped = fnStr.replace(/\/\/.*\n/g, ''); var multiStripped = singleStripped.replace(/\/\*[.\s\S]*\*\//g, ''); var spaceStripped = multiStripped.replace(/\n/mg, ' ').replace(/ {2}/g, ' '); return constructorRegex.test(spaceStripped); } catch (e) { return false; /* not a function */ } }, tryFunctionObject = function tryFunctionObject(value) { try { if (isES6ClassFn(value)) { return false; } fnToStr.call(value); return true; } catch (e) { return false; } }, fnClass = '[object Function]', genClass = '[object GeneratorFunction]', isCallable = function isCallable(value) { if (!value) { return false; } if (typeof value !== 'function' && typeof value !== 'object') { return false; } if (hasToStringTag) { return tryFunctionObject(value); } if (isES6ClassFn(value)) { return false; } var strClass = to_string.call(value); return strClass === fnClass || strClass === genClass; }; - - var isRegex; /* inlined from https://npmjs.com/is-regex */ var regexExec = RegExp.prototype.exec, tryRegexExec = function tryRegexExec(value) { try { regexExec.call(value); return true; } catch (e) { return false; } }, regexClass = '[object RegExp]'; isRegex = function isRegex(value) { if (typeof value !== 'object') { return false; } return hasToStringTag ? tryRegexExec(value) : to_string.call(value) === regexClass; }; - var isString; /* inlined from https://npmjs.com/is-string */ var strValue = String.prototype.valueOf, tryStringObject = function tryStringObject(value) { try { strValue.call(value); return true; } catch (e) { return false; } }, stringClass = '[object String]'; isString = function isString(value) { if (typeof value === 'string') { return true; } if (typeof value !== 'object') { return false; } return hasToStringTag ? tryStringObject(value) : to_string.call(value) === stringClass; }; - /* eslint-enable one-var-declaration-per-line, no-redeclare, max-statements-per-line */ - - /* inlined from http://npmjs.com/define-properties */ - var supportsDescriptors = $Object.defineProperty && (function () { - try { - var obj = {}; - $Object.defineProperty(obj, 'x', { enumerable: false, value: obj }); - for (var _ in obj) { // jscs:ignore disallowUnusedVariables - return false; - } - return obj.x === obj; - } catch (e) { /* this is ES3 */ - return false; - } - }()); - var defineProperties = (function (has) { - // Define configurable, writable, and non-enumerable props - // if they don't exist. - var defineProperty; - if (supportsDescriptors) { - defineProperty = function (object, name, method, forceAssign) { - if (!forceAssign && (name in object)) { - return; - } - $Object.defineProperty(object, name, { - configurable: true, - enumerable: false, - writable: true, - value: method - }); - }; - } else { - defineProperty = function (object, name, method, forceAssign) { - if (!forceAssign && (name in object)) { - return; - } - object[name] = method; - }; - } - return function defineProperties(object, map, forceAssign) { - for (var name in map) { - if (has.call(map, name)) { - defineProperty(object, name, map[name], forceAssign); - } - } - }; - }(ObjectPrototype.hasOwnProperty)); - - // - // Util - // ====== - // - - /* replaceable with https://npmjs.com/package/es-abstract /helpers/isPrimitive */ - var isPrimitive = function isPrimitive(input) { - var type = typeof input; - return input === null || (type !== 'object' && type !== 'function'); - }; - - var isActualNaN = $Number.isNaN || function isActualNaN(x) { - return x !== x; - }; - - var ES = { - // ES5 9.4 - // http://es5.github.com/#x9.4 - // http://jsperf.com/to-integer - /* replaceable with https://npmjs.com/package/es-abstract ES5.ToInteger */ - ToInteger: function ToInteger(num) { - var n = +num; - if (isActualNaN(n)) { - n = 0; - } else if (n !== 0 && n !== (1 / 0) && n !== -(1 / 0)) { - n = (n > 0 || -1) * Math.floor(Math.abs(n)); - } - return n; - }, - - /* replaceable with https://npmjs.com/package/es-abstract ES5.ToPrimitive */ - ToPrimitive: function ToPrimitive(input) { - var val, valueOf, toStr; - if (isPrimitive(input)) { - return input; - } - valueOf = input.valueOf; - if (isCallable(valueOf)) { - val = valueOf.call(input); - if (isPrimitive(val)) { - return val; - } - } - toStr = input.toString; - if (isCallable(toStr)) { - val = toStr.call(input); - if (isPrimitive(val)) { - return val; - } - } - throw new TypeError(); - }, - - // ES5 9.9 - // http://es5.github.com/#x9.9 - /* replaceable with https://npmjs.com/package/es-abstract ES5.ToObject */ - ToObject: function (o) { - if (o == null) { // this matches both null and undefined - throw new TypeError("can't convert " + o + ' to object'); - } - return $Object(o); - }, - - /* replaceable with https://npmjs.com/package/es-abstract ES5.ToUint32 */ - ToUint32: function ToUint32(x) { - return x >>> 0; - } - }; - - // - // Function - // ======== - // - - // ES-5 15.3.4.5 - // http://es5.github.com/#x15.3.4.5 - - var Empty = function Empty() {}; - - defineProperties(FunctionPrototype, { - bind: function bind(that) { // .length is 1 - // 1. Let Target be the this value. - var target = this; - // 2. If IsCallable(Target) is false, throw a TypeError exception. - if (!isCallable(target)) { - throw new TypeError('Function.prototype.bind called on incompatible ' + target); - } - // 3. Let A be a new (possibly empty) internal list of all of the - // argument values provided after thisArg (arg1, arg2 etc), in order. - // XXX slicedArgs will stand in for "A" if used - var args = array_slice.call(arguments, 1); // for normal call - // 4. Let F be a new native ECMAScript object. - // 11. Set the [[Prototype]] internal property of F to the standard - // built-in Function prototype object as specified in 15.3.3.1. - // 12. Set the [[Call]] internal property of F as described in - // 15.3.4.5.1. - // 13. Set the [[Construct]] internal property of F as described in - // 15.3.4.5.2. - // 14. Set the [[HasInstance]] internal property of F as described in - // 15.3.4.5.3. - var bound; - var binder = function () { - - if (this instanceof bound) { - // 15.3.4.5.2 [[Construct]] - // When the [[Construct]] internal method of a function object, - // F that was created using the bind function is called with a - // list of arguments ExtraArgs, the following steps are taken: - // 1. Let target be the value of F's [[TargetFunction]] - // internal property. - // 2. If target has no [[Construct]] internal method, a - // TypeError exception is thrown. - // 3. Let boundArgs be the value of F's [[BoundArgs]] internal - // property. - // 4. Let args be a new list containing the same values as the - // list boundArgs in the same order followed by the same - // values as the list ExtraArgs in the same order. - // 5. Return the result of calling the [[Construct]] internal - // method of target providing args as the arguments. - - var result = apply.call( - target, - this, - array_concat.call(args, array_slice.call(arguments)) - ); - if ($Object(result) === result) { - return result; - } - return this; - - } else { - // 15.3.4.5.1 [[Call]] - // When the [[Call]] internal method of a function object, F, - // which was created using the bind function is called with a - // this value and a list of arguments ExtraArgs, the following - // steps are taken: - // 1. Let boundArgs be the value of F's [[BoundArgs]] internal - // property. - // 2. Let boundThis be the value of F's [[BoundThis]] internal - // property. - // 3. Let target be the value of F's [[TargetFunction]] internal - // property. - // 4. Let args be a new list containing the same values as the - // list boundArgs in the same order followed by the same - // values as the list ExtraArgs in the same order. - // 5. Return the result of calling the [[Call]] internal method - // of target providing boundThis as the this value and - // providing args as the arguments. - - // equiv: target.call(this, ...boundArgs, ...args) - return apply.call( - target, - that, - array_concat.call(args, array_slice.call(arguments)) - ); - - } - - }; - - // 15. If the [[Class]] internal property of Target is "Function", then - // a. Let L be the length property of Target minus the length of A. - // b. Set the length own property of F to either 0 or L, whichever is - // larger. - // 16. Else set the length own property of F to 0. - - var boundLength = max(0, target.length - args.length); - - // 17. Set the attributes of the length own property of F to the values - // specified in 15.3.5.1. - var boundArgs = []; - for (var i = 0; i < boundLength; i++) { - array_push.call(boundArgs, '$' + i); - } - - // XXX Build a dynamic function with desired amount of arguments is the only - // way to set the length property of a function. - // In environments where Content Security Policies enabled (Chrome extensions, - // for ex.) all use of eval or Function costructor throws an exception. - // However in all of these environments Function.prototype.bind exists - // and so this code will never be executed. - bound = $Function('binder', 'return function (' + array_join.call(boundArgs, ',') + '){ return binder.apply(this, arguments); }')(binder); - - if (target.prototype) { - Empty.prototype = target.prototype; - bound.prototype = new Empty(); - // Clean up dangling references. - Empty.prototype = null; - } - - // TODO - // 18. Set the [[Extensible]] internal property of F to true. - - // TODO - // 19. Let thrower be the [[ThrowTypeError]] function Object (13.2.3). - // 20. Call the [[DefineOwnProperty]] internal method of F with - // arguments "caller", PropertyDescriptor {[[Get]]: thrower, [[Set]]: - // thrower, [[Enumerable]]: false, [[Configurable]]: false}, and - // false. - // 21. Call the [[DefineOwnProperty]] internal method of F with - // arguments "arguments", PropertyDescriptor {[[Get]]: thrower, - // [[Set]]: thrower, [[Enumerable]]: false, [[Configurable]]: false}, - // and false. - - // TODO - // NOTE Function objects created using Function.prototype.bind do not - // have a prototype property or the [[Code]], [[FormalParameters]], and - // [[Scope]] internal properties. - // XXX can't delete prototype in pure-js. - - // 22. Return F. - return bound; - } - }); - - // _Please note: Shortcuts are defined after `Function.prototype.bind` as we - // use it in defining shortcuts. - var owns = call.bind(ObjectPrototype.hasOwnProperty); - var toStr = call.bind(ObjectPrototype.toString); - var arraySlice = call.bind(array_slice); - var arraySliceApply = apply.bind(array_slice); - var strSlice = call.bind(StringPrototype.slice); - var strSplit = call.bind(StringPrototype.split); - var strIndexOf = call.bind(StringPrototype.indexOf); - var pushCall = call.bind(array_push); - var isEnum = call.bind(ObjectPrototype.propertyIsEnumerable); - var arraySort = call.bind(ArrayPrototype.sort); - - // - // Array - // ===== - // - - var isArray = $Array.isArray || function isArray(obj) { - return toStr(obj) === '[object Array]'; - }; - - // ES5 15.4.4.12 - // http://es5.github.com/#x15.4.4.13 - // Return len+argCount. - // [bugfix, ielt8] - // IE < 8 bug: [].unshift(0) === undefined but should be "1" - var hasUnshiftReturnValueBug = [].unshift(0) !== 1; - defineProperties(ArrayPrototype, { - unshift: function () { - array_unshift.apply(this, arguments); - return this.length; - } - }, hasUnshiftReturnValueBug); - - // ES5 15.4.3.2 - // http://es5.github.com/#x15.4.3.2 - // https://developer.mozilla.org/en/JavaScript/Reference/Global_Objects/Array/isArray - defineProperties($Array, { isArray: isArray }); - - // The IsCallable() check in the Array functions - // has been replaced with a strict check on the - // internal class of the object to trap cases where - // the provided function was actually a regular - // expression literal, which in V8 and - // JavaScriptCore is a typeof "function". Only in - // V8 are regular expression literals permitted as - // reduce parameters, so it is desirable in the - // general case for the shim to match the more - // strict and common behavior of rejecting regular - // expressions. - - // ES5 15.4.4.18 - // http://es5.github.com/#x15.4.4.18 - // https://developer.mozilla.org/en/JavaScript/Reference/Global_Objects/array/forEach - - // Check failure of by-index access of string characters (IE < 9) - // and failure of `0 in boxedString` (Rhino) - var boxedString = $Object('a'); - var splitString = boxedString[0] !== 'a' || !(0 in boxedString); - - var properlyBoxesContext = function properlyBoxed(method) { - // Check node 0.6.21 bug where third parameter is not boxed - var properlyBoxesNonStrict = true; - var properlyBoxesStrict = true; - var threwException = false; - if (method) { - try { - method.call('foo', function (_, __, context) { - if (typeof context !== 'object') { - properlyBoxesNonStrict = false; - } - }); - - method.call([1], function () { - 'use strict'; - - properlyBoxesStrict = typeof this === 'string'; - }, 'x'); - } catch (e) { - threwException = true; - } - } - return !!method && !threwException && properlyBoxesNonStrict && properlyBoxesStrict; - }; - - defineProperties(ArrayPrototype, { - forEach: function forEach(callbackfn/*, thisArg*/) { - var object = ES.ToObject(this); - var self = splitString && isString(this) ? strSplit(this, '') : object; - var i = -1; - var length = ES.ToUint32(self.length); - var T; - if (arguments.length > 1) { - T = arguments[1]; - } - - // If no callback function or if callback is not a callable function - if (!isCallable(callbackfn)) { - throw new TypeError('Array.prototype.forEach callback must be a function'); - } - - while (++i < length) { - if (i in self) { - // Invoke the callback function with call, passing arguments: - // context, property value, property key, thisArg object - if (typeof T === 'undefined') { - callbackfn(self[i], i, object); - } else { - callbackfn.call(T, self[i], i, object); - } - } - } - } - }, !properlyBoxesContext(ArrayPrototype.forEach)); - - // ES5 15.4.4.19 - // http://es5.github.com/#x15.4.4.19 - // https://developer.mozilla.org/en/Core_JavaScript_1.5_Reference/Objects/Array/map - defineProperties(ArrayPrototype, { - map: function map(callbackfn/*, thisArg*/) { - var object = ES.ToObject(this); - var self = splitString && isString(this) ? strSplit(this, '') : object; - var length = ES.ToUint32(self.length); - var result = $Array(length); - var T; - if (arguments.length > 1) { - T = arguments[1]; - } - - // If no callback function or if callback is not a callable function - if (!isCallable(callbackfn)) { - throw new TypeError('Array.prototype.map callback must be a function'); - } - - for (var i = 0; i < length; i++) { - if (i in self) { - if (typeof T === 'undefined') { - result[i] = callbackfn(self[i], i, object); - } else { - result[i] = callbackfn.call(T, self[i], i, object); - } - } - } - return result; - } - }, !properlyBoxesContext(ArrayPrototype.map)); - - // ES5 15.4.4.20 - // http://es5.github.com/#x15.4.4.20 - // https://developer.mozilla.org/en/Core_JavaScript_1.5_Reference/Objects/Array/filter - defineProperties(ArrayPrototype, { - filter: function filter(callbackfn/*, thisArg*/) { - var object = ES.ToObject(this); - var self = splitString && isString(this) ? strSplit(this, '') : object; - var length = ES.ToUint32(self.length); - var result = []; - var value; - var T; - if (arguments.length > 1) { - T = arguments[1]; - } - - // If no callback function or if callback is not a callable function - if (!isCallable(callbackfn)) { - throw new TypeError('Array.prototype.filter callback must be a function'); - } - - for (var i = 0; i < length; i++) { - if (i in self) { - value = self[i]; - if (typeof T === 'undefined' ? callbackfn(value, i, object) : callbackfn.call(T, value, i, object)) { - pushCall(result, value); - } - } - } - return result; - } - }, !properlyBoxesContext(ArrayPrototype.filter)); - - // ES5 15.4.4.16 - // http://es5.github.com/#x15.4.4.16 - // https://developer.mozilla.org/en/JavaScript/Reference/Global_Objects/Array/every - defineProperties(ArrayPrototype, { - every: function every(callbackfn/*, thisArg*/) { - var object = ES.ToObject(this); - var self = splitString && isString(this) ? strSplit(this, '') : object; - var length = ES.ToUint32(self.length); - var T; - if (arguments.length > 1) { - T = arguments[1]; - } - - // If no callback function or if callback is not a callable function - if (!isCallable(callbackfn)) { - throw new TypeError('Array.prototype.every callback must be a function'); - } - - for (var i = 0; i < length; i++) { - if (i in self && !(typeof T === 'undefined' ? callbackfn(self[i], i, object) : callbackfn.call(T, self[i], i, object))) { - return false; - } - } - return true; - } - }, !properlyBoxesContext(ArrayPrototype.every)); - - // ES5 15.4.4.17 - // http://es5.github.com/#x15.4.4.17 - // https://developer.mozilla.org/en/JavaScript/Reference/Global_Objects/Array/some - defineProperties(ArrayPrototype, { - some: function some(callbackfn/*, thisArg */) { - var object = ES.ToObject(this); - var self = splitString && isString(this) ? strSplit(this, '') : object; - var length = ES.ToUint32(self.length); - var T; - if (arguments.length > 1) { - T = arguments[1]; - } - - // If no callback function or if callback is not a callable function - if (!isCallable(callbackfn)) { - throw new TypeError('Array.prototype.some callback must be a function'); - } - - for (var i = 0; i < length; i++) { - if (i in self && (typeof T === 'undefined' ? callbackfn(self[i], i, object) : callbackfn.call(T, self[i], i, object))) { - return true; - } - } - return false; - } - }, !properlyBoxesContext(ArrayPrototype.some)); - - // ES5 15.4.4.21 - // http://es5.github.com/#x15.4.4.21 - // https://developer.mozilla.org/en/Core_JavaScript_1.5_Reference/Objects/Array/reduce - var reduceCoercesToObject = false; - if (ArrayPrototype.reduce) { - reduceCoercesToObject = typeof ArrayPrototype.reduce.call('es5', function (_, __, ___, list) { - return list; - }) === 'object'; - } - defineProperties(ArrayPrototype, { - reduce: function reduce(callbackfn/*, initialValue*/) { - var object = ES.ToObject(this); - var self = splitString && isString(this) ? strSplit(this, '') : object; - var length = ES.ToUint32(self.length); - - // If no callback function or if callback is not a callable function - if (!isCallable(callbackfn)) { - throw new TypeError('Array.prototype.reduce callback must be a function'); - } - - // no value to return if no initial value and an empty array - if (length === 0 && arguments.length === 1) { - throw new TypeError('reduce of empty array with no initial value'); - } - - var i = 0; - var result; - if (arguments.length >= 2) { - result = arguments[1]; - } else { - do { - if (i in self) { - result = self[i++]; - break; - } - - // if array contains no values, no initial value to return - if (++i >= length) { - throw new TypeError('reduce of empty array with no initial value'); - } - } while (true); - } - - for (; i < length; i++) { - if (i in self) { - result = callbackfn(result, self[i], i, object); - } - } - - return result; - } - }, !reduceCoercesToObject); - - // ES5 15.4.4.22 - // http://es5.github.com/#x15.4.4.22 - // https://developer.mozilla.org/en/Core_JavaScript_1.5_Reference/Objects/Array/reduceRight - var reduceRightCoercesToObject = false; - if (ArrayPrototype.reduceRight) { - reduceRightCoercesToObject = typeof ArrayPrototype.reduceRight.call('es5', function (_, __, ___, list) { - return list; - }) === 'object'; - } - defineProperties(ArrayPrototype, { - reduceRight: function reduceRight(callbackfn/*, initial*/) { - var object = ES.ToObject(this); - var self = splitString && isString(this) ? strSplit(this, '') : object; - var length = ES.ToUint32(self.length); - - // If no callback function or if callback is not a callable function - if (!isCallable(callbackfn)) { - throw new TypeError('Array.prototype.reduceRight callback must be a function'); - } - - // no value to return if no initial value, empty array - if (length === 0 && arguments.length === 1) { - throw new TypeError('reduceRight of empty array with no initial value'); - } - - var result; - var i = length - 1; - if (arguments.length >= 2) { - result = arguments[1]; - } else { - do { - if (i in self) { - result = self[i--]; - break; - } - - // if array contains no values, no initial value to return - if (--i < 0) { - throw new TypeError('reduceRight of empty array with no initial value'); - } - } while (true); - } - - if (i < 0) { - return result; - } - - do { - if (i in self) { - result = callbackfn(result, self[i], i, object); - } - } while (i--); - - return result; - } - }, !reduceRightCoercesToObject); - - // ES5 15.4.4.14 - // http://es5.github.com/#x15.4.4.14 - // https://developer.mozilla.org/en/JavaScript/Reference/Global_Objects/Array/indexOf - var hasFirefox2IndexOfBug = ArrayPrototype.indexOf && [0, 1].indexOf(1, 2) !== -1; - defineProperties(ArrayPrototype, { - indexOf: function indexOf(searchElement/*, fromIndex */) { - var self = splitString && isString(this) ? strSplit(this, '') : ES.ToObject(this); - var length = ES.ToUint32(self.length); - - if (length === 0) { - return -1; - } - - var i = 0; - if (arguments.length > 1) { - i = ES.ToInteger(arguments[1]); - } - - // handle negative indices - i = i >= 0 ? i : max(0, length + i); - for (; i < length; i++) { - if (i in self && self[i] === searchElement) { - return i; - } - } - return -1; - } - }, hasFirefox2IndexOfBug); - - // ES5 15.4.4.15 - // http://es5.github.com/#x15.4.4.15 - // https://developer.mozilla.org/en/JavaScript/Reference/Global_Objects/Array/lastIndexOf - var hasFirefox2LastIndexOfBug = ArrayPrototype.lastIndexOf && [0, 1].lastIndexOf(0, -3) !== -1; - defineProperties(ArrayPrototype, { - lastIndexOf: function lastIndexOf(searchElement/*, fromIndex */) { - var self = splitString && isString(this) ? strSplit(this, '') : ES.ToObject(this); - var length = ES.ToUint32(self.length); - - if (length === 0) { - return -1; - } - var i = length - 1; - if (arguments.length > 1) { - i = min(i, ES.ToInteger(arguments[1])); - } - // handle negative indices - i = i >= 0 ? i : length - Math.abs(i); - for (; i >= 0; i--) { - if (i in self && searchElement === self[i]) { - return i; - } - } - return -1; - } - }, hasFirefox2LastIndexOfBug); - - // ES5 15.4.4.12 - // http://es5.github.com/#x15.4.4.12 - var spliceNoopReturnsEmptyArray = (function () { - var a = [1, 2]; - var result = a.splice(); - return a.length === 2 && isArray(result) && result.length === 0; - }()); - defineProperties(ArrayPrototype, { - // Safari 5.0 bug where .splice() returns undefined - splice: function splice(start, deleteCount) { - if (arguments.length === 0) { - return []; - } else { - return array_splice.apply(this, arguments); - } - } - }, !spliceNoopReturnsEmptyArray); - - var spliceWorksWithEmptyObject = (function () { - var obj = {}; - ArrayPrototype.splice.call(obj, 0, 0, 1); - return obj.length === 1; - }()); - defineProperties(ArrayPrototype, { - splice: function splice(start, deleteCount) { - if (arguments.length === 0) { - return []; - } - var args = arguments; - this.length = max(ES.ToInteger(this.length), 0); - if (arguments.length > 0 && typeof deleteCount !== 'number') { - args = arraySlice(arguments); - if (args.length < 2) { - pushCall(args, this.length - start); - } else { - args[1] = ES.ToInteger(deleteCount); - } - } - return array_splice.apply(this, args); - } - }, !spliceWorksWithEmptyObject); - var spliceWorksWithLargeSparseArrays = (function () { - // Per https://github.com/es-shims/es5-shim/issues/295 - // Safari 7/8 breaks with sparse arrays of size 1e5 or greater - var arr = new $Array(1e5); - // note: the index MUST be 8 or larger or the test will false pass - arr[8] = 'x'; - arr.splice(1, 1); - // note: this test must be defined *after* the indexOf shim - // per https://github.com/es-shims/es5-shim/issues/313 - return arr.indexOf('x') === 7; - }()); - var spliceWorksWithSmallSparseArrays = (function () { - // Per https://github.com/es-shims/es5-shim/issues/295 - // Opera 12.15 breaks on this, no idea why. - var n = 256; - var arr = []; - arr[n] = 'a'; - arr.splice(n + 1, 0, 'b'); - return arr[n] === 'a'; - }()); - defineProperties(ArrayPrototype, { - splice: function splice(start, deleteCount) { - var O = ES.ToObject(this); - var A = []; - var len = ES.ToUint32(O.length); - var relativeStart = ES.ToInteger(start); - var actualStart = relativeStart < 0 ? max((len + relativeStart), 0) : min(relativeStart, len); - var actualDeleteCount = min(max(ES.ToInteger(deleteCount), 0), len - actualStart); - - var k = 0; - var from; - while (k < actualDeleteCount) { - from = $String(actualStart + k); - if (owns(O, from)) { - A[k] = O[from]; - } - k += 1; - } - - var items = arraySlice(arguments, 2); - var itemCount = items.length; - var to; - if (itemCount < actualDeleteCount) { - k = actualStart; - var maxK = len - actualDeleteCount; - while (k < maxK) { - from = $String(k + actualDeleteCount); - to = $String(k + itemCount); - if (owns(O, from)) { - O[to] = O[from]; - } else { - delete O[to]; - } - k += 1; - } - k = len; - var minK = len - actualDeleteCount + itemCount; - while (k > minK) { - delete O[k - 1]; - k -= 1; - } - } else if (itemCount > actualDeleteCount) { - k = len - actualDeleteCount; - while (k > actualStart) { - from = $String(k + actualDeleteCount - 1); - to = $String(k + itemCount - 1); - if (owns(O, from)) { - O[to] = O[from]; - } else { - delete O[to]; - } - k -= 1; - } - } - k = actualStart; - for (var i = 0; i < items.length; ++i) { - O[k] = items[i]; - k += 1; - } - O.length = len - actualDeleteCount + itemCount; - - return A; - } - }, !spliceWorksWithLargeSparseArrays || !spliceWorksWithSmallSparseArrays); - - var originalJoin = ArrayPrototype.join; - var hasStringJoinBug; - try { - hasStringJoinBug = Array.prototype.join.call('123', ',') !== '1,2,3'; - } catch (e) { - hasStringJoinBug = true; - } - if (hasStringJoinBug) { - defineProperties(ArrayPrototype, { - join: function join(separator) { - var sep = typeof separator === 'undefined' ? ',' : separator; - return originalJoin.call(isString(this) ? strSplit(this, '') : this, sep); - } - }, hasStringJoinBug); - } - - var hasJoinUndefinedBug = [1, 2].join(undefined) !== '1,2'; - if (hasJoinUndefinedBug) { - defineProperties(ArrayPrototype, { - join: function join(separator) { - var sep = typeof separator === 'undefined' ? ',' : separator; - return originalJoin.call(this, sep); - } - }, hasJoinUndefinedBug); - } - - var pushShim = function push(item) { - var O = ES.ToObject(this); - var n = ES.ToUint32(O.length); - var i = 0; - while (i < arguments.length) { - O[n + i] = arguments[i]; - i += 1; - } - O.length = n + i; - return n + i; - }; - - var pushIsNotGeneric = (function () { - var obj = {}; - var result = Array.prototype.push.call(obj, undefined); - return result !== 1 || obj.length !== 1 || typeof obj[0] !== 'undefined' || !owns(obj, 0); - }()); - defineProperties(ArrayPrototype, { - push: function push(item) { - if (isArray(this)) { - return array_push.apply(this, arguments); - } - return pushShim.apply(this, arguments); - } - }, pushIsNotGeneric); - - // This fixes a very weird bug in Opera 10.6 when pushing `undefined - var pushUndefinedIsWeird = (function () { - var arr = []; - var result = arr.push(undefined); - return result !== 1 || arr.length !== 1 || typeof arr[0] !== 'undefined' || !owns(arr, 0); - }()); - defineProperties(ArrayPrototype, { push: pushShim }, pushUndefinedIsWeird); - - // ES5 15.2.3.14 - // http://es5.github.io/#x15.4.4.10 - // Fix boxed string bug - defineProperties(ArrayPrototype, { - slice: function (start, end) { - var arr = isString(this) ? strSplit(this, '') : this; - return arraySliceApply(arr, arguments); - } - }, splitString); - - var sortIgnoresNonFunctions = (function () { - try { - [1, 2].sort(null); - [1, 2].sort({}); - return true; - } catch (e) {} - return false; - }()); - var sortThrowsOnRegex = (function () { - // this is a problem in Firefox 4, in which `typeof /a/ === 'function'` - try { - [1, 2].sort(/a/); - return false; - } catch (e) {} - return true; - }()); - var sortIgnoresUndefined = (function () { - // applies in IE 8, for one. - try { - [1, 2].sort(undefined); - return true; - } catch (e) {} - return false; - }()); - defineProperties(ArrayPrototype, { - sort: function sort(compareFn) { - if (typeof compareFn === 'undefined') { - return arraySort(this); - } - if (!isCallable(compareFn)) { - throw new TypeError('Array.prototype.sort callback must be a function'); - } - return arraySort(this, compareFn); - } - }, sortIgnoresNonFunctions || !sortIgnoresUndefined || !sortThrowsOnRegex); - - // - // Object - // ====== - // - - // ES5 15.2.3.14 - // http://es5.github.com/#x15.2.3.14 - - // http://whattheheadsaid.com/2010/10/a-safer-object-keys-compatibility-implementation - var hasDontEnumBug = !isEnum({ 'toString': null }, 'toString'); - var hasProtoEnumBug = isEnum(function () {}, 'prototype'); - var hasStringEnumBug = !owns('x', '0'); - var equalsConstructorPrototype = function (o) { - var ctor = o.constructor; - return ctor && ctor.prototype === o; - }; - var blacklistedKeys = { - $window: true, - $console: true, - $parent: true, - $self: true, - $frame: true, - $frames: true, - $frameElement: true, - $webkitIndexedDB: true, - $webkitStorageInfo: true, - $external: true - }; - var hasAutomationEqualityBug = (function () { - /* globals window */ - if (typeof window === 'undefined') { - return false; - } - for (var k in window) { - try { - if (!blacklistedKeys['$' + k] && owns(window, k) && window[k] !== null && typeof window[k] === 'object') { - equalsConstructorPrototype(window[k]); - } - } catch (e) { - return true; - } - } - return false; - }()); - var equalsConstructorPrototypeIfNotBuggy = function (object) { - if (typeof window === 'undefined' || !hasAutomationEqualityBug) { - return equalsConstructorPrototype(object); - } - try { - return equalsConstructorPrototype(object); - } catch (e) { - return false; - } - }; - var dontEnums = [ - 'toString', - 'toLocaleString', - 'valueOf', - 'hasOwnProperty', - 'isPrototypeOf', - 'propertyIsEnumerable', - 'constructor' - ]; - var dontEnumsLength = dontEnums.length; - - // taken directly from https://github.com/ljharb/is-arguments/blob/master/index.js - // can be replaced with require('is-arguments') if we ever use a build process instead - var isStandardArguments = function isArguments(value) { - return toStr(value) === '[object Arguments]'; - }; - var isLegacyArguments = function isArguments(value) { - return value !== null && - typeof value === 'object' && - typeof value.length === 'number' && - value.length >= 0 && - !isArray(value) && - isCallable(value.callee); - }; - var isArguments = isStandardArguments(arguments) ? isStandardArguments : isLegacyArguments; - - defineProperties($Object, { - keys: function keys(object) { - var isFn = isCallable(object); - var isArgs = isArguments(object); - var isObject = object !== null && typeof object === 'object'; - var isStr = isObject && isString(object); - - if (!isObject && !isFn && !isArgs) { - throw new TypeError('Object.keys called on a non-object'); - } - - var theKeys = []; - var skipProto = hasProtoEnumBug && isFn; - if ((isStr && hasStringEnumBug) || isArgs) { - for (var i = 0; i < object.length; ++i) { - pushCall(theKeys, $String(i)); - } - } - - if (!isArgs) { - for (var name in object) { - if (!(skipProto && name === 'prototype') && owns(object, name)) { - pushCall(theKeys, $String(name)); - } - } - } - - if (hasDontEnumBug) { - var skipConstructor = equalsConstructorPrototypeIfNotBuggy(object); - for (var j = 0; j < dontEnumsLength; j++) { - var dontEnum = dontEnums[j]; - if (!(skipConstructor && dontEnum === 'constructor') && owns(object, dontEnum)) { - pushCall(theKeys, dontEnum); - } - } - } - return theKeys; - } - }); - - var keysWorksWithArguments = $Object.keys && (function () { - // Safari 5.0 bug - return $Object.keys(arguments).length === 2; - }(1, 2)); - var keysHasArgumentsLengthBug = $Object.keys && (function () { - var argKeys = $Object.keys(arguments); - return arguments.length !== 1 || argKeys.length !== 1 || argKeys[0] !== 1; - }(1)); - var originalKeys = $Object.keys; - defineProperties($Object, { - keys: function keys(object) { - if (isArguments(object)) { - return originalKeys(arraySlice(object)); - } else { - return originalKeys(object); - } - } - }, !keysWorksWithArguments || keysHasArgumentsLengthBug); - - // - // Date - // ==== - // - - var hasNegativeMonthYearBug = new Date(-3509827329600292).getUTCMonth() !== 0; - var aNegativeTestDate = new Date(-1509842289600292); - var aPositiveTestDate = new Date(1449662400000); - var hasToUTCStringFormatBug = aNegativeTestDate.toUTCString() !== 'Mon, 01 Jan -45875 11:59:59 GMT'; - var hasToDateStringFormatBug; - var hasToStringFormatBug; - var timeZoneOffset = aNegativeTestDate.getTimezoneOffset(); - if (timeZoneOffset < -720) { - hasToDateStringFormatBug = aNegativeTestDate.toDateString() !== 'Tue Jan 02 -45875'; - hasToStringFormatBug = !(/^Thu Dec 10 2015 \d\d:\d\d:\d\d GMT[-\+]\d\d\d\d(?: |$)/).test(aPositiveTestDate.toString()); - } else { - hasToDateStringFormatBug = aNegativeTestDate.toDateString() !== 'Mon Jan 01 -45875'; - hasToStringFormatBug = !(/^Wed Dec 09 2015 \d\d:\d\d:\d\d GMT[-\+]\d\d\d\d(?: |$)/).test(aPositiveTestDate.toString()); - } - - var originalGetFullYear = call.bind(Date.prototype.getFullYear); - var originalGetMonth = call.bind(Date.prototype.getMonth); - var originalGetDate = call.bind(Date.prototype.getDate); - var originalGetUTCFullYear = call.bind(Date.prototype.getUTCFullYear); - var originalGetUTCMonth = call.bind(Date.prototype.getUTCMonth); - var originalGetUTCDate = call.bind(Date.prototype.getUTCDate); - var originalGetUTCDay = call.bind(Date.prototype.getUTCDay); - var originalGetUTCHours = call.bind(Date.prototype.getUTCHours); - var originalGetUTCMinutes = call.bind(Date.prototype.getUTCMinutes); - var originalGetUTCSeconds = call.bind(Date.prototype.getUTCSeconds); - var originalGetUTCMilliseconds = call.bind(Date.prototype.getUTCMilliseconds); - var dayName = ['Sun', 'Mon', 'Tue', 'Wed', 'Thu', 'Fri', 'Sat']; - var monthName = ['Jan', 'Feb', 'Mar', 'Apr', 'May', 'Jun', 'Jul', 'Aug', 'Sep', 'Oct', 'Nov', 'Dec']; - var daysInMonth = function daysInMonth(month, year) { - return originalGetDate(new Date(year, month, 0)); - }; - - defineProperties(Date.prototype, { - getFullYear: function getFullYear() { - if (!this || !(this instanceof Date)) { - throw new TypeError('this is not a Date object.'); - } - var year = originalGetFullYear(this); - if (year < 0 && originalGetMonth(this) > 11) { - return year + 1; - } - return year; - }, - getMonth: function getMonth() { - if (!this || !(this instanceof Date)) { - throw new TypeError('this is not a Date object.'); - } - var year = originalGetFullYear(this); - var month = originalGetMonth(this); - if (year < 0 && month > 11) { - return 0; - } - return month; - }, - getDate: function getDate() { - if (!this || !(this instanceof Date)) { - throw new TypeError('this is not a Date object.'); - } - var year = originalGetFullYear(this); - var month = originalGetMonth(this); - var date = originalGetDate(this); - if (year < 0 && month > 11) { - if (month === 12) { - return date; - } - var days = daysInMonth(0, year + 1); - return (days - date) + 1; - } - return date; - }, - getUTCFullYear: function getUTCFullYear() { - if (!this || !(this instanceof Date)) { - throw new TypeError('this is not a Date object.'); - } - var year = originalGetUTCFullYear(this); - if (year < 0 && originalGetUTCMonth(this) > 11) { - return year + 1; - } - return year; - }, - getUTCMonth: function getUTCMonth() { - if (!this || !(this instanceof Date)) { - throw new TypeError('this is not a Date object.'); - } - var year = originalGetUTCFullYear(this); - var month = originalGetUTCMonth(this); - if (year < 0 && month > 11) { - return 0; - } - return month; - }, - getUTCDate: function getUTCDate() { - if (!this || !(this instanceof Date)) { - throw new TypeError('this is not a Date object.'); - } - var year = originalGetUTCFullYear(this); - var month = originalGetUTCMonth(this); - var date = originalGetUTCDate(this); - if (year < 0 && month > 11) { - if (month === 12) { - return date; - } - var days = daysInMonth(0, year + 1); - return (days - date) + 1; - } - return date; - } - }, hasNegativeMonthYearBug); - - defineProperties(Date.prototype, { - toUTCString: function toUTCString() { - if (!this || !(this instanceof Date)) { - throw new TypeError('this is not a Date object.'); - } - var day = originalGetUTCDay(this); - var date = originalGetUTCDate(this); - var month = originalGetUTCMonth(this); - var year = originalGetUTCFullYear(this); - var hour = originalGetUTCHours(this); - var minute = originalGetUTCMinutes(this); - var second = originalGetUTCSeconds(this); - return dayName[day] + ', ' + - (date < 10 ? '0' + date : date) + ' ' + - monthName[month] + ' ' + - year + ' ' + - (hour < 10 ? '0' + hour : hour) + ':' + - (minute < 10 ? '0' + minute : minute) + ':' + - (second < 10 ? '0' + second : second) + ' GMT'; - } - }, hasNegativeMonthYearBug || hasToUTCStringFormatBug); - - // Opera 12 has `,` - defineProperties(Date.prototype, { - toDateString: function toDateString() { - if (!this || !(this instanceof Date)) { - throw new TypeError('this is not a Date object.'); - } - var day = this.getDay(); - var date = this.getDate(); - var month = this.getMonth(); - var year = this.getFullYear(); - return dayName[day] + ' ' + - monthName[month] + ' ' + - (date < 10 ? '0' + date : date) + ' ' + - year; - } - }, hasNegativeMonthYearBug || hasToDateStringFormatBug); - - // can't use defineProperties here because of toString enumeration issue in IE <= 8 - if (hasNegativeMonthYearBug || hasToStringFormatBug) { - Date.prototype.toString = function toString() { - if (!this || !(this instanceof Date)) { - throw new TypeError('this is not a Date object.'); - } - var day = this.getDay(); - var date = this.getDate(); - var month = this.getMonth(); - var year = this.getFullYear(); - var hour = this.getHours(); - var minute = this.getMinutes(); - var second = this.getSeconds(); - var timezoneOffset = this.getTimezoneOffset(); - var hoursOffset = Math.floor(Math.abs(timezoneOffset) / 60); - var minutesOffset = Math.floor(Math.abs(timezoneOffset) % 60); - return dayName[day] + ' ' + - monthName[month] + ' ' + - (date < 10 ? '0' + date : date) + ' ' + - year + ' ' + - (hour < 10 ? '0' + hour : hour) + ':' + - (minute < 10 ? '0' + minute : minute) + ':' + - (second < 10 ? '0' + second : second) + ' GMT' + - (timezoneOffset > 0 ? '-' : '+') + - (hoursOffset < 10 ? '0' + hoursOffset : hoursOffset) + - (minutesOffset < 10 ? '0' + minutesOffset : minutesOffset); - }; - if (supportsDescriptors) { - $Object.defineProperty(Date.prototype, 'toString', { - configurable: true, - enumerable: false, - writable: true - }); - } - } - - // ES5 15.9.5.43 - // http://es5.github.com/#x15.9.5.43 - // This function returns a String value represent the instance in time - // represented by this Date object. The format of the String is the Date Time - // string format defined in 15.9.1.15. All fields are present in the String. - // The time zone is always UTC, denoted by the suffix Z. If the time value of - // this object is not a finite Number a RangeError exception is thrown. - var negativeDate = -62198755200000; - var negativeYearString = '-000001'; - var hasNegativeDateBug = Date.prototype.toISOString && new Date(negativeDate).toISOString().indexOf(negativeYearString) === -1; - var hasSafari51DateBug = Date.prototype.toISOString && new Date(-1).toISOString() !== '1969-12-31T23:59:59.999Z'; - - var getTime = call.bind(Date.prototype.getTime); - - defineProperties(Date.prototype, { - toISOString: function toISOString() { - if (!isFinite(this) || !isFinite(getTime(this))) { - // Adope Photoshop requires the second check. - throw new RangeError('Date.prototype.toISOString called on non-finite value.'); - } - - var year = originalGetUTCFullYear(this); - - var month = originalGetUTCMonth(this); - // see https://github.com/es-shims/es5-shim/issues/111 - year += Math.floor(month / 12); - month = (month % 12 + 12) % 12; - - // the date time string format is specified in 15.9.1.15. - var result = [month + 1, originalGetUTCDate(this), originalGetUTCHours(this), originalGetUTCMinutes(this), originalGetUTCSeconds(this)]; - year = ( - (year < 0 ? '-' : (year > 9999 ? '+' : '')) + - strSlice('00000' + Math.abs(year), (0 <= year && year <= 9999) ? -4 : -6) - ); - - for (var i = 0; i < result.length; ++i) { - // pad months, days, hours, minutes, and seconds to have two digits. - result[i] = strSlice('00' + result[i], -2); - } - // pad milliseconds to have three digits. - return ( - year + '-' + arraySlice(result, 0, 2).join('-') + - 'T' + arraySlice(result, 2).join(':') + '.' + - strSlice('000' + originalGetUTCMilliseconds(this), -3) + 'Z' - ); - } - }, hasNegativeDateBug || hasSafari51DateBug); - - // ES5 15.9.5.44 - // http://es5.github.com/#x15.9.5.44 - // This function provides a String representation of a Date object for use by - // JSON.stringify (15.12.3). - var dateToJSONIsSupported = (function () { - try { - return Date.prototype.toJSON && - new Date(NaN).toJSON() === null && - new Date(negativeDate).toJSON().indexOf(negativeYearString) !== -1 && - Date.prototype.toJSON.call({ // generic - toISOString: function () { return true; } - }); - } catch (e) { - return false; - } - }()); - if (!dateToJSONIsSupported) { - Date.prototype.toJSON = function toJSON(key) { - // When the toJSON method is called with argument key, the following - // steps are taken: - - // 1. Let O be the result of calling ToObject, giving it the this - // value as its argument. - // 2. Let tv be ES.ToPrimitive(O, hint Number). - var O = $Object(this); - var tv = ES.ToPrimitive(O); - // 3. If tv is a Number and is not finite, return null. - if (typeof tv === 'number' && !isFinite(tv)) { - return null; - } - // 4. Let toISO be the result of calling the [[Get]] internal method of - // O with argument "toISOString". - var toISO = O.toISOString; - // 5. If IsCallable(toISO) is false, throw a TypeError exception. - if (!isCallable(toISO)) { - throw new TypeError('toISOString property is not callable'); - } - // 6. Return the result of calling the [[Call]] internal method of - // toISO with O as the this value and an empty argument list. - return toISO.call(O); - - // NOTE 1 The argument is ignored. - - // NOTE 2 The toJSON function is intentionally generic; it does not - // require that its this value be a Date object. Therefore, it can be - // transferred to other kinds of objects for use as a method. However, - // it does require that any such object have a toISOString method. An - // object is free to use the argument key to filter its - // stringification. - }; - } - - // ES5 15.9.4.2 - // http://es5.github.com/#x15.9.4.2 - // based on work shared by Daniel Friesen (dantman) - // http://gist.github.com/303249 - var supportsExtendedYears = Date.parse('+033658-09-27T01:46:40.000Z') === 1e15; - var acceptsInvalidDates = !isNaN(Date.parse('2012-04-04T24:00:00.500Z')) || !isNaN(Date.parse('2012-11-31T23:59:59.000Z')) || !isNaN(Date.parse('2012-12-31T23:59:60.000Z')); - var doesNotParseY2KNewYear = isNaN(Date.parse('2000-01-01T00:00:00.000Z')); - if (doesNotParseY2KNewYear || acceptsInvalidDates || !supportsExtendedYears) { - // XXX global assignment won't work in embeddings that use - // an alternate object for the context. - /* global Date: true */ - /* eslint-disable no-undef */ - var maxSafeUnsigned32Bit = Math.pow(2, 31) - 1; - var hasSafariSignedIntBug = isActualNaN(new Date(1970, 0, 1, 0, 0, 0, maxSafeUnsigned32Bit + 1).getTime()); - /* eslint-disable no-implicit-globals */ - Date = (function (NativeDate) { - /* eslint-enable no-implicit-globals */ - /* eslint-enable no-undef */ - // Date.length === 7 - var DateShim = function Date(Y, M, D, h, m, s, ms) { - var length = arguments.length; - var date; - if (this instanceof NativeDate) { - var seconds = s; - var millis = ms; - if (hasSafariSignedIntBug && length >= 7 && ms > maxSafeUnsigned32Bit) { - // work around a Safari 8/9 bug where it treats the seconds as signed - var msToShift = Math.floor(ms / maxSafeUnsigned32Bit) * maxSafeUnsigned32Bit; - var sToShift = Math.floor(msToShift / 1e3); - seconds += sToShift; - millis -= sToShift * 1e3; - } - date = length === 1 && $String(Y) === Y ? // isString(Y) - // We explicitly pass it through parse: - new NativeDate(DateShim.parse(Y)) : - // We have to manually make calls depending on argument - // length here - length >= 7 ? new NativeDate(Y, M, D, h, m, seconds, millis) : - length >= 6 ? new NativeDate(Y, M, D, h, m, seconds) : - length >= 5 ? new NativeDate(Y, M, D, h, m) : - length >= 4 ? new NativeDate(Y, M, D, h) : - length >= 3 ? new NativeDate(Y, M, D) : - length >= 2 ? new NativeDate(Y, M) : - length >= 1 ? new NativeDate(Y instanceof NativeDate ? +Y : Y) : - new NativeDate(); - } else { - date = NativeDate.apply(this, arguments); - } - if (!isPrimitive(date)) { - // Prevent mixups with unfixed Date object - defineProperties(date, { constructor: DateShim }, true); - } - return date; - }; - - // 15.9.1.15 Date Time String Format. - var isoDateExpression = new RegExp('^' + - '(\\d{4}|[+-]\\d{6})' + // four-digit year capture or sign + - // 6-digit extended year - '(?:-(\\d{2})' + // optional month capture - '(?:-(\\d{2})' + // optional day capture - '(?:' + // capture hours:minutes:seconds.milliseconds - 'T(\\d{2})' + // hours capture - ':(\\d{2})' + // minutes capture - '(?:' + // optional :seconds.milliseconds - ':(\\d{2})' + // seconds capture - '(?:(\\.\\d{1,}))?' + // milliseconds capture - ')?' + - '(' + // capture UTC offset component - 'Z|' + // UTC capture - '(?:' + // offset specifier +/-hours:minutes - '([-+])' + // sign capture - '(\\d{2})' + // hours offset capture - ':(\\d{2})' + // minutes offset capture - ')' + - ')?)?)?)?' + - '$'); - - var months = [0, 31, 59, 90, 120, 151, 181, 212, 243, 273, 304, 334, 365]; - - var dayFromMonth = function dayFromMonth(year, month) { - var t = month > 1 ? 1 : 0; - return ( - months[month] + - Math.floor((year - 1969 + t) / 4) - - Math.floor((year - 1901 + t) / 100) + - Math.floor((year - 1601 + t) / 400) + - 365 * (year - 1970) - ); - }; - - var toUTC = function toUTC(t) { - var s = 0; - var ms = t; - if (hasSafariSignedIntBug && ms > maxSafeUnsigned32Bit) { - // work around a Safari 8/9 bug where it treats the seconds as signed - var msToShift = Math.floor(ms / maxSafeUnsigned32Bit) * maxSafeUnsigned32Bit; - var sToShift = Math.floor(msToShift / 1e3); - s += sToShift; - ms -= sToShift * 1e3; - } - return $Number(new NativeDate(1970, 0, 1, 0, 0, s, ms)); - }; - - // Copy any custom methods a 3rd party library may have added - for (var key in NativeDate) { - if (owns(NativeDate, key)) { - DateShim[key] = NativeDate[key]; - } - } - - // Copy "native" methods explicitly; they may be non-enumerable - defineProperties(DateShim, { - now: NativeDate.now, - UTC: NativeDate.UTC - }, true); - DateShim.prototype = NativeDate.prototype; - defineProperties(DateShim.prototype, { - constructor: DateShim - }, true); - - // Upgrade Date.parse to handle simplified ISO 8601 strings - var parseShim = function parse(string) { - var match = isoDateExpression.exec(string); - if (match) { - // parse months, days, hours, minutes, seconds, and milliseconds - // provide default values if necessary - // parse the UTC offset component - var year = $Number(match[1]), - month = $Number(match[2] || 1) - 1, - day = $Number(match[3] || 1) - 1, - hour = $Number(match[4] || 0), - minute = $Number(match[5] || 0), - second = $Number(match[6] || 0), - millisecond = Math.floor($Number(match[7] || 0) * 1000), - // When time zone is missed, local offset should be used - // (ES 5.1 bug) - // see https://bugs.ecmascript.org/show_bug.cgi?id=112 - isLocalTime = Boolean(match[4] && !match[8]), - signOffset = match[9] === '-' ? 1 : -1, - hourOffset = $Number(match[10] || 0), - minuteOffset = $Number(match[11] || 0), - result; - var hasMinutesOrSecondsOrMilliseconds = minute > 0 || second > 0 || millisecond > 0; - if ( - hour < (hasMinutesOrSecondsOrMilliseconds ? 24 : 25) && - minute < 60 && second < 60 && millisecond < 1000 && - month > -1 && month < 12 && hourOffset < 24 && - minuteOffset < 60 && // detect invalid offsets - day > -1 && - day < (dayFromMonth(year, month + 1) - dayFromMonth(year, month)) - ) { - result = ( - (dayFromMonth(year, month) + day) * 24 + - hour + - hourOffset * signOffset - ) * 60; - result = ( - (result + minute + minuteOffset * signOffset) * 60 + - second - ) * 1000 + millisecond; - if (isLocalTime) { - result = toUTC(result); - } - if (-8.64e15 <= result && result <= 8.64e15) { - return result; - } - } - return NaN; - } - return NativeDate.parse.apply(this, arguments); - }; - defineProperties(DateShim, { parse: parseShim }); - - return DateShim; - }(Date)); - /* global Date: false */ - } - - // ES5 15.9.4.4 - // http://es5.github.com/#x15.9.4.4 - if (!Date.now) { - Date.now = function now() { - return new Date().getTime(); - }; - } - - // - // Number - // ====== - // - - // ES5.1 15.7.4.5 - // http://es5.github.com/#x15.7.4.5 - var hasToFixedBugs = NumberPrototype.toFixed && ( - (0.00008).toFixed(3) !== '0.000' || - (0.9).toFixed(0) !== '1' || - (1.255).toFixed(2) !== '1.25' || - (1000000000000000128).toFixed(0) !== '1000000000000000128' - ); - - var toFixedHelpers = { - base: 1e7, - size: 6, - data: [0, 0, 0, 0, 0, 0], - multiply: function multiply(n, c) { - var i = -1; - var c2 = c; - while (++i < toFixedHelpers.size) { - c2 += n * toFixedHelpers.data[i]; - toFixedHelpers.data[i] = c2 % toFixedHelpers.base; - c2 = Math.floor(c2 / toFixedHelpers.base); - } - }, - divide: function divide(n) { - var i = toFixedHelpers.size; - var c = 0; - while (--i >= 0) { - c += toFixedHelpers.data[i]; - toFixedHelpers.data[i] = Math.floor(c / n); - c = (c % n) * toFixedHelpers.base; - } - }, - numToString: function numToString() { - var i = toFixedHelpers.size; - var s = ''; - while (--i >= 0) { - if (s !== '' || i === 0 || toFixedHelpers.data[i] !== 0) { - var t = $String(toFixedHelpers.data[i]); - if (s === '') { - s = t; - } else { - s += strSlice('0000000', 0, 7 - t.length) + t; - } - } - } - return s; - }, - pow: function pow(x, n, acc) { - return (n === 0 ? acc : (n % 2 === 1 ? pow(x, n - 1, acc * x) : pow(x * x, n / 2, acc))); - }, - log: function log(x) { - var n = 0; - var x2 = x; - while (x2 >= 4096) { - n += 12; - x2 /= 4096; - } - while (x2 >= 2) { - n += 1; - x2 /= 2; - } - return n; - } - }; - - var toFixedShim = function toFixed(fractionDigits) { - var f, x, s, m, e, z, j, k; - - // Test for NaN and round fractionDigits down - f = $Number(fractionDigits); - f = isActualNaN(f) ? 0 : Math.floor(f); - - if (f < 0 || f > 20) { - throw new RangeError('Number.toFixed called with invalid number of decimals'); - } - - x = $Number(this); - - if (isActualNaN(x)) { - return 'NaN'; - } - - // If it is too big or small, return the string value of the number - if (x <= -1e21 || x >= 1e21) { - return $String(x); - } - - s = ''; - - if (x < 0) { - s = '-'; - x = -x; - } - - m = '0'; - - if (x > 1e-21) { - // 1e-21 < x < 1e21 - // -70 < log2(x) < 70 - e = toFixedHelpers.log(x * toFixedHelpers.pow(2, 69, 1)) - 69; - z = (e < 0 ? x * toFixedHelpers.pow(2, -e, 1) : x / toFixedHelpers.pow(2, e, 1)); - z *= 0x10000000000000; // Math.pow(2, 52); - e = 52 - e; - - // -18 < e < 122 - // x = z / 2 ^ e - if (e > 0) { - toFixedHelpers.multiply(0, z); - j = f; - - while (j >= 7) { - toFixedHelpers.multiply(1e7, 0); - j -= 7; - } - - toFixedHelpers.multiply(toFixedHelpers.pow(10, j, 1), 0); - j = e - 1; - - while (j >= 23) { - toFixedHelpers.divide(1 << 23); - j -= 23; - } - - toFixedHelpers.divide(1 << j); - toFixedHelpers.multiply(1, 1); - toFixedHelpers.divide(2); - m = toFixedHelpers.numToString(); - } else { - toFixedHelpers.multiply(0, z); - toFixedHelpers.multiply(1 << (-e), 0); - m = toFixedHelpers.numToString() + strSlice('0.00000000000000000000', 2, 2 + f); - } - } - - if (f > 0) { - k = m.length; - - if (k <= f) { - m = s + strSlice('0.0000000000000000000', 0, f - k + 2) + m; - } else { - m = s + strSlice(m, 0, k - f) + '.' + strSlice(m, k - f); - } - } else { - m = s + m; - } - - return m; - }; - defineProperties(NumberPrototype, { toFixed: toFixedShim }, hasToFixedBugs); - - var hasToPrecisionUndefinedBug = (function () { - try { - return 1.0.toPrecision(undefined) === '1'; - } catch (e) { - return true; - } - }()); - var originalToPrecision = NumberPrototype.toPrecision; - defineProperties(NumberPrototype, { - toPrecision: function toPrecision(precision) { - return typeof precision === 'undefined' ? originalToPrecision.call(this) : originalToPrecision.call(this, precision); - } - }, hasToPrecisionUndefinedBug); - - // - // String - // ====== - // - - // ES5 15.5.4.14 - // http://es5.github.com/#x15.5.4.14 - - // [bugfix, IE lt 9, firefox 4, Konqueror, Opera, obscure browsers] - // Many browsers do not split properly with regular expressions or they - // do not perform the split correctly under obscure conditions. - // See http://blog.stevenlevithan.com/archives/cross-browser-split - // I've tested in many browsers and this seems to cover the deviant ones: - // 'ab'.split(/(?:ab)*/) should be ["", ""], not [""] - // '.'.split(/(.?)(.?)/) should be ["", ".", "", ""], not ["", ""] - // 'tesst'.split(/(s)*/) should be ["t", undefined, "e", "s", "t"], not - // [undefined, "t", undefined, "e", ...] - // ''.split(/.?/) should be [], not [""] - // '.'.split(/()()/) should be ["."], not ["", "", "."] - - if ( - 'ab'.split(/(?:ab)*/).length !== 2 || - '.'.split(/(.?)(.?)/).length !== 4 || - 'tesst'.split(/(s)*/)[1] === 't' || - 'test'.split(/(?:)/, -1).length !== 4 || - ''.split(/.?/).length || - '.'.split(/()()/).length > 1 - ) { - (function () { - var compliantExecNpcg = typeof (/()??/).exec('')[1] === 'undefined'; // NPCG: nonparticipating capturing group - var maxSafe32BitInt = Math.pow(2, 32) - 1; - - StringPrototype.split = function (separator, limit) { - var string = String(this); - if (typeof separator === 'undefined' && limit === 0) { - return []; - } - - // If `separator` is not a regex, use native split - if (!isRegex(separator)) { - return strSplit(this, separator, limit); - } - - var output = []; - var flags = (separator.ignoreCase ? 'i' : '') + - (separator.multiline ? 'm' : '') + - (separator.unicode ? 'u' : '') + // in ES6 - (separator.sticky ? 'y' : ''), // Firefox 3+ and ES6 - lastLastIndex = 0, - // Make `global` and avoid `lastIndex` issues by working with a copy - separator2, match, lastIndex, lastLength; - var separatorCopy = new RegExp(separator.source, flags + 'g'); - if (!compliantExecNpcg) { - // Doesn't need flags gy, but they don't hurt - separator2 = new RegExp('^' + separatorCopy.source + '$(?!\\s)', flags); - } - /* Values for `limit`, per the spec: - * If undefined: 4294967295 // maxSafe32BitInt - * If 0, Infinity, or NaN: 0 - * If positive number: limit = Math.floor(limit); if (limit > 4294967295) limit -= 4294967296; - * If negative number: 4294967296 - Math.floor(Math.abs(limit)) - * If other: Type-convert, then use the above rules - */ - var splitLimit = typeof limit === 'undefined' ? maxSafe32BitInt : ES.ToUint32(limit); - match = separatorCopy.exec(string); - while (match) { - // `separatorCopy.lastIndex` is not reliable cross-browser - lastIndex = match.index + match[0].length; - if (lastIndex > lastLastIndex) { - pushCall(output, strSlice(string, lastLastIndex, match.index)); - // Fix browsers whose `exec` methods don't consistently return `undefined` for - // nonparticipating capturing groups - if (!compliantExecNpcg && match.length > 1) { - /* eslint-disable no-loop-func */ - match[0].replace(separator2, function () { - for (var i = 1; i < arguments.length - 2; i++) { - if (typeof arguments[i] === 'undefined') { - match[i] = void 0; - } - } - }); - /* eslint-enable no-loop-func */ - } - if (match.length > 1 && match.index < string.length) { - array_push.apply(output, arraySlice(match, 1)); - } - lastLength = match[0].length; - lastLastIndex = lastIndex; - if (output.length >= splitLimit) { - break; - } - } - if (separatorCopy.lastIndex === match.index) { - separatorCopy.lastIndex++; // Avoid an infinite loop - } - match = separatorCopy.exec(string); - } - if (lastLastIndex === string.length) { - if (lastLength || !separatorCopy.test('')) { - pushCall(output, ''); - } - } else { - pushCall(output, strSlice(string, lastLastIndex)); - } - return output.length > splitLimit ? arraySlice(output, 0, splitLimit) : output; - }; - }()); - - // [bugfix, chrome] - // If separator is undefined, then the result array contains just one String, - // which is the this value (converted to a String). If limit is not undefined, - // then the output array is truncated so that it contains no more than limit - // elements. - // "0".split(undefined, 0) -> [] - } else if ('0'.split(void 0, 0).length) { - StringPrototype.split = function split(separator, limit) { - if (typeof separator === 'undefined' && limit === 0) { - return []; - } - return strSplit(this, separator, limit); - }; - } - - var str_replace = StringPrototype.replace; - var replaceReportsGroupsCorrectly = (function () { - var groups = []; - 'x'.replace(/x(.)?/g, function (match, group) { - pushCall(groups, group); - }); - return groups.length === 1 && typeof groups[0] === 'undefined'; - }()); - - if (!replaceReportsGroupsCorrectly) { - StringPrototype.replace = function replace(searchValue, replaceValue) { - var isFn = isCallable(replaceValue); - var hasCapturingGroups = isRegex(searchValue) && (/\)[*?]/).test(searchValue.source); - if (!isFn || !hasCapturingGroups) { - return str_replace.call(this, searchValue, replaceValue); - } else { - var wrappedReplaceValue = function (match) { - var length = arguments.length; - var originalLastIndex = searchValue.lastIndex; - searchValue.lastIndex = 0; - var args = searchValue.exec(match) || []; - searchValue.lastIndex = originalLastIndex; - pushCall(args, arguments[length - 2], arguments[length - 1]); - return replaceValue.apply(this, args); - }; - return str_replace.call(this, searchValue, wrappedReplaceValue); - } - }; - } - - // ECMA-262, 3rd B.2.3 - // Not an ECMAScript standard, although ECMAScript 3rd Edition has a - // non-normative section suggesting uniform semantics and it should be - // normalized across all browsers - // [bugfix, IE lt 9] IE < 9 substr() with negative value not working in IE - var string_substr = StringPrototype.substr; - var hasNegativeSubstrBug = ''.substr && '0b'.substr(-1) !== 'b'; - defineProperties(StringPrototype, { - substr: function substr(start, length) { - var normalizedStart = start; - if (start < 0) { - normalizedStart = max(this.length + start, 0); - } - return string_substr.call(this, normalizedStart, length); - } - }, hasNegativeSubstrBug); - - // ES5 15.5.4.20 - // whitespace from: http://es5.github.io/#x15.5.4.20 - var ws = '\x09\x0A\x0B\x0C\x0D\x20\xA0\u1680\u180E\u2000\u2001\u2002\u2003' + - '\u2004\u2005\u2006\u2007\u2008\u2009\u200A\u202F\u205F\u3000\u2028' + - '\u2029\uFEFF'; - var zeroWidth = '\u200b'; - var wsRegexChars = '[' + ws + ']'; - var trimBeginRegexp = new RegExp('^' + wsRegexChars + wsRegexChars + '*'); - var trimEndRegexp = new RegExp(wsRegexChars + wsRegexChars + '*$'); - var hasTrimWhitespaceBug = StringPrototype.trim && (ws.trim() || !zeroWidth.trim()); - defineProperties(StringPrototype, { - // http://blog.stevenlevithan.com/archives/faster-trim-javascript - // http://perfectionkills.com/whitespace-deviations/ - trim: function trim() { - if (typeof this === 'undefined' || this === null) { - throw new TypeError("can't convert " + this + ' to object'); - } - return $String(this).replace(trimBeginRegexp, '').replace(trimEndRegexp, ''); - } - }, hasTrimWhitespaceBug); - var trim = call.bind(String.prototype.trim); - - var hasLastIndexBug = StringPrototype.lastIndexOf && 'abcã‚ã„'.lastIndexOf('ã‚ã„', 2) !== -1; - defineProperties(StringPrototype, { - lastIndexOf: function lastIndexOf(searchString) { - if (typeof this === 'undefined' || this === null) { - throw new TypeError("can't convert " + this + ' to object'); - } - var S = $String(this); - var searchStr = $String(searchString); - var numPos = arguments.length > 1 ? $Number(arguments[1]) : NaN; - var pos = isActualNaN(numPos) ? Infinity : ES.ToInteger(numPos); - var start = min(max(pos, 0), S.length); - var searchLen = searchStr.length; - var k = start + searchLen; - while (k > 0) { - k = max(0, k - searchLen); - var index = strIndexOf(strSlice(S, k, start + searchLen), searchStr); - if (index !== -1) { - return k + index; - } - } - return -1; - } - }, hasLastIndexBug); - - var originalLastIndexOf = StringPrototype.lastIndexOf; - defineProperties(StringPrototype, { - lastIndexOf: function lastIndexOf(searchString) { - return originalLastIndexOf.apply(this, arguments); - } - }, StringPrototype.lastIndexOf.length !== 1); - - // ES-5 15.1.2.2 - /* eslint-disable radix */ - if (parseInt(ws + '08') !== 8 || parseInt(ws + '0x16') !== 22) { - /* eslint-enable radix */ - /* global parseInt: true */ - parseInt = (function (origParseInt) { - var hexRegex = /^[\-+]?0[xX]/; - return function parseInt(str, radix) { - var string = trim(String(str)); - var defaultedRadix = $Number(radix) || (hexRegex.test(string) ? 16 : 10); - return origParseInt(string, defaultedRadix); - }; - }(parseInt)); - } - - // https://es5.github.io/#x15.1.2.3 - if (1 / parseFloat('-0') !== -Infinity) { - /* global parseFloat: true */ - parseFloat = (function (origParseFloat) { - return function parseFloat(string) { - var inputString = trim(String(string)); - var result = origParseFloat(inputString); - return result === 0 && strSlice(inputString, 0, 1) === '-' ? -0 : result; - }; - }(parseFloat)); - } - - if (String(new RangeError('test')) !== 'RangeError: test') { - var errorToStringShim = function toString() { - if (typeof this === 'undefined' || this === null) { - throw new TypeError("can't convert " + this + ' to object'); - } - var name = this.name; - if (typeof name === 'undefined') { - name = 'Error'; - } else if (typeof name !== 'string') { - name = $String(name); - } - var msg = this.message; - if (typeof msg === 'undefined') { - msg = ''; - } else if (typeof msg !== 'string') { - msg = $String(msg); - } - if (!name) { - return msg; - } - if (!msg) { - return name; - } - return name + ': ' + msg; - }; - // can't use defineProperties here because of toString enumeration issue in IE <= 8 - Error.prototype.toString = errorToStringShim; - } - - if (supportsDescriptors) { - var ensureNonEnumerable = function (obj, prop) { - if (isEnum(obj, prop)) { - var desc = Object.getOwnPropertyDescriptor(obj, prop); - if (desc.configurable) { - desc.enumerable = false; - Object.defineProperty(obj, prop, desc); - } - } - }; - ensureNonEnumerable(Error.prototype, 'message'); - if (Error.prototype.message !== '') { - Error.prototype.message = ''; - } - ensureNonEnumerable(Error.prototype, 'name'); - } - - if (String(/a/mig) !== '/a/gim') { - var regexToString = function toString() { - var str = '/' + this.source + '/'; - if (this.global) { - str += 'g'; - } - if (this.ignoreCase) { - str += 'i'; - } - if (this.multiline) { - str += 'm'; - } - return str; - }; - // can't use defineProperties here because of toString enumeration issue in IE <= 8 - RegExp.prototype.toString = regexToString; - } -})); -/*! - * https://github.com/es-shims/es5-shim - * @license es5-shim Copyright 2009-2015 by contributors, MIT License - * see https://github.com/es-shims/es5-shim/blob/master/LICENSE - */ - -// vim: ts=4 sts=4 sw=4 expandtab - -// Add semicolon to prevent IIFE from being passed as argument to concatenated code. -; - -// UMD (Universal Module Definition) -// see https://github.com/umdjs/umd/blob/master/templates/returnExports.js -(function (root, factory) { - 'use strict'; - - /* global define, exports, module */ - if (typeof define === 'function' && define.amd) { - // AMD. Register as an anonymous module. - define(factory); - } else if (typeof exports === 'object') { - // Node. Does not work with strict CommonJS, but - // only CommonJS-like enviroments that support module.exports, - // like Node. - module.exports = factory(); - } else { - // Browser globals (root is window) - root.returnExports = factory(); - } -}(this, function () { - - var call = Function.call; - var prototypeOfObject = Object.prototype; - var owns = call.bind(prototypeOfObject.hasOwnProperty); - var isEnumerable = call.bind(prototypeOfObject.propertyIsEnumerable); - var toStr = call.bind(prototypeOfObject.toString); - - // If JS engine supports accessors creating shortcuts. - var defineGetter; - var defineSetter; - var lookupGetter; - var lookupSetter; - var supportsAccessors = owns(prototypeOfObject, '__defineGetter__'); - if (supportsAccessors) { - /* eslint-disable no-underscore-dangle */ - defineGetter = call.bind(prototypeOfObject.__defineGetter__); - defineSetter = call.bind(prototypeOfObject.__defineSetter__); - lookupGetter = call.bind(prototypeOfObject.__lookupGetter__); - lookupSetter = call.bind(prototypeOfObject.__lookupSetter__); - /* eslint-enable no-underscore-dangle */ - } - - var isPrimitive = function isPrimitive(o) { - return o == null || (typeof o !== 'object' && typeof o !== 'function'); - }; - - // ES5 15.2.3.2 - // http://es5.github.com/#x15.2.3.2 - if (!Object.getPrototypeOf) { - // https://github.com/es-shims/es5-shim/issues#issue/2 - // http://ejohn.org/blog/objectgetprototypeof/ - // recommended by fschaefer on github - // - // sure, and webreflection says ^_^ - // ... this will nerever possibly return null - // ... Opera Mini breaks here with infinite loops - Object.getPrototypeOf = function getPrototypeOf(object) { - /* eslint-disable no-proto */ - var proto = object.__proto__; - /* eslint-enable no-proto */ - if (proto || proto === null) { - return proto; - } else if (toStr(object.constructor) === '[object Function]') { - return object.constructor.prototype; - } else if (object instanceof Object) { - return prototypeOfObject; - } else { - // Correctly return null for Objects created with `Object.create(null)` - // (shammed or native) or `{ __proto__: null}`. Also returns null for - // cross-realm objects on browsers that lack `__proto__` support (like - // IE <11), but that's the best we can do. - return null; - } - }; - } - - // ES5 15.2.3.3 - // http://es5.github.com/#x15.2.3.3 - - var doesGetOwnPropertyDescriptorWork = function doesGetOwnPropertyDescriptorWork(object) { - try { - object.sentinel = 0; - return Object.getOwnPropertyDescriptor(object, 'sentinel').value === 0; - } catch (exception) { - return false; - } - }; - - // check whether getOwnPropertyDescriptor works if it's given. Otherwise, shim partially. - if (Object.defineProperty) { - var getOwnPropertyDescriptorWorksOnObject = doesGetOwnPropertyDescriptorWork({}); - var getOwnPropertyDescriptorWorksOnDom = typeof document === 'undefined' || - doesGetOwnPropertyDescriptorWork(document.createElement('div')); - if (!getOwnPropertyDescriptorWorksOnDom || !getOwnPropertyDescriptorWorksOnObject) { - var getOwnPropertyDescriptorFallback = Object.getOwnPropertyDescriptor; - } - } - - if (!Object.getOwnPropertyDescriptor || getOwnPropertyDescriptorFallback) { - var ERR_NON_OBJECT = 'Object.getOwnPropertyDescriptor called on a non-object: '; - - /* eslint-disable no-proto */ - Object.getOwnPropertyDescriptor = function getOwnPropertyDescriptor(object, property) { - if (isPrimitive(object)) { - throw new TypeError(ERR_NON_OBJECT + object); - } - - // make a valiant attempt to use the real getOwnPropertyDescriptor - // for I8's DOM elements. - if (getOwnPropertyDescriptorFallback) { - try { - return getOwnPropertyDescriptorFallback.call(Object, object, property); - } catch (exception) { - // try the shim if the real one doesn't work - } - } - - var descriptor; - - // If object does not owns property return undefined immediately. - if (!owns(object, property)) { - return descriptor; - } - - // If object has a property then it's for sure `configurable`, and - // probably `enumerable`. Detect enumerability though. - descriptor = { - enumerable: isEnumerable(object, property), - configurable: true - }; - - // If JS engine supports accessor properties then property may be a - // getter or setter. - if (supportsAccessors) { - // Unfortunately `__lookupGetter__` will return a getter even - // if object has own non getter property along with a same named - // inherited getter. To avoid misbehavior we temporary remove - // `__proto__` so that `__lookupGetter__` will return getter only - // if it's owned by an object. - var prototype = object.__proto__; - var notPrototypeOfObject = object !== prototypeOfObject; - // avoid recursion problem, breaking in Opera Mini when - // Object.getOwnPropertyDescriptor(Object.prototype, 'toString') - // or any other Object.prototype accessor - if (notPrototypeOfObject) { - object.__proto__ = prototypeOfObject; - } - - var getter = lookupGetter(object, property); - var setter = lookupSetter(object, property); - - if (notPrototypeOfObject) { - // Once we have getter and setter we can put values back. - object.__proto__ = prototype; - } - - if (getter || setter) { - if (getter) { - descriptor.get = getter; - } - if (setter) { - descriptor.set = setter; - } - // If it was accessor property we're done and return here - // in order to avoid adding `value` to the descriptor. - return descriptor; - } - } - - // If we got this far we know that object has an own property that is - // not an accessor so we set it as a value and return descriptor. - descriptor.value = object[property]; - descriptor.writable = true; - return descriptor; - }; - /* eslint-enable no-proto */ - } - - // ES5 15.2.3.4 - // http://es5.github.com/#x15.2.3.4 - if (!Object.getOwnPropertyNames) { - Object.getOwnPropertyNames = function getOwnPropertyNames(object) { - return Object.keys(object); - }; - } - - // ES5 15.2.3.5 - // http://es5.github.com/#x15.2.3.5 - if (!Object.create) { - - // Contributed by Brandon Benvie, October, 2012 - var createEmpty; - var supportsProto = !({ __proto__: null } instanceof Object); - // the following produces false positives - // in Opera Mini => not a reliable check - // Object.prototype.__proto__ === null - - // Check for document.domain and active x support - // No need to use active x approach when document.domain is not set - // see https://github.com/es-shims/es5-shim/issues/150 - // variation of https://github.com/kitcambridge/es5-shim/commit/4f738ac066346 - /* global ActiveXObject */ - var shouldUseActiveX = function shouldUseActiveX() { - // return early if document.domain not set - if (!document.domain) { - return false; - } - - try { - return !!new ActiveXObject('htmlfile'); - } catch (exception) { - return false; - } - }; - - // This supports IE8 when document.domain is used - // see https://github.com/es-shims/es5-shim/issues/150 - // variation of https://github.com/kitcambridge/es5-shim/commit/4f738ac066346 - var getEmptyViaActiveX = function getEmptyViaActiveX() { - var empty; - var xDoc; - - xDoc = new ActiveXObject('htmlfile'); - - var script = 'script'; - xDoc.write('<' + script + '>'); - xDoc.close(); - - empty = xDoc.parentWindow.Object.prototype; - xDoc = null; - - return empty; - }; - - // The original implementation using an iframe - // before the activex approach was added - // see https://github.com/es-shims/es5-shim/issues/150 - var getEmptyViaIFrame = function getEmptyViaIFrame() { - var iframe = document.createElement('iframe'); - var parent = document.body || document.documentElement; - var empty; - - iframe.style.display = 'none'; - parent.appendChild(iframe); - /* eslint-disable no-script-url */ - iframe.src = 'javascript:'; - /* eslint-enable no-script-url */ - - empty = iframe.contentWindow.Object.prototype; - parent.removeChild(iframe); - iframe = null; - - return empty; - }; - - /* global document */ - if (supportsProto || typeof document === 'undefined') { - createEmpty = function () { - return { __proto__: null }; - }; - } else { - // In old IE __proto__ can't be used to manually set `null`, nor does - // any other method exist to make an object that inherits from nothing, - // aside from Object.prototype itself. Instead, create a new global - // object and *steal* its Object.prototype and strip it bare. This is - // used as the prototype to create nullary objects. - createEmpty = function () { - // Determine which approach to use - // see https://github.com/es-shims/es5-shim/issues/150 - var empty = shouldUseActiveX() ? getEmptyViaActiveX() : getEmptyViaIFrame(); - - delete empty.constructor; - delete empty.hasOwnProperty; - delete empty.propertyIsEnumerable; - delete empty.isPrototypeOf; - delete empty.toLocaleString; - delete empty.toString; - delete empty.valueOf; - - var Empty = function Empty() {}; - Empty.prototype = empty; - // short-circuit future calls - createEmpty = function () { - return new Empty(); - }; - return new Empty(); - }; - } - - Object.create = function create(prototype, properties) { - - var object; - var Type = function Type() {}; // An empty constructor. - - if (prototype === null) { - object = createEmpty(); - } else { - if (prototype !== null && isPrimitive(prototype)) { - // In the native implementation `parent` can be `null` - // OR *any* `instanceof Object` (Object|Function|Array|RegExp|etc) - // Use `typeof` tho, b/c in old IE, DOM elements are not `instanceof Object` - // like they are in modern browsers. Using `Object.create` on DOM elements - // is...err...probably inappropriate, but the native version allows for it. - throw new TypeError('Object prototype may only be an Object or null'); // same msg as Chrome - } - Type.prototype = prototype; - object = new Type(); - // IE has no built-in implementation of `Object.getPrototypeOf` - // neither `__proto__`, but this manually setting `__proto__` will - // guarantee that `Object.getPrototypeOf` will work as expected with - // objects created using `Object.create` - /* eslint-disable no-proto */ - object.__proto__ = prototype; - /* eslint-enable no-proto */ - } - - if (properties !== void 0) { - Object.defineProperties(object, properties); - } - - return object; - }; - } - - // ES5 15.2.3.6 - // http://es5.github.com/#x15.2.3.6 - - // Patch for WebKit and IE8 standard mode - // Designed by hax - // related issue: https://github.com/es-shims/es5-shim/issues#issue/5 - // IE8 Reference: - // http://msdn.microsoft.com/en-us/library/dd282900.aspx - // http://msdn.microsoft.com/en-us/library/dd229916.aspx - // WebKit Bugs: - // https://bugs.webkit.org/show_bug.cgi?id=36423 - - var doesDefinePropertyWork = function doesDefinePropertyWork(object) { - try { - Object.defineProperty(object, 'sentinel', {}); - return 'sentinel' in object; - } catch (exception) { - return false; - } - }; - - // check whether defineProperty works if it's given. Otherwise, - // shim partially. - if (Object.defineProperty) { - var definePropertyWorksOnObject = doesDefinePropertyWork({}); - var definePropertyWorksOnDom = typeof document === 'undefined' || - doesDefinePropertyWork(document.createElement('div')); - if (!definePropertyWorksOnObject || !definePropertyWorksOnDom) { - var definePropertyFallback = Object.defineProperty, - definePropertiesFallback = Object.defineProperties; - } - } - - if (!Object.defineProperty || definePropertyFallback) { - var ERR_NON_OBJECT_DESCRIPTOR = 'Property description must be an object: '; - var ERR_NON_OBJECT_TARGET = 'Object.defineProperty called on non-object: '; - var ERR_ACCESSORS_NOT_SUPPORTED = 'getters & setters can not be defined on this javascript engine'; - - Object.defineProperty = function defineProperty(object, property, descriptor) { - if (isPrimitive(object)) { - throw new TypeError(ERR_NON_OBJECT_TARGET + object); - } - if (isPrimitive(descriptor)) { - throw new TypeError(ERR_NON_OBJECT_DESCRIPTOR + descriptor); - } - // make a valiant attempt to use the real defineProperty - // for I8's DOM elements. - if (definePropertyFallback) { - try { - return definePropertyFallback.call(Object, object, property, descriptor); - } catch (exception) { - // try the shim if the real one doesn't work - } - } - - // If it's a data property. - if ('value' in descriptor) { - // fail silently if 'writable', 'enumerable', or 'configurable' - // are requested but not supported - /* - // alternate approach: - if ( // can't implement these features; allow false but not true - ('writable' in descriptor && !descriptor.writable) || - ('enumerable' in descriptor && !descriptor.enumerable) || - ('configurable' in descriptor && !descriptor.configurable) - )) - throw new RangeError( - 'This implementation of Object.defineProperty does not support configurable, enumerable, or writable.' - ); - */ - - if (supportsAccessors && (lookupGetter(object, property) || lookupSetter(object, property))) { - // As accessors are supported only on engines implementing - // `__proto__` we can safely override `__proto__` while defining - // a property to make sure that we don't hit an inherited - // accessor. - /* eslint-disable no-proto */ - var prototype = object.__proto__; - object.__proto__ = prototypeOfObject; - // Deleting a property anyway since getter / setter may be - // defined on object itself. - delete object[property]; - object[property] = descriptor.value; - // Setting original `__proto__` back now. - object.__proto__ = prototype; - /* eslint-enable no-proto */ - } else { - object[property] = descriptor.value; - } - } else { - var hasGetter = 'get' in descriptor; - var hasSetter = 'set' in descriptor; - if (!supportsAccessors && (hasGetter || hasSetter)) { - throw new TypeError(ERR_ACCESSORS_NOT_SUPPORTED); - } - // If we got that far then getters and setters can be defined !! - if (hasGetter) { - defineGetter(object, property, descriptor.get); - } - if (hasSetter) { - defineSetter(object, property, descriptor.set); - } - } - return object; - }; - } - - // ES5 15.2.3.7 - // http://es5.github.com/#x15.2.3.7 - if (!Object.defineProperties || definePropertiesFallback) { - Object.defineProperties = function defineProperties(object, properties) { - // make a valiant attempt to use the real defineProperties - if (definePropertiesFallback) { - try { - return definePropertiesFallback.call(Object, object, properties); - } catch (exception) { - // try the shim if the real one doesn't work - } - } - - Object.keys(properties).forEach(function (property) { - if (property !== '__proto__') { - Object.defineProperty(object, property, properties[property]); - } - }); - return object; - }; - } - - // ES5 15.2.3.8 - // http://es5.github.com/#x15.2.3.8 - if (!Object.seal) { - Object.seal = function seal(object) { - if (Object(object) !== object) { - throw new TypeError('Object.seal can only be called on Objects.'); - } - // this is misleading and breaks feature-detection, but - // allows "securable" code to "gracefully" degrade to working - // but insecure code. - return object; - }; - } - - // ES5 15.2.3.9 - // http://es5.github.com/#x15.2.3.9 - if (!Object.freeze) { - Object.freeze = function freeze(object) { - if (Object(object) !== object) { - throw new TypeError('Object.freeze can only be called on Objects.'); - } - // this is misleading and breaks feature-detection, but - // allows "securable" code to "gracefully" degrade to working - // but insecure code. - return object; - }; - } - - // detect a Rhino bug and patch it - try { - Object.freeze(function () {}); - } catch (exception) { - Object.freeze = (function (freezeObject) { - return function freeze(object) { - if (typeof object === 'function') { - return object; - } else { - return freezeObject(object); - } - }; - }(Object.freeze)); - } - - // ES5 15.2.3.10 - // http://es5.github.com/#x15.2.3.10 - if (!Object.preventExtensions) { - Object.preventExtensions = function preventExtensions(object) { - if (Object(object) !== object) { - throw new TypeError('Object.preventExtensions can only be called on Objects.'); - } - // this is misleading and breaks feature-detection, but - // allows "securable" code to "gracefully" degrade to working - // but insecure code. - return object; - }; - } - - // ES5 15.2.3.11 - // http://es5.github.com/#x15.2.3.11 - if (!Object.isSealed) { - Object.isSealed = function isSealed(object) { - if (Object(object) !== object) { - throw new TypeError('Object.isSealed can only be called on Objects.'); - } - return false; - }; - } - - // ES5 15.2.3.12 - // http://es5.github.com/#x15.2.3.12 - if (!Object.isFrozen) { - Object.isFrozen = function isFrozen(object) { - if (Object(object) !== object) { - throw new TypeError('Object.isFrozen can only be called on Objects.'); - } - return false; - }; - } - - // ES5 15.2.3.13 - // http://es5.github.com/#x15.2.3.13 - if (!Object.isExtensible) { - Object.isExtensible = function isExtensible(object) { - // 1. If Type(O) is not Object throw a TypeError exception. - if (Object(object) !== object) { - throw new TypeError('Object.isExtensible can only be called on Objects.'); - } - // 2. Return the Boolean value of the [[Extensible]] internal property of O. - var name = ''; - while (owns(object, name)) { - name += '?'; - } - object[name] = true; - var returnValue = owns(object, name); - delete object[name]; - return returnValue; - }; - } - -})); diff --git a/packages/es5-shim/es5-shim-sham.min.js b/packages/es5-shim/es5-shim-sham.min.js deleted file mode 100644 index a1ddf1c54c..0000000000 --- a/packages/es5-shim/es5-shim-sham.min.js +++ /dev/null @@ -1 +0,0 @@ -!function(t,e){"use strict";"function"==typeof define&&define.amd?define(e):"object"==typeof exports?module.exports=e():t.returnExports=e()}(this,function(){var t=Array,e=t.prototype,r=Object,n=r.prototype,o=Function,i=o.prototype,a=String,c=a.prototype,u=Number,l=u.prototype,f=e.slice,s=e.splice,p=e.push,h=e.unshift,y=e.concat,d=e.join,b=i.call,v=i.apply,g=Math.max,w=Math.min,O=n.toString,j="function"==typeof Symbol&&"symbol"==typeof Symbol.toStringTag,T,m=Function.prototype.toString,D=/^\s*class /,E=function t(e){try{var r=m.call(e).replace(/\/\/.*\n/g,"").replace(/\/\*[.\s\S]*\*\//g,"").replace(/\n/gm," ").replace(/ {2}/g," ");return D.test(r)}catch(t){return!1}},x=function t(e){try{return!E(e)&&(m.call(e),!0)}catch(t){return!1}},S="[object Function]",_="[object GeneratorFunction]",T=function t(e){if(!e)return!1;if("function"!=typeof e&&"object"!=typeof e)return!1;if(j)return x(e);if(E(e))return!1;var r=O.call(e);return r===S||r===_},M,I=RegExp.prototype.exec,P=function t(e){try{return I.call(e),!0}catch(t){return!1}},F="[object RegExp]";M=function t(e){return"object"==typeof e&&(j?P(e):O.call(e)===F)};var U,N=String.prototype.valueOf,k=function t(e){try{return N.call(e),!0}catch(t){return!1}},C="[object String]";U=function t(e){return"string"==typeof e||"object"==typeof e&&(j?k(e):O.call(e)===C)};var A=r.defineProperty&&function(){try{var t={};r.defineProperty(t,"x",{enumerable:!1,value:t});for(var e in t)return!1;return t.x===t}catch(t){return!1}}(),R=function(t){var e;return e=A?function(t,e,n,o){!o&&e in t||r.defineProperty(t,e,{configurable:!0,enumerable:!1,writable:!0,value:n})}:function(t,e,r,n){!n&&e in t||(t[e]=r)},function r(n,o,i){for(var a in o)t.call(o,a)&&e(n,a,o[a],i)}}(n.hasOwnProperty),$=function t(e){var r=typeof e;return null===e||"object"!==r&&"function"!==r},z=u.isNaN||function t(e){return e!==e},J={ToInteger:function t(e){var r=+e;return z(r)?r=0:0!==r&&r!==1/0&&r!==-1/0&&(r=(r>0||-1)*Math.floor(Math.abs(r))),r},ToPrimitive:function t(e){var r,n,o;if($(e))return e;if(n=e.valueOf,T(n)&&(r=n.call(e),$(r)))return r;if(o=e.toString,T(o)&&(r=o.call(e),$(r)))return r;throw new TypeError},ToObject:function(t){if(null==t)throw new TypeError("can't convert "+t+" to object");return r(t)},ToUint32:function t(e){return e>>>0}},G=function t(){};R(i,{bind:function t(e){var n=this;if(!T(n))throw new TypeError("Function.prototype.bind called on incompatible "+n);for(var i=f.call(arguments,1),a,c=function(){if(this instanceof a){var t=v.call(n,this,y.call(i,f.call(arguments)));return r(t)===t?t:this}return v.call(n,e,y.call(i,f.call(arguments)))},u=g(0,n.length-i.length),l=[],s=0;s1&&(a=arguments[1]),!T(e))throw new TypeError("Array.prototype.forEach callback must be a function");for(;++o1&&(c=arguments[1]),!T(r))throw new TypeError("Array.prototype.map callback must be a function");for(var u=0;u1&&(c=arguments[1]),!T(e))throw new TypeError("Array.prototype.filter callback must be a function");for(var u=0;u1&&(i=arguments[1]),!T(e))throw new TypeError("Array.prototype.every callback must be a function");for(var a=0;a1&&(i=arguments[1]),!T(e))throw new TypeError("Array.prototype.some callback must be a function");for(var a=0;a=2)a=arguments[1];else for(;;){if(i in n){a=n[i++];break}if(++i>=o)throw new TypeError("reduce of empty array with no initial value")}for(;i=2)i=arguments[1];else for(;;){if(a in n){i=n[a--];break}if(--a<0)throw new TypeError("reduceRight of empty array with no initial value")}if(a<0)return i;do{a in n&&(i=e(i,n[a],a,r))}while(a--);return i}},!it);var at=e.indexOf&&-1!==[0,1].indexOf(1,2);R(e,{indexOf:function t(e){var r=rt&&U(this)?H(this,""):J.ToObject(this),n=J.ToUint32(r.length);if(0===n)return-1;var o=0;for(arguments.length>1&&(o=J.ToInteger(arguments[1])),o=o>=0?o:g(0,n+o);o1&&(o=w(o,J.ToInteger(arguments[1]))),o=o>=0?o:n-Math.abs(o);o>=0;o--)if(o in r&&e===r[o])return o;return-1}},ct);var ut=function(){var t=[1,2],e=t.splice();return 2===t.length&&V(e)&&0===e.length}();R(e,{splice:function t(e,r){return 0===arguments.length?[]:s.apply(this,arguments)}},!ut);var lt=function(){var t={};return e.splice.call(t,0,0,1),1===t.length}();R(e,{splice:function t(e,r){if(0===arguments.length)return[];var n=arguments;return this.length=g(J.ToInteger(this.length),0),arguments.length>0&&"number"!=typeof r&&((n=W(arguments)).length<2?q(n,this.length-e):n[1]=J.ToInteger(r)),s.apply(this,n)}},!lt);var ft=function(){var e=new t(1e5);return e[8]="x",e.splice(1,1),7===e.indexOf("x")}(),st=function(){var t=256,e=[];return e[t]="a",e.splice(257,0,"b"),"a"===e[t]}();R(e,{splice:function t(e,r){for(var n=J.ToObject(this),o=[],i=J.ToUint32(n.length),c=J.ToInteger(e),u=c<0?g(i+c,0):w(c,i),l=w(g(J.ToInteger(r),0),i-u),f=0,s;fb;)delete n[f-1],f-=1}else if(h>l)for(f=i-l;f>u;)s=a(f+l-1),y=a(f+h-1),Z(n,s)?n[y]=n[s]:delete n[y],f-=1;f=u;for(var v=0;v=0&&!V(e)&&T(e.callee)},Ft=It(arguments)?It:Pt;R(r,{keys:function t(e){var r=T(e),n=Ft(e),o=null!==e&&"object"==typeof e,i=o&&U(e);if(!o&&!r&&!n)throw new TypeError("Object.keys called on a non-object");var c=[],u=Tt&&r;if(i&&mt||n)for(var l=0;l11?e+1:e},getMonth:function t(){if(!(this&&this instanceof Date))throw new TypeError("this is not a Date object.");var e=Gt(this),r=Zt(this);return e<0&&r>11?0:r},getDate:function t(){if(!(this&&this instanceof Date))throw new TypeError("this is not a Date object.");var e=Gt(this),r=Zt(this),n=Yt(this);return e<0&&r>11?12===r?n:ee(0,e+1)-n+1:n},getUTCFullYear:function t(){if(!(this&&this instanceof Date))throw new TypeError("this is not a Date object.");var e=Wt(this);return e<0&&Xt(this)>11?e+1:e},getUTCMonth:function t(){if(!(this&&this instanceof Date))throw new TypeError("this is not a Date object.");var e=Wt(this),r=Xt(this);return e<0&&r>11?0:r},getUTCDate:function t(){if(!(this&&this instanceof Date))throw new TypeError("this is not a Date object.");var e=Wt(this),r=Xt(this),n=Bt(this);return e<0&&r>11?12===r?n:ee(0,e+1)-n+1:n}},Ct),R(Date.prototype,{toUTCString:function t(){if(!(this&&this instanceof Date))throw new TypeError("this is not a Date object.");var e=Ht(this),r=Bt(this),n=Xt(this),o=Wt(this),i=Lt(this),a=qt(this),c=Kt(this);return Vt[e]+", "+(r<10?"0"+r:r)+" "+te[n]+" "+o+" "+(i<10?"0"+i:i)+":"+(a<10?"0"+a:a)+":"+(c<10?"0"+c:c)+" GMT"}},Ct||$t),R(Date.prototype,{toDateString:function t(){if(!(this&&this instanceof Date))throw new TypeError("this is not a Date object.");var e=this.getDay(),r=this.getDate(),n=this.getMonth(),o=this.getFullYear();return Vt[e]+" "+te[n]+" "+(r<10?"0"+r:r)+" "+o}},Ct||zt),(Ct||Jt)&&(Date.prototype.toString=function t(){if(!(this&&this instanceof Date))throw new TypeError("this is not a Date object.");var e=this.getDay(),r=this.getDate(),n=this.getMonth(),o=this.getFullYear(),i=this.getHours(),a=this.getMinutes(),c=this.getSeconds(),u=this.getTimezoneOffset(),l=Math.floor(Math.abs(u)/60),f=Math.floor(Math.abs(u)%60);return Vt[e]+" "+te[n]+" "+(r<10?"0"+r:r)+" "+o+" "+(i<10?"0"+i:i)+":"+(a<10?"0"+a:a)+":"+(c<10?"0"+c:c)+" GMT"+(u>0?"-":"+")+(l<10?"0"+l:l)+(f<10?"0"+f:f)},A&&r.defineProperty(Date.prototype,"toString",{configurable:!0,enumerable:!1,writable:!0}));var re=-621987552e5,ne="-000001",oe=Date.prototype.toISOString&&-1===new Date(-621987552e5).toISOString().indexOf("-000001"),ie=Date.prototype.toISOString&&"1969-12-31T23:59:59.999Z"!==new Date(-1).toISOString(),ae=b.bind(Date.prototype.getTime);R(Date.prototype,{toISOString:function t(){if(!isFinite(this)||!isFinite(ae(this)))throw new RangeError("Date.prototype.toISOString called on non-finite value.");var e=Wt(this),r=Xt(this);e+=Math.floor(r/12);var n=[(r=(r%12+12)%12)+1,Bt(this),Lt(this),qt(this),Kt(this)];e=(e<0?"-":e>9999?"+":"")+B("00000"+Math.abs(e),0<=e&&e<=9999?-4:-6);for(var o=0;o=7&&f>le){var d=Math.floor(f/le)*le,b=Math.floor(d/1e3);h+=b,y-=1e3*b}p=1===s&&a(n)===n?new t(e.parse(n)):s>=7?new t(n,o,i,c,u,h,y):s>=6?new t(n,o,i,c,u,h):s>=5?new t(n,o,i,c,u):s>=4?new t(n,o,i,c):s>=3?new t(n,o,i):s>=2?new t(n,o):s>=1?new t(n instanceof t?+n:n):new t}else p=t.apply(this,arguments);return $(p)||R(p,{constructor:e},!0),p},r=new RegExp("^(\\d{4}|[+-]\\d{6})(?:-(\\d{2})(?:-(\\d{2})(?:T(\\d{2}):(\\d{2})(?::(\\d{2})(?:(\\.\\d{1,}))?)?(Z|(?:([-+])(\\d{2}):(\\d{2})))?)?)?)?$"),n=[0,31,59,90,120,151,181,212,243,273,304,334,365],o=function t(e,r){var o=r>1?1:0;return n[r]+Math.floor((e-1969+o)/4)-Math.floor((e-1901+o)/100)+Math.floor((e-1601+o)/400)+365*(e-1970)},i=function e(r){var n=0,o=r;if(fe&&o>le){var i=Math.floor(o/le)*le,a=Math.floor(i/1e3);n+=a,o-=1e3*a}return u(new t(1970,0,1,0,0,n,o))};for(var c in t)Z(t,c)&&(e[c]=t[c]);return R(e,{now:t.now,UTC:t.UTC},!0),e.prototype=t.prototype,R(e.prototype,{constructor:e},!0),R(e,{parse:function e(n){var a=r.exec(n);if(a){var c=u(a[1]),l=u(a[2]||1)-1,f=u(a[3]||1)-1,s=u(a[4]||0),p=u(a[5]||0),h=u(a[6]||0),y=Math.floor(1e3*u(a[7]||0)),d=Boolean(a[4]&&!a[8]),b="-"===a[9]?1:-1,v=u(a[10]||0),g=u(a[11]||0),w;return s<(p>0||h>0||y>0?24:25)&&p<60&&h<60&&y<1e3&&l>-1&&l<12&&v<24&&g<60&&f>-1&&f=0;)n+=pe.data[r],pe.data[r]=Math.floor(n/e),n=n%e*pe.base},numToString:function t(){for(var e=pe.size,r="";--e>=0;)if(""!==r||0===e||0!==pe.data[e]){var n=a(pe.data[e]);""===r?r=n:r+=B("0000000",0,7-n.length)+n}return r},pow:function t(e,r,n){return 0===r?n:r%2==1?t(e,r-1,n*e):t(e*e,r/2,n)},log:function t(e){for(var r=0,n=e;n>=4096;)r+=12,n/=4096;for(;n>=2;)r+=1,n/=2;return r}};R(l,{toFixed:function t(e){var r,n,o,i,c,l,f,s;if(r=u(e),(r=z(r)?0:Math.floor(r))<0||r>20)throw new RangeError("Number.toFixed called with invalid number of decimals");if(n=u(this),z(n))return"NaN";if(n<=-1e21||n>=1e21)return a(n);if(o="",n<0&&(o="-",n=-n),i="0",n>1e-21)if(c=pe.log(n*pe.pow(2,69,1))-69,l=c<0?n*pe.pow(2,-c,1):n/pe.pow(2,c,1),l*=4503599627370496,(c=52-c)>0){for(pe.multiply(0,l),f=r;f>=7;)pe.multiply(1e7,0),f-=7;for(pe.multiply(pe.pow(10,f,1),0),f=c-1;f>=23;)pe.divide(1<<23),f-=23;pe.divide(1<0?(s=i.length)<=r?o+B("0.0000000000000000000",0,r-s+2)+i:o+B(i,0,s-r)+"."+B(i,s-r):o+i}},se);var he=function(){try{return"1"===1..toPrecision(void 0)}catch(t){return!0}}(),ye=l.toPrecision;R(l,{toPrecision:function t(e){return void 0===e?ye.call(this):ye.call(this,e)}},he),2!=="ab".split(/(?:ab)*/).length||4!==".".split(/(.?)(.?)/).length||"t"==="tesst".split(/(s)*/)[1]||4!=="test".split(/(?:)/,-1).length||"".split(/.?/).length||".".split(/()()/).length>1?function(){var t=void 0===/()??/.exec("")[1],e=Math.pow(2,32)-1;c.split=function(r,n){var o=String(this);if(void 0===r&&0===n)return[];if(!M(r))return H(this,r,n);var i=[],a=(r.ignoreCase?"i":"")+(r.multiline?"m":"")+(r.unicode?"u":"")+(r.sticky?"y":""),c=0,u,l,f,s,h=new RegExp(r.source,a+"g");t||(u=new RegExp("^"+h.source+"$(?!\\s)",a));var y=void 0===n?e:J.ToUint32(n);for(l=h.exec(o);l&&!((f=l.index+l[0].length)>c&&(q(i,B(o,c,l.index)),!t&&l.length>1&&l[0].replace(u,function(){for(var t=1;t1&&l.index=y));)h.lastIndex===l.index&&h.lastIndex++,l=h.exec(o);return c===o.length?!s&&h.test("")||q(i,""):q(i,B(o,c)),i.length>y?W(i,0,y):i}}():"0".split(void 0,0).length&&(c.split=function t(e,r){return void 0===e&&0===r?[]:H(this,e,r)});var de=c.replace;(function(){var t=[];return"x".replace(/x(.)?/g,function(e,r){q(t,r)}),1===t.length&&void 0===t[0]})()||(c.replace=function t(e,r){var n=T(r),o=M(e)&&/\)[*?]/.test(e.source);if(n&&o){var i=function(t){var n=arguments.length,o=e.lastIndex;e.lastIndex=0;var i=e.exec(t)||[];return e.lastIndex=o,q(i,arguments[n-2],arguments[n-1]),r.apply(this,i)};return de.call(this,e,i)}return de.call(this,e,r)});var be=c.substr,ve="".substr&&"b"!=="0b".substr(-1);R(c,{substr:function t(e,r){var n=e;return e<0&&(n=g(this.length+e,0)),be.call(this,n,r)}},ve);var ge="\t\n\v\f\r   ᠎ â€â€‚         âŸã€€\u2028\u2029\ufeff",we="​",Oe="["+ge+"]",je=new RegExp("^"+Oe+Oe+"*"),Te=new RegExp(Oe+Oe+"*$"),me=c.trim&&(ge.trim()||!"​".trim());R(c,{trim:function t(){if(void 0===this||null===this)throw new TypeError("can't convert "+this+" to object");return a(this).replace(je,"").replace(Te,"")}},me);var De=b.bind(String.prototype.trim),Ee=c.lastIndexOf&&-1!=="abcã‚ã„".lastIndexOf("ã‚ã„",2);R(c,{lastIndexOf:function t(e){if(void 0===this||null===this)throw new TypeError("can't convert "+this+" to object");for(var r=a(this),n=a(e),o=arguments.length>1?u(arguments[1]):NaN,i=z(o)?1/0:J.ToInteger(o),c=w(g(i,0),r.length),l=n.length,f=c+l;f>0;){f=g(0,f-l);var s=L(B(r,f,c+l),n);if(-1!==s)return f+s}return-1}},Ee);var xe=c.lastIndexOf;if(R(c,{lastIndexOf:function t(e){return xe.apply(this,arguments)}},1!==c.lastIndexOf.length),8===parseInt(ge+"08")&&22===parseInt(ge+"0x16")||(parseInt=function(t){var e=/^[\-+]?0[xX]/;return function r(n,o){var i=De(String(n)),a=u(o)||(e.test(i)?16:10);return t(i,a)}}(parseInt)),1/parseFloat("-0")!=-1/0&&(parseFloat=function(t){return function e(r){var n=De(String(r)),o=t(n);return 0===o&&"-"===B(n,0,1)?-0:o}}(parseFloat)),"RangeError: test"!==String(new RangeError("test"))){var Se=function t(){if(void 0===this||null===this)throw new TypeError("can't convert "+this+" to object");var e=this.name;void 0===e?e="Error":"string"!=typeof e&&(e=a(e));var r=this.message;return void 0===r?r="":"string"!=typeof r&&(r=a(r)),e?r?e+": "+r:e:r};Error.prototype.toString=Se}if(A){var _e=function(t,e){if(K(t,e)){var r=Object.getOwnPropertyDescriptor(t,e);r.configurable&&(r.enumerable=!1,Object.defineProperty(t,e,r))}};_e(Error.prototype,"message"),""!==Error.prototype.message&&(Error.prototype.message=""),_e(Error.prototype,"name")}if("/a/gim"!==String(/a/gim)){var Me=function t(){var e="/"+this.source+"/";return this.global&&(e+="g"),this.ignoreCase&&(e+="i"),this.multiline&&(e+="m"),e};RegExp.prototype.toString=Me}}),function(t,e){"use strict";"function"==typeof define&&define.amd?define(e):"object"==typeof exports?module.exports=e():t.returnExports=e()}(this,function(){var t=Function.call,e=Object.prototype,r=t.bind(e.hasOwnProperty),n=t.bind(e.propertyIsEnumerable),o=t.bind(e.toString),i,a,c,u,l=r(e,"__defineGetter__");l&&(i=t.bind(e.__defineGetter__),a=t.bind(e.__defineSetter__),c=t.bind(e.__lookupGetter__),u=t.bind(e.__lookupSetter__));var f=function t(e){return null==e||"object"!=typeof e&&"function"!=typeof e};Object.getPrototypeOf||(Object.getPrototypeOf=function t(r){var n=r.__proto__;return n||null===n?n:"[object Function]"===o(r.constructor)?r.constructor.prototype:r instanceof Object?e:null});var s=function t(e){try{return e.sentinel=0,0===Object.getOwnPropertyDescriptor(e,"sentinel").value}catch(t){return!1}};if(Object.defineProperty){var p=s({});if(!("undefined"==typeof document||s(document.createElement("div")))||!p)var h=Object.getOwnPropertyDescriptor}if(!Object.getOwnPropertyDescriptor||h){var y="Object.getOwnPropertyDescriptor called on a non-object: ";Object.getOwnPropertyDescriptor=function t(o,i){if(f(o))throw new TypeError(y+o);if(h)try{return h.call(Object,o,i)}catch(t){}var a;if(!r(o,i))return a;if(a={enumerable:n(o,i),configurable:!0},l){var s=o.__proto__,p=o!==e;p&&(o.__proto__=e);var d=c(o,i),b=u(o,i);if(p&&(o.__proto__=s),d||b)return d&&(a.get=d),b&&(a.set=b),a}return a.value=o[i],a.writable=!0,a}}if(Object.getOwnPropertyNames||(Object.getOwnPropertyNames=function t(e){return Object.keys(e)}),!Object.create){var d,b=!({__proto__:null}instanceof Object),v=function t(){if(!document.domain)return!1;try{return!!new ActiveXObject("htmlfile")}catch(t){return!1}},g=function t(){var e,r,n="script";return(r=new ActiveXObject("htmlfile")).write("'; -} From 187c9dce06e6fdbb58f171589ba38248e5651d45 Mon Sep 17 00:00:00 2001 From: Ben Newman Date: Fri, 1 Dec 2017 20:03:42 -0500 Subject: [PATCH 0475/1355] Prevent any version of PhantomJS from being considered "modern." We'll need to set up BrowserStack or headless Chrome tests to exercise modern JS bundles. It is still very valuable to run tests with web.browser.legacy in PhantomJS, because most day-to-day development browsers qualify as "modern," and we don't want "legacy" browsers to become a blindspot. --- packages/modern-browsers/modern.js | 2 ++ 1 file changed, 2 insertions(+) diff --git a/packages/modern-browsers/modern.js b/packages/modern-browsers/modern.js index e04ded67d2..27f3c44f79 100644 --- a/packages/modern-browsers/modern.js +++ b/packages/modern-browsers/modern.js @@ -98,6 +98,8 @@ setMinimumBrowserVersions({ mobile_safari: 10, opera: 26, safari: 10, + // Disallow any version of PhantomJS. + phantomjs: Infinity, }); // ECMAScript 2015 Template Literals From d3b6d5dc4b7283d5a7a1b927e84613b38c4b6d89 Mon Sep 17 00:00:00 2001 From: Ben Newman Date: Sat, 2 Dec 2017 10:27:42 -0500 Subject: [PATCH 0476/1355] Upgrade lolex (test) npm dependency of ddp-client to version 2.3.1. May help prevent the problem that occurred in this Circle CI test run, since lolex was the package with hash sha1-LycSsbwYDendzF06epbvPAuxYq0=: https://circleci.com/gh/meteor/meteor/12641 --- packages/ddp-client/.npm/package/npm-shrinkwrap.json | 6 +++--- packages/ddp-client/package.js | 2 +- 2 files changed, 4 insertions(+), 4 deletions(-) diff --git a/packages/ddp-client/.npm/package/npm-shrinkwrap.json b/packages/ddp-client/.npm/package/npm-shrinkwrap.json index 56bebb3f83..83ff1746e4 100644 --- a/packages/ddp-client/.npm/package/npm-shrinkwrap.json +++ b/packages/ddp-client/.npm/package/npm-shrinkwrap.json @@ -2,9 +2,9 @@ "lockfileVersion": 1, "dependencies": { "lolex": { - "version": "1.4.0", - "resolved": "https://registry.npmjs.org/lolex/-/lolex-1.4.0.tgz", - "integrity": "sha1-LycSsbwYDendzF06epbvPAuxYq0=" + "version": "2.3.1", + "resolved": "https://registry.npmjs.org/lolex/-/lolex-2.3.1.tgz", + "integrity": "sha512-mQuW55GhduF3ppo+ZRUTz1PRjEh1hS5BbqU7d8D0ez2OKxHDod7StPPeAVKisZR5aLkHZjdGWSL42LSONUJsZw==" } } } diff --git a/packages/ddp-client/package.js b/packages/ddp-client/package.js index 233b3ff723..9a2686a696 100644 --- a/packages/ddp-client/package.js +++ b/packages/ddp-client/package.js @@ -5,7 +5,7 @@ Package.describe({ }); Npm.depends({ - lolex: '1.4.0' + lolex: '2.3.1' }); Package.onUse((api) => { From 4a4b4f93a9f248b8ddd497692eedf97580a2b563 Mon Sep 17 00:00:00 2001 From: Ben Newman Date: Sat, 2 Dec 2017 14:54:35 -0500 Subject: [PATCH 0477/1355] Fix long-standing bug due to improper use of _.has on an array. This traces back to my commit a9fde48ca8d5b9b8b9ed379865a0fa70285eddd3. The problem went unnoticed because the only symptom was that duplicate files were not properly reported. The "compiler plugins - addAsset" self-test checks for the "Duplicate source file" error, and was passing until recently, but began failing after I fixed a bug in the forAllMatchingArchs function that allowed duplicate callbacks for the same architecture. --- tools/isobuild/package-api.js | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/tools/isobuild/package-api.js b/tools/isobuild/package-api.js index c46dfde9d1..482248710e 100644 --- a/tools/isobuild/package-api.js +++ b/tools/isobuild/package-api.js @@ -453,7 +453,7 @@ export class PackageAPI { const filesOfType = self.files[a][type]; // Check if we have already added a file at this path - if (_.has(filesOfType, path)) { + if (filesOfType.some(source => source.relPath === path)) { // We want the singular form of the file type const typeName = { sources: 'source', From 05ef0a6602b686db7716c0e805672eff1b15a28b Mon Sep 17 00:00:00 2001 From: Ben Newman Date: Sat, 2 Dec 2017 14:31:18 -0500 Subject: [PATCH 0478/1355] Fix compiler plugins self-tests for web.browser.legacy. --- tools/tests/compiler-plugins.js | 32 ++++++++++++++++++++++++-------- 1 file changed, 24 insertions(+), 8 deletions(-) diff --git a/tools/tests/compiler-plugins.js b/tools/tests/compiler-plugins.js index 4be06cbce3..4e654b5a50 100644 --- a/tools/tests/compiler-plugins.js +++ b/tools/tests/compiler-plugins.js @@ -393,6 +393,11 @@ selftest.define("compiler plugins - compiler throws", () => { run.expectExit(1); }); +function checkModernAndLegacyUrls(path, test) { + test(getUrl("http://localhost:3000/__browser" + path)); + test(getUrl("http://localhost:3000/__browser.legacy" + path)); +} + // Test that compiler plugins can add static assets. Also tests `filenames` // option to registerCompiler. selftest.define("compiler plugins - compiler addAsset", () => { @@ -407,8 +412,9 @@ selftest.define("compiler plugins - compiler addAsset", () => { run.match("Asset says Print out foo"); // Test client-side asset. - const body = getUrl('http://localhost:3000/foo.printme'); - selftest.expectEqual(body, 'Print out foo\n'); + checkModernAndLegacyUrls("/foo.printme", body => { + selftest.expectEqual(body, "Print out foo\n"); + }); run.stop(); }); @@ -428,9 +434,14 @@ selftest.define("compiler plugins - addAssets", () => { run.match("Printing out my own source code!"); // Test client-side asset. - let body = getUrl('http://localhost:3000/packages/' + - 'asset-and-source/asset-and-source.js'); - selftest.expectTrue(body.indexOf('Printing out my own source code!') !== -1); + checkModernAndLegacyUrls( + "/packages/asset-and-source/asset-and-source.js", + body => { + selftest.expectTrue( + body.indexOf("Printing out my own source code!") !== -1 + ); + } + ); // Test that deprecated API still works (added in 1.2.1 in response to people // having trouble upgrading to 1.2) @@ -450,9 +461,14 @@ selftest.define("compiler plugins - addAssets", () => { run.match("Printing out my own source code!"); // Test client-side asset. - body = getUrl('http://localhost:3000/packages/' + - 'asset-and-source/asset-and-source.js'); - selftest.expectTrue(body.indexOf('Printing out my own source code!') !== -1); + checkModernAndLegacyUrls( + "/packages/asset-and-source/asset-and-source.js", + body => { + selftest.expectTrue( + body.indexOf('Printing out my own source code!') !== -1 + ); + } + ); // Test error messages for malformed package files s.write("packages/asset-and-source/package.js", `Package.describe({ From 89eaedc7497371d215fd390a40fe93180a10cfc4 Mon Sep 17 00:00:00 2001 From: Ben Newman Date: Sat, 2 Dec 2017 14:13:04 -0500 Subject: [PATCH 0479/1355] Fix `meteor show ` self-tests for web.browser.legacy. --- tools/tests/package-tests.js | 24 ++++++++++++++---------- 1 file changed, 14 insertions(+), 10 deletions(-) diff --git a/tools/tests/package-tests.js b/tools/tests/package-tests.js index ccf486ff9c..e04346bcad 100644 --- a/tools/tests/package-tests.js +++ b/tools/tests/package-tests.js @@ -729,8 +729,20 @@ selftest.define("show and search local package", function () { s.cp("package-with-exports.js", "package.js"); }); - var exportStr = - "A, B (server), C (web.browser, web.cordova), D (web.browser), E (web.cordova), G (server, web.cordova)"; + const impRaw = { + A: "", + B: "server", + C: "web.browser, web.browser.legacy, web.cordova", + D: "web.browser, web.browser.legacy", + E: "web.cordova", + G: "server, web.cordova" + }; + + const exportStr = Object.keys(impRaw).map(key => { + const value = impRaw[key]; + return key + (value ? " (" + value + ")" : ""); + }).join(", "); + var description = "Test package."; testShowPackage(s, name, { @@ -753,14 +765,6 @@ selftest.define("show and search local package", function () { // Test showing implies. Since we are not going to build the package, we don't // have to publish any of the things that we imply. - var impRaw = { - A: "", - B: "server", - C: "web.browser, web.cordova", - D: "web.browser", - E: "web.cordova", - G: "server, web.cordova" - }; var impliesData = _.sortBy(_.map(impRaw, function (label, placeholder) { var name = randomizedPackageName(username, placeholder.toLowerCase()); return { placeholder: placeholder, name: name, label: label}; From e89c946a7ec5055377884e20309cb1b249ae865a Mon Sep 17 00:00:00 2001 From: Ben Newman Date: Sat, 2 Dec 2017 14:31:54 -0500 Subject: [PATCH 0480/1355] Fix modules self-tests for web.browser.legacy. --- tools/tests/modules.js | 17 ++++++++++++----- 1 file changed, 12 insertions(+), 5 deletions(-) diff --git a/tools/tests/modules.js b/tools/tests/modules.js index 5e1acbed8d..56051dfe07 100644 --- a/tools/tests/modules.js +++ b/tools/tests/modules.js @@ -82,11 +82,18 @@ selftest.define("modules - import chain for packages", () => { run.match("with-main-module: with-main-module"); // On the client, we just check that install() is called correctly - const modules = getUrl("http://localhost:3000/packages/modules.js"); - selftest.expectTrue(modules.includes('\ninstall("with-add-files");')); - selftest.expectTrue(modules.includes('\n' + - 'install("with-main-module", "meteor/with-main-module/with-main-module.js");' - )); + checkModernAndLegacyUrls("/packages/modules.js", body => { + selftest.expectTrue(body.includes('\ninstall("with-add-files");')); + selftest.expectTrue( + body.includes('\ninstall("with-main-module", ' + + '"meteor/with-main-module/with-main-module.js");') + ); + }); run.stop(); }); + +function checkModernAndLegacyUrls(path, test) { + test(getUrl("http://localhost:3000/__browser" + path)); + test(getUrl("http://localhost:3000/__browser.legacy" + path)); +} From c300f658593e2ed225bcef3f68bd9067acc7721a Mon Sep 17 00:00:00 2001 From: Ben Newman Date: Sat, 2 Dec 2017 16:15:48 -0500 Subject: [PATCH 0481/1355] Fix "compiler plugins caching" self-tests for web.browser.legacy. --- .../apps/caching-stylus/.meteor/packages | 2 +- tools/tests/compiler-plugins.js | 24 +++++++++++++++++++ 2 files changed, 25 insertions(+), 1 deletion(-) diff --git a/tools/tests/apps/caching-stylus/.meteor/packages b/tools/tests/apps/caching-stylus/.meteor/packages index 26483fcc15..2a6b96c857 100644 --- a/tools/tests/apps/caching-stylus/.meteor/packages +++ b/tools/tests/apps/caching-stylus/.meteor/packages @@ -4,6 +4,6 @@ # but you can also edit it by hand. meteor-base -stylus@~2.513.13 +stylus@~2.513.14 local-pack standard-minifiers diff --git a/tools/tests/compiler-plugins.js b/tools/tests/compiler-plugins.js index 4e654b5a50..b2800013fb 100644 --- a/tools/tests/compiler-plugins.js +++ b/tools/tests/compiler-plugins.js @@ -53,6 +53,13 @@ selftest.define("compiler plugin caching - coffee", () => { '/packages/local-pack/p.coffee' ], "web.browser"); + matchRun([ + '/f1.coffee', + '/f2.coffee', + '/f3.coffee', + '/packages/local-pack/p.coffee' + ], "web.browser.legacy"); + matchRun([ '/f1.coffee', '/f2.coffee', @@ -67,6 +74,7 @@ selftest.define("compiler plugin caching - coffee", () => { // Only recompiles f2. matchRun(["/f2.coffee"], "web.browser"); + matchRun(["/f2.coffee"], "web.browser.legacy"); matchRun(["/f2.coffee"], osArch); // Program prints this: @@ -78,6 +86,7 @@ selftest.define("compiler plugin caching - coffee", () => { s.append("packages/local-pack/package.js", "\n// foo\n"); matchRun([], "web.browser"); + matchRun([], "web.browser.legacy"); matchRun([], osArch); run.match("Coffeescript X is 2 Y is 3 FromPackage is 4"); @@ -87,6 +96,7 @@ selftest.define("compiler plugin caching - coffee", () => { s.write("packages/local-pack/p.coffee", "FromPackage = 'FromPackage is 5'"); matchRun(["/packages/local-pack/p.coffee"], "web.browser"); + matchRun(["/packages/local-pack/p.coffee"], "web.browser.legacy"); matchRun(["/packages/local-pack/p.coffee"], osArch); run.match("Coffeescript X is 2 Y is 3 FromPackage is 5"); @@ -109,6 +119,7 @@ selftest.define("compiler plugin caching - coffee", () => { nextRunOrdinal = 1; matchRun(["/f2.coffee"], "web.browser"); + matchRun(["/f2.coffee"], "web.browser.legacy"); matchRun(["/f2.coffee"], osArch); run.match('Coffeescript X is 2 Y is edited FromPackage is 5'); @@ -160,6 +171,14 @@ selftest.define("compiler plugin caching - coffee", () => { "/top." + extension ], "web.browser"); + matchRun([ + // Though files in imports directories are compiled, they are marked + // as lazy so they will not be loaded unless imported. + "/imports/dotdot." + extension, + "/subdir/nested-root." + extension, + "/top." + extension + ], "web.browser.legacy"); + // There is no render execution in the server program, because it has // archMatching:'web'. We'll see this more clearly when the next call later // is "#2" --- we didn't miss a call! @@ -193,6 +212,7 @@ selftest.define("compiler plugin caching - coffee", () => { // preprocessor file in it. This should not require us to render anything. s.append("packages/local-pack/package.js", "\n// foo\n"); matchRun([], "web.browser"); + matchRun([], "web.browser.legacy"); run.waitSecs(15); run.match("Hello world"); @@ -218,6 +238,7 @@ selftest.define("compiler plugin caching - coffee", () => { setVariable('el4-style', 'inset')); expectedBorderStyles.el4 = 'inset'; matchRun([`/top.${ extension }`], "web.browser"); + matchRun([`/top.${ extension }`], "web.browser.legacy"); run.match("Client modified -- refreshing"); checkCSS(expectedBorderStyles); @@ -226,6 +247,7 @@ selftest.define("compiler plugin caching - coffee", () => { '.el0 { border-style: double; }\n'); expectedBorderStyles.el0 = 'double'; matchRun([`/subdir/nested-root.${ extension }`], "web.browser"); + matchRun([`/subdir/nested-root.${ extension }`], "web.browser.legacy"); run.match("Client modified -- refreshing"); checkCSS(expectedBorderStyles); @@ -234,6 +256,7 @@ selftest.define("compiler plugin caching - coffee", () => { '.el6 { border-style: solid; }\n'); expectedBorderStyles.el6 = 'solid'; matchRun([`/yet-another-root.${ extension }`], "web.browser"); + matchRun([`/yet-another-root.${ extension }`], "web.browser.legacy"); run.match("Client modified -- refreshing"); checkCSS(expectedBorderStyles); @@ -259,6 +282,7 @@ selftest.define("compiler plugin caching - coffee", () => { nextRunOrdinal = 1; matchRun([`/top.${ extension }`], "web.browser"); + matchRun([`/top.${ extension }`], "web.browser.legacy"); run.waitSecs(15); run.match('Hello world'); checkCSS(expectedBorderStyles); From a7cdc7004dc8188fa0769652a1e47e54b952f9a2 Mon Sep 17 00:00:00 2001 From: Ben Newman Date: Sat, 2 Dec 2017 17:06:19 -0500 Subject: [PATCH 0482/1355] Make dynamic module HTTP response JSON more human-readable. --- packages/dynamic-import/server.js | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/packages/dynamic-import/server.js b/packages/dynamic-import/server.js index 5c8fd7e78e..6178813a9e 100644 --- a/packages/dynamic-import/server.js +++ b/packages/dynamic-import/server.js @@ -69,7 +69,7 @@ function middleware(request, response) { response.end(JSON.stringify(readTree( JSON.parse(Buffer.concat(chunks)), getPlatform(request) - ))); + ), null, 2)); }); } From bfbb8baf5f70a3adda9882e54eec597a6a72132a Mon Sep 17 00:00:00 2001 From: Ben Newman Date: Sat, 2 Dec 2017 17:12:01 -0500 Subject: [PATCH 0483/1355] Add "/__arch" prefixes to URLs in tools/isobuild/bundler.js. This avoids the need to add architecture-specific prefixes in webapp_server.js, and also fixes dynamic module source map URLs. --- packages/modern-browsers/TODO.md | 2 +- packages/webapp/webapp_server.js | 18 ++------------ tools/isobuild/bundler.js | 34 ++++++++++++++++++++------ tools/tests/old/test-bundler-assets.js | 2 +- 4 files changed, 30 insertions(+), 26 deletions(-) diff --git a/packages/modern-browsers/TODO.md b/packages/modern-browsers/TODO.md index e1d3d7488f..4f51149f8d 100644 --- a/packages/modern-browsers/TODO.md +++ b/packages/modern-browsers/TODO.md @@ -30,7 +30,7 @@ - [ ] Use different plugins in babel-compiler for `web.browser.legacy`. -- [ ] Fix dynamic module source map URLs (prepend `/__arch`). +- [x] Fix dynamic module source map URLs (prepend `/__arch`). - [x] Fix tests failing because of changes to static resource URLs. diff --git a/packages/webapp/webapp_server.js b/packages/webapp/webapp_server.js index a39d1a5028..9119a77d69 100644 --- a/packages/webapp/webapp_server.js +++ b/packages/webapp/webapp_server.js @@ -325,12 +325,7 @@ WebAppInternals.generateBoilerplateInstance = function (arch, additionalOptions.runtimeConfigOverrides || {} ); - const urlPrefix = getUrlPrefixForArch(arch); - return new Boilerplate(arch, manifest, _.extend({ - urlMapper(itemPath) { - return urlPrefix + itemPath; - }, pathMapper(itemPath) { return pathJoin(archPath[arch], itemPath); }, @@ -470,13 +465,6 @@ WebAppInternals.staticFilesMiddleware = function (staticFiles, req, res, next) { } }; -function getUrlPrefixForArch(arch) { - // We prepend '/__' to "scope" the url to Meteor internals. - // XXX we rely on the fact that arch names don't contain slashes - // in that case we would need to uri escape it - return "/__" + arch.replace(/^web\./, ""); -} - // Parse the passed in port value. Return the port as-is if it's a String // (e.g. a Windows Server style named pipe), otherwise return the port as an // integer. @@ -515,12 +503,10 @@ function runWebAppServer() { if (! clientJsonPath || ! clientDir || ! clientJson) throw new Error("Client config file not parsed."); - var urlPrefix = getUrlPrefixForArch(arch); - var manifest = clientJson.manifest; _.each(manifest, function (item) { if (item.url && item.where === "client") { - staticFiles[urlPrefix + getItemPathname(item.url)] = { + staticFiles[getItemPathname(item.url)] = { absolutePath: pathJoin(clientDir, item.path), cacheable: item.cacheable, hash: item.hash, @@ -532,7 +518,7 @@ function runWebAppServer() { if (item.sourceMap) { // Serve the source map too, under the specified URL. We assume all // source maps are cacheable. - staticFiles[urlPrefix + getItemPathname(item.sourceMapUrl)] = { + staticFiles[getItemPathname(item.sourceMapUrl)] = { absolutePath: pathJoin(clientDir, item.sourceMap), cacheable: true }; diff --git a/tools/isobuild/bundler.js b/tools/isobuild/bundler.js index b4c05bee64..42bc7430c3 100644 --- a/tools/isobuild/bundler.js +++ b/tools/isobuild/bundler.js @@ -575,6 +575,14 @@ class File { // file is not intended to be served over HTTP). this.url = null; + // A prefix that will be prepended to this.url. + if (options.arch.startsWith("web.")) { + this.urlPrefix = "/__" + + options.arch.split(".").slice(1).join("."); + } else { + this.urlPrefix = ""; + } + // Is this file guaranteed to never change, so that we can let it be // cached forever? Only makes sense of self.url is set. this.cacheable = options.cacheable || false; @@ -653,7 +661,8 @@ class File { // url, useful for query parameters. setUrlToHash(fileAndUrlSuffix, urlSuffix) { urlSuffix = urlSuffix || ""; - this.url = "/" + this.hash() + fileAndUrlSuffix + urlSuffix; + this.url = this.urlPrefix + "/" + + this.hash() + fileAndUrlSuffix + urlSuffix; this.cacheable = true; this.targetPath = this.hash() + fileAndUrlSuffix; } @@ -688,7 +697,7 @@ class File { // XXX replacing colons with underscores as colon is hard to escape later // on different targets and generally is not a good separator for web. url = colonConverter.convert(url); - this.url = url; + this.url = this.urlPrefix + url; } setTargetPathFromRelPath(relPath) { @@ -1090,9 +1099,10 @@ class Target { const f = new File({ info: 'unbuild ' + resource, + arch: this.arch, data: resource.data, cacheable: false, - hash: resource.hash + hash: resource.hash, }); const relPath = isOs @@ -1134,7 +1144,12 @@ class Target { return; } - const f = new File({ info: 'resource ' + resource.servePath, data: resource.data, cacheable: false}); + const f = new File({ + info: 'resource ' + resource.servePath, + arch: this.arch, + data: resource.data, + cacheable: false, + }); const relPath = stripLeadingSlash(resource.servePath); f.setTargetPathFromRelPath(relPath); @@ -1213,9 +1228,10 @@ class Target { minifyJs(minifierDef, minifyMode) { const staticFiles = []; const dynamicFiles = []; + const { arch } = this; this.js.forEach(file => { - const jsf = new JsFile(file, { arch: this.arch }); + const jsf = new JsFile(file, { arch }); if (file.targetPath.startsWith("dynamic/")) { // Make sure file._hash is cached. @@ -1269,6 +1285,7 @@ class Target { const newFile = new File({ info: 'minified js', + arch, data: Buffer.from(file.data, 'utf8'), }); @@ -1297,6 +1314,7 @@ class Target { const contents = newFile.contents(); const statsFile = new File({ info: "bundle size stats JSON", + arch, data: Buffer.from(JSON.stringify({ minifier: { name: minifierDef.isopack.name, @@ -1488,10 +1506,9 @@ class ClientTarget extends Target { // Minify the CSS in this target minifyCss(minifierDef, minifyMode) { + const { arch } = this; const sources = this.css.map((file) => { - return new CssFile(file, { - arch: this.arch - }); + return new CssFile(file, { arch }); }); const minifier = minifierDef.userPlugin.processFilesForBundle.bind( minifierDef.userPlugin); @@ -1509,6 +1526,7 @@ class ClientTarget extends Target { return source._minifiedFiles.map((file) => { const newFile = new File({ info: 'minified css', + arch, data: Buffer.from(file.data, 'utf8') }); if (file.sourceMap) { diff --git a/tools/tests/old/test-bundler-assets.js b/tools/tests/old/test-bundler-assets.js index 54534c5977..2b29cd08f8 100644 --- a/tools/tests/old/test-bundler-assets.js +++ b/tools/tests/old/test-bundler-assets.js @@ -77,7 +77,7 @@ var runTest = function () { ["/nested/nested.txt", "Nested\n"]]; _.each(testCases, function (file) { var manifestItem = _.find(clientManifest.manifest, function (m) { - return m.url === file[0]; + return m.url.endsWith(file[0]); }); assert(manifestItem); var diskPath = files.pathJoin(tmpOutputDir, "programs", "web.browser", From 9424bf08c3c4fcaa6ac847c8a0deec68d2d5f007 Mon Sep 17 00:00:00 2001 From: Ben Newman Date: Sun, 3 Dec 2017 11:12:20 -0500 Subject: [PATCH 0484/1355] Try loading SockJS dynamically after native WebSocket errors. To save size in modern browsers, JavaScript bundles built for the web.browser architecture no longer statically include the SockJS library. That's safe as long as native WebSockets actually work, but what if there's a problem with the network that necessitates falling back to long-polling or some other SockJS strategy? In those cases, we can load SockJS using a dynamic import(), which is a little slower than including it in the bundle, but that's OK because the module will be permanently cached in IndexedDB in production, and falling back to SockJS should be rare in modern browsers anyway. Note that this trick would not be possible if the implementation of dynamic import() still required a socket connection! (#9384) --- packages/modern-browsers/TODO.md | 2 +- packages/socket-stream-client/browser.js | 13 +++++++++---- packages/socket-stream-client/package.js | 1 + 3 files changed, 11 insertions(+), 5 deletions(-) diff --git a/packages/modern-browsers/TODO.md b/packages/modern-browsers/TODO.md index 4f51149f8d..cf25a4b75a 100644 --- a/packages/modern-browsers/TODO.md +++ b/packages/modern-browsers/TODO.md @@ -25,7 +25,7 @@ - [x] Use `web.browser.legacy` to handle SockJS instead. -- [ ] Load `SockJS` using dynamic `import()` if necessary in modern +- [x] Load `SockJS` using dynamic `import()` if necessary in modern `web.browser` clients. - [ ] Use different plugins in babel-compiler for `web.browser.legacy`. diff --git a/packages/socket-stream-client/browser.js b/packages/socket-stream-client/browser.js index 237a928804..93210be961 100644 --- a/packages/socket-stream-client/browser.js +++ b/packages/socket-stream-client/browser.js @@ -184,11 +184,16 @@ export class ClientStream extends StreamClientCommon { }; this.socket.onclose = () => { - if (this.lastError) { - this._lostConnection(this.lastError); - } else { + Promise.resolve( + // If the socket is closing because there was an error, and we + // didn't load SockJS before, try loading it dynamically before + // retrying the connection. + this.lastError && + ! hasSockJS && + import("./sockjs-0.3.4.js") + ).done(() => { this._lostConnection(); - } + }); }; this.socket.onerror = error => { diff --git a/packages/socket-stream-client/package.js b/packages/socket-stream-client/package.js index fb16c92066..b06f4a81b6 100644 --- a/packages/socket-stream-client/package.js +++ b/packages/socket-stream-client/package.js @@ -14,6 +14,7 @@ Package.onUse(function(api) { api.use("ecmascript"); api.use("modern-browsers"); api.use("retry"); // TODO Try to remove this. + api.use("dynamic-import"); api.addFiles("sockjs-0.3.4.js", "web.browser.legacy"); api.mainModule("browser.js", "client", { lazy: true }); From 969e1b37f0f22097bc984709d6019bba0c310101 Mon Sep 17 00:00:00 2001 From: Ben Newman Date: Sun, 3 Dec 2017 11:55:02 -0500 Subject: [PATCH 0485/1355] Include Promise polyfill only in web.browser.legacy bundles. --- packages/promise/client.js | 5 ++--- packages/promise/common.js | 22 ---------------------- packages/promise/done.js | 13 +++++++++++++ packages/promise/legacy.js | 8 ++++++++ packages/promise/modern.js | 3 +++ packages/promise/package.js | 3 +++ packages/promise/server.js | 13 ++++++++++++- 7 files changed, 41 insertions(+), 26 deletions(-) delete mode 100644 packages/promise/common.js create mode 100644 packages/promise/done.js create mode 100644 packages/promise/legacy.js create mode 100644 packages/promise/modern.js diff --git a/packages/promise/client.js b/packages/promise/client.js index 3ae9d3b539..4d5f18e82e 100644 --- a/packages/promise/client.js +++ b/packages/promise/client.js @@ -1,3 +1,2 @@ -require("meteor-promise").makeCompatible( - exports.Promise = require("./common.js").Promise -); +require("./done.js"); +require("meteor-promise").makeCompatible(Promise); diff --git a/packages/promise/common.js b/packages/promise/common.js deleted file mode 100644 index 31432e1296..0000000000 --- a/packages/promise/common.js +++ /dev/null @@ -1,22 +0,0 @@ -var global = this; - -if (typeof global.Promise === "function") { - exports.Promise = global.Promise; -} else { - exports.Promise = global.Promise = - require("promise/lib/es6-extensions"); -} - -exports.Promise.prototype.done = function (onFulfilled, onRejected) { - var self = this; - - if (arguments.length > 0) { - self = this.then.apply(this, arguments); - } - - self.then(null, function (err) { - Meteor._setImmediate(function () { - throw err; - }); - }); -}; diff --git a/packages/promise/done.js b/packages/promise/done.js new file mode 100644 index 0000000000..5df661990f --- /dev/null +++ b/packages/promise/done.js @@ -0,0 +1,13 @@ +Promise.prototype.done = function (onFulfilled, onRejected) { + var self = this; + + if (arguments.length > 0) { + self = this.then.apply(this, arguments); + } + + self.then(null, function (err) { + Meteor._setImmediate(function () { + throw err; + }); + }); +}; diff --git a/packages/promise/legacy.js b/packages/promise/legacy.js new file mode 100644 index 0000000000..038e6b3c73 --- /dev/null +++ b/packages/promise/legacy.js @@ -0,0 +1,8 @@ +// In legacy environments, load a polyfill if global.Promise was not +// defined in modern.js. +if (typeof global.Promise === "function") { + Promise = global.Promise; +} else { + Promise = global.Promise = + require("promise/lib/es6-extensions"); +} diff --git a/packages/promise/modern.js b/packages/promise/modern.js new file mode 100644 index 0000000000..6f7dee6b54 --- /dev/null +++ b/packages/promise/modern.js @@ -0,0 +1,3 @@ +// Initialize the package-scoped Promise variable with global.Promise in +// all environments, even if it's not defined. +Promise = global.Promise; diff --git a/packages/promise/package.js b/packages/promise/package.js index 541fc877b5..b3741e9adb 100644 --- a/packages/promise/package.js +++ b/packages/promise/package.js @@ -13,6 +13,9 @@ Npm.depends({ Package.onUse(function(api) { api.use("modules"); + api.use("modern-browsers"); + api.addFiles("modern.js"); + api.addFiles("legacy.js", "web.browser.legacy"); api.mainModule("client.js", "client"); api.mainModule("server.js", "server"); api.export("Promise"); diff --git a/packages/promise/server.js b/packages/promise/server.js index b28fdfa1b4..34c5016e9b 100644 --- a/packages/promise/server.js +++ b/packages/promise/server.js @@ -1,6 +1,17 @@ +require("./done.js"); require("meteor-promise").makeCompatible( - exports.Promise = require("./common.js").Promise, + Promise, // Allow every Promise callback to run in a Fiber drawn from a pool of // reusable Fibers. require("fibers") ); + +// Reference: https://caniuse.com/#feat=promises +require("meteor/modern-browsers").setMinimumBrowserVersions({ + chrome: 32, + edge: 12, + firefox: 29, + mobile_safari: 8, + opera: 20, + safari: [7, 1], +}); From a67c0c7ac94d62d4e696cc7a5f28b560ae37e82c Mon Sep 17 00:00:00 2001 From: Ben Newman Date: Mon, 4 Dec 2017 13:18:00 -0500 Subject: [PATCH 0486/1355] Record location of decisive calls to setMinimumBrowserVersions. cc @hwillson --- packages/modern-browsers/modern.js | 32 ++++++++++++++++++++++-------- 1 file changed, 24 insertions(+), 8 deletions(-) diff --git a/packages/modern-browsers/modern.js b/packages/modern-browsers/modern.js index 27f3c44f79..e54c73cb3e 100644 --- a/packages/modern-browsers/modern.js +++ b/packages/modern-browsers/modern.js @@ -15,7 +15,7 @@ function isModern(browser) { ~~browser.major, ~~browser.minor, ~~browser.patch, - ], minimumVersions[browser.name]); + ], minimumVersions[browser.name].version); } // Any package that depends on the modern-browsers package can call this @@ -25,15 +25,31 @@ function isModern(browser) { // requested minimum versions for each browser. function setMinimumBrowserVersions(versions) { Object.keys(versions).forEach(browserName => { - const newMinVersion = versions[browserName]; - if (hasOwn.call(minimumVersions, browserName)) { - if (greaterThan(newMinVersion, minimumVersions[browserName])) { - minimumVersions[browserName] = copy(newMinVersion); - } - } else { - minimumVersions[browserName] = copy(newMinVersion); + if (hasOwn.call(minimumVersions, browserName) && + ! greaterThan(versions[browserName], + minimumVersions[browserName].version)) { + return; + } + + minimumVersions[browserName] = { + version: copy(versions[browserName]), + blame: getCaller("setMinimumBrowserVersions") + }; + }); +} + +function getCaller(calleeName) { + const error = new Error; + Error.captureStackTrace(error); + const lines = error.stack.split("\n"); + let caller; + lines.some((line, i) => { + if (line.indexOf(calleeName) >= 0) { + caller = lines[i + 1].trim(); + return true; } }); + return caller; } Object.assign(exports, { From 18ab7e9b392ee015169f57145c4e7805dbceda46 Mon Sep 17 00:00:00 2001 From: Ben Newman Date: Tue, 5 Dec 2017 13:34:50 -0500 Subject: [PATCH 0487/1355] Enable useBuiltIns option when compiling for modern JS environments. Background: https://github.com/babel/babel/tree/master/packages/babel-plugin-transform-runtime#usebuiltins https://github.com/meteor/babel/commit/242538dea13dd4600e2ba2fc1d3bd7d242e35304 https://github.com/meteor/babel/commit/855d5dda803316ccfae755e091555acaab9c6957 --- packages/babel-compiler/babel-compiler.js | 15 ++++++++++++++- 1 file changed, 14 insertions(+), 1 deletion(-) diff --git a/packages/babel-compiler/babel-compiler.js b/packages/babel-compiler/babel-compiler.js index 0b5818e579..7526ec0f51 100644 --- a/packages/babel-compiler/babel-compiler.js +++ b/packages/babel-compiler/babel-compiler.js @@ -71,13 +71,26 @@ BCp.processOneFileForTarget = function (inputFile, source) { ! excludedFileExtensionPattern.test(inputFilePath)) { var extraFeatures = Object.assign({}, this.extraFeatures); + var arch = inputFile.getArch(); - if (inputFile.getArch().startsWith("os.")) { + if (arch.startsWith("os.")) { // Start with a much simpler set of Babel presets and plugins if // we're compiling for Node 8. extraFeatures.nodeMajorVersion = parseInt(process.versions.node); } + if (arch !== "web.browser.legacy") { + extraFeatures.runtime = { + // Import Babel helpers from @babel/runtime/helpers/builtin/* + // instead of @babel/runtime/helpers/* to prevent those helper + // modules from importing anything from core-js. The polyfills and + // shims provided by core-js are not needed in modern JS + // environments (browsers and Node), and will be polyfilled by the + // ecmascript-runtime-{client,server} packages anyway. + useBuiltIns: true + }; + } + if (! extraFeatures.hasOwnProperty("jscript")) { // Perform some additional transformations to improve compatibility // in older browsers (e.g. wrapping named function expressions, per From 62f304bdbc60d98d7f252d2e55e487f5b72f175a Mon Sep 17 00:00:00 2001 From: Ben Newman Date: Tue, 5 Dec 2017 13:39:31 -0500 Subject: [PATCH 0488/1355] Send dynamic modules appropriate for web.browser[.legacy]. Just as the URLs of static JS resources depend on request.browser, so too must dynamic modules be loaded from the correct build directory based on the user agent string of the __meteor__/dynamic-import/fetch HTTP request. --- packages/dynamic-import/package.js | 1 + packages/dynamic-import/server.js | 7 ++++++- 2 files changed, 7 insertions(+), 1 deletion(-) diff --git a/packages/dynamic-import/package.js b/packages/dynamic-import/package.js index 0249edb785..ec07b6ac23 100644 --- a/packages/dynamic-import/package.js +++ b/packages/dynamic-import/package.js @@ -12,6 +12,7 @@ Package.onUse(function (api) { api.use("modules"); api.use("promise"); api.use("http"); + api.use("modern-browsers"); api.mainModule("client.js", "client"); api.mainModule("server.js", "server"); diff --git a/packages/dynamic-import/server.js b/packages/dynamic-import/server.js index 6178813a9e..761aa39898 100644 --- a/packages/dynamic-import/server.js +++ b/packages/dynamic-import/server.js @@ -7,6 +7,7 @@ const { normalize: pathNormalize, } = require("path"); const { fetchURL } = require("./common.js"); +const { isModern } = require("meteor/modern-browsers"); const hasOwn = Object.prototype.hasOwnProperty; require("./security.js"); @@ -74,7 +75,11 @@ function middleware(request, response) { } function getPlatform(request) { - let platform = "web.browser"; + const { identifyBrowser } = Package.webapp.WebAppInternals; + const browser = identifyBrowser(request.headers["user-agent"]); + let platform = isModern(browser) + ? "web.browser" + : "web.browser.legacy"; // If the __dynamicImport request includes a secret key, and it matches // dynamicImportInfo[platform].key, use platform instead of the default From 24d757c3448c59cff04bdb00e4b13e1ca60d18c7 Mon Sep 17 00:00:00 2001 From: Ben Newman Date: Tue, 5 Dec 2017 17:05:03 -0500 Subject: [PATCH 0489/1355] Import only modern core-js polyfills in ecmascript-runtime-client. In my research, I found the data used by @babel/preset-env to be more conservative than necessary, so I have not followed their minimum version constraints exactly. For example, every feature of the ECMAScript `Map` API is clearly supported in Firefox 45+, according to MDN: https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Map#Browser_compatibility However, @babel/preset-env requires `core-js/modules/es6.map` in any version of Firefox earlier than 53: https://github.com/babel/babel/blob/e270fbe7f0f47af22af462c18196c11d7a870c67/packages/babel-preset-env/data/built-ins.json#L117 Since I can't find any evidence that @babel/preset-env knows better than other sources (I think they might just be using a compatibility table that doesn't go back far enough), I have tentatively trusted MDN in picking these versions. If any bugs are ever reported due to this choice of versions and polyfills, we have two options to fix them: * Tighten the minimum version constraints so that the affected browsers are considered legacy instead of modern. * Include the missing `core-js` polyfills for all modern browsers. --- packages/ecmascript-runtime-client/modern.js | 7 +++++++ packages/ecmascript-runtime-client/package.js | 6 ++++-- packages/ecmascript-runtime-client/versions.js | 12 ++++++++++++ .../.npm/package/npm-shrinkwrap.json | 6 +++--- packages/ecmascript-runtime-server/package.js | 6 +++--- packages/ecmascript-runtime/package.js | 4 ++-- packages/modern-browsers/TODO.md | 2 +- 7 files changed, 32 insertions(+), 11 deletions(-) create mode 100644 packages/ecmascript-runtime-client/versions.js diff --git a/packages/ecmascript-runtime-client/modern.js b/packages/ecmascript-runtime-client/modern.js index 82a8ced8fe..7d8307deb5 100644 --- a/packages/ecmascript-runtime-client/modern.js +++ b/packages/ecmascript-runtime-client/modern.js @@ -1,2 +1,9 @@ +require("core-js/modules/es6.object.is"); +require("core-js/modules/es6.function.name"); +require("core-js/modules/es6.number.is-finite"); +require("core-js/modules/es6.number.is-nan"); +require("core-js/modules/es7.object.values"); +require("core-js/modules/es7.object.entries"); +require("core-js/modules/es7.object.get-own-property-descriptors"); require("core-js/modules/es7.string.pad-start"); require("core-js/modules/es7.string.pad-end"); diff --git a/packages/ecmascript-runtime-client/package.js b/packages/ecmascript-runtime-client/package.js index c9e1dbbed5..66d6d8e62e 100644 --- a/packages/ecmascript-runtime-client/package.js +++ b/packages/ecmascript-runtime-client/package.js @@ -12,9 +12,11 @@ Package.onUse(function(api) { // Object.defineProperties that are buggy in older browsers. api.use("es5-shim", { weak: true }); - api.use("modules", "client"); - api.use("promise", "client"); + api.use("modules"); + api.use("promise"); + api.use("modern-browsers"); + api.mainModule("versions.js", "server"); api.mainModule("modern.js", "client"); api.mainModule("legacy.js", "web.browser.legacy"); diff --git a/packages/ecmascript-runtime-client/versions.js b/packages/ecmascript-runtime-client/versions.js new file mode 100644 index 0000000000..66a221c50e --- /dev/null +++ b/packages/ecmascript-runtime-client/versions.js @@ -0,0 +1,12 @@ +const { + setMinimumBrowserVersions, +} = require("meteor/modern-browsers"); + +setMinimumBrowserVersions({ + chrome: 49, + edge: 12, + firefox: 45, + mobile_safari: 10, + opera: 38, + safari: 10, +}); diff --git a/packages/ecmascript-runtime-server/.npm/package/npm-shrinkwrap.json b/packages/ecmascript-runtime-server/.npm/package/npm-shrinkwrap.json index a06fe210bc..f2b94f68ee 100644 --- a/packages/ecmascript-runtime-server/.npm/package/npm-shrinkwrap.json +++ b/packages/ecmascript-runtime-server/.npm/package/npm-shrinkwrap.json @@ -2,9 +2,9 @@ "lockfileVersion": 1, "dependencies": { "core-js": { - "version": "2.4.1", - "resolved": "https://registry.npmjs.org/core-js/-/core-js-2.4.1.tgz", - "integrity": "sha1-TekR5mew6ukSTjQlS1OupvxhjT4=" + "version": "2.5.1", + "resolved": "https://registry.npmjs.org/core-js/-/core-js-2.5.1.tgz", + "integrity": "sha1-rmh03GaTd4m4B1T/VCjfZoGcpQs=" } } } diff --git a/packages/ecmascript-runtime-server/package.js b/packages/ecmascript-runtime-server/package.js index c5ab694565..f7f69f3d70 100644 --- a/packages/ecmascript-runtime-server/package.js +++ b/packages/ecmascript-runtime-server/package.js @@ -1,16 +1,16 @@ Package.describe({ name: "ecmascript-runtime-server", - version: "0.5.0", + version: "0.6.0", summary: "Polyfills for new ECMAScript 2015 APIs like Map and Set", git: "https://github.com/meteor/meteor/tree/devel/packages/ecmascript-runtime-client", documentation: "README.md" }); Npm.depends({ - "core-js": "2.4.1" + "core-js": "2.5.1" }); Package.onUse(function(api) { - api.use("modules", "server"); + api.use("modules"); api.mainModule("runtime.js", "server"); }); diff --git a/packages/ecmascript-runtime/package.js b/packages/ecmascript-runtime/package.js index 1552886ba0..5b10d8b8a5 100644 --- a/packages/ecmascript-runtime/package.js +++ b/packages/ecmascript-runtime/package.js @@ -1,13 +1,13 @@ Package.describe({ name: "ecmascript-runtime", - version: "0.5.0", + version: "0.6.0", summary: "Polyfills for new ECMAScript 2015 APIs like Map and Set", git: "https://github.com/meteor/ecmascript-runtime", documentation: "README.md" }); Package.onUse(function(api) { - api.imply("ecmascript-runtime-client", "client"); + api.imply("ecmascript-runtime-client"); api.imply("ecmascript-runtime-server", "server"); }); diff --git a/packages/modern-browsers/TODO.md b/packages/modern-browsers/TODO.md index cf25a4b75a..f0198efc2d 100644 --- a/packages/modern-browsers/TODO.md +++ b/packages/modern-browsers/TODO.md @@ -9,7 +9,7 @@ - [x] Import different `core-js` polyfills in `ecmascript-runtime-client` depending on modern/legacy classification. -- [ ] Really vet the set of imported `core-js` polyfills based on known +- [x] Really vet the set of imported `core-js` polyfills based on known minimum versions imposed by `setMinimumBrowserVersions`. - [ ] Create an `isobuild:web-browser-legacy` pseudopackage. From e33d1552c22951e3f5e8251da48d7531643b9655 Mon Sep 17 00:00:00 2001 From: Ben Newman Date: Tue, 5 Dec 2017 17:40:02 -0500 Subject: [PATCH 0490/1355] Avoid overriding babelCompilerFeatures.runtime if already defined. This led to a regression in coffeescript-test-helper because the truthy extraFeatures.runtime property allowed require("@babel/runtime/...") to appear in a compiled CoffeeScript file, though require was not defined. If @GeoffreyBooth agrees, we could have the coffeescript package api.imply("modules"), which would make require would work, but I seem to remember we had some reasons for not doing that previously. --- packages/babel-compiler/babel-compiler.js | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/packages/babel-compiler/babel-compiler.js b/packages/babel-compiler/babel-compiler.js index 7526ec0f51..4cfd5ab6a8 100644 --- a/packages/babel-compiler/babel-compiler.js +++ b/packages/babel-compiler/babel-compiler.js @@ -79,7 +79,8 @@ BCp.processOneFileForTarget = function (inputFile, source) { extraFeatures.nodeMajorVersion = parseInt(process.versions.node); } - if (arch !== "web.browser.legacy") { + if (arch !== "web.browser.legacy" && + ! hasOwn.call(extraFeatures, "runtime")) { extraFeatures.runtime = { // Import Babel helpers from @babel/runtime/helpers/builtin/* // instead of @babel/runtime/helpers/* to prevent those helper From 5d0fd60c61bbc7a368526f40b1b9344fea3263fd Mon Sep 17 00:00:00 2001 From: Ben Newman Date: Thu, 7 Dec 2017 14:27:54 -0500 Subject: [PATCH 0491/1355] Allow explicit source parameter to setMinimumBrowserVersions. Calling getCaller was noticeably slowing down server startup, unfortunately. cc @hwillson --- .../ecmascript-runtime-client/versions.js | 2 +- packages/modern-browsers/modern.js | 20 +++++++++---------- packages/promise/server.js | 2 +- packages/socket-stream-client/server.js | 2 +- 4 files changed, 13 insertions(+), 13 deletions(-) diff --git a/packages/ecmascript-runtime-client/versions.js b/packages/ecmascript-runtime-client/versions.js index 66a221c50e..2172438842 100644 --- a/packages/ecmascript-runtime-client/versions.js +++ b/packages/ecmascript-runtime-client/versions.js @@ -9,4 +9,4 @@ setMinimumBrowserVersions({ mobile_safari: 10, opera: 38, safari: 10, -}); +}, module.id); diff --git a/packages/modern-browsers/modern.js b/packages/modern-browsers/modern.js index e54c73cb3e..d0d10d6c4c 100644 --- a/packages/modern-browsers/modern.js +++ b/packages/modern-browsers/modern.js @@ -23,7 +23,7 @@ function isModern(browser) { // versions that qualify as "modern." The final decision between // web.browser.legacy and web.browser will be based on the maximum of all // requested minimum versions for each browser. -function setMinimumBrowserVersions(versions) { +function setMinimumBrowserVersions(versions, source) { Object.keys(versions).forEach(browserName => { if (hasOwn.call(minimumVersions, browserName) && ! greaterThan(versions[browserName], @@ -33,7 +33,7 @@ function setMinimumBrowserVersions(versions) { minimumVersions[browserName] = { version: copy(versions[browserName]), - blame: getCaller("setMinimumBrowserVersions") + source: source || getCaller("setMinimumBrowserVersions") }; }); } @@ -96,7 +96,10 @@ function greaterThan(a, b) { return false; } -// ECMAScript 2015 Classes +function makeSource(feature) { + return module.id + " (" + feature + ")" +} + setMinimumBrowserVersions({ chrome: 49, edge: 12, @@ -104,9 +107,8 @@ setMinimumBrowserVersions({ mobile_safari: [9, 2], opera: 36, safari: 9, -}); +}, makeSource("classes")); -// ECMAScript 2015 Generator Functions setMinimumBrowserVersions({ chrome: 39, edge: 13, @@ -116,9 +118,8 @@ setMinimumBrowserVersions({ safari: 10, // Disallow any version of PhantomJS. phantomjs: Infinity, -}); +}, makeSource("generator functions")); -// ECMAScript 2015 Template Literals setMinimumBrowserVersions({ chrome: 41, edge: 13, @@ -126,9 +127,8 @@ setMinimumBrowserVersions({ mobile_safari: [9, 2], opera: 29, safari: [9, 1], -}); +}, makeSource("template literals")); -// ECMAScript 2015 Symbols setMinimumBrowserVersions({ chrome: 38, edge: 12, @@ -136,4 +136,4 @@ setMinimumBrowserVersions({ mobile_safari: 9, opera: 25, safari: 9, -}); +}, makeSource("symbols")); diff --git a/packages/promise/server.js b/packages/promise/server.js index 34c5016e9b..2b4893abe6 100644 --- a/packages/promise/server.js +++ b/packages/promise/server.js @@ -14,4 +14,4 @@ require("meteor/modern-browsers").setMinimumBrowserVersions({ mobile_safari: 8, opera: 20, safari: [7, 1], -}); +}, module.id); diff --git a/packages/socket-stream-client/server.js b/packages/socket-stream-client/server.js index a8679f3be8..589b41c698 100644 --- a/packages/socket-stream-client/server.js +++ b/packages/socket-stream-client/server.js @@ -10,4 +10,4 @@ setMinimumBrowserVersions({ mobile_safari: [6, 1], phantomjs: 2, safari: 7, -}); +}, module.id); From eba781fd5565d46417db1e1cd9904ba5a1ff5af1 Mon Sep 17 00:00:00 2001 From: Ben Newman Date: Thu, 7 Dec 2017 16:28:21 -0500 Subject: [PATCH 0492/1355] Tolerate non-enumerable .raw property in template tag function. --- packages/ecmascript/runtime-tests.js | 36 ++++++++++++---------------- 1 file changed, 15 insertions(+), 21 deletions(-) diff --git a/packages/ecmascript/runtime-tests.js b/packages/ecmascript/runtime-tests.js index 556f011d4f..4ff00aa91e 100644 --- a/packages/ecmascript/runtime-tests.js +++ b/packages/ecmascript/runtime-tests.js @@ -2,30 +2,24 @@ const isNode8OrLater = Meteor.isServer && parseInt(process.versions.node) >= 8; Tinytest.add("ecmascript - runtime - template literals", (test) => { - function dump(pieces) { - var copy = {}; - // Can't use _.extend({}, pieces) because es5-shim adds enumerable - // methods to Array.prototype, and _.extend has no own property check. - _.each(_.keys(pieces), key => copy[key] = pieces[key]); - return [copy, _.toArray(arguments).slice(1)]; + function dump(strings, ...expressions) { + const copy = Object.create(null); + Object.assign(copy, strings); + copy.raw = strings.raw; + return [copy, expressions]; }; - const foo = 'B'; - // uses `babelHelpers.taggedTemplateLiteralLoose` - test.equal(`\u0041${foo}C`, 'ABC'); - const expected = [{ - 0: 'A', - 1: 'C', - raw: ['\\u0041', 'C'] + const foo = "B"; + + test.equal(`\u0041${foo}C`, "ABC"); + + test.equal(dump`\u0041${foo}C`, [{ + 0: "A", + 1: "C", + raw: ["\\u0041", "C"] }, [ - 'B' - ]]; - - if (isNode8OrLater) { - delete expected[0].raw; - } - - test.equal(dump`\u0041${foo}C`, expected); + "B" + ]]); }); Tinytest.add("ecmascript - runtime - classes - basic", (test) => { From 4529885a6af7e7d1091b1535e2f4daa337415f7b Mon Sep 17 00:00:00 2001 From: Ben Newman Date: Wed, 6 Dec 2017 21:04:53 -0500 Subject: [PATCH 0493/1355] Compile ECMAScript for web.browser with fewer Babel plugins. https://github.com/meteor/babel-preset-meteor/blob/master/modern.js https://github.com/meteor/babel/blob/dfcce32868/options.js#L81 With the minimum versions from babel-preset-meteor/modern-versions.js, the difference between "modern" and "legacy" browsers boils down to supporting native async functions. I'm eager to stop compiling generator functions with Regenerator, and none of the transforms that compile async functions to native generator functions seem much better than the Regenerator experience (source maps are still wonky within the async function, so it's obvious you're not working with native code). Native async functions are supported by 73% of desktop and mobile browsers worldwide (81% in the US), and that percentage is only going to keep increasing. I see no reason not to embrace this future now. --- packages/babel-compiler/babel-compiler.js | 15 ++------------- packages/babel-compiler/babel.js | 4 ++++ packages/babel-compiler/package.js | 4 +++- packages/babel-compiler/versions.js | 7 +++++++ packages/modern-browsers/TODO.md | 2 +- packages/modern-browsers/modern-tests.js | 4 ++-- packages/modules/.npm/package/npm-shrinkwrap.json | 6 +++--- 7 files changed, 22 insertions(+), 20 deletions(-) create mode 100644 packages/babel-compiler/versions.js diff --git a/packages/babel-compiler/babel-compiler.js b/packages/babel-compiler/babel-compiler.js index 4cfd5ab6a8..0df17cfd68 100644 --- a/packages/babel-compiler/babel-compiler.js +++ b/packages/babel-compiler/babel-compiler.js @@ -77,19 +77,8 @@ BCp.processOneFileForTarget = function (inputFile, source) { // Start with a much simpler set of Babel presets and plugins if // we're compiling for Node 8. extraFeatures.nodeMajorVersion = parseInt(process.versions.node); - } - - if (arch !== "web.browser.legacy" && - ! hasOwn.call(extraFeatures, "runtime")) { - extraFeatures.runtime = { - // Import Babel helpers from @babel/runtime/helpers/builtin/* - // instead of @babel/runtime/helpers/* to prevent those helper - // modules from importing anything from core-js. The polyfills and - // shims provided by core-js are not needed in modern JS - // environments (browsers and Node), and will be polyfilled by the - // ecmascript-runtime-{client,server} packages anyway. - useBuiltIns: true - }; + } else if (arch === "web.browser") { + extraFeatures.modernBrowsers = true; } if (! extraFeatures.hasOwnProperty("jscript")) { diff --git a/packages/babel-compiler/babel.js b/packages/babel-compiler/babel.js index 90f88704aa..f95a52c9c0 100644 --- a/packages/babel-compiler/babel.js +++ b/packages/babel-compiler/babel.js @@ -44,5 +44,9 @@ Babel = { getMinifierOptions: function (extraFeatures) { return getMeteorBabel().getMinifierOptions(extraFeatures); + }, + + getMinimumModernBrowserVersions: function () { + return Npm.require("meteor-babel/modern-versions.js").get(); } }; diff --git a/packages/babel-compiler/package.js b/packages/babel-compiler/package.js index f9f59d4c02..d496fd2360 100644 --- a/packages/babel-compiler/package.js +++ b/packages/babel-compiler/package.js @@ -15,10 +15,12 @@ Npm.depends({ Package.onUse(function (api) { api.use('ecmascript-runtime', 'server'); + api.use('modern-browsers'); api.addFiles([ 'babel.js', - 'babel-compiler.js' + 'babel-compiler.js', + 'versions.js', ], 'server'); api.export('Babel', 'server'); diff --git a/packages/babel-compiler/versions.js b/packages/babel-compiler/versions.js new file mode 100644 index 0000000000..a8c75298b7 --- /dev/null +++ b/packages/babel-compiler/versions.js @@ -0,0 +1,7 @@ +// Make sure code compiled with features.modernBrowsers is delivered only +// to browsers that satisfy the assumptions of meteor-babel's modern Babel +// configuration. +Package["modern-browsers"].setMinimumBrowserVersions( + Babel.getMinimumModernBrowserVersions(), + "packages/babel-compiler/versions.js" +); diff --git a/packages/modern-browsers/TODO.md b/packages/modern-browsers/TODO.md index f0198efc2d..55ea5a9d1d 100644 --- a/packages/modern-browsers/TODO.md +++ b/packages/modern-browsers/TODO.md @@ -28,7 +28,7 @@ - [x] Load `SockJS` using dynamic `import()` if necessary in modern `web.browser` clients. -- [ ] Use different plugins in babel-compiler for `web.browser.legacy`. +- [x] Use different plugins in babel-compiler for `web.browser.legacy`. - [x] Fix dynamic module source map URLs (prepend `/__arch`). diff --git a/packages/modern-browsers/modern-tests.js b/packages/modern-browsers/modern-tests.js index 581ce5b540..47b58c1c22 100644 --- a/packages/modern-browsers/modern-tests.js +++ b/packages/modern-browsers/modern-tests.js @@ -4,12 +4,12 @@ import { isModern } from "meteor/modern-browsers"; Tinytest.add('modern-browsers - versions - basic', function (test) { test.isTrue(isModern({ name: "chrome", - major: 50, + major: 60, })); test.isFalse(isModern({ name: "firefox", - major: 44, + major: 25, })); test.isTrue(isModern({ diff --git a/packages/modules/.npm/package/npm-shrinkwrap.json b/packages/modules/.npm/package/npm-shrinkwrap.json index 0cc2846561..8f453fbf13 100644 --- a/packages/modules/.npm/package/npm-shrinkwrap.json +++ b/packages/modules/.npm/package/npm-shrinkwrap.json @@ -22,9 +22,9 @@ "integrity": "sha512-jA6C/TdOf0g1A9WlQL7enh8yfGXgCmU3qbOpgc98vzRNEgu4TrAnSGec+uLxHdci96lftdBow3q0X3pbXnzmGQ==" }, "semver": { - "version": "5.4.1", - "resolved": "https://registry.npmjs.org/semver/-/semver-5.4.1.tgz", - "integrity": "sha512-WfG/X9+oATh81XtllIo/I8gOiY9EXRdv1cQdyykeXK17YcUW3EXUAi2To4pcH6nZtJPr7ZOpM5OMyWJZm+8Rsg==" + "version": "5.5.0", + "resolved": "https://registry.npmjs.org/semver/-/semver-5.5.0.tgz", + "integrity": "sha512-4SJ3dm0WAwWy/NVeioZh5AntkdJoWKxHxcmyP622fOkgHa4z3R0TdBJICINyaSDE6uNwVc8gZr+ZinwZAH4xIA==" }, "yallist": { "version": "3.0.2", From 8ccbe3baa040eb6b41592d23739d2d099d1c7fd1 Mon Sep 17 00:00:00 2001 From: Ben Newman Date: Sun, 10 Dec 2017 14:19:08 -0500 Subject: [PATCH 0494/1355] Avoid breaking backwards compatibility for asset URLs. --- packages/http/httpcall_tests.js | 2 +- packages/modern-browsers/TODO.md | 3 +++ tools/isobuild/bundler.js | 15 ++++++++++++++- tools/tests/compiler-plugins.js | 5 ++++- tools/tests/modules.js | 6 +++++- 5 files changed, 27 insertions(+), 4 deletions(-) diff --git a/packages/http/httpcall_tests.js b/packages/http/httpcall_tests.js index 6be8a78d1b..48cd523b5b 100644 --- a/packages/http/httpcall_tests.js +++ b/packages/http/httpcall_tests.js @@ -487,7 +487,7 @@ if (Meteor.isServer) { function do_test(path, code, match) { const prefix = Meteor.isModern - ? "/__browser" + ? "" // No prefix for web.browser (modern). : "/__browser.legacy"; HTTP.get(url_base() + prefix + path, { diff --git a/packages/modern-browsers/TODO.md b/packages/modern-browsers/TODO.md index 55ea5a9d1d..61f5a81067 100644 --- a/packages/modern-browsers/TODO.md +++ b/packages/modern-browsers/TODO.md @@ -12,6 +12,9 @@ - [x] Really vet the set of imported `core-js` polyfills based on known minimum versions imposed by `setMinimumBrowserVersions`. +- [x] Make sure the new url prefixes aren't too disruptive for public + assets like images. + - [ ] Create an `isobuild:web-browser-legacy` pseudopackage. - [ ] Add tests to the `modules` test app. diff --git a/tools/isobuild/bundler.js b/tools/isobuild/bundler.js index 42bc7430c3..564af1e15b 100644 --- a/tools/isobuild/bundler.js +++ b/tools/isobuild/bundler.js @@ -576,7 +576,20 @@ class File { this.url = null; // A prefix that will be prepended to this.url. - if (options.arch.startsWith("web.")) { + if (options.arch.startsWith("web.") && + // Use /__browser.legacy/... as a prefix for web.browser.legacy + // URLs, but avoid adding a special prefix to resource URLs for + // modern browsers. Though boilerplate-generator will happily use + // whatever URLs we invent here, it's important that assets like + // images are available from predictable URLs (without any + // arch-specific prefixes), since humans might use those URLs in + // hand-written code. Moreover, non-JS assets are typically the + // same for both modern and legacy browsers, so the URL prefix + // doesn't actually make a difference. In the unlikely event that + // someone adds different assets with the same path to web.browser + // and web.browser.legacy, the legacy version can always be + // fetched from the /__browser.legacy/... URL. + options.arch !== "web.browser") { this.urlPrefix = "/__" + options.arch.split(".").slice(1).join("."); } else { diff --git a/tools/tests/compiler-plugins.js b/tools/tests/compiler-plugins.js index b2800013fb..c39e15fa4e 100644 --- a/tools/tests/compiler-plugins.js +++ b/tools/tests/compiler-plugins.js @@ -418,7 +418,10 @@ selftest.define("compiler plugins - compiler throws", () => { }); function checkModernAndLegacyUrls(path, test) { - test(getUrl("http://localhost:3000/__browser" + path)); + if (! path.startsWith("/")) { + path = "/" + path; + } + test(getUrl("http://localhost:3000" + path)); test(getUrl("http://localhost:3000/__browser.legacy" + path)); } diff --git a/tools/tests/modules.js b/tools/tests/modules.js index 56051dfe07..2865a3a0f3 100644 --- a/tools/tests/modules.js +++ b/tools/tests/modules.js @@ -11,6 +11,7 @@ function startRun(sandbox) { run.match("myapp"); run.match("proxy"); run.tellMongo(MONGO_LISTENING); + run.waitSecs(20); run.match("MongoDB"); return run; }; @@ -94,6 +95,9 @@ selftest.define("modules - import chain for packages", () => { }); function checkModernAndLegacyUrls(path, test) { - test(getUrl("http://localhost:3000/__browser" + path)); + if (! path.startsWith("/")) { + path = "/" + path; + } + test(getUrl("http://localhost:3000" + path)); test(getUrl("http://localhost:3000/__browser.legacy" + path)); } From 2fa38bdf4c2bb66ad0c4f64502b5261c4f394609 Mon Sep 17 00:00:00 2001 From: Ben Newman Date: Tue, 19 Dec 2017 19:29:05 -0500 Subject: [PATCH 0495/1355] Convert utils/archinfo.js to use ECMAScript exports. --- tools/utils/archinfo.js | 37 ++++++++++++++----------------------- 1 file changed, 14 insertions(+), 23 deletions(-) diff --git a/tools/utils/archinfo.js b/tools/utils/archinfo.js index 47ba49a4f0..a6c634ec79 100644 --- a/tools/utils/archinfo.js +++ b/tools/utils/archinfo.js @@ -143,7 +143,7 @@ export const VALID_ARCHITECTURES = { // // If you change this, also change scripts/admin/launch-meteor var _host = null; // memoize -var host = function () { +export function host() { if (! _host) { var run = function (...args) { var result = utils.execFileSync(args[0], args.slice(1)).stdout; @@ -188,7 +188,7 @@ var host = function () { } return _host; -}; +} // In order to springboard to earlier Meteor releases that did not have // 64-bit Windows builds, Windows installations must be allowed to @@ -212,7 +212,7 @@ exports.acceptableMeteorToolArches = function () { // 64-bit Windows machines that have been using a 32-bit version of Meteor // are eligible to switch to 64-bit beginning with Meteor 1.6, which is // the first version of Meteor that contains this code. -exports.canSwitchTo64Bit = function () { +export function canSwitchTo64Bit() { // Automatically switching from 32-bit to 64-bit Windows builds is // disabled for the time being, since downloading additional builds of // meteor-tool isn't stable enough at the moment (on Windows, at least) @@ -220,7 +220,7 @@ exports.canSwitchTo64Bit = function () { return false && utils.architecture() === "x86_64" && host() === "os.windows.x86_32"; -}; +} // True if `host` (an architecture name such as 'os.linux.x86_64') can run // programs of architecture `program` (which might be something like 'os', @@ -230,17 +230,17 @@ exports.canSwitchTo64Bit = function () { // necessarily have to be a fully qualified architecture name. This // function just checks to see if `program` describes a set of // environments that is a (non-strict) superset of `host`. -var matches = function (host, program) { +export function matches(host, program) { return host.substr(0, program.length) === program && (host.length === program.length || host.substr(program.length, 1) === "."); -}; +} // Like `supports`, but instead taken an array of possible // architectures as its second argument. Returns the most specific // match, or null if none match. Throws an error if `programs` // contains exact duplicates. -var mostSpecificMatch = function (host, programs) { +export function mostSpecificMatch(host, programs) { var seen = {}; var best = null; @@ -249,14 +249,14 @@ var mostSpecificMatch = function (host, programs) { throw new Error("Duplicate architecture: " + p); } seen[p] = true; - if (archinfo.matches(host, p) && + if (matches(host, p) && (! best || p.length > best.length)) { best = p; } }); return best; -}; +} // `programs` is a set of architectures (as an array of string, which // may contain duplicates). Determine if there exists any architecture @@ -267,7 +267,7 @@ var mostSpecificMatch = function (host, programs) { // For example, for 'os' and 'os.osx', return 'os.osx'. For 'os' and // 'os.linux.x86_64', return 'os.linux.x86_64'. For 'os' and 'browser', throw an // exception. -var leastSpecificDescription = function (programs) { +export function leastSpecificDescription(programs) { if (programs.length === 0) { return ''; } @@ -280,27 +280,18 @@ var leastSpecificDescription = function (programs) { // compatible with the most specific then it must be the least // specific compatible description. _.each(programs, function (p) { - if (! archinfo.matches(longest, p)) { + if (! matches(longest, p)) { throw new Error("Incompatible architectures: '" + p + "' and '" + longest + "'"); } }); return longest; -}; +} -var withoutSpecificOs = function (arch) { +export function withoutSpecificOs(arch) { if (arch.substr(0, 3) === 'os.') { return 'os'; } return arch; -}; - -var archinfo = exports; -_.extend(archinfo, { - host: host, - matches: matches, - mostSpecificMatch: mostSpecificMatch, - leastSpecificDescription: leastSpecificDescription, - withoutSpecificOs: withoutSpecificOs -}); +} From 7fc1b1b73cb25a9608985d3c8b2068db9732a8d7 Mon Sep 17 00:00:00 2001 From: Ben Newman Date: Tue, 19 Dec 2017 20:18:01 -0500 Subject: [PATCH 0496/1355] Introduce "legacy" shorthand for web.browser.legacy and web.cordova. --- packages/ecmascript-runtime-client/package.js | 8 +-- packages/es5-shim/package.js | 2 +- packages/modern-browsers/TODO.md | 3 ++ packages/promise/package.js | 2 +- packages/socket-stream-client/package.js | 2 +- tools/isobuild/package-api.js | 49 ++++++++++++------- 6 files changed, 41 insertions(+), 25 deletions(-) diff --git a/packages/ecmascript-runtime-client/package.js b/packages/ecmascript-runtime-client/package.js index 66d6d8e62e..eb67728d72 100644 --- a/packages/ecmascript-runtime-client/package.js +++ b/packages/ecmascript-runtime-client/package.js @@ -19,8 +19,8 @@ Package.onUse(function(api) { api.mainModule("versions.js", "server"); api.mainModule("modern.js", "client"); - api.mainModule("legacy.js", "web.browser.legacy"); - api.export("Symbol", "web.browser.legacy"); - api.export("Map", "web.browser.legacy"); - api.export("Set", "web.browser.legacy"); + api.mainModule("legacy.js", "legacy"); + api.export("Symbol", "legacy"); + api.export("Map", "legacy"); + api.export("Set", "legacy"); }); diff --git a/packages/es5-shim/package.js b/packages/es5-shim/package.js index 45dad6042f..50bc3e25b2 100644 --- a/packages/es5-shim/package.js +++ b/packages/es5-shim/package.js @@ -11,5 +11,5 @@ Npm.depends({ Package.onUse(function(api) { api.use("modules"); - api.mainModule("client.js", "web.browser.legacy"); + api.mainModule("client.js", "legacy"); }); diff --git a/packages/modern-browsers/TODO.md b/packages/modern-browsers/TODO.md index 61f5a81067..cedea3209c 100644 --- a/packages/modern-browsers/TODO.md +++ b/packages/modern-browsers/TODO.md @@ -15,6 +15,9 @@ - [x] Make sure the new url prefixes aren't too disruptive for public assets like images. +- [x] Make sure Cordova isn't automatically treated as a modern + environment. + - [ ] Create an `isobuild:web-browser-legacy` pseudopackage. - [ ] Add tests to the `modules` test app. diff --git a/packages/promise/package.js b/packages/promise/package.js index b3741e9adb..f3106eeeb8 100644 --- a/packages/promise/package.js +++ b/packages/promise/package.js @@ -15,7 +15,7 @@ Package.onUse(function(api) { api.use("modules"); api.use("modern-browsers"); api.addFiles("modern.js"); - api.addFiles("legacy.js", "web.browser.legacy"); + api.addFiles("legacy.js", "legacy"); api.mainModule("client.js", "client"); api.mainModule("server.js", "server"); api.export("Promise"); diff --git a/packages/socket-stream-client/package.js b/packages/socket-stream-client/package.js index b06f4a81b6..513fe6f4f4 100644 --- a/packages/socket-stream-client/package.js +++ b/packages/socket-stream-client/package.js @@ -16,7 +16,7 @@ Package.onUse(function(api) { api.use("retry"); // TODO Try to remove this. api.use("dynamic-import"); - api.addFiles("sockjs-0.3.4.js", "web.browser.legacy"); + api.addFiles("sockjs-0.3.4.js", "legacy"); api.mainModule("browser.js", "client", { lazy: true }); api.addFiles("server.js", "server"); diff --git a/tools/isobuild/package-api.js b/tools/isobuild/package-api.js index 482248710e..729fa74b07 100644 --- a/tools/isobuild/package-api.js +++ b/tools/isobuild/package-api.js @@ -21,12 +21,39 @@ function toArray (x) { return x ? [x] : []; } -function toArchArray (arch) { - if (! _.isArray(arch)) { +function toArchArray(arch) { + if (! Array.isArray(arch)) { arch = arch ? [arch] : compiler.ALL_ARCHES; } - arch = _.uniq(arch); - arch = _.map(arch, mapWhereToArch); + + const seen = Object.create(null); + + arch.splice(0).forEach(where => { + if (seen[where]) return; + seen[where] = true; + + // Shorthands for common arch prefixes: + // "server" => os.* + // "client" => web.* + // "legacy" => web.browser.legacy, web.cordova + if (where === "server") { + arch.push("os"); + } else if (where === "client") { + arch.push("web"); + } else if (where === "legacy") { + arch.push( + "web.browser.legacy", + // It's important to include web.browser.legacy resources in the + // Cordova bundle, since Cordova bundles are built into the mobile + // application, rather than being downloaded from a web server at + // runtime. This means we can't distinguish between clients at + // runtime, so we have to use code that works for all clients. + "web.cordova" + ); + } else { + arch.push(where); + } + }); // avoid using _.each so as to not add more frames to skip for (var i = 0; i < arch.length; ++i) { @@ -44,20 +71,6 @@ function toArchArray (arch) { return arch; } -// We currently have a 1 to 1 mapping between 'where' and 'arch'. -// 'client' -> 'web' -// 'server' -> 'os' -// '*' -> '*' -function mapWhereToArch (where) { - if (where === 'server') { - return 'os'; - } else if (where === 'client') { - return 'web'; - } else { - return where; - } -} - // Iterates over the list of target archs and calls f(arch) for all archs // that match an element of self.allarchs. function forAllMatchingArchs (archs, f) { From e0eacc62fd72da4d376507ae7e137b4bcefcdee1 Mon Sep 17 00:00:00 2001 From: Ben Newman Date: Tue, 19 Dec 2017 20:28:30 -0500 Subject: [PATCH 0497/1355] Set Meteor.isModern to false in Cordova environments. --- packages/meteor/cordova_environment.js | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/packages/meteor/cordova_environment.js b/packages/meteor/cordova_environment.js index b0cc65a53a..dc83466243 100644 --- a/packages/meteor/cordova_environment.js +++ b/packages/meteor/cordova_environment.js @@ -8,3 +8,7 @@ Meteor.isCordova = true; Meteor.isProduction = meteorEnv.NODE_ENV === "production"; Meteor.isDevelopment = meteorEnv.NODE_ENV !== "production"; + +// For now, since we can't send different bundles to different Cordova +// browsers at runtime, all Cordova clients must be regarded as legacy. +Meteor.isModern = false; From f878ba19c7f16e8834caab04b84ff1da6103cc6b Mon Sep 17 00:00:00 2001 From: Ben Newman Date: Tue, 19 Dec 2017 20:28:45 -0500 Subject: [PATCH 0498/1355] Address initial review feedback from @abernix. I've decided to stick with Meteor.isModern for now, since it's false for both web.browser.legacy and web.cordova bundles, which would make logic involving a hypothetical Meteor.platform property more complicated than simply using Meteor.isModern. I'm open to revisiting this later. --- packages/babel-compiler/versions.js | 6 +++++- packages/modern-browsers/README.md | 2 +- 2 files changed, 6 insertions(+), 2 deletions(-) diff --git a/packages/babel-compiler/versions.js b/packages/babel-compiler/versions.js index a8c75298b7..fddb7c35e8 100644 --- a/packages/babel-compiler/versions.js +++ b/packages/babel-compiler/versions.js @@ -3,5 +3,9 @@ // configuration. Package["modern-browsers"].setMinimumBrowserVersions( Babel.getMinimumModernBrowserVersions(), - "packages/babel-compiler/versions.js" + // Although module.id is the recommended source string to pass as the + // second argument to setMinimumBrowserVersions, we can't use module.id + // here because babel-compiler cannot depend on the modules package. We + // can still make this string look like any other module.id, though. + "/node_modules/meteor/babel-compiler/versions.js" ); diff --git a/packages/modern-browsers/README.md b/packages/modern-browsers/README.md index 11d1d9b56b..069857cc04 100644 --- a/packages/modern-browsers/README.md +++ b/packages/modern-browsers/README.md @@ -1,4 +1,4 @@ -# modern +# modern-browsers [Source code of released version](https://github.com/meteor/meteor/tree/master/packages/modern-browsers) | [Source code of development version](https://github.com/meteor/meteor/tree/devel/packages/modern-browsers) *** From b4a68e99c13fe22acf422b63941225545404d60a Mon Sep 17 00:00:00 2001 From: Ben Newman Date: Mon, 22 Jan 2018 21:20:41 -0500 Subject: [PATCH 0499/1355] Avoid having to republish all core packages for web.browser.legacy. I'm not entirely sure this will work, but the alternative is having to bump the patch version of every core package, so I'd like to see if this simplification works first. --- tools/cli/commands-packages.js | 6 ++++-- tools/isobuild/isopack.js | 29 ++++++++++++++++++++++++++--- 2 files changed, 30 insertions(+), 5 deletions(-) diff --git a/tools/cli/commands-packages.js b/tools/cli/commands-packages.js index 175e040579..0af89e584d 100644 --- a/tools/cli/commands-packages.js +++ b/tools/cli/commands-packages.js @@ -934,8 +934,10 @@ main.registerCommand({ } var existingBuild = - catalog.official.getBuildWithPreciseBuildArchitectures( - oldVersionRecord, isopk.buildArchitectures()); + catalog.official.getBuildWithPreciseBuildArchitectures( + oldVersionRecord, + isopk.buildArchitectures(true), + ); var somethingChanged; diff --git a/tools/isobuild/isopack.js b/tools/isobuild/isopack.js index 8a0b0fb683..11e35d3425 100644 --- a/tools/isobuild/isopack.js +++ b/tools/isobuild/isopack.js @@ -349,9 +349,32 @@ _.extend(Isopack.prototype, { // A sorted plus-separated string of all the architectures included in this // package. - buildArchitectures: function () { - var self = this; - return self.architectures().join('+'); + buildArchitectures(simplify) { + const arches = this.architectures(); + + if (simplify) { + const simpler = []; + + arches.forEach(arch => { + const parts = arch.split("."); + while (parts.length > 1) { + parts.pop(); + if (arches.indexOf(parts.join(".")) >= 0) { + // If the arches array contains a strict prefix of this arch, + // omit this arch from the result, since it should be covered + // by the prefix. For example, if arches contains "web" or + // "web.browser" then it shouldn't need to contain + // "web.browser.legacy" as well. + return; + } + } + simpler.push(arch); + }); + + return simpler.join("+"); + } + + return arches.join("+"); }, // Returns true if we think that this isopack is platform specific (contains From 2453abbcbc59177cc07c4e91c327e989c13fdbb2 Mon Sep 17 00:00:00 2001 From: Ben Newman Date: Mon, 22 Jan 2018 21:21:39 -0500 Subject: [PATCH 0500/1355] Bump package versions for 1.6.2-beta.0 release. --- packages/ecmascript-runtime-client/package.js | 2 +- packages/ecmascript-runtime-server/package.js | 2 +- packages/ecmascript-runtime/package.js | 2 +- packages/es5-shim/package.js | 2 +- packages/meteor-tool/package.js | 2 +- packages/modern-browsers/package.js | 2 +- scripts/admin/meteor-release-experimental.json | 2 +- 7 files changed, 7 insertions(+), 7 deletions(-) diff --git a/packages/ecmascript-runtime-client/package.js b/packages/ecmascript-runtime-client/package.js index eb67728d72..22987608d7 100644 --- a/packages/ecmascript-runtime-client/package.js +++ b/packages/ecmascript-runtime-client/package.js @@ -1,6 +1,6 @@ Package.describe({ name: "ecmascript-runtime-client", - version: "0.6.0", + version: "0.7.0-beta162.0", summary: "Polyfills for new ECMAScript 2015 APIs like Map and Set", git: "https://github.com/meteor/meteor/tree/devel/packages/ecmascript-runtime-client", documentation: "README.md" diff --git a/packages/ecmascript-runtime-server/package.js b/packages/ecmascript-runtime-server/package.js index f7f69f3d70..5e69154e83 100644 --- a/packages/ecmascript-runtime-server/package.js +++ b/packages/ecmascript-runtime-server/package.js @@ -1,6 +1,6 @@ Package.describe({ name: "ecmascript-runtime-server", - version: "0.6.0", + version: "0.7.0-beta162.0", summary: "Polyfills for new ECMAScript 2015 APIs like Map and Set", git: "https://github.com/meteor/meteor/tree/devel/packages/ecmascript-runtime-client", documentation: "README.md" diff --git a/packages/ecmascript-runtime/package.js b/packages/ecmascript-runtime/package.js index 5b10d8b8a5..83fd640dac 100644 --- a/packages/ecmascript-runtime/package.js +++ b/packages/ecmascript-runtime/package.js @@ -1,6 +1,6 @@ Package.describe({ name: "ecmascript-runtime", - version: "0.6.0", + version: "0.7.0-beta162.0", summary: "Polyfills for new ECMAScript 2015 APIs like Map and Set", git: "https://github.com/meteor/ecmascript-runtime", documentation: "README.md" diff --git a/packages/es5-shim/package.js b/packages/es5-shim/package.js index 50bc3e25b2..6eaffd4a91 100644 --- a/packages/es5-shim/package.js +++ b/packages/es5-shim/package.js @@ -1,6 +1,6 @@ Package.describe({ name: "es5-shim", - version: "4.8.0", + version: "4.8.0-beta162.0", summary: "Shims and polyfills to improve ECMAScript 5 support", documentation: "README.md" }); diff --git a/packages/meteor-tool/package.js b/packages/meteor-tool/package.js index 6d97c94e2b..9a0a4cb944 100644 --- a/packages/meteor-tool/package.js +++ b/packages/meteor-tool/package.js @@ -1,6 +1,6 @@ Package.describe({ summary: "The Meteor command-line tool", - version: '1.6.1' + version: '1.6.2-beta.0' }); Package.includeTool(); diff --git a/packages/modern-browsers/package.js b/packages/modern-browsers/package.js index 102b1429ac..327a009b4c 100644 --- a/packages/modern-browsers/package.js +++ b/packages/modern-browsers/package.js @@ -1,6 +1,6 @@ Package.describe({ name: "modern-browsers", - version: "0.1.0", + version: "0.1.0-beta162.0", summary: "API for defining the boundary between modern and legacy " + "JavaScript clients", documentation: "README.md" diff --git a/scripts/admin/meteor-release-experimental.json b/scripts/admin/meteor-release-experimental.json index 61dfd1990d..90458f6eff 100644 --- a/scripts/admin/meteor-release-experimental.json +++ b/scripts/admin/meteor-release-experimental.json @@ -1,6 +1,6 @@ { "track": "METEOR", - "version": "1.6.1-rc.10", + "version": "1.6.2-beta.0", "recommended": false, "official": false, "description": "Meteor" From b8ad84b6b82bcf18ff1cf564be3a20837b874354 Mon Sep 17 00:00:00 2001 From: Ben Newman Date: Tue, 23 Jan 2018 14:31:05 -0500 Subject: [PATCH 0501/1355] Bump minor versions of more core packages. I missed these packages when publishing 1.6.2-beta.0, since I hadn't bumped their versions in #9439 as I should have, so the release script did not republish them. Because of this, 1.6.2-beta.0 will not be usable, and so I will publish 1.6.2-beta.1 ASAP. The boilerplate-generator version bump is patch rather than minor, since the relevant changes to that package seemed backwards-compatible. --- packages/babel-compiler/package.js | 2 +- packages/boilerplate-generator/package.js | 2 +- packages/dynamic-import/package.js | 2 +- packages/meteor/package.js | 2 +- packages/promise/package.js | 2 +- packages/socket-stream-client/package.js | 2 +- packages/webapp/package.js | 2 +- 7 files changed, 7 insertions(+), 7 deletions(-) diff --git a/packages/babel-compiler/package.js b/packages/babel-compiler/package.js index d496fd2360..7148535e3f 100644 --- a/packages/babel-compiler/package.js +++ b/packages/babel-compiler/package.js @@ -6,7 +6,7 @@ Package.describe({ // isn't possible because you can't publish a non-recommended // release with package versions that don't have a pre-release // identifier at the end (eg, -dev) - version: '7.0.0' + version: '7.1.0' }); Npm.depends({ diff --git a/packages/boilerplate-generator/package.js b/packages/boilerplate-generator/package.js index d5f7b5ee06..23f8293b43 100644 --- a/packages/boilerplate-generator/package.js +++ b/packages/boilerplate-generator/package.js @@ -1,6 +1,6 @@ Package.describe({ summary: "Generates the boilerplate html from program's manifest", - version: '1.4.0' + version: '1.4.1' }); Npm.depends({ diff --git a/packages/dynamic-import/package.js b/packages/dynamic-import/package.js index ec07b6ac23..c622aa1c76 100644 --- a/packages/dynamic-import/package.js +++ b/packages/dynamic-import/package.js @@ -1,6 +1,6 @@ Package.describe({ name: "dynamic-import", - version: "0.3.0", + version: "0.4.0", summary: "Runtime support for Meteor 1.5 dynamic import(...) syntax", documentation: "README.md" }); diff --git a/packages/meteor/package.js b/packages/meteor/package.js index ef0e90164b..bc1d727d3d 100644 --- a/packages/meteor/package.js +++ b/packages/meteor/package.js @@ -2,7 +2,7 @@ Package.describe({ summary: "Core Meteor environment", - version: '1.8.2' + version: '1.9.0' }); Package.registerBuildPlugin({ diff --git a/packages/promise/package.js b/packages/promise/package.js index f3106eeeb8..a98e3426e8 100644 --- a/packages/promise/package.js +++ b/packages/promise/package.js @@ -1,6 +1,6 @@ Package.describe({ name: "promise", - version: "0.10.1", + version: "0.11.0", summary: "ECMAScript 2015 Promise polyfill with Fiber support", git: "https://github.com/meteor/promise", documentation: "README.md" diff --git a/packages/socket-stream-client/package.js b/packages/socket-stream-client/package.js index 513fe6f4f4..d0c9a6aa6f 100644 --- a/packages/socket-stream-client/package.js +++ b/packages/socket-stream-client/package.js @@ -1,6 +1,6 @@ Package.describe({ name: "socket-stream-client", - version: "0.1.0", + version: "0.2.0", summary: "Provides the ClientStream abstraction used by ddp-client", documentation: "README.md" }); diff --git a/packages/webapp/package.js b/packages/webapp/package.js index 4de8ecc3c5..8aae5bd02e 100644 --- a/packages/webapp/package.js +++ b/packages/webapp/package.js @@ -1,6 +1,6 @@ Package.describe({ summary: "Serves a Meteor app over HTTP", - version: '1.5.0' + version: '1.6.0' }); Npm.depends({"basic-auth-connect": "1.0.0", From 87ab1084ef578fd30bea5eb40190b7ea0072f30c Mon Sep 17 00:00:00 2001 From: Ben Newman Date: Tue, 23 Jan 2018 14:40:37 -0500 Subject: [PATCH 0502/1355] Bump package versions for 1.6.2-beta.1 release. --- packages/babel-compiler/package.js | 2 +- packages/boilerplate-generator/package.js | 2 +- packages/dynamic-import/package.js | 2 +- packages/ecmascript-runtime-client/package.js | 2 +- packages/ecmascript-runtime-server/package.js | 2 +- packages/ecmascript-runtime/package.js | 2 +- packages/es5-shim/package.js | 2 +- packages/meteor-tool/package.js | 2 +- packages/meteor/package.js | 2 +- packages/modern-browsers/package.js | 2 +- packages/promise/package.js | 2 +- packages/socket-stream-client/package.js | 2 +- packages/webapp/package.js | 2 +- scripts/admin/meteor-release-experimental.json | 2 +- 14 files changed, 14 insertions(+), 14 deletions(-) diff --git a/packages/babel-compiler/package.js b/packages/babel-compiler/package.js index 7148535e3f..74ce9c6c81 100644 --- a/packages/babel-compiler/package.js +++ b/packages/babel-compiler/package.js @@ -6,7 +6,7 @@ Package.describe({ // isn't possible because you can't publish a non-recommended // release with package versions that don't have a pre-release // identifier at the end (eg, -dev) - version: '7.1.0' + version: '7.1.0-beta162.1' }); Npm.depends({ diff --git a/packages/boilerplate-generator/package.js b/packages/boilerplate-generator/package.js index 23f8293b43..589a632aed 100644 --- a/packages/boilerplate-generator/package.js +++ b/packages/boilerplate-generator/package.js @@ -1,6 +1,6 @@ Package.describe({ summary: "Generates the boilerplate html from program's manifest", - version: '1.4.1' + version: '1.4.1-beta162.1' }); Npm.depends({ diff --git a/packages/dynamic-import/package.js b/packages/dynamic-import/package.js index c622aa1c76..fe63929cd8 100644 --- a/packages/dynamic-import/package.js +++ b/packages/dynamic-import/package.js @@ -1,6 +1,6 @@ Package.describe({ name: "dynamic-import", - version: "0.4.0", + version: "0.4.0-beta162.1", summary: "Runtime support for Meteor 1.5 dynamic import(...) syntax", documentation: "README.md" }); diff --git a/packages/ecmascript-runtime-client/package.js b/packages/ecmascript-runtime-client/package.js index 22987608d7..6628dddb04 100644 --- a/packages/ecmascript-runtime-client/package.js +++ b/packages/ecmascript-runtime-client/package.js @@ -1,6 +1,6 @@ Package.describe({ name: "ecmascript-runtime-client", - version: "0.7.0-beta162.0", + version: "0.7.0-beta162.1", summary: "Polyfills for new ECMAScript 2015 APIs like Map and Set", git: "https://github.com/meteor/meteor/tree/devel/packages/ecmascript-runtime-client", documentation: "README.md" diff --git a/packages/ecmascript-runtime-server/package.js b/packages/ecmascript-runtime-server/package.js index 5e69154e83..adfbffa8b2 100644 --- a/packages/ecmascript-runtime-server/package.js +++ b/packages/ecmascript-runtime-server/package.js @@ -1,6 +1,6 @@ Package.describe({ name: "ecmascript-runtime-server", - version: "0.7.0-beta162.0", + version: "0.7.0-beta162.1", summary: "Polyfills for new ECMAScript 2015 APIs like Map and Set", git: "https://github.com/meteor/meteor/tree/devel/packages/ecmascript-runtime-client", documentation: "README.md" diff --git a/packages/ecmascript-runtime/package.js b/packages/ecmascript-runtime/package.js index 83fd640dac..c2db77140b 100644 --- a/packages/ecmascript-runtime/package.js +++ b/packages/ecmascript-runtime/package.js @@ -1,6 +1,6 @@ Package.describe({ name: "ecmascript-runtime", - version: "0.7.0-beta162.0", + version: "0.7.0-beta162.1", summary: "Polyfills for new ECMAScript 2015 APIs like Map and Set", git: "https://github.com/meteor/ecmascript-runtime", documentation: "README.md" diff --git a/packages/es5-shim/package.js b/packages/es5-shim/package.js index 6eaffd4a91..f07b0b668a 100644 --- a/packages/es5-shim/package.js +++ b/packages/es5-shim/package.js @@ -1,6 +1,6 @@ Package.describe({ name: "es5-shim", - version: "4.8.0-beta162.0", + version: "4.8.0-beta162.1", summary: "Shims and polyfills to improve ECMAScript 5 support", documentation: "README.md" }); diff --git a/packages/meteor-tool/package.js b/packages/meteor-tool/package.js index 9a0a4cb944..66067bf7bf 100644 --- a/packages/meteor-tool/package.js +++ b/packages/meteor-tool/package.js @@ -1,6 +1,6 @@ Package.describe({ summary: "The Meteor command-line tool", - version: '1.6.2-beta.0' + version: '1.6.2-beta.1' }); Package.includeTool(); diff --git a/packages/meteor/package.js b/packages/meteor/package.js index bc1d727d3d..b87bdb2983 100644 --- a/packages/meteor/package.js +++ b/packages/meteor/package.js @@ -2,7 +2,7 @@ Package.describe({ summary: "Core Meteor environment", - version: '1.9.0' + version: '1.9.0-beta162.1' }); Package.registerBuildPlugin({ diff --git a/packages/modern-browsers/package.js b/packages/modern-browsers/package.js index 327a009b4c..9ff5ba93a0 100644 --- a/packages/modern-browsers/package.js +++ b/packages/modern-browsers/package.js @@ -1,6 +1,6 @@ Package.describe({ name: "modern-browsers", - version: "0.1.0-beta162.0", + version: "0.1.0-beta162.1", summary: "API for defining the boundary between modern and legacy " + "JavaScript clients", documentation: "README.md" diff --git a/packages/promise/package.js b/packages/promise/package.js index a98e3426e8..093901ebc0 100644 --- a/packages/promise/package.js +++ b/packages/promise/package.js @@ -1,6 +1,6 @@ Package.describe({ name: "promise", - version: "0.11.0", + version: "0.11.0-beta162.1", summary: "ECMAScript 2015 Promise polyfill with Fiber support", git: "https://github.com/meteor/promise", documentation: "README.md" diff --git a/packages/socket-stream-client/package.js b/packages/socket-stream-client/package.js index d0c9a6aa6f..4ebb9deb27 100644 --- a/packages/socket-stream-client/package.js +++ b/packages/socket-stream-client/package.js @@ -1,6 +1,6 @@ Package.describe({ name: "socket-stream-client", - version: "0.2.0", + version: "0.2.0-beta162.1", summary: "Provides the ClientStream abstraction used by ddp-client", documentation: "README.md" }); diff --git a/packages/webapp/package.js b/packages/webapp/package.js index 8aae5bd02e..3467a92501 100644 --- a/packages/webapp/package.js +++ b/packages/webapp/package.js @@ -1,6 +1,6 @@ Package.describe({ summary: "Serves a Meteor app over HTTP", - version: '1.6.0' + version: '1.6.0-beta162.1' }); Npm.depends({"basic-auth-connect": "1.0.0", diff --git a/scripts/admin/meteor-release-experimental.json b/scripts/admin/meteor-release-experimental.json index 90458f6eff..280ad61ba6 100644 --- a/scripts/admin/meteor-release-experimental.json +++ b/scripts/admin/meteor-release-experimental.json @@ -1,6 +1,6 @@ { "track": "METEOR", - "version": "1.6.2-beta.0", + "version": "1.6.2-beta.1", "recommended": false, "official": false, "description": "Meteor" From ca6197fce42d1c8d547d9764a3c6e2216bb9e95b Mon Sep 17 00:00:00 2001 From: Ben Newman Date: Tue, 23 Jan 2018 16:37:15 -0500 Subject: [PATCH 0503/1355] Exclude sockjs-0.3.4.js from JS bundle in modern browsers, again. Thanks to bug reports from @jamesmillerburgess, in Meteor 1.6.1-rc.4 we reverted a change that unsuccessfully attempted to remove SockJS from the JS bundle (and instead injected a ', - '', - ' ', - - ...(js || []).map(file => - template(' ')({ - src: file.url, - }) - ), - - ...(additionalStaticJs || []).map(({ contents, pathname }) => ( - inlineScriptsAllowed - ? template(' ')({ - contents, +}) => { + var headSections = head.split(/]*>/, 2); + var cssBundle = [ + // We are explicitly not using bundledJsCssUrlRewriteHook: in cordova we serve assets up directly from disk, so rewriting the URL does not make sense + ...(css || []).map(file => + template(' ')({ + href: file.url, }) - : template(' ')({ - src: rootUrlPathPrefix + pathname + )].join('\n'); + + return [ + '', + '', + ' ', + ' ', + ' ', + ' ', + ' ', + + (headSections.length === 1) + ? [cssBundle, headSections[0]].join('\n') + : [headSections[0], cssBundle, headSections[1]].join('\n'), + + ' ', + '', + ' ', + + ...(js || []).map(file => + template(' ')({ + src: file.url, }) - )), - '', - head, - '', - '', - '', -].join('\n'); + ), + + ...(additionalStaticJs || []).map(({ contents, pathname }) => ( + inlineScriptsAllowed + ? template(' ')({ + contents, + }) + : template(' ')({ + src: rootUrlPathPrefix + pathname + }) + )), + '', + head, + '', + '', + '', + ].join('\n'); +}; export function closeTemplate() { return "\n"; From a58dc51f8023914bb64a26f6e48a220ab7741a94 Mon Sep 17 00:00:00 2001 From: Hugh Willson Date: Wed, 21 Feb 2018 11:50:01 -0500 Subject: [PATCH 0598/1355] Keep bundled /public and /private node_modules symlink content. (#9666) Many npm based packages provide supporting assets that need to be made available, when used on the web. For example, to use the `font-awesome` package properly, the `node_modules/font-awesome/fonts` files need to be made accessible to incoming web requests. With Meteor, an easy way to handle this would be to create a symlink to `node_modules/font-awesome/fonts` from within an application's `/public` directory. This would then allow all of `font-awesome`'s font files to be accessed directly by incoming clients. Unfortunately, while this approach does work in development when using the Meteor Tool, it does not work when production bundles are created. Meteor's isobuild process uses a helper class called `SymlinkLoopChecker`, to make sure the build process doesn't get caught up in an infinite loop trying to follow circular symlinks. Currently, a shared `SymlinkLoopChecker` instance is used to watch for symlink loops during both the `_findSoures` and `_findAssets` parts of the isobuild process. `_findSources` is called first, and covers source files that an application uses from the `node_modules` directory. The `SymlinkLoopChecker` tracks all of the `node_modules` directories covered, so they can be watched for in the future (to prevent duplicate inclusions). Next, `_findAssets` is called using the same `SymlinkLoopChecker`. This means that if there are any `node_modules` symlinks used in the `public` or `private` directories, they will be marked as being duplicates (and stripped), since they were already covered in the `_findSources` run. This commit changes things a bit so that both `_findSources` and `_findAssets` use their own `SymlinkLoopChecker` instance. This opens up an applications symlink capabilities a bit, while still preserving some circular symlink safeguards. By doing this, a production application bundle can now maintain the contents of `node_modules` based symlinks, used in `public` and `private`. So in the case of `font-awesome` for example ``` public/fonts --> ../node_modules/font-awesome/fonts ``` becomes the following in the production application bundle ``` bundle/programs/web.browser/app/fonts/[all fonts files] ``` Fixes #7013. --- History.md | 10 +++++++++- tools/isobuild/package-source.js | 1 - 2 files changed, 9 insertions(+), 2 deletions(-) diff --git a/History.md b/History.md index 59468b589f..336bf28183 100644 --- a/History.md +++ b/History.md @@ -24,6 +24,14 @@ [Issue 9639](https://github.com/meteor/meteor/issues/9639) [PR #9663](https://github.com/meteor/meteor/pull/9663) +* Assets made available via symlinks in the `public` and `private` directories + of an application are now copied into Meteor application bundles when + using `meteor build`. This means npm package assets that need to be made + available publicly can now be symlinked from their `node_modules` location, + in the `public` directory, and remain available in production bundles. + [Issue #7013](https://github.com/meteor/meteor/issues/7013) + [PR #9666](https://github.com/meteor/meteor/pull/9666) + * The `facts` package has been split into `facts-base` and `facts-ui`. The original `facts` package has been deprecated. [PR #9629](https://github.com/meteor/meteor/pull/9629) @@ -32,7 +40,7 @@ `` of an app, it will be replaced by the `link` to Meteor's bundled CSS. If the new tag isn't used, the bundle will be placed at the top of the `` section as before (for backwards compatibility). - [FR #24](https://github.com/meteor/meteor/pull/24) + [Feature #24](https://github.com/meteor/meteor/pull/24) [PR #9657](https://github.com/meteor/meteor/pull/9657) ## v1.6.1, 2018-01-19 diff --git a/tools/isobuild/package-source.js b/tools/isobuild/package-source.js index 62f98ab539..1fdad7561a 100644 --- a/tools/isobuild/package-source.js +++ b/tools/isobuild/package-source.js @@ -865,7 +865,6 @@ _.extend(PackageSource.prototype, { sourceArch: this, ignoreFiles, isApp: true, - loopChecker: new SymlinkLoopChecker(self.sourceRoot) }; return { From a11b85b53b28172a000420371e461d95a01618ff Mon Sep 17 00:00:00 2001 From: Steven te Brinke Date: Wed, 21 Feb 2018 18:07:28 +0100 Subject: [PATCH 0599/1355] Minifier js report used minifier (#9626) * Remove outdated fallback. * Report used minifier. This allows packages such as standard-minifier-js to generate statistics per minifier, which is useful to analyze how often the fallback is needed. * Use official name babel-minify instead of babeli. * Bump minifier-js patch version to 2.3.3. To account for the changes in meteor/meteor#9626. --- packages/minifier-js/minifier.js | 14 ++++++-------- packages/minifier-js/package.js | 2 +- 2 files changed, 7 insertions(+), 9 deletions(-) diff --git a/packages/minifier-js/minifier.js b/packages/minifier-js/minifier.js index 4defbfb704..17568025ff 100644 --- a/packages/minifier-js/minifier.js +++ b/packages/minifier-js/minifier.js @@ -20,6 +20,7 @@ meteorJsMinify = function (source) { if (typeof uglifyResult.code === "string") { result.code = uglifyResult.code; + result.minifier = 'uglify-es'; } else { throw uglifyResult.error || new Error("unknown uglify.minify failure"); @@ -29,14 +30,11 @@ meteorJsMinify = function (source) { // Although Babel.minify can handle a wider variety of ECMAScript // 2015+ syntax, it is substantially slower than UglifyJS, so we use // it only as a fallback. - if (Babel.getMinifierOptions) { - var options = Babel.getMinifierOptions({ - inlineNodeEnv: NODE_ENV - }); - result.code = Babel.minify(source, options).code; - } else { - result.code = Babel.minify(source).code; - } + var options = Babel.getMinifierOptions({ + inlineNodeEnv: NODE_ENV + }); + result.code = Babel.minify(source, options).code; + result.minifier = 'babel-minify'; } return result; diff --git a/packages/minifier-js/package.js b/packages/minifier-js/package.js index 5c64bd0283..e234c3c484 100644 --- a/packages/minifier-js/package.js +++ b/packages/minifier-js/package.js @@ -1,6 +1,6 @@ Package.describe({ summary: "JavaScript minifier", - version: "2.3.2" + version: "2.3.3" }); Npm.depends({ From c0ab6c8c9cc693cb9d9dbaab6a31b8b17221b7af Mon Sep 17 00:00:00 2001 From: Mitar Date: Mon, 15 Jan 2018 21:12:37 -0800 Subject: [PATCH 0600/1355] Support for cursor iterator also on the server side. --- packages/mongo/mongo_driver.js | 20 +++++++++++++++++++- packages/mongo/package.js | 2 +- 2 files changed, 20 insertions(+), 2 deletions(-) diff --git a/packages/mongo/mongo_driver.js b/packages/mongo/mongo_driver.js index 1f95ddc9e7..45bda79807 100644 --- a/packages/mongo/mongo_driver.js +++ b/packages/mongo/mongo_driver.js @@ -855,7 +855,7 @@ Cursor = function (mongo, cursorDescription) { self._synchronousCursor = null; }; -_.each(['forEach', 'map', 'fetch', 'count'], function (method) { +_.each(['forEach', 'map', 'fetch', 'count', Symbol.iterator], function (method) { Cursor.prototype[method] = function () { var self = this; @@ -1106,6 +1106,24 @@ _.extend(SynchronousCursor.prototype, { } }); +SynchronousCursor.prototype[Symbol.iterator] = function () { + var self = this; + + // Get back to the beginning. + self._rewind(); + + return { + next() { + const doc = self._nextObject(); + return doc ? { + value: doc + } : { + done: true + }; + } + }; +}; + MongoConnection.prototype.tail = function (cursorDescription, docCallback) { var self = this; if (!cursorDescription.options.tailable) diff --git a/packages/mongo/package.js b/packages/mongo/package.js index 84cc9340d1..66f06d5116 100644 --- a/packages/mongo/package.js +++ b/packages/mongo/package.js @@ -9,7 +9,7 @@ Package.describe({ summary: "Adaptor for using MongoDB and Minimongo over DDP", - version: '1.4.3' + version: '1.4.4' }); Npm.depends({ From 94bbfb220a5eb9f20c062187c442a5f9272db52c Mon Sep 17 00:00:00 2001 From: pravdomil Date: Wed, 21 Feb 2018 21:06:20 +0100 Subject: [PATCH 0601/1355] fix typos --- packages/logging/package.js | 2 +- packages/minimongo/minimongo_tests_client.js | 2 +- packages/tracker/tracker_tests.js | 2 +- packages/url/url_common.js | 2 +- 4 files changed, 4 insertions(+), 4 deletions(-) diff --git a/packages/logging/package.js b/packages/logging/package.js index 02e99dfbc6..84264d6aa0 100644 --- a/packages/logging/package.js +++ b/packages/logging/package.js @@ -12,7 +12,7 @@ Npm.strip({ }); Cordova.depends({ - 'cordova-plugin-console': '1.1.0' // Dreprecated, remove in future + 'cordova-plugin-console': '1.1.0' // Deprecated, remove in future }); Package.onUse(function (api) { diff --git a/packages/minimongo/minimongo_tests_client.js b/packages/minimongo/minimongo_tests_client.js index b479563efe..befa281f46 100644 --- a/packages/minimongo/minimongo_tests_client.js +++ b/packages/minimongo/minimongo_tests_client.js @@ -3074,7 +3074,7 @@ Tinytest.add('minimongo - modify', test => { // Nested fields don't work with literal objects upsertException({"a": {}, "a.b": "foo"}, {}); - // You can't have an ambiguious ID + // You can't have an ambiguous ID upsertException({"_id":"foo"}, {"_id":"bar"}); upsertException({"_id":"foo"}, {"$set":{"_id":"bar"}}); // You can't set the same field twice diff --git a/packages/tracker/tracker_tests.js b/packages/tracker/tracker_tests.js index 3a971784ca..8b72023aaa 100644 --- a/packages/tracker/tracker_tests.js +++ b/packages/tracker/tracker_tests.js @@ -216,7 +216,7 @@ Tinytest.add("tracker - flush", function (test) { test.equal(buf, 'a*a*'); ///// - // Can flush a diferent run from a run; + // Can flush a different run from a run; // no current computation in afterFlush buf = ""; diff --git a/packages/url/url_common.js b/packages/url/url_common.js index a34b6c0b90..c0e04d4a9c 100644 --- a/packages/url/url_common.js +++ b/packages/url/url_common.js @@ -4,7 +4,7 @@ function encodeString(str) { return encodeURIComponent(str).replace(/\*/g, '%2A'); } -// Encode URL paramaters into a query string, handling nested objects and +// Encode URL parameters into a query string, handling nested objects and // arrays properly. URL._encodeParams = function (params, prefix) { var str = []; From 312763ea3e734df08bfe003a8035e0abd0a15033 Mon Sep 17 00:00:00 2001 From: Ben Newman Date: Wed, 21 Feb 2018 18:31:41 -0500 Subject: [PATCH 0602/1355] Bump meteor core package version to 1.8.3. --- packages/meteor/package.js | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/packages/meteor/package.js b/packages/meteor/package.js index ef0e90164b..fe25ebe0ff 100644 --- a/packages/meteor/package.js +++ b/packages/meteor/package.js @@ -2,7 +2,7 @@ Package.describe({ summary: "Core Meteor environment", - version: '1.8.2' + version: '1.8.3' }); Package.registerBuildPlugin({ From 556d4bdb420b044658c1b84b01b8bf6f9d79838d Mon Sep 17 00:00:00 2001 From: Ben Newman Date: Wed, 21 Feb 2018 18:35:38 -0500 Subject: [PATCH 0603/1355] Bump package versions for 1.6.2-beta.8 release. --- packages/babel-compiler/package.js | 2 +- packages/boilerplate-generator-tests/package.js | 2 +- packages/boilerplate-generator/package.js | 2 +- packages/dynamic-import/package.js | 2 +- packages/ecmascript-runtime-client/package.js | 2 +- packages/ecmascript-runtime-server/package.js | 2 +- packages/ecmascript-runtime/package.js | 2 +- packages/ecmascript/package.js | 2 +- packages/es5-shim/package.js | 2 +- packages/jquery/package.js | 2 +- packages/meteor-tool/package.js | 2 +- packages/meteor/package.js | 2 +- packages/modern-browsers/package.js | 2 +- packages/promise/package.js | 2 +- packages/socket-stream-client/package.js | 2 +- packages/tracker/package.js | 2 +- packages/webapp/package.js | 2 +- scripts/admin/meteor-release-experimental.json | 2 +- 18 files changed, 18 insertions(+), 18 deletions(-) diff --git a/packages/babel-compiler/package.js b/packages/babel-compiler/package.js index 00e5f04276..d0cbc1ee94 100644 --- a/packages/babel-compiler/package.js +++ b/packages/babel-compiler/package.js @@ -6,7 +6,7 @@ Package.describe({ // isn't possible because you can't publish a non-recommended // release with package versions that don't have a pre-release // identifier at the end (eg, -dev) - version: '7.1.0-beta162.7' + version: '7.1.0-beta162.8' }); Npm.depends({ diff --git a/packages/boilerplate-generator-tests/package.js b/packages/boilerplate-generator-tests/package.js index 7878ff66f2..d1339a0977 100644 --- a/packages/boilerplate-generator-tests/package.js +++ b/packages/boilerplate-generator-tests/package.js @@ -2,7 +2,7 @@ Package.describe({ // These tests are in a separate package so that we can Npm.depend on // parse5, a html parsing library. summary: "Tests for the boilerplate-generator package", - version: '1.5.0', + version: '1.5.0-beta162.8', documentation: null }); diff --git a/packages/boilerplate-generator/package.js b/packages/boilerplate-generator/package.js index 67f381d850..74be1838b8 100644 --- a/packages/boilerplate-generator/package.js +++ b/packages/boilerplate-generator/package.js @@ -1,6 +1,6 @@ Package.describe({ summary: "Generates the boilerplate html from program's manifest", - version: '1.5.0-beta162.7' + version: '1.5.0-beta162.8' }); Npm.depends({ diff --git a/packages/dynamic-import/package.js b/packages/dynamic-import/package.js index 43819fbd35..13ac7ff11a 100644 --- a/packages/dynamic-import/package.js +++ b/packages/dynamic-import/package.js @@ -1,6 +1,6 @@ Package.describe({ name: "dynamic-import", - version: "0.4.0-beta162.7", + version: "0.4.0-beta162.8", summary: "Runtime support for Meteor 1.5 dynamic import(...) syntax", documentation: "README.md" }); diff --git a/packages/ecmascript-runtime-client/package.js b/packages/ecmascript-runtime-client/package.js index d724aebc21..c2e498fc4f 100644 --- a/packages/ecmascript-runtime-client/package.js +++ b/packages/ecmascript-runtime-client/package.js @@ -1,6 +1,6 @@ Package.describe({ name: "ecmascript-runtime-client", - version: "0.7.0-beta162.7", + version: "0.7.0-beta162.8", summary: "Polyfills for new ECMAScript 2015 APIs like Map and Set", git: "https://github.com/meteor/meteor/tree/devel/packages/ecmascript-runtime-client", documentation: "README.md" diff --git a/packages/ecmascript-runtime-server/package.js b/packages/ecmascript-runtime-server/package.js index 9e00ae7d70..95e810c663 100644 --- a/packages/ecmascript-runtime-server/package.js +++ b/packages/ecmascript-runtime-server/package.js @@ -1,6 +1,6 @@ Package.describe({ name: "ecmascript-runtime-server", - version: "0.7.0-beta162.7", + version: "0.7.0-beta162.8", summary: "Polyfills for new ECMAScript 2015 APIs like Map and Set", git: "https://github.com/meteor/meteor/tree/devel/packages/ecmascript-runtime-client", documentation: "README.md" diff --git a/packages/ecmascript-runtime/package.js b/packages/ecmascript-runtime/package.js index f16aafbcc8..4eef7bd80d 100644 --- a/packages/ecmascript-runtime/package.js +++ b/packages/ecmascript-runtime/package.js @@ -1,6 +1,6 @@ Package.describe({ name: "ecmascript-runtime", - version: "0.7.0-beta162.7", + version: "0.7.0-beta162.8", summary: "Polyfills for new ECMAScript 2015 APIs like Map and Set", git: "https://github.com/meteor/ecmascript-runtime", documentation: "README.md" diff --git a/packages/ecmascript/package.js b/packages/ecmascript/package.js index 2e2ae2bb5a..bd8d7d355e 100644 --- a/packages/ecmascript/package.js +++ b/packages/ecmascript/package.js @@ -1,6 +1,6 @@ Package.describe({ name: 'ecmascript', - version: '0.11.0-beta162.7', + version: '0.11.0-beta162.8', summary: 'Compiler plugin that supports ES2015+ in all .js files', documentation: 'README.md' }); diff --git a/packages/es5-shim/package.js b/packages/es5-shim/package.js index 9239412c1b..fc08db2455 100644 --- a/packages/es5-shim/package.js +++ b/packages/es5-shim/package.js @@ -1,6 +1,6 @@ Package.describe({ name: "es5-shim", - version: "4.8.0-beta162.7", + version: "4.8.0-beta162.8", summary: "Shims and polyfills to improve ECMAScript 5 support", documentation: "README.md" }); diff --git a/packages/jquery/package.js b/packages/jquery/package.js index f913eacfb8..4c2e48b714 100644 --- a/packages/jquery/package.js +++ b/packages/jquery/package.js @@ -1,7 +1,7 @@ Package.describe({ summary: "Manipulate the DOM using CSS selectors", // This package currently uses jQuery 1.12.1 (due to #9605). - version: '1.12.1-beta162.7' + version: '1.12.1-beta162.8' }); Package.onUse(function (api) { diff --git a/packages/meteor-tool/package.js b/packages/meteor-tool/package.js index a499cbe9d8..2cec2c325e 100644 --- a/packages/meteor-tool/package.js +++ b/packages/meteor-tool/package.js @@ -1,6 +1,6 @@ Package.describe({ summary: "The Meteor command-line tool", - version: '1.6.2-beta.7' + version: '1.6.2-beta.8' }); Package.includeTool(); diff --git a/packages/meteor/package.js b/packages/meteor/package.js index 1a2cc8ceb9..a4ddb51adf 100644 --- a/packages/meteor/package.js +++ b/packages/meteor/package.js @@ -2,7 +2,7 @@ Package.describe({ summary: "Core Meteor environment", - version: '1.9.0-beta162.7' + version: '1.9.0-beta162.8' }); Package.registerBuildPlugin({ diff --git a/packages/modern-browsers/package.js b/packages/modern-browsers/package.js index 7af6971ea3..bb07caf373 100644 --- a/packages/modern-browsers/package.js +++ b/packages/modern-browsers/package.js @@ -1,6 +1,6 @@ Package.describe({ name: "modern-browsers", - version: "0.1.0-beta162.7", + version: "0.1.0-beta162.8", summary: "API for defining the boundary between modern and legacy " + "JavaScript clients", documentation: "README.md" diff --git a/packages/promise/package.js b/packages/promise/package.js index bef4e24ffe..7645ee9d3a 100644 --- a/packages/promise/package.js +++ b/packages/promise/package.js @@ -1,6 +1,6 @@ Package.describe({ name: "promise", - version: "0.11.0-beta162.7", + version: "0.11.0-beta162.8", summary: "ECMAScript 2015 Promise polyfill with Fiber support", git: "https://github.com/meteor/promise", documentation: "README.md" diff --git a/packages/socket-stream-client/package.js b/packages/socket-stream-client/package.js index 17e1056f70..49843503fa 100644 --- a/packages/socket-stream-client/package.js +++ b/packages/socket-stream-client/package.js @@ -1,6 +1,6 @@ Package.describe({ name: "socket-stream-client", - version: "0.2.0-beta162.7", + version: "0.2.0-beta162.8", summary: "Provides the ClientStream abstraction used by ddp-client", documentation: "README.md" }); diff --git a/packages/tracker/package.js b/packages/tracker/package.js index b615ca7f15..e840e77715 100644 --- a/packages/tracker/package.js +++ b/packages/tracker/package.js @@ -1,6 +1,6 @@ Package.describe({ summary: "Dependency tracker to allow reactive callbacks", - version: "1.2.0-beta162.7" + version: "1.2.0-beta162.8" }); Package.onUse(function (api) { diff --git a/packages/webapp/package.js b/packages/webapp/package.js index 111bcf62ff..6ded84eabf 100644 --- a/packages/webapp/package.js +++ b/packages/webapp/package.js @@ -1,6 +1,6 @@ Package.describe({ summary: "Serves a Meteor app over HTTP", - version: '1.6.0-beta162.7' + version: '1.6.0-beta162.8' }); Npm.depends({"basic-auth-connect": "1.0.0", diff --git a/scripts/admin/meteor-release-experimental.json b/scripts/admin/meteor-release-experimental.json index e975b105e1..af924ff14a 100644 --- a/scripts/admin/meteor-release-experimental.json +++ b/scripts/admin/meteor-release-experimental.json @@ -1,6 +1,6 @@ { "track": "METEOR", - "version": "1.6.2-beta.7", + "version": "1.6.2-beta.8", "recommended": false, "official": false, "description": "Meteor" From 590ca4d48b7cdd113fa1a90e376cf2b9bca0cf31 Mon Sep 17 00:00:00 2001 From: Ben Newman Date: Wed, 21 Feb 2018 18:57:21 -0500 Subject: [PATCH 0604/1355] Support `meteor create --minimal` for creating very small apps. Like `meteor create --bare`, except with even fewer Meteor core packages, so that the client-side footprint of the app is as tiny as possible. --- tools/cli/commands.js | 50 ++++++++++++------- tools/cli/help.txt | 14 +++--- tools/static-assets/skel-bare/package.json | 2 +- tools/static-assets/skel-full/package.json | 2 +- tools/static-assets/skel-minimal/.gitignore | 1 + .../skel-minimal/.meteor/.gitignore | 1 + .../skel-minimal/.meteor/packages | 13 +++++ .../skel-minimal/.meteor/platforms | 2 + tools/static-assets/skel-minimal/package.json | 11 ++++ tools/static-assets/skel/package.json | 2 +- tools/tests/create.js | 28 +++++++++++ 11 files changed, 98 insertions(+), 28 deletions(-) create mode 100644 tools/static-assets/skel-minimal/.gitignore create mode 100644 tools/static-assets/skel-minimal/.meteor/.gitignore create mode 100644 tools/static-assets/skel-minimal/.meteor/packages create mode 100644 tools/static-assets/skel-minimal/.meteor/platforms create mode 100644 tools/static-assets/skel-minimal/package.json diff --git a/tools/cli/commands.js b/tools/cli/commands.js index 18150488d4..2cbe52c6c0 100644 --- a/tools/cli/commands.js +++ b/tools/cli/commands.js @@ -489,8 +489,9 @@ main.registerCommand({ list: { type: Boolean }, example: { type: String }, package: { type: Boolean }, + bare: { type: Boolean }, + minimal: { type: Boolean }, full: { type: Boolean }, - bare: { type: Boolean } }, catalogRefresh: new catalog.Refresh.Never() }, function (options) { @@ -733,13 +734,13 @@ main.registerCommand({ toIgnore.push(/(\.html|\.js|\.css)/) } - let skelName = 'skel'; - - if(options.bare){ - skelName += '-bare'; - } - else if(options.full){ - skelName += '-full'; + let skelName = "skel"; + if (options.minimal) { + skelName += "-minimal"; + } else if (options.bare) { + skelName += "-bare"; + } else if (options.full) { + skelName += "-full"; } files.cp_r(files.pathJoin(__dirnameConverted, '..', 'static-assets', skelName), appPath, { @@ -819,6 +820,12 @@ main.registerCommand({ // do next. Console.info("To run your new app:"); + function cmd(text) { + Console.info(Console.command(text), Console.options({ + indent: 2 + })); + } + if (appPathAsEntered !== ".") { // Wrap the app path in quotes if it contains spaces const appPathWithQuotesIfSpaces = appPathAsEntered.indexOf(' ') === -1 ? @@ -826,13 +833,10 @@ main.registerCommand({ `'${appPathAsEntered}'`; // Don't tell people to 'cd .' - Console.info( - Console.command("cd " + appPathWithQuotesIfSpaces), - Console.options({ indent: 2 })); + cmd("cd " + appPathWithQuotesIfSpaces); } - Console.info( - Console.command("meteor"), Console.options({ indent: 2 })); + cmd("meteor"); Console.info(""); Console.info("If you are new to Meteor, try some of the learning resources here:"); @@ -840,13 +844,21 @@ main.registerCommand({ Console.url("https://www.meteor.com/tutorials"), Console.options({ indent: 2 })); - if (!options.full && !options.bare){ - // Notice people about --bare and --full - const bareOptionNotice = 'meteor create --bare to create an empty app.'; - const fullOptionNotice = 'meteor create --full to create a scaffolded app.'; + if (! options.bare && + ! options.minimal && + ! options.full) { + // Notify people about --bare, --minimal, and --full. + Console.info([ + "", + "To start with a different app template, try one of the following:", + "", + ].join("\n")); - Console.info(""); - Console.info(bareOptionNotice + '\n' + fullOptionNotice); + cmd("meteor create --bare # to create an empty app"); + cmd("meteor create --minimal # to create an empty app with as " + + "few Meteor packages as possible"); + cmd("meteor create --full # to create a more complete " + + "scaffolded app"); } Console.info(""); diff --git a/tools/cli/help.txt b/tools/cli/help.txt index e74e731dcf..c8f234da38 100644 --- a/tools/cli/help.txt +++ b/tools/cli/help.txt @@ -142,15 +142,16 @@ Options: >>> create Create a new project. -Usage: meteor create [--release ] [--bare|--full] +Usage: meteor create [--release ] [--bare|--minimal|--full] meteor create [--release ] --example [] meteor create --list meteor create --package [] -Make a subdirectory named if it doesn't exist and create a new Meteor app -there. You can pass an absolute path, relative path, or '.' for the current -directory. Use the --bare option to create an empty app. To scaffold the app -use the --full option. +Make a subdirectory named if it doesn't exist and create a new Meteor +app there. You can pass an absolute path, relative path, or '.' for the +current directory. Use the --bare option to create an empty app, or the +--minimal option to create an empty app with as few Meteor packages as +possible. To scaffold a more complete app, use the --full option. With the --package option, creates a Meteor package instead of an app. If you're in an app, the package will go in the app's top-level 'packages' directory; @@ -170,7 +171,8 @@ Options: --example Example template to use. --list Show list of available examples. --bare Create an empty app. - --full Create a scaffolded app. + --minimal Create an empty app with as few Meteor packages as possible. + --full Create a fully scaffolded app. >>> update diff --git a/tools/static-assets/skel-bare/package.json b/tools/static-assets/skel-bare/package.json index b8beef5529..7e491c1afb 100644 --- a/tools/static-assets/skel-bare/package.json +++ b/tools/static-assets/skel-bare/package.json @@ -5,7 +5,7 @@ "start": "meteor run" }, "dependencies": { - "@babel/runtime": "^7.0.0-beta.36", + "@babel/runtime": "^7.0.0-beta.40", "meteor-node-stubs": "^0.3.2" } } diff --git a/tools/static-assets/skel-full/package.json b/tools/static-assets/skel-full/package.json index 0cf055e170..2e5e0c8f64 100644 --- a/tools/static-assets/skel-full/package.json +++ b/tools/static-assets/skel-full/package.json @@ -6,7 +6,7 @@ "test": "meteor test --once --driver-package meteortesting:mocha" }, "dependencies": { - "@babel/runtime": "^7.0.0-beta.36", + "@babel/runtime": "^7.0.0-beta.40", "meteor-node-stubs": "^0.3.2" }, "devDependencies": { diff --git a/tools/static-assets/skel-minimal/.gitignore b/tools/static-assets/skel-minimal/.gitignore new file mode 100644 index 0000000000..40b878db5b --- /dev/null +++ b/tools/static-assets/skel-minimal/.gitignore @@ -0,0 +1 @@ +node_modules/ \ No newline at end of file diff --git a/tools/static-assets/skel-minimal/.meteor/.gitignore b/tools/static-assets/skel-minimal/.meteor/.gitignore new file mode 100644 index 0000000000..4083037423 --- /dev/null +++ b/tools/static-assets/skel-minimal/.meteor/.gitignore @@ -0,0 +1 @@ +local diff --git a/tools/static-assets/skel-minimal/.meteor/packages b/tools/static-assets/skel-minimal/.meteor/packages new file mode 100644 index 0000000000..35f1bde9e3 --- /dev/null +++ b/tools/static-assets/skel-minimal/.meteor/packages @@ -0,0 +1,13 @@ +# Meteor packages used by this project, one per line. +# Check this file (and the other files in this directory) into your repository. +# +# 'meteor add' and 'meteor remove' will edit this file for you, +# but you can also edit it by hand. + +static-html # Define static page content in .html files +standard-minifier-css # CSS minifier run for production mode +standard-minifier-js # JS minifier run for production mode +es5-shim # ECMAScript 5 compatibility for older browsers +ecmascript # Enable ECMAScript2015+ syntax in app code +shell-server # Server-side component of the `meteor shell` command +webapp # Serves a Meteor app over HTTP diff --git a/tools/static-assets/skel-minimal/.meteor/platforms b/tools/static-assets/skel-minimal/.meteor/platforms new file mode 100644 index 0000000000..efeba1b50c --- /dev/null +++ b/tools/static-assets/skel-minimal/.meteor/platforms @@ -0,0 +1,2 @@ +server +browser diff --git a/tools/static-assets/skel-minimal/package.json b/tools/static-assets/skel-minimal/package.json new file mode 100644 index 0000000000..7e491c1afb --- /dev/null +++ b/tools/static-assets/skel-minimal/package.json @@ -0,0 +1,11 @@ +{ + "name": "~name~", + "private": true, + "scripts": { + "start": "meteor run" + }, + "dependencies": { + "@babel/runtime": "^7.0.0-beta.40", + "meteor-node-stubs": "^0.3.2" + } +} diff --git a/tools/static-assets/skel/package.json b/tools/static-assets/skel/package.json index b8beef5529..7e491c1afb 100644 --- a/tools/static-assets/skel/package.json +++ b/tools/static-assets/skel/package.json @@ -5,7 +5,7 @@ "start": "meteor run" }, "dependencies": { - "@babel/runtime": "^7.0.0-beta.36", + "@babel/runtime": "^7.0.0-beta.40", "meteor-node-stubs": "^0.3.2" } } diff --git a/tools/tests/create.js b/tools/tests/create.js index cb9e0c74e8..12d87cf9b0 100644 --- a/tools/tests/create.js +++ b/tools/tests/create.js @@ -58,3 +58,31 @@ selftest.define("create", function () { // XXX XXX more more }); + +["bare", + "minimal", + "full", +].forEach(template => { + selftest.define("create --" + template, function () { + const s = new Sandbox; + + // Can we create an app? Yes! + let run = s.run("create", "--" + template, template); + run.waitSecs(60); + run.match("Created a new Meteor app in '" + template + "'."); + run.match("To run your new app"); + + s.cd(template); + run = s.run(); + run.waitSecs(60); + run.match(template); + run.match("proxy") + run.waitSecs(60); + run.match("your app"); + run.waitSecs(5); + run.match("running at"); + run.match("localhost"); + + run.stop(); + }); +}); From 0520200f9062271e5143d27b4f9362988933a220 Mon Sep 17 00:00:00 2001 From: Ben Newman Date: Wed, 21 Feb 2018 20:20:53 -0500 Subject: [PATCH 0605/1355] Fix tools/tests/help.js self-test. https://circleci.com/gh/meteor/meteor/16787 --- tools/cli/help.txt | 10 +++++----- 1 file changed, 5 insertions(+), 5 deletions(-) diff --git a/tools/cli/help.txt b/tools/cli/help.txt index c8f234da38..c340a71809 100644 --- a/tools/cli/help.txt +++ b/tools/cli/help.txt @@ -147,11 +147,11 @@ Usage: meteor create [--release ] [--bare|--minimal|--full] meteor create --list meteor create --package [] -Make a subdirectory named if it doesn't exist and create a new Meteor -app there. You can pass an absolute path, relative path, or '.' for the -current directory. Use the --bare option to create an empty app, or the ---minimal option to create an empty app with as few Meteor packages as -possible. To scaffold a more complete app, use the --full option. +Make a subdirectory named if it doesn't exist and create a new Meteor app +there. You can pass an absolute path, relative path, or '.' for the current +directory. Use the --bare option to create an empty app, or the --minimal option +to create an empty app with as few Meteor packages as possible. To scaffold a +more complete app, use the --full option. With the --package option, creates a Meteor package instead of an app. If you're in an app, the package will go in the app's top-level 'packages' directory; From 4e22b2f90abe198e9b1f88b78ee79b58685cb300 Mon Sep 17 00:00:00 2001 From: Ben Newman Date: Wed, 21 Feb 2018 20:26:50 -0500 Subject: [PATCH 0606/1355] Mention `meteor create --minimal` in History.md. --- History.md | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/History.md b/History.md index 336bf28183..8ca1332da3 100644 --- a/History.md +++ b/History.md @@ -43,6 +43,10 @@ [Feature #24](https://github.com/meteor/meteor/pull/24) [PR #9657](https://github.com/meteor/meteor/pull/9657) +* The `meteor create` command now supports a `--minimal` option, which + creates an empty app (like `--bare`) with as few Meteor packages as + possible, to minimize client-side application size. + ## v1.6.1, 2018-01-19 * Node has been updated to version From 7df72297326d1fb28e8439c478de8570095f7cf8 Mon Sep 17 00:00:00 2001 From: Ben Newman Date: Wed, 21 Feb 2018 20:27:10 -0500 Subject: [PATCH 0607/1355] Bump package versions for 1.6.2-beta.9 release. --- packages/babel-compiler/package.js | 2 +- packages/boilerplate-generator-tests/package.js | 2 +- packages/boilerplate-generator/package.js | 2 +- packages/dynamic-import/package.js | 2 +- packages/ecmascript-runtime-client/package.js | 2 +- packages/ecmascript-runtime-server/package.js | 2 +- packages/ecmascript-runtime/package.js | 2 +- packages/ecmascript/package.js | 2 +- packages/es5-shim/package.js | 2 +- packages/jquery/package.js | 2 +- packages/meteor-tool/package.js | 2 +- packages/meteor/package.js | 2 +- packages/modern-browsers/package.js | 2 +- packages/promise/package.js | 2 +- packages/socket-stream-client/package.js | 2 +- packages/tracker/package.js | 2 +- packages/webapp/package.js | 2 +- scripts/admin/meteor-release-experimental.json | 2 +- 18 files changed, 18 insertions(+), 18 deletions(-) diff --git a/packages/babel-compiler/package.js b/packages/babel-compiler/package.js index d0cbc1ee94..236dcee2f3 100644 --- a/packages/babel-compiler/package.js +++ b/packages/babel-compiler/package.js @@ -6,7 +6,7 @@ Package.describe({ // isn't possible because you can't publish a non-recommended // release with package versions that don't have a pre-release // identifier at the end (eg, -dev) - version: '7.1.0-beta162.8' + version: '7.1.0-beta162.9' }); Npm.depends({ diff --git a/packages/boilerplate-generator-tests/package.js b/packages/boilerplate-generator-tests/package.js index d1339a0977..b9f9373c58 100644 --- a/packages/boilerplate-generator-tests/package.js +++ b/packages/boilerplate-generator-tests/package.js @@ -2,7 +2,7 @@ Package.describe({ // These tests are in a separate package so that we can Npm.depend on // parse5, a html parsing library. summary: "Tests for the boilerplate-generator package", - version: '1.5.0-beta162.8', + version: '1.5.0-beta162.9', documentation: null }); diff --git a/packages/boilerplate-generator/package.js b/packages/boilerplate-generator/package.js index 74be1838b8..c0ad056165 100644 --- a/packages/boilerplate-generator/package.js +++ b/packages/boilerplate-generator/package.js @@ -1,6 +1,6 @@ Package.describe({ summary: "Generates the boilerplate html from program's manifest", - version: '1.5.0-beta162.8' + version: '1.5.0-beta162.9' }); Npm.depends({ diff --git a/packages/dynamic-import/package.js b/packages/dynamic-import/package.js index 13ac7ff11a..5400b3fcaf 100644 --- a/packages/dynamic-import/package.js +++ b/packages/dynamic-import/package.js @@ -1,6 +1,6 @@ Package.describe({ name: "dynamic-import", - version: "0.4.0-beta162.8", + version: "0.4.0-beta162.9", summary: "Runtime support for Meteor 1.5 dynamic import(...) syntax", documentation: "README.md" }); diff --git a/packages/ecmascript-runtime-client/package.js b/packages/ecmascript-runtime-client/package.js index c2e498fc4f..162fb82dd4 100644 --- a/packages/ecmascript-runtime-client/package.js +++ b/packages/ecmascript-runtime-client/package.js @@ -1,6 +1,6 @@ Package.describe({ name: "ecmascript-runtime-client", - version: "0.7.0-beta162.8", + version: "0.7.0-beta162.9", summary: "Polyfills for new ECMAScript 2015 APIs like Map and Set", git: "https://github.com/meteor/meteor/tree/devel/packages/ecmascript-runtime-client", documentation: "README.md" diff --git a/packages/ecmascript-runtime-server/package.js b/packages/ecmascript-runtime-server/package.js index 95e810c663..06c3235e8a 100644 --- a/packages/ecmascript-runtime-server/package.js +++ b/packages/ecmascript-runtime-server/package.js @@ -1,6 +1,6 @@ Package.describe({ name: "ecmascript-runtime-server", - version: "0.7.0-beta162.8", + version: "0.7.0-beta162.9", summary: "Polyfills for new ECMAScript 2015 APIs like Map and Set", git: "https://github.com/meteor/meteor/tree/devel/packages/ecmascript-runtime-client", documentation: "README.md" diff --git a/packages/ecmascript-runtime/package.js b/packages/ecmascript-runtime/package.js index 4eef7bd80d..26d52f27ff 100644 --- a/packages/ecmascript-runtime/package.js +++ b/packages/ecmascript-runtime/package.js @@ -1,6 +1,6 @@ Package.describe({ name: "ecmascript-runtime", - version: "0.7.0-beta162.8", + version: "0.7.0-beta162.9", summary: "Polyfills for new ECMAScript 2015 APIs like Map and Set", git: "https://github.com/meteor/ecmascript-runtime", documentation: "README.md" diff --git a/packages/ecmascript/package.js b/packages/ecmascript/package.js index bd8d7d355e..4bc62874c3 100644 --- a/packages/ecmascript/package.js +++ b/packages/ecmascript/package.js @@ -1,6 +1,6 @@ Package.describe({ name: 'ecmascript', - version: '0.11.0-beta162.8', + version: '0.11.0-beta162.9', summary: 'Compiler plugin that supports ES2015+ in all .js files', documentation: 'README.md' }); diff --git a/packages/es5-shim/package.js b/packages/es5-shim/package.js index fc08db2455..4d2becb72a 100644 --- a/packages/es5-shim/package.js +++ b/packages/es5-shim/package.js @@ -1,6 +1,6 @@ Package.describe({ name: "es5-shim", - version: "4.8.0-beta162.8", + version: "4.8.0-beta162.9", summary: "Shims and polyfills to improve ECMAScript 5 support", documentation: "README.md" }); diff --git a/packages/jquery/package.js b/packages/jquery/package.js index 4c2e48b714..6611928883 100644 --- a/packages/jquery/package.js +++ b/packages/jquery/package.js @@ -1,7 +1,7 @@ Package.describe({ summary: "Manipulate the DOM using CSS selectors", // This package currently uses jQuery 1.12.1 (due to #9605). - version: '1.12.1-beta162.8' + version: '1.12.1-beta162.9' }); Package.onUse(function (api) { diff --git a/packages/meteor-tool/package.js b/packages/meteor-tool/package.js index 2cec2c325e..398d80eca1 100644 --- a/packages/meteor-tool/package.js +++ b/packages/meteor-tool/package.js @@ -1,6 +1,6 @@ Package.describe({ summary: "The Meteor command-line tool", - version: '1.6.2-beta.8' + version: '1.6.2-beta.9' }); Package.includeTool(); diff --git a/packages/meteor/package.js b/packages/meteor/package.js index a4ddb51adf..cfb0055a70 100644 --- a/packages/meteor/package.js +++ b/packages/meteor/package.js @@ -2,7 +2,7 @@ Package.describe({ summary: "Core Meteor environment", - version: '1.9.0-beta162.8' + version: '1.9.0-beta162.9' }); Package.registerBuildPlugin({ diff --git a/packages/modern-browsers/package.js b/packages/modern-browsers/package.js index bb07caf373..a4ab2d4afc 100644 --- a/packages/modern-browsers/package.js +++ b/packages/modern-browsers/package.js @@ -1,6 +1,6 @@ Package.describe({ name: "modern-browsers", - version: "0.1.0-beta162.8", + version: "0.1.0-beta162.9", summary: "API for defining the boundary between modern and legacy " + "JavaScript clients", documentation: "README.md" diff --git a/packages/promise/package.js b/packages/promise/package.js index 7645ee9d3a..a4dad14c47 100644 --- a/packages/promise/package.js +++ b/packages/promise/package.js @@ -1,6 +1,6 @@ Package.describe({ name: "promise", - version: "0.11.0-beta162.8", + version: "0.11.0-beta162.9", summary: "ECMAScript 2015 Promise polyfill with Fiber support", git: "https://github.com/meteor/promise", documentation: "README.md" diff --git a/packages/socket-stream-client/package.js b/packages/socket-stream-client/package.js index 49843503fa..40d9542704 100644 --- a/packages/socket-stream-client/package.js +++ b/packages/socket-stream-client/package.js @@ -1,6 +1,6 @@ Package.describe({ name: "socket-stream-client", - version: "0.2.0-beta162.8", + version: "0.2.0-beta162.9", summary: "Provides the ClientStream abstraction used by ddp-client", documentation: "README.md" }); diff --git a/packages/tracker/package.js b/packages/tracker/package.js index e840e77715..f84452f014 100644 --- a/packages/tracker/package.js +++ b/packages/tracker/package.js @@ -1,6 +1,6 @@ Package.describe({ summary: "Dependency tracker to allow reactive callbacks", - version: "1.2.0-beta162.8" + version: "1.2.0-beta162.9" }); Package.onUse(function (api) { diff --git a/packages/webapp/package.js b/packages/webapp/package.js index 6ded84eabf..353e53dfe1 100644 --- a/packages/webapp/package.js +++ b/packages/webapp/package.js @@ -1,6 +1,6 @@ Package.describe({ summary: "Serves a Meteor app over HTTP", - version: '1.6.0-beta162.8' + version: '1.6.0-beta162.9' }); Npm.depends({"basic-auth-connect": "1.0.0", diff --git a/scripts/admin/meteor-release-experimental.json b/scripts/admin/meteor-release-experimental.json index af924ff14a..c350e465f3 100644 --- a/scripts/admin/meteor-release-experimental.json +++ b/scripts/admin/meteor-release-experimental.json @@ -1,6 +1,6 @@ { "track": "METEOR", - "version": "1.6.2-beta.8", + "version": "1.6.2-beta.9", "recommended": false, "official": false, "description": "Meteor" From bbd614932d1b6a7993141cd64edb2579206cadad Mon Sep 17 00:00:00 2001 From: Ben Newman Date: Thu, 22 Feb 2018 10:49:02 -0500 Subject: [PATCH 0608/1355] Update meteor-babel and reify npm packages to latest versions. Fixes #9676. --- History.md | 4 ++-- .../.npm/package/npm-shrinkwrap.json | 18 +++++++++--------- packages/babel-compiler/package.js | 4 ++-- packages/ecmascript/package.js | 2 +- .../modules/.npm/package/npm-shrinkwrap.json | 12 ++++++------ packages/modules/package.js | 4 ++-- scripts/dev-bundle-tool-package.js | 4 ++-- 7 files changed, 24 insertions(+), 24 deletions(-) diff --git a/History.md b/History.md index 336bf28183..ee30411c1d 100644 --- a/History.md +++ b/History.md @@ -1,9 +1,9 @@ ## v.NEXT -* The `reify` npm package has been updated to version 0.14.1. +* The `reify` npm package has been updated to version 0.14.2. * The `meteor-babel` npm package has been updated to version - 7.0.0-beta.40-1. + 7.0.0-beta.40-2. * The `optimism` npm package has been updated to version 0.4.0. diff --git a/packages/babel-compiler/.npm/package/npm-shrinkwrap.json b/packages/babel-compiler/.npm/package/npm-shrinkwrap.json index ade5333abe..ea1354103a 100644 --- a/packages/babel-compiler/.npm/package/npm-shrinkwrap.json +++ b/packages/babel-compiler/.npm/package/npm-shrinkwrap.json @@ -607,9 +607,9 @@ "integrity": "sha1-tdRU3CGZriJWmfNGfloH87lVuv0=" }, "invariant": { - "version": "2.2.2", - "resolved": "https://registry.npmjs.org/invariant/-/invariant-2.2.2.tgz", - "integrity": "sha1-nh9WrArNtr8wMwbzOL47IErmA2A=" + "version": "2.2.3", + "resolved": "https://registry.npmjs.org/invariant/-/invariant-2.2.3.tgz", + "integrity": "sha512-7Z5PPegwDTyjbaeCnV0efcyS6vdKAU51kpEmS7QFib3P4822l8ICYyMn7qvJnc+WzLoDsuI9gPMKbJ8pCu8XtA==" }, "is-buffer": { "version": "1.1.6", @@ -707,9 +707,9 @@ "integrity": "sha1-0aitM/qc4OcT1l/dCsi3SNR4yEg=" }, "meteor-babel": { - "version": "7.0.0-beta.40-1", - "resolved": "https://registry.npmjs.org/meteor-babel/-/meteor-babel-7.0.0-beta.40-1.tgz", - "integrity": "sha512-IZVtib4pRlu+LVyOi5V67eaoHnU2yutkwyBLJerHEIjoDosCp5lIt5BPJdtfRa/Y4B/pdoSgjyXfnvYSW3seXg==" + "version": "7.0.0-beta.40-2", + "resolved": "https://registry.npmjs.org/meteor-babel/-/meteor-babel-7.0.0-beta.40-2.tgz", + "integrity": "sha512-BF3dZW7fqgakLgLaHeg5D9iQZspPo7ery4zJvHrrfM+oRwNnDtISgu4y8bUB/GQ82KTl1HWw/77l3e36eQ83hA==" }, "meteor-babel-helpers": { "version": "0.0.3", @@ -838,9 +838,9 @@ } }, "reify": { - "version": "0.14.1", - "resolved": "https://registry.npmjs.org/reify/-/reify-0.14.1.tgz", - "integrity": "sha512-HAKYzqlCCWsfAcOTm8gsJZ6FE5I06kvjzHRQTCDD6xqUJaY8Mh4ve9oiCDe8yiYXOqZqpt03gn8yS4+bokRmhQ==" + "version": "0.14.2", + "resolved": "https://registry.npmjs.org/reify/-/reify-0.14.2.tgz", + "integrity": "sha512-gJA67pCidAROSmr4/8SQuMQXtZwtSvoVIDR6KjoWxnO4LSD8iYNjMcRrHuQQ/c8cXYaoCpEQh0rO9CNNu1z5lA==" }, "remove-trailing-separator": { "version": "1.1.0", diff --git a/packages/babel-compiler/package.js b/packages/babel-compiler/package.js index 6e18af2c96..51a6c94379 100644 --- a/packages/babel-compiler/package.js +++ b/packages/babel-compiler/package.js @@ -6,11 +6,11 @@ Package.describe({ // isn't possible because you can't publish a non-recommended // release with package versions that don't have a pre-release // identifier at the end (eg, -dev) - version: '7.0.4' + version: '7.0.5' }); Npm.depends({ - 'meteor-babel': '7.0.0-beta.40-1' + 'meteor-babel': '7.0.0-beta.40-2' }); Package.onUse(function (api) { diff --git a/packages/ecmascript/package.js b/packages/ecmascript/package.js index 81669fadb0..5e3dd2307f 100644 --- a/packages/ecmascript/package.js +++ b/packages/ecmascript/package.js @@ -1,6 +1,6 @@ Package.describe({ name: 'ecmascript', - version: '0.10.4', + version: '0.10.5', summary: 'Compiler plugin that supports ES2015+ in all .js files', documentation: 'README.md' }); diff --git a/packages/modules/.npm/package/npm-shrinkwrap.json b/packages/modules/.npm/package/npm-shrinkwrap.json index 9f61dcabc7..564c41a447 100644 --- a/packages/modules/.npm/package/npm-shrinkwrap.json +++ b/packages/modules/.npm/package/npm-shrinkwrap.json @@ -17,14 +17,14 @@ "integrity": "sha512-4T6Ur/GctZ27nHfpt9THOdRZNgyJ9FZchYO1ceg5S8Q3DNLCKYy44nCZzgCJgcvx2UM8czmqak5BCxJMrq37lA==" }, "reify": { - "version": "0.14.1", - "resolved": "https://registry.npmjs.org/reify/-/reify-0.14.1.tgz", - "integrity": "sha512-HAKYzqlCCWsfAcOTm8gsJZ6FE5I06kvjzHRQTCDD6xqUJaY8Mh4ve9oiCDe8yiYXOqZqpt03gn8yS4+bokRmhQ==" + "version": "0.14.2", + "resolved": "https://registry.npmjs.org/reify/-/reify-0.14.2.tgz", + "integrity": "sha512-gJA67pCidAROSmr4/8SQuMQXtZwtSvoVIDR6KjoWxnO4LSD8iYNjMcRrHuQQ/c8cXYaoCpEQh0rO9CNNu1z5lA==" }, "semver": { - "version": "5.4.1", - "resolved": "https://registry.npmjs.org/semver/-/semver-5.4.1.tgz", - "integrity": "sha512-WfG/X9+oATh81XtllIo/I8gOiY9EXRdv1cQdyykeXK17YcUW3EXUAi2To4pcH6nZtJPr7ZOpM5OMyWJZm+8Rsg==" + "version": "5.5.0", + "resolved": "https://registry.npmjs.org/semver/-/semver-5.5.0.tgz", + "integrity": "sha512-4SJ3dm0WAwWy/NVeioZh5AntkdJoWKxHxcmyP622fOkgHa4z3R0TdBJICINyaSDE6uNwVc8gZr+ZinwZAH4xIA==" }, "yallist": { "version": "3.0.2", diff --git a/packages/modules/package.js b/packages/modules/package.js index 539b5e358b..17de33e9a7 100644 --- a/packages/modules/package.js +++ b/packages/modules/package.js @@ -1,12 +1,12 @@ Package.describe({ name: "modules", - version: "0.11.4", + version: "0.11.5", summary: "CommonJS module system", documentation: "README.md" }); Npm.depends({ - reify: "0.14.1" + reify: "0.14.2" }); Package.onUse(function(api) { diff --git a/scripts/dev-bundle-tool-package.js b/scripts/dev-bundle-tool-package.js index 4844e7b3ea..07e32802b3 100644 --- a/scripts/dev-bundle-tool-package.js +++ b/scripts/dev-bundle-tool-package.js @@ -14,10 +14,10 @@ var packageJson = { pacote: "https://github.com/meteor/pacote/tarball/30973f140df79b647dbade03f2d6f19800c2609b", "node-gyp": "3.6.2", "node-pre-gyp": "0.6.36", - "meteor-babel": "7.0.0-beta.40-1", + "meteor-babel": "7.0.0-beta.40-2", "meteor-promise": "0.8.6", promise: "8.0.1", - reify: "0.14.1", + reify: "0.14.2", fibers: "2.0.0", // So that Babel can emit require("@babel/runtime/helpers/...") calls. "@babel/runtime": "7.0.0-beta.40", From ae3ad3b2dff06b888eaf6ca28f1cc3c89ceb9473 Mon Sep 17 00:00:00 2001 From: Ben Newman Date: Fri, 23 Feb 2018 11:14:29 -0500 Subject: [PATCH 0609/1355] Support a meteor.mainModule section in application package.json files. https://github.com/meteor/meteor-feature-requests/issues/135 This change allows applications to specify specific entry points for each architecture, without relying on `imports` directories to determine the eagerness/laziness of modules. In other words, it will finally be possible to build a Meteor app without a special `imports` directory. Specifically, if `packageJson.meteor.mainModule[architecture]` is defined, all modules for that architecture will be lazy except for the specified module, which will be loaded eagerly. Possible values for `architecture` include "client", "server", "web", "web.browser", "web.cordova", "os", and so on, just like the second argument to `api.mainModule(file, where)` in Meteor packages. In order to match existing behavior, a Meteor application might include the following in its `package.json` file: "meteor": { "mainModule": { "client": "client/main.js", "server": "server/main.js" } } These architectures are handled independently, so omitting the "client" or "server" property would cause that architecture to revert to standard Meteor loading semantics. In other words, Meteor developers must opt into this functionality, which is crucial for backwards compatibility. Note that this functionality applies only to application modules, since modules in Meteor packages are already lazy by default, and Meteor packages can already specify entry points by calling `api.mainModule` in their `package.js` files. Also note that the loading behavior of non-JavaScript resources is *not* affected by `packageJson.meteor.mainModule`. Only resources added by compiler plugins via `addJavaScript` are subject to the new configuration option. If a compiler plugin calls `addStylesheet` or `addHtml`, those resources will still be included unconditionally in the HTML document rendered by the web server. While you could try to import these resources from JavaScript, you would only be importing any JavaScript resources the compiler plugin registered using `addJavaScript`, and not the actual HTML or CSS resources. I welcome feedback on this decision, but if there's no meaningful way to import a resource, making it lazy just means it won't be loaded at all. An ulterior motive for this feature is to enable Meteor apps to have directory layouts that developers who are not familiar with Meteor can immediately understand. The special meaning of the `imports` directory and the surprising eagerness of modules outside of `imports` have always required some explanation, so this change should reduce that surprise. Because Meteor strives to be a zero-configuration tool, this is currently the only supported option in the "meteor" section of `package.json`, though the available options may be expanded in the future if that's the best/only way to solve important problems. This would involve adding additional methods to the `MeteorConfig` class in `project-context.js`, and then using those methods elsewhere in the `meteor/tools` codebase. --- tools/isobuild/compiler-plugin.js | 28 ++++++--- tools/isobuild/package-api.js | 2 +- tools/isobuild/package-source.js | 73 +++++++++++++++++++----- tools/project-context.js | 94 +++++++++++++++++++++++++++++++ 4 files changed, 174 insertions(+), 23 deletions(-) diff --git a/tools/isobuild/compiler-plugin.js b/tools/isobuild/compiler-plugin.js index 39756afd12..9004a11a2e 100644 --- a/tools/isobuild/compiler-plugin.js +++ b/tools/isobuild/compiler-plugin.js @@ -591,7 +591,7 @@ class ResourceSlot { return fileOptions && fileOptions[name]; } - _isLazy(options) { + _isLazy(options, isJavaScript) { let lazy = this._getOption("lazy", options); if (typeof lazy === "boolean") { @@ -616,9 +616,23 @@ class ResourceSlot { // test files should always be included, if we're running app // tests. return isInImports && !isTestFilePath(this.inputResource.path); - } else { - return isInImports; } + + if (isJavaScript && + // Set in PackageSource#_inferFileOptions (in package-source.js) + // to indicate that there was a mainModule, but this module was + // not the mainModule. It's important to wait until this point to + // make the final call, because we can finally tell whether the + // file was JavaScript or not (non-JS resources are not affected + // by the meteor.mainModule configuration option). + this._getOption("mainModule") === false) { + return true; + } + + // In other words, the imports directory remains relevant for non-JS + // resources, and for JS resources in the absence of an explicit + // meteor.mainModule configuration. + return isInImports; } addStylesheet(options) { @@ -637,7 +651,7 @@ class ResourceSlot { targetPath, servePath: self.packageSourceBatch.unibuild.pkg._getServePath(targetPath), hash: sha1(data), - lazy: this._isLazy(options), + lazy: this._isLazy(options, false), }; if (useMeteorInstall && resource.lazy) { @@ -711,7 +725,7 @@ class ResourceSlot { sourceMap: options.sourceMap, // intentionally preserve a possible `undefined` value for files // in apps, rather than convert it into `false` via `!!` - lazy: self._isLazy(options), + lazy: self._isLazy(options, true), bare: !! self._getOption("bare", options), mainModule: !! self._getOption("mainModule", options), }); @@ -739,7 +753,7 @@ class ResourceSlot { servePath: self.packageSourceBatch.unibuild.pkg._getServePath( options.path), hash: sha1(options.data), - lazy: self._isLazy(options), + lazy: self._isLazy(options, false), }); } @@ -763,7 +777,7 @@ class ResourceSlot { self.outputResources.push({ type: options.section, data: Buffer.from(files.convertToStandardLineEndings(options.data), 'utf8'), - lazy: self._isLazy(options), + lazy: self._isLazy(options, false), }); } diff --git a/tools/isobuild/package-api.js b/tools/isobuild/package-api.js index 1bd236889a..c0f58852d3 100644 --- a/tools/isobuild/package-api.js +++ b/tools/isobuild/package-api.js @@ -48,7 +48,7 @@ function toArchArray (arch) { // 'client' -> 'web' // 'server' -> 'os' // '*' -> '*' -function mapWhereToArch (where) { +export function mapWhereToArch(where) { if (where === 'server') { return 'os'; } else if (where === 'client') { diff --git a/tools/isobuild/package-source.js b/tools/isobuild/package-source.js index 1fdad7561a..ab41420d88 100644 --- a/tools/isobuild/package-source.js +++ b/tools/isobuild/package-source.js @@ -837,7 +837,10 @@ _.extend(PackageSource.prototype, { constraint: constraint.constraintString }); }); - var projectWatchSet = projectContext.getProjectWatchSet(); + const projectWatchSet = projectContext.getProjectWatchSet(); + const mainModulesByArch = + projectContext.meteorConfig.getMainModulesByArch(); + projectWatchSet.merge(projectContext.meteorConfig.watchSet); _.each(compiler.ALL_ARCHES, function (arch) { // We don't need to build a Cordova SourceArch if there are no Cordova @@ -847,6 +850,9 @@ _.extend(PackageSource.prototype, { return; } + const mainModule = projectContext.meteorConfig + .getMainModuleForArch(arch, mainModulesByArch); + // XXX what about /web.browser/* etc, these directories could also // be for specific client targets. @@ -867,20 +873,42 @@ _.extend(PackageSource.prototype, { isApp: true, }; - return { - sources: self._findSources(findOptions).sort( - loadOrderSort(sourceProcessorSet, arch) - ).map(relPath => { - return { - relPath, - fileOptions: self._inferFileOptions(relPath, { - arch, - isApp: true, - }), - }; - }), + // If this architecture has a mainModule defined in + // package.json, it's an error if _findSources doesn't find that + // module. If no mainModule is defined, anything goes. + let missingMainModule = !! mainModule; - assets: self._findAssets(findOptions), + const sources = self._findSources(findOptions).sort( + loadOrderSort(sourceProcessorSet, arch) + ).map(relPath => { + if (relPath === mainModule) { + missingMainModule = false; + } + + const fileOptions = self._inferFileOptions(relPath, { + arch, + isApp: true, + mainModule, + }); + + return { + relPath, + fileOptions, + }; + }); + + if (missingMainModule) { + buildmessage.error([ + "Could not find mainModule for '" + arch + "' architecture: " + mainModule, + 'Check the "meteor" section of your package.json file?' + ].join("\n")); + } + + const assets = self._findAssets(findOptions); + + return { + sources, + assets, }; } }); @@ -919,7 +947,11 @@ _.extend(PackageSource.prototype, { } }), - _inferFileOptions(relPath, {arch, isApp}) { + _inferFileOptions(relPath, { + arch, + isApp, + mainModule, + }) { const fileOptions = {}; const isTest = global.testCommandMetadata && global.testCommandMetadata.isTest; @@ -974,6 +1006,17 @@ _.extend(PackageSource.prototype, { } } + if (isApp && mainModule) { + if (relPath === mainModule) { + fileOptions.lazy = false; + fileOptions.mainModule = true; + } else if (typeof fileOptions.lazy === "undefined") { + // Used in ResourceSlot#_isLazy (in compiler-plugin.js) to make a + // final determination of whether the file should be lazy. + fileOptions.mainModule = false; + } + } + return fileOptions; }, diff --git a/tools/project-context.js b/tools/project-context.js index 095ca9a83d..738cf05a49 100644 --- a/tools/project-context.js +++ b/tools/project-context.js @@ -17,6 +17,15 @@ var watch = require('./fs/watch.js'); var Profile = require('./tool-env/profile.js').Profile; import { KNOWN_ISOBUILD_FEATURE_PACKAGES } from './isobuild/compiler.js'; +import { + optimisticReadJsonOrNull, + optimisticHashOrNull, +} from "./fs/optimistic.js"; + +import { + mapWhereToArch, +} from "./isobuild/package-api.js"; + // The ProjectContext represents all the context associated with an app: // metadata files in the `.meteor` directory, the choice of package versions // used by it, etc. Any time you want to work with an app, create a @@ -363,6 +372,13 @@ _.extend(ProjectContext.prototype, { }); if (buildmessage.jobHasMessages()) return; + + self.meteorConfig = new MeteorConfig({ + packageJsonPath: files.pathJoin(self.projectDir, "package.json") + }); + if (buildmessage.jobHasMessages()) { + return; + } }); self._completedStage = STAGE.READ_PROJECT_METADATA; @@ -1580,3 +1596,81 @@ _.extend(exports.FinishedUpgraders.prototype, { files.appendFile(self.filename, appendText); } }); + +export class MeteorConfig { + constructor({ + packageJsonPath, + }) { + this.packageJsonPath = packageJsonPath; + this.watchSet = new watch.WatchSet; + } + + _ensureInitialized() { + if (! _.has(this, "config")) { + const json = optimisticReadJsonOrNull(this.packageJsonPath); + this.config = json && json.meteor || null; + this.watchSet.addFile( + this.packageJsonPath, + optimisticHashOrNull(this.packageJsonPath) + ); + } + + return this.config; + } + + // General utility for querying the "meteor" section of package.json. + // TODO Implement an API for setting these values? + get(...keys) { + let config = this._ensureInitialized(); + if (config) { + keys.every(key => { + if (config && _.has(config, key)) { + config = config[key]; + return true; + } + }); + return config; + } + } + + // Call this first if you plan to call getMainModuleForArch multiple + // times, so that you can avoid repeating this work each time. + getMainModulesByArch(arch) { + const configMainModule = this.get("mainModule"); + const mainModulesByArch = Object.create(null); + + if (configMainModule) { + if (typeof configMainModule === "string") { + // If packageJson.meteor.mainModule is a string, use that string + // as the mainModule for all architectures. + mainModulesByArch["os"] = configMainModule; + mainModulesByArch["web"] = configMainModule; + } else if (typeof configMainModule === "object") { + // If packageJson.meteor.mainModule is an object, use its + // properties to select a mainModule for each architecture. + Object.keys(configMainModule).forEach(where => { + mainModulesByArch[mapWhereToArch(where)] = + files.pathNormalize(configMainModule[where]); + }); + } + } + + return mainModulesByArch; + } + + // Given an architecture like web.browser, get the best mainModule for + // that architecture. For example, if this.config.mainModule.client is + // defined, then because mapWhereToArch("client") === "web", and "web" + // matches web.browser, return this.config.mainModule.client. + getMainModuleForArch( + arch, + mainModulesByArch = this.getMainModulesByArch(), + ) { + const mainMatch = archinfo.mostSpecificMatch( + arch, Object.keys(mainModulesByArch)); + + if (mainMatch) { + return mainModulesByArch[mainMatch]; + } + } +} From 31c39f0e6f89a181071d6e717036f387e163ae9d Mon Sep 17 00:00:00 2001 From: Ben Newman Date: Fri, 23 Feb 2018 11:58:03 -0500 Subject: [PATCH 0610/1355] Resolve mainModule strings using Node module resolution rules. --- tools/project-context.js | 39 ++++++++++++++++++++++++++++++--------- 1 file changed, 30 insertions(+), 9 deletions(-) diff --git a/tools/project-context.js b/tools/project-context.js index 738cf05a49..5eb25b43fd 100644 --- a/tools/project-context.js +++ b/tools/project-context.js @@ -26,6 +26,8 @@ import { mapWhereToArch, } from "./isobuild/package-api.js"; +import Resolver from "./isobuild/resolver.js"; + // The ProjectContext represents all the context associated with an app: // metadata files in the `.meteor` directory, the choice of package versions // used by it, etc. Any time you want to work with an app, create a @@ -374,7 +376,7 @@ _.extend(ProjectContext.prototype, { return; self.meteorConfig = new MeteorConfig({ - packageJsonPath: files.pathJoin(self.projectDir, "package.json") + appDirectory: self.projectDir, }); if (buildmessage.jobHasMessages()) { return; @@ -1599,23 +1601,25 @@ _.extend(exports.FinishedUpgraders.prototype, { export class MeteorConfig { constructor({ - packageJsonPath, + appDirectory, }) { - this.packageJsonPath = packageJsonPath; + this.appDirectory = appDirectory; + this.packageJsonPath = files.pathJoin(appDirectory, "package.json"); this.watchSet = new watch.WatchSet; + this._resolversByArch = Object.create(null); } _ensureInitialized() { - if (! _.has(this, "config")) { + if (! _.has(this, "_config")) { const json = optimisticReadJsonOrNull(this.packageJsonPath); - this.config = json && json.meteor || null; + this._config = json && json.meteor || null; this.watchSet.addFile( this.packageJsonPath, optimisticHashOrNull(this.packageJsonPath) ); } - return this.config; + return this._config; } // General utility for querying the "meteor" section of package.json. @@ -1649,8 +1653,7 @@ export class MeteorConfig { // If packageJson.meteor.mainModule is an object, use its // properties to select a mainModule for each architecture. Object.keys(configMainModule).forEach(where => { - mainModulesByArch[mapWhereToArch(where)] = - files.pathNormalize(configMainModule[where]); + mainModulesByArch[mapWhereToArch(where)] = configMainModule[where]; }); } } @@ -1670,7 +1673,25 @@ export class MeteorConfig { arch, Object.keys(mainModulesByArch)); if (mainMatch) { - return mainModulesByArch[mainMatch]; + if (! this._resolversByArch[arch]) { + this._resolversByArch[arch] = new Resolver({ + sourceRoot: this.appDirectory, + targetArch: arch, + }); + } + + // Use a Resolver to allow the mainModule strings to omit .js or + // .json file extensions, and to enable resolving directories + // containing package.json or index.js files. + const res = this._resolversByArch[arch].resolve( + // Only relative paths are allowed (not top-level packages). + "./" + files.pathNormalize(mainModulesByArch[mainMatch]), + this.packageJsonPath + ); + + if (res && typeof res === "object") { + return files.pathRelative(this.appDirectory, res.path); + } } } } From c07e0d4c73c504397cbbba7214f46c241d7b03aa Mon Sep 17 00:00:00 2001 From: Ben Newman Date: Fri, 23 Feb 2018 15:52:43 -0500 Subject: [PATCH 0611/1355] Fix bug that caused non-main modules to load eagerly during tests. --- tools/isobuild/compiler-plugin.js | 40 +++++++++++++++++-------------- 1 file changed, 22 insertions(+), 18 deletions(-) diff --git a/tools/isobuild/compiler-plugin.js b/tools/isobuild/compiler-plugin.js index 9004a11a2e..a528c8bcbb 100644 --- a/tools/isobuild/compiler-plugin.js +++ b/tools/isobuild/compiler-plugin.js @@ -607,31 +607,35 @@ class ResourceSlot { return false; } - const splitPath = this.inputResource.path.split(files.pathSep); - const isInImports = splitPath.indexOf("imports") >= 0; + const runningTests = global.testCommandMetadata && + (global.testCommandMetadata.isTest || + global.testCommandMetadata.isAppTest); - if (global.testCommandMetadata && - (global.testCommandMetadata.isTest || - global.testCommandMetadata.isAppTest)) { - // test files should always be included, if we're running app - // tests. - return isInImports && !isTestFilePath(this.inputResource.path); + if (runningTests && + isTestFilePath(this.inputResource.path)) { + // Test files are never lazy if we're running tests. + return false; } - if (isJavaScript && - // Set in PackageSource#_inferFileOptions (in package-source.js) - // to indicate that there was a mainModule, but this module was - // not the mainModule. It's important to wait until this point to - // make the final call, because we can finally tell whether the - // file was JavaScript or not (non-JS resources are not affected - // by the meteor.mainModule configuration option). - this._getOption("mainModule") === false) { - return true; + if (isJavaScript) { + // PackageSource#_inferFileOptions (in package-source.js) sets the + // mainModule option to false to indicate a meteor.mainModule was + // configured for this architecture, but this module was not it. + // It's important to wait until this point (ResourceSlot#_isLazy) to + // make the final call, because we can finally tell whether the + // output resource is JavaScript or not (non-JS resources are not + // affected by the meteor.mainModule option). + const mainModule = this._getOption("mainModule", options); + if (typeof mainModule === "boolean") { + return ! mainModule; + } } // In other words, the imports directory remains relevant for non-JS // resources, and for JS resources in the absence of an explicit - // meteor.mainModule configuration. + // meteor.mainModule configuration in package.json. + const splitPath = this.inputResource.path.split(files.pathSep); + const isInImports = splitPath.indexOf("imports") >= 0; return isInImports; } From c47a2bedfbf2771e2183662d20cd30d7eb26c574 Mon Sep 17 00:00:00 2001 From: Ben Newman Date: Fri, 23 Feb 2018 12:08:01 -0500 Subject: [PATCH 0612/1355] Tests for require("/package.json").meteor.mainModule. --- tools/tests/app-config.js | 110 +++ tools/tests/apps/app-config/.gitignore | 1 + .../app-config/.meteor/.finished-upgraders | 17 + .../tests/apps/app-config/.meteor/.gitignore | 1 + tools/tests/apps/app-config/.meteor/.id | 7 + tools/tests/apps/app-config/.meteor/packages | 14 + tools/tests/apps/app-config/.meteor/platforms | 2 + tools/tests/apps/app-config/.meteor/release | 1 + tools/tests/apps/app-config/.meteor/versions | 66 ++ tools/tests/apps/app-config/a.js | 2 + tools/tests/apps/app-config/ab.js | 2 + tools/tests/apps/app-config/abc.js | 2 + tools/tests/apps/app-config/ac.js | 2 + tools/tests/apps/app-config/b.js | 2 + tools/tests/apps/app-config/bc.js | 2 + tools/tests/apps/app-config/c.js | 2 + tools/tests/apps/app-config/client/main.css | 3 + tools/tests/apps/app-config/client/main.html | 14 + tools/tests/apps/app-config/client/main.js | 2 + tools/tests/apps/app-config/client/main.less | 3 + tools/tests/apps/app-config/package-lock.json | 683 ++++++++++++++++++ tools/tests/apps/app-config/package.json | 11 + tools/tests/apps/app-config/server/main.js | 2 + tools/tests/apps/app-config/tests.js | 97 +++ 24 files changed, 1048 insertions(+) create mode 100644 tools/tests/app-config.js create mode 100644 tools/tests/apps/app-config/.gitignore create mode 100644 tools/tests/apps/app-config/.meteor/.finished-upgraders create mode 100644 tools/tests/apps/app-config/.meteor/.gitignore create mode 100644 tools/tests/apps/app-config/.meteor/.id create mode 100644 tools/tests/apps/app-config/.meteor/packages create mode 100644 tools/tests/apps/app-config/.meteor/platforms create mode 100644 tools/tests/apps/app-config/.meteor/release create mode 100644 tools/tests/apps/app-config/.meteor/versions create mode 100644 tools/tests/apps/app-config/a.js create mode 100644 tools/tests/apps/app-config/ab.js create mode 100644 tools/tests/apps/app-config/abc.js create mode 100644 tools/tests/apps/app-config/ac.js create mode 100644 tools/tests/apps/app-config/b.js create mode 100644 tools/tests/apps/app-config/bc.js create mode 100644 tools/tests/apps/app-config/c.js create mode 100644 tools/tests/apps/app-config/client/main.css create mode 100644 tools/tests/apps/app-config/client/main.html create mode 100644 tools/tests/apps/app-config/client/main.js create mode 100644 tools/tests/apps/app-config/client/main.less create mode 100644 tools/tests/apps/app-config/package-lock.json create mode 100644 tools/tests/apps/app-config/package.json create mode 100644 tools/tests/apps/app-config/server/main.js create mode 100644 tools/tests/apps/app-config/tests.js diff --git a/tools/tests/app-config.js b/tools/tests/app-config.js new file mode 100644 index 0000000000..d6acbd7e8e --- /dev/null +++ b/tools/tests/app-config.js @@ -0,0 +1,110 @@ +var selftest = require('../tool-testing/selftest.js'); +var Sandbox = selftest.Sandbox; + +selftest.define("mainModule", function () { + const s = new Sandbox(); + s.createApp("app-config-mainModule", "app-config"); + s.cd("app-config-mainModule"); + + const run = s.run( + "test", + "--full-app", + "--driver-package", "dispatch:mocha-phantomjs" + ); + + run.waitSecs(60); + run.match("App running at"); + + function check(mainModule) { + const json = JSON.parse(s.read("package.json")); + + let shouldWrite = true; + if (typeof mainModule === "undefined") { + if ("meteor" in json) { + delete json.meteor; + } else { + shouldWrite = false; + } + } else { + json.meteor = { mainModule }; + } + + if (shouldWrite) { + s.write("package.json", JSON.stringify(json, null, 2) + "\n"); + } + + run.waitSecs(10); + run.match("SERVER FAILURES: 0"); + run.match("CLIENT FAILURES: 0"); + } + + check(); + + check(null); + + check("oyez"); + + check({}); + + check({ + client: "a", + os: "bc", + }); + + check({ + client: "b.js", + server: "abc", + }); + + check({ + client: "./c", + server: "/ac", + }); + + check({ + server: "./a", + web: "ab", + }); + + check({ + client: "ac.js", + os: "a", + }); + + check({ + web: "bc", + server: "a", + }); + + check({ + server: "b.js", + client: "abc", + }); + + check({ + client: "abc", + }); + + check({ + server: "b.js", + }); + + check({ + client: "/ac", + server: "./c", + }); + + check({ + os: "ab", + client: "./a", + }); + + check({ + server: "ac.js", + web: "a", + }); + + check(null); + + check(); +}); diff --git a/tools/tests/apps/app-config/.gitignore b/tools/tests/apps/app-config/.gitignore new file mode 100644 index 0000000000..c2658d7d1b --- /dev/null +++ b/tools/tests/apps/app-config/.gitignore @@ -0,0 +1 @@ +node_modules/ diff --git a/tools/tests/apps/app-config/.meteor/.finished-upgraders b/tools/tests/apps/app-config/.meteor/.finished-upgraders new file mode 100644 index 0000000000..910574ce2d --- /dev/null +++ b/tools/tests/apps/app-config/.meteor/.finished-upgraders @@ -0,0 +1,17 @@ +# This file contains information which helps Meteor properly upgrade your +# app when you run 'meteor update'. You should check it into version control +# with your project. + +notices-for-0.9.0 +notices-for-0.9.1 +0.9.4-platform-file +notices-for-facebook-graph-api-2 +1.2.0-standard-minifiers-package +1.2.0-meteor-platform-split +1.2.0-cordova-changes +1.2.0-breaking-changes +1.3.0-split-minifiers-package +1.4.0-remove-old-dev-bundle-link +1.4.1-add-shell-server-package +1.4.3-split-account-service-packages +1.5-add-dynamic-import-package diff --git a/tools/tests/apps/app-config/.meteor/.gitignore b/tools/tests/apps/app-config/.meteor/.gitignore new file mode 100644 index 0000000000..4083037423 --- /dev/null +++ b/tools/tests/apps/app-config/.meteor/.gitignore @@ -0,0 +1 @@ +local diff --git a/tools/tests/apps/app-config/.meteor/.id b/tools/tests/apps/app-config/.meteor/.id new file mode 100644 index 0000000000..a7468fe68d --- /dev/null +++ b/tools/tests/apps/app-config/.meteor/.id @@ -0,0 +1,7 @@ +# This file contains a token that is unique to your project. +# Check it into your repository along with the rest of this directory. +# It can be used for purposes such as: +# - ensuring you don't accidentally deploy one app on top of another +# - providing package authors with aggregated statistics + +h9uim8gzzdn7.vu1xo1jmqcme diff --git a/tools/tests/apps/app-config/.meteor/packages b/tools/tests/apps/app-config/.meteor/packages new file mode 100644 index 0000000000..46098f7d48 --- /dev/null +++ b/tools/tests/apps/app-config/.meteor/packages @@ -0,0 +1,14 @@ +# Meteor packages used by this project, one per line. +# Check this file (and the other files in this directory) into your repository. +# +# 'meteor add' and 'meteor remove' will edit this file for you, +# but you can also edit it by hand. + +meteor-base # Packages every Meteor app needs to have +static-html # Define static page content in .html files +standard-minifier-css # CSS minifier run for production mode +standard-minifier-js # JS minifier run for production mode +es5-shim # ECMAScript 5 compatibility for older browsers +ecmascript # Enable ECMAScript2015+ syntax in app code +shell-server # Server-side component of the `meteor shell` command +less # Support .less files for defining CSS styles diff --git a/tools/tests/apps/app-config/.meteor/platforms b/tools/tests/apps/app-config/.meteor/platforms new file mode 100644 index 0000000000..efeba1b50c --- /dev/null +++ b/tools/tests/apps/app-config/.meteor/platforms @@ -0,0 +1,2 @@ +server +browser diff --git a/tools/tests/apps/app-config/.meteor/release b/tools/tests/apps/app-config/.meteor/release new file mode 100644 index 0000000000..621e94f0ec --- /dev/null +++ b/tools/tests/apps/app-config/.meteor/release @@ -0,0 +1 @@ +none diff --git a/tools/tests/apps/app-config/.meteor/versions b/tools/tests/apps/app-config/.meteor/versions new file mode 100644 index 0000000000..8b323e2c75 --- /dev/null +++ b/tools/tests/apps/app-config/.meteor/versions @@ -0,0 +1,66 @@ +allow-deny@1.1.0 +autoupdate@1.4.0 +babel-compiler@7.0.5 +babel-runtime@1.2.2 +base64@1.0.11 +binary-heap@1.0.10 +blaze-tools@1.0.10 +boilerplate-generator@1.5.0 +caching-compiler@1.1.11 +caching-html-compiler@1.1.2 +callback-hook@1.1.0 +check@1.3.0 +ddp@1.4.0 +ddp-client@2.3.1 +ddp-common@1.4.0 +ddp-server@2.1.2 +diff-sequence@1.1.0 +dispatch:mocha-browser@0.0.4 +dynamic-import@0.3.0 +ecmascript@0.10.5 +ecmascript-runtime@0.5.0 +ecmascript-runtime-client@0.6.2 +ecmascript-runtime-server@0.5.0 +ejson@1.1.0 +es5-shim@4.7.3 +geojson-utils@1.0.10 +hot-code-push@1.0.4 +html-tools@1.0.11 +htmljs@1.0.11 +http@1.4.0 +id-map@1.1.0 +less@2.7.12 +livedata@1.0.18 +logging@1.1.19 +meteor@1.8.3 +meteor-base@1.3.0 +minifier-css@1.3.1 +minifier-js@2.3.3 +minimongo@1.4.3 +modules@0.11.5 +modules-runtime@0.9.2 +mongo@1.4.4 +mongo-dev-server@1.1.0 +mongo-id@1.0.6 +npm-mongo@2.2.33 +ordered-dict@1.1.0 +practicalmeteor:mocha-core@1.0.1 +promise@0.10.2 +random@1.1.0 +reload@1.2.0 +retry@1.1.0 +routepolicy@1.0.12 +server-render@0.3.0 +shell-server@0.3.1 +shim-common@0.1.0 +socket-stream-client@0.1.0 +spacebars-compiler@1.1.3 +standard-minifier-css@1.4.1 +standard-minifier-js@2.3.2 +static-html@1.2.2 +templating-tools@1.1.2 +tracker@1.2.0 +underscore@1.0.10 +url@1.2.0 +webapp@1.5.0 +webapp-hashing@1.0.9 diff --git a/tools/tests/apps/app-config/a.js b/tools/tests/apps/app-config/a.js new file mode 100644 index 0000000000..508c569e06 --- /dev/null +++ b/tools/tests/apps/app-config/a.js @@ -0,0 +1,2 @@ +import { report } from "./tests.js"; +report(module.id); diff --git a/tools/tests/apps/app-config/ab.js b/tools/tests/apps/app-config/ab.js new file mode 100644 index 0000000000..a4c5b25568 --- /dev/null +++ b/tools/tests/apps/app-config/ab.js @@ -0,0 +1,2 @@ +import "./a.js"; +import "./b.js"; diff --git a/tools/tests/apps/app-config/abc.js b/tools/tests/apps/app-config/abc.js new file mode 100644 index 0000000000..07d1effb8f --- /dev/null +++ b/tools/tests/apps/app-config/abc.js @@ -0,0 +1,2 @@ +import "./ab.js"; +import "./c.js"; diff --git a/tools/tests/apps/app-config/ac.js b/tools/tests/apps/app-config/ac.js new file mode 100644 index 0000000000..7dc139edf8 --- /dev/null +++ b/tools/tests/apps/app-config/ac.js @@ -0,0 +1,2 @@ +import "./a.js"; +import "./c.js"; diff --git a/tools/tests/apps/app-config/b.js b/tools/tests/apps/app-config/b.js new file mode 100644 index 0000000000..508c569e06 --- /dev/null +++ b/tools/tests/apps/app-config/b.js @@ -0,0 +1,2 @@ +import { report } from "./tests.js"; +report(module.id); diff --git a/tools/tests/apps/app-config/bc.js b/tools/tests/apps/app-config/bc.js new file mode 100644 index 0000000000..402dc1115a --- /dev/null +++ b/tools/tests/apps/app-config/bc.js @@ -0,0 +1,2 @@ +import "./b.js"; +import "./c.js"; diff --git a/tools/tests/apps/app-config/c.js b/tools/tests/apps/app-config/c.js new file mode 100644 index 0000000000..508c569e06 --- /dev/null +++ b/tools/tests/apps/app-config/c.js @@ -0,0 +1,2 @@ +import { report } from "./tests.js"; +report(module.id); diff --git a/tools/tests/apps/app-config/client/main.css b/tools/tests/apps/app-config/client/main.css new file mode 100644 index 0000000000..5b5a91897d --- /dev/null +++ b/tools/tests/apps/app-config/client/main.css @@ -0,0 +1,3 @@ +body { + font-weight: 700; +} diff --git a/tools/tests/apps/app-config/client/main.html b/tools/tests/apps/app-config/client/main.html new file mode 100644 index 0000000000..c0e549e637 --- /dev/null +++ b/tools/tests/apps/app-config/client/main.html @@ -0,0 +1,14 @@ + + app-config + + + +

    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

    *5b3= zVdd^JP6M-a+g!TAiN)Dzt{3Fcej3TnDM+5%>uD$YZBK@;=xgnB#_8_BX-ivM-w+pX z^g1)=oTJ3!iwosN_b&30obkbCH$Ly!!S9V3-_Z9J#F0MY3+kjiffvPLchn85oddFT z8NU!O5t}3ACn){HRm9V?pI^pZFvU-?*#NAD z`u=c$G_tdQ0djZoygV#_Yi3+Oe6c?!5ktUpg&)5f2UzRRj2v`p7=M4D87ydw{T$}( z{8G8~)$>o+*fpDW?Jc#y$*l~HjE8G{orDp)_Bcl;v&Il#m&cMudxC>>j5>Q+c4wZu zNJ-0^+&C%@1NUvvInyPmM0(skaW%MN)xyZZN5-GhG*re$xX%vXYm*afshPfED6bEw zim@jP1>K%Hxl+oz?tJARu$-;xs;d<P0(640qql`D_E&d&MSrAT@)P^&Uw=`IMzK%&X?_zaS!7# zS^I5BU)gyPKcyLWCM->QTB*Jpl7;E<8Mi+t9yyz@Q6)KExW? z{r!vGc&WReD?82p?v?}2)-*Ih9tv*ZdJ?!b_8ys|f33}_XeYlArnrviDc-9!ugU^T zD;(|9em_)%%&G*Z$L$AlnMgq~_dw*Fa^UE$BPlJGHtyo#}I;a-lOV#G(BEgm}`K zKEU(yvvsx?y7v~A#cvUrCm}J9DzD6LSE)AC_qXSfmvGCkUo+HKzv{=d?O$^J&)*`U z?X+l~=lrZ$2pTxo2M0$ER>fVP*msh-CzQO!}`sfkvjRsGn zn{0LybvPS-;O@X`(UQa9!ZU;BXnXI%5mS^{%|=qyG!QgG3z6Hly-4B)lDgFJ1cwKf8=0YnJ&rnZJ`f4|G5s| z#~HWy%v~8plNj~`h3{IkTh8(v$3Nu3i6z&T+!?HXgDSZ6!l++Pna*hSexv^PBGPD$ zJO{t{P;T6gUmpygRaV_Af-Yfc3H$LtC&BO=jh@Y1YmX9Qw9*{EA?X@fn#!hj;Sjvp z;6;j%QQ4K1k&2NUB$Vtwaz%$K{8mX+lxouP8FmtdDe>yZ>1bRbFT#Styq{amie zh5fEg2q!yS}J+x=R5$)JJvj2cx`OANhmZ#y9Kx3AXSJ zm%cYAkGFbAu6#{I7v#!Sis@*yN`#bNw|RQq%DB}!Ol8&C6z%)Owq}BdwHkV5)8oF5 zw8gd_W$|lP-AoZyl<1qBCC9yiw61?NoXT8i^RU)H&9qzms|_ywDgQLxjhXIPc;3w4 ziOIc^H}R_{=#{guOm{5(u;4*I{5QOBJto|4uj*}l2mNqJFa7Y_Bix8&NfuVCAHJQq z(hvVFzoE>^LwMf-EKN%(0^VmZj;n3a-a=gMRkhE%TROxqr4JUIsUCPcW>C&Qzu<2L zPS>}699`?d8GU!*Jn6It^LK`}vq#Xp?mgSa#C zcOj_X;KOKod1hj+-_PZOt@E%)N3iuCc0~kh^045a^8M5exsYOLm^xcMjm-~u8i`KZ zbgxBP9XA#ufR$Ht`XFgEKfHhrrGD}rZ=Y9p4cArP+od~U23jiK28o454rsWA>%-vI z_zLTq6%{P(aF-PsvwmmrNJbn0!oipe`TxbqRBc;!zjvRi-k~xui!fO<`Iym1vhwM&&hI z^ENI<4#m_v6jRwgMLgZp^D;0i&zF1qXuTghKhUyh9hTa^$icK-oHEqo+B_J>L;>XH z)}5dAbsF&f*4g2hLRgDQlT`#`U&CEt?bjcIHQ5fYw)`?*X3dm)BRZz(1*e;Y9Hq}i zb(f!6Z;cZbXZ3Q5E}sX7biOCx$gs|Q${u1zrGmn!yYDKjo;aV<-P+Q2C3gmRr){f5 zFnWY@5XXPNX?8EE%Ea&~{Yz9=Y?4;V($#sD2v#Q5{fpq#n(BqfZ4mQU)YH*^g?#R*j`m-p`l8d1vUT-~0BL=`N*d|bu4ZmhzrNY)LyP&1^F1p& z8SJ@m6YTJsL)r{zxWAI)y+PW~WS_=J_v!ZBWxmTgY+~GB4(j5%J$Ky%oevdXQkd!E zTsm#Wq+?%U&31#dPv=5ShSIp$BCCo84%6#ubgmDco_7(1SK$w;3D4hIs(tjYNAzYN zy^0L=X`_DhAEeb7x&^uy>vD$shgz8q9UAuzWzWyiwRldGOb~e8x1us4*B9bcdF~*d z=AEbcdFPmy)d!0ExD&G5IP1lAzdfye-IbiQTsPSIMzF!y1f9_yt<18z>zk|`ogL*u z&}g1*Ou7$`46;+RxU}p-vvq1_i-?Wn1coo*h|{i*(q=KT^i2u(ym;L5&g*X$O6Bzp zF1&kWX*mkc`Y-*iD!r-b)AZ>hvm-v2Fy;oGthrFI<=?2?z%j~Ov7}W=x*}!TF^HO<#M11j`Hu`_@ zdI6CEEW^EnyWI9x^i8e5lG8;U-+qnuLfEg#?S;tpS$r1jD8DvwZ7li2`#aG7%lxbl z4KfnGXE}19ARpl8V)beK&^lmwZhV6Mk03*_m*exv{02809-{mEBb2Z9a$I>PoFR6E zdrKPM1qrw6VEZ}Ci~b5O?kV!)NMYL@z8YM+A|8A$@w(R zgqwRER8|B-f_-QL5+Hyu~<-ymi5z9u7h+t7fA`TlOdbDm9zOZioZ{Fi| z^Y8gqdbL8xSL^2FQcGSCR=aL)AgpZ`>xYlapLNPbxa_jvca^*5w2QnXm#n*liVKRJ@77$%o_wBU zz+RctU5bYwk!XWQr|#@L(|xIPAs*U6d{E)*@Oq>At>GL~6W`(C9Dc5>_39_uolOtgBo7J?rpHj)bylV6AH$eW4lUw3 zjmmX~56cRdrMq7;*3QN9Q`KeQjCF-+Y;1bQLQ-92&? z1L3On!c&%xdE$x7?SYBU>V5%>9Gx)|yczhu>7{9G&MZXr7JM`C_7S<+HL&dgvXn1v zi2ALajGq3J`k$6ccAXGUdbz0tA1t-~%u#M4Tdi;D;R zlCc&}i8c1lBE96;FT!Ybwy0ozE%r3*ESAgd!>vP|o!ng~yHh-E*M@*sb^Rmos;=>V zGE>~0i=N+niS;}d`*t-D+nUxd1Z(0xxW(nEeLCYm;rBZQZ+7rBf!b8??Py?UxjZP~ zcmVmbmn_kVE0xX4#Li6VoLO^3t3BAA7L~&4IyLSxTU^ZTX^O9f@t}Ov?&n8!q1^*!SN`zj+xP(#C(Y_qzZbsrcu>$w6aX;oq58RnEtYGTUXR^=z{Li)aJ1}71I=e+MjwdeOJ zBmVx!#HUpr$$;CUdTx{?_&+F*+U-K{$cE)boJml-%|~PL=@+{;tYcSU{iOH*q3%t< z<2tJR?W?xqIKfFoFo_8!D2_>jF~N465JE_-r6o1d7PaI!A*9jLvO1AkN=x#_CLk=6 zVTTDjge~m*I_xk5!x|Wd9fl>$unfauvopi+e}A>yTethR>|~hdd%pWv?t4#FovJ!@ zs_N9KQ>To#A=8#A!{R1^P~phoamVYH4m!<_U&z|Ql)SGn-3w~eh;FPEY^}K;SDWN+ zyUK;NQ0{ecSY*a9=^1wfbYkvpQmlZz8!KeWELvRvE{zHIINQ={r<;#Ow|8D(X_dW( zEKST;u=Ok-a2AsBr@`%QNUa`R%Q@V81vY;lLS9;pUe%cRD9p(jhsb{ocl(S@N@REI zJ7~l?6>AC_CUJC99_tx1C%Gt*(=KLwSw3Czq=y*;gu|+b_6{x%=+~B8xgMg?Lx{hR zws<#8+SCrJpDRbqJyzk7W$|zw9O~$7g8G2gXn4guWDok-`BgCPdOBnmlolpkJ!@-g z9O>$;_0qcNfRT~(-sq%**jzQsTFb(L!vSs3NolzOht4*~(lR&}g&i zi*@xd?3GU|e@H3s{=QmyH~ zhwVYT;DleU-kt$Up;=^m4vlKUq8KBSS~t~{Pkp|`%2SvsXb7023EAs z!ckbETxT@RJ6X?Zt*E;AwPHW-Tb4x+yT>}fw_hvzI%};s7~~6UM@d+M+n>Q1BCgho zSMuxWtUQFb2rN!ZDLmdC=#lEzie1D-Tykgo)cAJZ)*3KR7(F52{U6hWHrBd+-)|jw>&e?TF@FzDXf=to0G73U8Jyw z6K2l`E%r^ge69e-Fr|FpTzgJNar=NHB1D{l;I{J_Mm1c&;!98K*kQub>}}VvBf!IT ztj^?xXM?ofI+?ZXDDm{{=9jf>s-raPJL-p55&umP_3aFNYPWw6~o^@W<7>%-`=Z%oaDjq-rT>UzJa8uOa@O;woFA-c1Yb}aYfr_&?Gep3ZkKhs@i z)&kp(q1yM{5KUiI)lIt?7<;)x{z|TOv=x2LJyuzDi^sd{dW+VN1drs7<&z}~x15>- z-#O6!JpQ!Lsy-%Lj}r0J7Hw{>ZK5+MvdgC%eM2cc4TIh{J9@W)8_TB!f7g<}@%)Z` zoYjYZkj|3BD>H{#O4UFP6a3VuR-T<(EZcx&owo`3Y~Mm@ZfOxb++Iv?iq~{!M+->Z z=|I&(^Xo)FPyB(T%WUXa2csUM-z4cic)GnWEt@9HH$~1*c5x5b$ne!MFNQF14Lkj{ zl|9mS?3_M2OLC2st_#*2r_SD9v z>hNwz!&7)Sro#+gug?(9wy1)tN7v6eq)sMK*yg%0gV=>@t~^gVv$Js7uhdxN&!X0)|OZx6NYH0dM{oC41`ZCiPfKuM-cQtjpj?H$5)?K1u5 zdT>bw@axO0c9z_;I;!-})egy%cg(wj)7H!-iw$tv+K63O)y9n9DUBsM!@?LdWe%M{ zN0nXc%b9=fb(~lJ)jIxUkvyKiOIl5)yo$(;=-r$;2Y4)$^eUmF%)Ap zK2siBD5t_TM;{_Qi{jEZKZdYyo|fI#ah&1R`CYZ$8s_N75=YPD_+^f6Y@-$0PQ3AW z(n;_92N*1yAGjltyMr?<{u|-Dc12%H&BYRHYI8GnHv0d6wCDG0lqWiRi{{w#H`2h) zHH~m+BYHoH^jiCxyIRJ&*7D zGHHx@ev|Uv4JyjVwjRF*`a9xkjJkziPcuJ8y%3l$mwX<2yzk8zqyCn-W{fiJV#lUu z0JCG0Z7r=Qo(XI{`FC^kxnIXT3z*hDJzUYpxj?h-c{VVud%7xK!{H}5)h`b?gfN-&d~VwBEIX#w-bzyf+1t?aw6l~i;1J>CHykJW%8B!)k_K2 zIMxbph)!$HwtRL?CV!T6FC^Fh$%b=q7+1@sUbNYz;^>eZh}$l_VidUf$l)_mW1Tx9 zW|wA%l`qYfyVaFnb-=gRib#(&U)A@O;FX^EzKq+d?{DS%YgsbCT?2^M+n|Nk0M?c} z7rllwio3;~+s&4VN?q8sx}y)V*M>BV+Mnv`F8dKiLbE^;KGpg4={l#=+DfKj;8UI6 zKsuc-IVWe!`IeowPS>aCoIY!!GnzWL@6K?drnhSeogdk7l(VBcKe9PFKZ5CgWZI1? z<=!0B0bAdu=R4~Th-4iBRTOGy$IiEaS9V#iWFI$szLkE9^2HpxL=|9a%8*a!1*a1zLO6n)rm1X_nx3mty(wKWn@^f5gfPGdr7aowlCjJXCkfs zv`y?D&6nBpH1o2)TlhA6osRbe%K_7dtS`4X4Wzsv0OPf#k6jm$XaX_AoumCYX;w$T#*Fv>*p~4V!2PqjB|A^m^&g0L zJd;uvk+b&@p<6$Ds>3*C#FsVebPO2d)m&o;wNYI@>FT2Qi`|$gTNAI(F}C!^aX_+G z74OOZQ1@f`csdL1BwfIE{1IIOxY=Iw@!8vV(XG6vxa`S~&mNdqWreM}r{e05Pxv^b z7dG40@s+8=2}p*z`*u>t@El!k2hUn_uFvi*sh@rkn17ze9LX+lJGUgXkFYB57#+!D zi`ri7wG&5^z+HZP{Svq&TmKq)x5@mrN2bkrPUEqEy~j=VX&Bg4=L2s3(YYP99U=vf z-P`wVxt4vS>fXg^-_J#tb<9WBlwi9VBmRXlwMOl!^TODpx;Q&b9MOG4WbG9~Tsm)T zaa~~QBOdrlKrd`f(`C10O2ep++Wo7JHoFiAn%KJ2k#q-XGOGmuL*r_yy_aT;*Rx=c zP4!@rL-zE?Bi%m}d zm*s2Ko$;ud(=6zL(G%1#RFBtnt%2R9=&&C90%xb8&BS<~!4KV7jmzu2EkYY{?-lhe zdHw5Ie4i2XiycR9#Q1TgLs@>8l^9rb-K!#gBCvwXd(NWzg9U#mw!{)kdOZvzR($(EdC!HD01gr z2_vLDPK~YF-&i5UU0{V6&?B4=b}=9PC`E^~9{h7=K46c;tqH{^f|+@8skSgzOP`q+ zKd+1S#}{FGJFXJEb#k;&vl?Z~=fZOu^Dw*qmD#0P8x)L7wr}honwwvm4-gt&UL>E5 z(RlaL%*?_B>)vYO?Zbrs7&^AGua7z3h;cMVn~I*=v;IlYevg8eSD=<-=M`cYdagO` zr{KJu`n;QRiQm2qZ;RhfbF@`?xqYIF0i+o}CBwB)mj4XOg5Qs;m_th@Q~L^by9W6= z@nn$wC9pKHD;gQX-N*11w#e?oq#w`bqv3pUaCEpc-`_sKvU<2=Jx^*HNm;WTHJZso zb^aA)RGo)io#k*yTGRz|Qm%ijiq!=JQ!s{lcMa&P-IOf;l06G&Ime&Va{RsD$Pgb=5rujWb9e*Fxk?|$O?i#m!NNNyM0`k+i@dsD#pI{%|q`lqI zx~}{{Av_M~{EpV23Tz&Y9IY+#7B^oM@;$hF+(*+&vU1EY2^PGT?T5EK;uQWK&cQv|!;|)J(?8w27 zlAws$&P8N{=B|dTcBViS(wui#MO?{HPdUBWSkZe``|f-p_R8+RK%g=oNBWh8SA!zsG0C9c*le{>$U*EkU$}a*W%qL4<>I$GCM! z`$JM(>nABjVe%CGv>3+)@mRbe>OauAV14RYx|r{hSvfg*=wxWxhTJm$1C0Ut-oT&sMZQTt)T4cc`mnSX28mnc*7=UvJY}M+5%$ zG5Vs?pGo)zn?5uAzJ!as%z<7IEy%KA&!hVXA@^LaXK(08JV-FwEkBa zHWPN93oA?wbHkF%Cv4dL2-|9LcWCp{rHs?Tx>)LtgEfuwT+;1Sm?4_AiF+V0-{EZD zt6CleEZm2ZJ>1D=ABwxWD4+W9DeOvYBc7h^{32^L?ZcX*b`VE*hVMd3eTmJ47e?-U`=W9Eb_gJ^*Cd2 zjJFHCes&RFwHwKf4PY?Zx#1z;lsq-%4kW92Tnqq4=r zs1ABx8|^jtbCmh=j54S21cgq)!LKs!a%HX}G-&+ZLHR{{$q|ixvaqMW4-;UH6;&5^ z7|baMIGd+)Rvk$)4=AccZOl3 z8=8l`m3XK#eXar)#cY6zyQXbI z!Ij4@;L0O}E1xbGe;>L}Srd9Zy$(J(H?gSWm>%Be;fs^1g2{IPJVU_I&rufFJshnE z2^(=~#ug58RWo^1C$=54YP%jx8XR z8`v!rIZbJTy1F#n*}G%`Zp zV9(&l)u=Ov^WFJjwo;r*wMn39AJugpT&nBEaD&SF7uKdKYj>*cCilyuY_+)0*t&U{ zN$n^2p#ZMFi9L$IMv~UPm)dM0D6{daXSQD2M@M?G_Rxluwx{B?0DRmmoRX{Di{O*Z z+lR3I@@wml^ZtW#Z9VQdo8O!4+@*O>-}^};yX<|gEIysu5maWLtB-ro#r5;7^a`2} z)A3rON4t29VaYtJIb7xNbNJ&(vjtjv+>htGKE3AfeRU+s%agKKn^`hO3F}J~TXN z90X$6HDs?zwgXNhoV8_C>?lXWGM4XD3ks1ZNq zdgfoLEK*y}RkI4?LXN34M-D&NjXxSs*ljls(*4+|{wjNLvyyh>Wg9U0ARa`}nnrH( zaRomis@TlkJmTlw6So<+N?iwx1sn(Eo++a?u0wZG=z=K%K)ekU90xkCGE z?0PQgZ)41@(!sFKsbvciDqkFD4JI0lYzAd&!W+35`!UT4H6S-&` z>AhSeJq2{iy*Ox-ow6ki>touZ4n`f-7B3;4tcH0Tc*-e#( zN4W$!zdPU8=(ONiW0Swy>SeC2(sz+8%~-~?GU5^R>Dc)$vA4Ug>}=#VQAEbT3eIL^ zPIFjgXAH}|BA|ou6Z(HtcG2!u^3uM*$rm=$3qY^#!f?NiQHWlw@qvoe_zlJo@O+9FHBIhibCSR)baj%Q= z*EhCYmEKAym!`*@kK9k=h1KUtS4nrw-4>K*tN5_1E8pK&(#1Di=yXL%7G|CuGlHOq zwNrQn;Ws*(i3hkTwZUFW@YM-CHO3Xe$zGXHlk$b5v4;IJALdQ9 zV!6E4`L_%%pDpsa!2mgGKlZY_7s9XZ-heq%tFq0pBO*98p@JBQbaCmjog8fvdM zkyd>6o(*<FCY@HweAGMWxUs}~_ltd7QZk6|1p8)4;_gFf#J%8E>%f!0nc8386g z(dk{_(AlKb)I(#-i|Lo5Q?~AnbshRwiQFZBVM+)AYt_}k=~;*H+icD{sDB8CO_z34 zxb)V5P5lH%{tt~#V*XhdO$molw+P23_!Qrz-u0BRcVwBGdtX2c{BMS(ax-gCa>}W? zzn?TZKcP8sH#ChJ_YD?GrQs3Q8u-ec;hsZl3c=yAF)Cp3t`viOB)@-ve7yYLwZqa^ z@O|47_=kxjy6;Qzz(Qp&mWE5U#9!v>Xl`msN+c(Lh#tr=lWqsv(CtIu;yjyZ=4l%H zFZu{!jFHBjNf2o4vqZ;_67C=9xKizoss5t#$H4h%`riQ%4`kEXoEMRGA=WW0L^G}c zYYc?CM-E??qF0u_pz$6voprG`)#*D_G?rmQzEA6CoS~VusLBgC_YVPGuzkAA!$X~={P6JLFti)($4Yac z%Xu(t7HDXfmLG~KUK1_wakf;GBL>V2J--PK?IbN5Uq_lxKO4}-tkdsec|@Dff$P=u z#IqQWyse6OTz?uTU?W2p(MYx`Um(6{c)Na=?fWy_yT}@pN9}1~&#jLiS6pF5WLzlXYbGV5iKlckAlBa8_)DQy0TdR8 z7R+7{#mId-C_Cry8u8iQ-v}ok)#*E=mrbVHDO;ynvQDd~W*40iQSuFrn_a(N64@m~ zbXE51I`u@(lK(08yss(O<`@S&d~MWIn_I%`mGgrko{?`7ZUw=ld!|_CE&x9l$uG&s z^xV<{jx!YCajcI9%6pMT_LcFhz-=umzvPkc1vFs{NXlzzk$gKEe4qI8N%a{ziS(M* zAFob&YCa)@@yZOFuPNEb`sP&}dlj$uwTfVb%44opTe4P}-GP1D9poeT z_O%y{>J>}1>_CcXY}S5AddW)9+L??&o1l8VUERMEZ>2Hn$ApW=ENy2UqrY_F&>ua8P*Y->DSg55n)^{xQr4Q*Ioe40JTBR_qf@)5Vdi`|{Q=oyjK+ zGIUDYGaLVKgEMZg$tlw8cT!t?QxG!uz7MYj<4_a3#0i9W-OF>d+edAhieM)ZPc#J6RvY7vg(& z{u0y;A4c`L+2*Q;QU=v8dWaqKF5y@88`d7caoF)tHTxBnWEh)#A zl01yPkX=cb^`!J+tD%K|+N6iLlXVtdj{}EvW9Ocn%oVUvbT(slD9;{Gyl^h5pKDHV z?Q$9WqH34y^(bZJ)P|YqVnIk+ann^35;TV>O&JSb0LS zi}b^tGYiJd%hOqK&ZLeLI|bMM3axebE0ln(2R4CXL%iI=Id*)UAy{*K$K~@e^4}Ou zkJmb|%H50jg1-?z&f)iw0jr-IK9cpa#xZk8g7r#i0z{t^X~UDLtAC8|+!scUV48nHnRTxEl!rs9s>$;$uwUU0T<^c=4MQO^+1=WwcQWz zuv@P-y2`<7(`H@+M1#kb!J^Xau0c7{ve7?$j_ zc^lMw6IXj-8~IiJg-3ZP?U}sCcqxU)dkuV5zZZ5oakUrLQ(m-mshOjR#;?bH2&*TI zcuV_M_a!Xcw^~CfR2vnZ=lhxbYI_ZUvZ_2e`0X559+gS^%I03mjy|r{O`PI1K;Z)M-MOUII{4Y`wBz$jFcVS(=hOkH~QyK(qud6H-cBDgZ}N-L4SgP42-;BZ4~Gx zJZT^O51>w2KKi%2zOHa|#Ky)|KKi$&>6flglRAoa4NiUUl#uj#r(0D?LpZms8_amrLIm z);M0}iL3Fdn_tmi`T6mxmv>(e?cIC4w`JJhT}s?6`@4q$Z=-zPelE1XQy4=@9F}E& zr#P@m9H-v?PT^Z!xVOK%3>d1>l>MFJ!KMaJz5U(ggh>=s88LTD+21K$mi?Xb*yZvF z?e7%7%i#*`?*#94@X-EF@IDU@?C;uv4*{>YzmvT}4`C@zcVmA6csTaUp6;H3J)Qj6 zso$K+Jn(Sh>bZj7v^`yRztNb{M_k#{J&Co*Q=C2mPr!Y~1xR-(-`|n%!nVGrNI$b@ z8!vX7{Ib+5pK=uE*k5z@SeUppczk|2tDx%mNUeR z|Eo_Q8dIQEe_;O(^Kwh8Fn07AsV7(m4ddo`7V`% zdqif(=8vHy*%6zR<(YS>EKoc<7t<*&<&+F=btfMv>shs7cHFEInZ5Em&nL#!8}_$Z z+!2Rm=C@-_Xb0Ihw^!bcqWYPGu1P4F!JagnpSL5N+yC~R#+J?+(wMn59hIuElq zZpH9c!QC~FT7M|+`WR*-x6)gN>3gY1FB^OWLGHQ=-gT2JR0wP8rEppE9!VGV7x zn1na9(Sf?Kkly0K$JB*qk}sgmofsW5l!W-!L!n&}Kj_OA*joc7bH@4my!fm3stgrE5E;r8$ zuTQ~kBGGJj1I^+&!{~<;{$~6U;ZD??H<2u~gEi$HX)dy?f3VGLoTD+FKi&jm`f3UVzG%Lw0;b zP+xQqN6FgO|0t1SdRz-`=_o#lU4OQn4-%`{@6KDh7?Hr%Lm8c&+5M_?L!$LOKyDJ!fdpo&?j#s-gMM?`m&t6Vidz)(gW-zuM?LgGg&#(?za?T8)p_?tji2L7$2@V z>RJiv%Kq1i869g`RPXD-tNrEsT-bEK&|dI7Jc#j1zP&5HCa(b;*Kfwv&)b5&3mp_a z6d_r*DeQE(IqZGx!LfH_HqFOok}&OCs?OD*&VBwK>SHX2>Ne-<_DG%4f$mS@jG5PC zi_i3ZBXO_+k9}2p-I&53hEB@skdnB$Xu*{$jQe76WyM{pi+dkv-3;%37dP7`0}dYP zD|G0Dyys~D4dqq8gQOQ<>HSdrZqL;|n(xN)wM36`d1i%;Qzt!VppQfkVC+R+Ncr_A zyFC3iraLZryu<0w_vsw{CZ*@MG5)IP32_;0K0dzaq811g8<)Nwch-5Gn~5u(-{11v6!_l5{eVF?lTm-)!Ms?y$JE5_V;LBH_|678dOO zn96VyFzFP#E7eH@b#b2pd>e3gx5S7qfOK+CC#;}a=$%EE1%V1}5NKWyF@K|VtK|4t{ z!l`}Q53ugR!p_&7XB9tS-_*blYopy`a*?h4Rqs~>^~T3UV?Hb7ue#n!dbRnV?`iA$ zKdzls@7K23x;9w@82i`G5xk`(9^AX~jsxRGz|mqs2XE)6cCGiZA{cU8XYJs;)&ToL z9soXI0_26B{_59K;tfD}!?kxneE_=-Y@q>-)W)ib&P=uwi5Gl(R#&1d`#`rvt zt(SP?^+6pN8}5?-8S$=x z9e_AmEcim_SK6qfcp%65l@Fw3e1CX8q?J?mEew@w{Hx3*zAo2B4&eAic;$1NyI;G< zDl?eZTfPwdByQ+fm>8=~8pov;|68Cz;``0|l~cL!QEg6AnaMBU!SxQ#ewb+!@fCZK zxwi&wg8k^xs9<~V(P9}|tvT&&;MTfbzH`)0JDt5&n#YoRi+z8Q4U*r}6U^FoPj{8~ zRj_2X^_QHAUs*E=sjpo|eaI&F&Y(VaUD(dTjaIfYydQ9fQ&3mlcac^$Cm&!!R(U^s zw&g4FZ`5!Oqu?h(1bobxy2mCse{s-ckR3!WcCYx&_~g`>?f1xKJEOm^V`Ke3%Ama8 ztKXXvxl!ML&!6_q-_NfeFK7DnO6%p!BtCZsxcJ)p72L~#ALf0_vhuTX;743~`fB9U zOAh>~OYh~tBrI7!cw3c^5m$2H$NBa3P##MA55VHIl)~ect!2Hf$_I!mIZ*Oa2O4ur zWP9HFLxedQ(B10mLg53+O`jkRYbmj8|oip<1VWnK1RO4$i+<-Kn@R3~`ec zz@!f`X}&@lt*?g579)$IDU=>&t@I7Tw6>}X8>|LRpg#Lu;?;4N>8sxdUf)-}&jj(P zd?x&WIC}2jm%f@}$Ywk$-v1%-w@zVKcOt8{(S%7@YRyn?Rv@FzwVui$SaC! z!_kSO#)FN)uR8t|ytmQ6zr)es}L>%{!4@&C8LLY|U6BfC38qR(ph>34+d`8~hzlc$JfCI1C|MBhIUN8|f*_)|Hz zJKI#rim;Fw@8~nwF<70aWEpzb61T<1`as27?O>tY^96WQcOq5e?G!8fdza9K!x`Y*zgyGkN+u2O4?{|4@#^VpNgI#Y6I&Vh&?e+H+{ zVO)!izSs9_j5fLi8B@WRD$^`Bd8{Xs!;TJK1+H_q6>h*@q`lN8@KNqBL0L5i4i)7Z z&3hMgU#?A9$eKCrECw>Q$v43%9zNvS!0Mg%>iX|^jmEhvUDIv8=gtzn77i}lfbiku zO+busu{%Z%f7!T#pCP{z))!+6zA@sOA$QNWKd-flviYY?mPKBdX}Bx+c6C`zeCcMs zz}nyIBRyZ`+9K;u1NtU*mB&SENTYfmuis_t?OeUHbUIqIaj#P+mP3^Z?(0?CSRagb zU9T}#^gkgexAz^1hpqg8u9`MwxBi=Am@EH@q?3H{JQf=&)BBkWR3^R8UXZ+hYDe<^ zZg;7Z98J`ISXIc2s%iT+ zzVI&R9HCiW6>L@1i@#E?!y?2gByE`RaV8ZX;q1^9_g5Atrel4jXn8i_Yon{iDl&Lk zn5(kA-p?(;CNG7xMx6&IX39EpVQ4RW8|*qTg-7t@9wD3lRO;3iluLa}G&_MR+#_hO zww4C!*cPj&cK&Or@}(} zI0sRZi~ZUuzSE#d55h z6l^`Pj-|y#`LPf!lomg`atP_bmY3Bo=b3gv)jd9E=qA`!12b4ndcn3CSYJi9Osbpw z3Ed~4mGND340RKo&Lo}I-K)1Xvz>${`TpVdzMw9B#F!kLQP1p!-eo~yx(S(iUV4|md0S(XD z^SX+&H9AnNO}Ku__qOO@{QWuP$(_*wc^8Rc!qJCiZU-*#xuYfpABrl*eV~B8{YK<- zp<}iZ!uD|f$ARK@zShL!l(HfQ<$aXmI?RU?J971oGV_h4tfcUnJ?L3m~Wh)#TNOPKPWX}555uMKk zUjWA)i&Yyb>^u{uxP^tTIOK@g3s?WTzbT8!7+(JC&`WKz1-u&X-^N)NzqiYlOH_YG zVk_}>Wcobq8tnHwVVYTX2j8@b*K^6Azx)pBJ_DWU(75(De201feQzTlb3TM$Jz;v$ zRref(cO8UjcDOWN@1XoNH)O|O743BKeZ3X;d(3-&t)Jk|MHjiajbUlOiOd^OlCCB4 zcRKhoc{-?Ujks1tm(Uq9uUO^aM~d6Rs1F;p$1@c`$IufqsS6g~NR@u${mP3;7#yF>B&I z1eluD-%Y2q4+W+(C546by$cTmz6-eazL7Bpr*yp8xw=%k%LwmMx~fi=Se?x-V72G2^#bOXy|t>Yg~Siu8K{8cS|z`}KWmak{6AMe4MzMr^y2KZ%7?=cze zpZj2>vO1GN;z%#_EY`5%nLY${$zB85^H!()|Fa?)$zO9#yIGOQmEusaC~6FJc_sTv z@K0mD)W`xw%DT?L`o_j_s;4s2UveX^zQVMP z_3~XW{@i<6I%luP3RZM5_Pm@~m~a;q)kDE8TqSUa^RK=i#b4GvMM+pP&T0%7+>hZC zyoY1>B;S4v_vtl;mx1eP3`=l(z4sJxHHPoy*O%Fk;T2#pUP|Hdz8JYK)CFp68Y8as z-dc@wp2JYc?v~oIYn*U(J!gxP84l|+?(Qpxff}EtN!v(yt8cuXuyCBxe$yJAp@XN? zhQ~8L-9Q{YGyF0>)wh=6lm@8dk6F@ay!s@5KC<^akk#?$**UT&He7X|U^sI4juqCF zn}W`U=2N2Yp+dAa~N&HIEr(9M>6us=)}gVdl8gve-bYF zJZfK9D9?`191P`N^*4pDCp=cPOX7C;6t+QW=jUfoUdd6T5y+M9cE%$77qH#E#7>0w zuN>v(9i2sMqkmh0F6w(X5?}iBGCHa3ePHi5H*-vLK6UHDOy9HX6x(mynx#ea&#HUA zdxzCiF`plPd8%!O*#b8n`psC>Mjcj1T?eaUvz3XFX?z?kn!2j~vy6$yMaB6s=cjLx zdaRWlfoupm&1Dd=|Fk6&miRC9Z_s|^_xU2+WbHcF2U z$|_y5**evf%_OPamu@$8H^6B(mGLp8|DXl}@M}D}ES3+#^Ksm_WHnUrykYDb%rzXg zeAceP`ix3wJ`wwa*4RK6xyJ|PMfXZ)rm!P}or8U`7uI?pCAG55GHJCx@pJl$%KBs0 z-FN&(*bA?-jvKlV9T`Yv0$*K%4DM-S^jwQI zE~!rRSE8j9H5GhO%0a7-D_g5@ToPZ%PYpNql?z=-dh~}D=*A(%lb;%$-0|a!VDeLA zSVnU+fgn7depFYK-ujv4({sWqGLQ1dW>~ogH!$G>EKj<(b;tI zn61l9xw@A{8|C&e_E3yE+JAFz3g5? z-0sgKopg&o;7{wl%yv&q{a^y~5x4Q*k$&YdaS*=&DFpp71T3Bgn?!z)t#WIue<5l7vr#(MRJKXE)rK!3uK4{cnj_)W8RmS| z<9zfd_+2u3{#={A=S6ePNyOD(8}BNs|4sG|PmEp)PT_i)e!->puR43RChOng)kSW< z!?+s@>r(yg(M@Rt~1|BT&*+T#jh{F z@=)6M0E_Wbevfw_?Nz_dd^2&i&P3-H(9y0j-%6O)n1nriY~R>OjXO5gj#@*$o3MH! zD@-;k?2G8n zVoa#@e`x@B*hPOB(6Gk};p8HEE<2mReUvw9n47cir$`_7leFPH$=ZIy+O7UZi>4_| z8CqIDOg%jheS~-Mt=3#Rn@H95(5FJ#)7?{N7eQve|Cph#gCpaqJ~{f}$AS9?|HOBu zba$yf>dT)XPmML_UTAst-x%Ljr#GhRkhV2dJtcctEw&MA<28!p=X|Xe`vFv3$ ztjh*)ZHb{zsk6PamqR?mT=JbC>FhP}3SeyOlfD$FNWEeD#@t zE{yGWB1=o5JCPu!)o01`Y4q3UQ69f{#4@+R|MKUFmo00T`U_os?n-u@w~%usGut)7 z$yI%@4g9J?sX~A0*sef3xxE9|RA(-lo4?diM zYd<)#M|uw~(b8=+Xcoa4F)u7(S&wWw~L+w;aDVN5KuaRa7yl-Rv zS6%@jtwe>>HS|_ zylh#hw>ZR^z`VcF#D7s%rTv~udzz!C)(`AVSCYkJ~5-N{>~^`lh1@bvpvEQ@&I$Kb!2#`_tWWy^x? zx{bB|BD#8@sheo|Q}Fry1lTLm_kZvg-dE^lu_P>!#TvtMk-xjJF)Z14*FJ>s`MLd< zylPr@Z5a`uHuG95wt7(XW*_KnjAw-?6gQ7RPpmKpptU+5d%f!lAf`Ub()M$_yB z=qeN|rwJw>A{}E3Z2lK!wVL$vjn12PmB*L%YIz{c&h*KLuaBy6aA=n8R_Ps z8KF0LAI(_0kuY``YK#8nEqKJ2S-zu9DU5>C!q1{+o1-Zfwwx?yZWB%AH~KHG?NoCk z4>lp16)T#OJZ{hEp>{9lQ*PdCqaLEMzoSs|oaR2&FV_}DpM^06%aJZU2d<4)0TWNG z)-O2pem^RrcP}rgUUw(G=0~k-H3l9}{A_(&sf%faEpbgLr3>Apl7>+e<#U3|^IK^d z--{TA*6zG^ydS1-Tv#f-Y@w+9XUgk{$EisH=bQr=O;WZTK_{ z8maHDBc1Nix+Q1Z<|)n}a1&Y8?g61SDRh-aWMk@i>gu5pDN{Tc?Dh=jDXtB?Jg<60 z)Pn;JslCnc%)FOX?;g|%JH9)Wx9WB(>9vk|JWSQ3K0U*OqdNHCXYP9}_7hcMjv zn38o*Bd-niP8_3{P#s{c-01;bx}s8JS#6^=NbsgC&OXa7xU)+TT+ z2&b4hOj@B@HTbk*sO5MfIk-pNEqj^k-yW2-f z9YYpkF@?_+-jcJF_cAZdw=lhEdA?F4$joVN7@h9+DmP!wUN%xK0xKB{99f5^?vG3 zTNk~zZcg4GK%G=a!C&syfqFmb-U<9L!ldFfTZ3(Jb>2yS{$UN)HN1P+uj=eObX8q0 zB%byd?+c-n*OxD_`2D;|P{Z9E7ppGF_?rmxGX5okEn6JFbvP8KEr|0l#ktAGxy;4i z!u|+zi&@{whD3kD`%uC!ZbLFIsg98L7)0;0Kc8Znd0oG3{j(=+sG@WzV@rRy4py4{&uvUA?J%^ zr5Kd)dNF7u_$>J-O(2i&;#c*`K4xAd(cEP-&^Lj_a$EEMfFuJ_r z$Y=+yoQj?G)+L4hp}sWT`$nNglqBmR)`-$9-bHvU_WL3DcOQ*;@N( z(~3*HihkWVcfCvB#9nPrKh*MtM5Q$_GRmB8TP-`xm2n2VzKpXj59R$?(P~-cXlZ@l zg-M)w7w4MnevrDqE-6oY*KksvmE*W_)q-*@1m&9FoX}*+!LxN-=InE4(No18E7p!y z03?+;!NzH+B@e2Am+gH5wy>fyo-j2W0jT5g7*-c5FK`+obUB+35ZlDV6sm`lAqdN!wtOK~`+wHH;+dOTlj>%}#U5p?i!ARP8Y7^Cs-#XiVl{{Tx@A9-G0{?<6-}Qf#H& zNBE_Yar4ODC6dt%@97~uXHa(f=}P-gpcdhCRQC4W7ZblU6qK7&Yhe?a;+vOZpB zdh>llvDI)22sS%bJ|2AP|7kmz*&9Ng(L4pk7Ul*V+pzOz+vU-muQ?7|H(>MAwJ|hE zb}yS^<(?4K&Da8^vNn~gFQh4t>i0y_$}Xnsyk=_yl8z2xJjwd_>O3laYdjTNvo#5J zb#7_Bi9GyR_+(dqFTd)1>{EaxvSTiKs^TzK{zP`I&`R&;P)5C9mpwjuT|W*CDP>ow zeRO0{_lLOK&TRu9C6X!cnND6%e`3|t#j%}(<;nJ?#W~IZb5)=6M|{gYoih4|{p+Kk zKKA_8CeHx3_8GoLMymUJgZ-g(jt+t^Lpx8OAD?C4uW{x7s5y^So|%%Hb57j*@k2I~ z*G9l~7e$~~oCoiB1TQWg)Sj98tza8l1hZ~$#Q$`?-1CCEUn^Tl-CEr@*wZ~YFp}RB z+rp-yP*-((K51otwhCvlo(DET$a>x1EyUCO@fprpdfs`VV9SE%T3^RF=-;Ps4u8~Kd3oiTJmC3E-`Gv0_UhM0STS;%4LzwTv)Wzu z5_aHEbe#C2lZ%H~)|Rbt{=i~w%#HI}ugDJV)j^#$NDGo!8peZOXnUx#zlJm#@BW^3 zhu1~fvQJdX2M!+Exe7cRBTB{jvv@Q4uE)a5h)T}egy$jUxxw8VD^W)t6vFcrZz1i*x^ShHj*w+i z?yZFTr%hvY9RXLOtJ>;qq?e9#FTOsr*9Wn`qig1>_{ylVW5hK+I}G9`VYJ%y*<;i0 z!9I*-SOATbSlyQ7#JkWjI^uTDQ^s7!6qTHg96rOf_t}OJJ@bpfmV?Tnx$Ip5ozSr# z6LL$tV~T3ZA$q=>e6)r=8y(rHu3UCqK00_6WfhH8p7#dj;S5J;lGDeT$k4|@b{IJ- zzxTQJI|F;QCVP)5+tp5t^*Y)+uYgV560d2nsnaE{4##ej3)>rYgWb2&*ztj&uIRCw zX6Se|G#?I&8`JoMuFh{_)7sCkOSFCc{Q6!AYA@0k@r?dpCG=*tAEh%a?`mx zzlXJWvt8mQfrc)^{Yi)0_lHfCMSD>B0~N*;>*rN6gX;WG#PtudT@%!{MVbW0?eS@F z=}g?$X>5BQXgTL`+h5=22vE4M>+?0_I9P)Xr{j(lW0JG#`&n1tkC?Hh;eNbh!4ztb z#`azoeli$8&~2yBaWQT!^MbT=gk8xB9AvwWsn*oxz5i$B=d}3P04<+&*eVXYi>0<_ z6E)^;;*Tlh@Dtrwq3=j*S9|o6YrStU^XMnA1<>A~yaaF9-#^VJs@|LEf{o02rTkH|7?o9Nk*;aA!nSxTM4(hw zE{Ga+%niw!U^6&W{;yLvm2*d`O(z)Hal{~N0jJma2J!GQwKoYkV*Cl_XoGJCZJ>Q^ ztxNtlbra3M1y0H3hoNtx_r#A5`!2c*sIl(t1FTitF%;|cxwP9#FPR}w;LEPgG%HWB zvUj`XJ$>i&y(9TvU8i?aoHgjpIqh5x&uOfUWZcZM07cXo_eN+vBe?)y4Krg43!KbI z)&?7m|GB{_vxo@vM{UjySZOzr4|fTc7snJUu@4oTI|LovY5Kt-+Q^3HyFr_5jWQ`< zSR*q8+Nce_2M+Q5dsvfdz1&FiLU9S3@x7`o%Bu>FPPF)JfPzoF_Cw}z@tWV)(%mq3 zkcaL`QTPvd_cnyu*V6aD@uz*QAM&fm%K=LJC;FS;154uOq93`qjbSa(SBx$pD_u+U zNpo+H%3^iy*RlT2!toytzt;51w}m!U`TvvmEz3#zpYyHsOqX$8w8!=fm%cHqagXhn z#MK_#ulV&eQXWcs1emY4Y!5x&Pr=vqdu;zsTtdmD3x>()>w z2Exs@y&v30n=IRQ`6IaX-tESe8{ui=`_!7=#p{1;LgJkOuLJ%QY4K6FcRmPFeI--> z7h(R1&#cEqaihES0p8!K_D=c;|?_(|$*0U&j7vC|}ACw`2Zc zR7lCU>%V_-bv!3ES0v|1+9)V(GRw8L6@~=klOjhQS}yf9P(4@9N9E2DU*pa&ARCs|#FPG{aa@xABtOzS*cBg?PeELL+TA>UORCM1GuRq`k0%fIX67fQ z=y7AT%EEb>%ECM=e+SdLWL;EYK%O>Z{vDL6HJXTh?UJ{tWJl5sam3d; zlcaKF&r!5ITb=lhWhET4LkdWZY@c4^>f~*IPBmqppQT+53#jeXmh@wseB+{teIw;7 zKEFp$PqTNC%EDHzt}rHF)oDFx)n50fy|mBM$kT=5;-uS>GP*-M)23ix^KR~yCG(lSH}I#q^>lvqXg(9%&u3@wzGd0Kjm^lt`Sx>`Pp|oGqf6fy);OQt zhq#*0&g9pZOL-`58?YEJrSN#K$(YaXMO@8iI%_GxicLg&@eFs;=uG8(39qM^&QqQR zJe*^^-H2!|yOB+V>p7cW%`YkXnkKA+L36d=X5wpZxdjEa>UHz^{4U$~+psP6?`LlG z?=7t_V*>TGzCY;|$Mc=qkJghf+@a8Rdv#PDnKO{Ycftcm>mS2+98?(?8Dcu%R9lZ7 z&FKYcs4MqY(r%;N|K#R~dpLX9=HsgTgmktK6_d@u7y?eeHq=;#Ux0qE8`U>H0fzjy z?L+&l>9F6Pbz^BaG8%pq4h>c1^e2&*&y(+t;?n#)t~30&D>`kBCIXir3uaEx+HhMy zmu*I;9+%X2Mmq+oHjWn>quTQ2=< zjygUhsH0?o7SM64TXTnnUa2mk&*h}o`ua&M7FD;`(_Vgzx_FD{`Ib{@vkY6)T+}IAkgm(o zMDOR)$vuvm>o-mGgpT$-atnAhT982$ww-+i6d`86K)ZOU8mtu2w2$Y`p}i&M!w!>1WDv8&CMDghl8^Bs_fVW7J3GD8+Xxu zL=Rz5No6gPPGjV6U0HWsNLd3}NZ+HxkzL&=eNK<$5v?=Au(#4L^hiz;+|S*6NV{d( zz>S=AHQ!zq^64cfT?1TCV_2h{^a$cgPP&#~^)2C19!h&1uoy3;@OYmKt+np2Y*a3G z4ZoYXZ{`aZQTPfoo}$d!Uhua&xL@07U4IqucLSeaS}b|E!^5*%)?;Q` zs4f_5D>>q#Jtbe2h!@INXHxp}A&vB-@`Ly&(&-uF7rAStoQ&YRLIl${)b8Wp z+QItwIWVN(ySafmL2|M9PG`GBTXW}Azz_N^lUBZ{CtbNbKZId_VtuNoF)V4%#;}&? zC)=8(TNVAHX&6F>3lsmT9G?GXC}YTfvwSOG`b^}@EB>nnbxDUM<@IM?=ZGu*o9EZl z$n#$fSd5oac)Yhe{#$^?p8uwZD>{c+jtt7bWPneOQ?}7 z?^b}RI~L1}M)9e%*8|%KOb$*N&Bb{Jr{HbCN2}NY`VhmD_l|BLY_ss7)E1wLpKk;f zTt#JgcL7+)yV5_MXnFUrbS8I$PZx=!XNh0ae<|d}pUFdP@!s-XOKSF3CY;P6{$`Cj&O~U=I^`HY54p0d{LFQYIPH|% z2q!Pq<C7gjpi;!47qh4*6z#(B3H9e@*Q^bht6}M zTbMToQ>{b(E^m8t79sdyi_ej24iRjPJI89HJK>b}R~a>*ET`$wtQ3|i%|ab*o&YZG zjs670+4>ea%_$D{u`$hw)%<`vk`z#(c{q7I&e7p>_Y@t{_hbqtzb>6iH9W8;KI1$c z)<*kd5z^}%OB>a03$?3^w`04{Av~vo$DQ`GL8j+fU5@0=n*y4hhTQqTsgro>$>6)4 zd^JaT-M-|9HrhMX^*xn%P3WpyXiC@QhX<_>?uMP_=HbxwB1c!9kD!+(hoRvU(NFNT zoR~j|D?84(kIh_DuE{=EWywL0n*(}a-_blT%SFw@9UuKI_+(eo$)BIIPRDjM^ve<2 z8$5&f>Wk0R@3MV=$$9oYd!NkBt@whkadm0AX1Y-@r=|iZmDP(qNBDy|Qs2+zFH2?$ z!@SJo=fN;+VWViC><6jc_4h((-WY#XbPM_E3Hd~_ePi5Q^gr#cCPKOIdBpW{pO@n_e?A}h+bLft-wFPAz~2pAa-#EcY39`z0DnL5g{5(1J!C$^ zE_Qwvt`8B$y-MZkqzN!-UIhGOz$;a(=ob_Ci-G?m@X7K_dC{6qn)ojT{%PQ~GLCL0 zY=GwIR{_uDRx_`!YIzOe;e0Jw^MYowCN9&|AJ#F4zm{}*ZsRwWHB)SFI%`(erax%h zdL3ycTYilLg&{v)aG`Ct?fMP+i@x7T8tq%W!R0T065R9Cn}LV?^cKE7&-nD>r?$YP5J9d_Q@fxXgXVZr<1=5}AE`JBR8Ue$#@vA>g5HOJkdRFNQb-RiO;nU zI9ihx@-%|kUy)AgA0Gt2=CL8hXYt*)CI2ql_uJh*=X3mw$c_lj0f%)w zO?7scvr$s%_y~hux2*LYzAg3vD9)EB@R`Y;E2nBSpD!BPPH}|_TiFZKoOI&iH?+(O z6WwK>oer@y{Rs8hfDeq?jMdv|ERpZJkEZF^DchIf{BB)1FWdR}Xo*)Vrb2e@V(eIR z+Q+~lUEG_xEq#8%y3*6?as*lb-s0%y$D1X}dlq#K<)lx7OZ5I6I&`1zH_p#hosExO zw>UZHRwL)^8>_jSwe2RJ_0gN7o}UToY3$RDp}h`f=J%LBqzwk0L9ifdX7$sbCEc6A zJp+;^YXiIF(MF_9puAP4KX737wi^Nse%15ysxN%y<+x4I1fSEoQ_y`QUb^SW^R(mw5 ztGw+Od-Hj-J9U*e(2|{K8f<8JQOXy5dd;(mR@Ry)Ja2KX855?Zl^UyJi=;lSv-6Av z3x`IW8$I|^@KvnCfitMs%Pa&d5w|s(F5tF0PKz&`g+m5n(+MBGaKKm5r3(hvao}QX zn5uTo?3HrNk5NQrY@IO!xrd!V+&0DShBU;N;a!s7dCIRB z1xmSQb9FqevTRMl*mSVLqW#IV?KgwA#kX+-k!{m9fDP@{w%;QCVf4Cxq#jNBuG19^ zalm7!y~`YfPKLZDfd;?VU8@dAqYH-guI@au7f@5!b4S+Hw!6S2P-@#qu5`>33isa0<6bN(Qp%cS-Vv&!ZN>8voyEt=c` z9_h)S12r_xe0Zbn%h`4nrIEoaP-Eo#^1IDkXSt~k2<9V){W(O{2kp_^4dp7=n$48= zVI(AfWx|h$n)^{u4{X)zP&LP|vj3R08i!`Je@)pR5S+Js`c_~!CF?|e{|E6Ui|@PG z6pA#~=I`UAms~B~e-f`H`cGFjKldtLcHCU_3m3N$&#LIz9r>L zW00@bze!l*n&eN!)tcnL_*GjeuJRDxKLd-?QVNgvv@Cy$#9c>T*npT0p>^!ffWZbH z)?3ELT=1U*SC_nUsa!kg6PR`6y`x_eCOtFY&ao<&&*9k49!k$IN}sCqzaq{?;vjLy zc^v`P22A(%)yMx0VVeo-YM>tNk@GWM98-Lu&xqE zt2b0-$0;l+2zbL9!(1M_24Tqcy45bAquqTBeO)Mx@xc_( zd%djSP0A$C4Ux5(R-L6oxNksDc&vGytO(RRoH~oHZQzqEbR`8+-#M4T!1tZIJ6(X_ zFAd;7cQ!xL{fSrB-jB*ei4BeFrt|IGV&z*SX+OANmjeOud*ieZ8vNlJ~bECkgKN%+8{mx}(Ur z-5D9%>-)Xnxu~jJajWH-HUD11ui9R5m51%CiV8t6asp#h5oxn7|YVgxqT=VjUz%;Mos@k0Sl8p9HUV@GBI*j407|n=|Jn!*szn*fnl+68}=qLzc;Qf8JpUocNnaeXolql1R{9vZuz1o}k?L&%n;BP#iMK zMXMA{L0s8;Nh3Yu=UiX;72}u6+jOp#z1{Av5(-QmdjWfYV9}frMm}l%X`{W}1EJk& zY!uii(-qodTz(eY-Sq`^vVM&+@-Xc}?Xt?|>e&w-jR`lL1ph;?sA12e_p0{Y@vRE> zowVvRgQOKrn(>YBiEpk9$_n3P;uF6NyR!U&MA>vM*^^3Mr)#|(T(r}U^x0vQ)yp(2 zb9u1Z!82iXZ+h-l*jiRhauw-AG;aysD)`_O6E9a;Em_&e!bhw7v3HOL-=|Tz#dD)U zotdAq%XXAxJ4gRF_3Rw(%*s>XX0?Q_KVr;og)6S1T@x={72Hzi?g$ES(5e;!I zjm7T@vvwzn0TgUaG{THn zUIc1rBG~a!-;(4()j{j0aYH8pc-BToE!{EKK{T5HxAt8Z8IvUkWXuo!g98QV=3O+$ zpYfPe28W#|S~R6cQ+(f#x$UEE);=e+KiaFf%q`O{jo#n3!=~4}?l~1MukVzsayCfA zJRTSJ5_e zl*K>nht*|enxY#U*hT! ztWwn$n;`7!Xj~g-)gk(Whplz6D+Aa%2Ya}KeS|&n)~KskESAllfy$-6v_GildF*km zR4&!+0P(ekdgafQ*zjHP&dY(W5%g^K7q92#l7&NZ0sAyf#$xP-H!fB5lq>e>mg+7xw!$jj#RV zHOE8Oa(;bngx@gt{bcgmmZY^RG17`&;;p9y^#9ljzOQ}Nn!3Ku?=kdJyF3+~8lOkm zU}~~QKG<2*6&}W2UZ7rV02`d*Tj^>%-##1MdcP$_yYv~gn<)chqAnogCiS_R836-& zvQBehmL#I{-;!n>@<1veNW)oo+!~gv3+^n4(mao{tS3zpV9&2<&+_R3ZIQPdDrbk4 z25?NrXOLd~_~&qT_Sz$R9To52W~{NU0=ww>EO3j4M_cb{@4DG~?>RyJnyvSaRu=Kg zbHSta-W=;amFd?*YB~sfVk4}=%{cF11~A~biJPRH7_G9lNO8#+FyGG;i2BfpAQ$k zWutg2;d)-lFFKnns;)?Hwdt!!tNpeMplvqqmUM#&vumOI>e6UY5-!80KM|P~6psb3 z0k?SfxvBo2wym>gRONxv-ax^GvELOz*Ksz$A^@B4w1vxrPEvu3WBjQEzI{KiLWexMhZ9PMn|3=TWz z8FC~X0ON7%t)$hS$1;dC-?c%5P5jZ-4!<>J@1)*~lF}MD1#?|jZJV3Flny_pwe7+8 zI=*)V-^fh03xaR#Mr#)Z-`I)P9_+rK@L;t^_srbbqPfM-)8px^7x(rg`tfJ$yF2-Q zzP|Ix_Y3vim3+T6%1>5;Ja3Ki3*q-`qWt)QApG^j55M0WTJdrp*&Gu-2y(B<3l8t8{+{+*9u(jVu@>-|Aq zX7255*SVXKLVvQI8be&3e@~j1L$kj?hiv~VsXOQ{aD%ZC`P|)o7f7O4n|=^n8hfPc z@qGxJRKG!O`m$S>rq-#fM>E%{*eU+6?&(ur>~Hs$XXd3iGHWrxHiEaTqZ{Swq5}NB zufniV?8g$uONVipu~Bpu!ZIVV``kl$yLPEWapOXLW`7Ey^PW<4B?g}$@^mc6!+raxa*^uDm_&L6O+?dfuZX4P8 z*^lW!InLJVbFMi{v`N+!zou`txiy8>L)y>%ctD3|vnIXk>mlxW2bb0h4?-{#ZO(T- zCeL@YQCk`NNo<6?&dJX26x^OKF#ToN^^H#kWsCiZwfFT5au;)Ne+jL`z(}FH;O|Pa z`iiV@*LI%*pZe-^sJP*M-qm*5at$&$_J^FnxN2~?ugf_9=pG#IH@wj#jC?k^y4KrN zehxWfZFE4JsU|Q)er?)2x(oSf4Eh{+G*7=rvIBH~-TAg&k~hUaZ6bR#-oA7o z?fots*NeX+ekS5LD9@OJh?r@O|80-*O z+sLkbw-q*<217l&m;6QWY2Nvg_ROizjhk(Kn&>YUN~O-R#ffQMZDJ~@4arhH6zp0T zd>Pz+UGOiwtNkV0e1-Q-hEDR4W$CtPzOjA|ko$4xtHj4=POUa}aB!+FhWJVC`!(YD z2c1ZLiQ1Le4mFuUF+IKxo=-D>bbw6r1`-+Q!zZ}<+BreDrhLUp^@be=kLdVK@Tk7= z`%TGOM`7RQPxfz*zS!axy#)94`d8k!nDo}Z^1FQdwUSS-b=3EO>uC&YTt|JMxLQa3 zfL~uO<)O4c1Qz3^6dvzx+DGfCJI+=vcE9^O#BJkiu-ZqRi?s>6kTUD2I|xfr2-!gE zr+)(;uAgL|7}|qr4fXHD(eopISwjV6wcH#4;`aJ6akXap8k^Hi+RNBpupOu~`4&+K z0h4I)Q}BdqU48!te`=$8``9Ebp|RReaNmAE=RIt{U-0eQ$fsBP{SvsI#;^ppw{`dx zan*i@`SoS??e}Y7FnrUDutG>H)BdYk zegnL|Esw*7VF+AmgEh3}Z;7Mlcl^?pDJ;f_A%xHd8e4x)T(#wQ;5F6n`R-hk-mCP) z6PGRgE$1iirw4I%xH;yGsO41jbVkRod2q?S{~7$+U)aR=@$Az458uN57yUZi{cikA zuLJw$ygW?ts84Uje=`m6aDf%O*JrY~#qw=U?lR3k%rTu;i{D1fo2%n0!gMEVE9Gh; zPnxsfL&N#*{77f79kWs(Fp18g44KR|s@rPru+m+9nrH5DAC-l>E2heftclN@HI&0Y z{(Sn;@>ClgPddpR?J$dI_iKzsMY~V9@|GGTb zJl@8HccphloXVXT(1trTurj%VJ$cq8Bikc*T#2qG&%sXCi7@VXYJtpq9qbO z>LzS6*F(W48lMC{&!0crZr}a9DH_7zGky`_Wea?KSnTfpvQxmpIwFRtT<~hHHK;3c zUwsLhmP@>FchYJ<=ns@Y<;*!9O7=KRFBmS*_V#dja(kb_n}SeRUnli3q{jhnZ|d!t znH%?a#;LCIU1ALFX)o2)-km(jn#1}oe&l= zARr<_6EcVaF@%T^5xUb!NNbV~Nrz3e?Q}n#G<5n2y(9z`TV;^JeRpu*a9_t|#%0EF z-`8;)9cT1A>bMIowUsj72t-Fxc^Ptf1*uW!Bj_I>WDs#B*Fjb*hTIZQVKL zvS+Xp*&DQG+Mj(R*stMt4`(1U4L8k(8CS=(_viG?VtV^R&8M9Z@!`y%^WGW#;>Ep* zCmnY^cx|0aXCNF&o0t65Z_sD=AzZqCbN;eBjd2~Pfcrb@oXoF6;h5^p$>P_Iz7Nzq zv%Y(H;{5^YUj?`Rbt%7>!(-rXp7~V1tq-;M>R*=um#h2L``5oAtoql}cpF_xLvc?B zmg9vA!#kenUr!;d`q$imKjeF+V287vzc1nHobvk8{qT$XSetJazojcJ$6xLY-t@0k z&bsPZgTil>@0rArP23=5oUZEwo0uNwcu_|G%xHOJB~V`1&tD3!=8H2)_{`=Qm+Soi z(h(oe(mRx|;QBtBN9Sm*;4Npis}@(`#P@ReuI!u;UiCqEtUf%D-*J67mv1X`OHcLT zK_PzKuU;R{BdqGf`MfP3Rv#V=EXNBKhWB}i`mmC)st^7k+5v9T-Hke`jh_CDs#W+? z9Ly|Wd%v}*6C#^q&fDwT@~0_gp#-)tGedl@qpilTQd&;mz5sY!f240OlAS4XQ)RBR z)gD3^xeIwyhe`$9uFO?`E+V}2v=?jtGUa>SD&F({_a&hZXd@Q}C!77cyQ8!ORRQ*T zIqKW>W2E1a1~yfB9g>XD_c|WQh_$@sRHkLWqD)m^6vyhz27br&Wq@z16NX#$<)IO7 z`j$N1!y5%|)6XA9Sk;$}yp3k7FPnkoc%j1ZrsT(Z!m7RuPI39F)4A`RT?|ZhWN?ZF zl|8=fHvt={Fi(1^##@8 zHqPcfFCKc``_+uch6uA1{O(*m^&j*dvwTbU-j1K*U8*W-duEe`8 z?w@@W-{x4qOQh_}F5wZ%Zqacg;85Rm8tq8Ddn5&^`f*aYH$Hsb?Us=19iu0 zceZOE2EO}Pb#(N#-}moqu|wzP<4dPm5^S{RFn-t_d`%ByzY|+m`tb@LLH`sz$7}DD zI?8AcPx#p5FPm@tyq>18Jr0ipIsH}PmKEXrM*Rr)>3MkXC3^h+eurDvc1(;+uAQ(s zYWc13_-eRTMQ6>N0xjn`x|^jlVgz69;e~ldphvhb@VJ@l$2*MIq_6j8lVVP;yZ#E> z%(a9apW4uBUE}996@LRTJ8~hmFOiJc$k{CMc+7aeg?&RQ_>j-fI<5IFrw+1}v@sUd z!ONxd4zAyv+f(Rwuh)SvMRw<#e*oH5&whHQuV?!Gdi87bW?NmI|Lf>3sbIssz0<%@ z<=4Tp+I(YlS=v@^{*?jMwhaSYd{aU;>K09`He)}qO$WKBJGZ1+RPWqc3RG){Ha@=^ zenfY0x%Trd0xiy10&#bU`7-?QIfC`)_ir8JZKtMNb9-%kNsJ3n2vSo1V5XY$uZi|NUHLxoW;cJ24_fLMlMeT!LcqYE1 zQ?N$1iI&KXN7y-W-ySzwd%5y(_Bp;Hj$M*Tft-be#u zr_^sBk?DM-4eXq~9vg&_$;);%o0H^I>svJ6#@;ATZhy|!fwgvmlrz+Ich|a{X;7Z> z%=5PoT)M;d@#q!l`Gl|^Qa7b-4~GKz9grRZCh=lFc*Kj(R(KH>{aoIRA6(qgn%=*$ zH4<#JjTb{LGP`Bh{_k7 zz=;+w@)J+cbsLY4c+Ol^%mH78VhB7@-FXagZlk|EkBTTB-E@}ck$!IpdYpd090rJY zZFG4S61nJ@+iti%+=+6hFjk?YDO`^ax9RZ~UwZt_A%5MjuE+l!VWr34!rN$98jAZAU^!l> zFuYp-tIo6kEn%g{S6QO6mCf0c@gJypdj0*W_{I8rb^QM{{NF$4M`21ZT%HM1%KFWBG+4J$KHB8F}IrcGN*oKZzZJ*j9=%v&@qBou$=uiywWw&*g zE!k@ZHoHTAwsJh~z-F1L4Q%!G@jxM{E28f?;QSJ8|AbIKKY1E-&U;#iqJH|?&`+z3 zPCwwd)6d;qymo*~V0Eja$slI$3LvTb`MX<5U+LK#dv*S9smtqVX&zE@aM)P6c}TSv z$@mvVym9idlw5ln#DfK6m= zW>y=Hu450QUs67(pYD#jSBE?+{sUQ)v^cK{{i%(k+S?WQli|#s;B`^n3wr{)?s<6V z3N}}APyBY<-R-tI$$)MVL4C z*l$0_umJr*eC$Gb(R{+&10U}e>X*qZTT8lw@Zx{L`|j+WA*$o7gor zop11tzR9QZ^^d|se65qKeDw5CMxPA*m*+p{U8|-=eT2?D^OO7KJxYqN{@m?M-`X5) zO=GGS+O+(%cYiy_vBtR6hsEnO{{&6PptsxJXwxaMLgEE;_C~jBZ{MUJ>J6X z!+E?aPR?5m>8r0(TGrQnjNi-W$wQd){y5*(pBYW+>plTouI^Xw>pn?X^>v@(Z9GyM ziu)O0IbNtRysr;^-4jnzDt?agUkOVW;m%63aiI3be+alt95_RXa?wfqD8dsQZ${mf z|3~oGu|zt0sWm#Mt7V-IEn8Lje-!^-@6Ul8`4H3fpP$CBC~@C!eim5VZyrgmj?%oR zb6aj#z0n@~&k;`U^StRlt){q|mw$zN_XWaePU3e*dLA7a^+Es0_{!?k&%*f1 zkT+psZMT-L+S1nvqyFWEhqqe;pwE=?vX-8=4D{z+W(*5?_(sTs>d!Fa!#F>5FI^=^0-P`E&gRcrb6veoEa?xJ_XUwmy{QJNaf7gbKf< zg@r(F)A?lj^dlIPkIb~DVmbR}CNPd?pX|n9va9?{kN829e{_6V#j^IyWk7>0NxK?b zfrWbeL*l8=9O2RYNL^lTU?tP`d%B;*yyN!c0{xO@^mO_85yF9}X#6Ci2V00F4)On| zggcgg`XnM5|5e^S75@L6aMBy<^m)B))8JY*JhU|pOnJL}m<>l&e~aw{tuO20j!rI0 zcXWv7zlidKA_(%sL@Ms{2} zGCd)~#x2|b<=K8tlnd{Yiwst$8oG(4t z97HMPaPibQZDk=I23T#M#F_Z@Q#|ep%23~KL58l#W}2gO7)#Cj-Dq9j z4EJx)&6rztda1^VTuD>RE~WjzZo2uAj6qqIWGez%OsLy}v6p|^?N9)0=ZhFmmqc^& zY9q&BlQi0NRb1?Jb8B`~cxPg)k@3r^NdB%Sih~*0?5ik4*3PEiS)j zUVgotW5%ilyGNS2ulOR}{7(^o$LMqJ3SY$YKZ8g1V!uPrP#^hl_7X`yNY5#S^B|bZ z4hNUVvcx$w@7g#)J9z1D>EuJn8XR?W2 zs!gMtG|e4m=T{VzwWU|QSV&yWRrg6}gnqRT@nUO<{;AS_1g(o`FDZ6!t`*5xY)tq9)z2zJ;Re;IsHe1M|#joT6~+i`h_ z_1lu4ai6X7UrhOj^Y!}naL>l58zET*_vtDe=SJ@d=j*i%r~0mbTsKkdZRTWd8kzC7 zl=4?UZfgU1h+s!3fAujr+!e8>L4IzoIzKt_;^~p8xk_Wauc|KG7Tl8tTL-j6ufh4D4-n{W-pYO*-W7R*0H6rojK`T5z^!ugI;bl^~e{}P7 zm--#Zn^<|Q>_Kkl?RX~qCqa|RjtA2R>Gv%q`B&DBRHxJ~HqGp0|9U_72CbVKg?m#w z%d%y0w#%8+QZM%!PkTs$BM6OKeVh>v>VRy-%AkApv&C-T{`386yloW zoFc#9=`QA5Ww8`|l0nyNZWccL0a>KHOHL>Bkh-09$u-OC4HobvdhQ+*!w`>DW{-*mt4PY{mwcerX@gOXF> zI+JwFo{%P;>HGdXn!C0AG&c8D_!V%WmTj9oZR)=tQdbWhGfDXkaDZk>MC ztrv-I*-iA52XpTHZpv@TZ zVf|Y-#TV2^*RdwOpyrO-pBCzu#=NwG!OMWD-spQtHiQBxT>&*Isxv*=z)Z^^E;)yCqdXXUw<-jg-IVIv34Y!qj143SrJZ_I|18Spwr(#z#db#Oa)Zf3soJs?Z3 zeYtaNvD=gBvRj?jF}D62EaLlRf$wGut}^OXSy5)W|BYUTY8^)5ujJ7=##iu`lYA}v z)z2|5;uUgR_%9FXTR-qfzEk*yLt5%bgvY97p=Y@*%9KakFqq?kBo-+){hi^ z1wGb}j1gA-NRzkmKxruMPGEUls4%?NkHq&aKb)}W&!zK?uL7p(7@u$a2w;d2HQp?Y-<;UwEu z-mRTXlC41>XTeKh@59z0*cnuz)Ul-{89%y%^-@2-LjA(F!HFKpod$AeD$prf(TA$o ze3Pg`NkcTZh^uo8&SxSeJ+F>iACcut zp>vFNVzXJ$H>K^4FBlvTb5dapH$&WRo2Sx}+}w<#vq8RRqkQke{`oJVQ@of1pXPto zQhu@-$!cr1!<*M`9q!*Yylvphbt*)ZY_7`lb|YaL{6Hb#h}y*?R(gKu_w!H?#G5Mo z`Jtb)vD&IUNuh~h3#7A!|L~k z!ro2&zHb=!rThKiK}uy~-*C}d_Pua;zNXf7 z$%gO$Zh|h&Zw>BkPEYE>*vOV(vEM<(<;ul;u+}H6Ry&&pwt-H~u+^010hN>J7vG;$ z=6lEVi@!G$SMvpkRCu;v$%7wQ$oO0Ell(Oq|75H|Tev*=$JkxJUWZdJ#MkE%PxrE(#&dOA7W8l0b}GoPT z<9a6MbhM7){gemksDB^$BHqZ>sT0C{2hvecmk06hR?^WN!iJN5o%>B>=k>&(x2rDB zNAt6Pifk1&-`Dd%Vg5PD%d{O0dcJOU%(v;f4@ZZssrD$d*|;X#T_1}0U{3Rzyj|;? z`QF`{6H^-E(<>uBEz+85n>3WyR}oga`;QK5XX`V(cCcUbes6GcGDtc; zXD#iB=T`3ze#xGh>oGlXtMgta39dQUnd=AVX1NgCnpWhF$az6EA^KB*W1Js zc=Ptan>Kq1+<-`%(+0Wcs5%HN!9$&VN5E&i_G3Y2EN5Gzt;u38*z?TUN{woHw`!|? zOy)X0Ews0$2HXm8Y0XISkLM(hxtZozd-*QdNPg30%> z{5=C2&I-~*jJuOg={3mb`=flK&mVMp%IiOaLv~=lAw}hBXOGWQdQHjgr_?@)3GGL7 zJ)<^L8iZU3$G?J8d})J2<0H#TK4=aA#|Po~P{5(z9}d5*ev3aJ5zNxMu^7`T?T_)O z&VQ7*ob(Khp9{YQ+1I2C;iL-*ZsXlg@_YHbgS&atPw{O!j>VV$^XUjT{XmX8wTJdI zgq8mDS>8so(h%Oy1IzJ3h2fnF`j71LrT=Km`fE8$|JN#`hMR}dz ztQOS;{eJAR{&ySM<5$FoHqchw?e%u=Ssfng+1E%*xOcd_N9?|ku-+cysa~TocecCD zVyJv61yH-pB92UAuK)9QS^PU`)}p~{^%e3%@}8~m%4385qu+2a!NtP_ZC+_g=286o zCh@i2b#mA4FVtS&)TGn!Nq_@MhiEw03~g%GYfZeG1d4gc;nN z&o^KwvYol-L!6wEp7CwyK)Wd+73r6)szN=#MEiG$qq^{rBiqem4{+wq47P+ieh~{Q zU#rTnP}ctqE*p!eE$jQcJX#-F&iuQawe!NS7>n3ksq%8miY)unIevbj9;Z9|AMncA zoSlVN+w#2 znRI)EyX;r+!RFxZAgpB4FLJe6~Aw03e?53u>R`U@gp6UH@LFCFN28aZ1M!?+~n6WZy5UXRnpq_($X8+$4y zMw_|4u-CcS^AYW}b28NF+aYvdg7h8gbE6B~=CG4UQQ@uznHRZ!|AbzR5p&b0(D!GJdjmJu zn+;#SO_$Yia(dtJ2Bx5GQojbKrg|H-6N#_B|6Dq}dl-`zbGKdDso+rDqu3~;xalzzy2Uos&Y{T}%}#8Y z+kv5&YvL)7z_+erwH~^Zba^=&68nagx4%B{@z%2l5S`6n=gePnvdXg9+hy?k_Nwj{ zXF1pyRN-YiW~FcN(+SV{(fQdA8lS5CbjJRwD7?W%<9XR0`m||gAo^!@{)2czm2BJ( zT;?v27Ix4)S#;cTaEzmWA5X;)-}jP#@%>WL$m;7CnC#!lSty%&7t*M@yaJqB%lU0+`_EqKX%_w0ukyboTk1S= z66(^vtpj~w!%7Trbx}B0fnPkZ_Mm!s8x_&|8s~pw(HH3ZK|Jbf&gCs<{Y2qc?`sOb zLe4Aw2liTi{QB*K`A*@x0JxlVPvNqD=R$rjpLcLK9=?cg>su^M^*dzPxw>CLkM%o! zgjK(@hPUxZX(;YmU^!l>FubXL=RCqz`q zbKoFXo==VR(LaVgX`7Sn&G%nx1_s%!x0UVq>n`Uu(cHG#bzF5%m-lqvQpKk=AFn=E zaLL2r5xrZXUuCqq%+ECwt=*h-H!*6qK9cp@2&+4S%bxyh5%G2ie{;;=Rg&#If8y(Q zaH&sz50WZ9zcPRkS92$a+Dwhv`l8Ej0#0s~*UP{ekGb`IIgiHNpQZ1Yle`ez!l^dEb8zxMGBaC0W7L4E*%KTy-POwNxtEf+Zg(Dp-<2P)J4t`xejc;UPB?rRAr8Gp^8p6=F=*&P04`J>gN`-#vHiKnf&P6I5fPO<9w^4u>=qGZ7=a9Gv09bcKSEd zhC|E=ZswFiiQ33MGU)?e&0C9asw-}7(j982jUt}Mf~&8I_XrCnotwRqZl1^D`+b|7 z#1qBUJ`eWmsiL{+r#hxJpZ&cc366EigQi<$b$u^0?Z~xzP{3{0DBU$4eQ<*=cun6n zx*_o;-1``6@z%c0+u8+zL$c@aJo0O0rFE~|K6i=k0>`4?cyUa|x-E53d=zbJSC55W zbF3-;RcI3*ZUC>^+SAYTb@rSyd_A=}RJHXDvy%d@GF@-qcWv6(c@_G{C%xMi+b#8C+_+m(q4c|I<$O{MPTUgfVz}+@i(xtwYx#-i=3{azlmXYI?nBKp=?`f}H@i#XbUbwvfH zJ=B-GDGx5{;FNu9C(9Hz0oOiXPNZO5&Bfj+@k zVsByjx3PNc-QEa~pNzM(NYkhxdUC*3j_!zJZO~w}u0r+ITvA;`w>+>dpBeZPe8()oXQyr)2VH$&E}@M~me5KgY{w;=n@Iqm(nx5c?2 zdx_J%M30S2kjd(yq}~G zs*c}YN?48G{E=TeCfKhv3a;ws;r)}%k!iQy_%h%UR{`GIv)_k*IdD}w)(|hAn;3Ip zUjghy4|8i&T8DfkupSR{y^mn82DZ$@WG3cLwh;U^z)$z^^%Kp>e0}qE!0C>amV<9@ z_2+cF0lyXaZJG0aYVX1&_^JpV$9WTe=i!&*Es$O|08|_Rv_aoH%@*Juy~xT^Q!J) zd+)eXN&6;_VXfx9gp+$;uVi10#f_5-ti4|6c|YMamb#Aqtj&1W-Ct9_gwU%~2@kN| zar-TZa*@ zoUxRUi?i{`k)1P+4(U~&>Q#L2{9eL?qeJ}rbgyq$j|O3S%rKyHTLz|PI5T+C--uL}q;@kQfi?4p@-+;^2 z{p$VDmwSCb^cCJlm(oz&uK~;PLWSW~J5WD#`~5PUm$P3Wtcq=rHP@Uin7ne#k~ch?~g#NTfdSL+t{et@s5qsRlRtN#bT_Pj3H<*s20%@tw| z3b&V*cC$9R@J3ydzH-oZadHDf; z%8S~E&54-pf$rI6MyEBqra8{+x#P89oTuNK?HiZzLB4MEWAKrd0zS=m zTyl3$+gF1;HaWV~CB}JOyIPnT6?+(Tx0*X$gPBFujUMDG``vPw?aBT*_|0j*i{@sy zfk5XHuHkk!UuIP(WhUBgC$4DQbC{=X&uIk@ufEX#mMuvS35ZSxsm?CpS@-teNAPX) zP6|UW<7B+({Z+5Z#%30LzD^;;aoNSXpP+Q^)2|78yoWpEl!t~s_J4t!!)_{lzk<(U z+ArkuH{j8{;F}>JJ+C+5`mrgt9)_cxHtpoTL^MsO(6#XdyWh|BJMhQ-guZ{zqp|0g z;jf%zHQjs``^C20f?Hkw6Tg?wt4w?!@@KxSpRoAqL$bcixw>Dy4_QE1tz9>GtBnYc z(oo!PU^!l>FuXd4p*oiN1Mw(#>GAm-ll1gI0#`FzH>FeibnYK_m9xiHeM%Sj+j7|H z>Rk&K5~f}MqB4_R_aef`9l{&EyG^m&d6}v1F9wJDopI@0@Z(QZaLErFi)+lQIxl@j z^ELV{+lIr5r|?JUO?dr&F%6^o+s3lOV>nP#z=3sjz;RT-VLI#G_@*^-)_ZYbr`pny zz|pD3x%FmxW|veM-{;&NxZ4A}eTq}%ypO^k4Lt0DZQ8s$WHj#K@GA|K)$n#~Bsq|F z>$VMj8*P*C@Fm;()^6RtWn-8sI&c_TfOvTfc(n(1hzyD!yH76o@jzs>@#gFY6~FgI zVQjyv;hXL))dLe#xJgxkDF~Qs=}cm8sTrxa)0h zda97UTGJVr^*WJ-)0z$|9z^!*SmNh>O8iXF;HqK*9{6?=@pXpwJ{nY;^?`8oS>N`x z14F~;=o{Dc^*?O5uis|!{84FjZ&J{iRet{NVfRpp>jqbPx>DW?TR`!Gvk@o8SiWH! zq3aJR&c-QG9_e5HB6?I;mV!^R_*G0=sJv%M*y_iT_wm2ey1e%Nvj=|L_Kicq=r01e z{0iS`;1@piTTeXRw_#otJCc0Y@&s3{xVmsU@fK&C*6Dht88@D2kpKHd`Dag7l%(%? zB7mbod0b8$jq4WDubLd_fxlW?C~OHE*_omhnvag!$lsq(@Z*S6{qHt)!>vclm~1WU zN4nNQ*P&vt9k|ohJLlEeN*`X`5bB9&M1uGC2l=A!1?(Z*y=U56*hKJ#TQlD>GUl#7 z^zBLEyXf=xaAqs#(jt?t$@l9o#gB6i28S*inVw>X=gQVpezuR6Y(0|ux$oB z=i7Sc<**8Ts%tkRchYMJ16%iuZkwIc=@V>Q_dQ1m6nN$PVU2lJUgwH$Hx_-mzR%-P zfBzufa@Hpoenp>bbz&uBv)`Sc!qdne9Ps4n&HHc<0bbx-kageFCFjx;j|;ydJ<%fF zqwrghy@_#_T%FFcjf~=$Ub2SY%jd-d&yRk-tMR3mtOYJt_bX_!Io5TAm0q%*x8+r7 zDDDPeMziKv4ezfLddc~Om0rR=vMDy0xw+BRz@(F4t3MjRZocsX;Ku+TnA)prdmZdT zV8{vPAO{B4h8tXEt1R8-BK$PR>O{lV=D5vU_5$w#zP7nzZl_HDo70!fHK+F%lOlfH z-AA}(<#2W?mD7(d#=lY%Nw;gk0Pw0#beNxybo(m~M<;qHVdNghTXT_})Mv@4jf9uY z&dtc&^xV+!whjG^vxn9N-CE=AaPVBphnAx9vvXAS`;jnN@Wrrj!}W`Ek17tZnO{WoMbpZXT)y zS4ssLCY_9NxvtxA2R&N9$kH-pJ;|cDJ2W(3cD4Ja$&}!#b!FvkCuEswt)9c@Vf4Ij(Iia`J{VX0$g_p26_aa_Lom)&Q9rW$W89y z%-t&b=z}dc)d#l7WXHm@?=SG>^{TUcd7Ti-OZ-BI7?~R50>x5!$)p9DPZxm!xXYLM zD-M0Cm#rbr99WJBuy`-E;7fD|=qP=2D5GWQEn$DP?yuhu`s-rc$7fXcys^cs@jO-f zC+1^N%-6WWb(XF4F^(SgLrgJKIlXRAepaR8Ez1UWs~^+8)Fu}sm>$U8-g`!U!EwIN z!ebAI|CdJmKhxh+8jj=iJ(UiS3;@@kh~JkH=K^Fmrn9bnJP6)fTiJDv|DA4^=##8_ zJEIx8d`^H_voXIAqUPb!+ZxKSx(1%Q`y4W87uRXA#N}DvCuaLg-#yu=4-m>!VU}g1 zK2TIQRM)o#y9$LlGrNw%w|!gI_lj(P{;hieR%O?zcIPm)myOxz^cr>tPqMshaRuL! zO*l&y0j+F?vex+cn%xsI>~iK&0w~w{uX5ogW@i*IqW4h>8^FRT8pp`1;nVjn@~Ll? z4d0EcqOzaV++3{)TpdVx6~bD3`eNvZmZG;DLL571VhKFg*-Xm!pQI?@441UIo#1M71`~(H zXg8AVobq{S9X1mK9dAX;glL-A9j388#n?Vh|93|!tFB4@agOKYPS$nx?QN5avptv# z9NckraV~}IypCW6mea=bH7&_4`n-J7O|(m|zJ~P8$$qO$rk7C_prc)UpCqp42!G6A zFs(ytd^^a|KwBd#%L)u^;=@$n!{)#TqX>U#KN2rE7OvAm5grJ=Zw1D4~33d4J4LJz-=u+qbwA{>~aGSfWZ4fxf# zho5xadHiBs*KE{%9X_q`c>Lv_z#Bcc!tVBEz+5ttfLgZtsy)-Ko#==?KIp8oN3NQf8l9XQYhE>jQctwKXYEoRR9Buz`Zx0I z1gH4))X-P!_xppK*>R^bd{f_M4(r~k6Z8*gh}$MyXiqmohwAAGp*?xK+>NcB`2nUn z8{OX%bPHk4G4~hA>o#e4v2f?%phbLnGWa#tzV$rMmyc+@3EI*+OnDV4GT=*j znyUrpX(c&YtT#O!8dz`g_7~`oO1ptvct(`>>Y7t0X)Axv1c%n14qM>!_k{;~TFy$B z_4i1K6{qL1Y`ZbQ+(45?3(k=fa2Y$`tg~~%DxAgrY z9?gLaxHV^=j_RbP`4Yt;ee1s^!(R$aGDfnmz|qKF23$_EPjHicui*Fcc?Wm0@0B4w z-BTW4vhP(PzR5nrojT{{)r6JoyN$Paqp(UtabL^tJT6oi-qhO2iwPUnM%HqH<$2o!oU)(pD@v&Ln;T?Jap^2^(G@uhwq__C} zGjJPxSyp?KQ^?0ZCzkvI_MmGCKl2+CK5iMijk8V{ea+dCF>PkS9&d7z^tZNVn0)bv zF$P?su7Hrhl zGkl=YZsv-;Xgqa*0KMvm?EFim%Sdh}zngBeZtL=Gp$DHvHolhSXm`(uXlVfYAat4I zT$%$U<-67c1aP#7Cm#Z*&S*KG1k&r518e7Y@7}+GtFJc?coj1YAL?+hn*1FG=if-4 zB9A^o8gaj??~n1gbK`i+sm~PLWa}sRy?oxmU7z_$zO7%h`06u172?f?n^6IOlZ zXLuW3N<(o!2Q0@66^2)~B2{~Wj}umXregqQrg6e&fu%U5al+^Ei~B+wCy3v&LHh#! za$n?4KUn9hE6xPm@q5v6Um~9R#eHY7_K>c(&ek*58zX?L3*yI@!J~fewxFv@u2L)Z z&ti`{u47~(dCR)17G0eLmmKmkejWRrHQ+7gGLJvNeQGD>=Zm|On4OI3A;lh6C)@!> z?(}glcLYC$dC`$E+gx&oo6BTwr14egHg|fkYduh2Rqww>9Ibc024gkl{f(??DewB- zgP_vy>A;6?IQ%-#TW3Xcp+a-0b@^^A;sZbA?`$1%f9Xgrgp=j+cQy~}r<+X&_WTh% zw|S7oCwwzIqHnr1eXh`%FW<7Vc}^v}s^)c-Ym+@H?dS9m2^r;Aqy6ZSG(x7=ONk`6^_r z(mz8w+l__(tncpSu5ienmUCHNN|UGlk;^0l#F8;+w4b5%A^n zqR+1p{+Mr*Czg(6%}*lwq*E4t1r4@F_*244*8GgOWzG`B4~g?iXVc6cJJ&W}rly;}%d_gj$JohvE7uLgSr$p!Js z{pbL$%SJGE4gqiZ!3GHA-wklmg9vA!>c=+ zt2)R6!b&b|ZSLeu&*ro*u{Anz#Mu$ZUowI_5V04Cef|1=1Ai|s*upi_bP;_hf6nbf z{3ScEiP3eyc9pN250Ia13z!e6`5lH|kN2zB8TvQLuOkSvj4)-|-D0?-{Yd;z_c%OB z-pj?kJAP;4Cs`AF3hxs9Rye#xo_$oWqaBC;fGF0HUqS924=k2@+CO!-uzzX`VKi5E zB(m>bgp)ggH?q&LIJp--dZph>2Hcx4l6f0xuqxx1M7qWJgM540n%2`U8`yl#%Hj1) z2Nb*Y-2uH`;hI$$B5$(D%8>u+)%a%7amxt%5_t6? zGNAH(2#rB9(B#=t;98@zbvcc5?n@knePx)>v^_ks7ttD$;!tH=9LW&v*I6FooT2x; zkN>qG=iAhue%aFNwu?b`ORrn&^Ak&+k?s9^dztt4^F`J381&7#{M>yxFf)U(kmjj?)p%b6Zj_|?Z)g2o;3KqPHDN{UgulS zcMA8#AzkTMif=mB0Kb<<@gExEO9oo{(y<;E;+y_e_!YF7jey>Duv$q6J!A`hu^tkSzf@;5{XQ7+K^= z=LH2MdH5{|zGJv=d~T+>rNzDjzjl{3hO7D6ux_I}=Ey|4efN5u=}{psKR{P%Ymybe!~;Pz-8;`Rl7jxPUICEWz0GEHeDJG_&!Ry=G>m`7+;$-#QQPgsqa}y z{#9@PJB;1a@>}IOuy%k;2mAZBY+LC~j;lbZ_j<=paI5|<3O0^(Yq))zFr#wirtb## z*xR?tygS>wmNT!K)3!1j>f#9~S(f*}hA) zYt!s|1>2bIV^b-hfK#x|8QVKYuuEsv&(7Xn3VaK7B$%2z9baqZL$XJm8|OYD4%wM@ z$9%Ya$Zt&cv14cO-=<;iPH^)}e&CSHC_qs&U1C}XtWi0sd;hj zQMx|bC#!bm@rVb7-vY|=n2gOGN*Mi3akM#%5V;q&A1GB~Ly^s!Z1L5Qz#~U4@qjFarnkT$$ ziFVSNrR}5qwT(=|&h5sAVBKE+&A5t`^62&LY{8NzfY-|ViTsYs`$oQ1MhatfPI{rf zZ{kte|1EDhEBnH)UiMEStjhjo-iFu8{uW?)TqrWUYeL!2k$087%HZz^o63~RNM-S4 z{Nu8Sbvf})cVRw-Fmg}j-JQlJ`IJhgSG-f1JdL=z5A)r$E#>Ei6$PI(SFG=65QZYl ze(LD=d@B2OWltlVoN#>bBHr`*?e+O*6JNY7$61g)2e@3yFWw_A8mxSuPn@`XUl4Gs zOpR8R>EB1V%YH>ZOxM4auqx9R@-`k=nZ6iUju$En@3%sk#&_#Hld#hDbvKTmSM>X+ zo&{X2W3JOKz;W&Lxxit);A+AClD5!>h0D#Ia;Ra9>v_O6Z#p;?9d{VT>A^3oZfWm-w>Zww)w>rF-`xy0IYHxcd;MK~dkOGreXHKN^HRddy^J^QUiXU?Slno{1nRXq z_Hx4OUa9v|5b1V5tgRw4HE`GNu$OavzSTG71LmK?f9cU)mo3}!oQl2$eY#x(g`%13 zp@JXp?=7tDt2yOV%?ayv8y&^vS1k+*OG% z*1t<%J`X8BJ~B5si<&bMw%sW10xHG@o>sOJIZLA4u3dR!MlC--h-K!+tKg+M&X-Ja z$9Lo@ANZy=|7vh(56(+LlpaI*BZ=2+Uyp%`N9WEc_5iSW9rQKeQ9Hjdl*M~hVKb*h zI==MqwZwf7Gt*wI!5`&e<1S;=UC}_*XuJ-5=8on}U>%EmAR3gH*AwTxWHcDpZDv6+`&3K9k$RH;~&}U19S?Rs~h0Zx}eQ# zTAf;w?ehi-Zm8vLcBP}eDdNE~PJcZ(+QpMMgF|}kYY|40XHSAZULJ?Do#wObk?=gL z&3z6J_HWw~4oY?xAFtKU^DTp$x5f5JcM=E=7B)(L9(bs=1|48j~jYv0+mm zYscDZ;xzsI)8SM6cY{y7-CL4J8%Ab!6?5bxvb#M&J{e6S?&!hCrM)7bP^N1@4Kkm49_Br6v zNwqc}hyOfqr;l>t@!-_frt9T{-uVUmq?2xQe(q*Sr{4Ajny6E?aFP^^m!Mx}F@ADW~+wX6lUi`j^ zbH5C}f%;~@FQHA@@0*tU-?98WwIV;iOWI0vVZeQ9y3dLB9_iebgiZf}LiF~!H2z0v zkuS5$lMc!(n@!l>uC%FIjUN)u9QMEm!t9&-fkKeBc>E)9s{Ox@cBK5iiQl3nElUU1 zPPg_9jZE*vIMfXyif`~K{!hW@^Rhr)Qub8Z?o!@2Q&DZb%7wYHXtVmJLqJA!XFumH z7q4|$Tx;V+_^#|1A$;AhXrpTXiev5n*Zf{Sul)Kk@Bi{`ZQO9H{r@JyE!j}`6}YYa z|CX?7|G(pHd{7#~`v+ioT&OU-&q}oaI|!@xzm}s(*M&O=HBaB!mGT>Lh zB?AQC*kmw^TvvGEkql4)DXiM^?}5c7sJV+j0;{%RyZ2FbKyyfcB8=RhdDDiAGEdY2 z)v2uCx7!g8erPlQ818_zBUoKsD#LnxeQJO!?oagH#gm%jDEt;=|3JHyvo?M`%$w!g z>PZo{ku3tBoa%|-R!h8*GKyD?Ix`1LwpDDLSU*3I=!0-1vdvNnCijC)<}MC_94JrAE4?I`UQpS zA)I=I>b<~9YZ-o8K$^ic+)7P#>TdYijlKp~y}CQ_YQ2ijg;C$IgfMbP@upst%iq_n zGK@N*`gJtnWpDL<`Udgvj~DWu_rGrvjNd!b@_Kmh=`$Wn;7N8o@EU5`t7u)2H5&KA-y9Z< z*K`jPD$QwFc0X4ZCqVPPc|O<0SgkXjhmFf5oG+ia!cM^3@!iYqZuM1^!F@5^uS)LK*b%ok+;()WXN;aAb0>>GIN`Oil^$p`%SbEcm%jgoC$6*FudOAk4lCF;VGqZ1k>C)kenKFaw;6$oU)~z7D zm_PbHna)*o{Q&rY#cjpk_T%z42P>X?e za4Ik2-zxBnf5X(T4%-~ZYtOcJmzh_AB~lCh#JQvu^G@Fn;)!`DJ67@TJm3|?PCog4 z4_-crX7TBK!kSC)sftESs=(4Ti$|-$EgroZxpZ}BvK^s5Ju4=S)kYN1YTCasun`X1zo z`DSCC!mrSG-Iy4rY#~k;?@M?~wrRYumERRYYPy$XTNk|DMp$zR-d53wtrb{0kK*YN zxW&_Lo$D97u;I|TJe8JOg{IS#esL-3#eCKGWjrxoSBCm{Iq-Udaa|NCe*Mn+%qxgv zF2S!lI@gLjqhCC`68z%X?-<*3sOu}uQE#VMXIs@H!8zBCuOiKuZ~A@&Ps}&dJ01x< znP{mUMU@AS; zyB(wz^H1NSJTd=ld^85UinlBS%lb!?@a7Wys-aSqs{&JWi%;X=7N5G|)0G|SAEOh+ zfv1j1lQATbQjmGONGIlzz9)EMeZ%_EtAUr$qW6nF=^5AHXD-o?mZOOoB}ke+@nRCZ z;>EwBS9CZY;$W5L)J(I=k18~srs~ZU>BT(JcZ(KJ;uIbLp0F(8qWlSQ+n5%Wafb38Fmte)%z9^+Iy@^kr( z#yf6 zPkJ$L^!<3ASms(^{{-N5%<)(m>lI8#Re!9neEl4 zaEf;E>lW~fU*{vAJJgMs^`KZsnFA?TvIIPlYUsC~LYgtp^!-$xm}jP|7k+hJ{b|JM zfHFn8al18H_X^-O)bOd8 zmnh4+R}$V_q8-*ziDxxvns)K)Rp1xDzDpf@T4!}k!=vVOY3YrHCfV5f@mIOtrM-G< zND?I4n!fTcKHmnNF`xDQTAqxxq1Wh*vwrw>e5aH4{ff8C@Vr*OHUIPafJ1l^ysnYF zdUcx=R0e6Uj`FQ?c>}blT(q|Pgu7fWs9Ksh+yo9m4CHSFSg71&YU#P7F}zW9A5MBH+h`K>B4>=nE+&r=>9(I&qC z19ZiF*Y`VkV!m6we<$!%VrAa@darzn_wOQ(xz2c>OhNold32OdmBG8ALuK%Kh`H;s zi1V{`{K+u4n@{d9mqOaBBl=Vh{{(GuIq3U6JgGkMy};ASWw$GD>J#5b7;}j}QM|0k z*)|x(`LtI@c@yv74=v*T%OL2k*MFMd$mFah)ys@ez&oN$w#8jXH_%A4jB}1!oOi^% zdHP>oX)_y*ZxKC8w(pHeSeroZT>^NZ(Gc_R z0#T917Hk{YWUxQR?Kk;c>TGxn*EW~I%-KMG4j$Eu)$4aEBW4drCMPhPhBoQfD}dN+th?MMrdqQT;!bC*U2@CK>c~=!$u-?|_~#P8i|;;9j7%A+Id#P9!v zu9)BY{x6=G-!?DuZQ!ZIB;!<%#PjbE#$0DSPhu3)Qyv}VOFaKS&>^0`8)9y_%W`IJ zhCQ}r@lpnLM9&@EeGqiMzN!7&g)<8}Uw_MWdIb!J|^S#@8&!q@1yYD^U{sn=_AZ|l;M=kb{TQTcoe=nYf1(2;E+GTDVMd*VtHs} zXEhGxDE-vuspASe%wVF+}sbVeM-oKLykQuj8VQvJM2W;m@Bom z)vMjNjZeZyZ#hs$?N9RH`#~N|Wyrg*w`R`$ZY=pOez6SH_YZlb_x^yl-0Cnk5gwyU zW0N1*cOfO5ZYJD}TAZ#Y`J-{kj{`3GbT%$2XV$4VWl+cY{|RYJ9!`?>UoaM#NzMk1 z)W99lrT*t<&=m7t-#_Px`ycD?ZwFpaD!X0zQQvb1{^mOCdlJ~3etXyQqk8rWXb_)o zg^;_h-%dBLo#VpYnN)Y*#;+red;RuT&=>Pu-@oRGd2W6F{{nB5Vy@r*hA`$j<9j=d zUe`+Iy~F&e41NneDucH{)a&nZ-|x-!hBeexNb9jmd|Y7NhfbdyM}K|2ipP>A)I$cREg2 zz0{aITWc*x`a&nYWJlEeRqLhN)B@;Kn__G8U(kOr&z6|Ru0cC$Enb#&L08;f^xe%9 z%QEXf76PxO#axQ@AB*re*O?rvV-w?R&<^t>J|6-N;`4S0X|u1pI&ZUQcDgK(VnA=D zO7(KygXGMiq!aVaeFKa6X0~F71CMd4uA8mc5%`%)@T?R~yomuR+Qfsqfm1yAbyvqW zs0MKMHsiueE(|hhN?^BpWiVNgYi*a|zwA zhElw$0#o#hU-tmF_%+ozzjnJR%yPAM3RKg^3 z;m)hOXW-d=uoGCrcz|QvGr?4b_DGhyIaXl$U4@&U;HpQ*5QI}=vC;Z8-2nf+X~_`=ztnAT6XR7Wh%@tLNW z{c^Ik8O1#@f(HZk+>Wa!@>7j7T+19>`wWWt@zWj5Fcfp-XNH|cmZs>te`GyoaOHJH z*xeSxRw=C8wBoD}oL&4q7|-=M-hm8v-ksJ~H+riSL85lj#?+=y0k_)piPX>W&U9D| z0=Y>-M_rcNbpoDFS9SPQ(v9n|zL)XDve4>g;aAj6+h6lH#8KTmjrUe$hHUok%kKm+ zd70vCXYJ+Z|GGApjd7k{*-t#_My{R?PIC$UDV3Z=YXY9;iOS-Bq@l7{j{T(Mc~(E~ ztlB4sJ=T?i@K+Y*z(k6!Z$5+c;xf?pnLKeBSbubX;I+hpE-K#TzQew)SbuaD@ysRq zqZ&%bv<~POza9W?@oSU{aCK+=YHG=D*f+AAKd!|jeG;4_&$3BVAEdJb-ND2JD1f3p&rYyC|!?PRZ$44I(Pwe52Pf8N%uKEPs7Ldk>1va|504fKKbTM7!j~*?Qkt^kMowpGS4{Jl=99 zCkns1oLEg*mDq!M-vBSvcPS0)yYwwOiahwW(hGnkGZXq7;fVV+;pon>6#W$EEH+15 z(^^q>ww;F{*B|2ID!$IU>8w^9Y+Y45xsY_!PTtzxv0T|Z!WQP8l)iLGVZpYzgm6c6XefXXtzTU$lhQ zG$)7Ce$;OsioUT8T;>w`MlBf?bQPH9JNtgYt#bZP66mns4214Y7|5r+QfaGen=7lHK`OX{t3m zF{L|RIdDg1TIN$*-!u)Tr&`}N1wAqU^u32i{A=-+v%ahFEBYrJ&t6MdiaVR;t+AKJ zvori|OJ3l;=&=4p{Lo&s*^sV$61qZrlq!d|zG;4_Oy)>WW%4D`yP>l(!Ln}k>S=eM zE4nc@55qH~(-V6tWpkhay`V^tq&mG1dg3zC_jNq6EU+>u{OV=0pExR$>v>-o%H+}f zJ`h>f@B2Q=XG$>fMP>6C;+spfi~rB~qH=mHX{(&B;UMm*gD5An%V5Y?ZaXQD1C-0- zNIxzYeb4j6y0EPaKOT4ry?80wwI2Tj!kA0cbH~dh4%PFNM;qG3yC;&Cc=zw!w6=rb zomQgR>pIN+Qe&JTSms|l&o*?ZZvQQG#5~mZO+3<-4_)H9VRgIkE7lq6enq`EUHM7i zQ@y`Ay#J23?n{-fdkeqYkzKC)e!r5yEW16cK?-o*aPX>>;Qf)j* zpElgr+}(ns4Dxe4FwGpxmUEMLY=ho743`teI*QKi#3ZQoTfWmf^j#4 zXQ(E@A{~x<9-HGc7zc(m5AlRM9>ZSM5GM+MB7WQkH41oiPnfv2G1PW0Nmn3D-t6vL z)y-Fi_p5l{7G(Xa`CZFZseW=1#01CTMzHS8vBuRbD|hBVcQ`;)hq*UonpInO^reMc zlKIMK-^VZ;#;q%*wVLBIPX5|C>*irpX7H(T8+4jGu}!_H=R$`hGo6sy`|GiaKEZ$s35HI`Br` z8Y4?Sy@}rkBFp5Cms7DFYNPRH;+kvMuN)A!isnE8+VDhW^cK=q8J$8I9ZZ|%j-|xb z?;5mC%6|U)ZKNHShrZv=lhVx!zj}Ku{ED)&_WBRtQ(3(uyx+;&bhCHyyGC);HnncW zMVnDSLR+0_4v)`GjjBAwFX?9Q29LRRx>-FP6$^1 zaC3UPHBHMJZ&lQ?_Wo_@QG0q1^u*<-@AvY=?MeG0}?MviJb> z#bu%I5Aqz|SeX4QZ#nDx3csSgm~8tHVbxwf%=`Kv+djhYB((=@D^3^Ng9Oj#2^VX} z`fO_yBb2;N9YLS9KkSo~Y+RCYn>2XEW9|WJd^FH5`nmtAx~}iXtWvH23OrUhe~k20 z&fn=ixG@hszDfEhvzhr_ZqjGFvyr*k*03A@$-d*W;4s%t)+N&j>O+l5ZFr%w_#A1eEZ#-M z@6hHZ*LinW55SbV8w1;>>(|><7nOgN$rqp_E)#u!iAQDfMc#7OwhF&`KUMe@Diq>%D+7-t8YLOaH#zj%9_s;=zY{Eo>lm(w*(yKmjm?Dr$N!n6Kwv1Uud zI8!`aMA>}@oaPet4|kb|YGeNg+$yt&)5Z>Fjz`sEICWH7%A-vgo<^Uhd*9-D1o1`R zt{#WqD%bBqXI!rO{yxv)jm6pbc*|M27Jfz9S^xGwgjL!7fcIB|T>K%wQ)FA&dAX=! zD$fgaSLO;tyPs32&q4Tkg)&@tx$nI+C!l;E<5w{l%uUgw6n*9K*(fH+Gs7`mCu;s+ zf^!)}9z#9(sT|>1<41unpk$sQ-FGJQZSB5Vz-`J=_2|c>rFwK4ZU6d%Y5TUbY7~>7 zovrG^Z@w|9=G}%C)s>$@OI%m<{WG3eFEx9;p9627NWptsGg989i{4H=bM17|1K<^h z+k3akoA`VO>59*n9Ata-`df2^OBu_uHs#SK{o`n_-DFzzT=mo*@%)$274ux*zvel- z(VhK@x16=l!mr*(7JfzBwLbEH!K1eOoACZE?{U|LyRzT$JCzk{E27!TP_kCEcU#Fv zcG3&6-n2LhvnbOQ+rCXnAN@V)m}}RMCh1U#r##y5T4ntQ(o$J3Jjk*h*}0QWg!WW1 zJWjydr0&P(eQtFBV}tZ39_Lg8*KWSYL0@Mye!ciwVl`=I#NPKs~~vZF(| zx?g?F9>=piQ1y64+gl#?q#Q*Wl9~4i?_nNHn(}`!M ztJe3W#Je(zc<4T?r*K?KG+(eJ+c7tJ&G2}WYo=5uZEpH_XfW4qykDnL6|V+uTjr{7 z_aYtDx0fwExbb9 z6`=xdQvxTU&!Dd6<44KF_)+w%BG?_cT z&A1{#b7-WUm5u7f8Kk3n@!^FBT`y8QS0JeZZc{I8ZXuTYstfmrp13aP`vE+fTR4li zoYjTGuP)~czxtd+;a9IigP2T|qk8cm(owzGyYS%VEL@%3&3>cGA^Hh;o0@UQ z?Ittgx)J|YJvkrx;(DU*2lGf~tmZ9e^`!8t*OS7pE^7+EdOa!p>h;FYjAJJ?Z0jf;V~p?^Zm;&Zu9n*Ari^ey8T0>I4&0ERgSv<~)w6=m{DR98O(Z z18wFGD1-jO@>YH8CoR>tn-_L`=DS~XuO0ec2lrN{WqQMT0P9FIu0#4>&lBqfHivOB z@H*zWJ(u^u?+9}k8;EBv(bp$Xs;Sn&sXT~p1K=0m_EX_HoDZIE&ayUMR;wzoL~7`d zYIhGKy_jeE-pCW%OP)a8)_UY7;1$IA-l5I-nM>G7R-=h26o$)9m}p@ zP(;5u$qZlBipE`Z166y_F~C(P@E4+km%CJj^r7u5^fS<`VpBi^2*1 zgP>ph+fG{I-#f8q@6cYMF#cl0dbw()z1s2aGSZHDr*95UNVdrHbOe$*~j3SWM~KLTRZ5`>UX8o zpotWNOdBQ5m{Vv4@QXi>rfupx znhyBWs@?z<0}?4Y88$&WF;Db;HBZbFlk?XAk8w(;6>Z|jB!1=+{3u0pwIw1pMVolA z8=T_7zjR(l_D&3A7qPQ?8DSlqN>lBrMVc``^u32C))j2u+qJ;!m}8mbZPQFgm?pfr zggi>15~u3m6z$^I4EV*bqo^|-uJOaHJ$vS6<6G|B>}mp@NHw&pIns@JrtiHxaUHUD zwGVg#xuaM0=sNt(CF)Tss+g33r|A`+_LGMAw72s!FZN82?A$$47St73Iz82?N0VO6 zAALWDC$3Ybe?As?1#vV+m~CCtWV@2~b+DYN_9tCXeccVjGnc4aRg|7*r97qS7r!0{ zZt?3Uw8IYjw|$)OIJ_GRzg<-gH0hI0TfBQbX~(?N_Y-(hyn7<>B>HGf6+$?x0Miq0 zB%Zkh@6ss6!K6<*FXH3hl8*TJYV_3(`#kOk8*5Ef??$OX(`kx-Pa@5jfBL?eC)GCp z4tNc9)aTuTzqv%)tVb1(YS1*T;?I-8Fa9inKOK&7X!kW?UxB656K|eMdNFVG{WPAq zZrT3RrvtAbj@qSDJoC2r48odA)Tb(%Aiv^#q-hq9o(XR8=*ykUu8E1U+TghYOQ$Cu zJ)87m9_jlzJTZ@Kz3jQbD~KZ=O>%CFw!xOi&nCZ~M_h9Wo>kF`XBAjF58~PL!7ZMx z?CMy4*)nHc-%R?X(~i#U;W(G+aQ@AR?zG@&2RkorWOCogez(scKC|amXs%3WtX`c= zJ9%bLGGu~EcV^EE1AneUZ?JVX!BqZ#uXnUIr|*~WsQh2dTh8X+3cq5m%+^$1N?6#R zy^ObP@pSf$(vTn?#x7hol`rQzNqCUo3h!h1@k%%6*}THR1eXm$XB=}HPBNhchv;Kf zhh9lKszVQlM;*$hltotsmQGK6e>LgFeAoAFJh9w1z5F%6D~R*?m)GKFE+Mn4(bTRg zur!V0$?L!^o_rEn)S+I$q4ey6=X&gk)TNgRuSDu@-0}v}j`^eSH}b^%v2pL4fVWB5 z%@s)Rd^2IpCHT}Py4aQWO3^Kzy@hndvv<=NI;=-?Q@dKNYs$K31(rySdK=pqRoCL) z1|2c~^!*P!vN3u)Z#iq%g<^3LTtGqvjPSfFD2aNV-b~a~qLaN)pQ7QR$zG)gHOWp?!aars8{XB77v3bgW z2Hu_kzn4Jm%r||1 zh$q&4tc?_YMP0YP@597VUH=Ggv)TG6zw4C5a|b#u#NS^mTY`@f-dv)eOP~^?>)=#g z#ov#EU;I4@S>EB?!HAAA7}im#`!n{W9v@C5Q)22gX| zxvipKW8%*c-duubDO6%w0-mN{eETeEh;P@T7j$Uz?T_{|F;wPV8^3h=k$&0HnUH&< zGakzZMd+;GaN!jvc`kmtq*OQC_$9a=^ww{Zmg?sRNvlJBgYl{6 z1j`k(3QVNvWahU>FD^%Y|0hq}*VtU(e*v%JwK*;IG2h1DT%wPuMHPdpz!aTox8DJ` z__Dk6akNm=FW31J15@d#e*ZV=#eC8CcX?8L`5y3EVw9)KPki}4{^r{7B_=7K(2ap9 zI>nd&0k`-v);V8hM$}l!Y^lH!sRjA}L(+@+qVFH^#PZ+TbKzICXX|5sOdPf6pYYb4 zjmDEd<#&aUsIPESfR3l?Uw=kebBVs9ibhqf0!!ynJpDPi#na0>=P8!I>@qI%v;s?~ zr@D3r>BT(N_b+&2o?4&!OW+m65s#!ll+RZF72(Y#_*6wDK2>08y2YnogIj!BM?rQd zt90PUM8!0}0!ybSKK+LDVm|5nw>&YQWdA7}hu;COAddKyp40k0am*!nRYfOWRbXk_ z#j8JnTfBM>yy|c+8IiJgqPAzH22H1Fc6>ID)P5`R@K4YY^HAR$3IGqgvOkCXTl+2i z>g{&{amY&6;O+PSHL@;#*T{>;a%fyy@Xz-@b00(L-2TO!BGI~Lf^A=Z-Bx=yyTNHL zVOLjAE_5no&ZT*za#;v|mCFsC>(Sb~#7R5Nv5889PkAI#cKz-lq#Kumz8CYv{fo_q z911*zTYax|XZ10M5yo7ik4Z)st5O~*n#HTbNkhEq>3qIF*uRtoV-=W6Pj&Tfq!;r@ z-$(Mq?cM5X;a9J#cPEbO>Jr{Io;!-)RXXCi2v!^2eR+~=>TixFyt#yIsG$;XtH4w~ z#n*d)TYP;*=W~^#Ew>%A%-1R~m7e%|Ea}C3)%S5caosbW@1DS`cw?RKc>K*J>Rm0W z_)-O?=oDY>1#a=>nVq*yb%2$7E&T4IIy{jo?P)o7@rRNjlbi8dGE|SoKsFA#H#Ek) z)c1XO4sRTqoyc3x>S*CtucIdsR(14b-roxPP!GRT88Vyox;!mxsw~W%-It>LEs3nP ztPLoi$3$?u$wYYN=kHH3sJCquPq;s2VvOOF;SuaUNH6XF)v2n2OJ>QA^_0LLf@Fz3 zx~Z(I`Xu1#vQ!;fN*by|e|a$j(mOUS1rdNDKQk;;>Jc{*u`mlMc;o!#4kjnmj% z)t;aPNu)%cC8L&;R?I(rpTQH$C|gfC6L<+N`h)0Gzj%NA%q8SgIhqsNF~w>6#EY}Q zD_;B)vZ=$hl+wj9WyziPN~G?1vx2l^-st;mo|reLJFEnr#$MPEoRXyI+f1mr#ASxwZ6o*j^`ZU)p$*Y zHNx+#GS^keTCL{Jzf%6y?#?BiJvr^J2Bqu&stT2tf6?naaEo3C(F+c9%;3jv(^I3B z^;8SaOH=LceA0|*rte4di{+M$u`U2!i#gNp=`E*6!+6xz)IEkc_T=tchSsSyqxT+}skZY>U{+=Fr2t)rBGV=_5EfjvQP_Fhe}F4mnd zs_zxa=qx9Ha)$J(<5z@xtA;5@%^XT?mY6=V+?OXbdbngu1ZYj&Y0>h^Ai8Z2bo)O2 zoy~;^rnWGo_rYvzpzj_0)D|w~t;fa zbM9re!rORP^{aI{|KebR=dRO9(PyZ{PqpBBw0Ru(#Z%vdHiy~1YG*DhAUP=oxqJm_ z#kAJ<2*0>bvvq@`z$?&J*sr`zK>3y286&JcIdZ2GjmT30$|($pPbEy918faVfiRhpaab?gA@3rm%lW{_0LRyR&X5d9G<& z^%BmVpsW`-CzqrxI_(N{x`PH_?MpDVuSvb5_NDLL{8Z;x^48N8+Kb}Y{GrBU(|p&< zjp>An<74@G!baN6o`6?AIs8x;rC6h$XHMx|*=I;gJn~)2ez@Zg&l`@1D;XqkO{Gsx z%Aq~Yk#80;|{POzu{lH_Krst@CKY*V-IsJP@G?60)Xpv zWhx4jmuJyxnKVSJHy-|YjQNc`iChcLOH*{ZmNa8J>HEq2Vmg_v_8{mf70Oz*Pwkk^wIO(uCpct10|pT*nOLp~dKMR6)*o?9A{&Po1X) z^^lcWP?c6d@@cI4d=7Y3pC6(=4_7u|D`Fu{MRRfnc-f$;J#tcZ^74748`rJApU*Gm zd6Nw<0G@|CmJR<#7<+Q~J~z6P4TqU$(dvbyAzFPA*>ITp?EJ{g&Z=b?m7qNO*jg-& zh4qt+crj_m^wRf@{InM9CA{@$Y#`m{rF>VW;>Q4fY|T!GGFm|3Q^7drb86=<2Xr=7 z&4s-z;1u4Ra{#N*i;|U~{Bm)}26#oomGIkPuD#7Reut@u${wk{cU~Su%U6(xn3no} zB|qslW}~qEGyeg+ehM*NL*_WsPvw%1^D5%nlcVDt0D~3!#m+02`194IC)ys} zc=)#0S#F=0tvWS8>BYdj^hC$kkX}qjec#M4Zo}4Zy%u;iUbSD@Sk-Ucg1b=S*7{Vza#9QZ)*DDKri;FBMt50E;32iQ+lXgRPJ63CDS}l4^YSlxy#w5$*JF@dhe@xwrP1lB zu}Wc81$=@0e zdu%mTb(UT9ou7{6%m+v(riH#g$Sa{GH|A4Y`Y>>Na_A685e=g6{CuhW z9|5Pze;MUJ%<=iuo;|E7;^^91?J3_YCw14JK1SLxP4xY7elblBZbeyy#}<|A3L-W6zUbP&O1@S@?8B8`h`gr+Y7XQrSNPp2_<#w%o>A9M+(aY;qO_ zpCi0zwC|rhjZ80`Bb=r-6;}Ei=Qbx_2w}gd_j0zL|KY6tcqBiCr7SM&mqXb3NBgi{ zxwPl*o{qlmzJZ>$p^j}seM4;nTZ==kl(|08eV#Tbx4 z^*WQvxTdNe1miBc(O#_}4Dw#Ey*i!b-MNFAI!Vz z=NsT?r+)q&P88jLah9jg#$5W$Ot5Ei(GkQup}^gDX`Q6XtUAK7>yL%AzKeV_hfyAx zp5l7u1vf4vIi0Cr9vL5>cdMVHa<5VRiAB~<%U+)p{wFG9Gjkz%>8l*yA>1m`x((cQ zY+e`kwfD7OSnL=o;~Fdul}o){uBuCYy`GZ~6@rqAK6j9gKTFt`S#^~pJrjFIC+52u z`f7}!^ijJC-;eT6-+UPx$^BKb5Jntu-Y-S6J~!h$HvAH~91}2=(u2Q7LLU(eCOrz zYq@`*Z+p4eJKWROy>-wNxdH?x+1wkCpCe)A9~MgadC6sFWU6hNGZCV8Em_(=wb;#S zu!^>>HY}jp!f(hMXR%&w?OOR0KmRr=BWuGdGE+Z)EARI^;z^EP0ip8y4d~O;Q7X6f zmU_y4{Y5&Dwt=3(ly-T3lwS3C54gocudk@b@qHbv=NKIs+ifyP^k_=$OS^6c) z&APlxX2$8FB!7?>q5=0u7XBE~)5*ZRayr7+p${|=FZ~HT*O1P>W9spe;+Hy0rQVLV z{)ns@2u!ludbvRJC$PS^cK(}k=1XVfWV z{mDu2-JrkM&GGvRQ2sS4|0!xShml8>_iv%R9WbSM;GaT&EBE^%ney64c;3iwU!>QM zo-#BzG%(zec9apw(L^{Kw|YF+1o}Kof+5*8J{HQi$X8P`S)8YrFkbj6^}*daWBnsc z0!HCZNG1nZcsV;C*4!)Zx@596Gd4Uoj-F}pU$#!`FXwlT5_)2OuRH5PepkoSAINLS^$9f6^?WA(n?Asye>KRvQIIXl0n6zX4a$&FCe z+oqy=m7Wmb-Lnx~x1jyUcKA?^dBxG#b^ly1IUA1n@RFLe~l zgF|gY!-M5*ZM~h{#d6sdx{eG&D{WUDZyQNtt0&yj!oV^ctY+g9&F(Q&I=# zy`(4pdI)%~r_4PC%0v3^xt}jrzOG%?sa1n*UB$M60ZO&KSfWeOI5f}0)v0VHDhK4^ zaU&cjTVEo5C>fa>p4mM!yU+K($2&gcXdd`S=}W(OXjD$l7ygISR~a{eLp;?C;Z(-2 zhOwO7-+rVo?*Qo~IrpUXb`0$3A1V(H_xJY=3>7=e-NoLmL)(I0Qm*Ii%3dvBdZuPj zHFODZ);~zT^o;DUflIz19OqpZ9EF#B>GachX&mJpmMxqd(MoeK^)lyctgg4qyXdwN ze2;$^V?XF-`le*cG0^gB{Pb8mQEi?=c)PDd;g;l|8+JvqiLj#o_A_}O^y`as2bsQ4 z!*5m6kSx#_=+WAvYQNzVyr1-A#c6;>!gmI7H!cfz!&m2e@y0oXev#$r`ZDFFQn_yi&8yn8UZBc3YfOBcH%yperKwny~lZF-B#-92wjJFy13%QPU5N$s@GQt zA8cFbit^W#yPtUjBP4i@l^PEAiOYEy4i&m|qOF|~MLXr5s+YkD)k zHA!g?q7J$1j@ovkWUJfeq-~r{x7Z0srUxg+mgd1Af#Cv?AFX}81R7Kq!eoj3j-w@r z&sQbQg-iLi2Y$$C%tIzfw15JuWbX{TIEL(FX%9 zPjnfA<-mV z>r%U0q50)uysU9rZC_K`J~gqgZ}iHEvBk}<24a9qS7V(+#;cA-Ea@#b5XijvtQoQ8C@M>;GbuNBLLLEFE_XfVG1E&9EP`%ro zdwK)#h=Q9vKQuNx7kG6&9O?CRXOCJzJv`6hXFVJ5ih8Ic=TsLjAgt=*kuadjGj}%c zW$(T<$khC?G`1ggT_}ph-cAP6#espo0XLuHs=dBSG`|+LY!O z9(S&nJFScx3JvkNp;Eu_cD9b$J)C?sF`wDX#h0s-U=74jBAwtR(663OAip)}1g2xG zqqb)>)Iuu}cFsRdZK}fEk_=Yd6L%u84M`{SZEgayn@yr_B2)O}_wXdM*GUgNDd}C( z99Z9^rjhp$Z$7o@-$-6gODf^2*Q3x?UW%VRbF%6E|EO2-)XTv4YG`v5?L<6v6E+9& zl<6#*qg*0E^^JOK9{Cl-QP@}NO<32q0{`_k`npn?v22a(oEmd9ZQ-lH_m#8r-BUBW zYi#)P=SHHbnL7TWIkq-t>H8+#&>cRpx>_CJr5Th$CQh%O7SOm2C(5wUGwiHyp<$?O56?)26#amY4R7?3|Ei$~*9e=K^MGcFwqMYbl-$ zNf)F2%)|KOBu|?@H@t`E1`lwu%$`bK7fm;M8r^HSQ#?MGIm2RUZSpvB{Z8}o2A4(` zDso_PH~YA`{;H!b$t6=WXKW5hdXu)%@EofrQ7oeE`2oJoUCr(1yoIYZ>DV-LZ>y#K{u#QwxhzV`*Db9c>HvX|ZFwgGOy*0r~gG{xo*Z zJ9oI{cWIWlIg6_D$nT2CFGNf0c^5jgE*g*5kf==4X}cfTJJL2YE{?V}CO2$hjh0)p z(21#c3@gupq?dM&dB5=LsNMfMDVKWMwicPT)IhwgyS%N~)>#}tXLt7CI-aePw}Ja6>hcThgXc_D#z+A$bqILn}05lr`JY#S}j@B&b(H8cVD}8D)vpvO7|AR zYkaU9T#^~*p))Am_2|~Cpv~*?7mZ}Akp8QmzV*xO6|0gr5Ki%L)qB~y?>yhTO>Rk6 z-G_7(Pxed6tv3_Cj%|H#sBb_N-PSkM-#xrF>l(3g)cQ~!rT^BD{3Xft#2rr*+> zk;WMMiAVKTor`y5Yx$t!P*)!capmqLp7G7ukq))_bPxAyH_dKh)GT*vbrYO1RNPt| z$k%m-tJRCv%2*VceyehBqI-59UA^@+%D2YrJ9jytvt@joyjLSOK9Zk$Xz|E>T~;q% z8qvHz=az0pZ(ETxue_Zw@IpoY#RNl@ptL^zlkk!cuPJ!ieG*|OdTpeg>P)07@r!@! zf$66)vHesBf~{f%@=5TC?w`_oSz H{D_-{I#UIBm5u0EqK;$S0$ezp0#U*sq`-- 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 diff --git a/scripts/windows/installer/WiXSDK/vs2013/lib/x86/dutil.lib b/scripts/windows/installer/WiXSDK/vs2013/lib/x86/dutil.lib deleted file mode 100644 index 529651fd04ce51bea05cc0593411068a25f3ffba..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 4592982 zcmeFaNsMI6bsn6eL{p|H(UK|swn$Nu{Ull@`BY<97pKZQ=DnGBdYM^W-46!RSykEH zsh3q*%*^V63oX3!2zVnHFyMuug_d3zUKpMh-g{?wp@jhNY`_bz3>zl??|c#W#+_<< zuPKW1>+HOh_e8{r6DLlbm`c8#X$NP`=4tBQ=tMD!Ty1%uz z_n5!`_UAjD&wi)#Q~%&I5B`4rKmTFpC-M7@|Iz8(^!?^9{?E>j?fYMTzw^y|eBb}_ zzv?{bJ9*Q2|HtwDqd)Gv|LONr9(+t0*!u5&hu{DEA39tAkA8QOztFk$`*%On+4=PQ zDGxrCfqTio-u}PrywmR=e%RUj^!q6fZjgb4%~v|__i^}lI<4P-^Y1#3 zOW(t<{-AT?H~Hhv;g93{!@bVo1HRvS`X?QJU;jeqTk`#f@0;%*J?VU_{Qb9I=zQx> z`TK3_A9e2hUi`50?H}d$PySx#+xPf>=ZjzJ{KS6$ebo8R$NYZRe$@Gqe*gI&biVu0 z@BdzPzFYf#@5_Iy^G?3M|ETl5KTF^L`oqrmenP%S|LIBRC*j-u`(Nq&S^iqT`nYqi z@ARK_towfdBZuBGha-cXcW2= zH;vup+4aTja#*Q<|?&%)mE>*p_4%VWo~-Q$nuuih*!KS~kay;{xAmKRs< z?D_n1)`8qO-N}}nb_c1GdVMGEo-AKK+8fSZ%~l)!^w-1L`5dW)priLJt6NGHC8;y$ zr?yJvT~1FIv%6Ad-86LvPCv_3DtErVN3yu<^m|Fx>pR^y7mI6%^wHkg)m4R{q#L{a zem{uq?nkrLEmR?D;5dR>mSy&a`aFHKNd0at?d zJwHnNgCNjBjxWL2jd%xPV7pP&W3;ytJd+3Wksmo9w;c~8`A**p62^@sbR>_b^5APE zzmE3g>B=K5LioCr*E4yLjtlw4+*o59d6lopve$LPIE<4tG+C0eHxiHO$+jIPeFyoD zHmmvN3+L=*hQFKVC*AHdtDjkulQ6R}3D@5Ducr$tw8xzZ6rZ!2O*b>=<$Q78-QFpIavfNOdW)GT z#wu_;d$UQF=d&Ezn{BKO%5r+WX@z-j+G0l2)r(njeQ`QlwFTc5Vo%q|>=8=<0+Q*) z>^$7eE=stB&aNspVmzCzlVyX>@N&MHPZ#qa%(`2|6)mUd1usw2@im~Q50$5-cQZflV(gbiow&2+UH&c1(*-s4v7q=eCz*Q>KxG+%G5^Yam38q`GH&_dUms4}`UV81{w z&ytQ%53|d&S+%TDH?pn1W7}5u^}JmS5oE_G;XwCf?2agMltm>(B%K`wADW*=-^A!& zr!QvibTftG?>!x4mV72BnKh76YPprvob zi-pc2M-eU0q{qx@&%qyD&sJ}Jbf)0@XoDDefKtH}Fj1iBp->(roi$O-^DWo3CbJAG z5xSSR-J}~jwwGjK7usgkE~UE|tquBF7*SOoZHok!TlMy?pY^Q1mGxBwHLfW&`)%8S zhUmNAAc`4<4TU1kF;pVh#zeczr^=$4k=^V1uH*D#%OxI;+|2llI+%^*rJykiT&e9Q zzPM`#LF8F!swjU?jW^i>^KzC!s!YXj%UNE%O=PsyGo!6g+R`z2XSmSiZ>sFAvLy9SA@p8O>H`mDc4sIwGn| z$}GY}HV8G}Da+o09S?e5FIB=xDPxbUy6H+xOcPwk%RD2aj6?-2c=P^a`@lg* z;JKc|nAF;oJ&qfyG0|n%11C^&-*^aV3nob3js!=_k=ZPcBjk zVH73f6)JnZ&~~#>O{PW?lXo6*ei~(2l(FQTow3lWzpCUO zI++*Qj+%E_f`xp4A-}3P!+z!r0wua+5hIp+J5Hsy4+eG`5A4#Ajdk9_OH6@#sgv2H z(x7aK8TnZn2CmX4q>F`asmTZvU~kY@29ygxSy1wOi$PBzWUN@jiGIw>lNmE8w@6A@+u0u1TKSQs;YXz-QC^8JfeZ- zkkQ*UX43^itQ8y`Z8^)ua@Fmf Opx^_`>psO$^=M0jFc4a8uCKz&tLsfQTK1^- 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

    uuQ5;Y`RuD6BKro+&5 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%0DE;{q`Ep?sIuuyBHObi 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%0DUwr&S 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%0AEsUyWP{> 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

    QdiUPbIAbg2&&9JLAL0D|n*SWT(!Dk&p zx`}ws1fOG$0M8gOoay@t>>X+0u>l{@;^51d?Fzs`%3HNVH0ePQ~-H{PW+6b>b6yF?d#gIv!~~x z54|Yh>)aqFgPQ6w9}@Dd&M91wldC7Z%5%zd7IXRllRg!`rf|N6i{YW-66u5Y=yaVt z?CT!P#^XI{mZ89kxL~_xN4>wH`TtpD<{_*3ZAejDQ+r-}0CQeNp*ZlBF}(aFD8H+$iKF8#XOQr8#FPv~EMTajwzci6km})au%-LLLOjY}zaqb= zvb;Q}BB!J>J6lp}aw>{)N~`p(cX6J#yr{IGj0C>IKau8dqFffLG~c7s9P?IwA7%`j z+B?}Qw*S8?3HDU|-<|mLs13?|tLN8uHm>8mWuSvI3&kyMtFnutWPmJroP}elh*Tv< z2~>a(KOS)Mu*uL7I^P+qEP#UZ`p5!rF$X(jRDSY4>Di zPR>|Tlec7fOWTsX;>o`CKAeppWlU=DOezX{Sg7-bZU0?RgiD+p;n7*r(iR~joWmJD z^n_?bBXEyKgkrr}<)UH_lhM~HMnUxrevh{i|MQ4=uAPe4L~L3EjlLyIMtdfmKf^Pr ztsO<89Upwl_w`JwMgP2Zv1d|QCTt7rhDn}D`K9^Z-0DI�m?LOD*|jwUx@5HKnek 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�Y`K&J#kFhl=WAg$MvtRU$ml(8S5p02* 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 X7mkMp?F)yMltdud0tJw)d*S~FDcGDf diff --git a/scripts/windows/installer/WiXSDK/vs2012/lib/x86/wcautil.lib b/scripts/windows/installer/WiXSDK/vs2012/lib/x86/wcautil.lib deleted file mode 100644 index dce658c30fa0dcc8eb58d05d193dfeb050a4505d..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 1503874 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

    H-)LF3$0|#X`tAz>qiFm5+WX(O25%u>P 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 diff --git a/scripts/windows/installer/WiXSDK/vs2012/lib/x86/deputil.lib b/scripts/windows/installer/WiXSDK/vs2012/lib/x86/deputil.lib deleted file mode 100644 index 01e37e7e527e7f8bd5c8bbf9f1d220d0cbd6b061..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 1249248 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

    |NHB3m%Dq;W3`T{Iix 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 z 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

    {6J_}V3W(kTU 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%0AKt~DKS$~!ui6u#RFNPQg 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%0D^WUNeNh5ayD_~o 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%0D8&(g;H{ExJq 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